@import url(https://fonts.cdnfonts.com/css/spline-sans-mono);@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap);.project-page{align-items:stretch;background-color:var(--bg-color);display:flex;flex-direction:column;min-height:100vh;padding:3rem 12rem}.project-page h1{color:#58404e;color:var(--dim-gray);font-size:3rem;margin-bottom:.5rem;width:100%}.project-page h1,.project-subtitle{font-family:Apfel Grotesk,sans-serif;font-weight:600;text-align:left}.project-subtitle{color:#91a2d8;color:var(--ash-gray);font-size:1.5rem;margin-bottom:1rem;margin-top:-.2rem}.project-page .tags{margin:0;text-align:left}.project-page .tag{background:#c4d3f2;background:var(--columbia-blue);border-radius:12px;color:#58404e;color:var(--dim-gray);display:inline-block;font-family:Inter,sans-serif;font-size:.8rem;font-weight:500;margin-right:10px;padding:.35rem .8rem}.project-page .project-content{align-items:stretch;display:flex;flex-direction:column;justify-content:flex-start;width:100%}.project-page .project-info{background:var(--card-bg);border-radius:14px;box-shadow:none;color:#58404e;color:var(--dim-gray);font-family:Inter,sans-serif;font-size:1rem;order:1;text-align:left;width:100%}.project-page .project-info h2{color:#91a2d8;color:var(--ash-gray);font-family:Inter,sans-serif;font-size:1.25rem;margin-bottom:1rem}.project-page .description,.project-page .summary{background:#0000!important;box-shadow:none!important;line-height:1.7;margin-bottom:1.5rem}.project-page .summary{background:#c4d7f226;border-left:4px solid #91a2d8;border-left:4px solid var(--ash-gray);border-radius:6px;font-style:italic;padding:1rem 1.5rem}.project-page .link-buttons{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1rem}.project-page .visit-button{background:#c4d3f2;background:var(--columbia-blue);border:none;border-radius:20px;box-shadow:none;color:#222;cursor:pointer;font-size:.9rem;font-weight:500;padding:.6rem 1.2rem;transition:background .2s ease,transform .2s ease}.project-page .visit-button:hover{background:#91a2d8;background:var(--ash-gray);color:#fff;transform:translateY(-2px)}.project-page .image-gallery{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;margin-top:1rem;order:2;width:100%}.project-page .image-gallery img{border-radius:12px;box-shadow:none;max-width:900px;width:60%}.project-page .image-gallery.grid{grid-gap:2rem;align-items:center;display:grid;gap:2rem;grid-template-columns:repeat(2,1fr);justify-items:center;width:100%}.project-page .image-gallery.grid img{border-radius:12px;box-shadow:none;height:auto;max-height:500px;object-fit:contain}.project-page .back-button{background:none;border:none;color:#58404e;color:var(--dim-gray);cursor:pointer;font-family:Inter,sans-serif;font-size:1rem;left:15px;position:absolute;top:30px;transition:color .2s ease}.project-page .back-button:hover{color:#91a2d8;color:var(--ash-gray)}body.dark-mode{--bg-color:#1e1e1e;--text-color:#f0f0f0;--card-bg:#2b2b2b;--border:#3a3a3a}body.dark-mode .project-info{box-shadow:none}body.dark-mode .tag{background:#91a2d8;background:var(--ash-gray);color:#f0f0f0}body.dark-mode .visit-button{background:#91a2d8;background:var(--ash-gray);color:#fff}body.dark-mode .visit-button:hover{background:#c4d3f2;background:var(--columbia-blue);color:#111}@media (max-width:1200px){.project-page{padding:2rem 3rem}.project-page .image-gallery.grid{grid-template-columns:1fr}}@media (max-width:768px){.project-page{padding:1.5rem}.project-page h1{font-size:1.6rem;text-align:center}.project-page .project-info{padding:1.5rem;text-align:center}.project-page .tags{text-align:center}.project-page .description,.project-page .summary{font-size:.95rem}.project-page .image-gallery img{max-width:100%}.project-page .back-button{font-size:.9rem;left:15px;top:10px}}.sections{grid-gap:2rem;display:grid;gap:2rem;margin:1rem 0 2rem}.section-row{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:220px 800px;padding-top:1rem}.section-side{padding-top:1rem;text-align:left}.section-title{color:#58404e;color:var(--dim-gray);font-weight:700}.section-body{font-family:Inter,sans-serif!important;font-size:.85rem;line-height:1.7}.section-row+.section-row{border-top:1px solid #dde4ea;border-top:1px solid var(--border)}@media (max-width:800px){.section-row{gap:.75rem;grid-template-columns:1fr}.section-side{border-left:3px solid #c4d3f2;border-left:3px solid var(--highlight);padding-left:.75rem}}.info-card{border-radius:12px;color:#58404e;color:var(--dim-gray);display:flex;flex-wrap:wrap;justify-content:space-around;margin-top:25px}.sections:first-of-type{margin-top:0!important}.info-card h4{border-radius:4px;display:inline-block;font-size:.85rem;margin-bottom:.5rem;margin-top:0;padding:.1rem .4rem;text-transform:uppercase}.info-card p{color:#58404e;color:var(--dim-gray);font-size:.8rem;margin:0}.process-strip{border-radius:12px;flex-wrap:wrap;gap:2rem;justify-content:space-between;margin:0;padding:0;width:100%}.process-step,.process-strip{align-items:flex-start;display:flex}.process-step{color:#58404e;color:var(--dim-gray);flex-direction:column;font-family:Inter,sans-serif;font-size:.85rem;position:relative;text-align:left}.process-arrow{color:#777;font-size:1.25rem;position:absolute;right:-4.5rem;top:50%;transform:translateY(-50%)}.process-number,.process-phase{font-weight:600}.process-item{font-size:.7rem}.gsm-table{background:#ffffffb3;border-collapse:collapse;border-radius:10px;line-height:1.4;margin-top:1rem;overflow:hidden;width:100%}.gsm-table th{background:#c4d3f2;background:var(--columbia-blue);font-weight:600;padding:.6rem;text-align:left}.gsm-table td,.gsm-table th{color:#58404e;color:var(--dim-gray)}.gsm-table td{border-top:1px solid #dde4ea;border-top:1px solid var(--border);padding:.9rem;vertical-align:top}.gsm-table ul{list-style-type:disc;margin:.4rem 0 0 1.2rem;padding:0}.gsm-table li{margin-bottom:.3rem}.goodreads-image1{max-width:900px}.goodreads-image1,.goodreads-image2{border-radius:10px;box-shadow:0 4px 10px #00000014;display:block;margin:1.5rem auto;width:100%}.goodreads-image2{max-width:500px}.tasks-goals-table{background:#ffffffb3;border-collapse:collapse;border-radius:10px;line-height:1.4;margin-top:1rem;overflow:hidden;width:100%}.tasks-goals-table td:first-child{width:1%}.tasks-goals-table td,.tasks-goals-table th{border-top:1px solid #dde4ea;border-top:1px solid var(--border);color:#58404e;color:var(--dim-gray);padding:.8rem;text-align:left}.tasks-goals-table th{background:#c4d3f2;background:var(--columbia-blue);font-weight:600}.tasks-goals-table ul{list-style:disc;margin:.4rem 0 0 1.2rem;padding:0}.gsm-table,.project-page,.section-body,.tasks-goals-table{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere;word-break:normal}.project-page .image-gallery img{height:auto;max-width:100%}.tasks-goals-table td:first-child{min-width:6rem;white-space:nowrap}.gsm-table{table-layout:auto}@media (max-width:760px){.gsm-table,.gsm-table tbody,.gsm-table td,.gsm-table tr{display:block;width:100%}.gsm-table thead{display:none}.gsm-table tr{background:#ffffffb3;background:var(--bg-card);border:1px solid #dde4ea;border:1px solid var(--border);border-radius:10px;margin:0 0 12px;padding-top:.25rem}.gsm-table td{border-top:0;padding:.75rem .9rem}.gsm-table td+td{border-top:1px solid #dde4ea;border-top:1px solid var(--border)}.gsm-table td:first-child:before,.gsm-table td:nth-child(2):before,.gsm-table td:nth-child(3):before{color:#91a2d8;color:var(--ash-gray);display:block;font-weight:600;margin-bottom:.25rem}.gsm-table td:first-child:before{content:"Goals"}.gsm-table td:nth-child(2):before{content:"Signals"}.gsm-table td:nth-child(3):before{content:"Metrics"}.tasks-goals-table,.tasks-goals-table tbody,.tasks-goals-table td,.tasks-goals-table tr{display:block;width:100%}.tasks-goals-table thead{display:none}.tasks-goals-table tr{background:#ffffffb3;background:var(--bg-card);border:1px solid #dde4ea;border:1px solid var(--border);border-radius:10px;margin:0 0 12px;overflow:hidden}.tasks-goals-table td{border-top:0;padding:.75rem .9rem}.tasks-goals-table td+td{border-top:1px solid #dde4ea;border-top:1px solid var(--border)}.tasks-goals-table td:first-child{background:#c4d3f259;font-weight:600}.tasks-goals-table td:nth-child(2):before,.tasks-goals-table td:nth-child(3):before{color:#91a2d8;color:var(--ash-gray);display:block;font-weight:600;margin-bottom:.25rem}.tasks-goals-table td:nth-child(2):before{content:"Tasks"}.tasks-goals-table td:nth-child(3):before{content:"Goal"}}.goodreads-image1,.goodreads-image2{box-shadow:none;display:block;height:auto;margin:1rem auto;max-width:100%}@media (max-width:700px){.project-subtitle{display:block;margin-left:auto;margin-right:auto;text-align:center}}@font-face{font-family:Apfel Grotesk;font-style:normal;font-weight:700;src:url(/static/media/ApfelGrotezk-Fett.49732851d9003218214c.woff2) format("woff2"),url(/static/media/ApfelGrotezk-Fett.33e8e565d0ceb8b8aea4.woff) format("woff"),url(/static/media/ApfelGrotezk-Fett.c1a6743b74360be9b24e.otf) format("opentype")}:root{--mint-cream:#ffffffb3;--columbia-blue:#c4d3f2;--non-photo-blue:#91a2d8;--ash-gray:#91a2d8;--dim-gray:#58404e;--bg-main:var(--mint-cream);--bg-card:#ffffffb3;--text-main:#2a2a2a;--text-muted:#4b4b4b;--accent:var(--non-photo-blue);--highlight:var(--columbia-blue);--border:#dde4ea}html{background:linear-gradient(180deg,#ffffffb3,#c4d3f2);background:linear-gradient(180deg,var(--mint-cream) 0,var(--columbia-blue) 100%);overscroll-behavior:none}body,html{background-repeat:no-repeat;background-size:cover;background:linear-gradient(180deg,#ffffffb3,#c4d3f2);background:linear-gradient(180deg,var(--mint-cream) 0,var(--columbia-blue) 100%);background-attachment:fixed;color:#2a2a2a;color:var(--text-main);display:flex;font-family:Inter,sans-serif;height:100%;justify-content:center;margin:0;min-height:100vh;padding:0;text-align:center}.container{margin:0 auto;max-width:1350px;padding:2rem}.title{color:#58404e;color:var(--dim-gray);font-family:Apfel Grotesk,sans-serif;font-size:3rem;font-weight:600;margin-bottom:.3rem}.subtitle{color:#91a2d8;color:var(--ash-gray);font-size:1rem;letter-spacing:.05em;margin-bottom:.75rem}.bio{font-size:.95rem;line-height:1.6;margin-top:1.5rem;margin-inline:auto;max-width:600px}.bio,.bio2{color:#58404e;color:var(--dim-gray);font-family:Inter,sans-serif}.bio2{font-size:.9rem;margin-top:.3rem}.top-buttons{align-items:center;display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin:1.5rem 0 2rem}.top-buttons img{height:22px;opacity:.7;transition:opacity .2s ease,transform .2s ease;width:22px}.top-buttons img:hover{opacity:1;transform:translateY(-2px)}.cv-button{background-color:#c4d3f2;background-color:var(--columbia-blue);border:none;border-radius:20px;box-shadow:0 2px 6px #91a8a433;color:#58404e;color:var(--dim-gray);cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-weight:600;padding:.5rem;transition:all .25s ease}.cv-button:hover{background-color:#91a2d8;background-color:var(--non-photo-blue);color:#fff;transform:translateY(-2px)}.filter-buttons{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-bottom:2.5rem}.filter-buttons button{background-color:#c4d3f2;background-color:var(--columbia-blue);border:none;border-radius:20px;color:#58404e;color:var(--dim-gray);cursor:pointer;font-family:Inter,sans-serif;font-size:.85rem;padding:.5rem 1rem;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.filter-buttons button:hover:not(.active){background-color:#91a2d8;background-color:var(--non-photo-blue);box-shadow:0 2px 6px #00000014}.filter-buttons .active{background-color:#91a2d8;background-color:var(--non-photo-blue);color:#fff}.tag-description{background-color:#ffffffb3;border-radius:12px;font-family:Inter,sans-serif;font-size:.85rem;font-style:italic;margin:5px 0;padding:.1px 15px}.project-list{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));list-style:none;margin-bottom:4rem;padding:0}.project-card{animation:fadeIn .8s ease forwards;background:#ffffffb3;background:var(--bg-card);border:1px solid #dde4ea;border:1px solid var(--border);border-radius:14px;box-shadow:0 2px 8px #91a8a440;opacity:0;padding:1.2rem;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.project-card:hover{background:#fff;box-shadow:0 8px 20px #91a8a459;cursor:pointer;transform:translateY(-6px)}@keyframes fadeIn{to{opacity:1}}.project-content{display:flex;flex-direction:column;gap:1rem}.thumbnail-side{border-radius:10px;box-shadow:0 4px 10px #7768711a;max-height:250px;object-fit:cover;width:100%}.project-list:has(>.project-card:only-child) .thumbnail-side{max-height:700px}.project-info{flex:1 1;margin-top:5px;text-align:left}.project-info h3{font-size:1.1rem;margin:0 0 .4rem}.project-info a,.project-info h3{color:#58404e;color:var(--dim-gray)}.project-info a{text-decoration:none;transition:color .2s ease}.project-info a:hover{color:#91a2d8;color:var(--ash-gray)}.tag-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}.tag{background-color:#c4d3f2;background-color:var(--columbia-blue);border-radius:12px;font-size:.75rem;font-weight:500;padding:.3rem .6rem}.description,.tag{color:#58404e;color:var(--dim-gray);font-family:Inter,sans-serif}.description{font-size:.9rem;line-height:1.5;margin-top:.5rem}.app.dark{background-color:#1f2021;color:#eee}.app.dark .project-card{background-color:#2a2b2b;border-color:#444;box-shadow:0 2px 8px #0000004d}.app.dark .project-info a{color:#c4d3f2;color:var(--columbia-blue)}.app.dark .filter-buttons button{background-color:#444;color:#ddd}.app.dark .filter-buttons .active{background-color:#91a2d8;background-color:var(--non-photo-blue);color:#111}.app.dark .tag{color:#fff}.app.dark .cv-button,.app.dark .tag{background-color:#91a2d8;background-color:var(--ash-gray)}.app.dark .cv-button{color:#111}.dark .tag-description{background-color:#ffffff14;color:#ddd}@media (max-width:1024px){.bio{padding:0 3rem}}@media (max-width:600px){.bio{font-size:.85rem;padding:0 1rem}.title{font-size:1.7rem}.cv-button,.description,.subtitle{font-size:.8rem}.filter-buttons button{font-size:.75rem;padding:.4rem .8rem}}
/*# sourceMappingURL=main.d44c4f83.css.map*/