:root{--color-black:#000;--color-space:#050506;--color-surface:#0b0b0d;--color-white:#f5f4f1;--color-muted:#a3a4a8;--color-subtle:#73757b;--color-line:#ffffff2e;--color-line-strong:#ffffff61;--color-red:#c91625;--color-red-bright:#e31d2f;--color-warm:#cc7c3c;--max-width:1600px;--content-width:1440px;--page-padding:clamp(1.375rem, 5vw, 5rem);--header-height:5.25rem;--font-display:"Avenir Next Condensed", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;--font-body:"Avenir Next", "Helvetica Neue", "Noto Sans TC", Arial, sans-serif;--ease-out:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--color-black)}body{background:var(--color-black);min-width:20rem;color:var(--color-white);font-family:var(--font-body);margin:0;line-height:1.65;overflow-x:hidden}body::selection{color:#fff;background:var(--color-red)}img,video,svg{max-width:100%;display:block}a{color:inherit}button,input,textarea{font:inherit}button{color:inherit}:focus-visible{outline:2px solid var(--color-red-bright);outline-offset:4px}.site-shell{width:min(var(--max-width), 100%);margin-inline:auto}.skip-link{z-index:200;background:var(--color-white);color:var(--color-black);padding:.7rem 1rem;text-decoration:none;transition:transform .2s;position:fixed;top:1rem;left:1rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.section-label{letter-spacing:.24em;text-transform:uppercase;margin:0 0 1.35rem;font-size:.65rem;font-weight:700}.red-rule{background:var(--color-red);width:2.25rem;height:2px;margin:0 0 2rem}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:.055em;text-transform:uppercase;text-wrap:balance;font-weight:300;line-height:1}p{text-wrap:pretty}.site-header{z-index:100;width:min(var(--max-width), 100%);min-height:var(--header-height);padding:1rem var(--page-padding);background:linear-gradient(#000000e0,#0000002e,#0000);border-bottom:1px solid #0000;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;margin-inline:auto;transition:background .25s,border-color .25s;display:grid;position:fixed;inset:0 0 auto}.site-header[data-scrolled=true]{border-color:var(--color-line);backdrop-filter:blur(14px);background:#000000ed}.brand{width:clamp(11.5rem,19vw,17rem);text-decoration:none}.brand img{width:100%;height:auto}.site-nav{align-items:center;gap:2rem;display:flex}.site-nav a,.header-contact{letter-spacing:.15em;text-transform:uppercase;font-size:.62rem;font-weight:700;text-decoration:none}.site-nav a:hover,.header-contact:hover{color:var(--color-red-bright)}.header-contact{border:1px solid #ffffff75;justify-self:end;padding:.72rem 1.3rem}.menu-toggle{cursor:pointer;background:0 0;border:0;justify-self:end;width:2.75rem;height:2.75rem;padding:.65rem;display:none}.menu-toggle span{background:currentColor;width:100%;height:1px;margin:.35rem 0;display:block}.site-footer{padding:2.4rem var(--page-padding) 3rem;border-top:1px solid var(--color-line);grid-template-columns:1fr;display:grid}.footer-meta{color:var(--color-muted);gap:.25rem;font-size:.62rem;display:grid}.starfield{z-index:2;pointer-events:none;opacity:.82;mix-blend-mode:screen;width:100%;height:100%;position:absolute;inset:0}.reveal{opacity:1;transition:opacity .75s var(--ease-out), transform .75s var(--ease-out);transform:none}.js .reveal{opacity:0;transform:translateY(1rem)}.js .reveal.is-visible{opacity:1;transform:none}@media (width<=70rem){.site-header{grid-template-columns:1fr auto}.site-nav{left:1rem;right:1rem;top:calc(var(--header-height) - .25rem);border:1px solid var(--color-line);background:#000000fa;flex-direction:column;align-items:stretch;gap:0;padding:1rem;display:none;position:fixed}.site-nav[data-open=true]{display:flex}.site-nav a{align-items:center;min-height:2.75rem;padding-inline:.75rem;display:flex}.header-contact{display:none}.menu-toggle{display:block}}@media (width<=48rem){.site-header{padding-inline:1.25rem}.brand{width:12rem}.header-contact{min-height:2.75rem}.site-nav a{min-height:3rem}.site-footer{padding-inline:1.25rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}.starfield{display:none}}@media (hover:none){.project-card:hover,.button:hover{transform:none}}@media (width<=64rem) and (width>=48.01rem){.site-nav{gap:1.3rem}}
