@import "https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Libre+Franklin:ital,wght@0,100..900;1,100..900&display=swap";.sidebar-hamburger{z-index:1001;cursor:pointer;background:0 0;border:none;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:15px;width:52px;height:52px;display:flex;position:fixed;top:20px;left:20px}.sidebar-hamburger-line{background:#000;border-radius:999px;width:5em;height:.1em}.sidebar-panel{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#f0ead3;flex-direction:column;gap:16px;width:min(84vw,320px);height:100vh;padding:92px 28px 28px;transition:transform .22s;display:flex;position:fixed;top:0;left:0;transform:translate(-105%)}.sidebar-panel.is-open{transform:translate(0)}.sidebar-nav,.sidebar-external-links{flex-direction:column;gap:10px;display:flex}.sidebar-link{color:#000;letter-spacing:.02em;font-family:Libre Franklin,sans-serif;font-size:20px;font-weight:500;text-decoration:none}.sidebar-link:hover{color:#242424}.sidebar-divider{background:#000c;width:100%;height:1px;margin:8px 0}button.sidebar-hamburger svg{width:100%;height:15em}.cookie-banner{z-index:1200;width:100%;margin:0 auto;position:fixed;bottom:16px}.cookie-banner-content{background:#262626;border:1px solid gray;border-radius:32px;justify-content:center;align-items:center;width:45%;margin:0 auto;padding:6px;display:flex}.cookie-banner-actions{width:25%}p.cookie-banner-text{color:#fff;width:40%;font-family:DM Sans,sans-serif}button.cookie-banner-learn-more{color:#fff}.cookie-banner-text{margin:0 0 8px;font-size:14px}.cookie-banner-learn-more{color:#111;font:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:0;text-decoration:underline}.cookie-banner-actions{justify-content:flex-end;gap:8px;display:flex}.cookie-banner-actions button{cursor:pointer;border:1px solid #222;border-radius:6px;padding:6px 10px}.cookie-dialog-backdrop{z-index:1300;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.cookie-dialog{color:#111;background:#fffdf7;border:1px solid #222;border-radius:12px;width:100%;max-width:460px;padding:16px;font-family:Libre Franklin,sans-serif}.cookie-dialog h3{margin:0 0 10px}.cookie-dialog ol{margin:0;padding-left:20px}.cookie-dialog-actions{justify-content:flex-end;margin-top:14px;display:flex}.cookie-dialog-actions button{cursor:pointer;background:#fff;border:1px solid #222;border-radius:6px;padding:6px 10px}.masthead{background-color:#0000;background-image:linear-gradient(#1f1f1fcc,#000c),url(/wallpaper.jpg);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;height:100vh;font-family:Libre Franklin,sans-serif;position:relative}.masthead-my-name{flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.masthead-my-name-text{color:#fff;text-align:center;font-size:144px;font-weight:700}.masthead-my-name-subtext{color:#fff;font-size:72px;font-style:italic;font-weight:100}p.cookie-banner-text{place-content:center;align-items:center;gap:1em;height:100%;margin-top:1%;display:flex}.cookie-banner-actions button{color:#fff;background:0 0;font-family:DM Sans;font-size:1em;font-weight:700}.masthead-my-name-subtext{justify-content:center;gap:.5em;width:100%;display:flex}.masthead-my-name-subtext-keyphrase,.masthead-my-name-subtext-keyphrase-animated{width:10%}.content-section#projects{color:#fff;background:#262626;height:105vh}.projects-layout{gap:24px;width:min(1200px,100%);margin:0 auto;display:grid}.projects-header-copy h2{margin-bottom:8px}.projects-header-copy p{color:#ffffffe0;max-width:720px;margin:0;font-family:DM Sans,sans-serif;font-size:20px;line-height:1.5}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.project-card{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0c0c0c99;border:1px solid #ffffff2e;border-radius:16px;gap:12px;padding:18px;display:grid}.project-card-image{object-fit:contain;width:72px;height:72px}.project-card-body{gap:12px;display:grid}.project-card-release,.project-dialog-release{color:#ffd699;letter-spacing:.05em;text-transform:uppercase;margin:0;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600}.project-card-body h3,.project-dialog h3{margin:0;font-size:28px}.project-card-body p,.project-dialog p{color:#ffffffeb;margin:0;font-family:DM Sans,sans-serif;line-height:1.5}.project-tags{flex-wrap:wrap;gap:8px;display:flex}.project-tags span{color:#fff;border:1px solid #ffffff47;border-radius:999px;padding:4px 10px;font-family:DM Sans,sans-serif;font-size:13px}.project-card-cta,.project-dialog-links a{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff80;border-radius:999px;width:fit-content;padding:8px 14px;font-family:DM Sans,sans-serif;text-decoration:none;transition:background-color .18s,color .18s}.project-card-cta:hover,.project-dialog-links a:hover{color:#222;background:#ffd699}.project-dialog-backdrop{z-index:1200;background:#000000a6;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.project-dialog{background:#161616;border:1px solid #ffffff38;border-radius:20px;gap:14px;width:min(700px,100%);max-height:calc(100vh - 32px);padding:24px;display:grid;position:relative;overflow-y:auto}.project-dialog-image{object-fit:contain;width:92px;height:92px}.project-dialog-close{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff59;border-radius:999px;width:36px;height:36px;font-size:24px;line-height:1;position:absolute;top:12px;right:12px}.project-dialog-links{flex-wrap:wrap;gap:10px;display:flex}@media (width<=900px){.projects-header-copy p{font-size:17px}.project-card-body h3,.project-dialog h3{font-size:24px}}.content-section#skills{color:#000;background:#7e7e7e}.skills-layout{gap:24px;width:min(1200px,100%);margin:0 auto;display:grid}.skills-header-copy p{color:#000;max-width:760px;margin:0;font-family:DM Sans,sans-serif;font-size:20px;line-height:1.5}.skills-groups{gap:24px;display:grid}.skills-group{gap:12px;display:grid}.skills-group h3{margin:0;font-size:28px}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.skill-card{background:#0f0f0fbf;border:1px solid #fff3;border-radius:16px;gap:10px;padding:16px;display:grid}.skill-level{text-transform:uppercase;letter-spacing:.05em;color:#ffd699;background:#ffd69933;border:1px solid #ffd6998c;border-radius:999px;justify-content:center;align-items:center;width:100%;height:3em;margin:0;padding:4px 10px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:700;display:flex}.skill-card h4{margin:0;font-size:24px}.skill-card p,.skill-dialog p{color:#ffffffeb;margin:0;font-family:DM Sans,sans-serif;line-height:1.5}.skill-card-cta{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff80;border-radius:999px;width:fit-content;padding:8px 14px;font-family:DM Sans,sans-serif;transition:background-color .18s,color .18s}.skill-card-cta:hover{color:#222;background:#ffd699}.skill-dialog-backdrop{z-index:1200;background:#000000a6;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.skill-dialog{background:#151515;border:1px solid #ffffff38;border-radius:20px;gap:14px;width:min(640px,100%);padding:24px;display:grid;position:relative}.skill-dialog h3{margin:0;font-size:34px}.skill-dialog-category{color:#ffd699;font-weight:600}.skill-dialog-close{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff59;border-radius:999px;width:36px;height:36px;font-size:24px;line-height:1;position:absolute;top:12px;right:12px}article.skill-card h4{color:#fff}@media (width<=900px){.skills-header-copy p{font-size:17px}.skills-group h3{font-size:24px}.skill-card h4{font-size:20px}.skill-dialog h3{font-size:28px}}.content-section#background{color:#fff;background:#262626;height:105vh}.background-layout{gap:24px;width:min(1200px,100%);margin:0 auto;display:grid}.background-header-copy p{color:#ffffffe6;max-width:800px;margin:0;font-family:DM Sans,sans-serif;line-height:1.5}.background-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px;display:grid}.experience-card{background:#101010c7;border:1px solid #fff3;border-radius:16px;gap:10px;padding:18px;display:grid}.experience-logo,.education-logo{object-fit:contain;width:72px;height:72px}.logo-badge{background:0 0;border-radius:14px;justify-content:center;align-items:center;width:84px;height:84px;padding:6px;display:flex}.experience-years{letter-spacing:.05em;text-transform:uppercase;color:#ffd699;background:#ffd69926;border:1px solid #ffd69980;border-radius:999px;justify-content:center;align-items:center;width:45%;margin:0;padding:5px 10px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:700;display:flex}.experience-card h3,.experience-dialog h3{margin:0;font-size:28px}.experience-company{color:#ffffffe6;margin:0;font-family:DM Sans,sans-serif;line-height:1.4}.experience-card-cta{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff73;border-radius:999px;width:fit-content;padding:8px 14px;font-family:DM Sans,sans-serif;transition:background-color .18s,color .18s}.experience-card-cta:hover{color:#222;background:#ffd699}.experience-dialog-backdrop{z-index:1200;background:#000000ad;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.experience-dialog{background:#151515;border:1px solid #ffffff38;border-radius:20px;gap:14px;width:min(780px,100%);max-height:calc(100vh - 32px);padding:24px;display:grid;position:relative;overflow-y:auto}.experience-dialog-close{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff59;border-radius:999px;width:36px;height:36px;font-size:24px;line-height:1;position:absolute;top:12px;right:12px}.experience-highlights{color:#fffffff0;gap:10px;margin:0;padding-left:20px;font-family:DM Sans,sans-serif;line-height:1.5;display:grid}.education-section{gap:12px;margin-top:8px;display:grid}.education-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px;display:grid}.education-card{background:#101010c7;border:1px solid #fff3;border-radius:16px;gap:10px;padding:18px;display:grid}.education-year{letter-spacing:.05em;text-transform:uppercase;color:#ffd699;background:#ffd69926;border:1px solid #ffd69980;border-radius:999px;width:fit-content;margin:0;padding:5px 10px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:700}.education-card h3{margin:0;font-size:28px}.education-institution{color:#ffffffe6;margin:0;font-family:DM Sans,sans-serif;line-height:1.4}@media (width<=900px){.experience-card h3,.experience-dialog h3,.education-card h3{font-size:24px}}.site-footer{color:#000;background:#7e7e7e;padding:44px 20px 56px;font-family:Libre Franklin,sans-serif}.site-footer-inner{gap:14px;width:min(1100px,100%);margin:0 auto;display:grid}.site-footer-title{margin:0;font-size:clamp(28px,4vw,42px);font-weight:700}.site-footer-subtitle{color:#000;max-width:760px;margin:0;font-family:DM Sans,sans-serif;font-size:18px;line-height:1.5}.site-footer-actions{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.site-footer-button{color:#000;letter-spacing:.02em;border:1px solid #ffffff6b;border-radius:999px;justify-content:center;align-items:center;min-width:132px;padding:10px 16px;font-family:DM Sans,sans-serif;font-weight:600;text-decoration:none;transition:background-color .18s,color .18s,border-color .18s;display:inline-flex}.site-footer-button:hover{color:#202020;background:#ffd699;border-color:#ffd699}@media (width<=900px){.site-footer{padding:36px 16px 88px}.site-footer-subtitle{font-size:16px}}@media (width<=1200px){.content-section{padding:72px 20px}.masthead-my-name-text{font-size:clamp(52px,8vw,96px)}.masthead-my-name-subtext{font-size:clamp(28px,4.6vw,56px)}}@media (width<=900px){.content-section{padding:56px 16px}.content-section h2{font-size:30px}.content-section#projects,.content-section#skills,.content-section#background{height:auto;min-height:auto}.projects-grid,.skills-grid,.background-grid,.education-grid{grid-template-columns:1fr}.project-dialog,.skill-dialog,.experience-dialog{padding:20px}.project-card-body h3,.skill-card h4,.experience-card h3,.education-card h3{font-size:22px}.experience-years{width:fit-content}.p.cookie-banner-text,p.cookie-banner-text{gap:.3em;width:100%;font-size:14px}.cookie-banner-content{border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:min(80%,680px);padding:12px;display:flex}.cookie-banner-actions{justify-content:center;width:100%}.site-footer-actions{width:100%}.site-footer-button{flex:150px}.sidebar-hamburger{width:48px;height:48px;top:12px;left:12px}.sidebar-hamburger-line{width:2.3em}.sidebar-panel{padding-top:82px}}@media (width<=600px){html,body{overflow-x:hidden}.masthead{height:88vh}.masthead-my-name-text{font-size:clamp(34px,11vw,54px);line-height:1.1}.masthead-my-name-subtext{gap:.3em;font-size:clamp(18px,6.4vw,26px)}.masthead-my-name-subtext-keyphrase,.masthead-my-name-subtext-keyphrase-animated{width:auto}.swipe-indicator{padding:8px 10px;font-size:12px;bottom:12px}.project-card,.skill-card,.experience-card,.education-card{padding:14px}.project-dialog,.skill-dialog,.experience-dialog{padding:16px}.site-footer-title{font-size:30px}.site-footer-subtitle{font-size:15px}.site-footer-button{width:100%}}html,body{scroll-behavior:smooth;margin:0 auto}*{box-sizing:border-box}.swipe-indicator{color:#fff;cursor:pointer;background:#0a0a0a8c;border:1px solid #fff6;border-radius:999px;align-items:center;gap:10px;padding:10px 16px;font-family:Libre Franklin,sans-serif;font-size:15px;animation:1.6s ease-in-out infinite swipePulse;display:inline-flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.swipe-indicator-arrow{font-size:20px;line-height:1}@keyframes swipePulse{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(6px)}}.content-section{background:#f7f7f7;min-height:50vh;padding:80px 20px;font-family:Libre Franklin,sans-serif}.content-section h2{margin:0 0 12px;font-size:36px}.content-section p{margin:0;font-size:20px}@media (width<=900px){.masthead-my-name-text{padding:0 16px;font-size:56px}.masthead-my-name-subtext{text-align:center;padding:0 16px;font-size:30px}.swipe-indicator{padding:8px 12px;font-size:13px;bottom:20px}.cookie-banner{max-width:unset;left:12px;right:12px}}
