@import"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap";@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Serif:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap";:root{--font-body: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--color-text: #0F1729;--color-primary: #2641CA;--color-primary-dark: #1530BA;--color-surface: #EEF0FE;--color-muted: #475569;--color-text-muted: #65656D;--color-border: #e5e7eb;--color-white: #ffffff;--shadow-chip: 0 3px 10px 1px rgba(0, 0, 0, .03);--font-weight-narrow: 300;--font-weight-regular: 400;--font-weight-semibold: 600;--text-base: .9rem;--text-lg: 1.1rem;--text-xl: 1.25rem;--text-2xl: 1.6rem;--text-3xl: 1.8rem;--text-4xl: clamp(1.8rem, 3.5vw, 3rem);--text-button: .875rem;--hero-type-size: clamp(3rem, 8vw, 3.5rem);--hero-type-spacing: -.04em;--line-height-body: 1.6;--line-height-tight: 1.2;--letter-spacing-tight: -.02em;--letter-spacing-wide: .01em;--letter-spacing-body: -.005em;--nav-height: 72px}*{padding:0;margin:0;box-sizing:border-box;font-family:var(--font-body);text-decoration:none;list-style:none}html{scroll-behavior:smooth}body{display:flex;flex-direction:column;background-color:var(--color-white);background-position:top;background-size:100% auto;background-attachment:fixed;background-repeat:repeat-y;color:var(--color-text);font-family:var(--font-body);font-size:var(--text-base);font-weight:var( --font-weight-regular);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body);cursor:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAADHSURBVHgBlZFBEsFAEEX7N3YWbCg7bsAJcBBqbpCrcIMoB8EJ5AbJTrFhpVAy30wqsVJJ/MXMVNf70139Ibliw07bSkBwRsosK0IiWLvubZthwcEfJ8OhWu7ccyi/lVjFfBAiyQznpY1L4K/prpg0Lou3EcBItTot8qmEBlJTAKbq7nFdg1+Gyp9SQPZ1YcdGmpKHuoYUdo2rC+xFHoUVa4Uk/Y2OtBviZoG5L5TBGSN50oVc4kbJwHUb5zPv/cgP1dXIfexrHzj6SliyIZDHAAAAAElFTkSuQmCC) auto}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--font-weight-regular);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}p{font-family:var(--font-body);font-size:var(--text-base);font-weight:var( --font-weight-regular);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body)}.about-page{min-height:80vh;display:flex;align-items:center;justify-content:center;padding:80px 24px}.about-content{max-width:760px;width:100%;display:flex;flex-direction:column;gap:16px}.eyebrow{font-size:var(--text-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-primary)}.about-content h1{font-size:var(--text-4xl);font-weight:var(--font-weight-regular);font-family:var(--font-display);letter-spacing:var(--letter-spacing-tight)}.about-content h1 span{color:var(--color-primary)}.about-intro{font-size:var(--text-lg);line-height:var(--line-height-body);max-width:680px}.about-highlights{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.about-chip{padding:10px 14px;border-radius:999px;background:var(--color-surface);color:var(--color-primary);font-size:var(--text-sm)}.about-link{margin-top:12px;color:var(--color-text);font-weight:var(--font-weight-semibold);width:fit-content}@media (max-width: 1024px){:root{--text-lg: 1rem;--text-2xl: 1.35rem;--text-4xl: clamp(1.75rem, 3.2vw, 2.4rem)}}@media (max-width: 768px){:root{--text-base: .95rem;--text-lg: .95rem;--text-2xl: 1.2rem;--text-4xl: clamp(1.5rem, 4vw, 2rem);--hero-type-size: 3rem;--hero-type-spacing: -.03em;--line-height-body: 1.55}}.spacing{height:4vh}.deprecated-projects-section{padding:40px 40px 80px;background:#ffffff}.deprecated-projects-table-wrapper{overflow-x:auto}.deprecated-projects-table{width:100%;border-collapse:collapse;font-size:.95rem}.deprecated-projects-table tr{border-bottom:1px solid var(--color-border);transition:border-color .2s ease}.deprecated-projects-table tr:hover{border-bottom-color:var(--color-primary)}.deprecated-projects-table td{padding:24px 0;text-align:left;vertical-align:bottom}.deprecated-project-link{display:flex;align-items:flex-start;gap:24px;width:100%;font-family:var(--font-display);color:var(--color-text);transition:color .2s ease}.deprecated-project-year{width:14%;min-width:8%;text-align:left}.deprecated-project-link:hover{color:var(--color-primary)}.deprecated-project-preview{position:fixed;z-index:2000;pointer-events:none;width:min(360px,44vw);background:#ffffff;border:1px solid #e5e7eb;box-shadow:0 12px 30px #0f17291f;overflow:hidden;animation:archive-preview-float 1.8s ease-in-out infinite;transform:translateZ(0)}.deprecated-project-preview img{display:block;width:100%;height:auto;max-height:260px;object-fit:cover}@keyframes archive-preview-float{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-6px,0)}}.skill-map{margin:40px 0 40px 40px}.portrait{width:70%}.head-content{margin-top:60px;width:70%}.hero-text{margin-top:16px;margin-left:40px;display:flex;flex-direction:column}.hero-text p{font-size:var(--text-base);line-height:var(--line-height-body);margin-right:8vw}.hero-text h1{font-size:2rem;font-weight:var( --font-weight-regular);margin-bottom:10px}.hero-name{margin-top:16px;margin-left:40px}.hero-name h3{font-size:var(--text-2xl);font-weight:var(--font-weight-narrow);letter-spacing:var(--letter-spacing-wide);font-family:"IBM Plex Serif",serif;font-style:italic;color:var(--color-text);margin-bottom:10px}.hero-typewriter{display:flex;flex-direction:column;margin-top:8px;margin-left:40px;gap:10px;font-size:var(--hero-type-size);font-weight:var(--font-weight-semibold);letter-spacing:var(--hero-type-spacing);transition:opacity 1s ease-in-out}#contact{display:flex;padding:80px 0;border-top:1px solid var(--color-primary);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background-color:var(--color-surface)}#contact .left-contact{width:50%}.hero-socials{display:inline-flex;margin:40px;flex-direction:column;align-items:flex-start}.contact-section{width:50%;height:300px;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start}.contact-section p{padding-top:24px;width:70%}.contact-section h1{font-weight:var(--font-weight-semibold);font-size:var(--hero-type-size);letter-spacing:-4px}.contact-section a{margin-top:64px}.contact-section a img{margin-right:-8px;width:40px}@media (max-width: 1024px){.contact-section h1{font-size:var(--text-4xl);letter-spacing:-.5px}}@media (max-width: 768px){.head-content{width:100%}.head-container{flex-direction:column-reverse}.hero-text{margin-left:16px}.portrait{width:100%}.skill-map{margin:32px 10px 10px;gap:5px}p{line-height:20px}.footer{padding:24px}.social-link{padding:0 4px 0 2px;margin-right:8px}#contact{flex-direction:column;padding:40px 0}#contact .left-contact{width:90%}.hero-socials{margin:0 14px;flex-direction:row}.contact-section{width:90%;margin:24px 16px}.contact-section h1{letter-spacing:-1.5px}.contact-section p{width:95%}.contact-section a{margin-top:24px;font-size:var(--text-2xl)}}@media (max-width: 576px){:root{--hero-type-size: 2.25rem;--hero-type-spacing: -.02em}.skill-map{padding:0}.footer{padding:16px;flex-direction:column-reverse}}.header{position:sticky;background-color:#eef0fe73;top:0;z-index:1}nav{display:flex;justify-content:space-between;align-items:stretch;width:100%;min-height:var(--nav-height);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.logo{display:flex;align-items:stretch;justify-content:center;min-height:var(--nav-height);background-color:var(--color-primary)}.logo a,.menu a,.home-button{font-size:var(--text-button);font-weight:var(--font-weight-regular);font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);line-height:1}.logo a{display:inline-flex;align-items:center;justify-content:center;height:var(--nav-height);padding:0 24px;transition:.2s all ease-in-out;color:var(--color-white)}.logo a:hover{opacity:1;color:#a3b3ff}.menu-icon{display:none}.menu{display:flex;align-items:center;padding:0 16px;transition:.2s all ease-in-out;color:var(--color-text)}.menu a{display:inline-flex;align-items:center;margin:0 16px;padding:2px 0;text-align:center;transition:.2s all ease-in-out;color:var(--color-text);position:relative}.menu a:hover{opacity:1;color:var(--color-primary-dark)}.menu a:after{content:"";position:absolute;width:100%;height:1px;background:var(--color-primary-dark);bottom:-2px;left:0;transform:scaleX(0);transform-origin:left;transition:transform .5s ease}.menu a:hover:after{transform:scaleX(1)}#menu-toggle{display:none}#menu-toggle:checked~.menu{transform:scale(1)}@media (max-width: 950px){.hero-typewriter{margin-left:16px}.menu{flex-direction:column;background:rgba(238,240,254,.72);backdrop-filter:blur(14px) saturate(130%);-webkit-backdrop-filter:blur(14px) saturate(130%);border-top:1px solid rgba(74,74,75,.25);border-bottom:1px solid rgba(74,74,75,.16);align-items:center;position:absolute;top:72px;left:0;width:100%;min-height:auto;padding:12px 0;box-shadow:0 10px 24px #0f172914;z-index:1;transform:scaleY(0);transform-origin:top;transition:transform .3s ease-in-out}.menu a{height:auto;width:100%;margin:8px 16px;padding:12px 0}.menu a:hover{color:var(--color-text)}.menu a:after,.menu a:hover:after{display:none}.menu li{margin-bottom:10px;width:100%}.menu-icon{display:flex;align-items:center;justify-content:center;width:64px;padding:0;height:64px;color:var(--color-text);font-size:var(--text-2xl);line-height:1;text-align:center;cursor:pointer}}.head-container{display:flex;justify-content:space-between;height:10%}.portrait img{width:100%}.heading h1{font-size:var(--text-2xl);font-weight:var(--font-weight-semibold)}h3{font-size:var(--text-xl);font-weight:var(--font-weight-regular);color:var(--color-text-muted)}.skill{padding:6px;display:flex;justify-content:flex-start;align-items:flex-start;width:100%;height:48px}.scevo{border-radius:8px;background-color:var(--color-white);box-shadow:var(--shadow-chip);border:1px solid rgba(240,240,240);color:var(--color-text);display:flex;align-items:center;justify-content:center;width:100%;height:100%;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:.2s all ease-in-out}.scevo p{display:flex;padding:2px 12px;color:inherit}.social-link,.contact-section a{display:inline-flex;white-space:nowrap;align-items:center;font-weight:var(--font-weight-narrow);font-size:var(--text-3xl);font-style:italic;font-family:"IBM Plex Serif",serif;letter-spacing:var(--letter-spacing-wide);color:var(--color-text);line-height:26px;text-decoration:none;padding-bottom:2px;position:relative;transition:color .2s ease-in-out}.social-link{font-size:var(--text-xl);margin-top:16px}.social-link:hover,.contact-section a:hover{color:var(--color-primary-dark)}.social-link:after,.contact-section a:after{content:"";position:absolute;width:100%;height:2px;background:var(--color-primary);bottom:-2px;left:0;transform:scaleX(0);transform-origin:left;transition:transform .5s ease}.social-link:hover:after,.contact-section a:hover:after{transform:scaleX(1)}.social-link img,.contact-section a img{margin-right:-6px;opacity:0;transform:translate(-5px);transition:opacity .5s ease,transform .5s ease}.social-link img{width:32px}.social-link:hover img,.contact-section a:hover img{opacity:1;transform:translate(0)}.footer{display:flex;justify-content:space-between;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);text-align:left;background-color:var(--color-surface);bottom:0;width:100%}@media (max-width: 400px){:root{--hero-type-size: 2rem;--hero-type-spacing: -.02em}.hero-text h1{font-size:1.2rem}.spacing{height:3vh}}#projects{padding:clamp(36px,6vw,80px) 0}#projects .project-map{margin:0 40px;display:flex;flex-direction:column}#projects .project-row{border-top:1px solid var(--color-border);padding:clamp(24px,5vw,96px) 0}#projects .project-row:first-child{border-top:none;padding-top:0}#projects .project-card{display:grid;grid-template-columns:minmax(80px,.6fr) minmax(220px,1.4fr) minmax(0,2.2fr);gap:clamp(20px,3vw,44px);align-items:start;width:100%;color:var(--color-text);text-decoration:none;margin-bottom:0;height:auto}#projects .project-titleblock{width:100%;display:flex;flex-direction:column;min-height:100%}#projects .project-name{font-size:clamp(1.05rem,1.8vw,1.32rem);font-weight:var(--font-weight-semibold);letter-spacing:-.01em;height:24px}.deprecated-project-name{font-size:clamp(1.05rem,1.8vw,1.32rem);font-weight:var(--font-weight-semibold);letter-spacing:-.01em;line-height:var(--line-height-tight);height:auto;white-space:normal}#projects .project-subtitle{margin-top:auto;padding-top:14px;font-family:var(--font-body);font-style:normal;font-weight:var(--font-weight-regular);font-size:var(--text-base);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body);color:var(--color-text-muted);opacity:0;transform:translateY(14px);filter:blur(2px);transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1),filter .75s cubic-bezier(.22,1,.36,1);will-change:opacity,transform,filter}#projects .project-card:hover .project-subtitle,#projects .project-card:focus-visible .project-subtitle{opacity:1;transform:translateY(0);filter:blur(0)}#projects .project-meta{width:100%;font-size:clamp(.95rem,1.1vw,1.05rem);line-height:1.45;padding-top:2px}#projects .project-date,.deprecated-project-year{display:block;font-size:clamp(.95rem,1.4vw,1.15rem);font-weight:var(--font-weight-narrow);letter-spacing:var(--letter-spacing-wide);line-height:var(--line-height-tight);font-style:italic;font-family:"IBM Plex Serif",serif}#projects .project-img{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;border-radius:2px;background:#efefef}#projects .project-img img,#projects .project-img video{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .45s ease,filter .45s ease}#projects .project-card:hover .project-img img,#projects .project-card:hover .project-img video{transform:scale(1.045);filter:brightness(.94)}@media (max-width: 1024px){#projects .project-card{grid-template-columns:minmax(210px,1fr) minmax(0,1.8fr);grid-template-areas:"title media" "meta media"}#projects .project-titleblock{grid-area:title}#projects .project-meta{grid-area:meta;margin-top:16px}#projects .project-img{grid-area:media}}@media (max-width: 768px){.deprecated-projects-section{padding:24px 16px 64px}.deprecated-projects-table td{padding:18px 0;vertical-align:middle}.deprecated-project-link{gap:12px;align-items:center}.deprecated-project-year{width:auto;min-width:fit-content;white-space:nowrap}#projects .project-map{margin:0 16px}#projects .project-row{padding:36px 0}#projects .project-card{grid-template-columns:1fr auto;grid-template-areas:"title meta" "media media";gap:14px}#projects .project-titleblock{min-height:auto;min-width:0}#projects .project-name{white-space:normal;overflow:visible;text-overflow:clip;height:auto}#projects .project-meta{width:auto;margin-top:0;padding-top:0;justify-self:end;text-align:right}#projects .project-date{white-space:nowrap;height:auto}#projects .project-subtitle,#projects .project-card:hover .project-subtitle,#projects .project-card:focus-visible .project-subtitle{display:none;opacity:0;transform:none;filter:none}#projects .project-img{aspect-ratio:3 / 2;margin-top:8px}}
