:root{--bg-gradient-onyx:linear-gradient(to bottom right, #3f3f40 3%, #303030 97%);--bg-gradient-jet:linear-gradient(to bottom right, #2d2d2e40 0%, #1b1b1d00 100%), #202022;--bg-gradient-yellow-1:linear-gradient(to bottom right, #66b3ff 0%, #52b7ff00 50%);--bg-gradient-yellow-2:linear-gradient(135deg, #66b3ff40 0%, #52b7ff00 59.86%), #202022;--border-gradient-onyx:linear-gradient(to bottom right, #404040 0%, #40404000 50%);--text-gradient-yellow:linear-gradient(to right, #70b8ff, #5cbbff);--jet:#383838;--onyx:#2b2b2c;--eerie-black-1:#202022;--eerie-black-2:#1e1e1f;--smoky-black:#121212;--white-1:#fff;--white-2:#fafafa;--orange-yellow-crayola:#70b8ff;--vegas-gold:#70b8ff;--light-gray:#d6d6d6;--light-gray-70:#d6d6d6b3;--bittersweet-shimmer:#b84c4c;--ff-poppins:"Poppins", sans-serif;--fs-1:22px;--fs-2:18px;--fs-3:17px;--fs-4:16px;--fs-5:15px;--fs-6:14px;--fs-7:13px;--fs-8:11px;--fs-9:10px;--fw-300:300;--fw-400:400;--fw-500:500;--fw-600:600;--shadow-1:-4px 8px 24px #00000040;--shadow-2:0 16px 30px #00000040;--shadow-3:0 16px 40px #00000040;--shadow-4:0 25px 50px #00000026;--shadow-5:0 24px 80px #00000040;--transition-1:.25s ease;--transition-2:.5s ease-in-out}*,:before,:after{box-sizing:border-box;margin:0;padding:0}a{text-decoration:none}li{list-style:none}img,ion-icon,a,button,time,span{display:block}button{font:inherit;text-align:left;cursor:pointer;background:0 0;border:none}input,textarea{width:100%;font:inherit;background:0 0;display:block}::selection{background:var(--orange-yellow-crayola);color:var(--smoky-black)}:focus{outline-color:var(--orange-yellow-crayola)}html{font-family:var(--ff-poppins);overflow-x:hidden}body{background:var(--smoky-black);overflow-x:hidden}.sidebar,article{background:var(--eerie-black-2);border:1px solid var(--jet);box-shadow:var(--shadow-1);z-index:1;border-radius:20px;padding:15px}.separator{background:var(--jet);width:100%;height:1px;margin:16px 0}.icon-box{background:var(--border-gradient-onyx);width:30px;height:30px;font-size:var(--fs-4);color:var(--orange-yellow-crayola);box-shadow:var(--shadow-1);z-index:1;border-radius:8px;justify-content:center;align-items:center;display:flex;position:relative}.icon-box:before{content:"";background:var(--eerie-black-1);border-radius:inherit;z-index:-1;position:absolute;inset:1px}.icon-box ion-icon{--ionicon-stroke-width:35px}.asset-mask-icon{vertical-align:middle;display:inline-block}.main-content{flex-direction:column;display:flex;position:relative;overflow:hidden}.articles-wrap{flex:1;min-height:0;position:relative;overflow:hidden}article{opacity:0;pointer-events:none;display:block;position:absolute;inset:0;transform:translateY(10px)}article.active{opacity:1;pointer-events:auto;animation:.4s cubic-bezier(.4,0,.2,1) tab-enter;position:relative;transform:none}@keyframes tab-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}article.exiting{z-index:1;opacity:0;pointer-events:none;transition:opacity .24s cubic-bezier(.4,0,1,1),transform .24s cubic-bezier(.4,0,1,1);position:absolute;inset:0;transform:translateY(-8px)}@media (prefers-reduced-motion:reduce){article,article.active,article.exiting{transition:none}}.h2,.h3,.h4,.h5{color:var(--white-2);text-transform:capitalize}.h2{font-size:var(--fs-1)}.h3{font-size:var(--fs-2)}.h4{font-size:var(--fs-4)}.h5{font-size:var(--fs-7);font-weight:var(--fw-500)}.article-title{padding-bottom:7px;position:relative}.article-title:after{content:"";background:var(--text-gradient-yellow);border-radius:3px;width:30px;height:3px;position:absolute;bottom:0;left:0}.has-scrollbar::-webkit-scrollbar{width:5px;height:5px}.has-scrollbar::-webkit-scrollbar-track{background:var(--onyx);border-radius:5px}.has-scrollbar::-webkit-scrollbar-thumb{background:var(--orange-yellow-crayola);border-radius:5px}.has-scrollbar::-webkit-scrollbar-button{width:20px}.content-card{background:var(--border-gradient-onyx);box-shadow:var(--shadow-2);cursor:pointer;z-index:1;border-radius:14px;padding:45px 15px 15px;position:relative}.content-card:before{content:"";background:var(--bg-gradient-jet);border-radius:inherit;z-index:-1;position:absolute;inset:1px}main{min-width:259px;margin:15px 12px 75px}.sidebar{margin-bottom:15px}.sidebar-info{justify-content:flex-start;align-items:center;gap:15px;display:flex;position:relative}.avatar-box{background:var(--bg-gradient-onyx);border-radius:20px;overflow:hidden}.avatar-box img{border-radius:inherit;display:block}.info-content .name{color:var(--white-2);font-size:var(--fs-3);font-weight:var(--fw-500);letter-spacing:-.25px;margin-bottom:10px}.info-content .title{color:var(--white-1);background:var(--onyx);font-size:var(--fs-8);font-weight:var(--fw-300);border-radius:8px;width:max-content;padding:3px 12px}.info_more-btn{font-size:var(--fs-7);color:var(--orange-yellow-crayola);background:var(--border-gradient-onyx);box-shadow:var(--shadow-2);transition:var(--transition-1);z-index:1;border-radius:0 15px;padding:10px;position:absolute;top:-15px;right:-15px}.info_more-btn:before{content:"";border-radius:inherit;background:var(--bg-gradient-jet);transition:var(--transition-1);z-index:-1;position:absolute;inset:1px}.info_more-btn:hover,.info_more-btn:focus{background:var(--bg-gradient-yellow-1)}.info_more-btn:hover:before,.info_more-btn:focus:before{background:var(--bg-gradient-yellow-2)}.info_more-btn span{display:none}.sidebar-info_more{opacity:1;visibility:visible}.contacts-list{grid-template-columns:1fr;gap:16px;display:grid}.contact-item{align-items:center;gap:16px;min-width:100%;display:flex}.contact-info{width:calc(100% - 46px);max-width:calc(100% - 46px)}.contact-title{color:var(--light-gray-70);font-size:var(--fs-8);text-transform:uppercase;margin-bottom:2px}.contact-info :is(.contact-link,time,address){color:var(--white-2);font-size:var(--fs-7)}.contact-info address{font-style:normal}.social-list{justify-content:flex-start;align-items:center;gap:15px;padding-bottom:4px;padding-left:7px;display:flex}.social-item .social-link{color:var(--light-gray-70);font-size:var(--fs-2)}.social-item .social-link:hover{color:var(--light-gray)}.navbar{background:var(--eerie-black-1);border-top:1px solid var(--jet);z-index:5;width:100%;position:fixed;bottom:0;left:0}.navbar-list{flex-wrap:wrap;justify-content:center;align-items:center;padding:0 10px;display:flex}.navbar-link{color:var(--light-gray-70);font-size:var(--fs-8);padding:20px 7px;transition:color .2s}.navbar-link:hover,.navbar-link:focus{color:var(--light-gray)}.navbar-link.active{color:var(--orange-yellow-crayola)}.about .article-title{margin-bottom:15px}.about-text{color:var(--light-gray);font-size:var(--fs-6);font-weight:var(--fw-300);line-height:1.6}.about-text p{margin-bottom:15px}.modal-container{overscroll-behavior:contain;z-index:20;pointer-events:none;visibility:hidden;justify-content:center;align-items:flex-start;width:100%;height:100%;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.modal-container::-webkit-scrollbar{display:none}.modal-container.active{pointer-events:all;visibility:visible}.overlay{opacity:0;visibility:hidden;pointer-events:none;z-index:1;width:100%;height:100vh;transition:var(--transition-1);background:#0d0d0d;position:fixed;top:0;left:0}.overlay.active{opacity:.8;visibility:visible;pointer-events:all}body.no-scroll{overscroll-behavior:none;overflow:hidden}html:has(body.no-scroll){overscroll-behavior:none;overflow:hidden}.modal-close-btn{background:var(--onyx);width:32px;height:32px;color:var(--white-2);font-size:var(--fs-2);opacity:.7;border-radius:8px;justify-content:center;align-items:center;display:flex;position:absolute;top:15px;right:15px}.modal-close-btn:hover,.modal-close-btn:focus{opacity:1}.modal-close-btn ion-icon{--ionicon-stroke-width:50px}.article-title{margin-bottom:30px}.filter-list{display:none}.filter-select-box{margin-bottom:25px;position:relative}.filter-select{background:var(--eerie-black-2);color:var(--light-gray);border:1px solid var(--jet);width:100%;font-size:var(--fs-6);font-weight:var(--fw-300);border-radius:14px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.filter-select.active .select-icon{transform:rotate(.5turn)}.select-list{background:var(--eerie-black-2);border:1px solid var(--jet);z-index:2;opacity:0;visibility:hidden;pointer-events:none;border-radius:14px;width:100%;padding:6px;transition:all .15s ease-in-out;position:absolute;top:calc(100% + 6px)}.filter-select.active+.select-list{opacity:1;visibility:visible;pointer-events:all}.select-item button{background:var(--eerie-black-2);color:var(--light-gray);font-size:var(--fs-6);font-weight:var(--fw-300);text-transform:capitalize;border-radius:8px;width:100%;padding:8px 10px}.select-item button:hover{--eerie-black-2:#323234}.project-list{grid-template-columns:1fr;gap:12px;margin-bottom:10px;display:grid}.project-item{display:none}.project-item.active{animation:.3s cubic-bezier(.16,1,.3,1) both projectReveal;display:block}@keyframes projectReveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.project-card-btn{background:var(--eerie-black-2);text-align:left;width:100%;color:inherit;cursor:pointer;border:1px solid #0000;border-radius:12px;grid-template-columns:1fr;transition:border-color .2s;display:grid;position:relative;overflow:hidden}.project-card-btn:hover,.project-card-btn:focus-visible{border-color:var(--jet)}.project-card-btn:focus-visible{outline:2px solid var(--orange-yellow-crayola);outline-offset:3px}.project-img{aspect-ratio:16/9;width:100%;height:auto;margin-bottom:0;position:relative;overflow:hidden}.project-img:before{content:"";z-index:1;background:0 0;transition:background .25s;position:absolute;inset:0}.project-card-btn:hover .project-img:before,.project-card-btn:focus-visible .project-img:before{background:oklch(0% 0 0/.45)}.project-item-icon-box{z-index:2;opacity:0;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;inset:0}.project-item-icon-box>*{color:var(--white-2);width:20px;height:20px}.project-card-btn:hover .project-item-icon-box,.project-card-btn:focus-visible .project-item-icon-box{opacity:1}.project-img img{object-fit:cover;width:100%;height:100%;transition:transform .4s cubic-bezier(.16,1,.3,1)}.project-card-btn:hover img,.project-card-btn:focus-visible img{transform:scale(1.05)}.project-detail-modal{background:var(--eerie-black-2);border:1px solid var(--jet);width:min(880px,100vw - 24px);box-shadow:var(--shadow-5);z-index:2;border-radius:16px;gap:0;max-height:calc(100dvh - 28px);margin:14px 12px;animation:.28s cubic-bezier(.16,1,.3,1) both modalIn;display:grid;position:relative;overflow-y:auto}@keyframes modalIn{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.project-modal-close-btn{z-index:30;background:var(--eerie-black-1);border:1px solid var(--jet);opacity:1;position:fixed;top:12px;right:12px}.project-detail-hero{aspect-ratio:16/9;background:var(--onyx);width:100%}.project-detail-hero img{object-fit:cover;width:100%;height:100%;display:block}.project-detail-content{flex-direction:column;padding:24px 20px 20px;display:flex}.project-detail-category{font-size:var(--fs-8);letter-spacing:.1em;text-transform:uppercase;color:var(--orange-yellow-crayola);font-weight:var(--fw-500);margin:0 0 8px}.project-detail-title{color:var(--white-2);font-size:var(--fs-2);line-height:1.25;font-weight:var(--fw-600);margin:0 0 16px}.project-detail-copy{gap:16px;margin-bottom:20px;display:grid}.project-detail-section{gap:4px;display:grid}.project-detail-section-label{font-size:var(--fs-8);font-weight:var(--fw-500);letter-spacing:.08em;text-transform:uppercase;color:var(--light-gray-70);margin:0}.project-detail-copy p{color:var(--light-gray);font-size:var(--fs-6);max-width:65ch;margin:0;line-height:1.75}.project-detail-stack{flex-wrap:wrap;gap:6px;margin:0 0 20px;display:flex}.project-detail-stack li{font-size:var(--fs-8);letter-spacing:.04em;color:var(--orange-yellow-crayola);font-weight:var(--fw-500);background:oklch(65% .18 220/.07);border:1px solid oklch(65% .18 220/.25);border-radius:4px;padding:3px 9px}.project-detail-actions{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}.project-detail-action{border:1px solid var(--jet);color:var(--light-gray);font-size:var(--fs-7);font-weight:var(--fw-400);background:0 0;border-radius:8px;align-items:center;gap:7px;padding:8px 14px;transition:border-color .2s,color .2s,background .2s;display:inline-flex}.project-detail-action:hover,.project-detail-action:focus-visible{color:var(--white-2);background:oklch(65% .18 220/.07);border-color:oklch(65% .18 220/.5)}.project-detail-action:focus-visible{outline:2px solid var(--orange-yellow-crayola);outline-offset:2px}.project-detail-action--primary{color:var(--orange-yellow-crayola);border-color:oklch(65% .18 220/.45)}.project-detail-action--primary:hover,.project-detail-action--primary:focus-visible{color:var(--white-2);background:oklch(65% .18 220/.12);border-color:oklch(65% .18 220/.65)}.project-content{flex-direction:column;gap:6px;padding:14px 16px 16px;display:flex}.project-title{color:var(--white-2);font-size:var(--fs-5);font-weight:var(--fw-500);margin:0;line-height:1.35}.project-category{color:var(--orange-yellow-crayola);font-size:var(--fs-8);font-weight:var(--fw-500);text-transform:uppercase;letter-spacing:.08em;order:-1;margin:0;display:block}.project-description{color:var(--light-gray-70);font-size:var(--fs-6);line-clamp:2;-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;margin:0;line-height:1.6;display:-webkit-box;overflow:hidden}@media (width>=580px){:root{--fs-1:34px;--fs-2:26px;--fs-3:28px;--fs-4:19px;--fs-5:17px;--fs-6:16px;--fs-7:15px;--fs-8:13px;--fs-9:11px}.sidebar,article{width:520px;margin-inline:auto;padding:30px}.article-title{font-weight:var(--fw-600);padding-bottom:15px}.article-title:after{width:40px;height:5px}.icon-box{width:48px;height:48px;font-size:var(--fs-2);border-radius:12px}main{margin-top:60px;margin-bottom:100px}.sidebar{margin-bottom:30px}.sidebar-info{gap:25px}.avatar-box{border-radius:30px}.avatar-box img{width:120px}.info-content .name{margin-bottom:15px}.info-content .title{padding:5px 18px}.info_more-btn{padding:10px 15px;top:-30px;right:-30px}.info_more-btn span{font-size:var(--fs-8);display:block}.info_more-btn ion-icon{display:none}.separator{margin:32px 0}.contacts-list{gap:20px}.contact-info{width:calc(100% - 64px);max-width:calc(100% - 64px)}.navbar-list{gap:20px}.navbar-link{--fs-8:14px}.about .article-title{margin-bottom:20px}.about-text{margin-bottom:40px}.content-card{padding:25px 30px 30px}.modal-container{align-items:center;padding:20px}.project-detail-modal{border-radius:20px;margin:20px}.project-detail-content{padding:24px 24px 22px}.project-img{border-radius:16px}}@media (width>=768px){.sidebar,article{width:700px}.has-scrollbar::-webkit-scrollbar-button{width:100px}.contacts-list{grid-template-columns:1fr 1fr;gap:30px 15px}.navbar-link{--fs-8:15px}.project-detail-modal{grid-template-columns:minmax(280px,44%) minmax(0,1fr);max-height:calc(100vh - 48px);margin:24px auto;overflow:hidden}.project-detail-hero{aspect-ratio:auto;height:100%}.project-detail-content{overflow-y:auto}.project-modal-close-btn{background:var(--onyx);opacity:.7;border:none;position:absolute;top:15px;right:15px}.project-modal-close-btn:hover,.project-modal-close-btn:focus{opacity:1}.article-title{padding-bottom:20px}.filter-select-box{display:none}.filter-list{justify-content:flex-start;align-items:center;gap:0;margin-bottom:28px;padding-left:0;display:flex}.filter-item button{color:var(--light-gray-70);font-size:var(--fs-6);font-weight:var(--fw-400);letter-spacing:.01em;padding:6px 14px 8px;transition:color .2s;position:relative}.filter-item button:after{content:"";background:var(--orange-yellow-crayola);transform-origin:0;height:1px;transition:transform .2s cubic-bezier(.16,1,.3,1);position:absolute;bottom:0;left:14px;right:14px;transform:scaleX(0)}.filter-item button:hover{color:var(--light-gray)}.filter-item button.active{color:var(--white-2);font-weight:var(--fw-500)}.filter-item button.active:after{transform:scaleX(1)}.project-list{grid-template-columns:1fr 1fr}}@media (width>=1024px){:root{--shadow-1:-4px 8px 24px #00000020;--shadow-2:0 16px 30px #00000020;--shadow-3:0 16px 40px #00000020}.sidebar,article{width:950px;box-shadow:var(--shadow-5)}main{margin-bottom:60px}.main-content{width:max-content;margin:auto;position:relative}.main-content>.navbar{display:none}.sidebar-nav{flex-direction:column;gap:8px;margin-top:auto;display:flex}.sidebar-nav .navbar{width:100%;box-shadow:none;background:0 0;border:none;border-radius:0;padding:0;position:static}.sidebar-nav .navbar-list{flex-direction:column;gap:2px;padding:8px 0 0}.sidebar-nav .navbar-item{width:100%}.sidebar-nav .navbar-link{width:100%;font-size:var(--fs-7);font-weight:var(--fw-500);color:var(--light-gray-70);text-align:left;background:0 0;border-radius:6px;align-items:center;gap:10px;padding:9px 10px;transition:background .15s,color .15s;display:flex;position:relative}.sidebar-nav .navbar-link:before{content:"";background:oklch(30% .01 220);border-radius:50%;flex-shrink:0;width:6px;height:6px;transition:background .15s;position:static;transform:none}.sidebar-nav .navbar-link:after{content:"";background:oklch(65% .18 220);border-radius:0 2px 2px 0;width:2px;height:0%;transition:height .22s cubic-bezier(.16,1,.3,1);position:absolute;inset:50% auto auto 0;transform:translateY(-50%)}.sidebar-nav .navbar-link:hover,.sidebar-nav .navbar-link:focus{color:var(--light-gray);background:oklch(18% .01 220)}.sidebar-nav .navbar-link.active{color:var(--white-2);font-weight:var(--fw-600);background:oklch(17% .015 220)}.sidebar-nav .navbar-link.active:before{background:oklch(65% .18 220)}.sidebar-nav .navbar-link.active:after{height:60%}.project-list{grid-template-columns:repeat(2,minmax(260px,1fr));gap:18px}}@media (width>=1250px){.about-contact{display:none}body::-webkit-scrollbar{width:20px}body::-webkit-scrollbar-track{background:var(--smoky-black)}body::-webkit-scrollbar-thumb{border:5px solid var(--smoky-black);background:#ffffff1a;border-radius:20px;box-shadow:inset 1px 1px #ffffff1c,inset -1px -1px #ffffff1c}body::-webkit-scrollbar-thumb:hover{background:#ffffff26}body::-webkit-scrollbar-button{height:60px}.sidebar,article{width:auto}article{min-height:100%}main{justify-content:center;align-items:stretch;gap:25px;max-width:1200px;margin-inline:auto;display:flex}.main-content{width:75%;min-width:75%;margin:0}.sidebar{z-index:1;height:100%;max-height:max-content;margin-bottom:0;padding-top:60px;position:sticky;top:60px}.sidebar-info{flex-direction:column}.avatar-box img{width:150px}.info-content .name{white-space:nowrap;text-align:center}.info-content .title{margin:auto}.info_more-btn{display:none}.sidebar-info_more{opacity:1;visibility:visible}.contacts-list{grid-template-columns:1fr}.contact-info .contact-link{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.contact-info :is(.contact-link,time,address){--fs-7:14px;font-weight:var(--fw-300)}.separator:last-of-type{opacity:0;margin:15px 0}.social-list{justify-content:center}}@media (width<=579px){.navbar{padding:8px}.navbar-list{flex-wrap:nowrap;justify-content:stretch;gap:4px;padding:0}.navbar-item{flex:1}.navbar-link{text-align:center;width:100%;font-size:clamp(12px,3.5vw,15px);font-weight:var(--fw-400);color:var(--light-gray-70);background:0 0;border-radius:8px;padding:12px 4px;transition:background .2s,color .2s;display:block}.navbar-link:hover,.navbar-link:focus{background:var(--onyx);color:var(--light-gray)}.navbar-link.active{background:var(--onyx);color:var(--white-2);font-weight:var(--fw-500);box-shadow:inset 0 -2px oklch(65% .18 220)}.info_more-btn{align-items:center;gap:6px;padding:10px 14px;display:flex;top:-15px;right:-15px}.info_more-btn span{font-size:var(--fs-8);white-space:nowrap;display:block}.about-text{font-size:var(--fs-6)}}.resume-skill-chip{color:var(--vegas-gold);font-size:var(--fs-8);background:#70b8ff14;border:1px solid #70b8ff33;border-radius:12px;align-items:center;gap:6px;padding:4px 10px;line-height:1;display:inline-flex}.resume-skill-chip-icon{opacity:.9;flex:none}.resume-skill-pills{flex-wrap:wrap;gap:8px;display:flex}.resume-skill-pill{color:var(--vegas-gold);font-size:var(--fs-8);cursor:pointer;transition:background var(--transition-1), border-color var(--transition-1);background:#70b8ff14;border:1px solid #70b8ff38;border-radius:20px;align-items:center;gap:7px;padding:5px 14px;font-family:inherit;font-weight:500;line-height:1;display:inline-flex}.resume-skill-pill:hover,.resume-skill-pill--active{border-color:var(--vegas-gold);background:#70b8ff29}.resume-skill-badge{color:var(--vegas-gold);width:19px;height:19px;font-size:var(--fs-8);transition:background var(--transition-1), color var(--transition-1);background:#70b8ff33;border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.resume-skill-pill--active .resume-skill-badge{background:var(--vegas-gold);color:var(--eerie-black-1)}.resume-skill-expand{opacity:0;max-height:0;transition:max-height .28s cubic-bezier(.4,0,.2,1),opacity .2s;overflow:hidden}.resume-skill-expand--open{opacity:1;max-height:300px}.resume-skill-expand-inner{background:#70b8ff0d;border:1px solid #70b8ff24;border-radius:10px;flex-wrap:wrap;gap:6px;margin-top:10px;padding:10px 14px;display:flex}.resume-skill-expand-label{width:100%;font-size:var(--fs-9);letter-spacing:.08em;text-transform:uppercase;color:var(--vegas-gold);opacity:.6;margin-bottom:2px;font-weight:600}.portfolio .article-title{letter-spacing:-.025em;margin-bottom:20px;font-family:Bricolage Grotesque,sans-serif;font-size:clamp(1.4rem,3.5vw,1.75rem);font-weight:700}.portfolio .article-title:after{background:oklch(72% .15 220);border-radius:1px;width:24px;height:2px}@media (width>=580px){.portfolio .article-title{font-size:clamp(1.5rem,3vw,2rem)}}.about{font-family:Epilogue,sans-serif}.about .article-title{letter-spacing:-.025em;margin-bottom:20px;font-family:Bricolage Grotesque,sans-serif;font-size:clamp(1.4rem,3.5vw,1.75rem);font-weight:700}.about .article-title:after{background:oklch(72% .15 220);border-radius:1px;width:24px;height:2px}.about .about-text{color:oklch(76% .012 220);font-size:var(--fs-6);max-width:65ch;margin-bottom:0;font-weight:300;line-height:1.8}.about .about-text p{margin-bottom:12px}.about .about-text p:last-child{margin-bottom:0}.about-disciplines{margin-top:40px}.disciplines-label{font-size:var(--fs-9);letter-spacing:.14em;text-transform:uppercase;color:oklch(72% .15 220);margin-bottom:12px;font-weight:500;display:block}.discipline-list{margin:0;padding:0;list-style:none}.discipline-item{border-top:1px solid oklch(26% .006 220);grid-template-rows:auto auto;grid-template-columns:28px 1fr;column-gap:16px;padding:16px 0;display:grid}.discipline-item:last-child{border-bottom:1px solid oklch(26% .006 220)}.discipline-number{font-size:var(--fs-9);color:oklch(72% .15 220);font-variant-numeric:tabular-nums;letter-spacing:.06em;grid-area:1/1;padding-top:3px;font-weight:400;display:block}.discipline-title{font-family:Bricolage Grotesque,sans-serif;font-size:var(--fs-6);color:oklch(95% .006 220);letter-spacing:-.01em;grid-area:1/2;font-weight:600;display:block}.discipline-desc{font-size:var(--fs-8);color:oklch(56% .012 220);grid-area:2/2;margin-top:4px;line-height:1.55;display:block}@media (width>=580px){.about .article-title{font-size:clamp(1.5rem,3vw,2rem)}.discipline-title{font-size:var(--fs-5)}.discipline-desc{font-size:var(--fs-7)}.about-disciplines{margin-top:48px}}@media (width<=579px){.about .about-text{font-size:var(--fs-7)}}.resume{font-family:Epilogue,sans-serif}.resume-head{margin-bottom:32px}.resume-footer{border-top:1px solid var(--jet);margin-top:32px;padding-top:20px}.resume-head .article-title{font-family:Bricolage Grotesque,sans-serif;font-size:var(--fs-1);letter-spacing:-.025em;margin-bottom:0;font-weight:700}.resume-head .article-title:after{background:oklch(72% .15 220);border-radius:1px;width:24px;height:2px}.resume-cv-link{font-size:var(--fs-8);letter-spacing:.06em;text-transform:uppercase;color:oklch(72% .15 220);opacity:.75;white-space:nowrap;flex-shrink:0;align-items:center;gap:5px;font-weight:500;transition:opacity .2s;display:inline-flex}.resume-cv-link:hover{opacity:1}.resume-label{font-size:var(--fs-9);letter-spacing:.14em;text-transform:uppercase;color:oklch(72% .15 220);margin-bottom:16px;font-weight:500;display:block}.resume-block{margin-bottom:40px}.resume-block:last-child{margin-bottom:0}.resume-role-list{margin:0;padding:0;list-style:none}.resume-role-item{border-top:1px solid oklch(26% .006 220);grid-template-columns:28px 1fr;column-gap:16px;padding:20px 0;display:grid}.resume-role-item:last-child{border-bottom:1px solid oklch(26% .006 220)}.resume-role-index{font-size:var(--fs-9);color:oklch(72% .15 220);font-variant-numeric:tabular-nums;letter-spacing:.06em;padding-top:3px;font-weight:400;display:block}.resume-role-body{flex-direction:column;gap:4px;display:flex}.resume-role-header-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.resume-role-title{font-family:Bricolage Grotesque,sans-serif;font-size:var(--fs-5);color:oklch(95% .006 220);letter-spacing:-.01em;font-weight:600}.resume-role-date{font-size:var(--fs-9);color:oklch(72% .15 220);font-variant-numeric:tabular-nums;letter-spacing:.04em;white-space:nowrap;flex-shrink:0;font-weight:400}.resume-role-company{font-size:var(--fs-8);color:oklch(58% .012 220);font-weight:400}.resume-role-metrics{font-size:var(--fs-8);color:oklch(72% .15 220);flex-wrap:wrap;align-items:baseline;gap:0 3px;margin:6px 0 10px;font-weight:400;line-height:1.6;display:flex}.resume-role-metrics-anchor{opacity:.6;margin-right:3px}.resume-role-bullets{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.resume-role-bullets li{font-size:var(--fs-8);color:oklch(62% .01 220);padding-left:12px;line-height:1.7;position:relative}.resume-role-bullets li:before{content:"·";color:oklch(72% .15 220);font-weight:600;position:absolute;left:0}.resume .resume-skill-pill{color:oklch(76% .012 220);font-size:var(--fs-8);letter-spacing:.03em;background:0 0;border:1px solid oklch(28% .006 220);border-radius:4px;padding:5px 12px;font-weight:500}.resume .resume-skill-pill:hover,.resume .resume-skill-pill--active{color:oklch(90% .008 220);background:oklch(72% .15 220/.08);border-color:oklch(72% .15 220/.5)}.resume .resume-skill-badge{color:oklch(72% .15 220);font-size:var(--fs-9);background:oklch(72% .15 220/.15);width:17px;height:17px}.resume .resume-skill-pill--active .resume-skill-badge{color:oklch(15% .006 220);background:oklch(72% .15 220)}.resume .resume-skill-expand-inner{background:oklch(72% .15 220/.03);border:1px solid oklch(26% .006 220);border-radius:6px}.resume .resume-skill-expand-label{color:oklch(72% .15 220);opacity:.6}.resume .resume-skill-chip{color:oklch(76% .012 220);font-size:var(--fs-8);background:oklch(72% .15 220/.06);border:1px solid oklch(26% .006 220);border-radius:4px}@media (width>=580px){.resume-role-title{font-size:var(--fs-4)}.resume-role-metrics{font-size:var(--fs-8)}.resume-role-bullets li,.resume-role-company{font-size:var(--fs-7)}}.resume .resume-skill-expand{opacity:1;visibility:visible;grid-template-rows:0fr;max-height:none;transition:grid-template-rows .18s cubic-bezier(.4,0,1,1);display:grid;overflow:hidden}.resume .resume-skill-expand--open{grid-template-rows:1fr;max-height:none;transition:grid-template-rows .26s cubic-bezier(0,0,.2,1)}.resume .resume-skill-expand-inner{opacity:0;min-height:0;transition:opacity .1s}.resume .resume-skill-expand--open .resume-skill-expand-inner{opacity:1;transition:opacity .18s .1s}.sidebar .contact-item{align-items:center;gap:10px;min-width:0}.contact-icon{color:oklch(72% .15 220);opacity:.65;flex-shrink:0}.sidebar .contact-item .contact-link{font-family:Epilogue,sans-serif;font-size:var(--fs-8);color:oklch(76% .012 220);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-weight:400;transition:color .2s;overflow:hidden}.sidebar .contact-item .contact-link:hover{color:oklch(90% .008 220)}.sidebar .social-list{gap:16px;padding-left:0}.sidebar .social-item .social-link{color:oklch(52% .01 220);transition:color .2s}.sidebar .social-item .social-link:hover{color:oklch(72% .15 220)}@media (width<=1249px){.sidebar{background:var(--eerie-black-1);border:1px solid var(--jet);box-shadow:none;border-radius:14px;margin-bottom:6px;padding:9px 14px}.sidebar-info{align-items:center;gap:8px}.sidebar .avatar-box{border-radius:50%;flex-shrink:0;overflow:hidden}.sidebar .avatar-box img{object-fit:cover;width:32px;height:32px;display:block}.sidebar .info-content .name{letter-spacing:0;margin-bottom:2px;font-size:11px}.sidebar .info-content .title{padding:2px 6px;font-size:9px}.sidebar .separator,.sidebar-info_more,.info_more-btn,.sidebar-nav{display:none}.about-contact{margin-top:8px}.about-contact-list .contact-item{align-items:center;gap:10px;min-width:0}.about-contact-list .contact-link{font-family:Epilogue,sans-serif;font-size:var(--fs-8);color:oklch(76% .012 220);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-weight:400;transition:color .2s;overflow:hidden}.about-contact-list .contact-link:hover{color:oklch(90% .008 220)}.about-social-list{gap:16px;padding-left:0}.about-social-list .social-link{color:oklch(52% .01 220);transition:color .2s}.about-social-list .social-link:hover{color:oklch(72% .15 220)}}.skip-link{z-index:9999;background:var(--eerie-black-1);color:var(--orange-yellow-crayola);border:1px solid var(--orange-yellow-crayola);font-size:var(--fs-7);font-weight:var(--fw-500);border-radius:6px;padding:8px 14px;text-decoration:none;transition:top .15s;position:fixed;top:-100%;left:12px}.skip-link:focus{top:12px}.discipline-desc{color:oklch(62% .012 220)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.a11y-footer{text-align:center;padding:16px 20px 76px}.a11y-footer-statement{font-size:var(--fs-8);color:oklch(45% .006 220);line-height:1.6}.a11y-footer-statement a{color:oklch(55% .01 220);text-underline-offset:2px;text-decoration:underline}.a11y-footer-statement a:hover{color:oklch(65% .012 220)}@media (width>=1024px){.a11y-footer{padding-bottom:16px}}
