@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display&display=swap";@import "https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Outfit:wght@300;400;500;600&display=swap";#root{width:100%}a{color:inherit;text-decoration:none}.navbar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:100;background:linear-gradient(120deg,#e3e3ebf7 0%,#d2d4faf7 25%,#e3e3ebf7 50%,#dcddf5f7 75%,#e3e3ebf7 100%) 0 0/300% 300%;border-bottom:1px solid #5b6af51a;justify-content:space-between;align-items:center;height:72px;padding:0 4rem 0 10rem;transition:background .3s;animation:6s infinite navShimmer;display:flex;position:fixed;top:0;left:0;right:0}@keyframes navShimmer{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.navbar-brand{align-items:center;gap:12px;display:flex}.nav-logo{object-fit:cover;border:3px solid #1d0242;border-radius:50%;width:50px;height:50px}.nav-name{color:#24023a;letter-spacing:.01em;font-family:DM Serif Display,serif;font-size:2.3rem;font-style:normal;font-weight:600}.navbar-links{align-items:center;gap:2.5rem;display:flex}.nav-hamburger{cursor:pointer;z-index:110;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.nav-hamburger span{background:#5b6af5;border-radius:2px;width:24px;height:2px;transition:all .3s;display:block}.nav-hamburger.open span:first-child{transform:rotate(45deg)translate(5px,5px)}.nav-hamburger.open span:nth-child(2){opacity:0}.nav-hamburger.open span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}.nav-link{letter-spacing:.08em;text-transform:uppercase;color:#000;cursor:pointer;background:0 0;border:none;padding-bottom:4px;font-family:Outfit,sans-serif;font-size:.85rem;font-weight:520;transition:color .2s;position:relative}.nav-link:after{content:"";transform-origin:0;background:#5b6af5;border-radius:2px;height:2px;transition:transform .25s cubic-bezier(.16,1,.3,1);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav-link:hover,.nav-link.active{color:#1a1c2e}.nav-link.active:after,.nav-link:hover:after{transform:scaleX(1)}@media (width<=768px){.navbar{padding:0 1.5rem}.nav-logo{width:36px;height:36px}.nav-name{font-size:1.3rem}.nav-hamburger{display:flex}.navbar-links{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fafafff7;border-left:1px solid #00000012;flex-direction:column;align-items:flex-start;gap:0;width:68vw;max-width:270px;height:100vh;padding:100px 2rem 2rem;transition:transform .35s cubic-bezier(.16,1,.3,1);position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-8px 0 40px #00000014}.navbar-links.open{transform:translate(0)}.nav-link{border-bottom:1px solid #0000000d;width:100%;padding:1rem 0;font-size:1rem}.nav-link:last-child{border-bottom:none}}.hero{background:linear-gradient(34deg,#e7e1e1 0%,#e8f6ec 100%);grid-template-columns:1fr 1fr;align-items:center;gap:4rem;min-height:100vh;padding:6rem 6rem 0 12rem;display:grid;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#5b6af51a 0%,#0000 70%);width:700px;height:700px;position:absolute;top:-200px;right:-200px}.hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#8b5cf612 0%,#0000 70%);width:500px;height:500px;position:absolute;bottom:-100px;left:-100px}.hero-text{z-index:1;position:relative}.hero-eyebrow{letter-spacing:.2em;text-transform:uppercase;color:#0d176b;opacity:0;align-items:center;gap:12px;margin-bottom:1.5rem;font-size:.75rem;font-weight:700;animation:.8s cubic-bezier(.16,1,.3,1) .2s forwards fadeUp;display:flex}.hero-eyebrow:before{content:"";background:#5b6af5;border-radius:2px;width:32px;height:2px}.hero-title{letter-spacing:.01em;color:#1a1c2e;opacity:0;margin-bottom:1.5rem;font-family:cursive;font-size:clamp(5rem,8vw,7.5rem);font-weight:600;line-height:1;animation:.9s cubic-bezier(.16,1,.3,1) .35s forwards fadeUp}.hero-title em{color:#7474d5;font-style:normal}.hero-title .name-line{color:#464275;font-style:normal;display:block}.hero-desc{color:#5a5f7a;opacity:0;max-width:480px;margin-bottom:2rem;font-size:1.05rem;font-weight:300;line-height:1.85;animation:.9s cubic-bezier(.16,1,.3,1) .5s forwards fadeUp}.btn-download{color:#fff;cursor:pointer;background-color:#7968c8;border:1.5px solid #4e5bca;border-radius:8px;align-items:center;gap:8px;padding:.85rem 1.8rem;font-family:Outfit,sans-serif;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .25s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-download:hover{color:#fff;background:#5b6af5;transform:translateY(-2px);box-shadow:0 12px 32px #5b6af540}.hero-photo{opacity:0;justify-content:flex-end;margin-top:-2rem;animation:1s cubic-bezier(.16,1,.3,1) .4s forwards fadeLeft;display:flex;position:relative}.hero-img-wrap{width:400px;height:520px;position:relative}.hero-img{object-fit:cover;object-position:top center;cursor:default;border-radius:200px 200px 140px 140px;width:100%;height:100%;transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s;display:block;box-shadow:0 4px 24px #5b6af526,0 20px 60px #5b6af51a,0 0 0 4px #5b6af51f}.hero-img-wrap:hover .hero-img{transform:scale(1.05);box-shadow:0 8px 40px #5b6af538,0 28px 70px #5b6af524,0 0 0 5px #5b6af52e}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeLeft{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@media (width<=1024px){.hero{gap:3rem;padding:7rem 3rem 4rem}.hero-img-wrap{width:300px;height:400px}}@media (width<=768px){.hero{text-align:center;grid-template-columns:1fr;gap:3rem;padding:6rem 1.5rem 4rem}.hero-photo,.hero-eyebrow,.hero-actions{justify-content:center}.hero-availability-inline,.hero-desc{margin:0 auto 2rem}.hero-img-wrap{width:240px;height:320px}}@media (width<=480px){.hero{padding:5rem 1rem 3rem}.hero-img-wrap{width:200px;height:270px}}.about{background:linear-gradient(160deg,#ebebfb 0%,#fafafa 100%);padding:8rem 6rem;position:relative;overflow:hidden}.about:before{content:"";background:linear-gradient(90deg,#0000,#5b6af533,#0000);height:1px;position:absolute;top:0;left:0;right:0}.about-title{color:#1a1c2e;margin-top:-3rem;margin-bottom:3.5rem;font-family:cursive;font-size:clamp(2.3rem,4.5vw,3.5rem);font-weight:700;line-height:1.05}.about-title em{color:#7474d5;font-family:unset;font-style:italic}.about-layout{grid-template-columns:1fr 1.2fr;align-items:center;gap:5rem;display:grid}.about-img-wrap{justify-content:center;margin-top:-1rem;padding:1.5rem;display:flex;position:relative}.about-img{object-fit:cover;object-position:top center;z-index:2;border-radius:20px;width:100%;max-width:400px;height:460px;transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s;display:block;position:relative;transform:rotate(-3deg);box-shadow:0 12px 40px #00000026}.about-img-wrap:hover .about-img{transform:rotate(0)scale(1.03);box-shadow:0 20px 60px #5b6af533}.about-img-decor{z-index:1;background:linear-gradient(135deg,#ceb4e6,#5b6af533);border-radius:20px;width:400px;height:460px;transition:transform .5s cubic-bezier(.16,1,.3,1);position:absolute;transform:rotate(3deg)translate(10px,10px)}.about-img-wrap:hover .about-img-decor{transform:rotate(5deg)translate(14px,14px)}.about-img-wrap:after{content:"";pointer-events:none;z-index:3;background:linear-gradient(120deg,#0000 0%,#ffffff40 50%,#0000 100%);border-radius:20px;width:50%;height:100%;animation:3s cubic-bezier(.16,1,.3,1) .8s forwards shimmer;position:absolute;top:0;left:-75%}@keyframes shimmer{0%{opacity:1;left:-75%}to{opacity:0;left:125%}}.about-content{flex-direction:column;display:flex}.about-bio{color:#473b84;margin-top:-1.5rem;margin-bottom:1.5rem;font-size:1.08rem;font-weight:300;line-height:1.95}.about-bio strong{color:#473b84;font-weight:600}.about-meta{border-top:1px solid #00000012;gap:2.5rem;margin-top:2rem;padding-top:2rem;display:flex}.about-meta-label{letter-spacing:.14em;text-transform:uppercase;color:#a25bf5;margin-bottom:.35rem;font-size:.9rem;font-weight:700}.about-meta-value{color:#4c4f70;font-size:1rem;font-weight:500}@media (width<=1024px){.about{padding:6rem 3rem}.about-layout{gap:3.5rem}.about-img-decor{width:300px;height:400px}}@media (width<=768px){.about{padding:5rem 1.5rem}.about-layout{grid-template-columns:1fr;gap:3rem}.about-meta{flex-wrap:wrap;gap:1.5rem}.about-img{max-width:260px;height:340px}.about-img-decor{width:260px;height:340px}}@media (width<=480px){.about{padding:4rem 1rem}.about-title{font-size:clamp(2rem,9vw,2.8rem)}.about-img{max-width:200px;height:270px}.about-img-decor{width:200px;height:270px}}.skills{background:#f1f1f0;padding:7rem 6rem;position:relative}.skills:before{content:"";background:linear-gradient(90deg,#0000,#555fbe26,#0000);height:1px;position:absolute;top:0;left:0;right:0}.skills-title em{color:#40305a;margin-top:-2rem;margin-bottom:3.5rem;font-family:cursive;font-size:clamp(2.3rem,4.5vw,3.5rem);font-style:italic;font-weight:700;line-height:1.05;text-decoration:underline}.skills-title{color:#7c5cbf;margin-top:-3rem;padding-bottom:2rem;font-family:cursive;font-size:clamp(2.3rem,4.5vw,3.5rem);font-style:normal;font-weight:700;text-decoration:none}.skills-categories{border-top:1px solid #e8e8e8;flex-direction:column;gap:0;display:flex}.skills-category{opacity:0;transition:opacity .5s ease var(--cat-delay), transform .5s ease var(--cat-delay);border-bottom:1px solid #e8e8e8;grid-template-columns:160px 1fr;gap:2rem;padding:1.2rem 0;display:grid;transform:translateY(20px)}.skills-category.cat-visible{opacity:1;transform:translateY(0)}.category-label{letter-spacing:.12em;text-transform:uppercase;color:#333438;margin:0;padding-top:1.3rem;font-family:sans-serif;font-size:.9rem;font-weight:600}.category-pills{flex-wrap:wrap;gap:.75rem;display:flex}.skill-pill{border:1px solid #ebebeb;border-left:3px solid var(--pill-color);cursor:default;background:#fff;border-radius:8px;align-items:center;gap:.7rem;width:9rem;height:4rem;padding:.6rem 1.1rem .6rem .9rem;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;box-shadow:0 1px 3px #0000000a}.skill-pill:hover{border-color:var(--pill-color);transform:translateY(-3px);box-shadow:0 6px 20px #00000014}.skill-icon{flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.skill-icon svg{width:100%;height:100%}.skill-name{color:#2a2a2a;white-space:nowrap;font-family:sans-serif;font-size:1rem;font-weight:520}.skills-category.cat-visible .skill-pill{animation:pillIn .4s ease var(--pill-delay) both}@keyframes pillIn{0%{opacity:0;transform:scale(.92)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (width<=1024px){.skills{padding:6rem 3rem}}@media (width<=768px){.skills{padding:5rem 1.5rem}.skills-category{grid-template-columns:1fr;gap:.75rem;padding:1.8rem 0}.category-label{padding-top:0}}@media (width<=480px){.skills{padding:4rem 1rem}.skill-pill{padding:.5rem .9rem .5rem .75rem}.skill-name{font-size:.82rem}.skill-icon{width:18px;height:18px}}.projects{background:#f4f4f6;padding:8rem 6rem;position:relative}.projects:before{content:"";background:linear-gradient(90deg,#0000,#5b6af533,#0000);height:1px;position:absolute;top:0;left:0;right:0}.projects-title{color:#40305a;margin-top:-3rem;margin-bottom:3.5rem;font-family:cursive;font-size:clamp(2.3rem,4.5vw,3.5rem);font-style:italic;font-weight:700;line-height:1.05}.projects-title em{color:#866eba;font-style:normal}.projects-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;display:grid}.project-card{color:inherit;background:#fff;border:1.5px solid #00000012;border-radius:20px;flex-direction:column;text-decoration:none;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s,border-color .3s;display:flex;overflow:hidden;box-shadow:0 2px 14px #0000000f,0 1px 3px #0000000a}.project-card:hover{border-color:#5b6af52e;transform:translateY(-8px);box-shadow:0 14px 44px #5b6af524,0 4px 14px #0000000f}.project-thumb{border-radius:18px 18px 0 0;height:200px;position:relative;overflow:hidden}.project-thumb-img{object-fit:cover;width:100%;height:100%}.project-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;z-index:2;background:#0000006b;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.project-card:hover .project-overlay{opacity:1}.project-overlay-label{color:#fff;letter-spacing:.06em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1.5px solid #fff9;border-radius:100px;padding:.5rem 1.2rem;font-size:.85rem;font-weight:700;transition:transform .3s cubic-bezier(.16,1,.3,1);transform:translateY(6px)}.project-card:hover .project-overlay-label{transform:translateY(0)}.project-info{flex-direction:column;flex:1;gap:.6rem;padding:1.25rem 1.4rem 1.4rem;display:flex}.project-info-top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.project-name{color:#1a1c2e;flex:1;font-family:Playfair Display,serif;font-size:1rem;font-weight:700;line-height:1.3}.project-tag{letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;border-radius:100px;flex-shrink:0;padding:3px 9px;font-size:.65rem;font-weight:700;display:inline-block}.project-desc{color:#5a5f7a;font-size:.82rem;line-height:1.7}@media (width<=1200px){.projects-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=1024px){.projects{padding:6rem 3rem}.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.projects{padding:5rem 1.5rem}.projects-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}@media (width<=520px){.projects-grid{grid-template-columns:1fr}}@media (width<=480px){.projects{padding:4rem 1rem}}.contact{background:#5a5f7a;padding:8rem 6rem;position:relative;overflow:hidden}.contact-particles{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0}.contact:before{content:"";z-index:1;background:linear-gradient(90deg,#0000,#5b6af52e,#0000);height:1px;position:absolute;top:0;left:0;right:0}.contact-layout{z-index:2;grid-template-columns:1fr 1fr;align-items:start;gap:6rem;display:grid;position:relative}.contact-title{color:#f0fff0;margin-bottom:1.25rem;font-family:cursive;font-size:clamp(2.3rem,4.5vw,3.5rem);font-weight:700;line-height:1.05}.contact-title em{color:#85aec7;font-size:clamp(2.3rem,4.5vw,3.5rem);font-style:normal}.hero-availability-inline{background:#f8caca;border:1.5px solid #c550224d;border-radius:40px;align-items:center;gap:8px;width:fit-content;margin-top:1.5rem;margin-bottom:1.5rem;padding:.45rem 1rem;display:inline-flex;box-shadow:0 2px 12px #c62f061f}.availability-dot{background:#db260a;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{box-shadow:0 0 #c24a0d80}50%{box-shadow:0 0 0 5px #aa2b0500}}.availability-text{color:#d64930;white-space:nowrap;font-size:.78rem;font-weight:600}.contact-social-list{flex-direction:column;gap:1.1rem;margin-top:2rem;display:flex}.social-item{color:wheat;align-items:center;gap:.9rem;width:fit-content;padding-left:3rem;font-size:.92rem;font-weight:500;text-decoration:none;transition:all .25s;display:flex}.social-item:hover{color:#000b11;transform:translate(6px)}.social-icon{color:#9a9fb8;background:#242323;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:background .2s,transform .25s;display:flex}.social-item:hover .social-icon{background:#00000040;transform:rotate(-8deg)scale(1.1)}.social-icon svg{width:18px;height:18px}.contact-form-card{background:#efececf7;border:1.5px solid #5b6af51a;border-radius:20px;padding:2.5rem;animation:.8s cubic-bezier(.16,1,.3,1) .3s both slideUpCard;box-shadow:0 2px 14px #0000000f,0 1px 3px #0000000a}@keyframes slideUpCard{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.form-group{margin-bottom:1.25rem}.form-label{letter-spacing:.1em;text-transform:uppercase;color:#3c4053;margin-bottom:.6rem;font-size:.75rem;font-weight:700;display:block}.contact-input{color:#1a1c2e;resize:vertical;background:#fafafa;border:1.5px solid #5b6af51a;border-radius:10px;outline:none;width:100%;padding:.9rem 1.1rem;font-family:Outfit,sans-serif;font-size:.95rem;transition:border-color .2s,box-shadow .2s,background .2s}.contact-input::placeholder{color:#9a9fb8}.contact-input:focus{background:#fff;border-color:#5b6af566;box-shadow:0 0 0 4px #5b6af514}.contact-btn{color:#fff;letter-spacing:.05em;cursor:pointer;background:#5b6af5;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:.5rem;padding:.95rem;font-family:Outfit,sans-serif;font-size:.9rem;font-weight:700;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden}.contact-btn:before{content:"";opacity:0;background:linear-gradient(135deg,#5b6af5 0%,#7c3aed 100%);transition:opacity .3s;position:absolute;inset:0}.contact-btn:hover:before{opacity:1}.contact-btn:hover{transform:translateY(-2px);box-shadow:0 12px 32px #5b6af559}.contact-btn span,.contact-btn svg{z-index:1;position:relative}.contact-btn svg{transition:transform .3s cubic-bezier(.16,1,.3,1)}.contact-btn:hover svg{transform:translate(4px)rotate(-15deg)}@media (width<=1024px){.contact{padding:6rem 3rem}.contact-layout{gap:3.5rem}}@media (width<=768px){.contact{padding:5rem 1.5rem}.contact-layout{grid-template-columns:1fr;gap:3rem}}@media (width<=480px){.contact{padding:4rem 1rem}.contact-form-card{padding:1.5rem}}.footer{background-color:#282727;border-top:1px solid #5b6af51a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;padding:2.5rem 6rem;display:flex}.footer-brand{color:#a75ae6;font-family:Playfair Display,serif;font-size:1.1rem;font-style:normal}.footer-copy{color:#dacfcf;letter-spacing:.04em;font-size:.82rem}.footer-icons{align-items:center;gap:1rem;display:flex}.footer-icon-link{color:#bebab1;background:#e7e7ed14;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;text-decoration:none;transition:all .2s;display:flex}.footer-icon-link:hover{color:#fff;background:#b8b9c726;transform:translateY(-2px)}.footer-icon-link svg{width:18px;height:18px}@media (width<=1024px){.footer{padding:2.5rem 3rem}}@media (width<=768px){.footer{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:2rem 1.5rem}}@media (width<=480px){.footer{padding:1.75rem 1rem}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:#1a1c2e;background:linear-gradient(135deg,#fafafa 0%,#f0f1ff 55%,#eaeeff 100%);font-family:Outfit,sans-serif;line-height:1.6;overflow-x:hidden}::selection{color:#fff;background:#5b6af5}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:#fafafa}::-webkit-scrollbar-thumb{background:#5b6af5;border-radius:2px}.reveal{opacity:0;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transform:translateY(40px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transform:translate(-40px)}.reveal-left.visible{opacity:1;transform:translate(0)}.reveal-right{opacity:0;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transform:translate(40px)}.reveal-right.visible{opacity:1;transform:translate(0)}.delay-1{transition-delay:80ms}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}.delay-4{transition-delay:.32s}.delay-5{transition-delay:.4s}
