/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:"IBM Plex Mono", monospace;--color-white:#fff;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--font-weight-normal:400;--tracking-wider:.05em;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--color-mist:#e9edf4;--color-paper:#fdfdfd;--color-paper-deep:#3a4652;--color-paper-light:#f0ebe2;--color-periwinkle:#cdd8e8;--color-slate:#728f9d;--color-slate-deep:#52707e;--color-jade:#48bbaa;--color-jade-deep:#2e8577;--color-coral:#cf4140;--color-coral-deep:#b03432;--color-peach:#ffd9ca;--color-sand:#dcc5b3;--color-ink:#292025;--color-soft:#e9edf4;--color-line:#cdd8e8;--color-muted:#52707e;--color-brand-deep:#52707e;--font-display:"Noto Sans TC", sans-serif;--shadow-card:0 2px 8px #2920250f;--shadow-hover:0 8px 24px #2920251a}}@layer base,components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.right-5{right:calc(var(--spacing) * 5)}.bottom-20{bottom:calc(var(--spacing) * 20)}.z-40{z-index:40}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-14{height:calc(var(--spacing) * 14)}.h-\[7px\]{height:7px}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-\[7px\]{width:7px}.w-fit{width:fit-content}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.translate-y-0{--tw-translate-y:0;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-2{--tw-translate-y:calc(var(--spacing) * 2);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.items-center{align-items:center}.justify-center{justify-content:center}.gap-3{gap:calc(var(--spacing) * 3)}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-ink{border-color:var(--color-ink)}.border-line{border-color:var(--color-line)}.bg-coral{background-color:var(--color-coral)}.bg-jade{background-color:var(--color-jade)}.bg-mist{background-color:var(--color-mist)}.bg-muted{background-color:var(--color-muted)}.bg-paper{background-color:var(--color-paper)}.bg-white\/\[\.88\]{background-color:#ffffffe0}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[\.88\]{background-color:color-mix(in oklab,var(--color-white) 88%,transparent)}}.object-cover{object-fit:cover}.py-2{padding-block:calc(var(--spacing) * 2)}.pr-\[18px\]{padding-right:18px}.pl-2{padding-left:calc(var(--spacing) * 2)}.font-mono{font-family:var(--font-mono)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-nowrap{white-space:nowrap}.text-ink{color:var(--color-ink)}.text-paper{color:var(--color-paper)}.text-slate-deep{color:var(--color-slate-deep)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_12px_rgb\(72_187_170\/0\.7\)\]{--tw-shadow:0 0 12px var(--tw-shadow-color,#48bbaab3);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_2px_12px_rgba\(0\,0\,0\,0\.04\)\]{--tw-shadow:0 2px 12px var(--tw-shadow-color,#0000000a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-card{--tw-shadow:0 2px 8px var(--tw-shadow-color,#2920250f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-hover{--tw-shadow:0 8px 24px var(--tw-shadow-color,#2920251a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-soft{--tw-shadow-color:#e9edf4}@supports (color:color-mix(in lab,red,red)){.shadow-soft{--tw-shadow-color:color-mix(in oklab, var(--color-soft) var(--tw-shadow-alpha), transparent)}}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-\[14px\]{--tw-backdrop-blur:blur(14px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[opacity\,transform\,box-shadow\]{transition-property:opacity,transform,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media(hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:bg-coral-deep:hover{background-color:var(--color-coral-deep)}.hover\:shadow-hover:hover{--tw-shadow:0 8px 24px var(--tw-shadow-color,#2920251a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus-visible\:-translate-y-0\.5:focus-visible{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.focus-visible\:shadow-hover:focus-visible{--tw-shadow:0 8px 24px var(--tw-shadow-color,#2920251a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-brand-deep:focus-visible{outline-color:var(--color-brand-deep)}@media not all and (min-width:760px){.max-\[760px\]\:w-\[278px\]{width:278px}.max-\[760px\]\:pr-16{padding-right:calc(var(--spacing) * 16)}}@media not all and (min-width:480px){.max-\[480px\]\:right-4{right:calc(var(--spacing) * 4)}.max-\[480px\]\:bottom-\[72px\]{bottom:72px}}@media not all and (min-width:380px){.max-\[380px\]\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}:root{--mist: #e9edf4;--paper-2: #fdfdfd;--color-paper-deep: #3a4652;--color-paper-light: #f0ebe2;--periwinkle: #cdd8e8;--slate: #728f9d;--slate-deep: #52707e;--jade: #48bbaa;--jade-deep: #2e8577;--coral: #cf4140;--coral-deep: #b03432;--peach: #ffd9ca;--sand: #dcc5b3;--ink-raw: #292025;--ink: var(--ink-raw);--muted: var(--slate-deep);--line: var(--periwinkle);--paper: var(--paper-2);--soft: var(--mist);--violet: var(--slate-deep);--brand: var(--slate);--brand-deep: var(--slate-deep);--accent: var(--coral);--accent-deep: var(--coral-deep);--dark: var(--ink-raw);--radius: 24px;--shadow-card: 0 2px 8px rgb(41 32 37 / .06);--shadow-hover: 0 8px 24px rgb(41 32 37 / .1);font-family:Noto Sans TC,sans-serif;color:var(--ink);background:var(--soft);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}::selection{background:var(--brand-deep);color:var(--paper)}body{position:relative;margin:0;min-width:320px;overflow-x:hidden;background:var(--soft)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit}img{display:block;max-width:100%}.app{min-height:100vh}.site-nav,.sticky-status{position:fixed;top:20px;left:50%;z-index:40;display:flex;align-items:center;transform:translate(-50%)}.site-nav{gap:30px;width:508px;height:56px;padding:8px 10px;border:1px solid var(--line);border-radius:999px;background:#ffffffdb;box-shadow:0 2px 12px #0000000a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:opacity .24s ease,transform .24s ease}.site-nav.hidden{opacity:0;pointer-events:none;transform:translate(-50%,-10px)}.site-nav>img,.availability img{width:40px;height:40px;border-radius:50%;object-fit:cover}.site-nav nav{display:flex;align-items:center;gap:28px;font-size:16px;font-weight:400}.site-nav nav a{background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:left bottom;background-size:0% 1px;padding-bottom:2px;transition:color .2s cubic-bezier(.16,1,.3,1),background-size .2s cubic-bezier(.16,1,.3,1)}.site-nav nav a:hover,.site-nav nav a:focus-visible{color:var(--violet);background-size:100% 1px}.site-nav nav a:focus-visible{outline:2px solid var(--brand-deep);outline-offset:4px}.contact-pill{transition:background .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1)}.contact-pill:hover,.contact-pill:focus-visible{background:var(--violet);transform:translateY(-2px)}.contact-pill:focus-visible{outline:2px solid var(--brand-deep);outline-offset:3px}.contact-pill{display:grid;min-width:118px;height:40px;place-items:center;border-radius:999px;background:var(--dark);color:#fff;font-size:16px;font-weight:400}.availability{display:flex;align-items:center;gap:12px;width:fit-content;height:56px;padding:8px 18px 8px 8px;border:1px solid var(--line);border-radius:999px;background:#ffffffe0;box-shadow:0 2px 12px #0000000a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-size:16px;font-weight:400;white-space:nowrap}.availability i{flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:var(--jade);box-shadow:0 0 12px #48bbaab3}.sticky-status{gap:8px;opacity:0;pointer-events:none;transform:translate(-50%,-12px);transition:opacity .22s ease,transform .22s ease}.sticky-status.visible{opacity:1;pointer-events:auto;transform:translate(-50%)}.menu-button{display:none;width:44px;height:44px;place-items:center;border:4px solid var(--periwinkle);border-radius:50%;background:var(--brand);color:#fff;cursor:pointer}.mobile-drawer{position:fixed;top:86px;left:20px;right:20px;z-index:38;display:none;grid-template-columns:repeat(5,1fr);gap:6px;padding:8px;border:1px solid var(--line);border-radius:12px;background:#fffffff2;box-shadow:0 18px 45px #00000014;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-drawer a{display:grid;min-height:38px;place-items:center;border-radius:999px;font-size:13px;transition:opacity .2s cubic-bezier(.16,1,.3,1)}.mobile-drawer a:hover,.mobile-drawer a:focus-visible{opacity:.75}.mobile-drawer a:focus-visible{outline:2px solid var(--brand-deep);outline-offset:2px}.mobile-drawer a:last-child{background:var(--dark);color:#fff}.section{width:min(1120px,calc(100vw - 40px));margin:0 auto}.hero-card-journey{position:relative;background-color:var(--color-paper-deep);color:var(--color-paper-light)}.hero-card-journey .lead,.hero-card-journey .stats-row strong,.hero-card-journey .contact-row,.hero-card-journey .hero-right p{color:var(--color-paper-light)}.linked-card-stage{position:sticky;top:0;z-index:8;height:100svh;margin-bottom:-100svh;pointer-events:none;perspective:1200px}.linked-card{position:absolute;top:0;left:0;overflow:visible;opacity:0;transform-style:preserve-3d;transform-origin:center center;will-change:width,height,transform,border-radius}.linked-card-face{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:inherit;backface-visibility:hidden;-webkit-backface-visibility:hidden}.linked-card-back{transform:rotateY(180deg)}.linked-card-media{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.linked-card-portrait{opacity:0}@media(min-width:1081px){.hero-card-journey .services-image,.hero-card-journey .about-image{visibility:hidden;transform:none}.hero-card-journey.hero-static .services-image,.hero-card-journey.hero-static .about-image{visibility:visible}}.hero-left{align-self:center;padding:0 0 22px 77px;transform:translateY(-18px)}.eyebrow{margin:0 0 16px;font-family:Noto Sans TC,sans-serif;font-size:32px;font-weight:900;line-height:1.1;text-transform:uppercase}h1{font-family:Noto Sans TC,sans-serif;font-weight:900;text-transform:uppercase}h2,h3,.outline-button{font-family:Noto Sans TC,sans-serif;font-weight:700;text-transform:uppercase}h1{margin:0;font-size:clamp(72px,8vw,108px);line-height:.95;letter-spacing:-.01em}.hero-right{align-self:center;padding:94px 0 0 22px;text-align:center;transform:translateY(-13px)}.hero-right p{width:min(370px,100%);margin:20px auto 0;font-size:18px;font-weight:400;line-height:1.45}.portrait-card{position:relative;isolation:isolate}.portrait-card>img{width:340px;height:476px;border-radius:12px;object-fit:cover}.scroll-flip-card{transform-style:preserve-3d}.scroll-flip-card>img{backface-visibility:hidden;-webkit-backface-visibility:hidden}.scroll-flip-card>.scroll-flip-front{position:relative;z-index:1}.scroll-flip-card>.scroll-flip-back{position:absolute;top:0;right:0;bottom:0;left:0;opacity:1;transform:rotateY(180deg);transition:none}.scroll-flip-card .hi-bubble{backface-visibility:hidden;-webkit-backface-visibility:hidden}.hi-bubble{position:absolute;left:-64px;bottom:-62px;z-index:2;display:grid;width:124px;height:124px;place-items:center;border-radius:50%;background:var(--violet);color:#fff}.hi-bubble span{position:absolute;opacity:0;font-size:44px;font-weight:400;transition:opacity .2s cubic-bezier(.16,1,.3,1)}.hi-bubble svg{transition:opacity .2s cubic-bezier(.16,1,.3,1)}.hi-bubble:hover span,.contact-portrait .hi-bubble span{opacity:1}.hi-bubble:hover svg,.contact-portrait .hi-bubble svg{opacity:0}.hi-bubble.small{left:-62px;bottom:-62px;width:124px;height:124px}.hi-bubble.small span{font-size:34px}@media(max-width:1240px){.hi-bubble.small{left:-26px}}.section{padding:96px 0}.section-grid,.contact-grid{display:grid;grid-template-columns:600px 1fr;gap:80px;align-items:center}.inline-availability{display:none}h2{margin:0;font-size:clamp(52px,6vw,76px);line-height:1.05;letter-spacing:0}.mask-line{display:block;overflow:hidden;padding-bottom:.18em;margin-bottom:-.18em}.mask-line-inner{display:block;will-change:transform}.lead{margin:24px 0 0;max-width:560px;color:var(--ink);font-size:20px;font-weight:400;line-height:1.6}.tilt-frame{justify-self:end;border-radius:12px;overflow:hidden;transform:rotate(8deg);transform-origin:50% 50%;box-shadow:var(--shadow-hover)}.tilt-frame img{width:340px;height:476px;object-fit:cover}.services-image{margin-right:18px}.services h2{font-size:64px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skills-graph{position:relative;width:100%;max-width:512px;margin:48px auto 0;aspect-ratio:1 / 1}.skills-graph-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.sg-line{fill:none;stroke:var(--periwinkle);stroke-width:1.4;stroke-linecap:round;opacity:.9;transition:stroke .2s cubic-bezier(.16,1,.3,1),opacity .2s cubic-bezier(.16,1,.3,1),stroke-width .2s cubic-bezier(.16,1,.3,1)}.sg-line-trunk{stroke-width:1.8}.sg-line.is-active{stroke:var(--accent);opacity:1;stroke-width:2.2}.sg-line.is-dim{opacity:.26}.sg-node{position:absolute;display:inline-flex;align-items:center;justify-content:center;transform:translate(-50%,-50%);border-radius:999px;background:#fff;border:1.5px solid var(--line);box-shadow:var(--shadow-card);white-space:nowrap;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1),opacity .2s cubic-bezier(.16,1,.3,1)}.sg-node.is-dim{opacity:.4}.sg-node-center{z-index:3;width:90px;height:90px;border-width:2.5px;border-color:var(--ink)}.sg-node-center span{font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}.sg-node-cat{z-index:2;padding:9px 16px;border-width:2px;border-color:var(--accent);cursor:default}.sg-node-cat span{font-family:Noto Sans TC,sans-serif;font-size:14px;font-weight:700;color:var(--ink)}.sg-node-cat.is-active{border-color:var(--accent);box-shadow:var(--shadow-hover)}.sg-node-skill{z-index:1;padding:6px 12px}.sg-node-skill:before{content:"";flex:0 0 auto;width:6px;height:6px;margin-right:7px;border-radius:50%;background:var(--accent)}.sg-node-skill span{font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:500;letter-spacing:.01em;color:var(--ink)}.sg-node-skill.is-active{border-color:var(--accent);box-shadow:var(--shadow-hover)}.sg-node-skill.is-active:before{width:8px;height:8px}.skills-taggrid{display:none}.skills-taggroup h3{margin:0 0 12px;font-size:20px;font-weight:700;text-transform:none}.skills-taggroup ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.skills-taggroup li{padding:6px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:500}.about-section{padding-top:40px}.about-grid{grid-template-columns:minmax(0,600px) 390px;gap:clamp(51px,calc(100vw - 1030px),130px)}.about-image{transform:rotate(6deg)}.about-image img{width:390px;height:500px;object-fit:cover}.services-image,.about-image{will-change:transform}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}.stats-row strong{display:block;color:var(--violet);font-family:Noto Sans TC,sans-serif;font-size:50px;font-weight:900;line-height:.98}.stats-row span{display:block;margin-top:4px;font-size:18px;font-weight:700}.contact-row{display:flex;gap:48px;margin-top:48px}.contact-row div{display:grid;gap:4px;font-size:18px}.contact-row b{font-size:19px}.contact-row a{background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:left bottom;background-size:0% 1px;padding-bottom:2px;transition:opacity .2s cubic-bezier(.16,1,.3,1),background-size .2s cubic-bezier(.16,1,.3,1)}.contact-row a:hover,.contact-row a:focus-visible{opacity:.8;background-size:100% 1px}.contact-row a:focus-visible{outline:2px solid var(--paper-2);outline-offset:3px}.socials{display:flex;gap:24px;margin-top:48px;align-items:center}.socials a{font-size:28px;font-weight:800;line-height:1;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:left bottom;background-size:0% 2px;padding-bottom:2px;transition:color .2s cubic-bezier(.16,1,.3,1),background-size .2s cubic-bezier(.16,1,.3,1)}.socials a:hover,.socials a:focus-visible{color:var(--jade);background-size:100% 2px}.socials a:focus-visible{outline:2px solid var(--paper-2);outline-offset:3px}.socials.compact{margin:0;gap:16px}.socials.compact a{color:#fff;font-size:21px}.outline-button{display:inline-grid;min-width:166px;min-height:48px;margin-top:48px;place-items:center;border:1.5px solid var(--accent);border-radius:999px;background:var(--paper);color:var(--accent-deep);font-size:30px;line-height:1;transition:background .2s cubic-bezier(.16,1,.3,1),color .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1)}.outline-button:hover,.outline-button:focus-visible{background:var(--accent);color:#fff;transform:translateY(-2px)}.outline-button:focus-visible{outline:2px solid var(--brand-deep);outline-offset:3px}.magnetic-active{transition-property:background,color,border-color}.magnetic-active:hover{transform:none}.section-head{position:relative;max-width:620px;margin-bottom:48px}.projects-deck{position:relative}.deck-head{padding:96px 0 8px}.deck-track{position:relative;width:100%}.deck-panel{position:relative;width:100%;min-height:100vh;display:grid;place-items:center;padding:clamp(72px,12vh,128px) clamp(24px,6vw,96px);background:var(--soft);overflow:hidden}.deck-panel--alt{background:var(--periwinkle)}.deck-panel-inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,72px);align-items:center;width:min(1180px,100%);will-change:transform,opacity}.deck-panel--alt .deck-panel-media{order:2}.deck-panel--alt .deck-panel-copy{order:1}.deck-panel-media{position:relative;overflow:hidden;width:100%;aspect-ratio:16 / 10;border:2px solid var(--ink);border-radius:12px;background:var(--paper);box-shadow:var(--shadow-hover);transition:box-shadow .2s cubic-bezier(.16,1,.3,1)}.deck-panel-media-img{width:100%;height:100%;object-fit:cover;will-change:transform}.deck-panel-media-empty{display:grid;place-items:center;padding:24px;background:linear-gradient(90deg,rgba(95,104,108,.08) 1px,transparent 1px),linear-gradient(rgba(95,104,108,.08) 1px,transparent 1px),var(--paper);background-size:24px 24px}.deck-panel-media-empty-title{max-width:82%;color:var(--muted);font-size:clamp(24px,3.2vw,40px);font-weight:700;text-align:center;text-transform:uppercase;letter-spacing:.02em}.deck-panel-copy{display:flex;flex-direction:column;min-width:0}.deck-panel-eyebrow{color:var(--brand-deep);font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.deck-panel-title{margin:16px 0 0;font-size:clamp(32px,3.6vw,54px);line-height:1.06}.deck-panel-subtitle{margin:16px 0 0;color:var(--brand-deep);font-size:18px;font-weight:600;line-height:1.6}.deck-panel-outcome{display:flex;align-items:baseline;gap:10px;margin:16px 0 0;color:var(--ink);font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600;letter-spacing:.04em;line-height:1.6}.deck-panel-outcome:before{content:"";flex:none;width:8px;height:8px;border-radius:2px;background:var(--brand);transform:translateY(-1px)}.deck-panel-desc{margin:16px 0 0;max-width:54ch;color:var(--muted);font-size:16px;font-weight:400;line-height:1.7}.deck-panel-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:24px}.deck-panel-cue{padding:8px 16px;border:1.5px solid var(--brand);border-radius:999px;background:var(--paper);color:var(--brand-deep);font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background .2s cubic-bezier(.16,1,.3,1),color .2s cubic-bezier(.16,1,.3,1)}.deck-panel-cue:hover,.deck-panel-cue:focus-visible{background:var(--periwinkle);color:var(--brand-deep)}.deck-panel-cue:focus-visible{outline:2px solid var(--brand-deep);outline-offset:2px}.deck-panel-link{color:var(--brand-deep);font-size:14px;font-weight:700;letter-spacing:.03em;text-decoration:underline;text-underline-offset:3px;transition:color .2s cubic-bezier(.16,1,.3,1)}.deck-panel-link:hover,.deck-panel-link:focus-visible{color:var(--accent-deep)}.deck-panel-link:focus-visible{outline:2px solid var(--brand-deep);outline-offset:3px}.deck-panel.is-openable:hover .deck-panel-media{box-shadow:0 24px 56px #2d212129}@media(prefers-reduced-motion:reduce){.deck-panel{min-height:auto;padding:56px clamp(24px,6vw,96px)}}.project-tags{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0;padding:0;list-style:none}.project-tag{padding:5px 12px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.project-overlay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;overscroll-behavior:contain;padding:64px 24px;background:#2d212199;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .3s ease}.project-overlay-backdrop.is-open{opacity:1}.project-overlay-panel{position:relative;width:min(960px,92vw);max-height:90vh;overflow-y:auto;overscroll-behavior:contain;padding:48px;border:2px solid var(--ink);border-radius:12px;background:var(--paper);box-shadow:var(--shadow-hover);opacity:0;transform:translateY(24px);transition:opacity .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1)}.project-overlay-panel.is-open{opacity:1;transform:translateY(0)}.project-overlay-backdrop.flip-active{opacity:1;transition:none}.project-overlay-panel.flip-active{opacity:1;transform:none;transition:none;will-change:transform}.project-overlay-inner{display:block}.project-overlay-close{position:absolute;top:20px;right:20px;z-index:1;display:grid;width:44px;height:44px;place-items:center;border:2px solid var(--ink);border-radius:999px;background:var(--paper);color:var(--ink);cursor:pointer;transition:background .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1)}.project-overlay-close:hover,.project-overlay-close:focus-visible{background:var(--periwinkle);transform:translateY(-2px)}.project-overlay-close:focus-visible{outline:2px solid var(--brand-deep);outline-offset:2px}.project-overlay-content,.project-overlay-header{display:flex;flex-direction:column}.project-overlay-eyebrow{display:block;color:var(--brand-deep);font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.project-overlay-title{margin:16px 60px 8px 0;font-size:clamp(34px,5vw,56px);font-weight:900;line-height:1.1}.project-overlay-subtitle{margin:0 60px 0 0;color:var(--muted);font-size:18px;line-height:1.6}.project-overlay-lede{margin:24px 0 0;color:var(--ink);font-size:16px;line-height:1.7}.project-overlay-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px 32px;margin:28px 0 0;padding:20px 0;border-top:1.5px solid var(--line);border-bottom:1.5px solid var(--line)}.project-overlay-meta-item{display:flex;flex-direction:column;gap:8px;min-width:0}.project-overlay-meta-label{display:block;color:var(--brand-deep);font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.project-overlay-meta-value{margin:0;color:var(--ink);font-size:15px;font-weight:600;line-height:1.5}.project-overlay-meta-tags{margin:0}.project-overlay-meta-links{display:flex;flex-wrap:wrap;gap:12px}.project-overlay-media-wrap{overflow:hidden;margin:32px 0 0;border:2px solid var(--ink);border-radius:12px}.project-overlay-media{display:block;width:100%;max-height:480px;object-fit:cover}.project-overlay-flow{margin:32px 0 0;padding:28px 24px;border:2px solid var(--ink);border-radius:12px;background:var(--paper-2)}.project-overlay-flow-steps{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:12px 0 0;padding:0;list-style:none}.project-overlay-flow-step{display:inline-flex;align-items:center;gap:10px 14px;color:var(--ink);font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:700;letter-spacing:.02em}.project-overlay-flow-step span:first-child{padding:8px 14px;border:1.5px solid var(--line);border-radius:8px;background:var(--paper)}.project-overlay-flow-arrow{color:var(--brand-deep);font-weight:700}.project-overlay-label{display:block;margin-bottom:12px;color:var(--brand-deep);font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.project-overlay-highlights{margin:32px 0 0}.project-overlay-highlight-list{display:grid;gap:20px;margin:0;padding:0;list-style:none}.project-overlay-highlight{display:flex;gap:16px;align-items:baseline}.project-overlay-highlight-num{flex:none;color:var(--accent);font-family:IBM Plex Mono,monospace;font-size:15px;font-weight:700;letter-spacing:.04em}.project-overlay-highlight-copy{margin:0;color:var(--ink);font-size:15px;line-height:1.7}.project-overlay-highlight-label{color:var(--ink);font-weight:700}.project-overlay-highlight-label:after{content:" — "}.project-overlay-cta{display:inline-grid;min-width:140px;min-height:44px;padding:0 20px;place-items:center;border-radius:999px;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:700;letter-spacing:.04em;text-align:center;transition:background .2s cubic-bezier(.16,1,.3,1),color .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1)}.project-overlay-cta:focus-visible{outline:2px solid var(--brand-deep);outline-offset:3px}.project-overlay-cta-primary{border:1.5px solid var(--accent);background:var(--accent);color:#fff}.project-overlay-cta-primary:hover,.project-overlay-cta-primary:focus-visible{background:var(--accent-deep);border-color:var(--accent-deep);transform:translateY(-2px)}.project-overlay-cta-secondary{border:1.5px solid var(--brand);background:transparent;color:var(--brand-deep)}.project-overlay-cta-secondary:hover,.project-overlay-cta-secondary:focus-visible{background:var(--brand-deep);border-color:var(--brand-deep);color:#fff;transform:translateY(-2px)}.project-overlay-navrow{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:48px 0 0;padding-top:24px;border-top:1.5px solid var(--line)}.project-overlay-navbtn{display:flex;flex-direction:column;gap:4px;padding:12px 16px;border:1.5px solid var(--line);border-radius:12px;background:transparent;color:var(--ink);text-align:left;cursor:pointer;transition:border-color .2s cubic-bezier(.16,1,.3,1),background .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1)}.project-overlay-navbtn:hover,.project-overlay-navbtn:focus-visible{border-color:var(--brand);background:var(--soft);transform:translateY(-2px)}.project-overlay-navbtn:focus-visible{outline:2px solid var(--brand-deep);outline-offset:2px}.project-overlay-navbtn-next{text-align:right;align-items:flex-end}.project-overlay-navbtn-label{color:var(--brand-deep);font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:700;letter-spacing:.08em}.project-overlay-navbtn-title{font-size:15px;font-weight:700;line-height:1.4}@media(max-width:640px){.project-overlay-backdrop{padding:12px;align-items:flex-start}.project-overlay-panel{width:100%;max-height:calc(100vh - 24px);padding:28px 20px}.project-overlay-title{margin-right:0}.project-overlay-meta,.project-overlay-navrow{grid-template-columns:1fr}.project-overlay-navbtn-next{text-align:left;align-items:flex-start}.project-overlay-subtitle{margin-right:0}}@media(prefers-reduced-motion:reduce){.project-overlay-backdrop,.project-overlay-panel{opacity:1;transform:none;transition:none}}.contact-section{padding-bottom:120px}.contact-grid{grid-template-columns:390px 560px;gap:70px;justify-content:center}.contact-portrait>img{width:340px;height:476px;object-fit:cover}.contact-form{display:grid;gap:24px}.contact-form h2{font-size:clamp(48px,5vw,64px)}.contact-direct-links{display:flex;flex-wrap:wrap;gap:24px;margin-top:8px}.contact-direct-link{min-width:220px;font-size:22px}.footer{position:relative;isolation:isolate;overflow:visible;padding:48px 80px 32px;background:var(--color-paper-deep);color:var(--color-paper-light)}.footer-bounce-svg{position:absolute;top:-110px;left:0;z-index:0;width:100%;height:160px;pointer-events:none}.footer-bounce-path{fill:var(--color-paper-deep)}.footer-top{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);width:min(1120px,100%);margin:0 auto;gap:48px}.footer-top>div{display:grid;gap:6px}.footer-top span,.footer-bottom{font-size:14px;font-weight:400}.footer-top a:not(.socials a){font-size:20px;font-weight:700;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:left bottom;background-size:0% 1px;padding-bottom:2px;transition:opacity .2s cubic-bezier(.16,1,.3,1),background-size .2s cubic-bezier(.16,1,.3,1)}.footer-top a:not(.socials a):hover,.footer-top a:not(.socials a):focus-visible{opacity:.8;background-size:100% 1px}.footer-top a:not(.socials a):focus-visible{outline:2px solid var(--paper-2);outline-offset:3px}.footer-bottom{position:relative;z-index:1;display:flex;width:min(1120px,100%);align-items:center;justify-content:space-between;margin:24px auto 0;padding-top:32px;border-top:1px solid rgba(255,255,255,.8)}.footer-bottom p{margin:0}.footer-bottom a{text-decoration:underline;transition:opacity .2s cubic-bezier(.16,1,.3,1)}.footer-bottom a:hover,.footer-bottom a:focus-visible{opacity:.8}.footer-bottom a:focus-visible{outline:2px solid var(--paper-2);outline-offset:3px}.created{display:flex;align-items:center;gap:10px}.created img{width:40px;height:40px;border-radius:50%}.sketches-eyebrow{display:block;margin-bottom:12px;color:var(--brand-deep);font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.sketches-wall{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 48px;max-width:760px;margin-inline:auto}.sketches-wall .sketch-card:nth-child(2){margin-top:48px}.sketch-card{position:relative;display:block;border-radius:12px;text-decoration:none;transform:rotate(var(--card-rot, 0deg));transition:transform .2s cubic-bezier(.16,1,.3,1)}.sketch-card:hover,.sketch-card:focus-visible{transform:rotate(var(--card-rot, 0deg)) scale(1.04)}.sketch-card:focus-visible{outline:2px solid var(--brand-deep);outline-offset:4px}.sketch-card-float{display:block;animation:sketch-float var(--card-duration, 8s) ease-in-out infinite;animation-delay:var(--card-delay, 0s)}.sketch-card:hover .sketch-card-float,.sketch-card:focus-visible .sketch-card-float{animation-play-state:paused}.sketch-card-media{display:block;overflow:hidden;border:2px solid var(--ink);border-radius:12px;background:var(--soft);box-shadow:var(--shadow-card);transition:box-shadow .2s cubic-bezier(.16,1,.3,1)}.sketch-card:hover .sketch-card-media,.sketch-card:focus-visible .sketch-card-media{box-shadow:var(--shadow-hover)}.sketch-card-media img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover}.sketch-card-caption{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:4px;padding:16px;border-radius:12px;background:linear-gradient(180deg,transparent 55%,rgba(41,32,37,.78) 100%);color:#fff;opacity:0;transition:opacity .2s cubic-bezier(.16,1,.3,1)}.sketch-card:hover .sketch-card-caption,.sketch-card:focus-visible .sketch-card-caption{opacity:1}.sketch-card-name{font-family:Noto Sans TC,sans-serif;font-size:18px;font-weight:700}.sketch-card-cta{font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--periwinkle)}@media(hover:none){.sketch-card-caption{opacity:1;background:linear-gradient(180deg,transparent 40%,rgba(41,32,37,.78) 100%)}}@keyframes sketch-float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(1.4deg)}}@media(prefers-reduced-motion:reduce){.sketch-card-float{animation:none}}@media(max-width:1080px){.linked-card-stage{display:none}h1{font-size:78px}.section-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:48px}.tilt-frame,.about-image,.contact-portrait{justify-self:center}.sketches-wall{grid-template-columns:repeat(2,1fr);gap:40px 32px;max-width:none}.sketches-wall .sketch-card:nth-child(2){margin-top:0}}@media(max-width:900px){.deck-panel{min-height:auto;padding:48px 20px}.deck-panel-inner{grid-template-columns:1fr;gap:24px;width:100%}.deck-panel--alt .deck-panel-media,.deck-panel--alt .deck-panel-copy{order:0}.deck-head{padding:64px 0 8px}}@media(max-width:760px){.site-nav{display:none}.sticky-status{top:20px;gap:0;width:278px;opacity:1;pointer-events:auto;transform:translate(-50%)}.sticky-status.near-bottom{opacity:0;pointer-events:none}.availability{width:278px;height:56px;padding-right:64px;font-size:16px}.menu-button{position:absolute;right:4px;display:grid;margin-left:0}.mobile-drawer.open{display:grid}.section{width:calc(100vw - 40px)}.hero-left{padding:0;transform:translateY(-8px)}.eyebrow{margin-bottom:10px;font-size:25px}h1{font-size:56px;line-height:.95}.portrait-card>img{width:180px;height:250px;border-radius:12px}.hero-right{padding:0}.hero-right p{width:min(320px,100%);margin-top:12px;font-size:16px}.hi-bubble{left:-26px;bottom:28px;width:58px;height:58px}.hi-bubble span{font-size:22px}.section{padding:64px 0}.inline-availability{display:none}h2{font-size:51px}.services h2{font-size:43px}.lead{font-size:18px;line-height:1.6}.services-image{justify-self:center;width:min(260px,100%);margin:32px auto 0;transform:none;border-radius:12px}.services-image img{width:100%;height:auto}.about-image{display:none}.services-image img,.about-image img{width:100%;height:auto}.skills-graph{display:none}.skills-taggrid{display:grid;gap:24px;margin-top:32px}.stats-row{grid-template-columns:1fr;gap:32px;margin-top:32px}.stats-row div{display:flex;align-items:baseline;gap:14px}.stats-row strong{min-width:64px;font-size:58px}.stats-row span{font-size:16px}.contact-row{display:grid;gap:14px}.socials{gap:24px}.outline-button{width:100%;min-height:42px;margin-top:32px;background:var(--accent);color:#fff;font-size:25px}.section-head{margin-bottom:32px}.deck-panel{padding:40px 18px}.deck-panel-title{font-size:clamp(26px,7vw,36px)}.deck-panel-subtitle{font-size:16px}.contact-section{padding-top:64px}.contact-grid{gap:48px}.contact-portrait{justify-self:center;width:180px}.contact-portrait>img{width:180px;height:250px;border-radius:12px}.contact-portrait .hi-bubble{left:-26px;bottom:28px;width:58px;height:58px}.contact-form h2{font-size:51px}.footer{padding:48px 20px 96px}.footer-top{grid-template-columns:1fr}.footer-bottom{display:grid;gap:24px}}@media(max-width:620px){.sketches-wall{grid-template-columns:1fr;gap:32px}}@media(max-width:380px){h2,.contact-form h2{font-size:44px}h1{font-size:50px}.availability{font-size:14px}}.hero-transition{position:relative;width:100%;height:240vh}.hero-sticky{position:sticky;top:0;height:100vh;width:100%;overflow:hidden;z-index:9;background:transparent}.hero-floating-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:0;z-index:2;will-change:width,height,top,left,border-radius}.hero-intro{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:18px;padding:0 24px 12vh;text-align:center;color:#fff;pointer-events:none;text-shadow:0 2px 24px rgba(0,0,0,.35)}.hero-intro-eyebrow{margin:0;font-family:IBM Plex Mono,monospace;font-weight:500;font-size:clamp(16px,2.4vw,22px);letter-spacing:.08em;text-transform:uppercase}.hero-intro-title{margin:0;max-width:14ch;font-size:clamp(36px,6.2vw,84px);font-weight:900;line-height:.95}.hero-intro-sub{margin:0;font-family:IBM Plex Mono,monospace;font-size:clamp(13px,1.3vw,16px);font-weight:600;letter-spacing:.08em;text-transform:uppercase}@media(max-width:760px){.hero-intro-sub-extra{display:none}}.hero-intro-hint{margin:10px 0 0;font-size:15px;font-weight:400;letter-spacing:.22em;text-transform:uppercase;opacity:.85}.hero-intro-hint span{display:inline-block;margin-left:6px;animation:hero-hint-bob 1.6s ease-in-out infinite}@keyframes hero-hint-bob{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.hero-profile{--profile-card-half: 170px;--profile-side-gap: 64px;position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:grid;grid-template-columns:1fr 340px 1fr;align-items:center;gap:40px;width:min(1120px,calc(100vw - 40px));margin:0 auto;opacity:0;visibility:hidden}.hero-profile .hero-left{position:absolute;top:50%;right:calc(50% + var(--profile-card-half) + var(--profile-side-gap));width:min(370px,calc(50% - var(--profile-card-half) - var(--profile-side-gap)));text-align:right;padding:0;transform:translateY(-50%)}.hero-profile .hero-right{position:absolute;top:50%;left:calc(50% + var(--profile-card-half) + var(--profile-side-gap));width:min(370px,calc(50% - var(--profile-card-half) - var(--profile-side-gap)));text-align:left;padding:0;transform:translateY(-50%)}.hero-profile .hero-right p{margin:16px 0 0}.profile-card-slot{grid-column:2;justify-self:center;width:340px;height:476px;border-radius:12px}.profile-card-slot-video{display:none;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:inherit}.hero-mobile-media{display:none;position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:0;z-index:2;will-change:width,height,transform,border-radius}.hero-profile-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:24px}.hero-profile-badge{display:flex}.hero-profile-cta{min-width:168px}@media(max-width:1080px){.hero-mobile-media{display:block}.hero-profile{grid-template-columns:1fr;justify-items:center;gap:22px;text-align:center}.hero-profile .hero-left,.hero-profile .hero-right{position:static;width:auto;justify-self:center;text-align:center;transform:none}.profile-card-slot{grid-column:auto;width:260px;height:364px}.hero-profile-actions{justify-content:center}}.hero-static .hero-transition{height:auto}.hero-static .hero-sticky{position:static;height:auto;overflow:visible;padding:96px 0 64px}.hero-static .hero-intro,.hero-static .hero-mobile-media{display:none}.hero-static .hero-profile{position:static;opacity:1;visibility:visible}.hero-static .profile-card-slot{overflow:hidden;border:2px solid var(--ink, #2d2121);box-shadow:var(--shadow-soft, 0 16px 40px rgba(45, 33, 33, .08))}.hero-static .profile-card-slot-video{display:block}@media(max-width:760px){.hero-transition{height:220vh}.profile-card-slot{width:200px;height:280px}}.ambient-audio-toggle{position:fixed;right:20px;bottom:20px;z-index:40;display:grid;grid-template-areas:"icon";place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:50%;background:#ffffffe0;box-shadow:0 2px 12px #0000000a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--muted);cursor:pointer;transition:background .2s cubic-bezier(.16,1,.3,1),color .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1)}.ambient-audio-toggle:hover,.ambient-audio-toggle:focus-visible{background:#fff;color:var(--brand-deep);box-shadow:0 8px 24px #0000001a;transform:translateY(-2px)}.ambient-audio-toggle:focus-visible{outline:2px solid var(--brand-deep);outline-offset:2px}.ambient-audio-toggle.is-on{border-color:var(--brand);color:var(--brand-deep)}.ambient-audio-toggle-icon{display:grid;place-items:center;grid-area:1 / 1;opacity:1;transform:scale(1);transition:opacity .2s ease,transform .2s ease}.ambient-audio-toggle-icon-on,.ambient-audio-toggle.is-on .ambient-audio-toggle-icon-off{opacity:0;transform:scale(.6)}.ambient-audio-toggle.is-on .ambient-audio-toggle-icon-on{opacity:1;transform:scale(1)}@media(max-width:760px){.ambient-audio-toggle{right:16px;bottom:16px}}body:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20width%3D'200'%20height%3D'200'%3E%3Cfilter%20id%3D'n'%3E%3CfeTurbulence%20type%3D'fractalNoise'%20baseFrequency%3D'0.9'%20numOctaves%3D'2'%20stitchTiles%3D'stitch'%2F%3E%3CfeColorMatrix%20type%3D'saturate'%20values%3D'0'%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D'200'%20height%3D'200'%20filter%3D'url(%23n)'%2F%3E%3C%2Fsvg%3E");background-repeat:repeat;background-size:200px 200px;opacity:.05;mix-blend-mode:overlay}html.no-grain body:before{content:none}
