@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--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-content:"";--tw-outline-style:solid}}}@layer theme{:root,:host{--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-7xl:80rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--leading-snug:1.375;--ease-out:cubic-bezier(0,0,.2,1);--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-public-sans),var(--font-cjk),"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;--default-mono-font-family:var(--font-plex-mono);--text-2xs:.6875rem;--tracking-label:.14em;--radius-control:var(--radius-control);--radius-card:var(--radius-card);--radius-hero:var(--radius-hero);--shadow-hairline:var(--shadow-hairline);--shadow-float:var(--shadow-float)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{scroll-behavior:smooth;position:relative;overflow-x:clip}*{border-color:var(--border)}body:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(circle at 12% 14%,#17335714,#0000 24rem),radial-gradient(circle at 88% 12%,#138c7c14,#0000 26rem),linear-gradient(#ffffff29,#0000 24rem);position:fixed;inset:0}body:after{content:"";pointer-events:none;opacity:.55;z-index:-1;background:linear-gradient(90deg,#0000 0,#17233505 50%,#0000 100%);position:fixed;inset:0}body{background-color:var(--background);font-family:var(--font-public-sans),var(--font-cjk),"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;color:var(--foreground);background:linear-gradient(180deg,#ffffffa8,#f6f6f1fa),var(--folio-bg);overflow-x:clip}::selection{background:var(--folio-accent)}@supports (color:color-mix(in lab, red, red)){::selection{background:color-mix(in srgb,var(--folio-accent)22%,transparent)}}::selection{color:var(--folio-ink)}a{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));--tw-duration:.2s;--tw-ease:var(--ease-out);transition-duration:.2s;transition-timing-function:var(--ease-out)}}@layer components{.folio-page{isolation:isolate;background-image:linear-gradient(#17233508 1px,#0000 1px),linear-gradient(90deg,#17233508 1px,#0000 1px);background-position:50%;background-size:84px 84px;min-height:100vh;position:relative}.folio-section{padding-top:1rem}.folio-rounded-inherit{border-radius:inherit}.folio-section+.folio-section{margin-top:4.5rem}.folio-heading{font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--folio-accent-2);margin-bottom:0;font-weight:700}.folio-card{border:1px solid var(--folio-line);background:var(--folio-panel);border-radius:var(--radius-card);box-shadow:var(--shadow-hairline);padding:1.25rem;transition:border-color .18s ease-out,background-color .18s ease-out,transform .18s ease-out,box-shadow .18s ease-out;position:relative;overflow:hidden}.folio-card:before{content:"";background:linear-gradient(90deg,#17335729,#138c7c29,#0000 75%);width:100%;height:1px;position:absolute;inset:0 auto auto 0}.folio-card:hover{border-color:var(--folio-line-strong);background:var(--folio-elevated);box-shadow:var(--shadow-float);transform:translateY(-1px)}.folio-kicker{font-family:var(--font-plex-mono),monospace;font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--folio-soft);margin-bottom:1rem;line-height:1.35}.folio-pill{color:#186d63;font-size:var(--text-xs);background:#138c7c0f;border:1px solid #138c7c1f;border-radius:9999px;align-items:center;padding:.38rem .78rem;font-weight:500;line-height:1;display:inline-flex}.folio-proof-chip{font-size:var(--text-xs);color:var(--folio-soft-strong);box-shadow:none;background:#ffffffc7;border:1px solid #1723351a;border-radius:9999px;align-items:center;padding:.45rem .78rem;line-height:1.3;display:inline-flex}.folio-topbar{border:1px solid var(--folio-line);border-radius:var(--radius-card);min-width:0;box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd1;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem;display:flex}.folio-hero-card-shell{border-radius:var(--radius-hero);box-shadow:var(--shadow-float)}.folio-hero-portrait-frame{border-radius:calc(var(--radius-hero) - .28rem);box-shadow:var(--shadow-float)}[data-portfolio-hero-action]{--hero-action-x:0px;--hero-action-y:0px;transform:translate3d(var(--hero-action-x),var(--hero-action-y),0);transition:transform var(--motion-fast)var(--motion-ease);will-change:transform}[data-portfolio-portrait-motion]{--hero-portrait-rotate-x:0deg;--hero-portrait-rotate-y:0deg;transform:perspective(700px)rotateX(var(--hero-portrait-rotate-x))rotateY(var(--hero-portrait-rotate-y));transform-style:preserve-3d;transition:transform var(--motion-fast)var(--motion-ease);will-change:transform}.folio-header-avatar,.folio-locale-switcher{box-shadow:var(--shadow-hairline)}.folio-section-nav-dot-active{box-shadow:var(--folio-focus-shadow)}.folio-badge-dot{background:var(--folio-accent);width:.5rem;height:.5rem;box-shadow:none;border-radius:9999px}.folio-panel{border:1px solid var(--folio-line);border-radius:var(--radius-hero);background:linear-gradient(180deg,#111c30bd,#0c14249e),var(--folio-panel);box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:1.5rem}.folio-feature-panel{border-radius:var(--radius-card);box-shadow:var(--shadow-hairline);background:linear-gradient(#f0f6f7f5,#fffffffa);border:1px solid #17335724;padding:1.6rem}.folio-sidebar-panel{border:1px solid var(--folio-line);border-radius:var(--radius-hero);background:linear-gradient(180deg,#121e32d1,#0c1626b3),var(--folio-panel);box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:1.4rem}.folio-button,.folio-button-secondary,.folio-contact-icon-button,.folio-contact-link,.folio-social-button,.folio-status-chip,.folio-timeline-button,.folio-mobile-chip{max-width:100%;transition:transform var(--motion-fast)var(--motion-ease),border-color var(--motion-fast)var(--motion-ease),background-color var(--motion-fast)var(--motion-ease),color var(--motion-fast)var(--motion-ease),box-shadow var(--motion-fast)var(--motion-ease);align-items:center;display:inline-flex}.folio-button{background:var(--folio-accent-2);color:#f8fafc;border:1px solid #0000;border-radius:9999px;gap:.55rem;padding:.9rem 1.2rem;box-shadow:0 1px 2px #17233529,0 10px 24px -8px #1733574d}.folio-button span,.folio-button-secondary span{min-width:0}.folio-button:hover{transform:translateY(-1px);box-shadow:0 2px 5px #1723352e,0 16px 34px -10px #1733575c}.folio-button:focus-visible{outline:2px solid var(--folio-focus-ring);outline-offset:3px}.folio-button-secondary{border:1px solid var(--folio-line-strong);border-radius:9999px;gap:.5rem}@supports (color:color-mix(in lab, red, red)){.folio-button-secondary{border:1px solid color-mix(in srgb,var(--folio-line-strong)82%,transparent)}}.folio-button-secondary{color:var(--folio-ink);-webkit-backdrop-filter:blur(18px)saturate(1.18);background:linear-gradient(#ffffff7a,#f7faf957),#ffffff57;padding:.9rem 1.15rem;box-shadow:inset 0 1px #ffffff75,0 10px 22px #1723350e}.folio-button-secondary:hover{border-color:var(--folio-accent-2)}@supports (color:color-mix(in lab, red, red)){.folio-button-secondary:hover{border-color:color-mix(in srgb,var(--folio-accent-2)34%,var(--folio-line-strong))}}.folio-button-secondary:hover{color:var(--folio-accent-2);background:linear-gradient(#ffffffad,#f7faf97a),#ffffff80;transform:translateY(-1px);box-shadow:inset 0 1px #ffffff94,0 14px 28px #17233516}.folio-button-secondary:focus-visible{border-color:var(--folio-accent-2);outline:none}@supports (color:color-mix(in lab, red, red)){.folio-button-secondary:focus-visible{border-color:color-mix(in srgb,var(--folio-accent-2)46%,transparent)}}.folio-button-secondary:focus-visible{color:var(--folio-accent-2);box-shadow:inset 0 1px 0 #ffffff94,var(--folio-focus-shadow);background:#ffffff9e}.folio-button:active,.folio-button-secondary:active{transform:translateY(0)scale(.98)}.folio-download-page .folio-feature-panel{border-color:var(--folio-line-strong)}@supports (color:color-mix(in lab, red, red)){.folio-download-page .folio-feature-panel{border-color:color-mix(in srgb,var(--folio-line-strong)44%,transparent)}}.folio-download-page .folio-feature-panel{border-radius:var(--radius-control);box-shadow:none;background:linear-gradient(#ffffff85,#f7faf957),#ffffff4d}.folio-download-page .folio-button-secondary{border-color:var(--folio-line-strong)}@supports (color:color-mix(in lab, red, red)){.folio-download-page .folio-button-secondary{border-color:color-mix(in srgb,var(--folio-line-strong)52%,transparent)}}.folio-download-page .folio-button-secondary{border-radius:var(--radius-control);box-shadow:none;-webkit-backdrop-filter:none;background:#ffffff57}.folio-download-page .folio-button-secondary:hover{border-color:var(--folio-accent-2)}@supports (color:color-mix(in lab, red, red)){.folio-download-page .folio-button-secondary:hover{border-color:color-mix(in srgb,var(--folio-accent-2)28%,var(--folio-line))}}.folio-download-page .folio-button-secondary:hover{box-shadow:none;background:#ffffff8a}.folio-timeline-button{border:1px solid var(--folio-line-strong);border-radius:9999px;justify-content:center;gap:.55rem;max-width:100%;min-height:2.45rem}@supports (color:color-mix(in lab, red, red)){.folio-timeline-button{border:1px solid color-mix(in srgb,var(--folio-line-strong)70%,transparent)}}.folio-timeline-button{color:var(--folio-ink);background:linear-gradient(#ffffff5c,#f7faf93d),#ffffff38;padding:.62rem .72rem .62rem .82rem}@supports (color:color-mix(in lab, red, red)){.folio-timeline-button{color:color-mix(in srgb,var(--folio-ink)88%,var(--folio-soft-strong))}}.folio-timeline-button{font-size:var(--text-xs);white-space:nowrap;opacity:1;cursor:default;-webkit-backdrop-filter:blur(18px)saturate(1.18);font-weight:600;line-height:1;box-shadow:inset 0 1px #ffffff61,0 10px 22px #1723350b}.folio-timeline-button-status{color:var(--folio-accent);font-family:var(--font-plex-mono),monospace;font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:uppercase;background:#138c7c14;border-radius:9999px;padding:.26rem .48rem;font-weight:600}.folio-social-button{border:1px solid var(--folio-line);width:2.75rem;height:2.75rem;color:var(--folio-soft);background:#ffffffb8;border-radius:9999px;justify-content:center}.folio-social-button:hover{border-color:var(--folio-line-strong);color:var(--folio-accent-2);background:#fffffff5;transform:translateY(-1px)}.folio-contact-icon-rail{border:1px solid var(--folio-line)}@supports (color:color-mix(in lab, red, red)){.folio-contact-icon-rail{border:1px solid color-mix(in srgb,var(--folio-line)48%,transparent)}}.folio-contact-icon-rail{-webkit-backdrop-filter:blur(18px)saturate(1.18);background:linear-gradient(#ffffff05,#fff0);box-shadow:inset 0 1px #ffffff14,0 8px 18px #17233504}.folio-contact-icon-button{width:2.75rem;height:2.75rem;color:var(--folio-soft-strong);background:0 0;border:1px solid #0000;border-radius:9999px;justify-content:center}@supports (color:color-mix(in lab, red, red)){.folio-contact-icon-button{color:color-mix(in srgb,var(--folio-soft-strong)88%,transparent)}}.folio-contact-icon-button:hover{color:var(--folio-accent-2);background:#ffffff52;border-color:#ffffff7a;transform:translateY(-2px);box-shadow:inset 0 1px #ffffff61,0 9px 18px #1723350e}.folio-contact-icon-button:focus-visible{color:var(--folio-accent-2);box-shadow:inset 0 1px 0 #ffffff8f,var(--folio-focus-shadow);background:#ffffff5c;border-color:#ffffff85;outline:none}.folio-status-chip{font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:#4f627b;background:#1733570a;border:1px solid #1733571a;border-radius:9999px;padding:.55rem .85rem;line-height:1.2}.folio-case-grid{border-top:1px solid var(--folio-line);display:grid}.folio-case-row{border-bottom:1px solid var(--folio-line);transition:background-color var(--motion-fast)var(--motion-ease),border-color var(--motion-fast)var(--motion-ease),box-shadow var(--motion-fast)var(--motion-ease),transform var(--motion-fast)var(--motion-ease);padding:1.55rem 0;display:block;position:relative}.folio-case-row:before{content:"";background:var(--folio-accent);opacity:0;transform-origin:50%;width:2px;transition:opacity var(--motion-fast)var(--motion-ease),transform var(--motion-fast)var(--motion-ease);border-radius:9999px;position:absolute;inset:1.45rem auto 1.45rem -.75rem;transform:scaleY(.58)}.folio-case-row:hover{border-color:var(--folio-line-strong);box-shadow:var(--shadow-hairline);background:linear-gradient(90deg,#138c7c13,#1733570b 48%,#0000 88%);transform:translateY(-2px)}.folio-case-row:hover:before{opacity:1;transform:scaleY(1)}.folio-case-type{font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--folio-accent);font-weight:700;line-height:1}.folio-case-proof{border-left:1px solid var(--folio-line);padding-left:1rem;transition:border-color .18s ease-out}.folio-case-row:hover .folio-case-proof{border-color:var(--folio-accent)}@supports (color:color-mix(in lab, red, red)){.folio-case-row:hover .folio-case-proof{border-color:color-mix(in srgb,var(--folio-accent)42%,var(--folio-line))}}.folio-case-visual{border:1px solid var(--folio-line-strong);overflow:hidden}@supports (color:color-mix(in lab, red, red)){.folio-case-visual{border:1px solid color-mix(in srgb,var(--folio-line-strong)62%,transparent)}}.folio-case-visual{border-radius:var(--radius-card);background:linear-gradient(135deg,#ffffffd1,#f6f6f1f0),var(--folio-bg);box-shadow:var(--shadow-hairline)}.folio-case-visual-frame{aspect-ratio:16/10;background:var(--folio-bg);position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.folio-case-visual-frame{background:color-mix(in srgb,var(--folio-bg)82%,white)}}.folio-case-visual-caption{border-top:1px solid var(--folio-line)}@supports (color:color-mix(in lab, red, red)){.folio-case-visual-caption{border-top:1px solid color-mix(in srgb,var(--folio-line)78%,transparent)}}.folio-case-visual-caption{font-size:var(--text-xs);color:var(--folio-soft-strong);padding:.72rem .9rem;line-height:1.55}.folio-case-supplemental{border-bottom:1px solid var(--folio-line);color:inherit;transition:background-color var(--motion-fast)var(--motion-ease),border-color var(--motion-fast)var(--motion-ease);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.25rem;padding:1.05rem 0 1.15rem;display:grid;position:relative}.folio-case-supplemental:before,.folio-stream-item:before,.folio-education-row:before{content:"";background:var(--folio-accent);opacity:0;transform-origin:50%;width:2px;transition:opacity var(--motion-fast)var(--motion-ease),transform var(--motion-fast)var(--motion-ease);border-radius:9999px;position:absolute;inset:1.15rem auto 1.15rem -.75rem;transform:scaleY(.58)}.folio-case-supplemental:hover{border-color:var(--folio-line-strong);background:linear-gradient(90deg,#138c7c0d,#0000 84%)}.folio-case-supplemental:hover:before,.folio-stream-item:hover:before,.folio-education-row:hover:before{opacity:1;transform:scaleY(1)}.folio-case-supplemental:focus-visible{border-color:var(--folio-accent);outline:none}@supports (color:color-mix(in lab, red, red)){.folio-case-supplemental:focus-visible{border-color:color-mix(in srgb,var(--folio-accent)56%,var(--folio-line))}}.folio-case-supplemental:focus-visible{box-shadow:var(--folio-focus-shadow)}.folio-case-supplemental-link{font-size:var(--text-sm);color:var(--folio-accent);flex-shrink:0;align-items:center;gap:.45rem;padding-top:.12rem;font-weight:600;transition:color .18s ease-out;display:inline-flex}.folio-case-supplemental:hover .folio-case-supplemental-link{color:var(--folio-ink)}.folio-stream{border-top:1px solid var(--folio-line)}.folio-stream-meta{align-items:center;min-width:0;display:flex}.folio-experience-meta{flex-wrap:wrap;align-items:center;gap:.35rem .55rem;min-width:0;display:flex}.folio-experience-meta .folio-kicker{margin-bottom:0}.folio-experience-meta-rule{background:var(--folio-line-strong);flex:none;width:1rem;height:1px}.folio-stream-item{border-bottom:1px solid var(--folio-line);transition:border-color var(--motion-fast)var(--motion-ease);padding:1.4rem 0;position:relative}.folio-stream-item:hover{border-color:var(--folio-line-strong)}[data-spotlight]{position:relative}[data-spotlight-row]{transition:opacity .3s var(--motion-ease),border-color .18s ease-out}[data-spotlight] [data-spotlight-row].is-revealed{transition:opacity .3s var(--motion-ease)!important}[data-spotlight].is-active [data-spotlight-row]:not(.is-focus){opacity:.38}[data-spotlight].is-active [data-spotlight-row].is-focus{opacity:1}[data-spotlight]>:before,[data-spotlight] [data-spotlight-row]:before{display:none}.folio-focus-rail{width:3px;height:var(--rail-h,0);background:var(--folio-accent);box-shadow:0 0 14px 0 var(--folio-accent);border-radius:9999px;position:absolute;top:0;left:0}@supports (color:color-mix(in lab, red, red)){.folio-focus-rail{box-shadow:0 0 14px 0 color-mix(in srgb,var(--folio-accent)55%,transparent)}}.folio-focus-rail{transform:translate(calc(var(--rail-x,0) - 2px),var(--rail-y,0));opacity:0;pointer-events:none;z-index:2;transition:transform .42s cubic-bezier(.22,1,.36,1),height .42s cubic-bezier(.22,1,.36,1),opacity .24s var(--motion-ease)}[data-spotlight].is-active .folio-focus-rail{opacity:1}.folio-contact-panel{border-top:1px solid var(--folio-line);border-bottom:1px solid var(--folio-line);background:linear-gradient(90deg,#17335709,#0000 84%);justify-content:space-between;align-items:center;gap:1.25rem;padding:1.45rem 0;display:flex;position:relative}.folio-contact-panel:before{content:"";background:var(--folio-accent);border-radius:9999px;align-self:stretch;width:2px}@supports (color:color-mix(in lab, red, red)){.folio-contact-panel:before{background:color-mix(in srgb,var(--folio-accent)68%,var(--folio-line))}}.folio-contact-primary{white-space:nowrap}.folio-contact-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.folio-contact-copy{cursor:pointer;white-space:nowrap;justify-content:center;min-width:8.2rem}.folio-contact-copy[data-state=copied]{border-color:var(--folio-accent-2)}@supports (color:color-mix(in lab, red, red)){.folio-contact-copy[data-state=copied]{border-color:color-mix(in srgb,var(--folio-accent-2)38%,var(--folio-line-strong))}}.folio-contact-copy[data-state=copied]{color:var(--folio-accent-2)}.folio-contact-links{border-bottom:1px solid var(--folio-line);padding-bottom:1.35rem}.folio-footer{z-index:10;border-top:1px solid var(--folio-line);margin-top:1.5rem;padding-block:2.3rem 6.5rem;position:relative}@media (min-width:1440px){.folio-footer{padding-block:2.6rem 2.9rem}}.folio-footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.1rem 1.5rem;display:flex}.folio-footer-brand{align-items:center;gap:.7rem;min-width:0;display:flex}.folio-footer-mark{background:var(--folio-ink);width:1.7rem;height:1.7rem;color:var(--folio-bg);font-size:var(--text-xs);letter-spacing:0;border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.folio-footer-copy{font-size:var(--text-xs);color:var(--folio-soft);line-height:1.5}.folio-footer-nav{flex-wrap:wrap;align-items:center;gap:1.1rem;display:flex}.folio-footer-link{font-size:var(--text-xs);color:var(--folio-soft-strong);transition:color .18s var(--motion-ease)}.folio-footer-link:hover{color:var(--folio-accent)}.folio-footer-top{font-size:var(--text-xs);color:var(--folio-ink);transition:color .18s var(--motion-ease);align-items:center;gap:.42rem;font-weight:500;display:inline-flex}.folio-footer-top svg{transition:transform .2s var(--motion-ease)}.folio-footer-top:hover{color:var(--folio-accent)}.folio-footer-top:hover svg{transform:translateY(-2px)}.folio-footer-link:focus-visible,.folio-footer-top:focus-visible{outline:2px solid var(--folio-focus-ring);outline-offset:3px;border-radius:5px}.folio-contact-link{cursor:pointer;border:1px solid var(--folio-line);min-height:44px;color:var(--folio-soft-strong);font-size:var(--text-sm);-webkit-backdrop-filter:blur(14px);background:#ffffff7a;border-radius:9999px;gap:.48rem;padding:.7rem .9rem;font-weight:600}.folio-contact-link:hover{border-color:var(--folio-line-strong);color:var(--folio-ink);box-shadow:var(--shadow-hairline);background:#ffffffb8;transform:translateY(-1px)}.folio-contact-link:focus-visible{outline:2px solid var(--folio-focus-ring);outline-offset:3px}.folio-experience-highlight{border-left:1px solid var(--folio-line);padding-left:1rem;transition:border-color .18s ease-out}.folio-experience-highlight:hover{border-color:var(--folio-accent)}.folio-education-list{border-top:1px solid var(--folio-line)}.folio-education-row{border-bottom:1px solid var(--folio-line);transition:background-color var(--motion-fast)var(--motion-ease),border-color var(--motion-fast)var(--motion-ease);padding:1.35rem 0;position:relative}.folio-education-row:hover{border-color:var(--folio-line-strong)}.folio-education-detail{padding-left:1rem;position:relative}.folio-education-detail:before{content:"";background:var(--folio-accent);border-radius:9999px;width:.28rem;height:.28rem;position:absolute;top:.85rem;left:0}@supports (color:color-mix(in lab, red, red)){.folio-education-detail:before{background:color-mix(in srgb,var(--folio-accent)62%,var(--folio-line))}}.folio-mobile-chip{border:1px solid var(--folio-line);font-size:var(--text-xs);letter-spacing:var(--tracking-label);color:var(--folio-muted);background:#ffffffbd;border-radius:9999px;gap:.55rem;padding:.65rem .9rem;line-height:1}.folio-mobile-chip:hover{border-color:var(--folio-line-strong);color:var(--folio-ink)}.folio-metric-panel{border:1px solid var(--folio-line);background:#ffffffdb;border-radius:1rem;padding:1rem;box-shadow:inset 0 1px #ffffff80}.folio-divider{background:linear-gradient(90deg,#1733572e,#138c7c1f,#0000 88%);flex:auto;height:1px;display:block}@media (scripting:enabled){[data-reveal]{opacity:1;filter:none;transition-delay:var(--reveal-delay,0s),var(--reveal-delay,0s),var(--reveal-delay,0s),0s,0s,0s,0s,0s;transition-duration:var(--motion-slow),var(--motion-slow),var(--motion-slow),.18s,.18s,.18s,.18s,.18s;transition-property:opacity,translate,filter,color,background-color,border-color,box-shadow,transform;transition-timing-function:var(--motion-ease),var(--motion-ease),var(--motion-ease),ease-out,ease-out,ease-out,ease-out,ease-out;translate:none}.js-ready [data-reveal]:not(.is-revealed){opacity:0;will-change:opacity,translate;translate:0 16px}[data-reveal^=aside]{transition-duration:var(--motion-slow),var(--motion-slow),var(--motion-slow),.18s,.18s,.18s,.18s,.18s}.js-ready [data-reveal^=aside]:not(.is-revealed){translate:-10px 14px}.js-ready [data-reveal=aside-title]:not(.is-revealed){translate:-12px 16px}.js-ready [data-reveal=aside-nav]:not(.is-revealed),.js-ready [data-reveal=aside-contact-link]:not(.is-revealed){translate:-8px 8px}.folio-case-row[data-reveal]{transition-delay:var(--reveal-delay,0s),var(--reveal-delay,0s),var(--reveal-delay,0s),0s,0s,0s,0s;transition-duration:var(--motion-slow),var(--motion-slow),var(--motion-slow),.18s,.18s,.18s,.18s;transition-property:opacity,translate,filter,background-color,border-color,box-shadow,transform;transition-timing-function:var(--motion-ease),var(--motion-ease),var(--motion-ease),ease-out,ease-out,ease-out,ease-out}.folio-case-supplemental[data-reveal],.folio-education-row[data-reveal],.folio-stream-item[data-reveal]{transition-delay:var(--reveal-delay,0s),var(--reveal-delay,0s),var(--reveal-delay,0s),0s,0s;transition-duration:var(--motion-slow),var(--motion-slow),var(--motion-slow),.18s,.18s;transition-property:opacity,translate,filter,background-color,border-color;transition-timing-function:var(--motion-ease),var(--motion-ease),var(--motion-ease),ease-out,ease-out}.folio-divider[data-reveal]{filter:none;transform-origin:0;transition-delay:var(--reveal-delay,0s);transition-duration:var(--motion-slow);transition-property:opacity,transform;transition-timing-function:var(--motion-ease);transform:scaleX(1)}.js-ready .folio-divider[data-reveal]:not(.is-revealed){filter:none;will-change:opacity,transform;transform:scaleX(.6)}}.companion-launcher{right:max(1.04rem,env(safe-area-inset-right));bottom:max(.98rem,env(safe-area-inset-bottom));z-index:60;isolation:isolate;background:0 0;border:0;border-radius:40% 60% 48% 52%/56% 44% 58% 42%;justify-content:center;align-items:center;width:4.54rem;height:4.54rem;padding:0;transition:transform .18s ease-out,filter .18s ease-out;display:inline-flex;position:fixed}.companion-launcher[data-open=true]{transform:translateY(-2px)}.companion-launcher:hover{filter:drop-shadow(0 1rem 1.6rem #1723352e);transform:translateY(-2px)}.companion-launcher:focus-visible{outline:2px solid var(--folio-focus-ring);outline-offset:.18rem}.companion-launcher-cluster{filter:drop-shadow(0 .74rem 1.02rem #17233526);width:4rem;height:4rem;animation:3.8s ease-in-out infinite companion-breathe;display:block;position:relative}.companion-glyph-shadow{z-index:0;filter:blur(.34rem);opacity:.58;background:#17233529;border-radius:54% 46% 52% 48%/58% 42% 52% 48%;width:2.42rem;height:.62rem;position:absolute;bottom:.38rem;left:.86rem;transform:rotate(-5deg)}.companion-glyph-art{z-index:1;pointer-events:none;width:3.08rem;height:3.08rem;position:absolute;top:.38rem;left:.66rem;overflow:visible}.companion-glyph-path{stroke:#ffffff5c;stroke-linejoin:round;stroke-width:.8px;transform-box:fill-box;transform-origin:50%;vector-effect:non-scaling-stroke}.companion-glyph-path-blue{fill:url(#companion-glyph-blue-fill);filter:drop-shadow(0 7px 9px #17233533)}.companion-glyph-shine{z-index:2;filter:blur(.5px);background:#fff3;border-radius:9999px;width:.74rem;height:.34rem;position:absolute;top:.86rem;left:1.36rem;transform:rotate(-24deg)}.companion-glyph-eyes{z-index:5;align-items:center;gap:.16rem;display:flex;position:absolute;top:1.56rem;left:1.44rem}.companion-glyph-dot{z-index:6;pointer-events:none;border-radius:9999px;animation:5.8s ease-in-out infinite companion-dot-float;position:absolute}.companion-glyph-dot-mint{width:.24rem;height:.24rem;box-shadow:none;background:#138c7c80;top:.62rem;left:.34rem}.companion-glyph-dot-slate{width:.18rem;height:.18rem;box-shadow:none;background:#56677d75;animation-direction:reverse;animation-delay:.7s;top:.84rem;right:.34rem}.companion-glyph-dot-sand{width:.2rem;height:.2rem;box-shadow:none;background:#cfae8094;animation-delay:1.1s;bottom:.72rem;left:.58rem}.companion-nudge{right:max(1.25rem,env(safe-area-inset-right));bottom:calc(max(.86rem,env(safe-area-inset-bottom)) + 4.72rem);z-index:59;border:1px solid var(--folio-line-strong);align-items:center;gap:.34rem;max-width:min(18rem,100vw - 2rem);display:flex;position:fixed}@supports (color:color-mix(in lab, red, red)){.companion-nudge{border:1px solid color-mix(in srgb,var(--folio-line-strong)64%,transparent)}}.companion-nudge{background:linear-gradient(180deg,#fffffff0,#f9faf7e6),var(--folio-panel);-webkit-backdrop-filter:blur(16px)saturate(1.14);border-radius:9999px;padding:.42rem .42rem .42rem .78rem;animation:.26s ease-out both companion-nudge-in;box-shadow:0 18px 40px #17233524,inset 0 1px #ffffffd1}.companion-nudge:after{border-bottom:1px solid var(--folio-line-strong);width:.68rem;height:.68rem;position:absolute;bottom:-.34rem;right:1.32rem}@supports (color:color-mix(in lab, red, red)){.companion-nudge:after{border-bottom:1px solid color-mix(in srgb,var(--folio-line-strong)56%,transparent)}}.companion-nudge:after{border-right:1px solid var(--folio-line-strong)}@supports (color:color-mix(in lab, red, red)){.companion-nudge:after{border-right:1px solid color-mix(in srgb,var(--folio-line-strong)56%,transparent)}}.companion-nudge:after{content:"";background:#f9faf7eb;transform:rotate(45deg)}.companion-nudge-copy{max-width:14rem;color:var(--folio-ink);font-size:var(--text-xs);text-align:left;font-weight:650;line-height:1.25}.companion-nudge-copy:hover{color:var(--folio-accent-2)}.companion-nudge-dismiss{z-index:1;width:1.62rem;height:1.62rem;color:var(--folio-soft);border-radius:9999px;flex:0 0 1.62rem;justify-content:center;align-items:center;transition:background-color .16s ease-out,color .16s ease-out;display:inline-flex;position:relative}.companion-nudge-dismiss:hover{color:var(--folio-ink);background:#1723350d}.companion-panel{right:max(1.25rem,env(safe-area-inset-right));bottom:calc(max(.86rem,env(safe-area-inset-bottom)) + 4.9rem);width:min(var(--companion-panel-width,26.25rem),calc(100vw - 2rem));height:min(var(--companion-panel-height,38.75rem),calc(100svh - 7rem));border:1px solid var(--folio-line-strong);flex-direction:column;min-width:min(25rem,100vw - 2rem);min-height:min(29rem,100svh - 7rem);display:flex;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.companion-panel{border:1px solid color-mix(in srgb,var(--folio-line-strong)74%,transparent)}}.companion-panel{background:linear-gradient(180deg,#fffffff0,#f9faf7f5),var(--folio-panel);-webkit-backdrop-filter:blur(22px)saturate(1.18);border-radius:1rem;box-shadow:0 26px 70px #17233533,inset 0 1px #fffc}.companion-panel-header{padding:.75rem 1rem .75rem 2.45rem}.companion-resize-corner{z-index:3;border:1px solid var(--folio-line-strong);border-radius:9999px;justify-content:center;align-items:center;width:1.65rem;height:1.65rem;display:none;position:absolute;top:.55rem;left:.55rem}@supports (color:color-mix(in lab, red, red)){.companion-resize-corner{border:1px solid color-mix(in srgb,var(--folio-line-strong)52%,transparent)}}.companion-resize-corner{color:var(--folio-soft);cursor:nwse-resize;touch-action:none;background:#ffffffb3;transition:border-color .16s ease-out,background-color .16s ease-out,color .16s ease-out}.companion-resize-corner:hover{border-color:var(--folio-accent)}@supports (color:color-mix(in lab, red, red)){.companion-resize-corner:hover{border-color:color-mix(in srgb,var(--folio-accent)38%,var(--folio-line))}}.companion-resize-corner:hover{color:var(--folio-accent-2);background:#fffffff0}.companion-resize-edge{z-index:2;touch-action:none;display:none;position:absolute}.companion-resize-edge:after{background:var(--folio-accent);border-radius:9999px;position:absolute}@supports (color:color-mix(in lab, red, red)){.companion-resize-edge:after{background:color-mix(in srgb,var(--folio-accent)42%,transparent)}}.companion-resize-edge:after{content:"";opacity:0;transition:opacity .16s ease-out}.companion-resize-edge:hover:after{opacity:1}.companion-resize-edge-top{cursor:ns-resize;height:.7rem;top:-.24rem;left:1.1rem;right:.9rem}.companion-resize-edge-top:after{height:2px;top:.28rem;left:0;right:0}.companion-resize-edge-left{cursor:ew-resize;width:.7rem;top:1.1rem;bottom:.9rem;left:-.24rem}.companion-resize-edge-left:after{width:2px;top:0;bottom:0;left:.28rem}@media (pointer:fine) and (min-width:768px){.companion-resize-corner{display:inline-flex}.companion-resize-edge{display:block}}.companion-icon-button,.companion-send-button{border:1px solid var(--folio-line);color:var(--folio-soft-strong);background:#ffffff9e;justify-content:center;align-items:center;transition:border-color .16s ease-out,background-color .16s ease-out,color .16s ease-out,transform .16s ease-out;display:inline-flex}.companion-icon-button{border-radius:9999px;width:2rem;height:2rem}.companion-icon-button:hover,.companion-send-button:hover{border-color:var(--folio-line-strong);color:var(--folio-accent-2);background:#ffffffeb;transform:translateY(-1px)}.companion-icon-button:focus-visible,.companion-send-button:focus-visible,.companion-resize-corner:focus-visible,.companion-enter-toggle:focus-visible,.companion-starter-chip:focus-visible,.companion-input:focus-visible,.companion-message-link:focus-visible,.companion-email-cta:focus-visible,.companion-nudge-copy:focus-visible,.companion-nudge-dismiss:focus-visible,.companion-disclosure-trigger:focus-visible{outline:2px solid var(--folio-accent)}@supports (color:color-mix(in lab, red, red)){.companion-icon-button:focus-visible,.companion-send-button:focus-visible,.companion-resize-corner:focus-visible,.companion-enter-toggle:focus-visible,.companion-starter-chip:focus-visible,.companion-input:focus-visible,.companion-message-link:focus-visible,.companion-email-cta:focus-visible,.companion-nudge-copy:focus-visible,.companion-nudge-dismiss:focus-visible,.companion-disclosure-trigger:focus-visible{outline:2px solid color-mix(in srgb,var(--folio-accent)72%,transparent)}}.companion-icon-button:focus-visible,.companion-send-button:focus-visible,.companion-resize-corner:focus-visible,.companion-enter-toggle:focus-visible,.companion-starter-chip:focus-visible,.companion-input:focus-visible,.companion-message-link:focus-visible,.companion-email-cta:focus-visible,.companion-nudge-copy:focus-visible,.companion-nudge-dismiss:focus-visible,.companion-disclosure-trigger:focus-visible{outline-offset:2px}.companion-messages{scrollbar-width:thin;scrollbar-color:#17335729 transparent;min-height:0}.companion-composer{background:var(--folio-panel);flex:none}@supports (color:color-mix(in lab, red, red)){.companion-composer{background:color-mix(in srgb,var(--folio-panel)84%,white)}}.companion-starters{scrollbar-width:thin;scrollbar-color:#1733571f transparent;max-height:5.4rem;overflow-y:auto}.companion-empty{border-left:1px solid var(--folio-accent)}@supports (color:color-mix(in lab, red, red)){.companion-empty{border-left:1px solid color-mix(in srgb,var(--folio-accent)36%,var(--folio-line))}}.companion-empty{color:var(--folio-muted);font-size:var(--text-sm);padding-left:.95rem;line-height:1.65}.companion-message{border:1px solid var(--folio-line);border-radius:var(--radius-control);max-width:92%;font-size:var(--text-sm);color:var(--folio-ink);box-shadow:var(--shadow-hairline);padding:.72rem .82rem;line-height:1.62}.companion-message-user{border-color:var(--folio-accent);margin-left:auto}@supports (color:color-mix(in lab, red, red)){.companion-message-user{border-color:color-mix(in srgb,var(--folio-accent)36%,var(--folio-line))}}.companion-message-user{background:var(--folio-accent)}@supports (color:color-mix(in lab, red, red)){.companion-message-user{background:color-mix(in srgb,var(--folio-accent)12%,white)}}.companion-message-assistant{background:#ffffffd1;margin-right:auto}.companion-message-degraded{border-color:var(--folio-accent-2)}@supports (color:color-mix(in lab, red, red)){.companion-message-degraded{border-color:color-mix(in srgb,var(--folio-accent-2)24%,var(--folio-line))}}.companion-message-degraded{background:#f7faf9eb}.companion-message-body{white-space:pre-line}.companion-message-link{border-radius:calc(var(--radius-control)*.35);color:var(--folio-accent-2);overflow-wrap:anywhere;text-underline-offset:.18em;font-weight:700;text-decoration-line:underline;text-decoration-thickness:.08em}.companion-message-link:hover{color:var(--folio-accent)}.companion-email-cta{border:1px solid var(--folio-accent);border-radius:9999px;align-items:center;gap:.4rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.companion-email-cta{border:1px solid color-mix(in srgb,var(--folio-accent)28%,var(--folio-line))}}.companion-email-cta{color:var(--folio-accent-2);font-size:var(--text-xs);background:#ffffffbd;padding:.42rem .62rem;font-weight:700}.companion-starter-chip{border:1px solid var(--folio-line-strong);border-radius:9999px;min-height:2rem}@supports (color:color-mix(in lab, red, red)){.companion-starter-chip{border:1px solid color-mix(in srgb,var(--folio-line-strong)55%,transparent)}}.companion-starter-chip{color:var(--folio-soft-strong);font-size:var(--text-xs);background:#ffffff9e;padding:.42rem .66rem;line-height:1.2;transition:border-color .16s ease-out,background-color .16s ease-out,color .16s ease-out}.companion-starter-chip:hover:not(:disabled){border-color:var(--folio-accent)}@supports (color:color-mix(in lab, red, red)){.companion-starter-chip:hover:not(:disabled){border-color:color-mix(in srgb,var(--folio-accent)42%,var(--folio-line))}}.companion-starter-chip:hover:not(:disabled){color:var(--folio-ink);background:#ffffffe6}.companion-starter-chip:disabled{cursor:wait;opacity:.58}.companion-input{resize:none;border-radius:var(--radius-control);border:1px solid var(--folio-line);min-height:2.75rem;max-height:7rem;color:var(--folio-ink);font-size:var(--text-sm);background:#ffffffd6;flex:1;padding:.7rem .78rem;line-height:1.5}.companion-input::placeholder{color:var(--folio-soft)}.companion-send-button{border-radius:var(--radius-control);flex:0 0 2.75rem;width:2.75rem;height:2.75rem}.companion-send-button:disabled{cursor:not-allowed;opacity:.48;transform:none}.companion-footer-controls{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.companion-enter-toggle{border:1px solid var(--folio-line-strong);border-radius:9999px;align-items:center;gap:.38rem;min-height:1.85rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.companion-enter-toggle{border:1px solid color-mix(in srgb,var(--folio-line-strong)50%,transparent)}}.companion-enter-toggle{color:var(--folio-soft-strong);font-size:var(--text-2xs);background:#ffffff94;padding:.22rem .5rem .22rem .28rem;font-weight:700;line-height:1;transition:border-color .16s ease-out,background-color .16s ease-out,color .16s ease-out}.companion-enter-toggle:hover{border-color:var(--folio-accent)}@supports (color:color-mix(in lab, red, red)){.companion-enter-toggle:hover{border-color:color-mix(in srgb,var(--folio-accent)38%,var(--folio-line))}}.companion-enter-toggle:hover{color:var(--folio-ink);background:#ffffffe6}.companion-enter-toggle[data-state=on]{border-color:var(--folio-accent)}@supports (color:color-mix(in lab, red, red)){.companion-enter-toggle[data-state=on]{border-color:color-mix(in srgb,var(--folio-accent)36%,var(--folio-line))}}.companion-enter-toggle[data-state=on]{color:var(--folio-accent-2)}.companion-enter-switch{background:#75829438;border-radius:9999px;flex:none;width:1.65rem;height:.94rem;transition:background-color .16s ease-out;display:inline-block;position:relative;box-shadow:inset 0 0 0 1px #17233514}.companion-enter-switch:after{width:.64rem;height:.64rem;box-shadow:var(--shadow-hairline);content:"";background:#fff;border-radius:9999px;transition:transform .16s ease-out;position:absolute;top:.15rem;left:.15rem}.companion-enter-toggle[data-state=on] .companion-enter-switch{background:var(--folio-accent)}@supports (color:color-mix(in lab, red, red)){.companion-enter-toggle[data-state=on] .companion-enter-switch{background:color-mix(in srgb,var(--folio-accent)54%,white)}}.companion-enter-toggle[data-state=on] .companion-enter-switch:after{transform:translate(.7rem)}.companion-disclosure-trigger{border:1px solid var(--folio-line-strong);border-radius:9999px;flex:none;justify-content:center;align-items:center;width:1.85rem;height:1.85rem;display:inline-flex;position:relative}@supports (color:color-mix(in lab, red, red)){.companion-disclosure-trigger{border:1px solid color-mix(in srgb,var(--folio-line-strong)46%,transparent)}}.companion-disclosure-trigger{color:var(--folio-soft);background:#ffffff94}.companion-disclosure-trigger:hover{border-color:var(--folio-accent)}@supports (color:color-mix(in lab, red, red)){.companion-disclosure-trigger:hover{border-color:color-mix(in srgb,var(--folio-accent)36%,var(--folio-line))}}.companion-disclosure-trigger:hover{color:var(--folio-accent-2);background:#ffffffeb}.companion-disclosure-trigger:after{border:1px solid var(--folio-line);border-radius:var(--radius-control);width:min(17.5rem,100vw - 2rem);box-shadow:var(--shadow-float);color:var(--folio-soft-strong);content:attr(data-tooltip);font-size:var(--text-2xs);opacity:0;pointer-events:none;background:#fffffff5;padding:.58rem .68rem;font-weight:500;line-height:1.45;transition:opacity .16s ease-out,transform .16s ease-out;position:absolute;bottom:calc(100% + .48rem);right:0;transform:translateY(.25rem)}.companion-disclosure-trigger:hover:after,.companion-disclosure-trigger:focus-visible:after{opacity:1;transform:translate(0)}.companion-typing-cursor{background:var(--folio-accent);border-radius:9999px;width:.42rem;height:1rem;animation:1s steps(2,jump-none) infinite companion-cursor;display:inline-block}.folio-aside-scroll{scrollbar-width:thin;scrollbar-color:#17335729 transparent}.folio-aside-scroll::-webkit-scrollbar{width:8px}.folio-aside-scroll::-webkit-scrollbar-thumb{background:#17335729;border-radius:9999px}.folio-aside-scroll::-webkit-scrollbar-track{background:0 0}.folio-hero-enter,.folio-hero-enter-scale{opacity:1;filter:none;transform:none}.js-ready .folio-hero-enter,.js-ready .folio-hero-enter-scale{opacity:0;transform:translate3d(0,var(--folio-enter-distance,18px),0);animation:folio-hero-enter var(--motion-hero-enter)var(--motion-ease)forwards;animation-delay:var(--folio-enter-delay,0s);will-change:opacity,transform}.js-ready .folio-hero-enter-scale{transform:translate3d(0,var(--folio-enter-distance,24px),0)scale(.965);animation-name:folio-hero-enter-scale}.folio-hero-headline-mask{margin-block:-.02em -.14em;padding-block:.02em .14em;display:block;overflow:hidden}.folio-hero-headline-rise{display:block}.js-ready .folio-hero-headline-rise{animation:folio-hero-headline-rise .72s var(--motion-ease)forwards;animation-delay:var(--folio-enter-delay,.12s);will-change:transform;transform:translateY(108%)}.folio-hero-divider-enter{opacity:1;transform-origin:0;transform:none}.js-ready .folio-hero-divider-enter{opacity:0;transform-origin:0;animation:folio-hero-divider-enter var(--motion-hero-enter)var(--motion-ease)forwards;animation-delay:var(--folio-enter-delay,0s);will-change:opacity,transform;transform:scaleX(.68)}.folio-portrait-sheen{opacity:0;filter:blur(10px);mix-blend-mode:screen;animation:folio-portrait-sheen var(--motion-slow)var(--motion-ease).18s forwards;will-change:opacity,transform;background:linear-gradient(105deg,#0000 0%,#ffffff0f 24%,#ffffff38 48%,#ffffff14 68%,#0000 100%);transform:translate(-180%)skew(-22deg)}}@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.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}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-y-\[-16\%\]{inset-block:-16%}.top-0{top:calc(var(--spacing)*0)}.top-4{top:calc(var(--spacing)*4)}.left-\[-28\%\]{left:-28%}.z-0{z-index:0}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.order-3{order:3}.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}}.mx-5{margin-inline:calc(var(--spacing)*5)}.mx-auto{margin-inline:auto}.mt-0{margin-top:calc(var(--spacing)*0)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-7{margin-top:calc(var(--spacing)*7)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-10{margin-top:calc(var(--spacing)*10)}.mt-12{margin-top:calc(var(--spacing)*12)}.mt-14{margin-top:calc(var(--spacing)*14)}.mt-16{margin-top:calc(var(--spacing)*16)}.mt-auto{margin-top:auto}.mb-0{margin-bottom:calc(var(--spacing)*0)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-\[0\.94\]{aspect-ratio:.94}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-10{height:calc(var(--spacing)*10)}.h-\[18px\]{height:18px}.h-\[100svh\]{height:100svh}.h-fit{height:fit-content}.h-full{height:100%}.h-px{height:1px}.min-h-\[100svh\]{min-height:100svh}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-7{width:calc(var(--spacing)*7)}.w-10{width:calc(var(--spacing)*10)}.w-\[18px\]{width:18px}.w-\[42\%\]{width:42%}.w-\[min\(34vw\,13\.25rem\)\]{width:min(34vw,13.25rem)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[18rem\]{max-width:18rem}.max-w-\[1128px\]{max-width:1128px}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.scroll-mt-44{scroll-margin-top:calc(var(--spacing)*44)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-\[1\.75rem_minmax\(0\,1fr\)\]{grid-template-columns:1.75rem minmax(0,1fr)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing)*0)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*10)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*10)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*12)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*12)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing)*3)}.gap-x-4{column-gap:calc(var(--spacing)*4)}.gap-x-5{column-gap:calc(var(--spacing)*5)}.gap-y-2{row-gap:calc(var(--spacing)*2)}.justify-self-start{justify-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-3xl{border-radius:calc(var(--radius) + 12px)}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[color\:rgba\(19\,140\,124\,0\.14\)\]{border-color:#138c7c24}.border-\[color\:rgba\(23\,35\,53\,0\.06\)\]{border-color:#1723350f}.border-\[color\:var\(--folio-line\)\]{border-color:var(--folio-line)}.border-white\/45{border-color:#ffffff73}@supports (color:color-mix(in lab, red, red)){.border-white\/45{border-color:color-mix(in oklab,var(--color-white)45%,transparent)}}.border-white\/80{border-color:#fffc}@supports (color:color-mix(in lab, red, red)){.border-white\/80{border-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.bg-\[color\:var\(--folio-accent\)\]{background-color:var(--folio-accent)}.bg-\[color\:var\(--folio-accent-2\)\]{background-color:var(--folio-accent-2)}.bg-\[color\:var\(--folio-accent-soft\)\]{background-color:var(--folio-accent-soft)}.bg-\[color\:var\(--folio-line-strong\)\]{background-color:var(--folio-line-strong)}.bg-\[color\:var\(--folio-panel\)\]{background-color:var(--folio-panel)}.bg-transparent{background-color:#0000}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab, red, red)){.bg-white\/80{background-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.bg-\[linear-gradient\(90deg\,rgba\(23\,51\,87\,0\.055\)\,rgba\(19\,140\,124\,0\.05\)\,transparent_78\%\)\]{background-image:linear-gradient(90deg,#1733570e,#138c7c0d,#0000 78%)}.bg-\[linear-gradient\(135deg\,rgba\(255\,255\,255\,0\.72\)\,rgba\(255\,255\,255\,0\.88\)_42\%\,rgba\(248\,246\,240\,0\.82\)\)\]{background-image:linear-gradient(135deg,#ffffffb8,#ffffffe0 42%,#f8f6f0d1)}.bg-\[linear-gradient\(180deg\,rgba\(244\,239\,231\,0\.38\)\,rgba\(249\,247\,242\,0\.16\)\)\]{background-image:linear-gradient(#f4efe761,#f9f7f229)}.bg-\[linear-gradient\(180deg\,rgba\(255\,255\,255\,0\.04\)\,transparent_30\%\,transparent_72\%\,rgba\(15\,23\,42\,0\.04\)\)\]{background-image:linear-gradient(#ffffff0a,#0000 30% 72%,#0f172a0a)}.bg-none{background-image:none}.object-cover{object-fit:cover}.object-\[center_20\%\]{object-position:center 20%}.object-center{object-position:center}.p-1{padding:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0{padding-block:calc(var(--spacing)*0)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-5{padding-top:calc(var(--spacing)*5)}.pt-6{padding-top:calc(var(--spacing)*6)}.pt-8{padding-top:calc(var(--spacing)*8)}.pt-12{padding-top:calc(var(--spacing)*12)}.pt-14{padding-top:calc(var(--spacing)*14)}.pr-2{padding-right:calc(var(--spacing)*2)}.pb-0{padding-bottom:calc(var(--spacing)*0)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pb-8{padding-bottom:calc(var(--spacing)*8)}.pb-16{padding-bottom:calc(var(--spacing)*16)}.pb-24{padding-bottom:calc(var(--spacing)*24)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-plex-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-2xs{font-size:.6875rem;line-height:var(--tw-leading,1.25)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:.875rem;line-height:var(--tw-leading,1.55)}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:.75rem;line-height:var(--tw-leading,1.35)}.leading-5{--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5)}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-7{--tw-leading:calc(var(--spacing)*7);line-height:calc(var(--spacing)*7)}.leading-8{--tw-leading:calc(var(--spacing)*8);line-height:calc(var(--spacing)*8)}.leading-\[1\.04\]{--tw-leading:1.04;line-height:1.04}.leading-\[1\.06\]{--tw-leading:1.06;line-height:1.06}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-label{--tw-tracking:.14em;letter-spacing:.14em}.tracking-tight{--tw-tracking:-.03em;letter-spacing:-.03em}.text-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-normal{white-space:normal}.whitespace-pre-line{white-space:pre-line}.text-\[color\:\#4b596b\]{color:#4b596b}.text-\[color\:var\(--folio-accent\)\]{color:var(--folio-accent)}.text-\[color\:var\(--folio-accent-2\)\]{color:var(--folio-accent-2)}.text-\[color\:var\(--folio-ink\)\]{color:var(--folio-ink)}.text-\[color\:var\(--folio-muted\)\]{color:var(--folio-muted)}.text-\[color\:var\(--folio-soft\)\]{color:var(--folio-soft)}.text-\[color\:var\(--folio-soft-strong\)\]{color:var(--folio-soft-strong)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-55{opacity:.55}.opacity-60{opacity:.6}.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)}.ring-1{--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)}.ring-4{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(4px + 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)}.ring-\[color\:var\(--folio-bg\)\]{--tw-ring-color:var(--folio-bg)}.ring-\[color\:var\(--folio-line\)\]{--tw-ring-color:var(--folio-line)}.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,)}.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-\[18px\]{--tw-backdrop-blur:blur(18px);-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-sm{--tw-backdrop-blur:blur(var(--blur-sm));-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-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media (hover:hover){.group-hover\:bg-\[color\:var\(--folio-accent-2\)\]:is(:where(.group):hover *){background-color:var(--folio-accent-2)}.group-hover\:text-\[color\:var\(--folio-accent\)\]:is(:where(.group):hover *){color:var(--folio-accent)}.group-hover\:text-\[color\:var\(--folio-accent-2\)\]:is(:where(.group):hover *){color:var(--folio-accent-2)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:top-3:before{content:var(--tw-content);top:calc(var(--spacing)*3)}.before\:bottom-3:before{content:var(--tw-content);bottom:calc(var(--spacing)*3)}.before\:left-3\.5:before{content:var(--tw-content);left:calc(var(--spacing)*3.5)}.before\:w-px:before{content:var(--tw-content);width:1px}.before\:bg-\[color\:var\(--folio-line\)\]:before{content:var(--tw-content);background-color:var(--folio-line)}@media (hover:hover){.hover\:text-\[color\:var\(--folio-accent-2\)\]:hover{color:var(--folio-accent-2)}.hover\:text-\[color\:var\(--folio-ink\)\]:hover{color:var(--folio-ink)}}.focus\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:fixed:focus{position:fixed}.focus\:top-4:focus{top:calc(var(--spacing)*4)}.focus\:left-4:focus{left:calc(var(--spacing)*4)}.focus\:z-50:focus{z-index:50}.focus\:rounded-full:focus{border-radius:3.40282e38px}.focus\:bg-\[color\:var\(--folio-preview\)\]:focus{background-color:var(--folio-preview)}.focus\:px-4:focus{padding-inline:calc(var(--spacing)*4)}.focus\:py-2:focus{padding-block:calc(var(--spacing)*2)}.focus\:text-sm:focus{font-size:.875rem;line-height:var(--tw-leading,1.55)}.focus\:text-\[color\:var\(--folio-ink\)\]:focus{color:var(--folio-ink)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + 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)}.focus-visible\:ring-\[color\:var\(--folio-accent-2\)\]:focus-visible{--tw-ring-color:var(--folio-accent-2)}.focus-visible\:ring-offset-4:focus-visible{--tw-ring-offset-width:4px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-white:focus-visible{--tw-ring-offset-color:var(--color-white)}.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-\[color\:var\(--folio-focus-ring\)\]:focus-visible{outline-color:var(--folio-focus-ring)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}@media (prefers-reduced-motion:reduce){.motion-reduce\:hidden{display:none}}@media (min-width:40rem){.sm\:order-none{order:0}.sm\:mx-8{margin-inline:calc(var(--spacing)*8)}.sm\:mt-8{margin-top:calc(var(--spacing)*8)}.sm\:mb-1{margin-bottom:calc(var(--spacing)*1)}.sm\:block{display:block}.sm\:w-\[11rem\]{width:11rem}.sm\:w-auto{width:auto}.sm\:max-w-\[20rem\]{max-width:20rem}.sm\:flex-none{flex:none}.sm\:flex-row{flex-direction:row}.sm\:items-end{align-items:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:justify-end{justify-content:flex-end}.sm\:gap-3{gap:calc(var(--spacing)*3)}.sm\:overflow-visible{overflow:visible}.sm\:px-6{padding-inline:calc(var(--spacing)*6)}.sm\:px-8{padding-inline:calc(var(--spacing)*8)}.sm\:px-10{padding-inline:calc(var(--spacing)*10)}.sm\:py-10{padding-block:calc(var(--spacing)*10)}.sm\:pt-6{padding-top:calc(var(--spacing)*6)}.sm\:pt-7{padding-top:calc(var(--spacing)*7)}.sm\:pt-16{padding-top:calc(var(--spacing)*16)}.sm\:pb-0{padding-bottom:calc(var(--spacing)*0)}.sm\:pb-8{padding-bottom:calc(var(--spacing)*8)}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-sm{font-size:.875rem;line-height:var(--tw-leading,1.55)}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.sm\:leading-8{--tw-leading:calc(var(--spacing)*8);line-height:calc(var(--spacing)*8)}.sm\:leading-\[1\.04\]{--tw-leading:1.04;line-height:1.04}}@media (min-width:48rem){.md\:w-\[12\.5rem\]{width:12.5rem}.md\:scroll-mt-36{scroll-margin-top:calc(var(--spacing)*36)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:64rem){.lg\:mx-10{margin-inline:calc(var(--spacing)*10)}.lg\:mt-5{margin-top:calc(var(--spacing)*5)}.lg\:mt-8{margin-top:calc(var(--spacing)*8)}.lg\:mt-10{margin-top:calc(var(--spacing)*10)}.lg\:mt-12{margin-top:calc(var(--spacing)*12)}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:w-\[16\.5rem\]{width:16.5rem}.lg\:w-\[340px\]{width:340px}.lg\:max-w-none{max-width:none}.lg\:grid-cols-\[180px_minmax\(0\,1fr\)\]{grid-template-columns:180px minmax(0,1fr)}.lg\:grid-cols-\[minmax\(0\,1fr\)_17rem\]{grid-template-columns:minmax(0,1fr) 17rem}.lg\:grid-cols-\[minmax\(0\,1fr\)_18rem\]{grid-template-columns:minmax(0,1fr) 18rem}.lg\:grid-cols-\[minmax\(0\,1fr\)_260px\]{grid-template-columns:minmax(0,1fr) 260px}.lg\:grid-cols-\[minmax\(0\,1fr\)_340px\]{grid-template-columns:minmax(0,1fr) 340px}.lg\:grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.lg\:justify-end{justify-content:flex-end}.lg\:gap-8{gap:calc(var(--spacing)*8)}.lg\:gap-12{gap:calc(var(--spacing)*12)}.lg\:justify-self-end{justify-self:flex-end}.lg\:px-8{padding-inline:calc(var(--spacing)*8)}.lg\:px-10{padding-inline:calc(var(--spacing)*10)}.lg\:px-12{padding-inline:calc(var(--spacing)*12)}.lg\:py-12{padding-block:calc(var(--spacing)*12)}.lg\:pt-8{padding-top:calc(var(--spacing)*8)}.lg\:pt-10{padding-top:calc(var(--spacing)*10)}.lg\:pt-16{padding-top:calc(var(--spacing)*16)}.lg\:pb-12{padding-bottom:calc(var(--spacing)*12)}.lg\:text-hero-copy-lg{font-size:1.45rem;line-height:var(--tw-leading,1.45)}.lg\:text-hero-title-lg{font-size:3rem;line-height:var(--tw-leading,1.05)}.lg\:leading-\[1\.02\]{--tw-leading:1.02;line-height:1.02}}@media (min-width:80rem){.xl\:sticky{position:sticky}.xl\:top-24{top:calc(var(--spacing)*24)}.xl\:mt-auto{margin-top:auto}.xl\:flex{display:flex}.xl\:w-\[36\%\]{width:36%}.xl\:w-\[64\%\]{width:64%}.xl\:w-\[392px\]{width:392px}.xl\:max-w-md{max-width:var(--container-md)}.xl\:scroll-mt-28{scroll-margin-top:calc(var(--spacing)*28)}.xl\:grid-cols-\[minmax\(0\,1fr\)_392px\]{grid-template-columns:minmax(0,1fr) 392px}.xl\:flex-row{flex-direction:row}.xl\:gap-8{gap:calc(var(--spacing)*8)}.xl\:gap-16{gap:calc(var(--spacing)*16)}.xl\:px-12{padding-inline:calc(var(--spacing)*12)}.xl\:px-16{padding-inline:calc(var(--spacing)*16)}.xl\:py-8{padding-block:calc(var(--spacing)*8)}.xl\:py-20{padding-block:calc(var(--spacing)*20)}.xl\:pt-12{padding-top:calc(var(--spacing)*12)}.xl\:pt-20{padding-top:calc(var(--spacing)*20)}.xl\:pr-8{padding-right:calc(var(--spacing)*8)}.xl\:pb-14{padding-bottom:calc(var(--spacing)*14)}.xl\:pb-20{padding-bottom:calc(var(--spacing)*20)}.xl\:text-display-sidebar{font-size:3.4rem;line-height:var(--tw-leading,1.02)}.xl\:text-hero-copy-xl{font-size:1.7rem;line-height:var(--tw-leading,1.45)}.xl\:text-hero-title-xl{font-size:3.5rem;line-height:var(--tw-leading,1.04)}.xl\:leading-\[1\.02\]{--tw-leading:1.02;line-height:1.02}}}:root{--radius:.625rem;--radius-control:.625rem;--radius-card:1.25rem;--radius-hero:2rem;--background:#f6f6f1;--foreground:#172235;--border:#1723351f;--ring:var(--folio-accent)}@supports (color:color-mix(in lab, red, red)){:root{--ring:color-mix(in srgb,var(--folio-accent)70%,transparent)}}:root{--folio-bg:#f6f6f1;--folio-panel:#fffffff0;--folio-preview:#f5f7f8f5;--folio-elevated:#fffffffa;--folio-ink:#172235;--folio-muted:#5e6a7d;--folio-soft:#7d8797;--folio-soft-strong:#324255;--folio-line:#1723351f;--folio-line-strong:#17233538;--folio-accent:#138c7c;--folio-accent-2:#173357;--folio-accent-soft:#138c7c14;--folio-shadow:#17233514;--folio-focus-ring:var(--folio-accent)}@supports (color:color-mix(in lab, red, red)){:root{--folio-focus-ring:color-mix(in srgb,var(--folio-accent)70%,transparent)}}:root{--folio-focus-shadow:0 0 0 3px var(--folio-accent)}@supports (color:color-mix(in lab, red, red)){:root{--folio-focus-shadow:0 0 0 3px color-mix(in srgb,var(--folio-accent)16%,transparent)}}:root{--shadow-hairline:inset 0 1px 0 #ffffff80,0 8px 20px #1723350f;--shadow-float:inset 0 1px 0 #ffffff8a,0 18px 44px #1723351a;--motion-ease:cubic-bezier(.16,.86,.2,1);--motion-fast:.15s;--motion-med:.25s;--motion-slow:.4s;--motion-hero-enter:.45s}:lang(zh) h1,:lang(zh) h2,:lang(zh) h3,:lang(zh) h4,:lang(zh) [class*=tracking-]{letter-spacing:0}:lang(zh) h1{line-height:1.16}:lang(zh) h2,:lang(zh) h3{line-height:1.32}:lang(zh) .tracking-label,:lang(zh) .folio-heading{letter-spacing:.08em}@keyframes folio-hero-enter{0%,6%{opacity:0;transform:translate3d(0,var(--folio-enter-distance,18px),0)}to{opacity:1;transform:translate(0)}}@keyframes folio-hero-enter-scale{0%,6%{opacity:0;transform:translate3d(0,var(--folio-enter-distance,24px),0)scale(.965)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes folio-hero-divider-enter{0%,12%{opacity:0;transform:scaleX(.68)}to{opacity:1;transform:scaleX(1)}}@keyframes folio-hero-headline-rise{0%,6%{transform:translateY(108%)}to{transform:translate(0)}}@keyframes folio-portrait-sheen{0%,12%{opacity:0;transform:translate(-180%)skew(-22deg)}26%{opacity:.85}to{opacity:0;transform:translate(360%)skew(-22deg)}}@media (min-width:1024px){@layer components{.folio-topbar{border-radius:9999px;flex-wrap:nowrap;padding:.95rem 1.25rem}.folio-card{padding:1.55rem}.folio-panel{padding:1.85rem}.folio-sidebar-panel{padding:1.6rem}.folio-feature-panel{padding:1.95rem}.folio-stream-item{padding:1.55rem 0}}}@media (max-width:767px){@layer components{.folio-topbar{border-radius:var(--radius-card);gap:.72rem;padding:.6rem}.folio-header-controls{gap:.5rem}.folio-header-cv-button{flex:0 0 2.75rem;justify-content:center;width:2.75rem;height:2.75rem;padding:0}.folio-header-cv-button span{display:none}.folio-contact-panel{flex-direction:column;align-items:flex-start}.folio-contact-actions{width:100%}.folio-contact-actions .folio-button,.folio-contact-actions .folio-button-secondary{flex:9rem}.folio-contact-primary{justify-content:center;width:100%}.folio-case-supplemental{grid-template-columns:minmax(0,1fr)}}}@media (min-width:700px) and (max-width:1023px){@layer components{.folio-topbar{border-radius:9999px;flex-wrap:nowrap;gap:.7rem;padding:.65rem .8rem}.folio-header-controls{gap:.5rem}.folio-header-cv-button{flex:0 0 2.75rem;justify-content:center;width:2.75rem;height:2.75rem;padding:0}.folio-header-cv-button span{display:none}}}@media (min-width:1280px){@layer components{.folio-section+.folio-section{margin-top:6rem}}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.folio-focus-rail{display:none}[data-spotlight].is-active [data-spotlight-row]{opacity:1}.folio-hero-enter,.folio-hero-enter-scale,.folio-hero-headline-rise,.folio-hero-divider-enter,.folio-portrait-sheen{filter:none;animation:none}.companion-launcher-cluster,.companion-glyph-art,.companion-glyph-dot,.companion-nudge,.companion-typing-cursor{animation:none}.folio-hero-enter,.folio-hero-enter-scale,.folio-hero-headline-rise,.folio-hero-divider-enter,.folio-portrait-sheen{opacity:1;transform:none}[data-reveal],.folio-case-row[data-reveal],.folio-case-supplemental[data-reveal],.folio-education-row[data-reveal],.folio-stream-item[data-reveal]{opacity:1;filter:none;transition-delay:0s;translate:none}[data-reveal]{transition-property:color,background-color,border-color,box-shadow,transform;transition-duration:.18s;transition-timing-function:ease-out}.folio-case-row[data-reveal]{transition-property:background-color,border-color,box-shadow,transform;transition-duration:.18s;transition-timing-function:ease-out}.folio-case-supplemental[data-reveal],.folio-education-row[data-reveal],.folio-stream-item[data-reveal]{transition-property:background-color,border-color;transition-duration:.18s;transition-timing-function:ease-out}[data-reveal]:where(:not(.folio-case-row,.folio-case-supplemental,.folio-education-row,.folio-stream-item)){transition-delay:0s}[data-reveal]:not(.is-revealed){opacity:1;filter:none;translate:none}.folio-divider[data-reveal],.folio-divider[data-reveal]:not(.is-revealed){opacity:1;filter:none;transition:none;transform:scaleX(1)}}@media (max-width:640px){.companion-launcher[data-open=true]{opacity:0;pointer-events:none;transform:translateY(0)}.companion-launcher{right:max(.86rem,env(safe-area-inset-right));bottom:max(.8rem,env(safe-area-inset-bottom));width:4.56rem;height:4.56rem}.companion-nudge{right:max(1rem,env(safe-area-inset-right));bottom:calc(max(.66rem,env(safe-area-inset-bottom)) + 4.36rem);max-width:min(18rem,100vw - 4.5rem)}.companion-panel{border-bottom-right-radius:0;border-bottom-left-radius:0;width:100%;min-width:0;height:auto;min-height:0;max-height:72svh;inset:auto 0 0}.companion-panel-header{padding-left:1rem}}@keyframes companion-breathe{0%,to{transform:scale(1)rotate(-1deg)}50%{transform:scale(1.045)rotate(1.4deg)}}@keyframes companion-dot-float{0%,to{opacity:.34;transform:translate(0)scale(.92)}50%{opacity:.76;transform:translate(.26rem,-.34rem)scale(1.18)}}@keyframes companion-nudge-in{0%{opacity:0;transform:translateY(.34rem)scale(.98)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes companion-cursor{0%,46%{opacity:1}47%,to{opacity: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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@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-content{syntax:"*";inherits:false;initial-value:""}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
