:root{color-scheme:dark;--color-bg-primary:#1a1a1a;--color-bg-secondary:#222;--color-bg-elevated:#2a2a2a;--color-text-primary:#f0f0f0;--color-text-secondary:silver;--color-text-muted:#888;--color-accent-teal:#004d61;--color-accent-teal-light:#006e8a;--color-accent-ruby:#822659;--color-accent-ruby-light:#a33070;--color-metallic-silver:silver;--color-border-default:#2e2e2e;--font-heading:"Clash Display", sans-serif;--font-body:"General Sans", sans-serif;--font-label:"Inter", sans-serif;--content-width:1200px;--navbar-height:68px;font-family:var(--font-body);color:var(--color-text-primary);background:var(--color-bg-primary);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}*,:before,:after{box-sizing:border-box}html{min-width:0;scroll-padding-top:calc(var(--navbar-height) + 18px)}body{background:radial-gradient(ellipse at 10% 12%, #004d611a, transparent 28rem), var(--color-bg-primary);min-width:0;min-height:100vh;color:var(--color-text-primary);margin:0;font-size:16px;line-height:1.65}body.custom-cursor-enabled,body.custom-cursor-enabled *{cursor:none!important}.cursor-follower{z-index:9999;pointer-events:none;visibility:hidden;position:fixed;inset:0}.cursor-follower.is-visible{visibility:visible}.cursor-follower__dot,.cursor-follower__halo{pointer-events:none;will-change:transform, opacity;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor-follower__dot{opacity:0;background:#e8e8e8f5;border-radius:50%;width:8px;height:8px;transition:opacity .15s;box-shadow:0 0 10px #d4d4d473}.cursor-follower__halo{opacity:0;-webkit-backdrop-filter:blur(6px);background:radial-gradient(circle,#d4d4d45c 0%,#96969633 60%,#5a5a5a14 100%);border:1px solid #c0c0c059;border-radius:50%;width:40px;height:40px;transition:transform .2s,opacity .2s;box-shadow:0 0 32px #c0c0c042}.cursor-follower.is-visible .cursor-follower__dot{opacity:1}.cursor-follower.is-visible .cursor-follower__halo{opacity:.38}.site-shell{opacity:0;visibility:hidden;transition:opacity .6s,visibility 0s linear .6s}body.is-ready .site-shell{opacity:1;visibility:visible;transition-delay:0s}.splash-screen{z-index:1000;background:#0a0a0a;place-items:center;transition:transform .6s cubic-bezier(.4,0,.2,1),opacity .6s;display:grid;position:fixed;inset:0}.splash-screen.is-exiting{opacity:0;transform:translateY(-100%)}.splash-letters{align-items:center;gap:.3rem;animation:.4s ease-out 1.35s both splash-pulse;display:flex}.splash-letter-group{align-items:center;display:flex}.splash-letter,.splash-cursor{font-family:Courier New,monospace;font-size:clamp(3rem,8vw,7rem);font-weight:700;line-height:1}.splash-letter{-webkit-text-fill-color:transparent;opacity:0;background:linear-gradient(160deg,silver,#f0f0f0 35%,#a0a0a0 65%,#d8d8d8) text;min-width:1ch;transition:opacity .1s;display:inline-block}.splash-letter.is-visible{opacity:1}.splash-cursor{color:var(--color-metallic-silver);opacity:0;margin-left:4px}.splash-cursor.is-active{opacity:1;animation:.5s step-end infinite splash-blink}@keyframes splash-blink{50%{opacity:0}}@keyframes splash-pulse{50%{filter:drop-shadow(0 0 18px #dcdcdc66)}}.reveal-on-scroll{opacity:0;filter:blur(7px);transition:opacity .7s cubic-bezier(.22,1,.36,1),filter .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(34px)}.reveal-on-scroll.is-revealed{opacity:1;filter:blur();transform:translateY(0)}.hero-photo-wrap,.hero-copy{opacity:0;transform:translateY(24px)}body.is-ready .hero-photo-wrap{animation:.85s cubic-bezier(.22,1,.36,1) .1s both hero-enter}body.is-ready .hero-copy{animation:.85s cubic-bezier(.22,1,.36,1) .22s both hero-enter}@keyframes hero-enter{to{opacity:1;transform:translateY(0)}}button,a{font:inherit;touch-action:manipulation}a{color:inherit;text-decoration:none}button{color:inherit}img,svg{max-width:100%;display:block}button:focus-visible,a:focus-visible{outline:2px solid var(--color-metallic-silver);outline-offset:3px}::selection{color:var(--color-text-primary);background:#006e8a8c}::-webkit-scrollbar{width:7px}::-webkit-scrollbar-track{background:var(--color-bg-primary)}::-webkit-scrollbar-thumb{background:#454545;border-radius:999px}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{color:var(--color-text-primary);font-family:var(--font-heading);font-weight:600;line-height:1.15}p{color:var(--color-text-secondary)}.site-header{z-index:20;min-height:var(--navbar-height);backdrop-filter:blur(14px);background:linear-gradient(135deg,#080808f2,#141414eb);border-bottom:1px solid #c0c0c02b;position:fixed;inset:0 0 auto}.header-inner{width:min(100% - 40px,1280px);min-height:var(--navbar-height);align-items:center;gap:20px;margin-inline:auto;display:flex}.brand{flex:none;justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex}.brand img{object-fit:contain;width:44px;height:44px}.desktop-nav{justify-content:center;align-items:center;gap:clamp(12px,1.8vw,26px);margin-inline:auto;display:flex}.desktop-nav a,.mobile-nav a{color:#c0c0c0db;font-family:var(--font-label);font-size:.78rem;transition:color .18s;position:relative}.desktop-nav a:after{content:"";transform-origin:0;background:linear-gradient(90deg,#a5a5a5,#ebebeb);height:2px;transition:transform .18s;position:absolute;bottom:-7px;left:0;right:0;transform:scaleX(0)}.desktop-nav a:hover,.mobile-nav a:hover{color:#fff}.desktop-nav a:hover:after{transform:scaleX(1)}.header-cta,.outline-button{min-height:42px;color:var(--color-metallic-silver);font-family:var(--font-label);letter-spacing:.035em;background:linear-gradient(135deg,#2a2a2ad9,#1a1a1ab3);border:1px solid #c0c0c04d;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:8px 14px;font-size:.76rem;font-weight:600;transition:color .18s,border-color .18s,transform .18s,box-shadow .18s;display:inline-flex}.header-cta{text-transform:uppercase;border-radius:999px;min-height:38px;padding-inline:16px}.header-cta:hover,.outline-button:hover{color:#fff;border-color:#ebebeba6;transform:translateY(-2px);box-shadow:0 8px 20px #00000052}.menu-toggle,.mobile-nav{display:none}main{padding-top:var(--navbar-height)}.section-shell{width:min(100%, var(--content-width));margin-inline:auto;padding-inline:30px}.hero{min-height:min(820px, calc(100svh - var(--navbar-height)));grid-template-columns:minmax(270px,.85fr) minmax(0,1.25fr);align-items:center;gap:clamp(48px,7vw,100px);padding-block:74px;display:grid}.hero-photo-wrap{width:max-content;max-width:100%;margin-inline:auto;position:relative}.hero-photo-frame{aspect-ratio:1;background:linear-gradient(135deg,#004d612b,#8226591f);border:1px solid #ffffff1a;border-radius:20px;width:clamp(274px,28vw + 24px,394px);padding:12px;transition:transform .25s;overflow:hidden;box-shadow:0 24px 64px #0006,inset 0 0 0 1px #ffffff08}.hero-photo-frame:hover{transform:scale(1.025)}.hero-photo{object-fit:cover;border-radius:12px;width:100%;height:100%;display:block;box-shadow:0 8px 32px #0000004d}.code-chip{z-index:1;color:var(--color-accent-teal-light);font-family:var(--font-label);opacity:0;background:#1a1a1af0;border:1px solid #ffffff17;border-radius:10px;padding:6px 12px;font-size:.72rem;transition:opacity .2s,transform .2s;position:absolute;box-shadow:0 8px 24px #0000004d}.chip-top{top:-12px;right:-24px;transform:translateY(-5px)}.chip-bottom{bottom:-12px;left:-24px;transform:translateY(5px)}.hero-photo-wrap:hover .code-chip{opacity:1;transform:translateY(0)}.eyebrow{color:var(--color-accent-teal-light);font-family:var(--font-label);letter-spacing:.1em;margin-bottom:14px;font-size:.83rem;font-weight:600}.name-reveal{color:#141414;-webkit-text-stroke:1.2px #8f8f8f;-webkit-text-fill-color:#141414;text-shadow:0 0 12px #c0c0c029;cursor:default;letter-spacing:-.045em;background:linear-gradient(135deg,silver,#e8e8e8 40%,#a8a8a8 60%,#d4d4d4) 0/0% 100% no-repeat text;width:fit-content;margin-bottom:8px;font-size:clamp(3.2rem,6vw,5.3rem);line-height:1.06;transition:background-size .6s cubic-bezier(.77,0,.175,1);display:inline-block;position:relative}.name-reveal:after{content:"";pointer-events:none;background:linear-gradient(#dfdfdf,#b5b5b5);width:3px;height:100%;transition:left .6s cubic-bezier(.77,0,.175,1);position:absolute;top:0;left:0}@media (hover:hover){.name-reveal:hover{-webkit-text-fill-color:transparent;-webkit-text-stroke-color:transparent;background-size:100% 100%}.name-reveal:hover:after{left:100%}}@media (hover:none){.name-reveal{-webkit-text-fill-color:transparent;-webkit-text-stroke-color:transparent;background-size:100% 100%}.name-reveal:after{display:none}}.hero-role{color:var(--color-metallic-silver);font-family:var(--font-heading);margin-bottom:28px;font-size:clamp(1.35rem,2.4vw,1.8rem);font-weight:500}.hero-description{max-width:560px;color:var(--color-text-secondary);margin-bottom:18px;font-size:1rem;line-height:1.9}.hero-tagline{color:var(--color-text-muted);margin-bottom:10px;font-size:.9rem;font-style:italic}.hero-languages{color:var(--color-text-muted);margin-bottom:24px;font-size:.82rem}.hero-actions{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.button{min-height:48px;font-family:var(--font-label);letter-spacing:.07em;text-transform:uppercase;border:1px solid #ffffff12;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:11px 22px;font-size:.8rem;font-weight:700;transition:transform .18s,box-shadow .18s,filter .18s;display:inline-flex}.button svg{width:19px;height:19px}.button-primary{background:linear-gradient(135deg, var(--color-accent-teal), #006e8ae6);color:var(--color-text-primary);box-shadow:0 4px 16px #004d6140}.button-primary:hover{filter:brightness(1.15);transform:translateY(-2px);box-shadow:0 8px 28px #004d6166}.social-dock{background:linear-gradient(135deg,#2a2a2acc,#1a1a1acc);border:1px solid #ffffff12;border-radius:16px;align-items:center;gap:18px;min-height:60px;padding:12px 17px;display:flex;box-shadow:0 12px 30px #00000038}.social-dock a{width:24px;height:24px;color:var(--color-metallic-silver);place-items:center;transition:color .16s,transform .16s;display:grid}.social-dock a:hover{color:#fff;transform:translateY(-2px)}.social-dock svg{width:22px;height:22px}.content-section{padding-block:84px}.section-heading{align-items:center;gap:13px;margin-bottom:30px;display:flex}.section-heading h2{letter-spacing:-.025em;margin:0;font-size:clamp(1.65rem,3vw,2.3rem)}.section-icon{width:38px;height:38px;color:var(--color-metallic-silver);font-family:var(--font-label);background:linear-gradient(135deg,#004d6133,#8226591f);border:1px solid #82265959;border-radius:9px;flex:none;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:inline-flex}.section-intro{max-width:680px;color:var(--color-text-secondary);margin:-12px 0 30px}.experience-track{gap:22px;margin:0;padding:0;list-style:none;display:grid}.experience-group{--experience-opacity:0;--experience-y:44px;--experience-blur:7px;--experience-accent:0;background:linear-gradient(135deg,#222222e6,#1a1a1acc);border:1px solid #ffffff12;border-radius:16px;min-width:0;position:relative;overflow:hidden;box-shadow:0 10px 30px #00000026}.experience-group:before{z-index:1;background:linear-gradient(90deg, transparent, var(--color-metallic-silver), var(--color-accent-teal-light), transparent);content:"";height:2px;opacity:var(--experience-accent);transform:scaleX(var(--experience-accent));transform-origin:0;position:absolute;top:0;left:0;right:0}.experience-scroll-ready .experience-group{visibility:hidden;opacity:var(--experience-opacity);translate:0 var(--experience-y);filter:blur(var(--experience-blur))}.experience-reveal-text{clip-path:inset(0 var(--experience-text-clip,0%) 0 0)}.experience-activity{opacity:var(--experience-detail-opacity,1);translate:var(--experience-detail-x,0) 0}.experience-tech-tag{opacity:var(--experience-tag-opacity,1);scale:var(--experience-tag-scale,1)}.company-stripe{background:linear-gradient(135deg,#004d6138,#82265924);border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:flex-start;gap:24px;padding:23px 28px;display:flex}.experience-group:nth-child(2n) .company-stripe{background:linear-gradient(135deg,#82265933,#004d6121)}.company-heading h3{margin-bottom:0;font-size:clamp(1.35rem,2.5vw,1.8rem)}.experience-category{color:var(--color-metallic-silver);letter-spacing:.06em;margin-bottom:7px;font-size:.75rem}.experience-period{text-align:right;flex:none}.date-label{color:var(--color-text-secondary);font-family:var(--font-label);margin:5px 0 0;font-size:.8rem}.current-label{color:var(--color-text-primary);font-family:var(--font-label);align-items:center;gap:7px;font-size:.74rem;display:inline-flex}.current-label:before{content:"";background:#8bc6aa;border-radius:50%;width:7px;height:7px}.experience-content{padding:23px 28px 26px}.experience-content>p,.project-content>p{color:var(--color-text-secondary);margin-bottom:0;font-size:.92rem}.activity-list{color:var(--color-text-secondary);gap:9px;margin:16px 0 0;padding-left:20px;font-size:.9rem;list-style:outside;display:grid}.activity-list li::marker{color:var(--color-metallic-silver)}.tag-list{flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none;display:flex}.tech-tag{color:var(--color-metallic-silver);font-family:var(--font-label);letter-spacing:.025em;background:#2a2a2acc;border:1px solid #c0c0c040;border-radius:7px;align-items:center;padding:5px 10px;font-size:.69rem;font-weight:600;display:inline-flex}.outline-button{text-transform:uppercase;min-height:40px;margin-top:18px;padding:7px 12px;font-size:.7rem}.projects-section{width:100%;max-width:none;margin-inline:0;padding:84px 0}.projects-carousel-content{width:min(100%, var(--content-width));height:100%;margin-inline:auto;padding-inline:30px}.projects-carousel-content>.section-heading{margin-bottom:14px}.project-intro{color:var(--color-text-muted);margin:0 0 18px;font-size:.88rem}.projects-carousel-viewport{overscroll-behavior-inline:contain;scrollbar-color:#c0c0c059 transparent;scrollbar-width:thin;overflow-x:auto}.projects-grid{align-items:stretch;gap:clamp(18px,2vw,28px);width:max-content;min-width:100%;margin:0;padding:8px 0 24px;list-style:none;display:flex}.project-card{border:1px solid var(--color-border-default);background:var(--color-bg-secondary);scroll-snap-align:center;border-radius:22px;flex:0 0 min(82vw,430px);min-width:0;transition:opacity .35s,scale .35s,filter .35s,border-color .35s,box-shadow .35s;overflow:hidden;box-shadow:0 2px 6px #006e8a0f,0 4px 20px #00000052}.projects-carousel-footer{grid-template-columns:minmax(70px,1fr) minmax(0,1fr) auto;align-items:center;gap:16px;padding:4px 0 0;display:grid}.projects-progress-track{background:#c0c0c024;border-radius:999px;height:2px;overflow:hidden}.projects-progress-track span{background:linear-gradient(90deg, var(--color-accent-teal-light), var(--color-metallic-silver));transform-origin:0;width:100%;height:100%;display:block;transform:scaleX(0)}.projects-progress-label{color:var(--color-text-secondary);justify-content:center;gap:12px;margin:0;font-size:.75rem;display:flex}.projects-progress-label [data-project-current]{color:var(--color-metallic-silver);font-weight:600}.projects-progress-label [data-project-count]{color:var(--color-text-muted);font-family:var(--font-label);font-variant-numeric:tabular-nums}.projects-scroll-hint{color:var(--color-text-muted);font-family:var(--font-label);white-space:nowrap;font-size:.68rem}.projects-carousel-ready{--projects-scroll-distance:0px;min-height:calc(100svh - var(--navbar-height) + var(--projects-scroll-distance));padding-block:0}.projects-carousel-ready .projects-pin{top:var(--navbar-height);height:calc(100svh - var(--navbar-height));position:sticky;overflow:hidden}.projects-carousel-ready .projects-carousel-content{flex-direction:column;justify-content:center;padding-block:clamp(18px,3.5svh,36px);display:flex}.projects-carousel-ready .projects-carousel-viewport{scrollbar-width:none;flex:1;align-items:center;min-height:0;display:flex;overflow:hidden}.projects-carousel-ready .projects-carousel-viewport::-webkit-scrollbar{display:none}.projects-carousel-ready .projects-grid{will-change:transform;min-width:0;padding:14px 0}.projects-carousel-ready .project-card{opacity:.58;filter:saturate(.7);scale:.94}.projects-carousel-ready .project-card.is-active{z-index:1;opacity:1;filter:saturate();border-color:#c0c0c052;scale:1;box-shadow:0 10px 38px #00000061,0 0 0 1px #c0c0c01a}.flip-card{perspective:1000px;height:276px;overflow:hidden}.flip-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.4,0,.2,1);position:relative}.flip-card-face{backface-visibility:hidden;border-radius:21px 21px 0 0;position:absolute;inset:0;overflow:hidden}.flip-card-front{background:var(--color-bg-secondary)}.flip-card-front>img,.project-cover-placeholder{object-fit:cover;width:100%;height:100%}.project-cover-placeholder{background:radial-gradient(circle at 75% 20%,#8226594d,#0000 32%),linear-gradient(145deg,#262626,#111 65%,#004d61b3);place-items:center;display:grid}.project-cover-placeholder span{color:#c0c0c02b;font-family:var(--font-heading);letter-spacing:-.08em;font-size:clamp(5rem,11vw,8rem);font-weight:700}.cover-shade{background:linear-gradient(#0000 32%,#1a1a1a61 63%,#1a1a1af5);position:absolute;inset:0}.flip-card-front h3{text-shadow:0 2px 10px #000;margin:0;font-size:clamp(1.2rem,2.2vw,1.65rem);position:absolute;bottom:17px;left:20px;right:18px}.flip-toggle,.flip-back-button{z-index:1;min-height:42px;color:var(--color-metallic-silver);cursor:pointer;font-family:var(--font-label);backdrop-filter:blur(5px);background:#0000008f;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:.7rem;display:inline-flex;position:absolute;top:14px;right:14px}.flip-card-back{background:linear-gradient(145deg,#1a1a1afc,#2a2a2af7);border:1px solid #c0c0c01f;flex-direction:column;justify-content:center;padding:24px;display:flex;overflow-y:auto;transform:rotateY(180deg)}.flip-card-back h4{color:var(--color-accent-teal-light);font-family:var(--font-label);letter-spacing:.08em;text-transform:uppercase;margin:0 0 13px;font-size:.75rem}.flip-card-back .flip-back-button{align-self:flex-start;margin-bottom:14px;position:static}.feature-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.feature-list li{color:var(--color-metallic-silver);padding-left:17px;font-size:.79rem;line-height:1.5;position:relative}.feature-list li:before{background:linear-gradient(135deg, var(--color-accent-teal-light), var(--color-accent-ruby-light));content:"";border-radius:50%;width:6px;height:6px;position:absolute;top:.58em;left:0}.project-card.is-flipped .flip-card-inner{transform:rotateY(180deg)}.project-content{background:linear-gradient(135deg,#222222bf,#2a2a2a59);border-top:1px solid #ffffff0a;padding:18px 20px 20px}.project-content .tag-list{margin-top:14px}.project-content .tech-tag{border-radius:999px}.project-links{flex-wrap:wrap;gap:9px;display:flex}.project-links .outline-button{margin-top:15px}.tech-grid{flex-wrap:wrap;justify-content:center;gap:16px;margin:0;padding:0;list-style:none;display:flex}.tech-card{width:184px;min-height:70px;color:var(--color-metallic-silver);background:linear-gradient(135deg,#2a2a2acc,#1a1a1a99);border:1px solid #c0c0c026;border-radius:12px;align-items:center;gap:13px;padding:12px 16px;font-size:.83rem;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}#tech.tech-reveal-ready .tech-card{visibility:hidden;opacity:0;transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1),visibility;transition-delay:var(--tech-reverse-delay), var(--tech-reverse-delay), calc(.6s + var(--tech-reverse-delay));transform:translateY(60px)}#tech.tech-reveal-ready .tech-card.is-revealed{visibility:visible;opacity:1;transition-delay:var(--tech-delay), var(--tech-delay), 0s;transform:translateY(0)}.tech-card:hover{border-color:#c0c0c08c;transform:translateY(-3px);box-shadow:0 12px 28px #0006}#tech.tech-reveal-ready .tech-card:not(.is-revealed):hover{transform:translateY(60px)}.tech-card img{object-fit:contain;flex:none;width:36px;height:36px}.calendar-panel{background:linear-gradient(135deg,#2a2a2abf,#1a1a1abf);border:1px solid #c0c0c024;border-radius:16px;padding:22px;overflow:hidden}.calendar-topline,.calendar-footer{justify-content:space-between;align-items:center;gap:16px;display:flex}.calendar-topline h3{margin:0 0 2px;font-size:1.15rem}.calendar-topline p,.calendar-footer p{color:var(--color-text-muted);margin:0;font-size:.8rem}.calendar-topline .outline-button{flex:none;margin:0}.contribution-controls{flex-wrap:wrap;gap:7px;margin:19px 0 16px;display:flex}[data-year-buttons]{flex-wrap:wrap;gap:7px;display:flex}.period-button{min-height:36px;color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-label);background:#2a2a2acc;border:1px solid #c0c0c02e;border-radius:8px;padding:6px 11px;font-size:.72rem;transition:border-color .16s,color .16s,background .16s}.period-button:hover,.period-button.is-active{color:var(--color-text-primary);background:#004d6147;border-color:#006e8aa6}.contribution-scroll{scrollbar-color:#454545 transparent;padding:10px 0;overflow-x:auto}.contribution-calendar{width:max-content;min-width:100%}.calendar-months,.calendar-weeks{grid-template-columns:repeat(var(--week-count,53), 11px);column-gap:3px;display:grid}.calendar-months{min-height:21px;color:var(--color-text-muted);font-family:var(--font-label);text-transform:capitalize;align-items:start;font-size:.65rem}.calendar-weeks{grid-template-rows:repeat(1,1fr);grid-auto-flow:column}.contribution-week{grid-template-rows:repeat(7,11px);gap:3px;display:grid}.contribution-cell,.calendar-legend i{background:#292929;border:1px solid #ffffff06;border-radius:3px;width:11px;height:11px;display:block}.contribution-cell.level-1,.calendar-legend .level-1{background:#0e4429}.contribution-cell.level-2,.calendar-legend .level-2{background:#006d32}.contribution-cell.level-3,.calendar-legend .level-3{background:#26a641}.contribution-cell.level-4,.calendar-legend .level-4{background:#39d353}.contribution-cell.level-outside{visibility:hidden}.calendar-footer{margin-top:9px}.calendar-legend{color:var(--color-text-muted);font-family:var(--font-label);align-items:center;gap:5px;font-size:.62rem;display:inline-flex}.calendar-legend i{width:10px;height:10px}.calendar-retry{min-height:40px;color:var(--color-metallic-silver);cursor:pointer;background:#2a2a2acc;border:1px solid #c0c0c040;border-radius:8px;margin-top:14px;padding:7px 12px}.profile-links{gap:10px;margin-top:14px;display:flex}.education-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.info-card{background:linear-gradient(135deg,#222222bf,#2a2a2a66);border:1px solid #ffffff0f;border-radius:14px;min-width:0;padding:24px;transition:transform .2s,border-color .2s;position:relative;overflow:hidden}.info-card:hover{border-color:#ffffff26;transform:translateY(-3px)}.info-card:before{background:linear-gradient(90deg, transparent, var(--color-accent-teal-light), var(--color-accent-ruby), transparent);content:"";height:1px;position:absolute;top:0;left:0;right:0}.card-index{width:38px;height:38px;color:var(--color-accent-teal-light);font-family:var(--font-label);background:#004d611f;border:1px solid #006e8a33;border-radius:9px;place-items:center;margin-bottom:22px;font-size:.77rem;font-weight:700;display:inline-grid}.info-card .eyebrow{margin-bottom:8px;font-size:.7rem}.info-card h3{margin-bottom:5px;font-size:1.25rem}.info-card p{font-size:.84rem}.info-card .muted-copy{color:var(--color-text-muted);margin-bottom:9px}.achievement-card .tag-list{margin-top:14px}.education-card{--education-opacity:0;--education-y:72px;--education-scale:.92;--education-blur:8px}.education-card-top{justify-content:space-between;align-items:flex-start;display:flex}.education-card .card-index{margin-bottom:22px}.education-accent-line{background:linear-gradient(90deg, transparent, var(--color-accent-teal), var(--color-accent-ruby), transparent);height:1px;opacity:var(--education-accent-opacity,1);transform:scaleX(var(--education-accent-scale,1));transform-origin:0}.education-cap-icon{width:28px;height:28px;color:var(--color-accent-teal-light);opacity:var(--education-cap-opacity,1);transform:translateY(var(--education-cap-y,0)) rotate(var(--education-cap-rotation,0deg))}.education-reveal-text{clip-path:inset(0 var(--education-text-clip,0%) 0 0)}.education-scroll-ready .education-card{visibility:hidden;opacity:var(--education-opacity);translate:0 var(--education-y);scale:var(--education-scale);filter:blur(var(--education-blur))}.achievement-timeline{--achievement-line-progress:0;gap:30px;margin-left:12px;padding-left:34px;display:grid;position:relative}.achievement-timeline-track,.achievement-timeline-fill{pointer-events:none;border-radius:999px;width:2px;position:absolute;top:6px;bottom:6px;left:9px}.achievement-timeline-track{background:linear-gradient(#c0c0c033,#8080801a,#0000)}.achievement-timeline-fill{background:linear-gradient(to bottom, var(--color-metallic-silver), #c0c0c0b3, #80808080);transform:scaleY(var(--achievement-line-progress));transform-origin:top;will-change:transform;box-shadow:0 0 8px #c0c0c066,0 0 20px #c0c0c026}.achievement-item{--achievement-opacity:0;--achievement-y:40px;min-width:0;position:relative}.achievement-item .achievement-dot{z-index:1;border:2px solid var(--color-metallic-silver);background:var(--color-bg-primary);border-radius:50%;width:12px;height:12px;transition:box-shadow .5s cubic-bezier(.22,1,.36,1),background .5s cubic-bezier(.22,1,.36,1);position:absolute;top:6px;left:-30px;box-shadow:0 0 8px #c0c0c04d}.achievement-item.is-dot-active .achievement-dot{background:#c0c0c099;box-shadow:0 0 8px #c0c0c066,0 0 20px #c0c0c026}.achievement-scroll-ready .achievement-item{visibility:hidden;opacity:var(--achievement-opacity);translate:0 var(--achievement-y)}.achievement-card{position:relative}.achievement-card:after{background:linear-gradient(90deg, transparent, var(--color-metallic-silver), transparent);content:"";opacity:0;height:1px;transition:opacity .5s;position:absolute;top:0;left:0;right:0}.achievement-card.card-revealed:after{opacity:1}.achievement-reveal-text{clip-path:inset(0 var(--achievement-text-clip,0%) 0 0)}.achievement-tag{opacity:var(--achievement-tag-opacity,1);scale:var(--achievement-tag-scale,1)}.certification-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:18px;display:grid}.certification-card{background:linear-gradient(135deg,#2a2a2aa6,#1a1a1a80);border:1px solid #c0c0c024;border-radius:16px;align-items:center;gap:22px;min-width:0;padding:22px;transition:transform .2s,border-color .2s;display:flex}.certification-card:hover{border-color:#c0c0c04d;transform:translateY(-3px)}.certification-badge-link{border-radius:50%;flex:none;width:140px;display:block}.certification-badge{aspect-ratio:1;object-fit:contain;width:100%;height:auto;display:block}.certification-details{min-width:0}.certification-details .eyebrow{margin-bottom:6px;font-size:.7rem}.certification-details h3{margin-bottom:8px;font-size:1.1rem}.certification-details>p:not(.eyebrow){color:var(--color-text-muted);margin-bottom:14px;font-size:.84rem}@media (width<=480px){.certification-card{flex-direction:column;align-items:flex-start}.certification-badge-link{width:112px}}.contact-section{padding-bottom:90px}.contact-panel{background:radial-gradient(at 0 0,#006e8a29,#0000 55%),linear-gradient(135deg,#2a2a2ae0,#1a1a1aeb);border:1px solid #ffffff14;border-radius:20px;grid-template-columns:minmax(0,1.25fr) minmax(230px,.75fr);gap:45px;padding:clamp(24px,5vw,48px);display:grid;box-shadow:0 24px 70px #0003}.contact-intro{align-self:center}.contact-availability{color:#8eddb7;font-family:var(--font-label);letter-spacing:.04em;background:#32cd8c12;border:1px solid #32cd8c2e;border-radius:999px;align-items:center;gap:8px;margin-bottom:16px;padding:6px 11px;font-size:.68rem;font-weight:600;display:inline-flex}.availability-dot{background:#54d89a;border-radius:50%;width:7px;height:7px;box-shadow:0 0 10px #54d89ab3}.contact-panel h3{margin-bottom:12px;font-size:clamp(1.6rem,3vw,2rem)}.contact-panel>.contact-intro>p{max-width:540px;color:var(--color-text-secondary);margin-bottom:24px}.contact-email-button{align-items:center;gap:10px;display:inline-flex}.contact-email-button svg{width:18px;height:18px}.contact-details{border-left:1px solid #c0c0c01f;align-content:center;gap:10px;margin:0;padding-left:28px;display:grid}.contact-detail{border:1px solid #0000;border-radius:12px;grid-template-rows:auto auto;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:2px 13px;min-width:0;padding:11px 12px;transition:background .18s,border-color .18s;display:grid}.contact-detail:hover{background:#ffffff06;border-color:#c0c0c014}.contact-detail-icon{width:36px;height:36px;color:var(--color-metallic-silver);background:#c0c0c00e;border:1px solid #c0c0c01a;border-radius:10px;flex:none;place-items:center;display:grid}.contact-detail-icon svg{width:17px;height:17px}.contact-details dt{color:var(--color-text-muted);font-family:var(--font-label);letter-spacing:.04em;text-transform:uppercase;font-size:.66rem;display:contents}.contact-detail-icon{grid-area:1/1/span 2}.contact-detail-label{grid-area:1/2}.contact-details dd{color:var(--color-metallic-silver);overflow-wrap:anywhere;grid-area:2/2;margin:0;font-size:.82rem}.contact-details a{text-decoration:none;transition:color .18s}.contact-details a:hover{color:var(--color-text-primary)}.site-footer{width:min(100% - 60px, var(--content-width));border-top:1px solid #ffffff12;justify-content:space-between;align-items:center;gap:18px;margin-inline:auto;padding:22px 0 30px;display:flex}.site-footer p,.site-footer a{color:var(--color-text-muted);margin:0;font-size:.78rem}.site-footer a:hover{color:var(--color-text-primary)}@media (width<=1050px){.desktop-nav{gap:12px}.desktop-nav a{font-size:.7rem}.hero{gap:45px}.tech-card{justify-content:center;width:auto;min-width:68px;min-height:64px;padding:10px}.tech-card span{display:none}}@media (width<=760px){:root{--navbar-height:62px}.header-inner{justify-content:space-between;width:calc(100% - 32px)}.desktop-nav,.header-cta{display:none}.menu-toggle{cursor:pointer;background:#2a2a2abf;border:1px solid #ffffff1a;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:44px;height:44px;display:flex}.menu-toggle span{background:var(--color-metallic-silver);width:19px;height:1px}.mobile-nav:not([hidden]){background:#0c0c0cf7;border:1px solid #ffffff1a;border-radius:14px;flex-direction:column;gap:4px;margin:0 14px 14px;padding:12px;display:flex;box-shadow:0 15px 32px #0006}.mobile-nav a{border-radius:8px;min-height:44px;padding:9px 12px;font-size:.85rem}.mobile-nav a:hover{background:#ffffff0f}.section-shell{padding-inline:22px}.hero{text-align:center;grid-template-columns:1fr;gap:42px;min-height:auto;padding-top:66px;padding-bottom:72px}.hero-photo-frame{width:clamp(259px,64vw + 24px,334px)}.hero-copy{flex-direction:column;align-items:center;display:flex}.hero-description{max-width:570px}.hero-actions{justify-content:center}.content-section{padding-block:60px}.projects-grid{gap:18px}.projects-carousel-content{padding-inline:22px}.projects-carousel-ready .projects-carousel-content{padding-block:18px}.projects-carousel-ready .project-card{flex-basis:min(84vw,430px)}.projects-carousel-footer{grid-template-columns:minmax(40px,1fr) auto;gap:10px 14px}.projects-progress-label{justify-content:flex-end}.projects-scroll-hint{display:none}.education-grid{grid-template-columns:1fr;gap:15px}.education-card,.achievement-card{padding:21px}.achievement-timeline{gap:20px;margin-left:8px;padding-left:30px}.contact-panel{grid-template-columns:minmax(0,1fr);gap:30px}.contact-panel>*{min-width:0}.contact-details{border-top:1px solid #c0c0c01f;border-left:0;padding-top:20px;padding-left:0}.experience-content,.company-stripe{padding-inline:20px}.site-footer{width:calc(100% - 44px)}}@media (width<=480px){.section-shell{padding-inline:17px}.name-reveal{font-size:clamp(2.8rem,13vw,3.5rem)}.hero-photo-frame{width:min(100vw - 72px,310px)}.hero-actions{flex-direction:column;gap:13px}.hero-actions .button{width:100%}.section-heading{align-items:flex-start}.section-icon{width:34px;height:34px}.section-heading h2{padding-top:3px;font-size:1.55rem}.projects-section:not(.projects-carousel-ready){padding-block:60px}.projects-carousel-content{padding-inline:17px}.projects-carousel-ready .projects-carousel-content{padding-block:14px}.projects-carousel-ready .project-intro{margin-bottom:10px;font-size:.76rem}.projects-carousel-ready .project-card{flex-basis:min(84vw,430px)}.projects-carousel-ready .flip-card{height:clamp(165px,27svh,230px)}.company-stripe{flex-direction:column;gap:13px;padding:19px}.experience-period{text-align:left}.flip-card{height:245px}.flip-card-back{padding:17px}.feature-list li{font-size:.75rem}.project-content{padding:17px}.tech-card{min-width:54px;min-height:54px;padding:8px}.tech-card img{width:30px;height:30px}.calendar-panel{padding:16px}.calendar-topline,.calendar-footer{flex-direction:column;align-items:flex-start}.calendar-topline .outline-button{margin:4px 0 0}.site-footer{flex-direction:column;align-items:flex-start;width:calc(100% - 34px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hero-photo-wrap,.hero-copy,.reveal-on-scroll{opacity:1;filter:none;transform:none}.achievement-timeline{--achievement-line-progress:1}}
