@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-timeline-page a,.about-timeline-page a:visited{color:var(--color-primary)}.about-timeline-page{--about-page-gutter: clamp(24px, 4vw, 56px);min-height:100vh;display:block;padding:calc(var(--nav-height) + 32px) var(--about-page-gutter) 0}.about-timeline-head{max-width:100%;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);column-gap:clamp(32px,6vw,120px);align-items:start;margin:0 0 72px}.about-timeline-eyebrow{grid-column:1 / -1;margin-bottom:16px;font-family:"IBM Plex Serif",serif;font-style:italic;font-weight:var(--font-weight-narrow);font-size:clamp(.95rem,1.4vw,1.15rem);letter-spacing:var(--letter-spacing-wide);line-height:var(--line-height-tight);color:var(--color-text-muted)}.about-timeline-head h1{grid-column:1;margin:0;font-size:var(--hero-type-size);font-weight:var(--font-weight-semibold);letter-spacing:var(--hero-type-spacing);line-height:var(--line-height-tight)}.about-timeline-head h1 span{color:var(--color-primary)}.about-timeline-intro{grid-column:2;margin-top:16px;align-self:top;max-width:48ch;font-family:"IBM Plex Serif",serif;font-style:italic;font-size:var(--text-xl);line-height:var(--line-height-body);color:var(--color-text-muted)}#contact.about-page-contact{margin-top:96px;margin-left:calc(var(--about-page-gutter) * -1);margin-right:calc(var(--about-page-gutter) * -1);margin-bottom:0;padding:72px clamp(20px,3vw,44px)}#contact.about-page-contact .left-contact{width:44%;padding-right:clamp(20px,3vw,44px)}#contact.about-page-contact .about-contact-heading{margin-left:0}#contact.about-page-contact .hero-socials{margin:28px 0 0}#contact.about-page-contact .contact-section{width:56%;padding-left:clamp(12px,2vw,24px)}#contact.about-page-contact .contact-section p{width:min(100%,54ch)}#contact.about-page-contact .contact-section a{margin-top:40px}.about-timeline{position:relative;--about-year-col: clamp(170px, 20vw, 260px);--about-node-col: clamp(1.5rem, 4vw, 3.5rem);overflow:visible;z-index:0}.about-timeline-spine{position:absolute;top:2px;height:var(--about-timeline-length, 0px);left:calc(var(--about-year-col) + var(--about-node-col) / 2);width:1px;z-index:0}.about-timeline-spine:before,.about-timeline-spine:after{content:"";position:absolute;left:50%;transform:translate(-50%);width:1px}.about-timeline-spine:before{top:0;bottom:0;background:var(--color-border)}.about-timeline-spine:after{top:0;height:var(--about-timeline-progress, 0px);background:var(--color-primary)}.about-timeline-row{position:relative;display:grid;grid-template-columns:var(--about-year-col) var(--about-node-col) minmax(0,1fr);align-items:start;column-gap:0;padding-bottom:clamp(48px,5vw,72px);min-height:0}.about-timeline-row:last-child{padding-bottom:16px}.about-timeline-year{grid-column:1;position:sticky;top:calc(var(--nav-height) + 3rem);align-self:start;z-index:0;padding-top:1px;padding-right:24px}.about-timeline-year span{display:flex;align-items:center;gap:14px;font-family:"IBM Plex Serif",serif;font-style:italic;font-weight:var(--font-weight-narrow);font-size:clamp(1rem,.95rem + .4vw,1.35rem);color:var(--color-text-muted);transition:color .3s ease}.about-timeline-year span:after{content:"";flex:1 1 auto;min-width:12px;border-top:1.5px dotted var(--color-border)}.about-timeline-node{grid-column:2;position:relative;display:flex;justify-content:center;z-index:1}.about-timeline-dot{width:10px;height:10px;margin-top:8px;border-radius:50%;background:var(--color-white);border:1.5px solid var(--color-border);z-index:1;transition:border-color .3s ease,background-color .3s ease,box-shadow .3s ease}.about-timeline-row.is-current .about-timeline-year span{color:var(--color-text)}.about-timeline-row.is-current .about-timeline-dot{border-color:var(--color-primary);background:var(--color-primary);box-shadow:0 0 0 6px var(--color-surface)}.about-timeline-event{grid-column:3;opacity:.4;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.about-timeline-event.is-visible{opacity:1;transform:translateY(0)}.about-timeline-event-group{display:flex;flex-direction:column}.about-timeline-row+.about-timeline-row .about-timeline-event-group{border-top:1px solid rgba(229,231,235,.8);padding-top:64px}.about-timeline-project+.about-timeline-project{margin-top:64px}.about-timeline-event h2{font-size:clamp(1.05rem,1.8vw,1.32rem);font-weight:var(--font-weight-semibold);letter-spacing:-.01em;line-height:1.2;max-width:32ch}.about-timeline-subtitle{margin-top:8px;max-width:48ch;font-family:"IBM Plex Serif",serif;font-style:italic;font-size:var(--text-lg);color:var(--color-text-muted)}.about-timeline-project-year-mobile{display:none}.about-timeline-link{display:inline-flex;margin-top:16px;color:var(--color-text);font-weight:var(--font-weight-semibold);position:relative}.about-timeline-link:after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:var(--color-primary);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.about-timeline-link:hover{color:var(--color-primary-dark)}.about-timeline-link:hover:after{transform:scaleX(1)}.about-timeline-slider{margin-top:24px;width:100%;max-width:none;--about-slide-width: clamp(320px, 46vw, 560px);--about-slide-gap: clamp(16px, 2vw, 20px)}.about-timeline-slider-viewport{overflow:hidden}.about-timeline-slider-track{display:flex;gap:var(--about-slide-gap);transform:translate(calc(var(--about-current-slide, 0) * -1 * (var(--about-slide-width) + var(--about-slide-gap))));transition:transform .55s cubic-bezier(.16,1,.3,1)}.about-timeline-slide{flex:0 0 var(--about-slide-width);background:var(--color-surface);aspect-ratio:16 / 10;overflow:hidden}.about-timeline-slide img{width:100%;height:100%;object-fit:cover}.about-timeline-slider-controls{display:flex;align-items:center;justify-content:space-between;margin-top:16px;gap:16px}.about-timeline-slider-dots{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex:1}.about-timeline-slider-arrows{display:flex;align-items:center;gap:10px;justify-content:flex-end}.about-timeline-slider-arrow{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--color-border);border-radius:999px;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--color-text);cursor:pointer;transition:border-color .2s ease,color .2s ease,background-color .2s ease}.about-timeline-slider-arrow:hover{border-color:var(--color-primary);color:var(--color-primary-dark);background:var(--color-white)}.about-timeline-slider-arrow span{line-height:1;font-size:var(--text-lg)}.about-timeline-slider-dot{width:8px;height:8px;border:0;border-radius:999px;background:var(--color-border);cursor:pointer;transition:width .25s ease,background-color .25s ease}.about-timeline-slider-dot.is-active{width:28px;background:var(--color-primary)}.about-timeline-home-link{display:inline-flex;margin-top:8px;margin-bottom:12px;color:var(--color-text);font-weight:var(--font-weight-semibold)}@media (max-width: 1024px){:root{--text-lg: 1rem;--text-2xl: 1.35rem;--text-4xl: clamp(1.75rem, 3.2vw, 2.4rem)}.about-timeline-page{--about-page-gutter: 24px;padding:calc(var(--nav-height) + 24px) var(--about-page-gutter) 0}#contact.about-page-contact{margin-top:72px;padding:56px 20px}#contact.about-page-contact .left-contact{width:40%;padding-right:20px}#contact.about-page-contact .contact-section{width:60%;padding-left:8px}.about-timeline-spine{left:calc(var(--about-year-col) + var(--about-node-col) / 2)}.about-timeline-row{grid-template-columns:clamp(124px,16vw,160px) var(--about-node-col) minmax(0,1fr);padding-bottom:48px;min-height:0}.about-timeline-row:last-child{padding-bottom:12px}}@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}.about-timeline-page{--about-page-gutter: 16px;padding:calc(var(--nav-height) + 20px) var(--about-page-gutter) 0}#contact.about-page-contact{margin-top:48px;padding:40px 16px}#contact.about-page-contact .left-contact{width:100%;padding-right:0}#contact.about-page-contact .hero-socials{margin:20px 0 0}#contact.about-page-contact .contact-section{width:100%;margin:24px 0 0;padding-left:0}#contact.about-page-contact .contact-section p{width:100%}.about-timeline-head{grid-template-columns:1fr;column-gap:0;margin-bottom:40px}.about-timeline-head h1,.about-timeline-intro{grid-column:1}.about-timeline-intro{margin-top:10px;align-self:start}.about-timeline{padding-left:0}.about-timeline-spine{display:none}.about-timeline-row{grid-template-columns:1fr;padding-bottom:40px}.about-timeline-year,.about-timeline-node{display:none}.about-timeline-event-group{display:flex;flex-direction:column;gap:28px}.about-timeline-row+.about-timeline-row .about-timeline-event-group{border-top:0;padding-top:0}.about-timeline-project{display:flex;flex-direction:column;padding-bottom:28px;border-bottom:1px solid rgba(229,231,235,.8)}.about-timeline-project-year-mobile{display:block;margin-bottom:8px;font-family:"IBM Plex Serif",serif;font-style:italic;font-weight:var(--font-weight-narrow);font-size:clamp(.95rem,1.4vw,1.1rem);letter-spacing:var(--letter-spacing-wide);line-height:var(--line-height-tight);color:var(--color-text-muted)}.about-timeline-event h2,.about-timeline-subtitle{max-width:none}.about-timeline-slider{max-width:none;--about-slide-width: 82%;--about-slide-gap: 14px}.about-timeline-project+.about-timeline-project{margin-top:32px}.about-timeline-row+.about-timeline-row .about-timeline-event-group{padding-top:32px}.about-timeline-slider-controls{align-items:center;gap:12px}.about-timeline-slider-dots{gap:6px}.about-timeline-slider-arrows{gap:8px}.about-timeline-slider-arrow{width:36px;height:36px}}.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:10}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);padding:18px clamp(16px,3vw,40px);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}}.project-details{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px}.project-details .head-image{width:100%}.project-field{margin-bottom:40px;padding:0;height:95%}.home-button{background-color:#1530ba;width:60%;border:none;display:inline-flex;align-items:center;justify-content:center;transition:.1s all ease-in-out;color:#fff}.home-button:hover{opacity:1;color:#fff;background-color:#0d2496}.project-year{width:100%}.project-year span{display:flex;justify-content:center;align-items:center;gap:14px;font-family:"IBM Plex Serif",serif;font-style:italic;font-weight:var(--font-weight-narrow);font-size:clamp(.95rem,1.4vw,1.15rem);letter-spacing:var(--letter-spacing-wide);line-height:var(--line-height-tight);color:var(--color-text-muted)}.project-year span:after{display:none}.project-name-display{font-size:var(--hero-type-size);font-weight:var(--font-weight-semibold);letter-spacing:var(--hero-type-spacing);line-height:var(--line-height-tight)}.project-section-title{font-size:clamp(1.05rem,1.8vw,1.32rem);font-weight:var(--font-weight-semibold);letter-spacing:-.01em;line-height:1.2}.project-summary,.project-copy,.project-list li{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)}.project-list{margin-left:20px}.project-details .custom-resp{display:flex;flex-wrap:wrap;justify-content:flex-start;width:100%;margin-bottom:40px}.project-details .custom-resp .resp{border-radius:8px;background-color:var(--color-white);box-shadow:var(--shadow-chip);border:1px solid rgba(240,240,240);margin:4px 8px 4px 0;min-height:48px;padding:2px 12px;color:var(--color-text);display:inline-flex;align-items:center}.project-details .custom-resp .resp p{margin:0;width:100%;color:inherit}.project-field img{width:100%}@media (max-width: 2100px){.project-details p{margin:0vw 22vw;line-height:170%}.project-details{margin:0}.custom-resp{padding:0vw 22vw}.project-details img{width:80%}.home-button{margin:0vw 22vw 5vw;padding:24px 120px}.project-details .custom-title{margin:0vw 22vw;text-align:center}.project-field{text-align:center}.project-field p{text-align:left}.project-section-title{font-size:30px;margin:1vw 22vw;text-align:left}}@media (max-width: 1300px){.project-details p{margin:0vw 4vw}.project-details{padding:0vw 6vw}.project-details .head-image{width:115%}.project-section-title{font-size:24px;margin:1vw 4vw;text-align:left;padding:0;width:100%}.home-button{margin:0vw 8vw 3vw;padding:24px 120px}.custom-resp{padding:0vw 8vw}}@media (max-width: 1024px){.project-details{padding:0vw 6vw}.project-details img{width:100%}.project-section-title{font-size:24px;margin:1vw 6vw;text-align:left;padding:0;width:100%}.home-button{margin:0vw 6vw 3vw;padding:24px 120px}.custom-resp{padding:0vw 6vw}}@media (max-width: 950px){.project-name-display{font-size:clamp(2.2rem,8vw,3rem)}}@media (max-width: 768px){.project-details{padding:0 16px;margin:0}.project-details p{margin:0vw}.project-section-title{font-size:24px;margin:2vw 0vw;text-align:left;padding:0;width:100%}.home-button{margin:0vw 0vw 3vw;width:100%;padding:24px}.custom-resp{padding:0vw}}
