.flag-hero{font-family:var(--font-inter), "Inter", sans-serif;scroll-snap-align:start;background-color:#f4f5f5;width:100%;height:100vh;margin:0;padding:0;position:relative;overflow:hidden}.brand-logo{z-index:1000;text-align:left;align-items:center;gap:14px;display:flex;position:absolute;top:40px;left:50px}.brand-logo-mark{z-index:2;color:#f4f5f5;letter-spacing:-.5px;opacity:0;background:#111;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:1.05rem;font-weight:900;transition:opacity .45s,transform .45s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative;transform:scale(.6)rotate(-8deg)}.intro-main.phase-settle .brand-logo-mark,.intro-main.phase-done .brand-logo-mark{opacity:1;transform:scale(1)rotate(0)}.brand-logo-text{flex-direction:column;display:flex}.brand-logo-name{z-index:2;letter-spacing:-.8px;color:#111;opacity:0;font-size:1.7rem;font-weight:900;line-height:1.05;transition:opacity .5s .1s,transform .5s .1s;display:block;position:relative;transform:translateY(10px)}.intro-main.phase-settle .brand-logo-name,.intro-main.phase-done .brand-logo-name{opacity:1;transform:translateY(0)}.brand-logo-tagline{z-index:2;letter-spacing:1.8px;text-transform:uppercase;color:#888;opacity:0;border-top:1.5px solid #ccc;width:fit-content;margin-top:5px;padding-top:4px;font-size:.62rem;font-weight:700;transition:opacity .5s .9s;display:block;position:relative}.intro-main.phase-settle .brand-logo-tagline,.intro-main.phase-done .brand-logo-tagline{opacity:1}.overlay-text{color:#333;z-index:1000;width:65vw;max-width:calc(100vw - 100px);position:absolute;bottom:60px;left:50px}.overlay-text p{color:#555;margin:0 0 15px;font-size:.9rem}.overlay-text h1{letter-spacing:-1px;color:#666;filter:blur(10px);opacity:0;margin:0;font-size:2.2rem;font-weight:400;line-height:1.1;transition:filter .9s .7s,opacity .7s .7s}.intro-main.phase-settle .overlay-text h1,.intro-main.phase-done .overlay-text h1{filter:blur();opacity:1}.ribbon-cluster{transform-origin:100% 0;width:65vw;height:70vh;animation:11s ease-in-out infinite alternate macro-wave;position:absolute;top:-11vh;right:-3vw}@keyframes macro-wave{0%{transform:scale(1.1)rotate(-19deg)translateY(0)}to{transform:scale(1.1)rotate(-23deg)translateY(12px)}}.ribbon{height:64px;right:0;top:var(--top);width:var(--w);z-index:var(--z);box-sizing:border-box;letter-spacing:.5px;text-transform:uppercase;transform-origin:100%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='7'%3E%3Crect width='7' height='7' fill='%23808080'/%3E%3Cpath d='M0 0L7 7M7 0L0 7' stroke='%23ffffff' stroke-width='0.5' opacity='0.4'/%3E%3Cpath d='M0 3.5L3.5 0M3.5 7L7 3.5' stroke='%23000000' stroke-width='0.4' opacity='0.35'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.08'/%3E%3C/svg%3E"), linear-gradient(90deg, #00000080 0%, #ffffff40 22%, #0000000d 50%, #ffffff26 75%, #0009 100%), var(--c);background-blend-mode:overlay, normal, normal, normal;color:var(--tc,#fff);filter:blur(6px)drop-shadow(0 4px 4px #000000a6)drop-shadow(0 11px 10px #00000061)drop-shadow(0 22px 20px #0003);opacity:0;transition:filter .25s ease-out,opacity .6s;transition-delay:var(--ed,0s);transform:rotate(var(--rot,0deg));animation:6s ease-in-out infinite alternate ribbon-cloth-wave;animation-delay:var(--del);align-items:center;font-size:1.05rem;font-style:italic;font-weight:900;display:flex;position:absolute}.intro-main.phase-settle .ribbon,.intro-main.phase-done .ribbon{filter:blur()drop-shadow(0 4px 4px #000000a6)drop-shadow(0 11px 10px #00000061)drop-shadow(0 22px 20px #0003);opacity:1}body.flags-offscreen .ribbon{animation-play-state:paused}@keyframes ribbon-cloth-wave{0%{transform:rotate(calc(var(--rot,0deg) - .8deg)) skewY(-.8deg) scaleX(.985)}50%{transform:rotate(calc(var(--rot,0deg) + .4deg)) skewY(.4deg) scaleX(1.005)}to{transform:rotate(calc(var(--rot,0deg) + 1.2deg)) skewY(1.2deg) scaleX(.975)}}.shape-swallowtail{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,38px 50%);padding-left:50px}.shape-triangle{clip-path:polygon(0 50%,42px 0,100% 0,100% 100%,42px 100%);padding-left:54px}.shape-round{border-radius:32px 0 0 32px;padding-left:44px}.font-wide{letter-spacing:2px}.font-huge{letter-spacing:-.5px;font-size:1.25rem}.font-normal{font-style:normal}.menu-button{z-index:1100;-webkit-backdrop-filter:blur(8px);cursor:pointer;background:#ffffffa6;border:1px solid #0000001f;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;padding:0;transition:background .25s,transform .25s;display:flex;position:absolute;top:34px;right:50px}.menu-button:hover{background:#fffffff2;transform:scale(1.05)}.menu-button.is-open{background:#111;border-color:#111}.menu-icon{width:18px;height:12px;position:relative}.menu-icon span{background:#111;border-radius:2px;width:100%;height:2px;transition:transform .3s,top .3s,background .3s;position:absolute;left:0}.menu-icon span:first-child{top:0}.menu-icon span:nth-child(2){top:10px}.menu-button.is-open .menu-icon span{background:#fff}.menu-button.is-open .menu-icon span:first-child{top:5px;transform:rotate(45deg)}.menu-button.is-open .menu-icon span:nth-child(2){top:5px;transform:rotate(-45deg)}.menu-overlay{z-index:1090;opacity:0;pointer-events:none;background:#14141440;transition:opacity .35s;position:fixed;inset:0}.menu-overlay.is-open{-webkit-backdrop-filter:blur(2px);opacity:1;pointer-events:auto}.menu-panel{z-index:1095;opacity:0;transform-origin:100% 0;pointer-events:none;background:#111111d1;border-radius:20px;width:300px;max-width:calc(100vw - 100px);padding:22px 26px 26px;transition:opacity .3s,transform .3s;position:absolute;top:92px;right:50px;transform:translateY(-14px)scale(.96);box-shadow:0 24px 60px #00000059}.menu-panel.is-open{-webkit-backdrop-filter:blur(18px);opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.menu-panel-head{color:#ffffff80;justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.menu-panel-arrow{font-size:1.1rem}.menu-panel-close{color:#fff9;cursor:pointer;background:0 0;border:none;padding:0;font-size:1.4rem;line-height:1;transition:color .2s}.menu-panel-close:hover{color:#fff}.menu-panel nav ul{margin:0;padding:0;list-style:none}.menu-panel nav li{opacity:0;transition:opacity .3s,transform .3s;transition-delay:calc(var(--i,0) * 50ms);border-top:1px solid #ffffff1f;transform:translateY(8px)}.menu-panel nav li:last-child{border-bottom:1px solid #ffffff1f}.menu-panel.is-open nav li{opacity:1;transform:translateY(0)}.menu-panel nav a{color:#ffffff8c;text-transform:none;letter-spacing:normal;justify-content:space-between;align-items:center;padding:12px 0;font-size:1.7rem;font-style:normal;font-weight:400;text-decoration:none;transition:color .2s;display:flex}.menu-panel nav a:hover{color:#fff}.menu-link-arrow{opacity:0;font-size:1.1rem;transition:opacity .2s,transform .2s;transform:translate(-6px)}.menu-panel nav a:hover .menu-link-arrow{opacity:1;transform:translate(0)}.menu-panel-socials{opacity:0;transition:opacity .3s,transform .3s;transition-delay:calc((var(--link-count,4) + 1) * 50ms);margin-top:22px;transform:translateY(8px)}.menu-panel.is-open .menu-panel-socials{opacity:1;transform:translateY(0)}.menu-panel-label{color:#fff6;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:.75rem;display:block}.menu-panel-socials ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.menu-panel-socials a{color:#ffffff8c;font-size:.9rem;text-decoration:none;transition:color .2s}.menu-panel-socials a:hover{color:#fff}.intro-backdrop{z-index:2500;opacity:1;pointer-events:none;background:#000;transition:opacity .7s;position:fixed;inset:0}.intro-backdrop.phase-settle{opacity:0}.preloader{z-index:3000;background:#f4f5f5;border-radius:0;justify-content:center;align-items:center;transition:transform .9s cubic-bezier(.65,0,.35,1),border-radius .7s;display:flex;position:fixed;inset:0;overflow:hidden;transform:scale(1)}.preloader.phase-compress{border-radius:32px;transform:scale(.78)}.preloader.phase-swipe{border-radius:32px;transform:translateY(-130%)scale(.78)}.preloader-inner{flex-direction:column;align-items:center;gap:10px;display:flex}.preloader-name{letter-spacing:-.5px;color:#111;font-size:1.4rem;font-weight:900}.preloader-pct{letter-spacing:1px;color:#999;font-size:.8rem;font-weight:700}.preloader-decode{letter-spacing:.4px;pointer-events:none;flex-direction:column;justify-content:center;gap:26px;width:260px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;display:flex;position:absolute;top:48px;bottom:48px}.preloader-decode-left{left:48px}.preloader-decode-right{text-align:right;align-items:flex-end;right:48px}.preloader-decode-label{letter-spacing:1px;color:#444;margin-bottom:4px;font-weight:800}.preloader-decode-id{color:#aaa;margin-bottom:6px}.preloader-decode-text{color:#999;line-height:1.5}.preloader-decode-row{align-items:center;gap:10px;display:flex}.preloader-decode-skill{color:#999}.preloader-decode-dot{background:#ddd;border-radius:50%;flex-shrink:0;width:6px;height:6px;transition:background .3s}.preloader-decode-dot.active{background:#2ecc71}@media (max-width:900px){.preloader-decode{display:none}}.intro-main{z-index:2800;border-radius:32px;position:relative;overflow:hidden;transform:translateY(100%)scale(.78)}.intro-main.phase-swipe,.intro-main.phase-settle{will-change:transform}.intro-main.phase-swipe{border-radius:32px;transition:transform .9s cubic-bezier(.65,0,.35,1);transform:translateY(0)scale(.78)}.intro-main.phase-settle{border-radius:0;transition:transform .8s cubic-bezier(.2,.8,.2,1),border-radius .3s ease-out;transform:translateY(0)scale(1)}.intro-main.phase-done{border-radius:0;overflow:visible;transform:none}
.projects-section{font-family:var(--font-inter), "Inter", sans-serif;box-sizing:border-box;scroll-snap-align:start;color:#f5f5f5;background:#121212;flex-direction:column;width:100%;height:100vh;min-height:580px;display:flex;position:relative;overflow:hidden}.projects-top-nav{font-family:var(--font-inter), "Inter", sans-serif;z-index:60;flex-shrink:0;justify-content:space-between;align-items:center;padding:30px 48px 22px;display:flex}.projects-nav-name{letter-spacing:-.2px;color:#fff;font-size:1.05rem;font-weight:400}.projects-nav-links{align-items:center;gap:12px;font-size:.95rem;display:flex}.projects-nav-link{color:#fff;text-decoration:none;transition:opacity .2s}.projects-nav-link:hover{opacity:.8}.projects-nav-link.is-active{color:#ffffff59;cursor:default}.projects-nav-sep{color:#ffffff4d;font-size:1.1rem}.projects-columns{scrollbar-width:none;border-top:1px solid #ffffff1f;border-bottom:1px solid #ffffff1f;flex:1 1 0;min-height:0;margin:0;display:flex;position:relative;overflow:auto hidden}.projects-columns::-webkit-scrollbar{display:none}.project-column{z-index:10;opacity:1;border-right:1px solid #ffffff1f;flex-direction:column;flex:1 1 0;justify-content:flex-end;align-items:center;min-width:140px;padding:24px 0 28px;text-decoration:none;display:flex;position:relative;overflow:hidden}.project-column:first-child{border-left:1px solid #ffffff1f}.project-column.is-active{z-index:50}.project-column-index{z-index:2;font-family:var(--font-inter), "Inter", sans-serif;letter-spacing:1px;color:#ffffff59;writing-mode:vertical-rl;opacity:0;font-size:.8rem;font-weight:400;transition:transform .8s cubic-bezier(.16,1,.3,1),opacity .6s;position:absolute;top:24px;right:18px;transform:translateY(-16px)rotate(180deg)}.projects-section.in-view .project-column-index{opacity:1;transform:translateY(0)rotate(180deg)}.project-column-title-wrap{z-index:2;pointer-events:none;flex-direction:row;justify-content:center;align-items:flex-end;gap:0;max-height:calc(100% - 60px);display:flex;position:relative}.project-title-line-mask{align-items:flex-end;display:inline-flex;position:relative;overflow:hidden}.project-title-line{writing-mode:vertical-rl;font-family:var(--font-cormorant), "Cormorant Garamond", serif;text-transform:uppercase;letter-spacing:-.5px;color:#fff;white-space:nowrap;opacity:0;font-size:clamp(3.2rem,5.2vw,6.5rem);font-weight:400;line-height:.8;transition:transform 1s cubic-bezier(.16,1,.3,1),opacity .75s;display:inline-block;transform:translateY(115%)rotate(180deg)}.projects-section.in-view .project-title-line{opacity:1;transform:translateY(0%)rotate(180deg)}.project-column.is-active .project-column-title-wrap,.project-column.is-active .project-title-line-mask,.project-column.is-active .project-title-line{z-index:50;mix-blend-mode:difference}.project-hover-preview{z-index:30;pointer-events:none;opacity:0;transform-origin:50%;will-change:transform, width, height;background:#0d0d0d;border-radius:0;transition:opacity .4s cubic-bezier(.22,1,.36,1);position:fixed;top:0;left:0;overflow:hidden;box-shadow:0 40px 90px -20px #000c,0 0 0 1px #ffffff0f}.project-hover-preview.is-visible{opacity:1}.project-hover-preview.is-opening-active{box-shadow:0 50px 140px -20px #000000f2;z-index:200!important;opacity:1!important}.project-hover-preview-img{object-fit:cover;opacity:0;will-change:opacity, transform;width:100%;height:100%;transition:opacity .8s cubic-bezier(.22,1,.36,1),transform 1.05s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;transform:scale(1.06)}.project-hover-preview-img.is-active{opacity:1;transform:scale(1)}.projects-section.is-navigating .projects-top-nav,.projects-section.is-navigating .project-column-index,.projects-section.is-navigating .project-column-title-wrap{transition:opacity .65s cubic-bezier(.22,1,.36,1);opacity:0!important}.projects-section.is-navigating .projects-columns{transition:border-color .65s cubic-bezier(.22,1,.36,1);border-color:#0000!important}@media (max-width:900px){.projects-section{height:auto;min-height:100vh;overflow:visible}.projects-top-nav{padding:24px 20px 20px}.projects-columns{height:auto;min-height:unset;border-left:1px solid #ffffff1f;border-right:1px solid #ffffff1f;flex-direction:column;flex:none;overflow-x:visible}.project-column{min-width:unset;border-top:1px solid #ffffff1f;border-right:none;flex-direction:row;flex:none;justify-content:space-between;align-items:center;height:90px;padding:0 20px}.project-column:first-child{border-left:none}.project-column-index{writing-mode:horizontal-tb;order:2;position:static;opacity:1!important;transform:none!important}.project-column-title-wrap{flex-direction:row;order:1;align-items:center;gap:8px;max-height:none;margin-bottom:0!important}.project-title-line-mask{overflow:visible;margin-bottom:0!important}.project-title-line{writing-mode:horizontal-tb;font-size:1.4rem;line-height:1.2;opacity:1!important;margin-bottom:0!important;transform:none!important}.project-hover-preview{display:none}}
.experience-section-wrapper{z-index:10;box-sizing:border-box;scroll-snap-align:start;scroll-snap-stop:always;background:#0a0a0a;height:100vh;min-height:100vh;max-height:100vh;padding:20px;position:relative;overflow:hidden}.experience-framed-canvas{-webkit-overflow-scrolling:touch;box-sizing:border-box;width:100%;height:100%;font-family:var(--font-inter), "Inter", -apple-system, sans-serif;color:#fff;opacity:0;background:#080808;border-radius:20px;flex-direction:column;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden auto;transform:scale(.97)translateY(16px);box-shadow:0 0 0 1px #ffffff1a,0 40px 100px -20px #000000d9}.experience-section-wrapper.in-view .experience-framed-canvas{opacity:1;transform:scale(1)translateY(0)}.experience-framed-canvas::-webkit-scrollbar{width:0}.exp-dither-canvas{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.exp-nav-header{z-index:50;-webkit-backdrop-filter:blur(50px)saturate(200%);opacity:0;background:#080808a6;border-bottom:1px solid #ffffff14;flex-shrink:0;transition:opacity .7s .15s,transform .7s .15s;position:sticky;top:0;transform:translateY(-10px)}.experience-section-wrapper.in-view .exp-nav-header{opacity:1;transform:translateY(0)}.exp-rows{z-index:10;flex-direction:column;flex:1;gap:16px;min-height:0;padding:16px 28px;display:flex;position:relative}.exp-row{box-shadow:none;opacity:0;min-height:0;transition:opacity .8s cubic-bezier(.16, 1, .3, 1) calc(var(--row-i) * .2s + .2s), transform .8s cubic-bezier(.16, 1, .3, 1) calc(var(--row-i) * .2s + .2s);background:0 0;border:none;flex:1;position:relative;transform:translateY(24px)}.experience-section-wrapper.in-view .exp-row{opacity:1;transform:translateY(0)}.exp-row-inner{grid-template-columns:.85fr auto 1.45fr;height:100%;min-height:0;display:grid}.exp-row-left{border-radius:24px;flex-direction:column;justify-content:center;padding:22px 28px;display:flex;position:relative;overflow:hidden}.exp-row-left:before{content:"";z-index:0;-webkit-backdrop-filter:blur(90px)saturate(260%);pointer-events:none;background:linear-gradient(135deg,#12141aa6 0%,#0c0e1473 50%,#080a0e33 80%,#0000 100%);border-radius:28px;position:absolute;inset:-12px;-webkit-mask-image:radial-gradient(at 45%,#000 25%,#000000d9 55%,#0000004d 80%,#0000 100%);mask-image:radial-gradient(at 45%,#000 25%,#000000d9 55%,#0000004d 80%,#0000 100%)}.exp-row-left>*{z-index:2;position:relative}.exp-row-eyebrow{align-items:center;gap:10px;margin-bottom:8px;display:flex}.exp-row-num{font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;color:#ffffff73;opacity:0;transition:all .6s cubic-bezier(.16, 1, .3, 1) calc(var(--row-i) * .22s + .35s);font-size:.72rem;font-weight:800;transform:translateY(10px)}.exp-row-pill{letter-spacing:.5px;text-transform:uppercase;color:#fff;-webkit-backdrop-filter:blur(20px);opacity:0;transition:all .6s cubic-bezier(.16, 1, .3, 1) calc(var(--row-i) * .22s + .4s);background:#ffffff24;border:1px solid #ffffff40;border-radius:100px;padding:4px 12px;font-size:.64rem;font-weight:800;transform:translateY(10px);box-shadow:inset 0 1px #ffffff59}.exp-row-role{letter-spacing:-1px;color:#fff;filter:blur(10px);opacity:0;text-shadow:0 4px 24px #000000f2;transition:filter .8s cubic-bezier(.16, 1, .3, 1) calc(var(--row-i) * .22s + .45s), opacity .7s cubic-bezier(.16, 1, .3, 1) calc(var(--row-i) * .22s + .45s), transform .8s cubic-bezier(.16, 1, .3, 1) calc(var(--row-i) * .22s + .45s);margin:0 0 8px;font-size:clamp(1.4rem,2.1vw,2.1rem);font-weight:900;line-height:1.05;transform:translateY(14px)}.exp-row-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.exp-row-company{color:#fff;text-shadow:0 2px 8px #000000e6;opacity:0;transition:all .7s ease calc(var(--row-i) * .22s + .5s);font-size:.86rem;font-weight:600;transform:translateY(8px)}.exp-row-dot-sep{color:#fff6;opacity:0;transition:opacity .5s ease calc(var(--row-i) * .22s + .53s);font-size:1rem}.exp-row-period{font-family:var(--font-geist-mono), monospace;letter-spacing:.02em;color:#ffffffb3;text-shadow:0 1px 6px #000000d9;opacity:0;transition:all .7s ease calc(var(--row-i) * .22s + .55s);font-size:.74rem;font-weight:600;transform:translateY(8px)}.exp-row-desc{color:#ffffffe0;letter-spacing:-.2px;text-shadow:0 2px 8px #000000e6;filter:blur(8px);opacity:0;max-width:380px;transition:filter .7s cubic-bezier(.16, 1, .3, 1) calc(var(--row-i) * .22s + .6s), opacity .6s cubic-bezier(.16, 1, .3, 1) calc(var(--row-i) * .22s + .6s), transform .7s cubic-bezier(.16, 1, .3, 1) calc(var(--row-i) * .22s + .6s);margin:0;font-size:.8rem;font-weight:400;line-height:1.45;transform:translateY(10px)}.experience-section-wrapper.in-view .exp-row-num,.experience-section-wrapper.in-view .exp-row-pill{opacity:1;transform:translateY(0)}.experience-section-wrapper.in-view .exp-row-role{filter:blur();opacity:1;transform:translateY(0)}.experience-section-wrapper.in-view .exp-row-company,.experience-section-wrapper.in-view .exp-row-period{opacity:1;transform:translateY(0)}.experience-section-wrapper.in-view .exp-row-dot-sep{opacity:1}.experience-section-wrapper.in-view .exp-row-desc{filter:blur();opacity:1;transform:translateY(0)}.exp-row-divider{width:1px;transition:transform .9s cubic-bezier(.16, 1, .3, 1) calc(var(--row-i) * .22s + .4s);background:linear-gradient(#0000 5%,#ffffff29 30% 70%,#0000 95%);margin:12px 0;transform:scaleY(0)}.experience-section-wrapper.in-view .exp-row-divider{transform:scaleY(1)}.exp-row-right{flex-direction:column;justify-content:center;min-width:0;padding:14px 18px;display:flex;overflow:hidden}.exp-grid-wrapper{flex-direction:column;gap:10px;width:100%;min-width:0;display:flex}.exp-grid-header{opacity:0;transition:all .6s ease calc(var(--row-i) * .22s + .45s);border-bottom:1px solid #ffffff1a;flex-shrink:0;justify-content:space-between;align-items:center;padding-bottom:6px;display:flex;transform:translateY(8px)}.experience-section-wrapper.in-view .exp-grid-header{opacity:1;transform:translateY(0)}.exp-grid-title-group{align-items:center;gap:8px;display:flex}.exp-grid-label{letter-spacing:1px;text-transform:uppercase;color:#fff9;font-size:.66rem;font-weight:800}.exp-grid-count{font-family:var(--font-geist-mono), monospace;color:#fff;-webkit-backdrop-filter:blur(10px);background:#ffffff1f;border:1px solid #ffffff2e;border-radius:100px;padding:2px 8px;font-size:.64rem;font-weight:700}.exp-projects-grid{perspective:1000px;align-items:center;gap:14px;width:100%;display:flex}.exp-card-wrapper{opacity:0;width:270px;min-width:270px;max-width:270px;height:220px;min-height:220px;max-height:220px;transition:opacity .6s cubic-bezier(.16, 1, .3, 1) calc(var(--row-i) * .22s + var(--proj-i) * .1s + .5s), transform .6s cubic-bezier(.16, 1, .3, 1) calc(var(--row-i) * .22s + var(--proj-i) * .1s + .5s);flex-direction:column;flex:0 0 270px;display:flex;position:relative;transform:translateY(18px)}.experience-section-wrapper.in-view .exp-card-wrapper{opacity:1;transform:translateY(0)}.exp-carousel-card{cursor:pointer;width:100%;height:100%;transform-style:preserve-3d;will-change:transform;background:0 0;flex-direction:column;flex:1;display:flex;position:relative}.exp-card-content-layer{z-index:10;-webkit-backdrop-filter:blur(120px)saturate(280%);box-sizing:border-box;background:linear-gradient(135deg,#12141a8c 0%,#0a0c1061 100%);border:1px solid #ffffff38;border-top:1.5px solid #ffffff80;border-left:1.5px solid #ffffff61;border-radius:18px;flex-direction:column;flex:1;justify-content:space-between;gap:8px;width:100%;height:100%;padding:16px 18px;transition:background .35s,border-color .35s,box-shadow .4s,-webkit-backdrop-filter .4s,backdrop-filter .4s;display:flex;position:relative;box-shadow:0 24px 50px #000000d9,inset 0 1.5px #ffffff59,inset 0 -1px #0006}.exp-carousel-card:hover .exp-card-content-layer{-webkit-backdrop-filter:blur(160px)saturate(320%);background:linear-gradient(135deg,#181c26b8 0%,#0e101685 100%);border-color:#ffffffe6 #fff9 #fff9;box-shadow:0 32px 85px #000000f2,0 0 45px #ffffff38,inset 0 2px #ffffffa6}.exp-card-glass-sheen{pointer-events:none;z-index:15;mix-blend-mode:overlay;border-radius:18px;transition:opacity .35s;position:absolute;inset:0}.exp-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.exp-card-num{font-family:var(--font-geist-mono), monospace;color:#fff;-webkit-backdrop-filter:blur(16px);background:#ffffff29;border:1px solid #ffffff4d;border-radius:5px;padding:2px 7px;font-size:.68rem;font-weight:800;transition:all .3s;box-shadow:inset 0 1px #ffffff59}.exp-carousel-card:hover .exp-card-num{color:#000;background:#fff;border-color:#fff;box-shadow:0 4px 14px #fff6}.exp-card-cat{letter-spacing:.08em;text-transform:uppercase;color:#ffffffbf;text-shadow:0 1px 4px #000000b3;white-space:nowrap;text-overflow:ellipsis;max-width:125px;font-size:.58rem;font-weight:800;overflow:hidden}.exp-card-body{flex-direction:column;flex:1;justify-content:flex-start;display:flex}.exp-card-title{color:#fff;letter-spacing:-.3px;text-shadow:0 2px 10px #000000e6;margin:0 0 3px;font-size:.94rem;font-weight:900;line-height:1.25;transition:color .3s}.exp-card-tagline{color:#ffffffe6;text-shadow:0 1px 6px #000000d9;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.72rem;font-weight:400;line-height:1.32;display:-webkit-box;overflow:hidden}.exp-card-metric-badge{-webkit-backdrop-filter:blur(16px);background:#22c55e47;border:1px solid #22c55e99;border-radius:7px;align-items:center;gap:5px;width:fit-content;margin-top:4px;padding:2px 7px;display:flex;box-shadow:inset 0 1px #4ade8066}.exp-card-metric-val{font-family:var(--font-geist-mono), monospace;color:#4ade80;font-size:.7rem;font-weight:800}.exp-card-metric-lbl{color:#4ade80f2;font-size:.6rem;font-weight:700}.exp-card-footer{border-top:1px solid #ffffff29;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:6px;display:flex}.exp-card-tech{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.exp-tech-chip{font-family:var(--font-geist-mono), monospace;color:#fff;-webkit-backdrop-filter:blur(12px);text-shadow:0 1px 4px #000000b3;background:#ffffff29;border:1px solid #ffffff38;border-radius:4px;padding:2px 6px;font-size:.58rem;font-weight:700}.exp-card-action{color:#fff;text-shadow:0 1px 4px #000000b3;align-items:center;gap:4px;font-size:.7rem;font-weight:800;transition:all .3s;display:flex}.exp-card-action svg{opacity:.9;transition:transform .3s}.exp-carousel-card:hover .exp-card-action svg{opacity:1;transform:translate(4px)}.exp-modal-backdrop{z-index:2000;-webkit-backdrop-filter:blur(60px);background:#000000e0;justify-content:center;align-items:center;padding:24px;animation:.3s cubic-bezier(.16,1,.3,1) expModalFadeIn;display:flex;position:fixed;inset:0}@keyframes expModalFadeIn{0%{opacity:0}to{opacity:1}}.exp-modal-content{color:#fff;background:#111319;border:1px solid #ffffff40;border-top:1.5px solid #ffffff80;border-left:1.5px solid #fff6;border-radius:24px;width:100%;max-width:680px;max-height:85vh;padding:36px 40px;animation:.35s cubic-bezier(.16,1,.3,1) expModalPopIn;position:relative;overflow-y:auto;box-shadow:0 40px 100px -20px #000000f2,inset 0 1.5px #fff6}@keyframes expModalPopIn{0%{opacity:0;transform:scale(.94)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.exp-modal-close{color:#fff;cursor:pointer;background:#ffffff24;border:1px solid #ffffff40;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex;position:absolute;top:24px;right:24px}.exp-modal-close:hover{color:#000;background:#fff;transform:rotate(90deg)}.exp-modal-header{margin-bottom:24px}.exp-modal-cat{font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;color:#ffffffa6;margin-bottom:8px;font-size:.7rem;font-weight:800;display:block}.exp-modal-title{letter-spacing:-.8px;color:#fff;margin:0 0 8px;font-size:1.8rem;font-weight:900;line-height:1.15}.exp-modal-tagline{color:#fffc;margin:0;font-size:.95rem;font-weight:500}.exp-modal-metrics-grid{background:#ffffff14;border:1px solid #ffffff29;border-radius:16px;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px;padding:16px 20px;display:grid}.exp-modal-metric-card{flex-direction:column;gap:2px;display:flex}.exp-modal-metric-val{font-family:var(--font-inter), sans-serif;color:#fff;letter-spacing:-.5px;font-size:1.5rem;font-weight:900}.exp-modal-metric-lbl{font-family:var(--font-geist-mono), monospace;text-transform:uppercase;color:#fff9;font-size:.65rem;font-weight:700}.exp-modal-summary{color:#ffffffe0;margin-bottom:24px;font-size:.95rem;line-height:1.6}.exp-modal-section{margin-bottom:24px}.exp-modal-section-title{letter-spacing:1px;text-transform:uppercase;color:#ffffff8c;margin-bottom:12px;font-size:.72rem;font-weight:800}.exp-modal-bullets{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.exp-modal-bullets li{color:#ffffffe6;padding-left:20px;font-size:.9rem;line-height:1.5;position:relative}.exp-modal-bullets li:before{content:"";background:#fff;border-radius:50%;width:5px;height:5px;position:absolute;top:.55em;left:0}.exp-modal-impact{color:#4ade80;background:#22c55e33;border-left:3px solid #22c55e;border-radius:0 10px 10px 0;align-items:center;gap:10px;margin-bottom:24px;padding:12px 18px;font-size:.88rem;font-weight:600;display:flex}.exp-modal-tech-stack{flex-wrap:wrap;gap:6px;display:flex}.exp-modal-tech-badge{font-family:var(--font-geist-mono), monospace;color:#fff;background:#ffffff1f;border:1px solid #ffffff2e;border-radius:8px;padding:5px 12px;font-size:.72rem;font-weight:700}@media (max-width:1100px){.exp-row-inner{grid-template-columns:1fr}.exp-row-divider{transform-origin:0;background:linear-gradient(90deg,#0000 0%,#ffffff29 20% 80%,#0000 100%);width:100%;height:1px;margin:0}.exp-projects-grid{flex-wrap:wrap}}@media (max-width:768px){.experience-section-wrapper{height:auto;min-height:100vh;max-height:none}.experience-framed-canvas{height:auto;min-height:100%}.exp-row-left{padding:20px 18px}.exp-row-right{padding:16px 18px}.exp-modal-metrics-grid{grid-template-columns:1fr}}@media (max-width:480px){.experience-section-wrapper{padding:6px}.experience-framed-canvas{border-radius:14px}.exp-nav-header{padding:20px 24px 16px}.exp-rows{gap:8px;padding:8px}.exp-card-wrapper{flex:0 0 100%;width:100%;min-width:100%;max-width:100%}}
.footer-section{background-color:#111;align-items:stretch;width:100%;height:100vh;padding:1.5rem;display:flex}.footer-wrapper{color:#1a1a1a;z-index:10;background-color:#e9e9e6;border-radius:24px;flex-direction:column;width:100%;margin:0 auto;padding:4rem 4rem 2rem;font-family:Neue Haas Grotesk Display Pro,NHaasGroteskDSStd,Helvetica Neue,Helvetica,Arial,sans-serif;display:flex;position:relative;overflow:hidden}@media (max-width:768px){.footer-section{padding:.75rem}.footer-wrapper{padding:4rem 1.5rem 1.5rem}}.footer-top{justify-content:space-between;align-items:flex-start;margin-bottom:5rem;display:flex}.footer-heading{letter-spacing:-.02em;max-width:800px;font-size:clamp(2rem,4vw,3.5rem);font-weight:400;line-height:1.1}.footer-heading span.light{color:#888}.footer-grid{grid-template-columns:repeat(3,1fr);gap:2rem;margin-bottom:6rem;display:grid}@media (max-width:768px){.footer-grid{grid-template-columns:1fr;gap:3rem}}.footer-col{flex-direction:column;gap:2.5rem;display:flex}.footer-block{flex-direction:column;gap:.25rem;display:flex}.footer-label{color:#888;margin-bottom:.15rem;font-size:.85rem}.footer-text{color:#1a1a1a;font-size:1rem;text-decoration:none;transition:opacity .2s}a.footer-text:hover{opacity:.6}.footer-bottom{justify-content:center;align-items:flex-end;width:100%;margin-top:auto;margin-bottom:-1rem;display:flex}.footer-huge-name-svg{width:100%;height:auto;display:block}.footer-huge-name{font-family:var(--font-press-start), "Press Start 2P", monospace;letter-spacing:-.02em;text-transform:uppercase;font-size:220px;font-weight:400}
