:root{--font-sans: "Sora", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei UI", "Microsoft YaHei", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--color-paper: #f5f7fb;--color-card: #ffffff;--color-ink: #10151e;--color-ink-2: #2c3544;--color-muted: #667084;--color-faint: #8b93a3;--color-line: #d7deea;--color-accent: #2f7dff;--color-cyan: #2ec5f3;--color-navy: #0c1220;--radius-card: 1.25rem;--shadow-card: 0 0 0 1px #10151e0f, 0 1px 2px #10151e0a, 0 10px 28px #10151e0b;--shadow-card-hover: 0 0 0 1px #2f7dff29, 0 10px 32px #2f7dff1a, 0 2px 8px #10151e0d;--ease-out-soft: cubic-bezier(.22, 1, .36, 1);--header-h: 4.125rem;--section-pad: 4.75rem;--section-pad-tight: 3.75rem;--content-max: 46.25rem;--inset: 1.125rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);background:var(--color-paper);color:var(--color-ink);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;background:none;border:none;cursor:pointer;color:inherit}img{display:block;max-width:100%}.page-shell{isolation:isolate;background:#e8f2ff;min-height:100svh;position:relative;overflow-x:hidden}.wrap{width:min(var(--content-max),calc(100% - (var(--inset) * 2)));margin-inline:auto}.skip-link{z-index:80;background:var(--color-ink);color:#fff;border-radius:999px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:1rem}.site-header{z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f5f7fb61;border-bottom:1px solid #ffffff73;position:sticky;top:0}.header-bar{display:flex;height:var(--header-h);align-items:center;justify-content:space-between;gap:.75rem}.brand-link{display:flex;min-width:0;align-items:center;gap:.5rem;border-radius:.5rem}.brand-mark{width:1.75rem;height:1.75rem;flex-shrink:0;border-radius:.45rem;object-fit:contain}.brand-text{font-size:.95rem;font-weight:600;letter-spacing:-.025em;color:var(--color-ink)}.desktop-nav{display:none;align-items:center;gap:1.75rem}.desktop-nav a{font-size:.875rem;font-weight:500;color:var(--color-ink-2);transition:color .15s}.desktop-nav a:hover{color:var(--color-accent)}.header-actions{display:flex;align-items:center;gap:.5rem}.header-cta{display:none!important;min-height:2.5rem;padding:.5rem 1rem;font-size:.875rem}.lang-switch{background:#ffffffb3;border-radius:999px;align-items:center;gap:2px;min-height:40px;padding:3px;display:inline-flex;box-shadow:0 0 0 1px #10151e14}.lang-switch button{letter-spacing:.04em;min-width:2.1rem;min-height:2.1rem;color:var(--color-muted);border-radius:999px;padding:0 .55rem;font-size:.75rem;font-weight:600}.lang-switch button[aria-pressed=true]{background:var(--color-navy);color:#fff}.menu-toggle{display:grid;width:2.75rem;height:2.75rem;place-items:center;border-radius:999px;color:var(--color-ink);box-shadow:var(--shadow-card);background:#ffffffb3}.mobile-nav{border-top:1px solid color-mix(in oklab,var(--color-line) 70%,transparent);background:#fffffff2}.mobile-nav-inner{display:flex;flex-direction:column;gap:.25rem;padding-block:.75rem}.mobile-nav-inner>a:not(.btn-primary){border-radius:.75rem;padding:.75rem;font-size:1rem;font-weight:500;color:var(--color-ink)}.mobile-cta{margin-top:.5rem;width:100%}.btn-primary,.btn-secondary{letter-spacing:-.01em;min-height:44px;transition:transform .15s var(--ease-out-soft),background-color .15s var(--ease-out-soft),box-shadow .15s var(--ease-out-soft),color .15s var(--ease-out-soft);border-radius:999px;justify-content:center;align-items:center;gap:.45rem;padding:.7rem 1.15rem;font-size:.9375rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--color-navy);color:#fff;box-shadow:0 8px 20px #0c122024}.btn-primary:hover{background:#182033}.btn-primary:active,.btn-secondary:active{transform:scale(.96)}.btn-secondary{background:#ffffffb3;color:var(--color-ink);box-shadow:0 0 0 1px #10151e1a}.btn-secondary:hover{color:var(--color-accent);box-shadow:0 0 0 1px #2f7dff47}.icon-xs{width:.875rem;height:.875rem;flex-shrink:0}.icon-sm{width:1rem;height:1rem;flex-shrink:0}.icon-md{width:1.25rem;height:1.25rem;flex-shrink:0}.text-faint{color:var(--color-faint)}.hero-poster{isolation:isolate;background:#d7e6f8;display:flex;justify-content:center;align-items:flex-end;min-height:min(640px,78svh);height:min(640px,78svh);max-height:80svh;padding:0;position:relative;overflow:visible}.hero-poster-bg{z-index:0;object-fit:cover;object-position:74% 6%;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;border-radius:0;clip-path:inset(0)}.hero-wash{z-index:1;pointer-events:none;background:linear-gradient(#e2eefc10,#e2eefc28 36%,#e2eefcc4 66%,#e2eefcf2);position:absolute;top:0;right:0;bottom:0;left:0;clip-path:inset(0)}.hero-copy{z-index:3;text-align:center;background:#ffffffc9;-webkit-backdrop-filter:blur(16px) saturate(1.15);backdrop-filter:blur(16px) saturate(1.15);border-radius:1.875rem;width:min(22.5rem,calc(100% - 2rem));max-height:22rem;margin-inline:auto;margin-bottom:-3.75rem;padding:1.1rem 1.35rem 1.15rem;position:relative;box-shadow:0 0 0 1px #ffffffb3,0 18px 50px #2f7dff14;overflow:hidden}.hero-copy .eyebrow{margin-inline:auto}.eyebrow{font-family:var(--font-mono);letter-spacing:.12em;text-transform:none;color:var(--color-muted);align-items:center;gap:.55rem;font-size:.625rem;font-weight:500;display:inline-flex;text-align:left}.eyebrow:before{content:"";background:color-mix(in oklab,var(--color-accent) 70%,var(--color-line));width:1.1rem;height:1px;flex-shrink:0}.hero-identity{margin-top:.45rem}.hero-title{letter-spacing:-.04em;font-size:clamp(1.85rem,1.4rem + 1.8vw,3.4rem);font-weight:700;line-height:1.05}.name-zh{background-image:linear-gradient(105deg,var(--color-cyan) 0%,var(--color-accent) 58%,#5b7cff 100%);color:transparent;-webkit-background-clip:text;background-clip:text}.hero-title-en{color:var(--color-navy);letter-spacing:-.02em}.hero-brand{letter-spacing:.18em;color:var(--color-muted);margin-top:.2rem;font-family:var(--font-mono);font-size:.72rem;font-weight:500}.hero-headline{letter-spacing:-.02em;color:var(--color-ink);margin-top:.5rem;font-size:clamp(1.05rem,.95rem + .4vw,1.25rem);font-weight:600;line-height:1.3}.hero-lead{max-width:20rem;color:var(--color-muted);margin-top:.25rem;margin-inline:auto;font-size:.8125rem;line-height:1.5;font-weight:400}.hero-products{color:var(--color-accent);margin-top:.45rem;font-size:.8125rem;font-weight:500;letter-spacing:-.01em}.hero-actions{flex-wrap:wrap;justify-content:center;gap:.55rem;margin-top:.7rem;display:flex}.hero-actions .btn-primary,.hero-actions .btn-secondary{min-height:40px;padding:.55rem 1rem;font-size:.875rem}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.reveal{animation:fade-up .7s var(--ease-out-soft) both}.content-band{position:relative;z-index:1;background:linear-gradient(#f5f7fb8c,#f5f7fbeb 5rem,#f5f7fbf5)}#projects.section{padding-top:8.75rem}.section{padding-block:var(--section-pad);scroll-margin-top:5.25rem}.section-tight{padding-block:var(--section-pad-tight)}.section-contact{padding-bottom:3.5rem}.section-title{letter-spacing:-.03em;color:var(--color-ink);margin-top:.55rem;font-size:clamp(1.55rem,1.2rem + 1.2vw,2.15rem);font-weight:600;line-height:1.15}.section-lead{max-width:36rem;color:var(--color-muted);margin-top:.55rem;font-size:.95rem;line-height:1.65}.prin-subtitle{letter-spacing:.02em;font-weight:500;color:var(--color-ink-2)}.card-grid{margin-top:1.5rem;display:grid;grid-template-columns:1fr;gap:1rem}.card-grid-projects{gap:1.05rem}.card-grid-caps{gap:.75rem}.card-grid-principles{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.card-grid-contact{grid-template-columns:1fr;gap:.65rem}.quiet-card{background:color-mix(in oklab,var(--color-card) 92%,transparent);box-shadow:var(--shadow-card);border-radius:var(--radius-card);transition:transform .2s var(--ease-out-soft),box-shadow .2s var(--ease-out-soft);min-width:0}@media(hover:hover){.quiet-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-3px)}}.quiet-card:active{transform:translateY(-1px) scale(.985)}.project-card{display:flex;flex-direction:column;min-height:16.5rem;padding:1.6rem}.project-logo{width:3.75rem;height:3.75rem;object-fit:contain;object-position:left}.project-logo-wide{width:5.25rem;height:3.75rem}.tag{height:1.5rem;font-family:var(--font-mono);letter-spacing:.12em;color:var(--color-accent);background:color-mix(in oklab,var(--color-accent) 8%,white);border-radius:999px;align-items:center;padding:0 .55rem;font-size:.625rem;font-weight:500;display:inline-flex;margin-top:1.15rem;width:fit-content}.card-title{margin-top:.85rem;font-size:1.7rem;font-weight:600;letter-spacing:-.03em;color:var(--color-ink);line-height:1.15}.card-en-name{margin-top:.25rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;color:var(--color-faint);font-weight:500}.card-title-sm{font-size:.95rem;font-weight:600;letter-spacing:-.025em;color:var(--color-ink)}.card-body{margin-top:.65rem;flex:1;font-size:.98rem;line-height:1.65;color:var(--color-ink-2)}.card-muted{margin-top:.3rem;font-size:.8125rem;line-height:1.5;color:var(--color-muted)}.card-link{margin-top:1.15rem;display:inline-flex;align-items:center;gap:.25rem;font-size:.875rem;font-weight:500;color:var(--color-accent)}.capability-card{display:flex;flex-direction:row;align-items:flex-start;gap:.85rem;min-height:6.5rem;max-height:7.35rem;padding:1rem 1.1rem}.capability-text{min-width:0;flex:1}.capability-chips{margin-top:.2rem;font-family:var(--font-mono);font-size:.625rem;letter-spacing:.04em;color:var(--color-accent);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.principle-card{display:flex;flex-direction:column;min-height:11.5rem;max-height:13.1rem;padding:1.3rem}.principle-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.principle-num{font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.08em;color:var(--color-accent)}.principle-card .card-title-sm{margin-top:.85rem}.icon-well{background:color-mix(in oklab,var(--color-accent) 8%,white);color:var(--color-accent);border-radius:.85rem;place-items:center;width:2.5rem;height:2.5rem;display:grid;flex-shrink:0}.capability-card .icon-well{width:2.35rem;height:2.35rem;border-radius:.75rem}.contact-card{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:5rem;max-height:5.5rem;padding:.9rem 1.1rem;flex-direction:row}.contact-left{display:flex;align-items:center;gap:.85rem;min-width:0;flex:1}.contact-text{display:flex;flex-direction:column;min-width:0}.contact-label{display:block;font-size:.75rem;font-weight:500;color:var(--color-muted)}.contact-value{display:block;margin-top:.15rem;font-size:.9rem;font-weight:500;letter-spacing:-.025em;color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-value-email{font-size:.9375rem;letter-spacing:-.03em;white-space:nowrap;overflow:visible;text-overflow:clip}.site-footer{border-top:1px solid #10151e14}.footer-inner{display:flex;flex-direction:column;gap:1.5rem;padding-block:2.75rem}.footer-brand{align-items:center}.footer-brand-text{display:flex;flex-direction:column;line-height:1.2;min-width:0}.footer-brand-name{display:flex;align-items:baseline;gap:.35rem;flex-wrap:wrap}.footer-sep{color:var(--color-faint);font-weight:400}.footer-goosun{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;color:var(--color-muted);font-weight:500}.footer-domain{margin-top:.3rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.025em;color:var(--color-muted)}.footer-meta{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.footer-nav{display:flex;flex-wrap:wrap;gap:.5rem 1.15rem}.footer-nav a{font-size:.875rem;font-weight:500;color:var(--color-ink-2);transition:color .15s}.footer-nav a:hover{color:var(--color-accent)}.footer-copy{font-size:.75rem;color:var(--color-faint)}@media(min-width:26.875rem){.hero-copy{padding:1.2rem 1.45rem}.contact-value-email{font-size:.98rem}}@media(min-width:48rem){:root{--content-max: 46.875rem;--inset: 1.25rem}.wrap{width:min(720px,calc(100% - 2.5rem))}.footer-inner{flex-direction:row;align-items:flex-start;justify-content:space-between}.footer-meta{align-items:flex-end}.card-grid-projects{gap:1.15rem}.capability-chips{white-space:normal}}@media(min-width:64rem){:root{--header-h: 4.25rem;--section-pad: 5rem;--section-pad-tight: 4.25rem;--content-max: 70rem}.wrap{width:min(1120px,calc(100% - 3rem))}.desktop-nav{display:flex}.header-cta{display:inline-flex!important}.menu-toggle,.mobile-nav{display:none!important}.hero-poster{justify-content:flex-start;align-items:center;min-height:calc(100svh - var(--header-h));height:auto;max-height:none;padding:0;overflow:hidden}.hero-poster-bg{object-position:70% 42%;width:min(54%,42rem);left:auto;right:0}.hero-wash{background:radial-gradient(at 78% 42%,#5a96e629,#0000 42%),linear-gradient(90deg,#e7f1fb,#e7f1fb 36%,#e7f1fbb8,#e7f1fb2e 64%,#0000 76%)}.hero-copy{text-align:left;width:min(38rem,48vw);max-height:none;box-shadow:none;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;margin-left:max(2rem,calc(50% - 560px));margin-right:2rem;margin-bottom:0;padding:0;border-radius:0;overflow:visible}#projects.section{padding-top:var(--section-pad)}.hero-copy .eyebrow{margin-inline:0}.hero-identity{margin-top:.75rem}.hero-lead{margin-inline:0;max-width:32rem;margin-top:.4rem;font-size:.95rem;line-height:1.6;color:var(--color-muted)}.hero-headline{margin-top:.75rem;font-size:1.35rem;font-weight:600}.hero-products{margin-top:.65rem;font-size:.9rem}.hero-actions{justify-content:flex-start;margin-top:1rem}.hero-actions .btn-primary,.hero-actions .btn-secondary{min-height:44px;padding:.7rem 1.15rem;font-size:.9375rem}.eyebrow{letter-spacing:.16em;font-size:.6875rem}.card-grid-projects{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem}.card-grid-caps{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.capability-card{max-height:none;min-height:8.5rem;flex-direction:column;padding:1.35rem}.card-grid-principles{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.principle-card{max-height:none;min-height:12rem}.card-grid-contact{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.card-grid{margin-top:1.85rem}.project-card{min-height:18rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{animation:none}.quiet-card,.btn-primary,.btn-secondary{transition:none}.quiet-card:hover{transform:none}}
