@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;800&display=swap";@import"https://fonts.googleapis.com/css2?family=Anton&display=swap";:root{--card: #ffffff;--muted: #7b6b86;--accent: #ffb3e6;--accent-2: #c7b3ff;--text: #331a3a;--initial-duration: 1.5s;--stroke-duration: 3s;--divider-duration: .6s;--role-duration: .35s;--header-duration: .36s;--header-delay-offset: .12s;--divider-width: clamp(320px, 42rem, 920px);--header-offset: 86px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}.no-scroll,.no-scroll body,.no-scroll html{overflow:hidden!important;height:100%!important}html{scroll-behavior:smooth;scroll-padding-top:var(--header-offset)}section[id],.section,.landing,.subtitle{scroll-margin-top:calc(var(--header-offset))}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;color:var(--text);-webkit-font-smoothing:antialiased}.site-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;background:linear-gradient(180deg,#ffeaf3,#ffdff4)}.container{max-width:1100px;margin:0 auto;padding:0 20px}.site-header{position:fixed;left:0;right:0;top:0;z-index:60;padding:18px 0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 6px 24px #32143c0f;border-bottom:1px solid rgba(200,170,230,.06)}.site-header .container{display:flex;align-items:center;justify-content:space-between}.logo,.sectionHeader{font-weight:500;letter-spacing:.6px;font-family:"Sequel 100 Wide 95",Anton,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:clamp(18px,4.2vw,28px)}.nav{display:flex;align-items:center;flex-wrap:wrap}.nav a{color:var(--muted);margin-left:18px;text-decoration:none;font-family:"Sequel 100 Wide 95",system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;font-weight:400;font-size:clamp(13px,2.9vw,16px);display:inline-block;padding:6px 8px;border-radius:8px}.landing{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.landing-inner{position:relative;z-index:40;text-align:center;padding:120px 20px}.signature-wrap{display:flex;flex-direction:column;align-items:center}.signature{width:min(100%,1200px);height:auto;overflow:visible}.text{font-family:"Sequel 100 Wide 95",Anton,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:clamp(36px,60vw,200px);letter-spacing:0}.fill{fill:var(--text);fill-opacity:0;animation:fillFade var(--role-duration) ease forwards;animation-delay:calc(var(--initial-duration) - 1s)}.stroke-draw{fill:none;stroke:var(--text);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:14000;stroke-dashoffset:14000}.stroke-draw{animation:draw var(--stroke-duration) ease-in-out forwards}@keyframes fillFade{0%{fill-opacity:0}to{fill-opacity:1}}@keyframes draw{to{stroke-dashoffset:0}}.subtitle{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:1200px}.divider{width:var(--divider-width);height:2px;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:8px;transform-origin:center;transform:scaleX(0);will-change:transform;animation:stretch var(--divider-duration) ease forwards;animation-delay:var(--initial-duration);margin-top:-70px}.role{font-family:Sequel100Black-45;font-size:clamp(12px,3.2vw,28px);color:#331a3a;letter-spacing:.6px;opacity:0;transform:translateY(6px);will-change:opacity,transform;animation:roleFade var(--role-duration) ease forwards;animation-delay:calc(var(--initial-duration) + var(--divider-duration) + .06s)}.title{font-size:clamp(32px,6vw,64px);line-height:1.02;margin:0}.lead{color:var(--muted);margin-top:14px;font-size:18px}.cta{margin-top:26px;padding:12px 22px;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:999px;color:var(--text);border:none;cursor:pointer}.parallax-layer{position:absolute;left:50%;transform:translate(-50%);will-change:transform;pointer-events:none}.layer-1{top:-10vh;width:1400px;height:600px;opacity:.16}.layer-2{top:10vh;width:1000px;height:400px;opacity:.18}.layer-3{bottom:-10vh;width:900px;height:360px;opacity:.1}.section{padding:25px 0}.section{opacity:.9;transform:translateY(8px);transition:opacity .34s cubic-bezier(.2,.9,.2,1),transform .34s cubic-bezier(.2,.9,.2,1)}.section.visible{opacity:1}#experience,#skills{opacity:1!important}#home{opacity:1}#home .landing-inner{position:relative;z-index:60;opacity:1}.section h2{font-size:28px;margin-bottom:18px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.card{background:linear-gradient(180deg,#ffffffb8,#ffffffe6);padding:18px;border-radius:12px;box-shadow:0 10px 30px #50325a0a;border:1px solid rgba(200,180,230,.22)}.card h3{margin:0 0 8px}.job-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.job-details{flex:1}.job-details h3{margin:0 0 4px}.job-details .muted{margin:0}.company-logo{width:32px;height:32px;object-fit:contain;border-radius:6px;flex-shrink:0;margin-top:2px}@media (max-width: 700px){.job-header{gap:10px}.company-logo{width:28px;height:28px}}.card p{color:var(--muted);margin:0}.card .tags{margin-top:12px}.tag{display:inline-block;background:#ffffff08;padding:6px 10px;border-radius:999px;font-size:12px;margin-right:8px}.skills-category{margin-bottom:40px}.category-title{font-family:Sequel100Black-45;font-size:22px;font-weight:600;margin:0 0 20px;color:var(--text);text-transform:capitalize}.skill-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:20px;min-height:120px;justify-content:center}.skill-icon{width:48px;height:48px;margin-bottom:12px;object-fit:contain}.skill-card h4{margin:0;font-size:16px;font-weight:650;color:var(--text)}.about-content{background:linear-gradient(180deg,#ffffffb8,#ffffffe6);padding:18px;border-radius:16px;box-shadow:0 10px 30px #50325a0a;border:1px solid rgba(200,180,230,.22);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin-top:20px;display:flex;align-items:center;gap:30px}.about-text{flex:1}.about-image{flex-shrink:0;display:flex;align-items:center;justify-content:center}.about-image img{width:200px;height:280px;border-radius:12px;object-fit:cover;box-shadow:0 8px 20px #50325a26}.contact-list a,.contact-list i{color:var(--text)}@media (max-width:700px){.contact-list{flex-direction:row;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center}.contact-list i{font-size:18px}.about-content{flex-direction:column;gap:20px;text-align:center}.about-image img{width:150px;height:200px}.skills-category{margin-bottom:30px}.category-title{font-size:22px;font-size:20px;margin-bottom:16px}.grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.skill-card{padding:16px;min-height:100px}.skill-icon{width:40px;height:40px;margin-bottom:8px}.skill-card h4{font-size:14px;font-weight:650}}.contact-list{display:flex;gap:28px;align-items:center;padding:0;margin:12px 0 0;list-style:none}.contact-item{list-style:none}.contact-link{display:inline-flex;align-items:center;gap:12px;color:var(--text);text-decoration:none;transform-origin:center}.icon-wrapper{width:68px;height:68px;display:inline-flex;align-items:center;justify-content:center;border-radius:16px;background:linear-gradient(180deg,#ffffff05,#ffffff03);box-shadow:0 8px 22px #32143c0f;transition:transform .36s cubic-bezier(.2,.9,.2,1),box-shadow .2s ease}.icon-wrapper i{font-size:28px}.contact-list.in-view .contact-item:nth-child(1) .icon-wrapper{transform:translateY(0) scale(1);transition-delay:0s}.contact-list.in-view .contact-item:nth-child(2) .icon-wrapper{transform:translateY(0) scale(1);transition-delay:.08s}.contact-list.in-view .contact-item:nth-child(3) .icon-wrapper{transform:translateY(0) scale(1);transition-delay:.16s}.contact-item .icon-wrapper{transform:translateY(12px) scale(.96);opacity:.01}.contact-list.in-view .contact-item .icon-wrapper{opacity:1}.contact-link:hover .icon-wrapper,.contact-link:focus .icon-wrapper{transform:translateY(-6px) scale(1.04);box-shadow:0 16px 36px #32143c1f}@media (max-width:700px){.icon-wrapper{width:56px;height:56px;border-radius:12px}.contact-list{gap:16px}}.site-footer{padding:40px 0;color:var(--muted);text-align:center}.credits-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#140a1e80;display:flex;align-items:center;justify-content:center;z-index:120}.credits-box{background:var(--card);color:var(--text);padding:22px;border-radius:12px;max-width:600px;width:calc(100% - 48px);box-shadow:0 30px 80px #1e0a322e;position:relative}.credits-close{position:absolute;right:12px;top:8px;background:transparent;border:none;font-size:22px;cursor:pointer}.credits-btn{margin-left:8px;padding:6px 10px;border-radius:8px;background:transparent;border:1px solid rgba(80,40,120,.08);cursor:pointer}.music-player{position:fixed;right:20px;bottom:20px;z-index:140;opacity:0;transition:opacity .8s ease-in}.music-player.fade-in{opacity:1}.music-ui{display:flex;align-items:center;gap:8px}.music-mute{background:transparent;border:none;cursor:pointer;font-size:14px;color:#1f2937;padding:6px 10px;border-radius:6px;flex-shrink:0}.music-mute i{font-size:18px;color:#1f2937}.music-play{display:none}.music-play i{font-size:16px}.music-mute:disabled{opacity:.5;cursor:not-allowed}.volume-control{display:flex;align-items:center;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;overflow:hidden;transition:all .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 20px #1e0a3226;border:1px solid rgba(200,180,230,.2);padding:4px 0}.volume-slider-container{width:0;opacity:0;transition:all .3s cubic-bezier(.34,1.56,.64,1);overflow:hidden;display:flex;align-items:center;padding:0;height:20px}.volume-control:hover .volume-slider-container{width:90px;opacity:1;padding:0 12px 0 8px}.volume-slider{width:100%;height:4px;border-radius:2px;background:linear-gradient(90deg,#e5e7eb,#e5e7eb);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;flex-shrink:0}.volume-slider::-webkit-slider-track{width:100%;height:4px;border-radius:2px;background:linear-gradient(90deg,#e5e7eb,#e5e7eb)}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#a855f7,#c084fc);cursor:pointer;border:2px solid white;box-shadow:0 2px 6px #8b5cf64d;transition:all .2s ease}.volume-slider::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 3px 8px #8b5cf680}.volume-slider::-moz-range-track{width:100%;height:4px;border-radius:2px;background:#e5e7eb;border:none}.volume-slider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#a855f7,#c084fc);cursor:pointer;border:2px solid white;box-shadow:0 2px 6px #8b5cf64d;transition:all .2s ease}.volume-slider{background:linear-gradient(90deg,#8b5cf6 0%,#a855f7 var(--volume-percent, 25%),#e5e7eb var(--volume-percent, 25%),#e5e7eb 100%)}@media (max-width:700px){.music-player{right:12px;bottom:12px}.volume-slider-container{display:none!important}.music-mute{padding:8px 10px;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0;touch-action:manipulation}.music-mute i{font-size:20px;pointer-events:none}.volume-control{min-width:auto;width:auto;padding:4px}}@media (max-width:700px){.site-header{padding:12px 0}.landing-inner{padding-top:80px;padding-bottom:80px}:root{--header-offset: 120px}.site-header .container{flex-direction:column;align-items:center;gap:8px 12px}.logo{margin:0}.nav{justify-content:center;gap:8px 12px;width:100%}.section{opacity:1!important;transform:translateY(0)!important}.section.visible{opacity:1!important}.nav a{margin-left:0;padding:8px 10px;font-size:clamp(14px,3.6vw,16px)}.text{font-size:clamp(28px,80vw,150px);letter-spacing:0}.stroke-draw{stroke-width:1.2}.divider{height:1.5px;margin-top:-20px}.subtitle{gap:10px}.role{font-size:clamp(16px,4.2vw,22px);letter-spacing:.4px}}.site-header{opacity:0;transform:translateY(-6px);transition:opacity .24s ease,transform .24s ease;pointer-events:auto}.site-header.visible,.site-header[aria-hidden=false]{opacity:1;transform:none;pointer-events:auto}.site-header{animation:headerFade var(--header-duration) ease forwards;animation-delay:calc(var(--initial-duration) + var(--divider-duration) + var(--role-duration) + var(--header-delay-offset))}@keyframes stretch{to{transform:scaleX(1)}}@keyframes roleFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes headerFade{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
