@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-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif: "IBM Plex Serif", Georgia, serif;--font-body: var(--font-sans);--font-display: var(--font-sans);--font-weight-light: 300;--font-weight-regular: 400;--font-weight-semibold: 600;--font-weight-narrow: var(--font-weight-light);--color-white: #ffffff;--color-black: #0F1729;--color-primary: #2641CA;--color-primary-dark: #1530BA;--color-primary-xdk: #0d2496;--color-surface: #EEF0FE;--color-bg: #ffffff;--color-text: #0F1729;--color-text-muted: #65656D;--color-muted: #475569;--color-border: #e5e7eb;--text-xs: .8rem;--text-sm: .875rem;--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: var(--text-sm);--text-hero: clamp(3rem, 8vw, 3.5rem);--text-hero-spacing: -.04em;--leading-tight: 1.2;--leading-snug: 1.4;--leading-body: 1.6;--line-height-tight: var(--leading-tight);--line-height-body: var(--leading-body);--tracking-tight: -.02em;--tracking-snug: -.01em;--tracking-normal: -.005em;--tracking-wide: .01em;--tracking-wider: .12em;--letter-spacing-tight: var(--tracking-tight);--letter-spacing-wide: var(--tracking-wide);--letter-spacing-body: var(--tracking-normal);--hero-type-size: var(--text-hero);--hero-type-spacing: var(--text-hero-spacing);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-14: 56px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--shadow-chip: 0 3px 10px 1px rgba(0, 0, 0, .03);--shadow-card: 0 4px 16px rgba(15, 23, 41, .06);--shadow-popup: 0 12px 30px rgba(15, 23, 41, .12);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-full: 999px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.16, 1, .3, 1);--duration-fast: .2s;--duration-base: .3s;--duration-slow: .5s;--duration-slower: .65s;--nav-height: 72px;--page-gutter: clamp(16px, 4vw, 56px);--content-max-w: 1280px;--text-max-w: 680px}@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);--text-hero: 3rem;--text-hero-spacing: -.03em;--leading-body: 1.55}}@media (max-width: 576px){:root{--text-hero: 2.25rem;--text-hero-spacing: -.02em}}@media (max-width: 400px){:root{--text-hero: 2rem;--text-hero-spacing: -.02em}}.text-eyebrow{font-family:var(--font-serif);font-style:italic;font-weight:var(--font-weight-light);font-size:var(--text-lg);letter-spacing:var(--tracking-wide);line-height:var(--leading-tight);color:var(--color-text-muted)}.text-hero{font-family:var(--font-sans);font-size:var(--text-hero);font-weight:var(--font-weight-semibold);letter-spacing:var(--text-hero-spacing);line-height:var(--leading-tight);color:var(--color-text)}.text-page-title{font-family:var(--font-sans);font-size:var(--text-4xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);color:var(--color-text)}.text-page-title .accent{color:var(--color-primary)}.text-section-title{font-family:var(--font-sans);font-size:var(--text-4xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-snug);line-height:1.2;color:var(--color-text)}.text-card-title{font-family:var(--font-sans);font-size:clamp(1.05rem,1.8vw,1.32rem);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-snug);line-height:1.2;color:var(--color-text)}.text-subtitle{font-family:var(--font-serif);font-style:italic;font-weight:var(--font-weight-light);font-size:var(--text-xl);line-height:var(--leading-body);color:var(--color-text)}.text-body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-weight-regular);line-height:var(--leading-body);letter-spacing:var(--tracking-normal);color:var(--color-text-muted)}.text-caption{display:block;font-family:var(--font-serif);font-style:italic;font-weight:var(--font-weight-light);font-size:clamp(.95rem,1.4vw,1.15rem);letter-spacing:var(--tracking-wide);line-height:var(--leading-tight);color:var(--color-text-muted)}@media (max-width: 768px){.text-subtitle{font-size:var(--text-lg)}.text-card-title{max-width:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:none;border-radius:0;background:none;cursor:pointer;font-family:var(--font-sans);font-size:var(--text-button);font-weight:var(--font-weight-regular);text-transform:uppercase;letter-spacing:var(--tracking-wide);line-height:1;text-decoration:none;transition:background-color var(--duration-fast) ease,color var(--duration-fast) ease,opacity var(--duration-fast) ease}.btn-primary{background-color:var(--color-primary-dark);color:var(--color-white);padding:var(--space-6) var(--space-10)}.btn-primary:hover{background-color:var(--color-primary-xdk);color:var(--color-white)}@media (max-width: 768px){.btn-primary{padding:var(--space-6) var(--space-6)}}.link-underline{display:inline-flex;align-items:center;color:var(--color-text);font-weight:var(--font-weight-semibold);text-decoration:none;position:relative;transition:color var(--duration-fast) ease}.link-underline:after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:var(--color-primary);transform:scaleX(0);transform-origin:left;transition:transform var(--duration-base) ease}.link-underline:hover{color:var(--color-primary-dark)}.link-underline:hover:after{transform:scaleX(1)}.link-arrow{display:inline-flex;white-space:nowrap;align-items:center;font-family:var(--font-serif);font-style:italic;font-weight:var(--font-weight-light);font-size:var(--text-xl);letter-spacing:var(--tracking-wide);color:var(--color-text);text-decoration:none;padding-bottom:2px;position:relative;transition:color var(--duration-fast) ease}.link-arrow:after{content:"";position:absolute;width:100%;height:2px;background:var(--color-primary);bottom:-2px;left:0;transform:scaleX(0);transform-origin:left;transition:transform var(--duration-slow) ease}.link-arrow:hover{color:var(--color-primary-dark)}.link-arrow:hover:after{transform:scaleX(1)}.link-arrow img{margin-right:-6px;width:32px;opacity:0;transform:translate(-5px);transition:opacity var(--duration-slow) ease,transform var(--duration-slow) ease}.link-arrow:hover img{opacity:1;transform:translate(0)}@media (max-width: 768px){.link-arrow{font-size:var(--text-2xl)}}.chip{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);border:1px solid rgba(240,240,240,1);background-color:var(--color-white);box-shadow:var(--shadow-chip);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-weight-regular);padding:0 var(--space-3);min-height:44px;transition:all var(--duration-fast) ease}.chip p,.chip span{padding:2px var(--space-3);color:inherit}.page-section{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}*{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-bg);color:var(--color-text);font-size:var(--text-base);font-weight:var(--font-weight-regular)}.date{font-family:var(--font-serif);font-size:clamp(.95rem,1.4vw,1.15rem);font-weight:var(--font-weight-light);letter-spacing:var(--tracking-wide);line-height:var(--leading-tight);font-style:italic}.title{font-size:clamp(1.05rem,1.8vw,1.32rem);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-snug);line-height:var(--leading-tight)}.footer{display:flex;justify-content:space-between;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background-color:var(--color-surface);padding:18px clamp(16px,3vw,40px);width:100%}@media (max-width: 768px){.footer{padding:var(--space-6)}}@media (max-width: 576px){.footer{padding:var(--space-4);flex-direction:column-reverse}}.skill{padding:var(--space-1);display:flex;justify-content:flex-start;align-items:flex-start;width:100%;height:var(--space-12)}.scevo{border-radius:var(--radius-md);background-color:var(--color-white);box-shadow:var(--shadow-chip);border:1px solid var(--color-border);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:all var(--duration-fast) ease}.scevo p{display:flex;padding:var(--space-1) var(--space-3);color:var(--color-text)}.head-container{display:flex;justify-content:space-between}.head-content{margin-top:var(--space-16);width:70%}.portrait{width:70%}.portrait img{width:100%}.hero-name{margin-top:var(--space-4);margin-left:var(--space-10)}.hero-name h3{font-size:var(--text-2xl);font-weight:var(--font-weight-light);letter-spacing:var(--tracking-wide);font-family:var(--font-serif);font-style:italic;color:var(--color-text);margin:0 var(--space-2)}.hero-typewriter{display:flex;flex-direction:column;margin-top:var(--space-2);margin-left:var(--space-10);gap:var(--space-2);font-size:var(--text-hero);font-weight:var(--font-weight-semibold);letter-spacing:var(--text-hero-spacing);transition:opacity 1s ease-in-out}.hero-text{margin:var(--space-4) var(--space-10);display:flex;flex-direction:column;width:80%}.skill-map{margin:var(--space-10) 0 var(--space-10) var(--space-10)}@media (max-width: 950px){.hero-typewriter{margin-left:var(--space-4)}}@media (max-width: 768px){.head-container{flex-direction:column-reverse}.head-content{width:100%}.hero-name,.hero-text{margin-left:var(--space-4)}.portrait{width:100%}.skill-map{margin:10px;margin-top:var(--space-8);gap:var(--space-1)}}@media (max-width: 576px){.skill-map{padding:0}}.header{position:sticky;top:0;z-index:10;background-color:#eef0fe73}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)}.menu{display:flex;align-items:center;padding:0 var(--space-4);color:var(--color-text);transition:color var(--duration-fast) ease}.menu a{display:inline-flex;align-items:center;margin:0 var(--space-4);padding:2px 0;text-transform:uppercase;font-weight:var(--font-weight-regular);letter-spacing:var(--tracking-snug);line-height:1;color:var(--color-text);position:relative;transition:color var(--duration-fast) ease}.menu a:hover{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 var(--duration-slow) ease}.menu a:hover:after{transform:scaleX(1)}#menu-toggle,.menu-icon{display:none}#menu-toggle:checked~.menu{transform:scale(1)}@media (max-width: 950px){.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:var(--nav-height);left:0;width:100%;padding:var(--space-3) 0;box-shadow:var(--shadow-card);z-index:1;transform:scaleY(0);transform-origin:top;transition:transform var(--duration-base) ease-in-out}.menu a{width:100%;margin:var(--space-2) var(--space-4);padding:var(--space-3) 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;height:64px;color:var(--color-text);font-size:var(--text-2xl);line-height:1;cursor:pointer}}#projects{padding:clamp(36px,6vw,80px) 0}.project-map{margin:0 var(--space-10);display:flex;flex-direction:column}.project-row{border-top:1px solid var(--color-border);padding:clamp(var(--space-6),5vw,var(--space-20)) 0}.project-row:first-child{border-top:none;padding-top:0}.project-card{display:grid;grid-template-columns:minmax(80px,.6fr) minmax(220px,1.4fr) minmax(0,2.2fr);gap:clamp(var(--space-5),3vw,var(--space-10));align-items:start;width:100%;color:var(--color-text)}.project-titleblock{width:100%;display:flex;flex-direction:column;min-height:100%}.project-subtitle{margin-top:auto;opacity:0;transform:translateY(14px);transition:opacity var(--duration-slower) var(--ease-out),transform .75s var(--ease-out),filter .75s var(--ease-out);will-change:opacity,transform,filter}.project-card:hover .project-subtitle,.project-card:focus-visible .project-subtitle{opacity:1;transform:translateY(0);filter:blur(0)}.project-meta{width:100%;font-size:clamp(.95rem,1.1vw,1.05rem);line-height:1.45;padding-top:2px}.project-date{display:block}.project-img{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;border-radius:var(--radius-sm)}.project-img img,.project-img video{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .45s ease,filter .45s ease}.project-card:hover .project-img img,.project-card:hover .project-img video{transform:scale(1.045);filter:brightness(.94)}@media (max-width: 1024px){.project-card{grid-template-columns:minmax(210px,1fr) minmax(0,1.8fr);grid-template-areas:"title media" "meta  media"}.project-titleblock{grid-area:title}.project-meta{grid-area:meta;margin-top:var(--space-4)}.project-img{grid-area:media}}@media (max-width: 768px){.project-map{margin:0 var(--space-4)}.project-row{padding:36px 0}.project-card{grid-template-columns:1fr auto;grid-template-areas:"title meta" "media media";gap:14px}.project-titleblock{min-height:auto;min-width:0}.project-meta{width:auto;margin-top:0;padding-top:0;justify-self:end;text-align:right}.project-date{white-space:nowrap;height:auto;align-content:end}.project-subtitle,.project-card:hover .project-subtitle,.project-card:focus-visible .project-subtitle{display:none}.project-img{aspect-ratio:3 / 2;margin-top:var(--space-2)}}.heading h1{font-size:var(--text-2xl);font-weight:var(--font-weight-semibold);margin:var(--space-6) var(--space-10)}@media (max-width: 768px){.heading h1{margin:var(--space-4) var(--space-4)}}.social-link{display:inline-flex;white-space:nowrap;align-items:center;font-family:var(--font-serif);font-style:italic;font-weight:var(--font-weight-light);font-size:var(--text-xl);letter-spacing:var(--tracking-wide);color:var(--color-text);text-decoration:none;padding-bottom:2px;margin-top:var(--space-4);position:relative;transition:color var(--duration-fast) ease}.social-link:hover{color:var(--color-primary-dark)}.social-link:after{content:"";position:absolute;width:100%;height:2px;background:var(--color-primary);bottom:-2px;left:0;transform:scaleX(0);transform-origin:left;transition:transform var(--duration-slow) ease}.social-link:hover:after{transform:scaleX(1)}.social-link img{width:32px;margin-right:-6px;opacity:0;transform:translate(-5px);transition:opacity var(--duration-slow) ease,transform var(--duration-slow) ease}.social-link:hover img{opacity:1;transform:translate(0)}@media (max-width: 768px){.social-link{padding:0 4px 0 2px;margin-right:var(--space-2)}}#contact{display:flex;align-items:flex-start;padding:var(--space-14) 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:var(--space-2) var(--space-10);flex-direction:column;align-items:flex-start}.contact-section{width:50%;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start}.contact-section p{padding-top:var(--space-4);width:70%}.contact-section h1{font-size:var(--text-4xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--text-hero-spacing);margin-bottom:0}.contact-section a{display:inline-flex;white-space:nowrap;align-items:center;font-family:var(--font-serif);font-style:italic;font-weight:var(--font-weight-light);font-size:var(--text-3xl);letter-spacing:var(--tracking-wide);color:var(--color-text);text-decoration:none;padding-bottom:var(--space-1);margin-top:var(--space-12);position:relative;transition:color var(--duration-fast) ease}.contact-section a:hover{color:var(--color-primary-dark)}.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 var(--duration-slow) ease}.contact-section a:hover:after{transform:scaleX(1)}.contact-section a img{margin-right:-8px;width:var(--space-10);opacity:0;transform:translate(-5px);transition:opacity var(--duration-slow) ease,transform var(--duration-slow) ease}.contact-section a:hover img{opacity:1;transform:translate(0)}@media (max-width: 1024px){.contact-section h1{font-size:var(--text-4xl);letter-spacing:var(--tracking-snug)}}@media (max-width: 768px){#contact{flex-direction:column;padding:var(--space-10) 0}#contact .left-contact{width:90%}.hero-socials{margin:0 14px;flex-direction:row}.contact-section{width:90%;margin:var(--space-6) var(--space-4)}.contact-section h1{letter-spacing:-1.5px}.contact-section p{width:95%}.contact-section a{margin-top:var(--space-6);font-size:var(--text-2xl)}}.deprecated-projects-section{padding:var(--space-2) var(--space-10) var(--space-20)}.deprecated-projects-table-wrapper{overflow-x:auto}.deprecated-projects-table{width:100%;border-collapse:collapse}.deprecated-projects-table tr{border-bottom:1px solid var(--color-border);transition:border-color var(--duration-fast) ease}.deprecated-projects-table tr:hover{border-bottom-color:var(--color-primary)}.deprecated-projects-table td{padding:var(--space-6) 0;text-align:left;vertical-align:bottom}.deprecated-project-link{display:flex;align-items:center;gap:var(--space-6);width:100%;color:var(--color-text);transition:color var(--duration-fast) ease}.deprecated-project-link:hover{color:var(--color-primary)}.deprecated-project-year{width:14%;min-width:8%;text-align:left;display:block}.deprecated-project-preview{position:fixed;z-index:2000;pointer-events:none;width:min(360px,44vw);background:var(--color-white);border:1px solid var(--color-border);box-shadow:var(--shadow-popup);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)}}@media (max-width: 768px){.deprecated-projects-section{padding:var(--space-6) var(--space-4) var(--space-16)}.deprecated-projects-table td{padding:18px 0;vertical-align:middle}.deprecated-project-link{gap:var(--space-3);align-items:center}.deprecated-project-year{width:auto;min-width:fit-content;white-space:nowrap}}.project-details{display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:var(--space-20)}.project-content{margin:2vw 20vw;display:flex;gap:var(--space-4);align-items:center;justify-content:center;flex-direction:column}.project-details .head-image{width:100%}.project-field{margin-bottom:var(--space-10);padding:0}.home-button{background-color:var(--color-primary-dark);border:none;display:inline-flex;align-items:flex-start;justify-content:center;transition:background-color var(--duration-fast) ease;color:var(--color-white)}.home-button:hover{background-color:var(--color-primary-xdk);color:var(--color-white)}.project-year{width:100%}.project-year span{display:flex;justify-content:center;align-items:center}.project-year span:after{display:none}.project-section-title{margin-bottom:var(--space-2)}.project-data{margin-top:2vw}.project-field img{width:100%}@media (max-width: 1300px){.project-content{margin:0 10vw}.project-details{padding:0 6vw}.project-details .head-image{width:115%}.home-button{margin:0 8vw 3vw;padding:var(--space-6) 120px}}@media (max-width: 1024px){.project-details{padding:0 6vw}.project-content{margin:0 4vw}.project-details img{width:100%}.home-button{margin:0 6vw 3vw;padding:var(--space-6) 120px}}@media (max-width: 768px){.project-content{margin:0 var(--space-1)}.project-details{padding:0 var(--space-4);margin:0}.home-button{margin:0 0 var(--space-3);width:100%;padding:var(--space-6) var(--space-6)}}
