@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(./archivo-vietnamese-wdth-normal-rJmnGBSt.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(./archivo-latin-ext-wdth-normal-7khWdh9v.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(./archivo-latin-wdth-normal-DY7AcnAa.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./montserrat-cyrillic-ext-wght-normal-CO5hGrJv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./montserrat-cyrillic-wght-normal-EAA9jha_.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./montserrat-vietnamese-wght-normal-k7S-YeeD.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./montserrat-latin-ext-wght-normal-BsZE-iaG.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./montserrat-latin-wght-normal-l_AIctKy.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ground:#08080a;--navy:#0a1a2f;--card:#18181b;--card-raised:#1f1f23;--rule:#27272a;--rule-strong:#3a3a40;--text:#eceef3;--text-2:#b0b7c0;--text-3:#8c94a2;--lavender:#dcd0ff;--lavender-ink:#c9baff;--glow:190 170 255;--sans:"Archivo Variable", "Noto Sans TC Variable", system-ui, sans-serif;--display:"Montserrat Variable", "Noto Sans TC Variable", system-ui, sans-serif;--serif:"Times New Roman", Times, "Liberation Serif", serif;--gutter:clamp(16px, 4vw, 56px);--measure:66ch;--radius:20px;--ease-out:cubic-bezier(.16, 1, .3, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:400 17px/1.55 var(--sans);color:var(--text);background:var(--ground);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scrollbar-color:var(--rule-strong) var(--ground);scroll-behavior:smooth;scroll-padding-top:88px;font-stretch:100%;overflow-x:clip}:lang(zh-Hant){--sans:"Noto Sans TC Variable", "Archivo Variable", system-ui, sans-serif}html:lang(zh-Hant) body :not(:lang(en)){letter-spacing:.05em}:where([lang=en]){letter-spacing:normal}:where(:lang(zh-Hant) [lang=en]){--sans:"Archivo Variable", "Noto Sans TC Variable", system-ui, sans-serif;font-family:var(--sans)}*,:before,:after{box-sizing:border-box}body{background:radial-gradient(80% 60% at 85% 0%, rgb(var(--glow) / .08), transparent 70%), var(--ground);margin:0}h1,h2,h3,p,dl,dd,ol,ul,figure{margin:0}ol,ul{padding:0;list-style:none}h1,h2,h3{font-family:var(--display);text-wrap:balance;font-weight:600}p{text-wrap:pretty}a{color:inherit}button{font:inherit;color:inherit}::selection{background:var(--lavender);color:var(--navy)}:focus-visible{outline:2px solid var(--lavender);outline-offset:3px}@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}.icon{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:1em;height:1em;transition:transform .3s var(--ease-out);flex:none}.serif{font-family:var(--serif);letter-spacing:-.01em;font-style:italic;font-weight:400}.serif:lang(zh-Hant){font-family:var(--sans);color:var(--text-2);font-style:normal}.is-pending{opacity:.45;cursor:not-allowed}.skip{left:var(--gutter);z-index:20;background:var(--text);color:var(--ground);border-radius:999px;padding:10px 16px;font-weight:600;position:absolute;top:-100px}.skip:focus{top:12px}.card{border-radius:var(--radius);background:linear-gradient(#1a1a1d,#151517);border:1px solid #ffffff12;box-shadow:inset 0 1px #ffffff0a}.pill{white-space:nowrap;background:#26262a;border:1px solid #ffffff0f;border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:7px 16px;font-size:.92rem;display:inline-flex}.pill-badge{padding:12px 22px 12px 16px;font-size:clamp(1rem,1.4vw,1.2rem);font-weight:500}.badge{width:1.25em;height:1.25em;fill:var(--text-2);stroke:none}.badge .tick{fill:none;stroke:var(--navy);stroke-width:1.6px}.button{background:var(--lavender);color:var(--navy);box-shadow:0 0 24px -4px rgb(var(--glow) / .55);transition:transform .25s var(--ease-out), box-shadow .25s;border-radius:999px;align-self:flex-start;margin-top:auto;padding:12px 24px;font-size:.96rem;font-weight:600;text-decoration:none}.button:not(.is-pending):hover{box-shadow:0 0 32px -2px rgb(var(--glow) / .7);transform:translateY(-2px)}.round-button{background:var(--lavender);width:48px;height:48px;color:var(--navy);box-shadow:0 0 20px -4px rgb(var(--glow) / .6);border-radius:50%;flex:none;place-items:center;font-size:1.15rem;display:grid}.round-button.is-pending{opacity:1;border:1px solid rgb(var(--glow) / .45);color:var(--lavender);box-shadow:0 0 16px -6px rgb(var(--glow) / .5);background:0 0}.section-h{letter-spacing:-.02em;font-size:clamp(2rem,3.6vw,3rem);font-weight:600;line-height:1.1}.section-h .serif{font-size:1.08em}.section-sub{color:var(--text-2);margin-top:10px}.masthead{z-index:10;border-bottom:1px solid rgb(var(--glow) / .1);-webkit-backdrop-filter:blur();backdrop-filter:blur();transition:background .4s var(--ease-out), backdrop-filter .4s var(--ease-out), -webkit-backdrop-filter .4s var(--ease-out);animation:masthead-in .9s var(--ease-out) .12s both;background:0 0;position:sticky;top:0}@keyframes masthead-in{0%{opacity:0;translate:0 -12px}}.masthead.is-scrolled{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#08080a40}.masthead-inner{max-width:calc(1040px + 2 * var(--gutter));height:72px;padding:0 var(--gutter);align-items:center;gap:clamp(18px,2.6vw,36px);margin:0 auto;display:flex}.wordmark{font-family:var(--display);letter-spacing:-.005em;margin-right:auto;font-size:1rem;font-weight:600;text-decoration:none;transition:opacity .25s}.wordmark:hover{opacity:.6}.nav{gap:clamp(18px,2.6vw,36px);display:flex}.nav a{color:var(--text);font-size:.95rem;font-weight:500;text-decoration:none;transition:opacity .25s}.nav a:not(.is-pending):hover{opacity:.6}.lang{position:relative}.lang-button{cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:8px;height:40px;padding:0 12px;font-size:.92rem;transition:opacity .25s;display:flex}.lang-button:hover,.lang-button[aria-expanded=true]{opacity:.6}.lang-button[aria-expanded=true] .chevron{transform:rotate(180deg)}.lang-menu{background:var(--card-raised);border:1px solid rgb(var(--glow) / .14);min-width:140px;animation:menu .2s var(--ease-out) both;border-radius:14px;padding:6px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 20px 40px -16px #000c}@keyframes menu{0%{opacity:0;translate:0 -4px}}.lang-menu button{text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:9px;width:100%;padding:9px 12px;font-size:.92rem;display:block}.lang-menu button:hover{background:rgb(var(--glow) / .1)}.lang-menu button[aria-current=true]{color:var(--lavender-ink);font-weight:600}.page{max-width:calc(1040px + 2 * var(--gutter));padding:0 var(--gutter) clamp(96px, 11vw, 144px);margin:0 auto}.hero{isolation:isolate;flex-direction:column;justify-content:center;min-height:min(100svh - 72px,900px);padding:clamp(72px,10vw,128px) 0 clamp(80px,10vw,136px);display:flex;position:relative}.greeting{letter-spacing:-.02em;font-size:clamp(2.25rem,3.9vw,3.5rem);font-weight:400;line-height:1.05}.greeting-name{font-weight:700}.experience{font-family:var(--display);color:#9d8cf5;white-space:nowrap;font-size:clamp(2.25rem,3.9vw,3.5rem);font-weight:400;line-height:1.05}.role{flex-wrap:wrap;align-items:center;gap:14px clamp(16px,2vw,28px);margin-top:clamp(20px,2.6vw,32px);display:flex}.role-title{font-family:var(--display);letter-spacing:-.02em;text-box:trim-both cap alphabetic;font-size:clamp(2.25rem,3.9vw,3.5rem);font-weight:400;line-height:1.05}.tagline{letter-spacing:-.01em;color:var(--text-2);text-wrap:balance;margin-top:clamp(20px,2.4vw,32px);font-size:clamp(1.5rem,3.9vw,3.5rem);font-weight:450;line-height:1.35}.tagline:lang(en){max-width:30em;font-size:clamp(1.25rem,2.35vw,2.1rem)}.tagline strong{color:var(--text);font-weight:650}.greeting:lang(zh-Hant),.tagline:lang(zh-Hant){font-feature-settings:"halt";text-spacing-trim:trim-both;word-break:keep-all}.greeting:lang(zh-Hant),.role-title:lang(zh-Hant){letter-spacing:-.01em}.hero-glow{z-index:-1;pointer-events:none;background:radial-gradient(60% 50% at 15% 70%, #6657db8c, transparent 70%), radial-gradient(50% 40% at 85% 15%, #6657db66, transparent 70%), var(--ground);position:absolute;inset:-72px calc(50% - 50vw) 0;overflow:hidden;-webkit-mask-image:linear-gradient(#000 72%,#0000);mask-image:linear-gradient(#000 72%,#0000)}.grain-gradient{opacity:0;width:100%;height:100%;transition:opacity 1.2s var(--ease-out);display:block}.grain-gradient.is-live{opacity:1}.tagline:lang(zh-Hant){color:var(--text);white-space:nowrap;font-size:min(5vw,2.5rem);font-weight:400}.tagline:lang(zh-Hant) strong{font-weight:700}@media (width>=760px){.tagline:lang(zh-Hant){font-size:clamp(1.4rem,2.8vw,2.5rem)}}.about{flex-direction:column;min-height:320px;padding:clamp(28px,4.4vw,56px);display:flex}.card-h{letter-spacing:-.02em;font-size:clamp(1.7rem,2.8vw,2.25rem);font-weight:600}.about p{max-width:var(--measure);color:var(--text-2);margin:18px 0 36px;font-size:clamp(1.05rem,1.35vw,1.15rem);line-height:1.7}.works{padding-top:clamp(96px,11vw,144px)}.work-list{gap:24px;margin-top:clamp(28px,3.4vw,44px);display:grid}.work{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:400px;display:grid;overflow:hidden}.work-image{background:#1f1f22;align-items:flex-end;padding:22px 24px;display:flex;position:relative;overflow:hidden}.work-media,.work-image:before{object-fit:cover;width:100%;height:100%;transition:transform .7s var(--ease-out);position:absolute;inset:0}.work-image:before{content:"";background:radial-gradient(60% 70% at 30% 30%, rgb(var(--glow) / .08), transparent 70%), linear-gradient(160deg, #1d1d20, #121214)}.work:hover .work-media,.work:hover .work-image:before{transform:scale(1.06)}.work-image span{color:var(--text-3);font-size:.86rem}.work-copy{flex-direction:column;padding:clamp(28px,3.2vw,40px);display:flex}.work-copy h3{letter-spacing:-.02em;margin-top:clamp(22px,2.6vw,32px);font-size:clamp(1.6rem,2.4vw,2rem);font-weight:650}.work-copy p{color:var(--text-2);margin-top:12px;font-size:1.05rem;line-height:1.65}.work-foot{color:var(--text-3);justify-content:space-between;align-items:center;gap:16px;margin-top:auto;padding-top:28px;font-size:.9rem;display:flex}.different{margin-top:clamp(96px,11vw,144px);padding:clamp(28px,4.4vw,56px)}.strengths{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px clamp(24px,3vw,40px);margin-top:clamp(28px,3.6vw,48px);display:grid}.strengths li{border-top:1px solid var(--rule-strong);padding-top:22px}.strengths h3{letter-spacing:-.01em;font-size:1.2rem;font-weight:600;line-height:1.3}.strengths p{color:var(--text-2);margin-top:12px;line-height:1.7}.record{padding-top:clamp(96px,11vw,144px)}.quotes{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:clamp(28px,3.4vw,44px);display:grid}.quote{flex-direction:column;gap:24px;min-height:300px;padding:32px;display:flex}.quote-mark{width:46px;fill:var(--rule-strong)}.lines{gap:12px;display:grid}.lines span{background:var(--rule);border-radius:4px;height:.75em}.lines span:nth-child(2){width:92%}.lines span:nth-child(3){width:97%}.lines span:nth-child(4){width:58%}.byline{align-items:center;gap:14px;margin-top:auto;display:flex}.avatar{background:var(--rule);border-radius:50%;flex:none;width:48px;height:48px}.lines-short{gap:9px}.lines-short span:first-child{width:96px}.lines-short span:nth-child(2){width:150px}.close{isolation:isolate;padding:clamp(120px,14vw,184px) 0 0;position:relative}.close:before{content:"";z-index:-1;aspect-ratio:2;background:radial-gradient(closest-side, rgb(var(--glow) / .12), transparent);filter:blur(24px);width:60%;position:absolute;bottom:0;left:0}.close h2{letter-spacing:-.02em;font-size:clamp(3rem,7vw,5.5rem);font-weight:600;line-height:1}.close h2 .serif{font-size:1.1em}.close p{max-width:38ch;color:var(--text-2);margin-top:24px;font-size:clamp(1.1rem,1.6vw,1.3rem)}.close .close-pending{color:var(--text-3);margin-top:14px;font-size:.92rem}.foot{max-width:calc(1040px + 2 * var(--gutter));padding:28px var(--gutter) 40px;color:var(--text-3);margin:0 auto;font-size:.88rem}@media (width<=860px){.hero{min-height:0}.work{grid-template-columns:minmax(0,1fr);min-height:0}.work-image{aspect-ratio:16/10}.strengths,.quotes{grid-template-columns:minmax(0,1fr)}.quote{min-height:0}}@media (width<=560px){.masthead-inner{gap:14px;height:64px}.nav{gap:14px}.nav a{font-size:.88rem}.lang-name{display:none}.lang-button{padding:0 8px}}@media (prefers-reduced-motion:reduce){.lang-menu,.masthead{animation:none}.icon,.button{transition:none}}[data-reveal]{--d:0;opacity:0;filter:blur(10px);transition:opacity .9s var(--ease-out), translate 1s var(--ease-out), filter .9s var(--ease-out);transition-delay:calc(.12s + var(--d) * .11s);translate:0 28px}[data-reveal].is-in{opacity:1;filter:blur();translate:0}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;filter:none;transition:none;translate:none}.work-media,.work-image:before{transition:none}}.work.is-link{position:relative}.work-link{text-decoration:none}.work-link:after{content:"";border-radius:inherit;position:absolute;inset:0}.work.is-link .round-button{transition:transform .3s var(--ease-out)}.work.is-link:hover .round-button{transform:rotate(45deg)}.cs-card{border-radius:var(--radius);background:#161618;border:1px solid #ffffff12}.cs{--cs-gap:clamp(28px, 3.2vw, 40px);padding-top:clamp(32px,4vw,48px);font-size:16px;line-height:1.8}.cs-back{color:var(--text);align-items:center;gap:8px;font-size:.95rem;font-weight:500;text-decoration:none;transition:opacity .25s;display:inline-flex}.cs-back:hover{opacity:.6}.cs-back-end{margin-top:clamp(80px,9vw,120px)}.cs-head{margin-top:clamp(48px,6vw,88px)}.cs-project{font-family:var(--display);color:var(--text-2);font-size:1rem}.cs-head h1{letter-spacing:.01em;max-width:24em;margin-top:12px;font-size:clamp(1.75rem,3.2vw,2.5rem);line-height:1.3}.cs-tags,.cs-checks{flex-wrap:wrap;gap:10px;display:flex}.cs-tags{margin-top:22px}.cs-cover{background:#121212;height:clamp(320px,48vw,640px);margin:clamp(40px,5vw,64px) calc(50% - 50vw) 0;overflow:hidden}.cs-cover img{object-fit:cover;object-position:center 60%;width:100%;height:100%;display:block}.cs-meta{grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr) minmax(0,1.2fr) minmax(0,1.5fr);gap:24px 40px;padding:clamp(40px,5vw,64px) 0 0;display:grid}.cs-meta dt{color:var(--text);font-weight:700}.cs-meta dd{color:var(--text-2);margin-top:8px;line-height:1.75}.cs-section{gap:var(--cs-gap);padding-top:clamp(80px,9vw,128px);display:grid}.cs-section.has-divider{border-top:1px solid var(--rule);margin-top:clamp(80px,9vw,128px);padding-top:clamp(80px,9vw,128px)}.cs-meta+.cs-section.has-divider{margin-top:clamp(56px,6vw,80px)}.cs-section-head{gap:14px;display:grid}.cs-section-head h2{font-size:20px;font-weight:700;line-height:1.5}.cs-section-head p{max-width:44em;color:var(--text-2);line-height:1.8}.cs-section-head h2+p{margin-top:4px}.cs-bg{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,5vw,72px);display:grid}.cs-bg-shot{aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden}.cs-bg-shot img{object-fit:cover;object-position:55% center;width:100%;height:100%;display:block}.cs-section.is-roomy{gap:clamp(64px,8vw,112px)}.cs-section.is-roomy>.cs-frame+.cs-frame{margin-top:calc(24px - clamp(64px,8vw,112px))}.cs-section.is-roomy>.cs-section-head{margin-bottom:calc(-1*clamp(8px,1.5vw,24px))}.cs-section.is-wide>.cs-section-head p,.cs-section.is-wide>.cs-text p,.cs-section.is-wide>.cs-text .cs-list{max-width:none}.cs-tag{background:var(--text);color:var(--ground);box-shadow:0 8px 24px -6px rgb(var(--glow) / .35);border-radius:999px;justify-self:start;margin-bottom:10px;padding:10px 22px;font-size:.95rem;font-weight:700}.cs-section.is-band{isolation:isolate;margin-top:clamp(80px,9vw,128px);padding-block:clamp(72px,8vw,112px);position:relative}.cs-section.is-band:before{content:"";z-index:-1;background:#19191c;position:absolute;inset:0 calc(50% - 50vw)}.cs-section.is-dark:before{background:#000}.cs-section.is-band.has-divider{border-top:0;margin-top:calc(2*clamp(80px,9vw,128px))}.cs-section.is-band.has-divider:after{content:"";inset-inline:0;border-top:1px solid var(--rule);position:absolute;top:calc(-1*clamp(80px,9vw,128px))}.cs-section.is-chapter>.cs-section-head{text-align:center;justify-items:center}.cs-section.is-chapter>.cs-section-head h2{font-size:clamp(1.9rem,3.2vw,2.6rem)}.cs-section>.cs-section-head.has-img{text-align:left;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);place-items:center stretch;gap:clamp(32px,5vw,72px)}.cs-section-head-copy{gap:14px;display:grid}.cs-section.is-chapter>.cs-section-head.has-img h2{white-space:nowrap;font-size:clamp(1.4rem,2.3vw,2rem)}.cs-head-img{justify-self:end;width:100%;max-width:420px;height:auto;display:block}@media (width<=760px){.cs-section>.cs-section-head.has-img{grid-template-columns:minmax(0,1fr)}.cs-head-img{justify-self:start;max-width:320px}}.cs-section.is-chapter.is-left>.cs-section-head{text-align:left;justify-items:start}.cs-section.is-chapter:not(.is-band){padding-top:clamp(96px,10vw,144px)}.cs-section.is-chapter>.cs-section-head h2.cs-chapter-pill{background:var(--ground);color:var(--text-2);border:1px solid #ffffff14;border-radius:999px;padding:9px 23px;font-size:16px;font-weight:500;line-height:24px}.cs-section.is-chapter>.cs-section-head p{max-width:40em}.cs-aside-grid{align-items:start;gap:var(--cs-gap) clamp(32px, 5vw, 72px);grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);display:grid}.cs-aside-col{position:sticky;top:112px}.cs-main-col{gap:24px;display:grid}.cs-aside-after{gap:var(--cs-gap);margin-top:clamp(16px,2vw,32px);display:grid}.cs-text{gap:14px;display:grid}.cs-text h3,.cs-steps h3{font-size:20px;font-weight:700;line-height:1.5}.cs-text p,.cs-list{max-width:44em;color:var(--text-2);line-height:1.8}.cs-text.is-center{text-align:center;justify-items:center}.cs-text.is-center h3{font-size:clamp(1.6rem,2.4vw,2rem);font-weight:600;line-height:1.5}.cs-text.is-center p,.cs-text.is-center .cs-list{max-width:46em;color:var(--text)}.cs-text.is-center .cs-list{gap:4px;padding-left:0;list-style:none}.cs-text.has-rule,.cs-split.has-rule{border-top:1px solid var(--rule);padding-top:clamp(48px,6vw,80px)}.cs-text.is-full p{max-width:none}.cs-list{gap:8px;padding-left:1.2em;list-style:outside;display:grid}.cs-list li::marker{color:var(--lavender)}.cs-list.is-accent{color:var(--lavender)}.cs-split.is-wide-text{grid-template-columns:minmax(0,1fr) auto}.cs-split.is-wide-text .cs-text p{max-width:none}.cs-split{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:clamp(32px,5vw,72px);display:grid}.cs-frame{border-radius:var(--radius);background:#161618;border:1px solid #ffffff12;justify-items:center;gap:clamp(20px,3vw,40px);padding:clamp(16px,3vw,40px);display:grid}.cs-frame.is-panel{background:var(--ground);border:0;border-radius:24px;padding:0;overflow:hidden}.cs-frame.is-panel .cs-zoom{border-radius:0}.cs-split.is-body-align{row-gap:14px}.cs-split.is-body-align>.cs-split-head{grid-area:1/1}.cs-split.is-body-align>.cs-split-body{grid-area:2/1}.cs-split.is-body-align>.cs-frame{grid-area:2/2}@media (width<=760px){.cs-split.is-body-align>.cs-split-head,.cs-split.is-body-align>.cs-split-body,.cs-split.is-body-align>.cs-frame{grid-area:auto}.cs-split.is-body-align>.cs-frame{margin-top:18px}}.cs-split .cs-frame.is-bare{justify-items:start}.cs-frame.is-bare{background:0 0;border:0;padding:0}.cs-frame.is-bare .cs-zoom{border-radius:var(--radius)}.cs-frame.is-square .cs-zoom{border-radius:0}.cs-frame.is-soft .cs-zoom{border-radius:8px}.cs-frame-2{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.cs-shot{width:100%;min-width:0}.cs-zoom{cursor:zoom-in;border-radius:12px;display:block;overflow:hidden}.cs-zoom img{width:100%;height:auto;transition:transform .6s var(--ease-out);display:block}.cs-zoom:not(.is-static):hover img{transform:scale(1.02)}.cs-zoom.is-static{cursor:default}.cs-shot figcaption{text-align:center;font-family:var(--display);color:var(--text-2);margin-top:14px;font-size:.9rem;font-weight:600}.cs-tile{background:#26262a;border-radius:12px;place-items:center;width:52px;height:52px;display:grid}.cs-tile svg{fill:none;width:24px;height:24px;stroke:var(--text-2);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.cs-cards{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));gap:24px;display:grid}.cs-cards>li{align-content:start;gap:14px;padding:clamp(24px,2.6vw,32px);display:grid}.cs-cards .cs-tile{margin-bottom:10px}.cs-cards h3{font-size:1.2rem;line-height:1.45}.cs-cards p{color:var(--text-2);line-height:1.8}.cs-cards.is-note{gap:12px}.cs-cards>li.cs-note{--fold:40px;padding:28px 18px calc(var(--fold) + 16px) 20px;clip-path:polygon(0 0, 100% 0, 100% calc(100% - var(--fold)), calc(100% - var(--fold)) 100%, 0 100%);background:#262629;border-radius:8px;gap:0;position:relative}.cs-note:after{content:"";width:var(--fold);height:var(--fold);clip-path:polygon(0 0,100% 0,0 100%);background:linear-gradient(135deg,#5c5c64,#47474e);position:absolute;bottom:0;right:0}.cs-cards>li.cs-note h3{white-space:nowrap;font-size:min(18px,1.4vw);font-weight:700;line-height:1.4}.cs-cards>li.cs-note p{margin-top:12px}@media (width<=1100px){.cs-cards.is-note{grid-template-columns:repeat(2,minmax(0,1fr))}.cs-cards>li.cs-note h3{font-size:18px}}@media (width<=560px){.cs-cards.is-note{grid-template-columns:minmax(0,1fr)}}.cs-cards strong{color:var(--text);font-weight:700}.cs-points{gap:24px;display:grid}.cs-points>li{gap:14px;padding:clamp(24px,2.6vw,32px);display:grid}.cs-dot{font-family:var(--display);align-items:center;gap:10px;font-weight:600;display:inline-flex}.cs-dot:before{content:"";background:var(--lavender);border-radius:50%;width:8px;height:8px}.cs-points h3{font-size:clamp(1.15rem,1.6vw,1.35rem);line-height:1.45}.cs-points p{color:var(--text-2);line-height:1.8}.cs-point-shot{justify-items:center;margin-top:10px;display:grid}.cs-proof{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.cs-proof>li{flex-direction:column;gap:8px;padding:28px 24px;display:flex}.cs-proof-label{font-weight:600;line-height:1.5}.cs-proof-figure{flex-wrap:wrap;align-items:baseline;gap:6px;line-height:1.5;display:flex}.cs-proof-figure strong{font-family:var(--display);font-size:clamp(2rem,2.8vw,2.6rem);font-weight:600;line-height:1.1}.cs-proof-figure span{color:var(--text-2);font-size:.9rem}.cs-proof-caption{color:var(--text-2);line-height:1.5}.cs-proof-caption.is-nowrap{white-space:nowrap}.cs-goal{align-items:start;gap:var(--cs-gap) clamp(32px, 5vw, 72px);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);display:grid}.cs-goal-copy{gap:var(--cs-gap);display:grid}.cs-stats{gap:20px;display:grid}.cs-stats>div{flex-direction:column-reverse;gap:8px;padding:28px 32px;display:flex}.cs-stats dt{color:var(--text-2)}.cs-stats dd{font-family:var(--display);align-items:baseline;gap:14px;font-size:clamp(2rem,3vw,2.6rem);font-weight:600;line-height:1.1;display:flex}.cs-stats .cs-from{color:var(--text-3);font-weight:500}.cs-stats .icon{width:.7em;height:.7em;color:var(--text-3);align-self:center}.cs-stats strong{font-weight:600}.cs-count{font-variant-numeric:tabular-nums}.cs-steps{gap:18px;display:grid}.cs-steps ol{grid-template-columns:repeat(5,minmax(0,1fr));gap:36px;display:grid}.cs-steps li{align-items:center;gap:12px;padding:18px 20px;font-weight:600;display:flex;position:relative}.cs-steps li:not(:last-child):after{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23a9a9af' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10h14M12 5l5 5-5 5'/%3E%3C/svg%3E") 50%/contain no-repeat;width:20px;height:20px;position:absolute;top:50%;right:-28px;translate:0 -50%}.cs-step-no{background:var(--text);width:30px;height:30px;color:var(--ground);font-family:var(--display);border-radius:50%;flex:none;place-items:center;font-size:.85rem;font-weight:700;display:grid}.cs-stack{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.cs-stack>li{align-content:start;gap:12px;padding:28px 24px;display:grid}.cs-stack-no{font-family:var(--display);color:var(--text-3);font-size:2rem;font-weight:600;line-height:1}.cs-stack h4{font-family:var(--display);font-size:1.1rem;font-weight:600}.cs-stack ul{color:var(--text-2);gap:4px;display:grid}.cs-stack>li{grid-row:span 4;grid-template-rows:subgrid;align-content:start;gap:0;display:grid}.cs-stack>li>.sp{align-self:start}.cs-stack h4{margin:8px 0 0;line-height:1.3}.cs-stack ul{align-content:start;gap:2px;margin:8px 0 16px;line-height:1.6}.sp{padding:0}.sp svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.sp-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.sp-swatch{border-radius:6px;height:30px}.sp-type{height:30px;font-family:var(--display);color:var(--text);place-items:center;font-size:1.1rem;display:grid}.sp-type.is-small{color:#8bb8ee;background:#4a90e22e;border-radius:6px;font-size:.8rem}.sp-foundations{grid-template-columns:repeat(4,minmax(0,1fr))}.sp-radius{grid-column:span 2;justify-content:space-around;align-items:center;height:30px;display:flex}.sp-radius i{background:#3a3a40;width:18px;height:18px}.sp-stack{gap:8px;display:grid}.sp-row{align-items:center;gap:6px;display:flex}.sp-btn{color:#fff;background:#3b82f6;border-radius:6px;padding:6px 10px;font-size:.72rem;font-weight:600}.sp-input{min-width:0;color:var(--text-3);border:1px solid #3a3a40;border-radius:6px;flex:1;padding:5px 8px;font-size:.72rem}.sp-check{color:#fff;background:#3b82f6;border-radius:5px;flex:none;place-items:center;width:22px;height:22px;display:grid}.sp-select{color:var(--text-3);border:1px solid #3a3a40;border-radius:6px;align-items:center;gap:4px;padding:4px 6px;display:flex}.sp-select i{border:1.5px solid var(--text-3);border-radius:3px;width:10px;height:10px}.sp-tip{color:#111;background:#eceef3;border-radius:5px;padding:4px 7px;font-size:.68rem;font-weight:600;position:relative}.sp-tip:after{content:"";background:#eceef3;width:7px;height:7px;position:absolute;bottom:-4px;left:50%;translate:-50%;rotate:45deg}.sp-tile{color:var(--text-3);background:#18181b;border:1px solid #ffffff12;border-radius:7px;align-items:center;gap:6px;padding:7px;display:flex}.sp-tile i{background:#3a3a40;border-radius:3px;height:5px;display:block}.sp-composite{grid-template-rows:auto auto;grid-template-columns:1.3fr 1fr;gap:8px;display:grid}.sp-search i{flex:1}.sp-modal{flex-direction:column;grid-row:span 2;align-items:stretch;gap:6px}.sp-modal i.is-short{width:55%}.sp-modal b{background:#3b82f6;border-radius:3px;align-self:flex-end;width:40%;height:9px;margin-top:auto}.sp-table{flex-direction:column;align-items:stretch;gap:6px}.sp-patterns .is-wide{grid-column:span 2}.sp-icon{justify-content:center}.sp-icon svg{width:16px;height:16px}.sp-error{background:#ef44441f;border-color:#ef444440}.sp-error span{color:#fff;background:#ef4444;border-radius:50%;flex:none;place-items:center;width:14px;height:14px;font-size:.6rem;font-weight:700;display:grid}.sp-error i{background:#ef444473;flex:1}.cs-table{overflow-x:auto}.cs-table table{border-collapse:collapse;width:100%}.cs-table th,.cs-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--rule);padding:18px 28px}.cs-table th{font-weight:700}.cs-table td{color:var(--text-2)}.cs-table tr:last-child td{border-bottom:0}.cs-table code{color:var(--lavender-ink);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.88rem}.cs-checks .icon{color:var(--lavender)}@media (width<=960px){.cs-proof,.cs-stack,.cs-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.cs-aside-grid{grid-template-columns:minmax(0,1fr)}.cs-aside-col{position:static}}@media (width<=760px){.cs-bg,.cs-split,.cs-goal,.cs-cards,.cs-frame-2{grid-template-columns:minmax(0,1fr)}.cs-steps ol{grid-template-columns:minmax(0,1fr);gap:32px}.cs-steps li:not(:last-child):after{inset:auto auto -26px 50%;translate:-50%;rotate:90deg}}@media (width<=480px){.cs-proof,.cs-stack,.cs-meta{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.cs-zoom img{transition:none}}.cs-compare{border-radius:var(--radius);background:#161618;border:1px solid #ffffff12;padding:clamp(16px,3vw,40px)}.cs-compare-frame{--pos:50%;cursor:ew-resize;touch-action:pan-y;-webkit-user-select:none;user-select:none;background:#1c1c1e;border-radius:12px;position:relative;overflow:hidden}.cs-compare-frame img{object-fit:cover;object-position:top left;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.cs-compare-after{clip-path:inset(0 0 0 var(--pos))}.cs-compare-tag{font-family:var(--display);pointer-events:none;background:#08080ab8;border-radius:999px;padding:5px 12px;font-size:.8rem;font-weight:600;position:absolute;top:14px}.cs-compare-tag.is-before{left:14px}.cs-compare-tag.is-after{right:14px}.cs-compare-handle{top:0;bottom:0;left:var(--pos);background:var(--text);outline:none;width:2px;position:absolute;translate:-50%}.cs-compare-knob{background:var(--text);width:44px;height:44px;color:var(--ground);transition:scale .2s var(--ease-out);border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;left:50%;translate:-50% -50%;box-shadow:0 6px 20px -4px #0009}.cs-compare-knob svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.cs-compare-frame:hover .cs-compare-knob{scale:1.08}.cs-compare-handle:focus-visible .cs-compare-knob{outline:2px solid var(--lavender);outline-offset:3px}.cs-video{width:100%}.cs-video video{background:#171717;border-radius:12px;width:100%;display:block}.cs-video figcaption{text-align:center;color:var(--text-2);margin-top:14px;font-size:.9rem}.xp{grid-template-columns:minmax(0,1fr) minmax(0,.62fr) minmax(0,1fr);align-items:center;gap:clamp(8px,1.4vw,20px);display:grid}.xp-mac{flex-direction:column;align-items:center;min-width:0;display:flex}.xp-lid{background:linear-gradient(#2a2b2f,#1c1d20);border-radius:14px 14px 4px 4px;width:86%;padding:2.4% 2.4% 3%;position:relative;box-shadow:inset 0 0 0 1px #ffffff1a,inset 0 1px #ffffff1f,0 24px 40px -24px #000000e6}.xp-notch{background:#0a0a0b;border-radius:0 0 6px 6px;width:11%;height:3.2%;position:absolute;top:2.4%;left:50%;translate:-50%}.xp-screen{background:#0a0a0b;border-radius:6px 6px 2px 2px;position:relative;overflow:hidden}.xp-screen img{aspect-ratio:1511/944;object-fit:cover;width:100%;display:block}.xp-glare{pointer-events:none;mix-blend-mode:screen;background:linear-gradient(118deg,#ffffff1f 0%,#ffffff0d 30%,#ffffff04 38%,#0000 46%),linear-gradient(#ffffff0f,#0000 22%);position:absolute;inset:0}.xp-deck{background:linear-gradient(#3a3b40 0%,#26272b 45%,#151618 100%);border-radius:2px 2px 14px 14px/2px 2px 10px 10px;width:100%;height:clamp(8px,1.1vw,14px);position:relative;box-shadow:inset 0 1px #ffffff2e,0 14px 24px -10px #000000d9}.xp-lip{background:linear-gradient(#17181a,#232428);border-radius:0 0 8px 8px;width:16%;height:45%;position:absolute;top:0;left:50%;translate:-50%}.xp-mac figcaption{font-family:var(--display);color:var(--text-2);margin-top:18px;font-size:.95rem;font-weight:600}.xp-hub{align-items:center;gap:6px;margin-bottom:40px;display:flex;position:relative}.xp-hub-card{border-radius:var(--radius);text-align:center;background:#161618;border:1px solid #ffffff14;flex:1;justify-items:center;gap:12px;padding:clamp(16px,2vw,24px) clamp(10px,1.4vw,18px);display:grid}.xp-hub-card img{width:56%;height:auto}.xp-hub-card p{font-family:var(--display);font-size:clamp(.8rem,1.1vw,.98rem);font-weight:600;line-height:1.3}.xp-hub-card ul{justify-items:start;gap:8px;display:grid}.xp-hub-card li{color:var(--text-2);white-space:nowrap;align-items:center;gap:6px;font-size:clamp(.72rem,.95vw,.86rem);display:flex}.xp-hub-card .icon{color:var(--lavender);flex:none}.xp-arrow{background:var(--text-3);flex:none;width:clamp(12px,1.6vw,22px);height:2px;position:relative}.xp-arrow:after{content:"";border-top:2px solid var(--text-3);border-left:2px solid var(--text-3);width:7px;height:7px;position:absolute;top:50%;translate:0 -50%}.xp-arrow.is-left:after{left:0;rotate:-45deg}.xp-arrow.is-right:after{right:0;rotate:135deg}@media (width<=760px){.xp{grid-template-columns:minmax(0,1fr);gap:28px}.xp-hub{order:-1;max-width:280px;margin:0 auto}.xp-arrow{display:none}}.cs-section-head.is-full p{max-width:none}.cs-proof .cs-tile{margin-bottom:10px}.cs-proof-heading{margin-top:8px;font-size:20px;font-weight:700;line-height:1.5}.cs-head-img[src$=\.jpg]{border-radius:var(--radius);max-width:300px}.cs-section:not(.is-chapter)>.cs-section-head.has-img h2{white-space:normal}.cs-insight{border-radius:var(--radius);background:#161618;border:1px solid #ffffff12;gap:20px;padding:clamp(24px,3vw,36px);display:grid}.cs-insight-eyebrow{color:var(--text-3);font-size:.9rem;display:block}.cs-insight h3{color:var(--lavender);margin-top:6px;font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.4}.cs-insight ul{gap:12px;display:grid}.cs-insight li{color:var(--text-2);padding-left:22px;line-height:1.8;position:relative}.cs-insight li:before{content:"";background:var(--lavender);border-radius:50%;width:7px;height:7px;position:absolute;top:.75em;left:4px}.cs-insight blockquote{border-left:2px solid var(--rule-strong);margin:4px 0 0;padding-left:18px;font-size:1.1rem;font-weight:600;line-height:1.6}.cs-lists{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.cs-list-col{align-content:start;gap:16px;padding:clamp(22px,2.6vw,32px);display:grid}.cs-list-col h3{font-size:1.1rem}.cs-list-col ul{gap:10px;display:grid}.cs-list-col li{color:var(--text-2);gap:10px;line-height:1.6;display:flex}.cs-list-col .icon{flex:none;width:1.15em;height:1.15em;margin-top:.2em}.cs-dot-icon circle{fill:currentColor;stroke:none}.cs-dot-icon path{stroke:#161618;stroke-width:2px}.cs-list-col.is-yes .icon{color:var(--lavender)}.cs-list-col.is-later .icon{color:var(--text-3)}.cs-palette{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(28px,4vw,56px);display:grid}.cs-swatches{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:12px;display:grid}.cs-swatches li{color:var(--text-3);gap:4px;font-size:.85rem;display:grid}.cs-swatch{aspect-ratio:3/4;border:1px solid #ffffff1a;border-radius:12px;margin-bottom:8px}.cs-swatches strong{font-family:var(--display);color:var(--text);font-size:.95rem;font-weight:600}.cs-swatches code{color:var(--text-2);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.8rem}.cs-annotated{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:clamp(28px,4vw,56px);display:grid}.cs-annotations{gap:22px;display:grid}.cs-annotations>li{grid-template-columns:auto minmax(0,1fr);gap:14px;display:grid}.cs-annotations h3{font-size:1.05rem;line-height:1.5}.cs-annotations p{color:var(--text-2);margin-top:4px;line-height:1.8}.cs-flow{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:36px;display:grid}.cs-flow>li{align-content:start;gap:10px;padding:24px;display:grid;position:relative}.cs-flow>li:not(:last-child):after{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23a9a9af' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10h14M12 5l5 5-5 5'/%3E%3C/svg%3E") 50%/contain no-repeat;width:20px;height:20px;position:absolute;top:50%;right:-28px;translate:0 -50%}.cs-flow .cs-tile{margin-bottom:6px}.cs-flow h3{font-size:1.1rem;line-height:1.45}.cs-flow p,.cs-flow ul{color:var(--text-2);line-height:1.75}.cs-flow ul{gap:4px;padding-left:1.1em;list-style:outside;display:grid}@media (width<=860px){.cs-palette,.cs-annotated,.cs-lists{grid-template-columns:minmax(0,1fr)}.cs-flow{grid-auto-flow:row;gap:32px}.cs-flow>li:not(:last-child):after{inset:auto auto -26px 50%;translate:-50%;rotate:90deg}}.cs-stage{isolation:isolate;background:#08090b;place-items:center;height:clamp(380px,52vw,720px);display:grid;position:relative}.cs-stage-glow{z-index:-3;background:radial-gradient(30% 55% at 0 100%,#9692b08c,#0000 100%),radial-gradient(30% 55% at 100% 100%,#9692b08c,#0000 100%),linear-gradient(#080808 0%,#0b0b0c 12%,#0e0d11 22%,#13111b 30%,#1c1830 37%,#2a2352 44%,#3a3071 50%,#4c409a 56%,#6152b3 62%,#7464ca 68%,#8a7ade 74%,#a092ef 80%,#b6a9f8 86%,#c8bffc 92%,#d6ceff 97%,#dcd5ff 100%);position:absolute;inset:0}.cs-stage:after{content:"";z-index:-1;pointer-events:none;opacity:.2;mix-blend-mode:soft-light;background-image:url(./grain-B5A9v7Dg.png);background-size:128px 128px;position:absolute;inset:0}.cs-stage-grid{z-index:-2;background-image:linear-gradient(#ffffff16 1px,#0000 1px),linear-gradient(90deg,#ffffff16 1px,#0000 1px);background-position:50%;background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 80%,#000,#0000 92%);mask-image:radial-gradient(80% 80%,#000,#0000 92%)}.cs-cover.cs-stage img{object-fit:contain;filter:drop-shadow(0 40px 60px #0009);width:min(86%,1180px);height:auto;max-height:82%;margin-bottom:6%;position:relative}.cs-questions{border-radius:var(--radius);background:#161618;border:1px solid #ffffff12;gap:28px;padding:clamp(22px,2.6vw,32px);display:grid}.cs-questions h4{font-size:1.05rem;font-weight:700;line-height:1.4}.cs-questions ol{color:var(--text-2);gap:6px;margin-top:14px;padding-left:1.6em;font-size:.9rem;line-height:1.6;list-style:decimal;display:grid}.cs-questions li::marker{font-family:var(--display);color:var(--text-3);font-size:.85em}.cs-questions.is-peek{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:border-color .25s;position:relative;overflow:hidden}.cs-questions.is-peek:hover{border-color:#ffffff29}.cs-questions.is-peek .is-hidden-peek{display:none}.cs-questions.is-peek ol{-webkit-mask-image:linear-gradient(#000 55%,#0000 100%);mask-image:linear-gradient(#000 55%,#0000 100%)}.cs-questions-more{color:var(--text);background:#26262a;border-radius:999px;justify-self:start;align-items:center;gap:8px;margin-top:-6px;padding:9px 16px;font-size:.9rem;font-weight:600;transition:background .25s;display:inline-flex}.cs-questions.is-peek:hover .cs-questions-more{background:#303035}.cs-dialog{width:min(680px,100vw - 32px);max-height:calc(100vh - 64px);color:var(--text);background:0 0;border:0;padding:0}.cs-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3}.cs-dialog .cs-questions{padding-top:40px;position:relative}.cs-dialog-close{width:36px;height:36px;color:var(--text);cursor:pointer;background:#26262a;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:14px;right:14px}.cs-stacked{gap:22px;padding:clamp(24px,3vw,36px);display:grid}.cs-stacked h3{font-family:var(--display);align-items:center;gap:12px;font-size:1.2rem;font-weight:700;display:flex}.cs-stacked h3>span{font-family:var(--display)}.cs-stacked-no{background:var(--text);width:26px;height:26px;color:var(--ground);border-radius:50%;flex:none;place-items:center;font-size:.72rem;font-weight:700;display:grid}.cs-stacked p{color:var(--text-2);margin-top:6px;padding-left:38px;line-height:1.75}.cs-mosaic{aspect-ratio:16/9;border-radius:var(--radius);border:1px solid #ffffff1a;grid-template-rows:1fr 1fr;grid-template-columns:2fr 1fr 1fr;display:grid;overflow:hidden}.cs-mosaic li:first-child{grid-row:1/3}.cs-mosaic li:nth-child(2){grid-column:2/4}.uk{--uk-cyan:#02acd0;--uk-cyan-hi:#05bfe6;--uk-cyan-lo:#164861;--uk-field:#2d3647;--uk-panel:#1d3a55;--uk-muted:#8e9aab;aspect-ratio:2626/1134;border-radius:var(--radius);color:#fff;letter-spacing:0;background:linear-gradient(170deg,#0e0b14 0%,#162032 45%,#1f354d 100%);font-family:Montserrat Variable,system-ui,sans-serif;position:relative;overflow:hidden;container-type:inline-size}.uk:after{content:"";pointer-events:none;background:linear-gradient(#0e0b148c,#0000 12% 88%,#1f354d8c);position:absolute;inset:0}.uk-cols{gap:3.5%;width:101%;height:100%;margin-left:-.5%;font-size:1.25cqw;display:flex}.uk-col{flex:none;min-width:0;overflow:hidden}.uk-track{animation-timing-function:linear;animation-iteration-count:infinite}.uk-track.is-up{animation-name:uk-up}.uk-track.is-down{animation-name:uk-down}@keyframes uk-up{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@keyframes uk-down{0%{transform:translateY(-50%)}to{transform:translateY(0)}}.uk-item{padding-bottom:2.2em}.uk-cal{background:var(--uk-panel);border-radius:.6em;padding:1.3em .8em 1.5em;box-shadow:0 1em 2em -1em #0009}.uk-cal-head{justify-content:space-between;align-items:center;font-size:1.15em;font-weight:600;display:flex}.uk-caret{border:.32em solid #0000;border-top-color:currentColor;margin-left:.5em;display:inline-block;translate:0 .18em}.uk-cal-nav{gap:1.4em;display:flex}.uk-cal-nav svg,.uk-chev{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1em;height:1em}.uk-cal-grid{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));row-gap:1.05em;margin-top:1.4em;display:grid}.uk-cal-dow{color:#d6dde6;font-size:.78em;font-weight:500}.uk-cal-day{border-radius:50%;justify-self:center;place-items:center;width:1.9em;height:1.9em;display:grid}.uk-cal-day.is-selected{background:var(--uk-cyan)}.uk-cal-day.is-hover{background:#2c4560}.uk-field-wrap{gap:.6em;display:grid}.uk-caption{color:var(--uk-muted);align-items:center;gap:.5em;font-size:.85em;font-weight:500;display:flex}.uk-field{background:var(--uk-field);border:1px solid #0000;border-radius:.45em;align-content:center;gap:.15em;min-height:3.6em;padding:.6em 1.3em;display:grid}.uk-field-label{color:#a7b0bd;font-size:.8em}.uk-field-value{font-size:1.1em}.uk-field.is-disabled{color:#4a5363;background:#1c2333}.uk-field.is-error{border-color:#f0795f}.uk-error{color:#f0795f;font-size:.85em}.uk-warn-wrap{gap:.7em;display:grid}.uk-warn{color:#e6fbfc;background:#1e364e;border-radius:.5em;padding:1em 1.1em;font-size:.85em;line-height:1.45}.uk-info{background:var(--uk-muted);color:#162032;border-radius:50%;place-items:center;width:1.2em;height:1.2em;font-size:.8em;font-style:normal;font-weight:700;display:grid}.uk-btns{gap:1.4em;display:grid}.uk-btn-row{display:flex}.uk-btn{border:1px solid #0000;border-radius:.4em;place-items:center;width:100%;height:2.9em;font-size:.95em;font-weight:500;display:grid}.uk-btn.is-fill{background:var(--uk-cyan)}.uk-btn.is-fill.is-hover{background:var(--uk-cyan-hi)}.uk-btn.is-fill.is-disabled{background:var(--uk-cyan-lo);color:#4c7a90}.uk-btn.is-outline{border-color:var(--uk-cyan);color:#4fc9e6}.uk-btn.is-outline.is-hover{border-color:var(--uk-cyan-hi);background:#02acd014}.uk-btn.is-outline.is-disabled{color:#2a6178;border-color:#1d4e66}.uk-btn.is-ghost{background:#2e3844}.uk-btn.is-ghost.is-hover{background:#36414f}.uk-btn.is-ghost.is-disabled{color:#4a5363;background:#232b37}.uk-btn.is-link{color:#4fc9e6}.uk-btn.is-link.is-disabled{color:#2a6178}.uk-side{gap:.8em;display:grid}.uk-side-group,.uk-side-item{background:var(--uk-field);border-radius:.45em}.uk-side-group b,.uk-side-item{justify-content:space-between;align-items:center;padding:.75em .9em;font-size:1.05em;font-weight:700;display:flex}.uk-side-group ul{border-left:1px solid #4a5568;gap:.15em;margin:0 .7em .7em .9em;padding-left:.6em;display:grid}.uk-side-group li{border-radius:.35em;padding:.45em .6em;font-size:1.05em}.uk-side-group li.is-hover{background:#3a4352}.uk-side-group li.is-active{background:var(--uk-cyan)}.uk-side hr{border:0;border-top:1px solid #455565;margin:.6em 0}.uk-side-social{justify-content:space-between;padding-top:.6em;display:flex}.uk-side-social span{background:var(--uk-field);border-radius:.45em;place-items:center;width:2.4em;height:2.4em;display:grid}.uk-side-social svg{fill:#c9d1dc;width:1.2em;height:1.2em}@media (prefers-reduced-motion:reduce){.uk-track{animation:none}}.sm{aspect-ratio:1029/530;border-radius:var(--radius);background:#f2f2f2;position:relative;overflow:hidden;container-type:inline-size}.sm-stage{flex-direction:column;justify-content:center;gap:2cqw;width:140%;height:144%;display:flex;position:absolute;top:-22%;left:-20%;rotate:-14deg}.sm-row{overflow:visible}.sm-track{gap:2cqw;width:max-content;animation-timing-function:linear;animation-iteration-count:infinite;display:flex}.sm-track.is-left{animation-name:sm-left}.sm-track.is-right{animation-name:sm-right}@keyframes sm-left{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes sm-right{0%{transform:translate(-50%)}to{transform:translate(0)}}.sm-track img{width:auto;height:18cqw;display:block;box-shadow:0 .3cqw 1.6cqw #0000001a}@media (prefers-reduced-motion:reduce){.sm-track{animation:none}}.sm-link{border-radius:var(--radius);display:block}.sm-link .sm{transition:transform .4s var(--ease-out), box-shadow .4s var(--ease-out)}.sm-link:hover .sm{transform:translateY(-3px);box-shadow:0 18px 40px -20px #000c}.cs-section.is-band-head{padding-bottom:0}.cs-section.is-band.is-band-cont{margin-top:0;padding-top:clamp(48px,6vw,80px);padding-bottom:clamp(48px,6vw,80px)}.cs-section.is-band-head+.is-band-cont{padding-top:clamp(32px,4vw,48px)}.cs-section.has-band-rule:after{content:"";top:0;border-top:1px solid #ffffff14;position:absolute;inset-inline:0}.cs-kicker{color:var(--text-3);font-size:.95rem;font-weight:500}.ap{--ap-card:#1e364e;--ap-field:#294969;--ap-cyan:#00abd1;--ap-muted:#8d9db0;aspect-ratio:16/10;border-radius:var(--radius);background:radial-gradient(60% 70% at 50% 45%,#00abd11f,#0000 70%),#0c1520;margin:0;position:relative;overflow:hidden}@media (width<=640px){.ap{aspect-ratio:1}}.ap-stage{position:absolute;inset:0}.ap-canvas{width:955px;height:803px;transform:translate(-50%, -50%) scale(var(--k,.5));letter-spacing:0;color:#fff;font-family:Montserrat Variable,system-ui,sans-serif;position:absolute;top:50%;left:50%}.ap-card{background:var(--ap-card);opacity:0;transition:opacity .32s var(--ease-out), transform .42s var(--ease-out);border-radius:16px;position:absolute;inset:2px 8px 13px;transform:scale(.97);box-shadow:0 30px 60px -30px #000000b3}.ap-card.is-on{opacity:1;transform:none}.ap-card>*{margin:0;position:absolute;left:89px}.ap-close{fill:none;stroke:#fff;stroke-width:2.2px;stroke-linecap:round;width:34px;height:34px;top:47px;right:46px;left:auto!important}.ap .ap-card p{color:#fff;max-width:none;margin:0}.ap-title{font-size:50px;font-weight:700;line-height:56px}.ap .ap-body{font-size:32px;font-weight:400;line-height:53px}.ap .ap-email{align-items:center;gap:28px;font-size:32px;font-weight:600;line-height:46px;display:flex}.ap-pencil{fill:none;stroke:#9aa4b0;stroke-width:2px;stroke-linejoin:round;width:26px;height:26px}.ap-slot{width:760px}.ap-input{background:var(--ap-field);border-radius:12px;align-items:center;height:88px;padding:0 36px;font-size:34px;display:flex}.ap-ph{color:var(--ap-muted)}.ap-caret{background:#fff;width:2px;height:40px;margin-left:2px;animation:1s step-end infinite ap-blink}@keyframes ap-blink{50%{opacity:0}}.ap-btn{background:var(--ap-cyan);width:760px;height:89px;transition:transform .16s var(--ease-out), filter .16s var(--ease-out);border-radius:12px;justify-content:center;align-items:center;gap:18px;font-size:32px;font-weight:500;display:flex}.ap-btn.is-press{filter:brightness(.85);transform:scale(.97)}.ap-plane{fill:#fff;width:56px;height:56px}.ap-cursor{z-index:2;fill:#fff;stroke:#0c1520;stroke-width:1.4px;stroke-linejoin:round;filter:drop-shadow(0 4px 6px #0006);width:44px;height:44px;transition:left .75s var(--ease-out), top .75s var(--ease-out), opacity .3s;position:absolute}.nav a[aria-current=page]{color:var(--lavender-ink)}.ab{padding-top:clamp(40px,5vw,72px)}.ab-photo{aspect-ratio:4/3;border-radius:var(--radius);background:#1c1c20;border:1px solid #ffffff0f;place-items:center;display:grid;position:relative;overflow:hidden}.ab-photo img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.ab-photo-pending{color:var(--text-3);font-size:.85rem}.ab-intro{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(32px,5vw,64px);padding:clamp(28px,4.4vw,56px);display:grid}.ab-portrait{aspect-ratio:1;width:clamp(168px,18vw,232px);box-shadow:0 0 0 1px #ffffff14, 0 0 32px -10px rgb(var(--glow) / .4);border-radius:50%}.ab-intro-copy h1{font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1.25}.ab-intro-copy p{max-width:36em;color:var(--text-2);margin-top:14px;font-size:clamp(1.02rem,1.3vw,1.1rem);line-height:1.85}.ab-section{padding-top:clamp(80px,9vw,120px)}.ab-h{letter-spacing:-.02em;margin-bottom:clamp(24px,3vw,40px);font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.1}.ab-h .serif,.ab-sub .serif{font-size:1.08em}.ab-skills{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px clamp(24px,4vw,56px);display:grid}.ab-skills h3{border-bottom:1px solid var(--rule-strong);padding-bottom:14px;font-size:1.05rem;font-weight:700}.ab-skills ul{margin-top:14px}.ab-skills li{color:var(--text-2);line-height:2}.ab-jobs li{border-bottom:1px solid var(--rule);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;padding:20px 0;display:grid}.ab-jobs li:first-child{padding-top:0}.ab-logo{width:52px;height:52px;font-family:var(--display);color:var(--lavender-ink);background:#26262a;border:1px solid #ffffff0f;border-radius:12px;place-items:center;font-size:.95rem;font-weight:700;display:grid;overflow:hidden}.ab-logo.has-img{background:0 0;border:0;border-radius:11px;box-shadow:0 0 0 1px #ffffff1a}.ab-logo img{object-fit:contain;width:100%;height:100%}.ab-job-title{font-family:var(--display);font-size:clamp(1.02rem,1.4vw,1.15rem);font-weight:500}.ab-sep{vertical-align:-.08em;background:var(--rule-strong);width:1px;height:.9em;margin:0 12px;display:inline-block}.ab-company{font-weight:700}.ab-period{color:var(--text-3);font-variant-numeric:tabular-nums;margin-top:4px;font-size:.9rem}.ab-schools li{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1.25fr) minmax(0,1.25fr) auto;align-items:baseline;gap:8px 24px;padding:20px 0;display:grid}.ab-schools li:first-child{padding-top:0}.ab-schools strong{font-weight:700}.ab-schools span{color:var(--text-2)}.ab-schools .ab-period{text-align:right;margin-top:0}.ab-practice{padding-top:clamp(112px,13vw,176px)}.ab-statement{letter-spacing:-.01em;max-width:20em;font-size:clamp(1.85rem,3.6vw,2.9rem);line-height:1.25}.ab-lead{max-width:46em;color:var(--text-2);margin-top:16px;line-height:1.85}.ab-block{margin-top:clamp(72px,8vw,112px)}.ab-sub{font-size:clamp(1.4rem,2.2vw,1.85rem);line-height:1.2}.ab-events{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px;margin-top:clamp(28px,3.4vw,44px);display:grid}.ab-events li{text-align:center}.ab-event-title{text-wrap:balance;margin-top:16px;font-size:.98rem;font-weight:600;line-height:1.5}.ab-uxtw{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(28px,4vw,56px);margin-top:clamp(72px,8vw,112px);padding:clamp(28px,4vw,48px);display:grid}.ab-uxtw h3{font-size:clamp(1.25rem,1.9vw,1.5rem);line-height:1.35}.ab-uxtw p{color:var(--text-2);margin:14px 0 24px;line-height:1.85}.ab-strip{--fade:clamp(48px, 9vw, 128px);--strip:min(100vw, 1040px + 2 * var(--fade));width:var(--strip);margin:clamp(28px, 3.4vw, 44px) 0 0 calc((100% - var(--strip)) / 2);-webkit-mask-image:linear-gradient(to right, transparent, #000 var(--fade), #000 calc(100% - var(--fade)), transparent);-webkit-mask-image:linear-gradient(to right, transparent, #000 var(--fade), #000 calc(100% - var(--fade)), transparent);mask-image:linear-gradient(to right, transparent, #000 var(--fade), #000 calc(100% - var(--fade)), transparent);overflow:hidden}.ab-strip-track{gap:20px;width:max-content;animation:70s linear infinite ab-drift;display:flex}.ab-strip:hover .ab-strip-track{animation-play-state:paused}.ab-strip .ab-photo{--h:calc(clamp(240px, 23vw, 333px) * 4 / 3);height:var(--h);aspect-ratio:3/4;border-radius:16px;flex:none}@keyframes ab-drift{to{transform:translate(calc(-50% - 10px))}}@media (width<=860px){.ab-intro{grid-template-columns:minmax(0,1fr);justify-items:start}.ab-skills{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-schools li{grid-template-columns:minmax(0,1fr);gap:4px}.ab-schools .ab-period{text-align:left}.ab-events{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-uxtw{grid-template-columns:minmax(0,1fr)}}@media (width<=560px){.ab-skills,.ab-events{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.ab-strip{overflow-x:auto}.ab-strip-track{animation:none}}.ab h1:lang(zh-Hant),.ab h2:lang(zh-Hant),.ab h3:lang(zh-Hant){word-break:keep-all}
