@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0a0a0e;font-family:Plus Jakarta Sans,system-ui,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff42}#root,html,body{box-sizing:border-box;width:100%;height:100%;margin:0;padding:0;overflow:visible}:root{--font-primary:"Inter", system-ui, -apple-system, sans-serif}body{font-family:var(--font-primary)}.navbar{box-sizing:border-box;z-index:1500;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(12px);background:#0f0f1459;border-bottom:1px solid #ffffff0f;align-items:center;width:100%;height:78px;padding:0 48px;transition:opacity 1s,transform 1s;display:flex;position:fixed;top:0;left:0;transform:translateY(-10px)}.navbar.navbar-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.navbar-content{justify-content:flex-start;align-items:center;gap:48px;display:flex}.navbar-logo{object-fit:contain;width:auto;height:36px}.navbar-left{align-items:center;gap:48px;display:flex}.navbar-left a,.navbar-left button{color:#ffffffeb;letter-spacing:.4px;font-family:Plus Jakarta Sans,sans-serif;font-size:.95rem;font-weight:500;text-decoration:none;transition:color .25s,text-shadow .25s,transform .25s;position:relative}.navbar-left button{cursor:pointer;background:0 0;border:none;padding:0}.navbar-left a:after,.navbar-left button:after{content:"";background:#fffffff2;width:0%;height:1px;transition:width .25s;position:absolute;bottom:-6px;left:0;box-shadow:0 0 8px #ffffff8c}.navbar-left a:hover,.navbar-left button:hover{color:#fff;text-shadow:0 0 8px #ffffff8c,0 0 16px #ffffff40;transform:translateY(-1px)}.navbar-left a:hover:after,.navbar-left button:hover:after{width:100%}.navbar-logo{color:#fff;object-fit:contain;width:auto;height:50px;font-size:1.1rem;font-weight:600}@media (width<=640px){.navbar{height:64px;padding:0 20px}.navbar-content{gap:24px}.navbar-left{gap:20px}.navbar-left a,.navbar-left button{font-size:.88rem}.navbar-logo{height:38px}}@media (width<=420px){.navbar-left a,.navbar-left button{display:none}}.container_577783{height:calc(var(--uib-size) * .5);width:var(--uib-size);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.inner_07d092{justify-content:space-between;align-items:flex-end;width:100%;height:100%;display:flex}.dot_125fd4{width:calc(var(--uib-size) * .17);height:calc(var(--uib-size) * .17);background-color:var(--uib-color);border-radius:50%;flex-shrink:0;transition:background-color .3s}.dot_125fd4:first-child{animation:jump_b88a1c var(--uib-speed) ease-in-out calc(var(--uib-speed) * -.45) infinite}.dot_125fd4:nth-child(2){animation:jump_b88a1c var(--uib-speed) ease-in-out calc(var(--uib-speed) * -.3) infinite}.dot_125fd4:nth-child(3){animation:jump_b88a1c var(--uib-speed) ease-in-out calc(var(--uib-speed) * -.15) infinite}.dot_125fd4:nth-child(4){animation:jump_b88a1c var(--uib-speed) ease-in-out infinite}@keyframes jump_b88a1c{0%,to{transform:translateY(0)}50%{transform:translateY(-200%)}}.loader-overlay{z-index:2000;pointer-events:none;background:0 0;position:fixed;inset:0;overflow:hidden}.curtain{will-change:transform;background:linear-gradient(#08080c,#101016);height:100%;transition:transform 1.8s cubic-bezier(.77,0,.18,1);position:absolute;top:0}.curtain-left{width:calc(50% + 3px);left:0}.curtain-right{width:calc(50% + 3px);right:0}.loader-overlay.opening .curtain-left{transform:translate(-100%)}.loader-overlay.opening .curtain-right{transform:translate(100%)}.loader-spinner{opacity:1;place-items:center;transition:opacity .5s;display:grid;position:absolute;inset:0}.loader-spinner.hide{opacity:0}.welcome-text{letter-spacing:.04em;color:#fff;opacity:0;text-shadow:0 0 18px #ffffff1f,0 0 36px #ffffff14;place-items:center;font-family:Plus Jakarta Sans,sans-serif;font-size:clamp(2.2rem,5vw,4.8rem);font-weight:300;transition:opacity .8s,transform .8s;display:grid;position:absolute;inset:0;transform:scale(.97)}.welcome-text.show{opacity:1;transform:scale(1)}.welcome-text.hide{opacity:0;transform:scale(.97)}.quick-actions{z-index:3000;opacity:0;pointer-events:none;grid-template-rows:repeat(2,68px);grid-template-columns:repeat(2,68px);gap:10px;transition:opacity .9s,transform .9s;display:grid;position:fixed;bottom:32px;left:32px;transform:translateY(18px)}.quick-actions.quick-actions-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.quick-action-btn{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(10px);background:#000000b8;border:1.5px solid #fffffff2;border-radius:14px;justify-content:center;align-items:center;width:68px;height:68px;transition:background .25s,color .25s,transform .25s,box-shadow .25s,border-color .25s;display:flex}.quick-action-btn:hover,.quick-action-btn.active{color:#000;background:#fff;border-color:#fff;transform:translateY(-2px);box-shadow:0 10px 30px #ffffff2e}.quick-action-btn{opacity:0;animation:.6s forwards quickActionIn;transform:translateY(10px)}.quick-actions.quick-actions-visible .quick-action-btn:first-child{animation-delay:50ms}.quick-actions.quick-actions-visible .quick-action-btn:nth-child(2){animation-delay:.12s}.quick-actions.quick-actions-visible .quick-action-btn:nth-child(3){animation-delay:.19s}.quick-actions.quick-actions-visible .quick-action-btn:nth-child(4){animation-delay:.26s}@keyframes quickActionIn{to{opacity:1;transform:translateY(0)}}@media (width<=640px){.quick-actions{grid-template-rows:56px;grid-template-columns:repeat(4,56px);gap:8px;transition:opacity .6s,transform .6s;bottom:24px;left:50%;transform:translate(-50%)translateY(18px)}.quick-actions.quick-actions-visible{transform:translate(-50%)translateY(0)}.quick-action-btn{width:56px;height:56px}.quick-actions.has-panel{opacity:0;pointer-events:none;transition:opacity .3s,transform .3s}}.info-panel-backdrop{-webkit-backdrop-filter:blur();backdrop-filter:blur();pointer-events:none;z-index:2800;background:#0c0c1200;transition:background .4s,-webkit-backdrop-filter .4s,backdrop-filter .4s;position:fixed;inset:0}.info-panel-backdrop.show{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:auto;background:#0c0c124d}.info-panel{z-index:2900;opacity:0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-sizing:border-box;background:#ffffff14;border-left:1px solid #ffffff1f;width:38vw;min-width:420px;max-width:700px;height:100vh;transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .35s;position:fixed;top:0;right:0;overflow:visible;transform:translate(100%)scale(.98)}.info-panel.open{opacity:1;transform:translate(0)scale(1)}.info-panel-inner{box-sizing:border-box;flex-direction:column;height:100%;padding:34px 30px 26px;display:flex;position:relative}.info-panel-header{flex-shrink:0;margin-bottom:20px}.info-panel-header h2{color:#fff;letter-spacing:.02em;border-bottom:1px solid #ffffff12;margin:0;padding-bottom:16px;font-family:Plus Jakarta Sans,sans-serif;font-size:1.8rem;font-weight:500}.info-panel-content{color:#ffffffe6;flex:1;padding-right:6px;font-family:Plus Jakarta Sans,sans-serif;font-size:.98rem;line-height:1.8;overflow-y:auto}.info-panel-content p{margin-top:0}.info-panel-close-edge{color:#fff;cursor:pointer;z-index:20;-webkit-backdrop-filter:blur(10px);background:#1c1c24f5;border:1px solid #ffffff2e;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.2rem;line-height:1;transition:background .25s,color .25s,border-color .25s,transform .25s,box-shadow .25s;display:flex;position:absolute;top:50%;left:-14px;transform:translateY(-50%);box-shadow:0 8px 24px #00000047}.info-panel-close-edge:hover{color:#000;background:#fff;border-color:#fff;transform:translateY(-50%)scale(1.05);box-shadow:0 10px 28px #ffffff24}.resume-frame{background:#ffffff0a;border:none;border-radius:14px;width:100%;height:65vh;margin-top:14px}.resume-preview-card{background:#ffffff0d;border:1px solid #ffffff14;border-radius:16px;padding:18px}.resume-preview-text{margin:0}.resume-actions-bottom{border-top:1px solid #ffffff14;flex-shrink:0;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px;padding-top:18px;display:grid}.resume-action-btn{color:#fff;background:#0006;border:1px solid #ffffff29;border-radius:12px;justify-content:center;align-items:center;min-height:48px;font-family:Plus Jakarta Sans,sans-serif;font-size:.95rem;font-weight:500;text-decoration:none;transition:background .25s,color .25s,border-color .25s,transform .25s,box-shadow .25s;display:flex}.resume-action-btn:hover{color:#000;background:#fff;border-color:#fff;transform:translateY(-2px);box-shadow:0 10px 30px #ffffff1f}.info-panel-content::-webkit-scrollbar{width:4px}.info-panel-content::-webkit-scrollbar-track{background:0 0}.info-panel-content::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:4px}.info-panel-content::-webkit-scrollbar-thumb:hover{background:#ffffff47}@media (width<=640px){.info-panel{width:100vw;min-width:unset;max-width:unset;opacity:1;border-top:1px solid #ffffff1a;border-left:none;border-radius:20px 20px 0 0;height:88vh;top:auto;bottom:0;right:0;transform:translateY(100%)}.info-panel.open{opacity:1;transform:translateY(0)}.info-panel-close-edge{top:20px;left:auto;right:20px;transform:none}.info-panel-close-edge:hover{transform:scale(1.05)}.info-panel-inner{padding:24px 20px 20px}.resume-frame{height:52vh}}.about-panel-shell{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.about-page-stage{flex:1;min-height:0;padding-right:6px;position:relative;overflow:hidden auto}.about-intro-card,.about-page{padding-bottom:20px;animation:.6s aboutFadeUp}.about-intro-card{opacity:0;flex-direction:column;justify-content:center;gap:10px;height:100%;min-height:460px;padding-left:10%;display:flex;transform:translateY(18px)}.about-intro-card.show{opacity:1;transition:opacity .6s,transform .6s;transform:translateY(0)}.about-intro-card.leave{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(-12px)}.about-intro-eyebrow{text-transform:uppercase;letter-spacing:.16em;color:#ffffff9e;font-size:.85rem}.about-intro-card h3{color:#fff;margin:0;font-size:2.2rem;font-weight:500}.about-intro-card p{color:#ffffffd1;margin:0;font-size:1.05rem}.about-page-show{animation:.55s aboutFadeUp}.about-photo-grid{grid-template-rows:220px 220px;grid-template-columns:1.2fr .8fr;gap:14px;margin-bottom:18px;display:grid}.about-photo{object-fit:cover;border:1px solid #ffffff14;border-radius:18px;width:100%;height:100%;animation:5s ease-in-out infinite photoFloat;box-shadow:0 12px 30px #0000002e}.about-photo-large{grid-row:1/span 2}.about-photo:nth-child(2){animation-delay:.25s}.about-photo:nth-child(3){animation-delay:.5s}.about-copy-card{background:#ffffff0b;border:1px solid #ffffff14;border-radius:20px;padding:20px}.about-copy-card h3{color:#fff;margin:0 0 12px;font-size:1.45rem;font-weight:500}.about-copy-card p{color:#ffffffdb;margin:0 0 12px;line-height:1.75}.skills-subtitle{color:#fff9;letter-spacing:.08em;text-transform:uppercase;margin-top:16px;margin-bottom:8px;font-size:.9rem}.skills-logo-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0 26px;display:grid}.skill-logo-card{cursor:default;opacity:0;background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;min-height:92px;padding:14px 10px;transition:transform .28s,background .28s,border-color .28s,box-shadow .28s;animation:.6s forwards skillLogoIn;display:flex;position:relative;transform:translateY(16px)scale(.96)}.skill-logo-card img{object-fit:contain;width:28px;height:28px;margin-bottom:8px}.skill-logo-card span{text-align:center;color:#ffffffe0;font-size:.8rem}.skill-logo-card:hover{background:#ffffff14;border-color:#ffffff24;transform:translateY(-4px)scale(1.04);box-shadow:0 12px 28px #0000002e}.skill-tooltip{color:#ffffffeb;text-align:left;opacity:0;pointer-events:none;z-index:20;background:#12121af5;border:1px solid #ffffff1f;border-radius:12px;width:220px;padding:10px 12px;font-size:.78rem;line-height:1.5;transition:opacity .22s,transform .22s;position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%)translateY(8px);box-shadow:0 10px 26px #00000038}.skill-tooltip:after{content:"";border:6px solid #0000;border-top-color:#12121af5;position:absolute;top:100%;left:50%;transform:translate(-50%)}.skill-logo-card:hover .skill-tooltip{opacity:1;transform:translate(-50%)translateY(0)}.skills-detail-list{gap:16px;display:grid}.skills-detail-list h4{color:#fff;margin:0 0 6px;font-size:1rem;font-weight:500}.skills-detail-list p{margin:0}.personal-photo-grid{grid-template-rows:1fr 1fr;grid-template-columns:2fr 1fr;gap:12px;margin:16px 0 18px;display:grid}.personal-photo-grid img{object-fit:cover;opacity:0;border-radius:14px;width:100%;height:100%;transition:transform .3s,filter .3s;animation:.6s forwards photoIn;transform:translateY(12px)scale(.98)}.personal-photo-grid img:first-child{grid-row:span 2;animation-delay:.1s}.personal-photo-grid img:nth-child(2){animation-delay:.2s}.personal-photo-grid img:nth-child(3){animation-delay:.3s}.personal-photo-grid img:hover{filter:brightness(1.05);transform:scale(1.03)}.personal-interests-grid{grid-template-columns:1fr 1fr;gap:14px;margin-top:20px;display:grid}.personal-interest-card{background:#ffffff0b;border:1px solid #ffffff14;border-radius:16px;padding:16px;transition:transform .25s,background .25s,border-color .25s}.personal-interest-card:hover{background:#ffffff12;border-color:#ffffff1f;transform:translateY(-3px)}.personal-interest-card h4{color:#fff;margin:0 0 8px;font-size:1rem;font-weight:500}.personal-interest-card p{color:#ffffffd6;margin:0;line-height:1.65}.about-nav{background:0 0;border-top:none;flex-shrink:0;grid-template-columns:44px 1fr 44px;align-items:center;gap:12px;padding:12px 0 4px;animation:.35s aboutNavFade;display:grid}.about-nav-arrow{color:#fff;cursor:pointer;background:#00000038;border:1px solid #ffffff24;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;font-size:1rem;transition:all .25s;display:flex}.about-nav-arrow:hover:not(:disabled){color:#000;background:#fff;transform:translateY(-1px)}.about-nav-arrow:disabled{opacity:.35;cursor:not-allowed}.about-nav-dots{justify-content:center;gap:10px;display:flex}.about-dot{cursor:pointer;background:#ffffff3d;border:none;border-radius:999px;width:10px;height:10px;transition:all .25s}.about-dot.active{background:#fff;width:28px}@keyframes aboutFadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes aboutNavFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes photoFloat{0%{transform:translateY(0)}50%{transform:translateY(-4px)}to{transform:translateY(0)}}@keyframes photoIn{to{opacity:1;transform:translateY(0)scale(1)}}@keyframes skillLogoIn{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=640px){.about-photo-grid{grid-template-rows:160px 160px;gap:10px}.about-photo{animation:none}.about-intro-card{min-height:320px;padding-left:6%}.about-intro-card h3{font-size:1.8rem}.skills-logo-grid{gap:10px}.personal-interests-grid{grid-template-columns:1fr}}.projects-gallery-view,.projects-detail-view{animation:.45s projectsFadeUp}.projects-intro{margin-bottom:16px}.projects-intro p{color:#ffffffb3;margin:0;font-family:Plus Jakarta Sans,sans-serif;font-size:.95rem;line-height:1.6}.projects-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.project-card{cursor:pointer;text-align:left;opacity:0;background:0 0;border:none;border-radius:18px;padding:0;transition:transform .28s,filter .28s;animation:.55s forwards projectCardIn;position:relative;overflow:visible;transform:translateY(14px)scale(.98)}.project-card:hover{transform:translateY(-4px)scale(1.015)}.project-card-disabled{cursor:not-allowed}.project-card-disabled:hover{transform:none}.project-visit-btn{color:#fff;background:#0000005c;border:1px solid #ffffff29;border-radius:12px;justify-content:center;align-items:center;min-height:44px;margin-top:18px;margin-left:4%;padding:0 18px;font-size:.92rem;font-weight:500;text-decoration:none;transition:background .25s,color .25s,border-color .25s,transform .25s,box-shadow .25s;display:inline-flex}.project-visit-btn:hover{color:#000;background:#fff;border-color:#fff;transform:translateY(-2px);box-shadow:0 10px 24px #ffffff1f}.project-card-image{object-fit:cover;object-position:center;border:1px solid #ffffff14;border-radius:18px;width:100%;height:220px;display:block;box-shadow:0 12px 28px #0000002e}.project-card-disabled .project-card-image{filter:grayscale()brightness(.55)}.project-card-overlay{z-index:2;background:linear-gradient(#0c0c1200,#0c0c12db);border-radius:0 0 18px 18px;padding:16px 14px 14px;position:absolute;inset:auto 0 0}.project-card-overlay h3{color:#fff;margin:0;font-size:.98rem;font-weight:500;line-height:1.35}.project-card-hover-panel{-webkit-backdrop-filter:blur(10px);opacity:0;z-index:3;background:#4646508c;justify-content:flex-start;align-items:flex-start;height:52%;padding:16px 14px;transition:opacity .28s,transform .28s;display:flex;position:absolute;inset:auto 0 0;transform:translateY(100%)}.project-card-hover-panel p{color:#fff;margin:0;font-size:.84rem;line-height:1.55}.project-card:hover .project-card-hover-panel{opacity:1;transform:translateY(0)}.project-coming-soon-overlay{-webkit-backdrop-filter:blur(2px);z-index:4;background:#1212186b;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.project-coming-soon-overlay span{color:#fff;letter-spacing:.08em;background:#ffffff1f;border:1px solid #ffffff2e;border-radius:999px;padding:10px 16px;font-size:.82rem;font-weight:600}.projects-back-btn{color:#fff;cursor:pointer;background:#00000057;border:1px solid #ffffff24;border-radius:12px;align-items:center;min-height:42px;margin-bottom:16px;padding:0 14px;font-family:Plus Jakarta Sans,sans-serif;font-size:.92rem;transition:all .25s;display:inline-flex}.projects-back-btn:hover{color:#000;background:#fff;border-color:#fff;transform:translateY(-1px)}.project-detail-image-wrap{border-radius:20px;width:100%;margin-bottom:18px;position:relative;overflow:visible}.project-detail-image{object-fit:cover;border:1px solid #ffffff14;border-radius:20px;width:100%;height:260px;display:block}.project-detail-copy h3{color:#fff;margin:0 0 14px;font-size:1.5rem;font-weight:500}.project-detail-copy p{color:#ffffffdb;margin:0;line-height:1.75}.project-tools-row{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.project-tool-chip{color:#fff;background:#ffffff0f;border:1px solid #ffffff14;border-radius:999px;padding:9px 14px;font-size:.85rem}@keyframes projectCardIn{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes projectsFadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.project-image-arrow{-webkit-backdrop-filter:blur(8px);color:#fff;cursor:pointer;z-index:10;opacity:0;background:#0c0c12b8;border:1px solid #ffffff24;border-radius:9px;justify-content:center;align-items:center;width:28px;height:28px;font-size:.82rem;transition:opacity .2s,transform .2s,background .2s,color .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.project-image-arrow-left{left:-2px}.project-image-arrow-right{right:-2px}.project-detail-image-wrap:hover .project-image-arrow{opacity:1}.project-image-arrow:hover{color:#000;background:#fff;transform:translateY(-50%)scale(1.06)}.project-image-dots{z-index:5;gap:8px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.project-image-dot{cursor:pointer;background:#ffffff57;border:none;border-radius:999px;width:9px;height:9px;transition:all .25s}.project-image-dot.active{background:#fff;width:26px}.project-detail-copy p{max-width:65ch;margin-bottom:18px;line-height:1.75}@media (width<=480px){.projects-grid{grid-template-columns:1fr}.project-card-image,.project-detail-image{height:200px}}.contact-panel-shell{flex-direction:column;gap:18px;display:flex}.contact-intro-card{background:#ffffff0b;border:1px solid #ffffff14;border-radius:20px;padding:20px;animation:.5s contactFadeUp}.contact-intro-card h3{color:#fff;margin:0 0 10px;font-size:1.5rem;font-weight:500}.contact-intro-card p{color:#ffffffd1;margin:0;line-height:1.7}.contact-card-list{gap:14px;margin-top:0;display:grid}.contact-card{color:inherit;opacity:0;background:#ffffff0a;border:1px solid #ffffff14;border-radius:18px;justify-content:space-between;align-items:center;gap:14px;padding:18px;text-decoration:none;transition:transform .28s,background .28s,border-color .28s,box-shadow .28s;animation:.55s forwards contactCardIn;display:flex;transform:translateY(14px)scale(.98)}.contact-card:hover{background:#ffffff12;border-color:#ffffff24;transform:translateY(-4px)scale(1.01);box-shadow:0 14px 30px #0000002e}.contact-card-left{align-items:flex-start;gap:14px;display:flex}.contact-icon-wrap{color:#fff;background:#ffffff0f;border:1px solid #ffffff14;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.contact-copy{flex-direction:column;gap:4px;display:flex}.contact-label{color:#ffffff9e;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem}.contact-value{color:#fff;font-size:1rem;font-weight:500}.contact-copy p{color:#fffc;margin:2px 0 0;font-size:.92rem;line-height:1.6}.contact-card-right{color:#ffffffbd;flex-shrink:0;transition:transform .25s,color .25s}.contact-card:hover .contact-card-right{color:#fff;transform:translate(2px,-2px)}@keyframes contactFadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes contactCardIn{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.experience{width:100%;height:100vh;position:relative;overflow:visible}.experience canvas{display:block;width:100%!important;height:100%!important}
