/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-outline-style:solid}::backdrop{--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:"Inter", "SF Pro Text", system-ui, -apple-system, "PingFang SC", "HarmonyOS Sans SC", "Source Han Sans SC", "Microsoft YaHei", sans-serif;--spacing:.25rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-xl:1.25rem;--text-4xl:2.25rem;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--default-font-family:"Inter", "SF Pro Text", system-ui, -apple-system, "PingFang SC", "HarmonyOS Sans SC", "Source Han Sans SC", "Microsoft YaHei", sans-serif;--default-mono-font-family:"SF Mono", "JetBrains Mono", "Cascadia Code", Consolas, monospace}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::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]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.fixed{position:fixed}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.grid{display:grid}.hidden{display:none}.table{display:table}.resize{resize:both}.outline{outline-style:var(--tw-outline-style);outline-width:1px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ivory:#fff7ed;--warm-orange:#f19a4a;--brick-red:#b84b38;--wine-red:#651d31;--warm-tint:#f8dfcd;--brick-tint:#efc8bc;--ink:#2d2928;--muted:#5f5048;--line:#ead5c8;--card:#fffdfa;--content-width:1180px;--surface:var(--ivory);--surface-elevated:var(--card);--border:var(--line);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--section-gap:clamp(5rem, 10vw, 8.5rem);--gutter:clamp(1.5rem, 4vw, 3rem);--radius-sm:12px;--radius-md:20px;--radius-lg:28px;--radius-card:var(--radius-lg);--radius-pill:999px;--shadow-sm:0 12px 30px #4c3f3714;--shadow-md:0 22px 55px #4c3f371c;--shadow-lg:0 30px 70px #4c3f3724;--shadow-accent:0 16px 40px #b84b382e;--text-xs:.74rem;--text-sm:.86rem;--text-base:1rem;--text-lg:1.15rem;--text-xl:1.4rem;--text-2xl:clamp(1.7rem, 2.6vw, 2.15rem);--text-3xl:clamp(2.1rem, 4.2vw, 3.3rem);--text-4xl:clamp(2.75rem, 5.5vw, 4.35rem);--leading-tight:1.12;--leading-snug:1.3;--leading-normal:1.65;--leading-relaxed:1.8;--ease-out:cubic-bezier(.22, .61, .36, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:7.5rem}body{background:var(--surface);color:var(--ink);font-family:var(--font-sans);font-feature-settings:"kern", "ss01";text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--wine-red);outline-offset:4px}.hero :focus-visible{outline-color:var(--card);box-shadow:0 0 0 1px var(--wine-red), 0 0 0 6px #fffdfa38}.site-header{z-index:20;border-bottom:1px solid var(--line);position:fixed;top:0;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.site-header{border-bottom:1px solid color-mix(in srgb, var(--line) 82%, transparent)}}.site-header{background:var(--ivory)}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in srgb, var(--ivory) 88%, transparent)}}.site-header{-webkit-backdrop-filter:blur(16px)saturate(1.1);backdrop-filter:blur(16px)saturate(1.1);transition:border-color .22s var(--ease-out), box-shadow .22s var(--ease-out);box-shadow:0 0 #2d2a2a00}.site-header--scrolled{border-bottom-color:var(--line);box-shadow:0 10px 30px #2d2a2a14}.site-header__inner{width:min(calc(100% - 3rem), var(--content-width));justify-content:space-between;align-items:center;gap:2rem;min-height:5.5rem;margin:0 auto;display:flex}.site-logo{letter-spacing:.02em;flex:none;align-items:center;gap:.7rem;min-height:2.75rem;font-size:1rem;font-weight:800;display:inline-flex}.site-logo small{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin-top:.15rem;font-size:.62rem;font-weight:700;display:block}.site-logo__mark{background:var(--warm-orange);width:2.6rem;height:2.6rem;color:var(--wine-red);letter-spacing:.08em;border-radius:42% 58% 55% 45%;place-items:center;font-size:.75rem;display:grid}.primary-navigation,.primary-navigation ul{align-items:center;display:flex}.primary-navigation{gap:1rem}.primary-navigation ul{gap:clamp(.55rem,1.2vw,1.05rem);margin:0;padding:0;list-style:none}.primary-navigation ul a{min-height:2.75rem;color:var(--muted);white-space:nowrap;align-items:center;font-size:.86rem;font-weight:700;display:inline-flex;position:relative}.primary-navigation ul a:after{background:var(--brick-red);content:"";border-radius:2px;height:2px;transition:transform .18s;position:absolute;bottom:.3rem;left:0;right:0;transform:scaleX(0)}:is(.primary-navigation ul a:hover,.primary-navigation ul a:focus-visible,.primary-navigation ul a.primary-navigation__link--active){color:var(--ink)}.primary-navigation ul a:hover:after,.primary-navigation ul a.primary-navigation__link--active:after{transform:scaleX(1)}.primary-navigation ul a:focus-visible:after{transform:scaleX(1)}.menu-toggle{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--card);cursor:pointer;width:2.8rem;height:2.8rem;padding:.68rem;display:none}.menu-toggle span{background:var(--ink);border-radius:2px;height:2px;margin:.24rem 0;display:block}.button{border:1px solid var(--ink);border-radius:var(--radius-pill);min-height:3.25rem;transition:transform .22s var(--ease-out), box-shadow .22s var(--ease-out), background-color .22s var(--ease-out), border-color .22s var(--ease-out);justify-content:center;align-items:center;padding:.85rem 1.4rem;font-size:.92rem;font-weight:800;display:inline-flex}.button:hover{transform:translateY(-2px)}.button--small{min-height:2.75rem;padding:.65rem 1.1rem;font-size:.82rem}.button--dark{border-color:var(--brick-red);background:var(--brick-red);box-shadow:var(--shadow-accent);color:var(--card)}.button--dark:hover{box-shadow:0 20px 46px #b84b3842}.button--light{border-color:var(--line);background:var(--card)}.hero{isolation:isolate;width:100%;min-height:100svh;color:var(--card);background:#3a2026;grid-template-columns:minmax(0,56fr) minmax(0,44fr);align-items:center;gap:0;padding:clamp(6.5rem,9vh,8rem) 8vw clamp(3rem,6vh,5rem);display:grid;position:relative;overflow:hidden}.hero:before,.hero:after{z-index:-1;content:"";pointer-events:none;position:absolute}.hero:before{background:linear-gradient(102deg,#28181deb 0%,#4a212ccc 52%,#651d319e 100%),linear-gradient(#140e102e,#140e1085);inset:0}.hero:after{background:radial-gradient(circle at 38% 66%,#f19a4a47,#b84b381a 56%,#0000 72%);border-radius:50%;width:clamp(24rem,42vw,40rem);height:clamp(24rem,42vw,40rem);top:-12rem;right:-7rem}.hero__background{z-index:-3;width:100%;height:100%;display:block;position:absolute;inset:0}.hero__background--video{object-fit:cover}.hero__background--static{background:radial-gradient(circle at 80% 30%, #f19a4a8c, transparent 38%), linear-gradient(120deg, #3a2026, var(--wine-red))}.hero__content{z-index:2;width:100%;max-width:60rem;position:relative}.hero__motto{margin:0 0 var(--space-4);color:var(--card)}@supports (color:color-mix(in lab, red, red)){.hero__motto{color:color-mix(in srgb, var(--card) 80%, var(--warm-orange))}}.hero__motto{font-size:var(--text-xs);letter-spacing:.26em;font-weight:850}.hero__eyebrow{margin:0 0 var(--space-5);border-radius:var(--radius-pill);color:var(--card);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;background:#fffdfa1a;border:1px solid #fffdfa4d;padding:.5rem .95rem;font-weight:800;display:inline-flex}.hero__name{letter-spacing:-.06em;margin:0;font-size:clamp(6rem,9vw,10rem);font-weight:900;line-height:.9}.hero__statement{max-width:28ch;color:var(--warm-orange);letter-spacing:-.02em;margin:1.6rem 0 0;font-size:clamp(1.35rem,2.15vw,2.1rem);font-weight:800;line-height:1.4}.hero__summary{color:#fffdfacc;max-width:52rem;font-size:clamp(1.05rem,1.25vw,1.3rem);line-height:var(--leading-relaxed);margin:1.2rem 0 0}.hero__tags{margin:var(--space-8) 0 0;gap:var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.hero__tags li{border-radius:var(--radius-pill);color:#fffdfae0;background:#fffdfa17;border:1px solid #fffdfa38;padding:.5rem .85rem;font-size:clamp(.78rem,.9vw,1rem);font-weight:700}.hero__actions{margin-top:var(--space-12);gap:var(--space-4);flex-wrap:wrap;display:flex}.hero .button--dark{border-color:var(--warm-orange);background:var(--warm-orange);color:var(--wine-red)}.hero .button--light{color:var(--card);background:#fffdfa1a;border-color:#fffdfa70}.hero__visual{z-index:1;place-self:stretch end;align-items:flex-end;width:100%;height:100svh;margin-top:calc(-1*clamp(6.5rem,9vh,8rem));margin-bottom:calc(-1*clamp(3rem,6vh,5rem));display:flex;position:relative}.hero__portrait{z-index:2;filter:drop-shadow(0 30px 50px #14081073);margin:0;position:relative}.hero__portrait img{object-fit:contain;object-position:center bottom;width:auto;max-width:124%;height:min(80svh,54rem);margin-left:auto;display:block}.hero .button{min-height:3.5rem;padding-inline:1.5rem;font-size:1rem}.hero__portrait-accent{z-index:1;color:#fffdfa14;letter-spacing:-.09em;writing-mode:vertical-rl;font-size:clamp(4.5rem,10vw,9rem);font-weight:900;line-height:.8;position:absolute;top:19%;right:-.08em}.section-anchor{scroll-margin-top:7.5rem}.content-section,.projects-section{width:min(calc(100% - 3rem), var(--content-width));margin:0 auto;scroll-margin-top:7.5rem}.content-section{padding:var(--section-gap) 0}.section-heading{gap:var(--space-5);max-width:52rem;margin-bottom:clamp(2.75rem,5vw,4.5rem);display:grid;position:relative}.section-heading__label{align-items:center;gap:var(--space-3);color:var(--brick-red);font-size:var(--text-xs);letter-spacing:.22em;text-transform:uppercase;font-weight:850;display:flex;position:relative}.section-heading__label span:first-child{border-radius:var(--radius-sm);background:var(--ink);min-width:2.4rem;height:2.4rem;color:var(--card);letter-spacing:.02em;place-items:center;padding:0 .5rem;font-size:.8rem;font-weight:900;display:grid}.section-heading__label span:nth-child(2){position:relative}.section-heading__label:after{background:linear-gradient(90deg, var(--line), transparent);content:"";flex:1;height:1px}.section-heading h2{max-width:14ch;font-size:var(--text-4xl);letter-spacing:-.05em;font-weight:900;line-height:var(--leading-tight);margin:0}.section-heading>p{max-width:40rem;color:var(--muted);font-size:var(--text-base);line-height:var(--leading-relaxed);margin:0}.education-section{position:relative;overflow:clip}.education-section:before{z-index:-1;background:var(--brick-tint);content:"";opacity:.55;border-radius:35% 65% 42% 58%;width:12rem;height:12rem;position:absolute;top:10%;right:-8%;transform:rotate(12deg)}.education-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:1.25rem;display:grid}.education-card,.experience-card,.skill-card{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--card);box-shadow:var(--shadow-sm)}.education-card{min-height:0;transition:transform .32s var(--ease-out), box-shadow .32s var(--ease-out);flex-direction:column;padding:clamp(1.6rem,3vw,2.4rem);display:flex;position:relative;overflow:hidden}.education-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.education-card:after{background:var(--warm-tint);content:"";opacity:.4;border-radius:50%;width:9rem;height:9rem;position:absolute;bottom:-3.5rem;right:-3.5rem}.education-card:nth-child(2):after{background:var(--brick-tint)}.education-card__topline{z-index:1;color:var(--muted);font-size:var(--text-sm);justify-content:space-between;align-items:center;gap:1rem;font-weight:800;display:flex;position:relative}.education-card__brand{align-items:center;gap:.85rem;display:flex}.education-card__logo{object-fit:contain;background:var(--card);width:3.25rem;height:3.25rem;box-shadow:0 0 0 1px var(--line);border-radius:50%;display:block}.education-card__number{color:var(--brick-red);letter-spacing:-.04em;font-size:1.5rem;font-weight:900}.education-card h3{z-index:1;letter-spacing:-.035em;font-size:clamp(1.6rem,2.8vw,2.1rem);line-height:var(--leading-snug);margin:2rem 0 0;position:relative}.education-card__degree{z-index:1;color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-normal);margin:.7rem 0 0;position:relative}.education-card__gpa{z-index:1;border-radius:var(--radius-pill);background:var(--ink);width:fit-content;color:var(--card);font-size:var(--text-xs);letter-spacing:.02em;margin:1.1rem 0 0;padding:.38rem .7rem;font-weight:850;position:relative}.education-card ul,.experience-card ul,.skill-card ul{margin:0;padding:0;list-style:none}.education-card li{margin-top:.6rem;padding-left:1.1rem;font-size:.9rem;font-weight:700;position:relative}.education-card li:before{background:var(--brick-red);content:"";border-radius:50%;width:.4rem;height:.4rem;position:absolute;top:.5rem;left:0}.education-card__highlights{z-index:1;flex-wrap:wrap;gap:.5rem;display:flex;position:relative;margin:1.3rem 0 0!important}.education-card__highlights li{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--ivory);margin-top:0;padding:.34rem .62rem}@supports (color:color-mix(in lab, red, red)){.education-card__highlights li{background:color-mix(in srgb, var(--ivory) 60%, transparent)}}.education-card__highlights li{color:var(--ink);font-size:var(--text-xs);font-weight:750}.education-card__highlights li:before{content:none}.education-card__honors{z-index:1;margin-top:auto;padding-top:1.5rem;position:relative}.education-group+.education-group{margin-top:1.4rem}.education-group h4{color:var(--brick-red);font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .75rem;font-weight:850}.education-group ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem 1rem;display:grid}.education-group li{margin-top:0}.education-summary{z-index:1;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--card);box-shadow:var(--shadow-sm);margin-top:1.25rem;padding:clamp(1.5rem,3vw,2.4rem);display:grid;position:relative}.education-summary section{grid-template-columns:minmax(10rem,.32fr) minmax(0,1.68fr);align-items:start;gap:clamp(1.25rem,4vw,3.5rem);padding:1.15rem 0;display:grid}.education-summary section+section{border-top:1px solid var(--wine-red)}@supports (color:color-mix(in lab, red, red)){.education-summary section+section{border-top:1px solid color-mix(in srgb, var(--wine-red) 18%, transparent)}}.education-summary h3{color:var(--wine-red);letter-spacing:-.035em;margin:0;font-size:clamp(1.2rem,2vw,1.6rem)}.education-summary ul{margin:0;padding:0;list-style:none}.education-summary__competitions ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem 1.5rem;display:grid}.education-summary__competitions li{color:var(--ink);padding-left:1rem;font-size:.88rem;font-weight:750;line-height:1.55;position:relative}.education-summary__competitions li:before{background:var(--brick-red);content:"";border-radius:50%;width:.4rem;height:.4rem;position:absolute;top:.55rem;left:0}.education-summary__courses ul{flex-wrap:wrap;gap:.55rem;display:flex}.education-summary__courses li{border:1px solid var(--wine-red);padding:.48rem .75rem}@supports (color:color-mix(in lab, red, red)){.education-summary__courses li{border:1px solid color-mix(in srgb, var(--wine-red) 18%, var(--line))}}.education-summary__courses li{background:var(--card);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.education-summary__courses li{background:color-mix(in srgb, var(--card) 72%, transparent)}}.education-summary__courses li{color:var(--ink);font-size:.8rem;font-weight:750}.experience-section{padding-bottom:clamp(5rem,10vw,8.5rem);position:relative}.experience-section:before{z-index:-1;background:var(--warm-tint);position:absolute;inset:clamp(2rem,4vw,3rem) calc(50% - 50vw)}@supports (color:color-mix(in lab, red, red)){.experience-section:before{background:color-mix(in srgb, var(--warm-tint) 22%, transparent)}}.experience-section:before{content:"";pointer-events:none}.experience-timeline{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,4vw,3rem) clamp(3rem,7vw,6rem);display:grid;position:relative}.experience-timeline:before{background:linear-gradient(180deg, transparent, var(--line) 12%, var(--line) 88%, transparent);content:"";width:1px;position:absolute;top:0;bottom:0;left:50%}.experience-card{transition:transform .32s var(--ease-out), box-shadow .32s var(--ease-out);padding:clamp(1.6rem,3vw,2.4rem);position:relative}.experience-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.experience-card:nth-child(2n){grid-column:2;margin-top:clamp(3rem,6vw,4.5rem)}.experience-card__dot{border:4px solid var(--ivory);background:var(--brick-red);width:.95rem;height:.95rem;box-shadow:0 0 0 1px var(--brick-red);border-radius:50%;position:absolute;top:2.5rem;right:calc(-1*clamp(1.5rem,3.5vw,3rem) - .48rem)}.experience-card:nth-child(2n) .experience-card__dot{background:var(--brick-red);box-shadow:0 0 0 1px var(--brick-red);left:calc(-1*clamp(1.5rem,3.5vw,3rem) - .48rem);right:auto}.experience-card__meta{color:var(--muted);font-size:var(--text-xs);justify-content:space-between;align-items:center;gap:1rem;font-weight:800;display:flex}.experience-card__meta span{border-radius:var(--radius-pill);background:var(--ink);color:var(--card);font-size:var(--text-xs);letter-spacing:.01em;padding:.4rem .7rem;font-weight:850}.experience-card h3{letter-spacing:-.035em;font-size:clamp(1.45rem,2.8vw,1.95rem);line-height:var(--leading-snug);margin:1.3rem 0 1.6rem}.experience-card__section+.experience-card__section{margin-top:1.5rem}.experience-card__section h4{color:var(--brick-red);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .6rem;font-weight:850}.experience-card__section p,.experience-card__section li{color:var(--muted);font-size:.9rem;line-height:var(--leading-normal)}.experience-card__section p{margin:0}.experience-card__section li{padding-left:1rem;position:relative}.experience-card__section li:before{background:var(--brick-red);content:"";border-radius:50%;width:.3rem;height:.3rem;position:absolute;top:.72rem;left:0}.experience-card__section--impact{border-radius:var(--radius-sm);background:var(--brick-tint);padding:1.2rem 1.2rem 1.2rem 1.45rem}@supports (color:color-mix(in lab, red, red)){.experience-card__section--impact{background:color-mix(in srgb, var(--brick-tint) 50%, var(--card))}}.experience-card__section--impact{border-left:3px solid var(--brick-red)}.experience-card__section--impact li{color:var(--ink);font-size:.95rem;font-weight:800;line-height:1.5}.experience-card__section--impact li:before{background:var(--brick-red);width:.5rem;height:.5rem}.projects-section{border-top:1px solid var(--line)}.projects-list{gap:clamp(2rem,5vw,4rem);display:grid}.project-card{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--card);box-shadow:var(--shadow-md);transition:transform .32s var(--ease-out), box-shadow .32s var(--ease-out);grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:start;gap:clamp(1.8rem,4vw,3.5rem);padding:clamp(1rem,2.5vw,2rem);display:grid;position:relative}.project-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.project-card--egpt{border-top:3px solid var(--brick-red)}.project-card__visual{gap:1rem;display:grid;position:sticky;top:7.5rem}.project-gallery{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--ivory);overflow:hidden}@supports (color:color-mix(in lab, red, red)){.project-gallery{background:color-mix(in srgb, var(--ivory) 68%, var(--card))}}.project-gallery__frame{background:var(--ivory);overflow:hidden}.project-gallery__frame img{aspect-ratio:16/10;object-fit:cover;width:100%;display:block}.project-gallery__toolbar,.project-gallery__controls{align-items:center;display:flex}.project-gallery__toolbar{justify-content:space-between;gap:1rem;min-height:4rem;padding:.65rem .8rem .65rem 1rem}.project-gallery__position{color:var(--muted);letter-spacing:.08em;font-size:.78rem;font-weight:850}.project-gallery__controls{gap:.5rem}.project-gallery__controls button{border:1px solid var(--line);background:var(--card);width:2.75rem;height:2.75rem;color:var(--ink);cursor:pointer;border-radius:50%;place-items:center;padding:0;font-size:1rem;display:grid}.project-gallery__controls button:disabled{color:var(--muted);cursor:not-allowed;opacity:.45}.project-video{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--ivory);margin:0;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.project-video{background:color-mix(in srgb, var(--ivory) 68%, var(--card))}}.project-video__player{aspect-ratio:16/9;background:var(--ink);width:100%;display:block}.project-video figcaption{color:var(--muted);padding:.85rem 1rem 1rem;font-size:.82rem;line-height:1.65}.project-card__topline{color:var(--muted);font-size:var(--text-xs);letter-spacing:.08em;justify-content:space-between;align-items:center;gap:1rem;font-weight:850;display:flex}.project-card__number{border-radius:var(--radius-pill);background:var(--ink);color:var(--card);letter-spacing:.04em;padding:.42rem .7rem;font-weight:900}.project-card--egpt .project-card__number{background:var(--brick-red)}.project-card h3{letter-spacing:-.045em;font-size:clamp(1.7rem,3.2vw,2.55rem);line-height:var(--leading-tight);margin:1.3rem 0 0}.project-card__role{color:var(--brick-red);font-size:var(--text-sm);margin:.7rem 0 0;font-weight:850}.project-card__details{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem 1.6rem;margin-top:2rem;display:grid}.project-detail{min-width:0}.project-detail h4{color:var(--ink);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .55rem;font-size:.72rem;font-weight:850}.project-detail p,.project-detail li{color:var(--muted);font-size:.88rem;line-height:1.72}.project-detail p,.project-detail ul{margin:0}.project-detail ul{padding:0;list-style:none}.project-detail:not(:has(.project-detail__tags)) li{padding-left:1rem;position:relative}.project-detail:not(:has(.project-detail__tags)) li:before{background:var(--brick-red);content:"";border-radius:50%;width:.3rem;height:.3rem;position:absolute;top:.7rem;left:0}.project-detail__tags{flex-wrap:wrap;gap:.45rem;display:flex}.project-detail__tags li{border:1px solid var(--line);background:var(--ivory);border-radius:999px;padding:.38rem .62rem;font-size:.75rem;font-weight:750;line-height:1.3}.project-detail--impact{border-radius:var(--radius-sm);background:var(--warm-tint);padding:1.15rem 1.15rem 1.15rem 1.4rem}@supports (color:color-mix(in lab, red, red)){.project-detail--impact{background:color-mix(in srgb, var(--warm-tint) 52%, var(--card))}}.project-detail--impact{border-left:3px solid var(--brick-red)}.project-card--egpt .project-detail--impact{background:var(--brick-tint)}@supports (color:color-mix(in lab, red, red)){.project-card--egpt .project-detail--impact{background:color-mix(in srgb, var(--brick-tint) 48%, var(--card))}}.project-card--egpt .project-detail--impact{border-left-color:var(--wine-red)}.project-detail--impact li{color:var(--ink);font-size:.95rem;font-weight:800;line-height:1.5}.project-detail--impact li:before{background:var(--brick-red);width:.5rem;height:.5rem}.project-card--egpt .project-detail--impact li:before{background:var(--wine-red)}.project-detail--prototype{align-content:start;display:grid}.project-detail--prototype .button{width:fit-content;min-height:2.75rem;padding:.65rem 1rem;font-size:.82rem}.skills-section{border-top:1px solid var(--line)}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.skill-card{align-content:start;gap:var(--space-5);min-height:14rem;transition:transform .32s var(--ease-out), box-shadow .32s var(--ease-out);grid-template-rows:auto 1fr;padding:clamp(1.5rem,2.5vw,2rem);display:grid}.skill-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.skill-card__index{color:var(--brick-red);font-size:var(--text-xs);letter-spacing:.06em;font-weight:900}.skill-card h3{font-size:var(--text-xl);letter-spacing:-.02em;margin:.3rem 0 0}.skill-card ul{flex-wrap:wrap;align-content:flex-start;align-self:end;gap:.5rem;display:flex}.skill-card li{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--ivory);padding:.46rem .72rem}@supports (color:color-mix(in lab, red, red)){.skill-card li{background:color-mix(in srgb, var(--ivory) 60%, transparent)}}.skill-card li{color:var(--ink);font-size:var(--text-xs);font-weight:700}.campus-story{--campus-card-top:clamp(5.5rem, 12vh, 8rem);border-top:1px solid var(--line)}.campus-story__grid{grid-template-columns:minmax(0,.56fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,5vw,4rem);display:grid}.campus-story__aside{align-content:start;gap:1rem;padding-top:.25rem;display:grid}.campus-story__eyebrow{color:var(--brick-red);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.74rem;font-weight:850}.campus-story__title{letter-spacing:-.04em;max-width:16ch;margin:.4rem 0 0;font-size:clamp(1.85rem,3.2vw,2.75rem);font-weight:900;line-height:1.18}.campus-story__title span{display:block}.campus-story__lede{max-width:30rem;color:var(--muted);margin:0;font-size:.98rem;line-height:1.85}.campus-story__metrics{flex-wrap:wrap;gap:.5rem;margin:1.1rem 0 0;padding:0;list-style:none;display:flex}.campus-story__metrics li{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:.4rem .72rem}@supports (color:color-mix(in lab, red, red)){.campus-story__metrics li{background:color-mix(in srgb, var(--card) 72%, transparent)}}.campus-story__metrics li{color:var(--ink);font-size:.76rem;font-weight:750}.campus-story__progress{font-variant-numeric:tabular-nums;letter-spacing:.06em;align-items:baseline;gap:.3rem;margin:1.5rem 0 0;display:flex}.campus-story__progress-now{color:var(--brick-red);font-size:1.3rem;font-weight:900}.campus-story__progress-sep{color:var(--line);font-size:1rem;font-weight:800}.campus-story__progress-total{color:var(--muted);font-size:.85rem;font-weight:800}.campus-story__stage{gap:clamp(2.5rem,6vw,4rem);display:grid}.campus-story__track{display:grid}.campus-story__card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--card);box-shadow:var(--shadow-md);transition:transform .46s var(--ease-out), opacity .46s ease, box-shadow .32s var(--ease-out);display:grid;overflow:hidden}.campus-story__card.is-leaving{opacity:.42;transform:translateY(-1.25rem)scale(.955)}.campus-story__card:not(.is-leaving):hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.campus-story__media{background:var(--ivory);position:relative;overflow:hidden}.campus-story__media img{object-fit:cover;width:100%;height:clamp(15rem,40vh,24rem);transition:transform .52s cubic-bezier(.22,.61,.36,1);display:block}.campus-story__card:hover .campus-story__media img{transform:scale(1.035)}.campus-story__badge{background:var(--wine-red);border-radius:999px;padding:.42rem .72rem;position:absolute;top:.9rem;left:.9rem}@supports (color:color-mix(in lab, red, red)){.campus-story__badge{background:color-mix(in srgb, var(--wine-red) 92%, transparent)}}.campus-story__badge{color:var(--card);letter-spacing:.04em;font-size:.72rem;font-weight:850;box-shadow:0 8px 20px #4711224d}.campus-story__body{gap:.55rem;padding:clamp(1.1rem,2.2vw,1.5rem) clamp(1.2rem,2.4vw,1.7rem) clamp(1.3rem,2.6vw,1.7rem);display:grid}.campus-story__card-eyebrow{color:var(--brick-red);letter-spacing:.13em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:850}.campus-story__card-title{letter-spacing:-.03em;margin:.15rem 0 0;font-size:clamp(1.28rem,2vw,1.62rem);font-weight:850;line-height:1.28}.campus-story__card--featured{border-width:1.5px;border-color:var(--brick-red)}@supports (color:color-mix(in lab, red, red)){.campus-story__card--featured{border-color:color-mix(in srgb, var(--brick-red) 38%, var(--line))}}.campus-story__card--featured{box-shadow:0 24px 60px #651d311f}.campus-story__card--featured .campus-story__card-title{font-size:clamp(1.42rem,2.3vw,1.85rem)}.campus-story__card-desc{color:var(--muted);margin:0;font-size:.92rem;line-height:1.75}.campus-story__flow{border:1px dashed var(--brick-red);flex-wrap:wrap;align-items:center;margin:.5rem 0 0;padding:.7rem .95rem;display:flex}@supports (color:color-mix(in lab, red, red)){.campus-story__flow{border:1px dashed color-mix(in srgb, var(--brick-red) 42%, var(--line))}}.campus-story__flow{border-radius:var(--radius-sm);background:var(--warm-tint)}@supports (color:color-mix(in lab, red, red)){.campus-story__flow{background:color-mix(in srgb, var(--warm-tint) 38%, transparent)}}.campus-story__flow{gap:.45rem;list-style:none}.campus-story__flow li{color:var(--wine-red);letter-spacing:.05em;align-items:center;gap:.45rem;font-size:.74rem;font-weight:800;display:inline-flex}.campus-story__flow-arrow{color:var(--brick-red);opacity:.7}.campus-story__tags{flex-wrap:wrap;gap:.45rem;margin:.55rem 0 0;padding:0;list-style:none;display:flex}.campus-story__tags li{border:1px solid var(--line);background:var(--ivory);border-radius:999px;padding:.36rem .66rem}@supports (color:color-mix(in lab, red, red)){.campus-story__tags li{background:color-mix(in srgb, var(--ivory) 62%, transparent)}}.campus-story__tags li{color:var(--ink);font-size:.74rem;font-weight:750}.campus-story__summary{text-align:center;border-top:1px solid var(--line);justify-items:center;gap:.8rem;padding:clamp(3rem,7vw,5rem) clamp(1rem,4vw,3rem);display:grid}.campus-story__summary-en{letter-spacing:-.035em;color:var(--ink);gap:.25rem;margin:0;font-size:clamp(1.5rem,3.4vw,2.5rem);font-weight:900;line-height:1.22;display:grid}.campus-story__summary-en span{display:block}.campus-story__summary-en span:last-child{color:var(--brick-red)}.campus-story__summary-zh{max-width:36rem;color:var(--muted);margin:0;font-size:.98rem;line-height:1.7}.campus-story__chain{color:var(--muted);letter-spacing:.03em;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin:.8rem 0 0;padding:0;font-size:.78rem;font-weight:800;list-style:none;display:flex}.campus-story__chain li{align-items:center;gap:.5rem;display:inline-flex}.campus-story__chain-arrow{color:var(--brick-red);opacity:.7}.campus-story__grid--stacked .campus-story__aside{top:var(--campus-card-top);position:sticky}.campus-story__grid--stacked .campus-story__panel{min-height:clamp(44rem,92vh,60rem)}.campus-story__grid--stacked .campus-story__panel:first-child{min-height:clamp(46rem,94vh,62rem)}.campus-story__grid--stacked .campus-story__card{top:var(--campus-card-top);position:sticky}@media (max-width:1040px){.campus-story__grid{gap:clamp(1.5rem,4vw,2.5rem)}}@media (max-width:859px){.campus-story__grid{grid-template-columns:1fr;gap:clamp(2rem,6vw,3rem)}.campus-story__title{max-width:none}}.contact-section{padding-bottom:2rem}.contact-card{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--warm-tint);justify-content:space-between;align-items:center;gap:2rem;min-height:17rem;padding:clamp(2rem,5vw,4rem);display:flex}.contact-card__note{max-width:33rem;color:var(--muted);margin:0 0 .8rem;line-height:1.7}.contact-card h3{letter-spacing:-.045em;margin:0;font-size:clamp(1.7rem,4vw,3rem)}.contact-card__email{border:1px solid var(--ink);min-height:6rem;padding:1.4rem 1.6rem;display:grid}@supports (color:color-mix(in lab, red, red)){.contact-card__email{border:1px solid color-mix(in srgb, var(--ink) 25%, transparent)}}.contact-card__email{border-radius:var(--radius-md);background:var(--card);box-shadow:var(--shadow-sm);overflow-wrap:anywhere;transition:transform .22s var(--ease-out), box-shadow .22s var(--ease-out);align-content:center;gap:.35rem;font-size:clamp(.9rem,2vw,1.08rem);font-weight:800}.contact-card__email:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.contact-card__email span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}.site-footer{color:var(--muted);justify-content:space-between;align-items:center;gap:1rem;padding:2rem 0 0;font-size:.76rem;font-weight:700;display:flex}.site-footer a{align-items:center;min-height:2.75rem;display:inline-flex}@media (max-width:1120px){.site-header__inner{width:min(calc(100% - 2rem), var(--content-width));min-height:4.75rem}.menu-toggle{display:block}.primary-navigation{border:1px solid var(--line);background:var(--card);border-radius:1.25rem;padding:1rem;display:none;position:absolute;top:calc(100% + .55rem);left:1rem;right:1rem;box-shadow:0 18px 50px #2d2a2a24}.primary-navigation--open{display:grid}.primary-navigation ul{align-items:stretch;gap:0;display:grid}.primary-navigation ul a{width:100%;min-height:2.9rem;padding:0 .5rem;font-size:.92rem}.primary-navigation .button{margin-top:.65rem}}@media (max-width:1040px){.hero{gap:3rem;padding-left:1.25rem;padding-right:1.25rem}.hero__visual{width:min(44vw,36rem)}.hero__portrait img{max-width:100%;transform:none}.content-section,.projects-section{width:min(calc(100% - 2.5rem), var(--content-width))}}@media (max-width:859px){.hero{grid-template-columns:1fr;gap:2rem;min-height:auto;padding:8.25rem 1.25rem 0}.hero__name{font-size:clamp(6rem,23vw,8rem)}.hero__visual{justify-self:center;width:min(96%,32rem);height:auto;margin-top:0;margin-bottom:0;display:block}.hero__portrait img{width:100%;max-width:100%;height:auto;max-height:46rem;transform:none}.education-grid,.skills-grid{grid-template-columns:1fr}.education-section:before{right:1rem}.education-card{min-height:auto}.education-card h3{margin-top:2.5rem}.education-group ul{grid-template-columns:1fr}.education-summary section{grid-template-columns:1fr;gap:.8rem}.education-summary__competitions ul{grid-template-columns:1fr}.experience-timeline{grid-template-columns:1fr;gap:1.2rem;padding-left:1.7rem}.experience-timeline:before{left:.45rem;right:auto}.experience-card:nth-child(2n){grid-column:1;margin-top:0}.experience-card__dot,.experience-card:nth-child(2n) .experience-card__dot{top:2.4rem;left:-1.74rem;right:auto}.project-card{grid-template-columns:1fr}.project-card__visual{position:static}}@media (max-width:520px){.site-logo small{display:none}.hero{padding-left:1rem;padding-right:1rem}.hero__actions{grid-template-columns:1fr;display:grid}.hero__actions .button{width:100%}.education-summary{padding:1.15rem}.content-section,.projects-section{width:min(calc(100% - 2rem), var(--content-width))}.content-section{padding:4.5rem 0}.section-heading{margin-bottom:2rem}.experience-card__meta,.contact-card,.site-footer{flex-direction:column;align-items:flex-start}.experience-card__meta{display:flex}.contact-card__email{width:100%}.project-card__details{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
