@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,700&display=swap";@import "https://fonts.googleapis.com/css2?family=Sora:wght@700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap";.site-header{z-index:2500;border-bottom:1px solid var(--header-border);background:var(--header-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:fixed;top:0;left:0;right:0}.site-header__inner{grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;max-width:1280px;min-height:74px;margin:0 auto;padding:.8rem 1.1rem;display:grid}.site-header__brand{min-width:170px}.site-header__name{letter-spacing:.02em;color:var(--header-brand);font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:1.4rem;font-weight:700}.site-header__name-btn{cursor:pointer;background:0 0;border:none;margin:0;padding:0;line-height:1;transition:color .22s,opacity .22s}.site-header__name-btn:hover{opacity:.75}.site-header__name-btn:focus-visible{outline:2px solid var(--header-active-bg);outline-offset:4px;border-radius:4px}.site-header__menu-btn{border:1px solid var(--header-border);cursor:pointer;background:0 0;border-radius:10px;width:42px;height:42px;display:none}.site-header__menu-btn span{background:var(--text-primary);width:18px;height:2px;margin:4px auto;display:block}.site-header__nav{justify-self:center;align-items:center;gap:.4rem;display:flex}.site-header__link{color:var(--header-link);border-radius:999px;padding:.45rem .9rem;font-family:Space Grotesk,Trebuchet MS,sans-serif;font-weight:600;text-decoration:none;transition:background-color .22s,color .22s}.site-header__link:hover{color:var(--text-primary);background:var(--header-hover)}.site-header__link.is-active{background:var(--header-active-bg);color:var(--header-active-text)}.site-header__actions{justify-content:flex-end;align-items:center;gap:.55rem;display:flex}.site-header__contact-link{color:var(--header-chip-text);background:var(--header-chip-bg);border:1px solid var(--header-chip-border);cursor:pointer;border-radius:999px;padding:.4rem .75rem;font-family:Space Grotesk,Trebuchet MS,sans-serif;font-size:.84rem;font-weight:600;text-decoration:none}.site-header__contact-link:hover{background:var(--header-chip-hover)}.theme-toggle--icon{width:38px;height:38px;color:var(--header-chip-text);background:var(--header-chip-bg);border:1px solid var(--header-chip-border);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;margin-left:.35rem;padding:0;transition:background-color .22s,transform .22s;display:flex}.theme-toggle--icon:hover{background:var(--header-chip-hover);transform:rotate(15deg)}@media (width<=1024px){.site-header__inner{grid-template-columns:1fr auto auto}.site-header__actions{gap:.4rem}.site-header__contact-link{display:none}}@media (width<=760px){.site-header__inner{grid-template-columns:1fr auto}.site-header__menu-btn{display:block}.site-header__nav{border:1px solid var(--header-border);background:var(--header-bg-solid);border-radius:16px;flex-direction:column;align-items:stretch;gap:.3rem;padding:.6rem;display:none;position:absolute;top:74px;left:.75rem;right:.75rem}.site-header__nav.is-open{display:flex}.site-header__actions{justify-content:flex-end}}.home-page{justify-content:center;align-items:center;min-height:calc(100dvh - 74px);padding:2rem 1.25rem 2.5rem;display:flex;position:relative;overflow:hidden}.home-page__bg-orb{filter:blur(6px);pointer-events:none;will-change:transform;border-radius:50%;position:absolute}.home-page__bg-orb--one{background:radial-gradient(circle,#e6d16e47 0%,#e6d16e00 70%);width:36rem;height:36rem;top:-9rem;right:-9rem}.home-page__bg-orb--two{background:radial-gradient(circle,#8bb06342 0%,#8bb06300 70%);width:26rem;height:26rem;bottom:-6rem;left:-6rem}.home-page__bg-orb--three{filter:blur(6px);pointer-events:none;background:radial-gradient(circle,#d4c35a33 0%,#d4c35a00 70%);border-radius:50%;width:20rem;height:20rem;position:absolute;top:18%;left:8%}.home-page__bg-orb--four{filter:blur(6px);pointer-events:none;background:radial-gradient(circle,#789e5a38 0%,#789e5a00 70%);border-radius:50%;width:22rem;height:22rem;position:absolute;bottom:12%;right:6%}.home-page__content{border:1px solid var(--border-subtle);background:var(--bg-panel);border-radius:26px;grid-template-columns:minmax(260px,360px) minmax(0,1fr);align-items:stretch;gap:2rem;width:min(1120px,100%);padding:1.6rem;animation:.55s ease-out both homePageReveal;display:grid;position:relative;box-shadow:0 26px 55px #0000003b}.home-page__image-wrap{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:150px 0;padding:.85rem;display:flex}.home-page__image{object-fit:cover;border-radius:150px 0;width:100%;height:100%}.home-page__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin:0;font-size:.8rem;font-weight:700}.home-page__text h1{color:var(--text-primary);margin:0;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:clamp(2.4rem,5vw,3.6rem);font-weight:800;line-height:1.05}.home-page__role{color:var(--text-secondary);margin:.5rem 0 1.5rem;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:clamp(1.15rem,2.4vw,1.5rem)}.home-page__copy-block h2{color:var(--text-primary);margin:0;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:1.35rem;font-weight:700}.home-page__copy-block p{color:var(--text-secondary);margin:.6rem 0 0;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:1.15rem;line-height:1.75}@keyframes homePageReveal{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (width<=860px){.home-page{align-items:flex-start;padding-top:1.1rem}.home-page__content{grid-template-columns:1fr;max-width:620px}.home-page__image-wrap{max-width:300px;margin:0 auto}.home-page__image{aspect-ratio:1;height:auto}}.home-page--custom-cursor{cursor:none}.home-page--custom-cursor a,.home-page--custom-cursor button,.home-page--custom-cursor .home-page__content{cursor:auto}.home-page__cursor-dot{pointer-events:none;z-index:3000;opacity:0;will-change:transform;background:#ff7ebb;border-radius:50%;width:10px;height:10px;transition:opacity .2s;position:fixed;top:0;left:0}.home-page__cursor-glow{filter:blur(4px);pointer-events:none;z-index:2999;opacity:0;will-change:transform;background:radial-gradient(circle,#ff7ebb59 0%,#b19ffb26 55%,#0000 75%);border-radius:50%;width:60px;height:60px;transition:opacity .2s;position:fixed;top:0;left:0}.ai-battle-theme .section-content{height:510px;overflow:hidden}.ai-battle-theme .game-stage{justify-content:center;align-items:center;display:flex;overflow:hidden}.mbl-card{background:linear-gradient(135deg,#1c3350 0%,#253d55 100%)!important;border:1px solid #4ecdc440!important}.mbl-badge{letter-spacing:2px;font-family:Courier New,monospace;color:#4ecdc4!important;background:#4ecdc426!important;border:1px solid #4ecdc466!important}.mbl-title{background:linear-gradient(135deg,#4ecdc4 0%,#ff6b6b 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:800}.mbl-subtitle{letter-spacing:1px;color:#4ecdc4;text-transform:uppercase;margin-top:-.5rem;margin-bottom:1rem;font-family:Courier New,monospace;font-size:.9rem}.mbl-button-row{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.mbl-btn-solid{color:#0f1b2d!important;background:linear-gradient(135deg,#4ecdc4 0%,#3ba99f 100%)!important;box-shadow:0 4px 15px #4ecdc44d!important}.mbl-btn-solid:hover{box-shadow:0 6px 20px #4ecdc480!important}.mbl-btn-outline{color:#ff6b6b!important;box-shadow:none!important;background:0 0!important;border:2px solid #ff6b6b!important}.mbl-btn-outline:hover{background:#ff6b6b1a!important;box-shadow:0 4px 15px #ff6b6b4d!important}.battle-hud{margin-bottom:1.5rem}.battle-status{color:#4ecdc4;font-size:1rem;font-weight:700}.wrapped-card{background:linear-gradient(135deg,#1c2340 0%,#282f52 100%)!important;border:1px solid #ffffff14!important}.wrapped-tagline{color:#ffffff80!important;margin-top:-.5rem!important;margin-bottom:1rem!important;font-size:.9rem!important}.wrapped-category-row{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:1.2rem;display:flex}.wrapped-category-pill{color:#e2e8f0;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:20px;padding:.35rem .9rem;font-size:.8rem;font-weight:600}.wrapped-hud{justify-content:center;align-items:center;min-height:90px;margin-bottom:1.2rem;display:flex}.wrapped-status{color:#ffffff8c;font-size:.95rem;font-weight:600}.wrapped-chat-log{text-align:left;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:12px;width:100%;max-width:340px;padding:.8rem 1rem}.wrapped-chat-line{color:#e2e8f0!important;margin:.25rem 0!important;font-size:.85rem!important}.wrapped-chat-name{color:#4facfe;font-weight:700}.wrapped-stat-card{text-align:left;background:#ffffff0d;border-left:4px solid #4facfe;border-radius:8px;width:100%;max-width:340px;padding:.9rem 1.2rem}.wrapped-stat-category{color:#4facfe;text-transform:uppercase;letter-spacing:1px;font-size:.75rem;font-weight:700}.wrapped-stat-card h4{color:#fff9;margin:.3rem 0 .1rem;font-size:.9rem;font-weight:600}.wrapped-stat-name{color:#fff!important;margin:.2rem 0!important;font-size:1.6rem!important;font-weight:800!important}.wrapped-stat-detail{color:#ffffff8c!important;margin:0!important;font-size:.85rem!important}.nfl-card{background:linear-gradient(135deg,#182f56 0%,#23406f 100%)!important;border:1px solid #ffb70040!important}.nfl-title{letter-spacing:-.5px;background:linear-gradient(135deg,#4a7dff 0%,#ffb700 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:800}.nfl-subtitle{letter-spacing:1px;text-transform:uppercase;color:#ffb700;margin-top:-.5rem;margin-bottom:1rem;font-family:Courier New,monospace;font-size:.9rem}.nfl-hud{margin-bottom:1.5rem}.nfl-status{color:#4a7dff;font-size:1rem;font-weight:700}.nfl-btn{color:#0a1128!important;background:linear-gradient(135deg,#ffb700 0%,#d99400 100%)!important;box-shadow:0 4px 15px #ffb7004d!important}.nfl-btn:hover{box-shadow:0 6px 20px #ffb70080!important}.resume-page{justify-content:center;align-items:center;min-height:calc(100dvh - 74px);padding:1.6rem 1rem 2.4rem;display:flex}.resume-page__content{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:24px;flex-direction:column;width:min(980px,100%);height:min(760px,100dvh - 74px - 3rem);margin:0 auto;padding:1.3rem;display:flex;overflow:hidden;box-shadow:0 20px 52px #0003}.resume-page__header h1{color:var(--text-primary);margin:.15rem 0 .55rem;font-size:clamp(1.6rem,3.6vw,2.2rem)}.resume-page__eyebrow{letter-spacing:.07em;text-transform:uppercase;color:var(--text-secondary);margin:0;font-size:.78rem;font-weight:700}.resume-tabs{border-bottom:1px solid var(--border-subtle);flex-shrink:0;gap:.5rem;margin-bottom:.9rem;padding-bottom:.6rem;display:flex}.resume-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.5rem .95rem;font-size:.9rem;font-weight:700;transition:background-color .2s,color .2s}.resume-tab:hover{background:var(--bg-card);color:var(--text-primary)}.resume-tab.is-active{background:var(--header-active-bg,var(--text-primary));color:var(--header-active-text,var(--bg-app))}.resume-card-stack{flex:1;min-height:0;position:relative}.resume-stack-card{background:var(--bg-panel-solid,var(--bg-app));border:1px solid var(--border-subtle);pointer-events:none;border-radius:16px;padding:1rem;transition:transform .26s,box-shadow .26s;position:absolute;inset:0;overflow-y:auto;transform:scale(.96)translateY(6px);box-shadow:0 10px 26px #0003}.resume-stack-card.is-top{pointer-events:auto;transform:scale(1)translateY(0);box-shadow:0 18px 40px #00000047}.resume-stack-card.is-entering.is-top{animation:.38s cubic-bezier(.34,1.56,.64,1) cardPopToFront}@keyframes cardPopToFront{0%{opacity:.6;transform:scale(.9)translateY(18px)rotate(-2deg)}to{opacity:1;transform:scale(1)translateY(0)rotate(0)}}.resume-stack-card--education{flex-direction:column;justify-content:center;display:flex}.resume-stack-card--education .resume-entry{padding:1.8rem}.resume-stack-card--education .resume-entry__heading-row h2{font-size:1.5rem}.resume-stack-card--education .resume-entry__role{margin:.5rem 0 1rem;font-size:1.1rem}.resume-stack-card--education .resume-entry ul{font-size:1.05rem}.resume-stack-card--education .resume-entry__label{margin-top:1.2rem;font-size:1.05rem}.resume-stack-card--education .resume-tag--plain{padding:.45rem .85rem;font-size:.95rem}.resume-stack-card--education .resume-entry__logo{width:40px;height:40px}.resume-entry{border:1px solid var(--border-subtle);background:var(--bg-card);border-radius:14px;margin-top:.85rem;padding:.9rem}.resume-entry:first-child{margin-top:0}.resume-entry__heading-row{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.resume-entry__title-group{align-items:center;gap:.55rem;display:flex}.resume-entry__logo{object-fit:contain;border-radius:6px;flex-shrink:0;width:28px;height:28px}.resume-entry__heading-row h2,.resume-entry h2{color:var(--text-primary);margin:0;font-size:1.05rem}.resume-entry__heading-row span{color:var(--text-secondary);white-space:nowrap;font-size:.88rem}.resume-entry__role{color:var(--text-secondary);margin:.2rem 0 .55rem}.resume-entry ul{color:var(--text-secondary);margin:0;padding-left:1rem;font-size:.92rem}.resume-entry li+li{margin-top:.35rem}.resume-entry__label{color:var(--text-primary);margin:.75rem 0 .4rem;font-size:.92rem;font-weight:600}.resume-tag-list--plain{flex-wrap:wrap;gap:.45rem;display:flex}.resume-tag--plain{border:1px solid var(--border-subtle);background:var(--bg-panel);color:var(--text-primary);border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .62rem;font-size:.84rem;font-weight:600;display:inline-flex}.resume-tag__icon{object-fit:contain;width:14px;height:14px}.skills-grid{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;height:100%;display:grid}.skills-entry{flex-direction:column;gap:.5rem;height:100%;min-height:0;margin-top:0;display:flex;overflow:hidden}.skills-usage-list{color:var(--text-secondary);margin:.3rem 0 0;padding-left:1rem;font-size:.78rem;line-height:1.4}.skills-usage-list li+li{margin-top:.25rem}@media (width<=780px){.skills-grid{grid-template-rows:repeat(4,1fr);grid-template-columns:1fr}.resume-entry__heading-row{flex-direction:column;align-items:flex-start;gap:.25rem}}.contact-page{min-height:calc(100dvh - 74px);padding:1.6rem 1rem 2.4rem}.contact-page__card{border:1px solid var(--border-subtle);background:var(--bg-panel);border-radius:24px;width:min(760px,100%);margin:0 auto;padding:1.4rem;box-shadow:0 18px 48px #0003}.contact-page__eyebrow{letter-spacing:.07em;text-transform:uppercase;color:var(--text-secondary);margin:0;font-size:.78rem;font-weight:700}.contact-page h1{color:var(--text-primary);margin:.2rem 0 .5rem;font-size:clamp(1.8rem,4vw,2.6rem)}.contact-page header p{color:var(--text-secondary);margin:0;line-height:1.6}.contact-form{gap:.9rem;margin-top:1rem;display:grid}.contact-form label,.contact-form fieldset{color:var(--text-primary);gap:.35rem;font-weight:600;display:grid}.contact-form input,.contact-form textarea{border:1px solid var(--border-subtle);background:var(--bg-card);width:100%;color:var(--text-primary);font:inherit;border-radius:10px;padding:.65rem .72rem}.contact-form textarea{resize:vertical;min-height:150px}.contact-form fieldset{border:1px solid var(--border-subtle);border-radius:12px;padding:.7rem}.contact-form legend{padding:0 .35rem}.contact-form__radios{flex-wrap:wrap;gap:.5rem;display:flex}.radio-chip{border:1px solid var(--border-subtle);background:var(--bg-card);border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .6rem;font-weight:500;display:inline-flex}.radio-chip input{width:14px;height:14px}.checkbox-row{grid-template-columns:auto 1fr;align-items:center;gap:.5rem}.checkbox-row input{width:15px;height:15px}.contact-form button{border:1px solid var(--border-subtle);background:var(--header-active-bg);color:var(--header-active-text);font:inherit;cursor:pointer;border-radius:999px;padding:.7rem 1rem;font-weight:700}.contact-form button:disabled{opacity:.65;cursor:wait}.field-error{color:#f28b82;font-size:.8rem;font-weight:600}.contact-note{color:var(--text-secondary);margin:0;font-size:.9rem}.contact-status{border-radius:10px;margin:0;padding:.6rem .75rem;font-weight:600}.contact-status.success{color:#0f5132;background:#92ffcb6b}.contact-status.error{color:#842029;background:#ffc4ca70}html,body{height:100%;overflow:hidden}.app-wrapper{background:var(--bg-app);width:100vw;height:100dvh;position:relative;overflow:hidden}.app-main{min-height:100dvh;padding-top:74px}.app-main--projects{padding-top:0}.tab-navigation{-webkit-backdrop-filter:blur(10px);z-index:2000;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:100px;gap:.5rem;max-width:94vw;padding:.4rem;display:flex;position:fixed;top:1.5rem;left:50%;transform:translate(-50%)}.tab-btn{color:#fff9;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:50px;padding:.6rem 1.5rem;font-size:.9rem;font-weight:700;transition:all .3s cubic-bezier(.25,1,.5,1)}.tab-btn:hover{color:#fff}.tab-btn.active{color:#fff;background:linear-gradient(135deg,#ff7ebb 0%,#b19ffb 100%);box-shadow:0 4px 15px #ff7ebb66}.sliding-viewport{width:200vw;height:100dvh;transition:transform 1.6s cubic-bezier(.16,1,.3,1);display:flex}.sliding-viewport.home{transform:translate(0%)}.sliding-viewport.projects{transform:translate(-50%)}.panel{width:100vw;height:100dvh;position:relative;overflow:hidden}.pagination-dots{z-index:1500;pointer-events:auto;flex-direction:row;gap:1rem;display:flex;position:fixed;bottom:2.5rem;left:50%;transform:translate(-50%)}.pagination-dot{background:var(--dot-inactive,#fff3);cursor:pointer;border:2px solid #0000;border-radius:50%;width:10px;height:10px;transition:all .4s cubic-bezier(.16,1,.3,1)}.pagination-dot:hover{background:var(--dot-hover,#fff9);transform:scale(1.3)}.pagination-dot.active{background:#ff7ebb;transform:scale(1.4);box-shadow:0 0 10px #ff7ebbcc}body.lock-scroll{touch-action:none;overflow:hidden!important}body.lock-scroll .portfolio-container{overflow-y:hidden!important}body.lock-scroll .section-content,body.lock-scroll .tab-navigation{-webkit-user-select:none;user-select:none;pointer-events:none!important}.page-shell{justify-content:center;align-items:center;min-height:100dvh;padding:6rem 1.5rem 2rem;display:flex}.page-card{color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff14;border:1px solid #fff3;border-radius:20px;width:min(720px,100%);max-height:calc(100dvh - 74px - 3rem);padding:2rem}.vertical-page-slider{transition:transform .6s cubic-bezier(.16,1,.3,1)}.vertical-page-slider__page{flex-shrink:0;width:100%;height:100dvh;position:relative}.vertical-page-slider__page:first-child{background:var(--bg-home)}.vertical-page-slider__page:nth-child(2){background:var(--bg-projects)}.vertical-page-slider__page:nth-child(3){background:var(--bg-resume)}.vertical-page-slider__page:nth-child(4){background:var(--bg-contact)}.vertical-page-slider__page:after{content:"";pointer-events:none;z-index:5;height:18vh;position:absolute;bottom:0;left:0;right:0}.vertical-page-slider__page:first-child:after{background:linear-gradient(to bottom, transparent, var(--bg-projects))}.vertical-page-slider__page:nth-child(2):after{background:linear-gradient(to bottom, transparent, var(--bg-resume))}.vertical-page-slider__page:nth-child(3):after{background:linear-gradient(to bottom, transparent, var(--bg-contact))}.character-hint{color:#fff;letter-spacing:.5px;white-space:nowrap;pointer-events:none;opacity:1;background:linear-gradient(135deg,#ff7ebb 0%,#b19ffb 100%);border-radius:12px;padding:.5rem 1rem;font-family:Segoe UI,sans-serif;font-size:.8rem;font-weight:800;animation:2s ease-in-out infinite hintFloat;position:absolute;bottom:115px;left:50%;transform:translate(-50%);box-shadow:0 8px 20px #ff7ebb4d}@keyframes hintFloat{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-6px)}}.character-hint:after{content:"";border:6px solid #0000;border-top-color:#b19ffb;border-bottom:0 solid #b19ffb;width:0;display:block;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.interactive-character{cursor:pointer!important}@keyframes dance-resume-body{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(-4px,-6px)rotate(-6deg)}50%{transform:translateY(-10px)rotate(0)}75%{transform:translate(4px,-6px)rotate(6deg)}}@keyframes dance-resume-hand-left{0%,to{top:30px;left:15px}50%{top:5px;left:0}}@keyframes dance-resume-hand-right{0%,to{top:30px;left:85px}50%{top:5px;left:100px}}.interactive-character.dance-resume{animation:.9s ease-in-out infinite dance-resume-body}.dance-resume-left{animation:.9s ease-in-out infinite dance-resume-hand-left}.dance-resume-right{animation:.9s ease-in-out infinite dance-resume-hand-right}@keyframes dance-contact-body{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(-10px)rotate(-4deg)}75%{transform:translate(10px)rotate(4deg)}}@keyframes dance-contact-hand-left{0%,50%,to{top:30px;left:15px}25%{top:-5px;left:15px}}@keyframes dance-contact-hand-right{0%,50%,to{top:30px;left:85px}75%{top:-5px;left:85px}}.interactive-character.dance-contact{animation:.7s ease-in-out infinite dance-contact-body}.dance-contact-left{animation:.7s ease-in-out infinite dance-contact-hand-left}.dance-contact-right{animation:.7s ease-in-out infinite dance-contact-hand-right}.projects-panel .portfolio-container{width:100vw;height:100dvh}.portfolio-container{height:100dvh;position:relative;overflow:hidden}.portfolio-inner{flex-direction:row;height:100dvh;transition:transform 1.8s cubic-bezier(.16,1,.3,1);display:flex}.portfolio-inner--horizontal{width:calc(100vw * var(--project-count,3))}.portfolio-section{box-sizing:border-box;flex-shrink:0;justify-content:center;align-items:center;width:100vw;height:100dvh;padding:2rem;transition:background 1s cubic-bezier(.25,1,.5,1);display:flex;position:relative}.section-content{text-align:center;z-index:10;-webkit-backdrop-filter:blur(16px);background:#ffffff14;border:1px solid #fff3;border-radius:24px;width:100%;max-width:600px;max-height:85dvh;padding:3rem 2.5rem;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;transition:transform .3s,box-shadow .3s;overflow-y:auto;box-shadow:0 16px 32px #0000004d}@media (hover:hover){.section-content:hover{border-color:#ffffff59;transform:translateY(-5px);box-shadow:0 20px 40px #0006}}.section-content h1{background:linear-gradient(135deg,#fff 30%,#ff7ebb 100%);-webkit-text-fill-color:transparent;letter-spacing:-1px;-webkit-background-clip:text;margin:0;font-size:3rem;font-weight:800}.section-content h2{color:#fff;letter-spacing:-.5px;margin:.5rem 0 1rem;font-size:2.2rem;font-weight:700}.section-content p{color:#e2e8f0;margin-bottom:2rem;font-size:1.1rem;line-height:1.6}.project-badge{letter-spacing:1px;text-transform:uppercase;color:#fff;background:#fff3;border:1px solid #fff6;border-radius:50px;margin-bottom:1rem;padding:.4rem 1rem;font-size:.75rem;font-weight:700;display:inline-block}.project-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#00f2fe 0%,#4facfe 100%);border:none;border-radius:12px;padding:.9rem 2rem;font-size:1rem;font-weight:700;transition:all .2s;box-shadow:0 4px 15px #00f2fe4d}@media (hover:hover){.project-btn:hover{transform:scale(1.05);box-shadow:0 6px 20px #00f2fe80}}.scroll-indicator{color:#ffffffb3;letter-spacing:2px;margin-top:2.5rem;font-size:.9rem;font-weight:600;animation:2s infinite bounce}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.floating-scroll-btn{cursor:pointer;z-index:1500;background:linear-gradient(135deg,#ff7ebb 0%,#b19ffb 100%);border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s;display:flex;position:fixed;bottom:2.5rem;right:2.5rem;box-shadow:0 8px 25px #ff7ebb66}@media (hover:hover){.floating-scroll-btn:hover{transform:scale(1.15);box-shadow:0 12px 30px #ff7ebb99}}.floating-scroll-btn svg{fill:#fff;transition:transform .4s}@media (width<=600px){.portfolio-section{padding:1rem}.section-content{border-radius:16px;padding:2rem 1.5rem}.section-content h1{font-size:2.2rem}.section-content h2{font-size:1.6rem}.section-content p{font-size:1rem}.floating-scroll-btn{width:46px;height:46px;bottom:1.2rem;right:1.2rem}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg-app:radial-gradient(circle at 8% 12%, #2f3740 0%, #1e242b 46%, #161b20 100%);--bg-panel:#ffffff14;--bg-card:#ffffff0f;--text-primary:#f3f5f7;--text-secondary:#f3f5f7c7;--border-subtle:#ffffff24;--header-bg:#14191ec2;--header-bg-solid:#1b2229;--header-border:#e9eef22b;--header-brand:#f6f8fa;--header-link:#f7f9fcb8;--header-hover:#f7f9fc21;--header-active-bg:#f2f5f8;--header-active-text:#1f252c;--header-chip-bg:#f7f9fc1f;--header-chip-border:#f7f9fc33;--header-chip-text:#f7f9fc;--header-chip-hover:#f7f9fc33;--dot-inactive:#ffffff40;--dot-hover:#fff9;--bg-home:#1e242b;--bg-projects:#171c22;--bg-resume:#232a33;--bg-contact:#262f3d;--bg-panel-solid:#1f262d}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-app:radial-gradient(circle at 6% 10%, #f4f6f8 0%, #e8ecef 38%, #dde3e7 100%);--bg-panel:#ffffffb3;--bg-card:#ffffffc7;--text-primary:#13191f;--text-secondary:#13191fb8;--border-subtle:#13191f26;--header-bg:#f7f9fae6;--header-bg-solid:#f9fbfc;--header-border:#13191f2e;--header-brand:#161d24;--header-link:#161d24bf;--header-hover:#161d241a;--header-active-bg:#1f2730;--header-active-text:#f7f9fb;--header-chip-bg:#161d2414;--header-chip-border:#161d2429;--header-chip-text:#1a222a;--header-chip-hover:#161d2424;--dot-inactive:#0003;--dot-hover:#00000073;--bg-home:#eef1f3;--bg-projects:#e4e8eb;--bg-resume:#f2f4f6;--bg-contact:#e8ecf3;--bg-panel-solid:#f4f6f8}html,body,#root{box-sizing:border-box;width:100%;height:100%;margin:0;padding:0;overflow-x:hidden}body{color:var(--text-primary);background:var(--bg-app)}*,:before,:after{box-sizing:inherit}
