.carousel-arrow[data-v-52db7b00]{align-items:center;background:transparent;border:1px solid #fff;border-radius:999px;cursor:pointer;display:flex;height:42px;justify-content:center;padding:4px;transition:background-color .16s ease,transform .16s ease;width:42px}.carousel-arrow img[data-v-52db7b00]{display:block;height:19px;width:auto}.carousel-arrow[data-v-52db7b00]:hover{background:#ffffff24;transform:scale(1.04)}.carousel-arrow[data-v-52db7b00]:focus-visible{outline:3px solid #00d3f8;outline-offset:3px}.project-card[data-v-e94718e1]{aspect-ratio:1152 / 1338;border-radius:24px;flex:0 0 calc((100% - 48px) / 3);min-width:0;overflow:hidden}.project-card a[data-v-e94718e1]{cursor:pointer;display:block;height:100%;width:100%}.project-card picture[data-v-e94718e1]{display:block;height:100%;width:100%}.project-card img[data-v-e94718e1]{display:block;filter:grayscale(1) brightness(.58) contrast(1.15);height:100%;object-fit:contain;transition:filter .52s cubic-bezier(.22,1,.36,1),transform .42s cubic-bezier(.22,1,.36,1);width:100%}.project-card--selected img[data-v-e94718e1]{filter:grayscale(0)}.project-card a:hover img[data-v-e94718e1]{filter:grayscale(0);transform:scale(1.025)}.project-card a[data-v-e94718e1]:focus-visible{outline:3px solid #00d9ff;outline-offset:-3px}@media(max-width:767px){.project-card[data-v-e94718e1]{flex-basis:100%}}.featured[data-v-6a34bd52]{align-items:center;background:#131313;color:#fff;display:flex;flex-direction:column;gap:24px;overflow:hidden;padding-top:60px;position:relative;z-index:2}.featured__inner[data-v-6a34bd52]{align-items:center;display:flex;flex-direction:column;gap:24px;max-width:var(--layout-shell-width);padding-inline:var(--layout-gutter);position:relative;width:100%;z-index:1}.featured__header[data-v-6a34bd52]{align-items:flex-end;display:flex;gap:56px;justify-content:space-between;width:100%}.featured__heading[data-v-6a34bd52]{flex:1}.featured__description[data-v-6a34bd52]{color:#e3e3e3;font-size:var(--font-size-body-small);letter-spacing:.9px;line-height:1.5;margin:0;text-wrap:pretty}.featured__controls[data-v-6a34bd52]{align-items:center;display:flex;gap:16px}.featured__arrows[data-v-6a34bd52]{display:flex;gap:16px}.featured__carousel[data-v-6a34bd52]{cursor:grab;overflow:hidden;touch-action:pan-y;user-select:none;width:100%}.featured__carousel--dragging[data-v-6a34bd52]{cursor:grabbing}.featured__carousel-track[data-v-6a34bd52]{display:flex;gap:24px;width:100%;will-change:transform}.featured__carousel-track--animated[data-v-6a34bd52]{transition:transform .62s cubic-bezier(.22,1,.36,1)}.featured__dots[data-v-6a34bd52]{display:flex;gap:6px}.featured__dots button[data-v-6a34bd52]{background:#a6a6a6;border:0;border-radius:999px;cursor:pointer;height:8px;padding:0;transition:background-color .16s ease,width .16s ease;width:8px}.featured__dots button.active[data-v-6a34bd52]{background:#00d3f8;width:28px}.featured__marquee[data-v-6a34bd52]{border-top:1px solid #7d7d7d;color:#7d7d7d;font-family:Montserrat,Noto Sans TC,sans-serif;font-size:32px;font-weight:var(--font-weight-bold);line-height:1;overflow:hidden;padding-block:20px 24px;white-space:nowrap;width:100%}.featured__marquee-track[data-v-6a34bd52]{display:flex;width:max-content;will-change:transform}.featured__marquee-group[data-v-6a34bd52]{display:flex;flex:0 0 auto}.featured__marquee-group span[data-v-6a34bd52]{flex:0 0 auto;white-space:nowrap}.featured__marquee-group span[data-v-6a34bd52]:after{content:" - ";white-space:pre}@media(prefers-reduced-motion:no-preference){.featured__marquee-track[data-v-6a34bd52]{animation:marquee-6a34bd52 24s linear infinite}}@media(prefers-reduced-motion:reduce){.featured__carousel-track--animated[data-v-6a34bd52]{transition:none}}@keyframes marquee-6a34bd52{to{transform:translate(-25%)}}@media(max-width:1024px){.featured__carousel-track--animated[data-v-6a34bd52]{transition-duration:.52s}}@media(max-width:767px){.featured[data-v-6a34bd52]{padding-top:48px}.featured__carousel[data-v-6a34bd52]{margin-inline:calc(50% - 50vw);padding:10px 16px;width:100vw}.featured__header[data-v-6a34bd52]{align-items:flex-start;flex-direction:column;gap:24px}.featured__controls[data-v-6a34bd52]{align-self:stretch;justify-content:space-between;width:100%}.featured__marquee[data-v-6a34bd52]{font-size:24px}}.logo-path-animation[data-v-d3f8539f]{display:block;width:100%}.logo-path-animation[data-v-d3f8539f] svg{display:block;height:auto;overflow:visible;width:100%}.logo-path-animation[data-v-d3f8539f] path{--path-order: 0;animation:logo-path-draw-d3f8539f 1.25s cubic-bezier(.65,0,.35,1) calc(var(--path-order) * 45ms) both,logo-path-fill-d3f8539f .55s ease-out calc(1.05s + var(--path-order) * 45ms) both;fill:transparent;stroke:#323232;stroke-dasharray:1;stroke-dashoffset:1;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.4}.logo-path-animation[data-v-d3f8539f] path:nth-child(2){--path-order: 1}.logo-path-animation[data-v-d3f8539f] path:nth-child(3){--path-order: 2}.logo-path-animation[data-v-d3f8539f] path:nth-child(4){--path-order: 3}.logo-path-animation[data-v-d3f8539f] path:nth-child(5){--path-order: 4}.logo-path-animation[data-v-d3f8539f] path:nth-child(6){--path-order: 5}.logo-path-animation[data-v-d3f8539f] path:nth-child(7){--path-order: 6}.logo-path-animation[data-v-d3f8539f] path:nth-child(8){--path-order: 7}.logo-path-animation[data-v-d3f8539f] path:nth-child(9){--path-order: 8}.logo-path-animation[data-v-d3f8539f] path:nth-child(10){--path-order: 9}.logo-path-animation[data-v-d3f8539f] path:nth-child(11){--path-order: 10}.logo-path-animation[data-v-d3f8539f] path:nth-child(12){--path-order: 11}.logo-path-animation[data-v-d3f8539f] path:nth-child(13){--path-order: 12}.logo-path-animation[data-v-d3f8539f] path:nth-child(14){--path-order: 13}.logo-path-animation[data-v-d3f8539f] path:nth-child(15){--path-order: 14}.logo-path-animation[data-v-d3f8539f] path:nth-child(16){--path-order: 15}@keyframes logo-path-draw-d3f8539f{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes logo-path-fill-d3f8539f{0%{fill:transparent;stroke-opacity:1}to{fill:#323232;stroke-opacity:0}}@media(prefers-reduced-motion:reduce){.logo-path-animation[data-v-d3f8539f] path{animation:none;fill:#323232;stroke:none}}.hero-kv[data-v-4ea646d5]{background:linear-gradient(180deg,#fdfdfd,#d2d2d2 104.67%);height:100svh;margin-top:-72px;min-height:620px;overflow:hidden;position:relative;width:100%;z-index:1}.hero-kv__stage[data-v-4ea646d5]{height:100%;inset:0;isolation:isolate;position:absolute;width:100%}.hero-kv__background[data-v-4ea646d5]{display:block;height:100%;inset:0;max-width:none;object-fit:cover;object-position:center bottom;pointer-events:none;position:absolute;width:100%;z-index:0}.hero-kv__background img[data-v-4ea646d5]{display:block;height:100%;object-fit:cover;object-position:center bottom;width:100%}.hero-kv__brand[data-v-4ea646d5]{align-items:center;display:flex;flex-direction:column;gap:clamp(26px,2.1875vw,42px);left:50%;position:absolute;top:27.5%;transform:translate(-50%);width:min(53.90625vw,calc(100% - 48px));z-index:2}.hero-kv__logo[data-v-4ea646d5]{display:block;height:auto;width:100%}.hero-kv__brand h1[data-v-4ea646d5]{color:#323232;font-size:clamp(24px,2.0833vw,40px);font-weight:var(--font-weight-medium);letter-spacing:.12em;line-height:1.2;margin:0;text-align:center;white-space:nowrap}.hero-kv__scroll-cue[data-v-4ea646d5]{-webkit-backdrop-filter:blur(14px);align-items:center;backdrop-filter:blur(14px);background:#ffffff94;border:1px solid rgb(50 50 50 / 6%);border-radius:999px;bottom:clamp(24px,4vh,44px);box-shadow:inset 0 1px #ffffffc7,0 10px 30px #32323214;color:#323232;display:flex;gap:12px;left:50%;min-height:48px;padding:7px 8px 7px 18px;position:absolute;text-decoration:none;transform:translate(-50%);transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease;z-index:3}.hero-kv__scroll-label[data-v-4ea646d5]{font-size:11px;font-weight:var(--font-weight-medium);letter-spacing:.22em;line-height:1;text-transform:uppercase}.hero-kv__scroll-icon[data-v-4ea646d5]{align-items:center;background:var(--color-accent);border-radius:50%;display:flex;height:32px;justify-content:center;width:32px}.hero-kv__scroll-icon svg[data-v-4ea646d5]{animation:scroll-cue-arrow-4ea646d5 1.8s cubic-bezier(.45,0,.55,1) infinite;fill:none;height:18px;stroke:#323232;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:18px}.hero-kv__scroll-cue[data-v-4ea646d5]:hover{background:#ffffffc2;box-shadow:inset 0 1px #ffffffe5,0 12px 32px #3232321f;transform:translate(-50%,2px)}.hero-kv__scroll-cue[data-v-4ea646d5]:focus-visible{outline:3px solid #323232;outline-offset:4px}@keyframes scroll-cue-arrow-4ea646d5{0%,to{transform:translateY(-1px)}50%{transform:translateY(3px)}}@media(max-width:1024px){.hero-kv__brand[data-v-4ea646d5]{gap:30px;width:min(82vw,820px)}.hero-kv__brand h1[data-v-4ea646d5]{font-size:clamp(22px,3.2vw,32px)}}@media(max-width:1023px){.hero-kv[data-v-4ea646d5]{margin-top:-44px}}@media(max-width:767px){.hero-kv[data-v-4ea646d5]{min-height:560px}.hero-kv__brand[data-v-4ea646d5]{gap:26px;top:36%;width:calc(100% - 40px)}.hero-kv__brand h1[data-v-4ea646d5]{font-size:clamp(17px,4.5vw,22px);letter-spacing:.07em;white-space:normal}.hero-kv__scroll-cue[data-v-4ea646d5]{bottom:20px;min-height:44px;padding:6px 7px 6px 16px}.hero-kv__scroll-icon[data-v-4ea646d5]{height:30px;width:30px}}@media(prefers-reduced-motion:reduce){.hero-kv__scroll-icon svg[data-v-4ea646d5]{animation:none}}.home-articles[data-v-f654c163]{background:#131313;color:#fff;display:flex;justify-content:center;width:100%}.home-articles__inner[data-v-f654c163]{display:flex;flex-direction:column;gap:40px;max-width:var(--layout-shell-width);padding:60px var(--layout-gutter);width:100%}.home-articles__header[data-v-f654c163]{align-items:flex-end;display:flex;gap:56px;justify-content:space-between}.home-articles__heading[data-v-f654c163]{flex:1 0 0;min-width:0}.home-articles__controls[data-v-f654c163]{align-items:center;display:flex;flex:1 0 0;justify-content:flex-end;min-width:0}.home-articles__description[data-v-f654c163]{color:#e3e3e3;font-size:var(--font-size-body-small);letter-spacing:.9px;line-height:1.5;margin:0;text-wrap:pretty}.home-articles__content[data-v-f654c163]{align-items:start;display:grid;gap:64px;grid-template-columns:repeat(2,minmax(0,1fr))}.home-articles__visual[data-v-f654c163]{aspect-ratio:71 / 41;border-radius:var(--radius-card);margin:0;overflow:hidden}.home-articles__visual img[data-v-f654c163]{display:block;height:100%;object-fit:cover;width:100%}.home-articles__list[data-v-f654c163]{display:flex;flex-direction:column}.home-articles__list a[data-v-f654c163]{color:#bcbcbc;display:block;font-size:20px;font-weight:var(--font-weight-medium);line-height:1.2;padding-block:24px;text-decoration:none;transition:color .18s ease}.home-articles__list a[data-v-f654c163]:first-child{padding-top:0}.home-articles__list a[data-v-f654c163]:last-child{padding-bottom:0}.home-articles__list a[data-v-f654c163]:not(:last-child){border-bottom:1px solid #737373}.home-articles__list a[data-v-f654c163]:hover{color:#fff}.home-articles__list a[data-v-f654c163]:focus-visible{color:#fff;outline:2px solid var(--color-accent);outline-offset:6px}@media(max-width:1023px){.home-articles__header[data-v-f654c163],.home-articles__content[data-v-f654c163]{gap:40px}}@media(max-width:767px){.home-articles__inner[data-v-f654c163]{gap:32px;padding-block:56px}.home-articles__header[data-v-f654c163]{align-items:flex-start;flex-direction:column;gap:24px}.home-articles__controls[data-v-f654c163]{flex:none;justify-content:flex-start}.home-articles__content[data-v-f654c163]{gap:32px;grid-template-columns:1fr}.home-articles__list a[data-v-f654c163]{font-size:18px;padding-block:20px}}.app-toast[data-v-66f8b7e0]{background:#323232;border-radius:999px;bottom:calc(100% + 8px);color:#fff;font-size:14px;left:50%;line-height:1.4;padding:5px 10px;pointer-events:none;position:absolute;transform:translate(-50%);white-space:nowrap;z-index:1}.app-toast-enter-active[data-v-66f8b7e0],.app-toast-leave-active[data-v-66f8b7e0]{transition:opacity .18s ease,transform .18s ease}.app-toast-enter-from[data-v-66f8b7e0],.app-toast-leave-to[data-v-66f8b7e0]{opacity:0;transform:translate(-50%,4px)}.home-contact[data-v-a084c9ba]{align-items:center;background:#fff;display:flex;justify-content:center;padding-block:60px;position:relative;scroll-margin-top:80px;z-index:1}.home-contact__inner[data-v-a084c9ba]{align-items:stretch;display:flex;flex-direction:column;gap:40px;max-width:var(--layout-shell-width);padding-inline:var(--layout-gutter);width:100%}.home-contact__introduction[data-v-a084c9ba]{color:#323232;display:flex;flex-direction:column;gap:16px}.home-contact__introduction h2[data-v-a084c9ba]{font-size:var(--font-size-section-heading);font-weight:var(--font-weight-bold);line-height:1.2;margin:0}.home-contact__introduction p[data-v-a084c9ba]{font-size:var(--font-size-body-small);font-weight:var(--font-weight-regular);line-height:1.5;margin:0}.home-contact__list[data-v-a084c9ba]{display:flex;gap:40px}.home-contact__card[data-v-a084c9ba]{align-items:flex-start;background:#f3f3f3;border-radius:24px;flex-direction:column;display:flex;gap:16px;justify-content:center;min-height:177px;padding:24px;width:100%}.home-contact__details[data-v-a084c9ba]{display:flex;flex-direction:column;gap:4px}.home-contact__details p[data-v-a084c9ba]{color:#737373;font-size:20px;font-weight:var(--font-weight-bold);line-height:1.5;margin:0}.home-contact__details a[data-v-a084c9ba]{color:#323232;font-size:24px;font-weight:var(--font-weight-medium);line-height:1.5;overflow-wrap:anywhere;text-decoration:none}.home-contact__actions[data-v-a084c9ba]{display:flex;flex-wrap:wrap;gap:7px}.home-contact__copy[data-v-a084c9ba]{display:flex;position:relative}.home-contact__button[data-v-a084c9ba]{font-size:18px;gap:10px;padding:7px 12px}.home-contact__button-icon[data-v-a084c9ba]{background-color:currentColor;display:block;height:20px;mask:var(--contact-icon) center / contain no-repeat;width:20px;-webkit-mask:var(--contact-icon) center / contain no-repeat}@media(max-width:900px){.home-contact__details a[data-v-a084c9ba]{font-size:20px}}@media(max-width:1023px){.home-contact[data-v-a084c9ba]{scroll-margin-top:64px}}@media(max-width:767px){.home-contact[data-v-a084c9ba]{padding-block:48px}.home-contact__inner[data-v-a084c9ba]{gap:32px}.home-contact__list[data-v-a084c9ba]{flex-direction:column;gap:24px}.home-contact__card[data-v-a084c9ba]{min-height:0;padding:24px 20px}.home-contact__details a[data-v-a084c9ba]{font-size:clamp(16px,4.5vw,20px)}.home-contact__details p[data-v-a084c9ba],.home-contact__button[data-v-a084c9ba]{font-size:16px}}.home-scroll-effects[data-v-2520cf6f]{display:none}.skill-card[data-v-b3037c11]{background:#fff;border-radius:24px;color:#323232;display:flex;flex-direction:column;gap:12px;padding:24px;width:100%}.skill-card__header[data-v-b3037c11]{align-items:flex-end;display:flex;justify-content:space-between}.skill-card h3[data-v-b3037c11]{font-size:var(--font-size-item-heading);font-weight:var(--font-weight-bold);line-height:1.5;margin:0}.skill-card ul[data-v-b3037c11]{display:flex;flex-wrap:wrap;font-family:Montserrat,Noto Sans TC,sans-serif;font-size:var(--font-size-body-small);gap:12px;justify-content:flex-end;line-height:1.5;list-style:none;margin:0;padding:0}.skill-card li[data-v-b3037c11]{white-space:nowrap}.skill-card li span[data-v-b3037c11]{color:#00d9ff;font-weight:var(--font-weight-semibold)}.skill-card>p[data-v-b3037c11]{font-size:var(--font-size-body-small);line-height:1.5;margin:0}@media(max-width:900px){.skill-card__header[data-v-b3037c11]{align-items:flex-start;flex-direction:column;gap:8px}.skill-card ul[data-v-b3037c11]{justify-content:flex-start}}@media(max-width:600px){.skill-card[data-v-b3037c11]{border-radius:18px;padding:20px}}.skills[data-v-c222ea19]{background:#f3f3f3;display:flex;justify-content:center;width:100%}.skills__inner[data-v-c222ea19]{align-items:stretch;display:grid;gap:64px;grid-template-columns:repeat(2,minmax(0,1fr));max-width:var(--layout-shell-width);padding-block:60px;padding-inline:var(--layout-gutter);width:100%}.skills__intro[data-v-c222ea19]{align-self:start;position:sticky;top:120px}.skills__description[data-v-c222ea19]{font-size:var(--content-body-font-size);line-height:1.5;margin:0;position:relative;z-index:1}.skills__intro .english[data-v-c222ea19]{font-family:Montserrat,Noto Sans TC,sans-serif}.skills__list[data-v-c222ea19]{align-items:center;display:flex;flex-direction:column;gap:24px}@media(max-width:767px){.skills__inner[data-v-c222ea19]{gap:48px;grid-template-columns:1fr;padding-block:56px}.skills__intro[data-v-c222ea19]{position:relative;top:auto}}
