:root{color-scheme:dark light}body.projects-page{--project-deep: rgb(30, 16, 78);--project-purple: rgb(69, 46, 90);--project-coral: rgb(255, 101, 63);--project-gold: rgb(255, 200, 92);--project-page-text: #ffe8bc;--project-kicker: var(--project-coral);--project-heading: var(--project-gold);--project-heading-shadow: rgba(255, 101, 63, .42);--project-card-bg: rgba(69, 46, 90, .72);--project-card-border: rgba(255, 200, 92, .38);--project-card-hover-bg: rgba(255, 101, 63, .16);--project-card-hover-border: var(--project-coral);--project-card-shadow: rgba(8, 4, 26, .42);--project-title-color: var(--project-gold);--project-desc-color: rgba(255, 232, 188, .82);--project-date-color: var(--project-coral);--project-date-bg: rgba(30, 16, 78, .52);--project-date-border: rgba(255, 200, 92, .36);--project-modal-bg: radial-gradient(circle at 20% 20%, rgba(255, 200, 92, .18), transparent 34%), radial-gradient(circle at 80% 70%, rgba(255, 101, 63, .2), transparent 36%), rgba(20, 10, 52, .94);min-height:100vh;margin:0;overflow-x:hidden;background:radial-gradient(circle at 16% 10%,rgba(255,200,92,.24),transparent 32%),radial-gradient(circle at 86% 20%,rgba(255,101,63,.2),transparent 35%),linear-gradient(145deg,var(--project-deep) 0%,var(--project-purple) 58%,#13092f 100%);color:var(--project-page-text);font-family:LemonMilk,Cabin,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400}html.light-mode body.projects-page{--project-green: rgb(91, 126, 60);--project-yellow: rgb(255, 214, 90);--project-orange: rgb(255, 157, 35);--project-red: rgb(234, 82, 82);--project-page-text: #27351f;--project-kicker: var(--project-orange);--project-heading: var(--project-green);--project-heading-shadow: rgba(255, 157, 35, .42);--project-card-bg: rgba(255, 248, 220, .9);--project-card-border: rgba(91, 126, 60, .38);--project-card-hover-bg: rgba(255, 214, 90, .48);--project-card-hover-border: var(--project-red);--project-card-shadow: rgba(91, 126, 60, .2);--project-title-color: var(--project-green);--project-desc-color: rgba(39, 53, 31, .76);--project-date-color: var(--project-red);--project-date-bg: rgba(255, 214, 90, .52);--project-date-border: rgba(234, 82, 82, .38);--project-modal-bg: radial-gradient(circle at 20% 20%, rgba(255, 214, 90, .3), transparent 34%), radial-gradient(circle at 80% 70%, rgba(234, 82, 82, .18), transparent 36%), rgba(39, 53, 31, .72);background:radial-gradient(circle at 16% 10%,rgba(255,214,90,.42),transparent 32%),radial-gradient(circle at 86% 20%,rgba(234,82,82,.2),transparent 35%),radial-gradient(circle at 74% 88%,rgba(255,157,35,.26),transparent 34%),linear-gradient(145deg,#fff9dd,#ffe8aa 52%,#ffc75c);color:var(--project-page-text)}html.dark-mode body.projects-page{background:radial-gradient(circle at 16% 10%,rgba(255,200,92,.24),transparent 32%),radial-gradient(circle at 86% 20%,rgba(255,101,63,.2),transparent 35%),linear-gradient(145deg,var(--project-deep) 0%,var(--project-purple) 58%,#13092f 100%);color:var(--project-page-text)}.projects-main{width:min(1040px,calc(100% - 40px));min-height:100vh;margin:0 auto;padding:112px 0 72px;box-sizing:border-box}.projects-header{margin-bottom:32px}.projects-kicker{margin:0 0 8px;color:var(--project-kicker);font-size:.82rem;font-weight:300;font-style:italic;letter-spacing:.14em;text-transform:uppercase}.projects-header h1{margin:0;font-size:clamp(3rem,9vw,6.75rem);font-weight:700;line-height:.92;letter-spacing:0;color:var(--project-heading);text-shadow:0 8px 0 var(--project-heading-shadow)}.projects-list{display:grid;gap:14px}.project-item{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:22px 24px;border:1px solid var(--project-card-border);border-radius:8px;background:var(--project-card-bg);color:inherit;text-decoration:none;text-align:left;cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease}.project-item:hover,.project-item:focus-visible{transform:translateY(-2px);border-color:var(--project-card-hover-border);background:var(--project-card-hover-bg);box-shadow:0 18px 44px var(--project-card-shadow);outline:none}.project-copy{min-width:0}.project-title{display:block;margin-bottom:8px;font-size:clamp(1.2rem,3vw,2rem);font-weight:700;letter-spacing:0;color:var(--project-title-color)}.project-description{display:block;max-width:72ch;color:var(--project-desc-color);font-size:.98rem;font-weight:300;line-height:1.55}.project-date{color:var(--project-date-color);font-size:.9rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border:1px solid var(--project-date-border);border-radius:6px;background:var(--project-date-bg);padding:7px 9px}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--project-modal-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:all .3s ease}.modal-overlay.active{opacity:1;visibility:visible}.modal-container{background-color:#d4d0c8;font-family:LemonMilk,Cabin,Arial,sans-serif;font-weight:400;border-width:6px;border-style:solid;border-image-source:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAAAXNSR0IArs4c6QAAAElJREFUKJHt0yEOgDAQRcEp6W0gAQe2twcHSTkPCAR6q/v8ZM3fVM/90dC0bDKM8xqCpRT4MNzXEb4+hEXHHUfK/FuNltD0VfACqrAJpxgRJPEAAAAASUVORK5CYII=);border-image-slice:6;border-image-width:6px;width:95%;max-width:850px;max-height:90vh;overflow-y:auto;transform:scale(.8) translateY(50px);transition:transform .3s ease;box-shadow:0 20px 60px #0000004d}.modal-overlay.active .modal-container{transform:scale(1) translateY(0)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;background:navy;border-top:2px solid #fff;border-left:2px solid #fff;border-right:2px solid #404040;color:#fff;min-height:28px}.modal-header h2{margin:0;font-size:14px;font-weight:700;color:#fff;font-family:LemonMilk,Cabin,Arial,sans-serif;letter-spacing:.03em}.modal-close{background-color:#d4d0c8;border-width:4px;border-style:solid;border-image-source:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAAAXNSR0IArs4c6QAAAElJREFUKJHt0yEOgDAQRcEp6W0gAQe2twcHSTkPCAR6q/v8ZM3fVM/90dC0bDKM8xqCpRT4MNzXEb4+hEXHHUfK/FuNltD0VfACqrAJpxgRJPEAAAAASUVORK5CYII=);border-image-slice:4;border-image-width:4px;width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer}.modal-close:hover,.modal-close:focus{border-image-source:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAAAXNSR0IArs4c6QAAAEFJREFUKJHt0zEOgDAMQ9FX1IMlx2dk4DxhYkUiXWvJ47e9eKA0dUBV/XJEgPmm3NfZa16aveENf2lCZrbgYeFVD+GhKe3PhRtFAAAAAElFTkSuQmCC)}.modal-close:active{border-image-source:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAAAXNSR0IArs4c6QAAAElJREFUKJFjZGBg+M9AJmBhYGBgcHBwIFnjlAkdEM0wDrFAW9+c4erFkwxMJFuJBEY1j2omCODJU1vfnGTNjAwMDP+vXDhBls0APGcMNihFbX4AAAAASUVORK5CYII=)}.modal-close svg{width:16px;height:16px;stroke:#000}.project-pdf-content{padding:1rem}.project-pdf-embed{width:100%;height:80vh;border:none}@media (max-width: 768px){.projects-main{width:min(100% - 28px,1040px);padding:96px 0 48px}.project-item{grid-template-columns:1fr;gap:14px;padding:18px}.project-date{white-space:normal}.modal-container{width:95%;margin:1rem}.project-pdf-embed{height:72vh}}
