@font-face{font-family:Gambarino;font-style:normal;font-weight:400;font-display:swap;src:url(https://www.byavi.in/font/Gambarino/Fonts/WEB/fonts/Gambarino-Regular.woff2)format("woff2")}@font-face{font-family:Switzer;font-style:normal;font-weight:300 700;font-display:swap;src:url(https://www.byavi.in/font/Switzer/Fonts/WEB/fonts/Switzer-Light.woff2)format("woff2")}:root{--radius:.625rem;--background:#010101;--foreground:#f9f8f6;--muted:#f9f8f680;--soft:#f9f8f61a;--primary:#fff}html[data-theme=dark]{--background:#010101;--foreground:#f9f8f6;--muted:#f9f8f680;--soft:#f9f8f61a;--primary:#fff}html[data-theme=light],.light{--background:#f9f8f6;--foreground:#010101;--muted:#01010185;--soft:#0101011a;--primary:#010101;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark],.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--background);color:var(--foreground);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-text-size-adjust:100%}body{background:var(--background);min-height:100svh;color:var(--foreground);-webkit-font-smoothing:antialiased;padding-bottom:env(safe-area-inset-bottom);font-family:Switzer,ui-sans-serif,system-ui,sans-serif;font-weight:400;transition:background-color .46s cubic-bezier(.2,.8,.2,1),color .46s cubic-bezier(.2,.8,.2,1);overflow-x:hidden}a{color:inherit;text-decoration:none}img,svg{display:block}::selection{color:#010101;background:#78b3ffe6}::-webkit-scrollbar{background:0 0;width:3px}::-webkit-scrollbar-thumb{background:var(--primary);border-radius:10px;width:2px}.intro-loader{z-index:9999;pointer-events:none;background:var(--foreground);color:var(--background);place-items:center;animation:1.25s cubic-bezier(.65,0,.35,1) 1.3s forwards loader-out;display:grid;position:fixed;inset:0;overflow:visible}.loader-center{-webkit-user-select:none;user-select:none;place-items:center;min-width:min(82vw,16rem);min-height:1.1em;font-family:Gambarino,ui-serif,serif;font-size:clamp(2.25rem,5vw,3.75rem);font-weight:500;display:grid;position:relative}.loader-center span{opacity:0;grid-area:1/1;animation:.2s both multilingual-hello}.loader-center span:nth-child(2){animation-delay:.2s}.loader-center span:nth-child(3){animation-delay:.4s}.loader-center span:nth-child(4){animation-delay:.6s}.loader-center span:nth-child(5){animation-delay:.8s}.loader-center span:nth-child(6){animation-delay:1s}.loader-wave{width:100%;height:clamp(60px,10vw,120px);fill:var(--foreground);position:absolute;bottom:0;left:0;transform:translateY(99%)}.home-screen,.about-screen{background:var(--background);justify-content:center;align-items:center;width:100%;min-height:100svh;padding:1rem;transition:background-color .46s cubic-bezier(.2,.8,.2,1),color .46s cubic-bezier(.2,.8,.2,1);display:flex;position:relative;overflow:hidden}.experience-screen,.projects-screen,.contact-screen{background:var(--background);min-height:100svh;color:var(--foreground);padding:clamp(5rem,8vw,7rem) 1rem 7rem;transition:background-color .46s cubic-bezier(.2,.8,.2,1),color .46s cubic-bezier(.2,.8,.2,1)}.experience-shell,.projects-shell,.contact-shell{width:min(980px,100%);margin-inline:auto}.experience-header,.projects-header,.contact-header{text-align:center;margin-bottom:2.25rem}.experience-header p,.projects-header p,.contact-header p{color:color-mix(in oklab, var(--foreground) 46%, transparent);letter-spacing:.14em;text-transform:uppercase;margin-bottom:.65rem;font-size:.78rem;font-weight:600}.experience-header h1,.projects-header h1,.contact-header h1{letter-spacing:-.055em;font-family:Gambarino,ui-serif,serif;font-size:clamp(3rem,8vw,5.8rem);font-weight:400;line-height:.9}.contact-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:stretch;gap:.9rem;display:grid}.contact-panel{border:1px solid color-mix(in oklab, var(--foreground) 10%, transparent);background:color-mix(in oklab, var(--foreground) 3%, transparent);border-radius:.75rem;padding:clamp(1rem,2.5vw,1.45rem)}.contact-copy{flex-direction:column;display:flex}.contact-copy>span{border:1px solid color-mix(in oklab, var(--foreground) 12%, transparent);width:fit-content;color:color-mix(in oklab, var(--foreground) 58%, transparent);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:.25rem .55rem;font-size:.72rem;font-weight:750}.contact-copy h2{color:color-mix(in oklab, var(--foreground) 92%, transparent);letter-spacing:-.05em;margin-top:1rem;font-size:clamp(1.45rem,3vw,2.25rem);font-weight:760;line-height:1.05}.contact-copy p{color:color-mix(in oklab, var(--foreground) 62%, transparent);margin-top:.9rem;font-size:.98rem;line-height:1.7}.contact-socials{gap:.55rem;margin-top:auto;padding-top:1.5rem;display:grid}.contact-socials a{border:1px solid color-mix(in oklab, var(--foreground) 10%, transparent);background:color-mix(in oklab, var(--background) 54%, transparent);border-radius:.65rem;align-items:center;gap:.75rem;min-width:0;padding:.72rem;transition:border-color .25s,background .25s,transform .25s;display:flex}.contact-socials a:hover{border-color:color-mix(in oklab, var(--foreground) 18%, transparent);background:color-mix(in oklab, var(--foreground) 5%, transparent);transform:translateY(-1px)}.contact-socials svg{width:1.1rem;height:1.1rem;color:color-mix(in oklab, var(--foreground) 76%, transparent);flex:none}.contact-socials span{gap:.12rem;min-width:0;display:grid}.contact-socials strong{color:color-mix(in oklab, var(--foreground) 88%, transparent);font-size:.9rem;font-weight:740}.contact-socials small{color:color-mix(in oklab, var(--foreground) 54%, transparent);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:560;overflow:hidden}.contact-form{gap:.9rem;display:grid}.contact-form label{gap:.45rem;display:grid}.contact-form label span{color:color-mix(in oklab, var(--foreground) 68%, transparent);font-size:.82rem;font-weight:700}.contact-form input,.contact-form textarea{border:1px solid color-mix(in oklab, var(--foreground) 11%, transparent);background:color-mix(in oklab, var(--background) 54%, transparent);width:100%;color:var(--foreground);font:inherit;border-radius:.65rem;outline:0;padding:.78rem .85rem;font-size:.95rem;transition:border-color .22s,background .22s,box-shadow .22s}.contact-form textarea{resize:vertical;min-height:11rem;line-height:1.55}.contact-form input:focus,.contact-form textarea:focus{border-color:color-mix(in oklab, var(--foreground) 36%, transparent);background:color-mix(in oklab, var(--foreground) 4%, transparent);box-shadow:0 0 0 3px color-mix(in oklab, var(--foreground) 8%, transparent)}.contact-form button{border:1px solid color-mix(in oklab, var(--foreground) 15%, transparent);background:var(--foreground);color:var(--background);cursor:pointer;font:inherit;border-radius:.65rem;padding:.82rem 1rem;font-size:.92rem;font-weight:750;transition:opacity .22s,transform .25s,box-shadow .25s}.contact-form button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 .75rem 2rem #0000002e}.contact-form button:disabled{cursor:not-allowed;opacity:.68}.contact-status{border-radius:.6rem;padding:.72rem .8rem;font-size:.88rem;font-weight:650;line-height:1.45}.contact-status.success{color:color-mix(in oklab, var(--foreground) 86%, #35d07f);background:#35d07f2e;background:lab(74.3792% -55.0274 28.4232/.18)}.contact-status.error{color:color-mix(in oklab, var(--foreground) 86%, #ff5c5c);background:#ff5c5c2e;background:lab(62.1433% 62.8724 35.5113/.18)}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.published-work{margin-bottom:1rem}.published-card{border:1px solid color-mix(in oklab, var(--foreground) 12%, transparent);background:linear-gradient(135deg, color-mix(in oklab, var(--foreground) 6%, transparent), transparent 55%), color-mix(in oklab, var(--foreground) 3%, transparent);border-radius:.75rem;padding:clamp(1rem,2.4vw,1.45rem)}.published-card>span{border:1px solid color-mix(in oklab, var(--foreground) 12%, transparent);color:color-mix(in oklab, var(--foreground) 58%, transparent);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;margin-bottom:.85rem;padding:.25rem .55rem;font-size:.72rem;font-weight:750;display:inline-flex}.published-card h2{max-width:820px;color:color-mix(in oklab, var(--foreground) 92%, transparent);letter-spacing:-.045em;font-size:clamp(1.25rem,3vw,1.85rem);font-weight:760;line-height:1.1}.published-card p{max-width:780px;color:color-mix(in oklab, var(--foreground) 62%, transparent);margin-top:.8rem;font-size:.98rem;line-height:1.6}.published-card strong{color:color-mix(in oklab, var(--foreground) 82%, transparent);margin-top:.85rem;font-size:.9rem;font-weight:750;display:inline-block}.project-card{border:1px solid color-mix(in oklab, var(--foreground) 10%, transparent);background:color-mix(in oklab, var(--foreground) 3%, transparent);border-radius:.75rem;flex-direction:column;min-height:100%;padding:clamp(1rem,2.4vw,1.35rem);transition:border-color .28s,background .28s,transform .28s;display:flex}.project-card:hover{border-color:color-mix(in oklab, var(--foreground) 18%, transparent);background:color-mix(in oklab, var(--foreground) 5%, transparent);transform:translateY(-2px)}.project-card-topline{margin-bottom:.9rem;display:flex}.project-card-topline span{border:1px solid color-mix(in oklab, var(--foreground) 12%, transparent);color:color-mix(in oklab, var(--foreground) 55%, transparent);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:.25rem .55rem;font-size:.72rem;font-weight:700}.project-card h2{color:color-mix(in oklab, var(--foreground) 92%, transparent);letter-spacing:-.04em;font-size:clamp(1.15rem,2.4vw,1.55rem);font-weight:750;line-height:1.08}.project-card p{color:color-mix(in oklab, var(--foreground) 62%, transparent);margin-top:.85rem;font-size:.95rem;line-height:1.65}.project-tech{flex-wrap:wrap;gap:.45rem;margin-top:1rem;display:flex}.project-tech span{background:color-mix(in oklab, var(--foreground) 7%, transparent);color:color-mix(in oklab, var(--foreground) 70%, transparent);border-radius:999px;padding:.34rem .58rem;font-size:.78rem;font-weight:600}.project-actions{flex-wrap:wrap;gap:.6rem;margin-top:auto;padding-top:1.25rem;display:flex}.project-actions a{border:1px solid color-mix(in oklab, var(--foreground) 14%, transparent);color:color-mix(in oklab, var(--foreground) 82%, transparent);border-radius:.55rem;padding:.55rem .75rem;font-size:.84rem;font-weight:700;transition:background .25s,color .25s}.project-actions a:hover{background:var(--foreground);color:var(--background)}.skills-section{margin-top:clamp(3rem,7vw,5rem)}.skills-header{margin-bottom:1.5rem}.skills-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.skill-group{border:1px solid color-mix(in oklab, var(--foreground) 10%, transparent);background:color-mix(in oklab, var(--foreground) 3%, transparent);border-radius:.75rem;padding:clamp(1rem,2.4vw,1.35rem);transition:border-color .28s,background .28s,transform .28s}.skill-group:hover{border-color:color-mix(in oklab, var(--foreground) 18%, transparent);background:color-mix(in oklab, var(--foreground) 5%, transparent);transform:translateY(-2px)}.skill-group h2{color:color-mix(in oklab, var(--foreground) 90%, transparent);letter-spacing:-.035em;margin-bottom:.95rem;font-size:clamp(1.05rem,2.2vw,1.35rem);font-weight:760}.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.skill-pill{border:1px solid color-mix(in oklab, var(--foreground) 9%, transparent);background:color-mix(in oklab, var(--background) 54%, transparent);border-radius:.65rem;align-items:center;gap:.65rem;min-width:0;padding:.55rem .65rem;display:flex}.skill-pill span{background:#fff;border-radius:.55rem;flex:none;place-items:center;width:2.25rem;height:2.25rem;display:grid}.skill-pill img{object-fit:contain;width:1.45rem;height:1.45rem}.skill-pill p{min-width:0;color:color-mix(in oklab, var(--foreground) 74%, transparent);letter-spacing:-.02em;font-size:.9rem;font-weight:650;line-height:1.15}.experience-list{flex-direction:column;gap:.85rem;display:flex}.education-section{margin-top:clamp(3rem,7vw,5rem)}.education-header{margin-bottom:1.5rem}.experience-card{border:1px solid color-mix(in oklab, var(--foreground) 10%, transparent);background:color-mix(in oklab, var(--foreground) 3%, transparent);border-radius:.75rem;grid-template-columns:clamp(4.75rem,10vw,6rem) minmax(0,1fr);gap:1.15rem;padding:clamp(1rem,2.4vw,1.35rem);transition:border-color .28s,background .28s,transform .28s;display:grid}.experience-card:hover{border-color:color-mix(in oklab, var(--foreground) 18%, transparent);background:color-mix(in oklab, var(--foreground) 5%, transparent);transform:translateY(-2px)}.experience-logo{border:1px solid color-mix(in oklab, var(--foreground) 11%, transparent);color:#0101016b;background:#fff;border-radius:999px;place-items:center;width:clamp(4.75rem,10vw,6rem);height:clamp(4.75rem,10vw,6rem);font-size:.7rem;display:grid;overflow:hidden}.experience-logo:before{content:"";position:absolute}.experience-logo{position:relative}.experience-logo img{z-index:2;object-fit:contain;width:72%;height:72%;position:relative}.experience-logo span{z-index:1;letter-spacing:-.04em;text-transform:uppercase;grid-area:1/1;font-size:.82rem;font-weight:700;position:relative}.education-logo{color:#111;background:linear-gradient(135deg,#fcfdff,#fff);background:linear-gradient(135deg,lab(99.3333% -.208169 -1.02204),#fff)}.education-gpa{color:color-mix(in oklab, var(--foreground) 78%, transparent);margin-top:.45rem;font-size:.88rem;font-weight:700;display:inline-block}.experience-logo img{grid-area:1/1}.experience-topline{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.experience-topline h2{color:color-mix(in oklab, var(--foreground) 92%, transparent);letter-spacing:-.035em;font-size:clamp(1.1rem,2.2vw,1.45rem);font-weight:700;line-height:1.15}.experience-topline p{color:color-mix(in oklab, var(--foreground) 58%, transparent);margin-top:.35rem;font-size:.98rem;line-height:1.35}.experience-topline time{color:color-mix(in oklab, var(--foreground) 45%, transparent);text-align:right;flex:none;font-size:.84rem;font-weight:600;line-height:1.35}.experience-content ul{gap:.65rem;margin-top:1rem;padding-left:0;list-style:none;display:grid}.experience-content li{color:color-mix(in oklab, var(--foreground) 62%, transparent);padding-left:1.15rem;font-size:.96rem;line-height:1.6;position:relative}.experience-content li:before{content:"▹";color:color-mix(in oklab, var(--foreground) 78%, transparent);position:absolute;left:0}.hero{z-index:10;text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:800px;display:flex}.availability{border:1px solid color-mix(in oklab, var(--foreground) 8%, transparent);background:color-mix(in oklab, var(--foreground) 3%, transparent);color:color-mix(in oklab, var(--foreground) 70%, transparent);letter-spacing:.025em;border-radius:.5rem;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.25rem .75rem;font-size:11px;font-weight:500;display:flex}.ping-dot{width:.5rem;height:.5rem;display:flex;position:relative}.ping-dot span,.ping-dot i{background:var(--foreground);border-radius:999px;position:absolute;inset:0}.ping-dot span{opacity:.75;animation:1s cubic-bezier(0,0,.2,1) infinite ping}.name-wrap{width:100%;min-height:clamp(2.8rem,12vw,3.2rem);color:var(--foreground);filter:drop-shadow(0 1px 2px #00000026);letter-spacing:-.05em;justify-content:center;align-items:center;margin-bottom:1.25rem;font-family:Gambarino,ui-serif,serif;font-size:clamp(2.75rem,12.5vw,3.5rem);font-weight:400;line-height:.9;display:flex}.name-wrap h1{white-space:nowrap;max-width:100%;font:inherit}.tagline{max-width:100%;color:var(--muted);letter-spacing:-.01em;margin-bottom:2.5rem;font-size:16px;line-height:1.65}.tagline strong{color:color-mix(in oklab, var(--foreground) 80%, transparent);font-weight:600}.cta-row{z-index:20;justify-content:center;align-items:center;gap:.75rem;display:flex}.btn{border-radius:.625rem;padding:.625rem 1.25rem;font-size:13px;font-weight:500;transition:transform .3s,box-shadow .3s,background .3s;display:inline-block;box-shadow:0 1px 2px #0000001f}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 6px -1px #0003}.btn-primary{background:var(--foreground);color:var(--background)}.btn-secondary{border:1px solid color-mix(in oklab, var(--foreground) 15%, transparent);background:var(--background);color:var(--foreground)}.about-copy{text-align:center;width:100%;max-width:min(760px,92vw);margin:1.5rem auto 0;padding-block:5rem}.about-avatar-wrap{border-radius:999px;width:clamp(6.5rem,18vw,9rem);height:clamp(6.5rem,18vw,9rem);margin:0 auto 2rem;animation:.8s cubic-bezier(.2,.8,.2,1) both avatar-enter,4.5s ease-in-out .9s infinite avatar-float;position:relative}.about-avatar-wrap:before{content:"";border-radius:inherit;background:conic-gradient(from 90deg, transparent, color-mix(in oklab, var(--foreground) 12%, transparent), color-mix(in oklab, var(--foreground) 42%, transparent), color-mix(in oklab, var(--foreground) 12%, transparent), transparent);opacity:.55;animation:8s linear infinite avatar-ring;position:absolute;inset:-4px}.about-avatar-wrap:after{content:"";z-index:-1;border-radius:inherit;background:color-mix(in oklab, var(--foreground) 16%, transparent);filter:blur(24px);opacity:.4;position:absolute;inset:12%}.about-avatar-wrap:hover{animation-play-state:running,paused}.about-avatar-wrap:hover .about-avatar{transform:scale(1.035)}.about-avatar{z-index:1;border:1px solid color-mix(in oklab, var(--foreground) 14%, transparent);background-color:color-mix(in oklab, var(--foreground) 6%, transparent);background-image:url(/profile.png);background-position:50%;background-size:cover;border-radius:999px;width:100%;height:100%;transition:transform .35s,box-shadow .35s;position:relative;box-shadow:0 18px 50px #00000038}.about-copy p{color:color-mix(in oklab, var(--foreground) 60%, transparent);letter-spacing:-.01em;text-wrap:pretty;font-size:16px;font-weight:500;line-height:1.75}.about-copy strong{color:color-mix(in oklab, var(--foreground) 88%, transparent);font-weight:700}.about-copy p+p{margin-top:1.25rem}.about-copy a{z-index:20;color:color-mix(in oklab, var(--foreground) 90%, transparent);font-weight:600;display:inline-block;position:relative}.about-copy a:hover{text-decoration:underline;-webkit-text-decoration-color:var(--primary);text-decoration-color:var(--primary)}.about-copy .resume-button{border:1px solid color-mix(in oklab, var(--foreground) 15%, transparent);background:var(--foreground);color:var(--background);border-radius:.625rem;margin-top:2rem;padding:.75rem 1.2rem;font-size:.875rem;font-weight:600;line-height:1;transition:transform .3s,box-shadow .3s;box-shadow:0 8px 24px #0003}.about-copy .resume-button:hover{text-decoration:none;transform:translateY(-1px);box-shadow:0 12px 30px #00000047}.work-screen{background:var(--background);min-height:100svh;color:var(--foreground);align-items:center;gap:1.5rem;display:flex;position:relative;overflow:hidden}.mobile-work,.mobile-scroll-hint{display:none}.work-list{letter-spacing:-.05em;flex:1;padding-inline:2.5rem;display:block}.desktop-title{justify-content:space-between;align-items:center;gap:1.25rem;padding-inline:.5rem;font-family:Gambarino,ui-serif,serif;font-size:4vw;font-weight:600;line-height:1.1;display:flex}.desktop-title h1,.work-title-row h1{color:var(--primary);font:inherit;filter:drop-shadow(0 1px 2px #00000026);white-space:nowrap}.desktop-title span{background:color-mix(in oklab, var(--foreground) 50%, transparent);transform-origin:0;width:70%;height:1px;animation:.8s .2s forwards line-grow;transform:scaleX(0)}.desktop-projects{flex-direction:column;gap:.5rem;margin-top:2.5rem;font-size:1.2vw;display:flex}.desktop-project{border-radius:.125rem;justify-content:space-between;align-items:center;gap:.5rem;padding:.125rem .75rem;font-family:Switzer,ui-sans-serif,sans-serif;line-height:2;transition:background .3s;display:flex}.desktop-project:hover{background:color-mix(in oklab, var(--foreground) 10%, transparent)}.desktop-project p{white-space:nowrap}.desktop-project small{color:color-mix(in oklab, var(--foreground) 50%, transparent);font-size:inherit;letter-spacing:-.01em;text-transform:lowercase;font-weight:400}.desktop-project i{background:color-mix(in oklab, var(--foreground) 50%, transparent);transform-origin:0;flex:1;height:.5px;animation:.8s forwards line-grow;transform:scaleX(0)}.desktop-project time{color:color-mix(in oklab, var(--foreground) 50%, transparent);letter-spacing:0;white-space:nowrap;font-size:.875rem}.see-all{color:color-mix(in oklab, var(--foreground) 70%, transparent)}.image-rail{width:30vw;height:100vh;display:block;overflow:hidden}.image-rail>div{flex-direction:column;gap:1.5rem;width:100%;animation:42s linear infinite rail-scroll;display:flex}.image-rail a{border-radius:.125rem;display:block;overflow:hidden}.image-rail img{aspect-ratio:16/9;object-fit:cover;border-radius:.125rem;width:100%;transition:transform .3s}.image-rail img:hover{transform:scale(1.03)}.project-screen{background:var(--background);min-height:100svh;color:var(--foreground);padding:clamp(1.25rem,4vw,3rem)}.project-screen nav{color:color-mix(in oklab, var(--foreground) 55%, transparent);justify-content:space-between;align-items:center;margin-bottom:3rem;font-size:.875rem;display:flex}.project-hero h1{letter-spacing:-.05em;color:var(--foreground);font-family:Gambarino,ui-serif,serif;font-size:clamp(3rem,8vw,8rem);font-weight:400;line-height:.9}.gallery-root{width:100%}.gallery-intro{max-width:760px;color:color-mix(in oklab, var(--foreground) 62%, transparent);text-align:left;margin:1.6rem auto 0;font-size:clamp(.98rem,2vw,1.08rem);line-height:1.75}.gallery-intro p+p{margin-top:1rem}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.gallery-card{border:1px solid color-mix(in oklab, var(--foreground) 10%, transparent);background:color-mix(in oklab, var(--foreground) 3%, transparent);min-width:0;min-height:100%;color:inherit;cursor:pointer;font:inherit;text-align:left;border-radius:.75rem;flex-direction:column;transition:border-color .28s,background .28s,transform .28s;display:flex;overflow:hidden}.gallery-card:hover{border-color:color-mix(in oklab, var(--foreground) 18%, transparent);background:color-mix(in oklab, var(--foreground) 5%, transparent);transform:translateY(-2px)}.gallery-card img,.project-hero img{aspect-ratio:16/9;object-fit:cover;width:100%}.gallery-card img{border-bottom:1px solid color-mix(in oklab, var(--foreground) 10%, transparent);transition:transform .32s}.gallery-card:hover img{transform:scale(1.025)}.gallery-card-body{flex-direction:column;flex:1;padding:clamp(1rem,2.4vw,1.35rem);display:flex}.gallery-card h2{color:color-mix(in oklab, var(--foreground) 92%, transparent);letter-spacing:-.04em;font-size:clamp(1.05rem,2vw,1.35rem);font-weight:750;line-height:1.1}.gallery-card p{color:color-mix(in oklab, var(--foreground) 62%, transparent);margin-top:.75rem;font-size:.94rem;line-height:1.6}.gallery-empty{border:1px solid color-mix(in oklab, var(--foreground) 10%, transparent);background:color-mix(in oklab, var(--foreground) 3%, transparent);color:color-mix(in oklab, var(--foreground) 58%, transparent);text-align:center;border-radius:.75rem;padding:1.2rem}.gallery-modal{z-index:80;place-items:center;padding:clamp(1rem,3vw,2rem);display:none;position:fixed;inset:0}.gallery-modal.is-open{display:grid}.gallery-modal-backdrop{background:color-mix(in oklab, var(--background) 82%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);cursor:pointer;border:0;position:absolute;inset:0}.gallery-modal-window{z-index:1;border:1px solid color-mix(in oklab, var(--foreground) 14%, transparent);background:var(--background);border-radius:.75rem;grid-template-columns:minmax(0,1.35fr) minmax(16rem,.65fr);align-items:center;width:min(920px,100%);max-height:min(86svh,760px);display:grid;position:relative;overflow:hidden;box-shadow:0 1.5rem 5rem #0006;box-shadow:0 1.5rem 5rem lab(0% 0 0/.4)}.gallery-modal-window img{object-fit:contain;background:color-mix(in oklab, var(--foreground) 4%, transparent);align-self:center;width:100%;height:auto;max-height:min(86svh,760px)}.gallery-modal-copy{border-left:1px solid color-mix(in oklab, var(--foreground) 10%, transparent);flex-direction:column;justify-content:center;max-height:min(86svh,760px);padding:clamp(1.2rem,3vw,1.8rem);display:flex;overflow-y:auto}.gallery-modal-copy h2{color:color-mix(in oklab, var(--foreground) 92%, transparent);letter-spacing:-.045em;font-size:clamp(1.35rem,3vw,2rem);font-weight:760;line-height:1.05}.gallery-modal-copy p{color:color-mix(in oklab, var(--foreground) 62%, transparent);margin-top:.9rem;font-size:.98rem;line-height:1.65}.gallery-modal-close{z-index:2;border:1px solid color-mix(in oklab, var(--foreground) 14%, transparent);background:color-mix(in oklab, var(--background) 76%, transparent);color:color-mix(in oklab, var(--foreground) 82%, transparent);cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:.55rem;padding:.5rem .7rem;font-size:.78rem;font-weight:750;transition:background .25s,color .25s;position:absolute;top:.85rem;right:.85rem}.gallery-modal-close:hover{background:var(--foreground);color:var(--background)}.project-hero{max-width:1100px;margin-inline:auto}.project-hero img{border-radius:.25rem}.project-hero p{color:color-mix(in oklab, var(--foreground) 45%, transparent);margin-bottom:1rem}.project-hero h2{max-width:760px;color:color-mix(in oklab, var(--foreground) 55%, transparent);margin:1rem 0 2rem;font-size:clamp(1rem,2vw,1.4rem);font-weight:400;line-height:1.5}.project-body{max-width:760px;color:color-mix(in oklab, var(--foreground) 62%, transparent);margin:3rem auto 0;font-size:1rem;line-height:1.75}.tag-row,.project-links{flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;display:flex}.tag-row span,.project-links a{border:1px solid color-mix(in oklab, var(--foreground) 10%, transparent);background:color-mix(in oklab, var(--foreground) 4%, transparent);color:color-mix(in oklab, var(--foreground) 75%, transparent);border-radius:.5rem;padding:.4rem .7rem;font-size:.8125rem}.project-links a:first-child{background:var(--foreground);color:var(--background)}.bottom-nav{pointer-events:none;z-index:80;padding:0 1rem calc(1.25rem + env(safe-area-inset-bottom));justify-content:center;align-items:flex-end;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-shell{pointer-events:auto;border:1px solid color-mix(in oklab, var(--foreground) 11%, transparent);background:color-mix(in oklab, var(--background) 62%, transparent);-webkit-backdrop-filter:blur(18px)saturate(130%);backdrop-filter:blur(18px)saturate(130%);border-radius:999px;align-items:center;gap:.65rem;padding:.35rem;transition:background .46s cubic-bezier(.2,.8,.2,1),border-color .46s cubic-bezier(.2,.8,.2,1),box-shadow .46s cubic-bezier(.2,.8,.2,1);animation:.7s cubic-bezier(.2,.8,.2,1) 2.05s both nav-in;display:flex;box-shadow:0 18px 60px #00000052}.nav-item{width:2.45rem;height:2.35rem;color:color-mix(in oklab, var(--foreground) 52%, transparent);cursor:pointer;letter-spacing:-.01em;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;font-size:.78rem;font-weight:500;transition:color .32s,background .32s,transform .32s;display:inline-flex;position:relative;overflow:visible}.nav-item:hover{background:color-mix(in oklab, var(--foreground) 8%, transparent);color:color-mix(in oklab, var(--foreground) 88%, transparent);transform:translateY(-1px)}.nav-item.active{background:var(--foreground);color:var(--background)}.theme-toggle{width:2.45rem}.theme-toggle:hover{transform:translateY(-1px)}.theme-toggle.is-light{background:color-mix(in oklab, var(--foreground) 10%, transparent);color:color-mix(in oklab, var(--foreground) 88%, transparent)}html.theme-wipe-light:after,html.theme-wipe-dark:after{content:"";pointer-events:none;z-index:10000;transform-origin:50%;border-radius:999px;width:3rem;height:3rem;animation:.72s cubic-bezier(.2,.8,.2,1) forwards theme-wipe;position:fixed;bottom:1.55rem;right:1.55rem;transform:scale(0)}html.theme-wipe-light:after{background:#f9f8f6}html.theme-wipe-dark:after{background:#010101}.nav-item svg{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1rem;height:1rem}.nav-item span,.social-icon span{pointer-events:none;border:1px solid color-mix(in oklab, var(--foreground) 12%, transparent);background:color-mix(in oklab, var(--background) 78%, transparent);color:color-mix(in oklab, var(--foreground) 84%, transparent);letter-spacing:0;opacity:0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);white-space:nowrap;transform-origin:50% 100%;border-radius:999px;padding:.36rem .62rem;font-size:.72rem;font-weight:700;line-height:1;transition:opacity .22s,transform .28s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:calc(100% + .65rem);left:50%;transform:translate(-50%)translateY(.45rem)scale(.96);box-shadow:0 .75rem 2rem #0003}.nav-item span:after,.social-icon span:after{content:"";border-right:1px solid color-mix(in oklab, var(--foreground) 12%, transparent);border-bottom:1px solid color-mix(in oklab, var(--foreground) 12%, transparent);background:color-mix(in oklab, var(--background) 78%, transparent);width:.45rem;height:.45rem;position:absolute;top:100%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.nav-item:hover span,.nav-item:focus-visible span,.social-icon:hover span,.social-icon:focus-visible span{opacity:1;transform:translate(-50%)translateY(0)scale(1)}.nav-divider{background:color-mix(in oklab, var(--foreground) 14%, transparent);width:1px;height:1.35rem;margin-inline:.18rem}.social-icon{width:2.35rem;height:2.35rem;color:color-mix(in oklab, var(--foreground) 52%, transparent);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0;font-size:1rem;transition:color .32s,background .32s,transform .32s;display:inline-flex;position:relative}.social-icon:last-child{margin-inline-end:.65rem}.social-icon:hover{background:color-mix(in oklab, var(--foreground) 8%, transparent);color:color-mix(in oklab, var(--foreground) 88%, transparent);transform:translateY(-1px)}.social-icon svg{width:1rem;height:1rem}.mobile-blur{pointer-events:none;z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);height:8rem;display:none;position:fixed;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#0000 0%,#000 60%);mask-image:linear-gradient(#0000 0%,#000 60%)}.animate-up{opacity:0;animation:.7s cubic-bezier(.2,.8,.2,1) forwards up-in;transform:translateY(20px)}.animate-blur{opacity:0;filter:blur(5px);animation:.65s forwards blur-in;transform:translateY(20px)}.delay-1{animation-delay:2.5s}.delay-2{animation-delay:2.6s}.delay-3{animation-delay:2.7s}.delay-4{animation-delay:2.8s}@keyframes multilingual-hello{0%{opacity:0;transform:translateY(4px)}15%,75%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}@keyframes loader-out{to{transform:translateY(-115%)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes up-in{to{opacity:1;transform:translateY(0)}}@keyframes blur-in{to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes line-grow{to{transform:scaleX(1)}}@keyframes rail-scroll{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@keyframes avatar-enter{0%{opacity:0;filter:blur(8px);transform:translateY(18px)scale(.92)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes avatar-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes avatar-ring{to{transform:rotate(360deg)}}@keyframes nav-in{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes theme-wipe{0%{opacity:.82;transform:scale(0)}55%{opacity:.5}to{opacity:0;transform:scale(70)}}@media (min-width:40rem){.name-wrap{min-height:4.1rem;font-size:4.5rem}.tagline{max-width:80%;font-size:18px}.btn{padding:.75rem 1.5rem;font-size:.875rem}.cta-row{gap:1rem}.about-copy p{font-size:18px;line-height:1.7}}@media (min-width:48rem){.name-wrap{min-height:5rem;font-size:5.5rem}.tagline{font-size:20px}.about-copy{max-width:85%}.about-copy p{font-size:22px;line-height:1.65}}@media (min-width:64rem){.name-wrap{min-height:5.4rem;font-size:6rem}}@media (max-width:767px){.mobile-blur{display:block}.work-screen{min-height:100svh;display:block;overflow:hidden}.work-list,.image-rail{display:none}.mobile-work{flex-direction:column;height:100svh;padding:6rem 1.25rem .25rem;display:flex}.mobile-scroll-hint{z-index:40;color:color-mix(in oklab, var(--foreground) 30%, transparent);letter-spacing:.1em;text-transform:uppercase;flex-direction:column;align-items:center;gap:.375rem;font-size:10px;display:flex;position:fixed;bottom:6.75rem;left:50%;transform:translate(-50%)}.work-title-row{letter-spacing:-.05em;flex-shrink:0;align-items:center;gap:1rem;margin-bottom:1.5rem;font-family:Gambarino,ui-serif,serif;font-size:2.6rem;font-weight:600;line-height:1;display:flex}.work-title-row span{background:color-mix(in oklab, var(--foreground) 20%, transparent);transform-origin:0;flex:1;height:1px;animation:.8s .2s forwards line-grow;transform:scaleX(0)}.mobile-list-wrap{flex:1;min-height:0;position:relative;overflow:hidden}.fade-top,.fade-bottom{pointer-events:none;z-index:10;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);position:absolute;inset-inline:0}.fade-top{background:linear-gradient(to bottom, color-mix(in oklab, var(--background) 95%, transparent), color-mix(in oklab, var(--background) 55%, transparent), transparent);height:2.5rem;top:-1rem}.fade-bottom{background:linear-gradient(to top, color-mix(in oklab, var(--background) 95%, transparent), color-mix(in oklab, var(--background) 55%, transparent), transparent);height:4rem;bottom:0}.mobile-project-list{overscroll-behavior:contain;scrollbar-width:none;flex-direction:column;height:100%;padding:2rem .25rem 6rem 0;display:flex;overflow-y:auto}.mobile-project-list::-webkit-scrollbar{display:none}.mobile-project{border-bottom:1px solid color-mix(in oklab, var(--foreground) 10%, transparent);align-items:center;gap:.75rem;padding-block:1rem;font-family:Switzer,ui-sans-serif,sans-serif;display:flex}.mobile-project div{flex:1;min-width:0}.mobile-project p{color:var(--foreground);letter-spacing:-.03em;font-size:1.1rem;font-weight:500}.mobile-project small{color:color-mix(in oklab, var(--foreground) 55%, transparent);letter-spacing:-.01em;margin-top:.25rem;padding-right:.5rem;font-size:.88rem;line-height:1.6;display:block}.mobile-project i{background:color-mix(in oklab, var(--foreground) 10%, transparent);transform-origin:top;align-self:stretch;width:1px;animation:.6s forwards vline-grow;transform:scaleY(0)}.mobile-project time{color:color-mix(in oklab, var(--foreground) 45%, transparent);white-space:nowrap;font-size:.78rem}.gallery-grid{grid-template-columns:1fr}.gallery-modal-window{grid-template-columns:1fr;max-height:86svh}.gallery-modal-window img{height:auto;min-height:0;max-height:55svh}.gallery-modal-copy{border-top:1px solid color-mix(in oklab, var(--foreground) 10%, transparent);border-left:0}.bottom-nav{padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.bottom-nav-shell{gap:.05rem;max-width:calc(100vw - 2rem);padding:.28rem}.nav-item{width:2.05rem;height:2.35rem}.social-icon{width:1.95rem;height:2.35rem}.nav-divider{height:1.2rem;margin-inline:.08rem}.theme-toggle:hover{width:2.05rem}.experience-screen,.projects-screen{padding-top:4.5rem}.experience-header,.projects-header{margin-bottom:1.5rem}.projects-grid{grid-template-columns:1fr}.contact-screen{padding-top:4.5rem}.contact-header{margin-bottom:1.5rem}.contact-layout{grid-template-columns:1fr}.contact-socials{margin-top:0}.skills-groups,.skill-grid{grid-template-columns:1fr}.experience-card{border-radius:.65rem;grid-template-columns:4rem minmax(0,1fr);gap:.9rem}.experience-logo{width:4rem;height:4rem}.experience-topline{flex-direction:column;gap:.4rem}.experience-topline time{text-align:left}.experience-content li{font-size:.92rem}}@media (max-width:350px){.name-wrap{min-height:2.75rem;margin-bottom:.9rem;font-size:2.55rem}}@keyframes vline-grow{to{transform:scaleY(1)}}
