html,body{width:100%;overflow-x:hidden}body{font-family:Inter,system-ui,-apple-system,sans-serif;background-color:#f8f9fa;color:#212529;line-height:1.5;min-width:320px}a{text-decoration:none}img{max-width:100%;display:block}button{font-family:inherit;cursor:pointer}h1,h2,h3,h4{line-height:1.2}html,body{margin:0;padding:0}main{padding-top:72px}#root{width:100%;padding:0;margin:0}main{padding-top:72px;width:100%;max-width:1400px;margin:0 auto}@media(max-width:900px){main{padding-left:0;padding-right:0}}*{padding:0;margin:0;box-sizing:border-box}.header-wrapper{background-color:#f8f9fa;box-shadow:0 2px 10px #0000000d;position:fixed;top:0;left:0;width:100%;z-index:9999}.header-container{display:flex;justify-content:space-between;align-items:center;padding:0 5%;height:72px;max-width:1400px;margin:0 auto}.logo a{text-decoration:none}.logo h2{font-size:1.4rem;font-weight:800;color:#212529}.logo span{color:#d63384}.nav ul{display:flex;list-style:none;gap:8px;align-items:center}.nav ul li a{text-decoration:none;color:#495057;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:1px;padding:6px 10px;border-radius:6px;transition:color .2s}.nav ul li a:hover,.nav ul li a.active{color:#d63384}.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;z-index:1100}.hamburger span{display:block;width:24px;height:2px;background:#212529;border-radius:2px;transition:transform .3s,opacity .3s}.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media(max-width:900px){.header-container{padding:0 20px}.hamburger{display:flex}.nav{position:fixed;top:72px;left:0;width:100%;background:#f8f9fa;border-top:1px solid #e9ecef;box-shadow:0 8px 24px #00000014;transform:translateY(-110%);transition:transform .3s ease,visibility .3s ease;z-index:999;overflow:hidden;visibility:hidden}.nav.open{transform:translateY(0);visibility:visible}.nav ul{flex-direction:column;align-items:stretch;padding:20px 8%;gap:4px}.nav ul li a{display:block;padding:12px 0;font-size:.9rem;border-bottom:1px solid #f0f0f0;color:#495057}.btn-pink a{color:#d63384!important;background:none!important;border:none!important;text-align:center;display:block;padding:12px 0!important;border-radius:0!important;border-bottom:1px solid #f0f0f0!important}.btn-pink a:hover{color:#b5206a!important;background:none!important;transform:none!important}}.footer{background:#fff;border-top:1px solid #f0f0f0;padding:20px 8%}.footer-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.footer-copy{font-size:.82rem;color:#adb5bd;margin:0}.footer-links{display:flex;gap:24px;flex-wrap:wrap}.footer-links a{font-size:.82rem;color:#adb5bd;text-decoration:none;font-weight:500;transition:color .2s}.footer-links a:hover{color:#d63384}@media(max-width:480px){.footer-inner{flex-direction:column;align-items:center;text-align:center}}.home-container{padding:0 8%;background-color:#f8f9fa;min-height:85vh;display:flex;align-items:center}.hero{display:flex;justify-content:space-between;align-items:center;gap:60px;width:100%;padding:60px 0}.hero-image-container{flex:0 0 auto;display:flex;justify-content:center}.image-bg-card{background:#fff;padding:12px;border-radius:20px;box-shadow:0 8px 32px #00000014}.profile-photo{width:clamp(220px,28vw,320px);height:clamp(280px,36vw,410px);object-fit:cover;border-radius:14px;display:block}.hero-text{flex:1;min-width:0}.welcome-msg{font-size:.75rem;letter-spacing:2.5px;text-transform:uppercase;color:#d63384;margin-bottom:12px;font-weight:600}.hero-text h1{font-size:clamp(2rem,5vw,3.5rem);color:#212529;margin-bottom:10px;line-height:1.15}.name-highlight{color:#d63384}.role-text{font-size:clamp(1.2rem,2.8vw,1.9rem);color:#343a40;font-weight:500;margin-bottom:18px;line-height:1.3}.role-accent{color:#d63384;font-style:italic}.description{color:#6c757d;line-height:1.7;font-size:clamp(.9rem,1.5vw,1rem);max-width:480px;margin-bottom:24px}.tech-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.pill{background:#fff0f6;color:#d63384;border:1px solid #f9c8de;padding:4px 14px;border-radius:20px;font-size:.78rem;font-weight:500}.hero-buttons{display:flex;flex-wrap:wrap;gap:12px}.btn-primary{background:#d63384;color:#fff;padding:12px 28px;border-radius:8px;font-weight:600;font-size:.95rem;text-decoration:none;transition:background .2s,transform .15s;display:inline-block}.btn-primary:hover{background:#b5206a;transform:translateY(-2px)}.btn-secondary{background:#fff;color:#212529;border:1px solid #dee2e6;padding:12px 28px;border-radius:8px;font-weight:600;font-size:.95rem;text-decoration:none;transition:border-color .2s,transform .15s;display:inline-block}.btn-secondary:hover{border-color:#d63384;color:#d63384;transform:translateY(-2px)}@media(max-width:900px){.home-container{padding:0 6%}.hero{flex-direction:column;text-align:center;gap:36px;padding:48px 0}.description{max-width:100%;margin-left:auto;margin-right:auto}.tech-pills,.hero-buttons{justify-content:center}}@media(max-width:480px){.home-container{padding:0 5%}.hero{padding:36px 0;gap:28px}.hero-buttons{flex-direction:column;align-items:center}.btn-primary,.btn-secondary{width:100%;text-align:center}.image-bg-card{padding:8px}}.about-page{padding:80px 8%;background-color:#fff;min-height:90vh;display:flex;align-items:center}.about-container{display:flex;gap:70px;align-items:center;max-width:1200px;margin:0 auto;width:100%}.about-image{flex:1}.image-wrapper{background:#f8f9fa;border-radius:20px;padding:12px;box-shadow:0 8px 32px #0000000f}.image-wrapper img{width:100%;border-radius:14px;display:block;filter:grayscale(20%);transition:filter .3s}.image-wrapper img:hover{filter:grayscale(0%)}.about-text{flex:1.2;min-width:0}.about-text .subtitle{color:#d63384;font-weight:700;letter-spacing:2.5px;font-size:.75rem;margin-bottom:12px;text-transform:uppercase}.about-text h1{font-size:clamp(1.6rem,3vw,2.6rem);color:#212529;margin-bottom:24px;line-height:1.25}.description p{color:#6c757d;line-height:1.8;margin-bottom:14px;font-size:clamp(.9rem,1.4vw,1rem);text-align:justify}.description strong{color:#343a40}.personal-info{display:flex;flex-wrap:wrap;gap:16px;margin-top:32px}.info-box{background:#f8f9fa;padding:14px 22px;border-radius:10px;border-left:4px solid #D63384;flex:1;min-width:120px}.info-box span{font-size:.72rem;color:#6c757d;text-transform:uppercase;font-weight:700;letter-spacing:1px}.info-box p{color:#212529;font-weight:700;margin-top:6px;font-size:.95rem}@media(max-width:992px){.about-page{padding:60px 6%}.about-container{flex-direction:column;text-align:center;gap:40px}.about-image{max-width:380px;width:100%;margin:0 auto}.personal-info{justify-content:center}.info-box{text-align:left}}@media(max-width:480px){.about-page{padding:48px 5%}.personal-info{flex-direction:column}.info-box{min-width:unset}}.skills-container{padding:100px 8% 80px;background-color:#f8f9fa;min-height:100vh}.skills-header{text-align:center;margin-bottom:64px}.skills-header .subtitle{color:#d63384;font-size:.75rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;margin-bottom:12px}.skills-header h2{font-size:clamp(2rem,5vw,3rem);color:#212529;margin-bottom:14px}.skills-intro{color:#6c757d;font-size:clamp(.9rem,1.4vw,1rem)}.skills-list{display:flex;flex-direction:column;gap:0;max-width:1100px;margin:0 auto}.skill-row{display:flex;align-items:flex-start;gap:40px;padding:36px 0;border-bottom:1px solid #e9ecef;transition:background .2s}.skill-row:first-child{border-top:1px solid #e9ecef}.skill-row.featured .skill-number,.skill-row.featured h3{color:#d63384}.skill-row-left{display:flex;align-items:flex-start;gap:24px;flex:0 0 380px;min-width:0}.skill-number{font-size:2rem;font-weight:800;color:#e9ecef;line-height:1;flex-shrink:0;letter-spacing:-1px}.skill-meta{flex:1;min-width:0}.skill-label{font-size:.68rem;font-weight:700;color:#adb5bd;text-transform:uppercase;letter-spacing:1.5px;display:block;margin-bottom:6px}.skill-meta h3{font-size:clamp(1rem,2vw,1.2rem);color:#212529;font-weight:700;margin-bottom:8px;line-height:1.2}.skill-desc{color:#6c757d;font-size:clamp(.82rem,1.2vw,.9rem);line-height:1.6;margin:0}.skill-tags{flex:1;display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start;padding-top:4px}.skill-pill{background:#fff;color:#495057;border:1px solid #e9ecef;padding:5px 14px;border-radius:20px;font-size:.75rem;font-weight:600;transition:border-color .2s,color .2s}.skill-row.featured .skill-pill{background:#fff0f6;border-color:#f9c8de;color:#c2185b}.skill-pill:hover{border-color:#d63384;color:#d63384}@media(max-width:900px){.skills-container{padding:80px 6% 60px}.skill-row{flex-direction:column;gap:20px;padding:28px 0}.skill-row-left{flex:unset;width:100%}}@media(max-width:480px){.skills-container{padding:72px 5% 48px}.skill-number{font-size:1.6rem}}.projects-page{padding:100px 8% 80px;background-color:#f8f9fa;min-height:100vh}.projects-header{text-align:center;margin-bottom:80px}.projects-header .subtitle{color:#d63384;font-size:.75rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;margin-bottom:12px}.projects-header h1{font-size:clamp(2rem,5vw,3rem);color:#1a1a1a;margin-bottom:14px}.header-desc{color:#6c757d;font-size:clamp(.9rem,1.5vw,1.05rem);max-width:480px;margin:0 auto;line-height:1.6}.project-area{margin-bottom:72px}.area-label{display:flex;align-items:flex-start;gap:20px;margin-bottom:32px}.area-number{font-size:2.8rem;font-weight:800;color:#f0d6e8;line-height:1;flex-shrink:0;letter-spacing:-1px}.area-title{font-size:clamp(1.2rem,2.5vw,1.5rem);color:#212529;font-weight:700;margin-bottom:4px;text-transform:uppercase;letter-spacing:1px}.area-description{color:#6c757d;font-size:.9rem;line-height:1.5}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.project-card{background:#fff;border-radius:16px;padding:32px;border:1px solid #f0f0f0;box-shadow:0 2px 12px #0000000a;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;display:flex;flex-direction:column;gap:14px}.project-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px #d6338417;border-color:#f9c8de}.project-card.featured{border-color:#f9c8de;background:linear-gradient(145deg,#fff,#fff8fb)}.card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.project-category{font-size:.7rem;font-weight:800;color:#d63384;text-transform:uppercase;letter-spacing:1.5px}.featured-badge{font-size:.65rem;font-weight:700;color:#d63384;background:#fff0f6;border:1px solid #f9c8de;padding:3px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:1px}.project-card h3{font-size:clamp(1.1rem,2vw,1.3rem);color:#1a1a1a;font-weight:700;line-height:1.3;margin:0}.project-description{color:#6c757d;font-size:clamp(.85rem,1.3vw,.95rem);line-height:1.7;margin:0;flex:1}.project-tags{display:flex;flex-wrap:wrap;gap:8px}.tag{background:#f8f9fa;color:#495057;padding:4px 12px;border-radius:20px;font-size:.7rem;font-weight:600;border:1px solid #e9ecef}.tag-progress{background:#fff8e1;color:#b7791f;border-color:#fde68a}.project-actions{margin-top:8px;padding-top:16px;border-top:1px solid #f5f5f5}.view-project{display:inline-flex;align-items:center;gap:8px;color:#212529;font-size:.88rem;font-weight:600;text-decoration:none;transition:color .2s}.view-project:hover{color:#d63384}.view-project .arrow{transition:transform .2s}.view-project:hover .arrow{transform:translate(4px)}@media(max-width:900px){.projects-page{padding:80px 6% 60px}.projects-header,.project-area{margin-bottom:56px}}@media(max-width:480px){.projects-page{padding:72px 5% 48px}.projects-grid{grid-template-columns:1fr}.project-card{padding:24px 20px}.area-number{font-size:2rem}}.contact-page{padding:80px 8%;display:flex;justify-content:center;align-items:center;min-height:80vh;background-color:#f8f9fa}.contact-container{display:flex;gap:60px;width:100%;max-width:1100px;background:#fff;padding:50px;border-radius:20px;box-shadow:0 8px 32px #0000000f}.contact-info{flex:1;min-width:0}.contact-info .subtitle{color:#d63384;font-size:.75rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;margin-bottom:12px}.contact-info h2{font-size:clamp(1.8rem,3.5vw,2.6rem);color:#212529;margin-bottom:14px;line-height:1.2}.contact-intro{color:#6c757d;line-height:1.7;font-size:clamp(.9rem,1.4vw,1rem);margin-bottom:8px}.info-items{margin-top:32px;display:flex;flex-direction:column;gap:24px}.info-item{display:flex;flex-direction:column;gap:8px}.info-label{font-size:.72rem;font-weight:700;color:#d63384;text-transform:uppercase;letter-spacing:1.5px}.info-value{color:#343a40;font-size:.95rem;text-decoration:none;font-weight:500;transition:color .2s}.info-value:hover{color:#d63384}.social-links{display:flex;gap:16px;flex-wrap:wrap}.social-links a{color:#343a40;text-decoration:none;font-weight:600;font-size:.95rem;padding:6px 16px;border:1px solid #dee2e6;border-radius:20px;transition:border-color .2s,color .2s,background .2s}.social-links a:hover{border-color:#d63384;color:#d63384;background:#fff0f6}.contact-form{flex:1;min-width:0}.input-group{margin-bottom:20px;display:flex;flex-direction:column;gap:8px}.input-group label{font-weight:600;font-size:.88rem;color:#495057}.input-group input,.input-group textarea{padding:12px 14px;border:1px solid #dee2e6;border-radius:10px;font-family:inherit;font-size:.95rem;color:#212529;background:#fafafa;transition:border-color .25s,background .25s;resize:vertical}.input-group input:focus,.input-group textarea:focus{outline:none;border-color:#d63384;background:#fff}.btn-send{background-color:#d63384;color:#fff;padding:14px 30px;border:none;border-radius:10px;font-weight:700;font-size:.95rem;cursor:pointer;width:100%;margin-top:4px;transition:background .2s,transform .15s}.btn-send:hover{background-color:#b5206a;transform:translateY(-2px)}@media(max-width:900px){.contact-page{padding:60px 6%}.contact-container{flex-direction:column;gap:40px;padding:36px}}@media(max-width:480px){.contact-page{padding:48px 5%}.contact-container{padding:24px 20px}.social-links{gap:10px}}.blog-container{max-width:1000px;margin:0 auto;padding:100px 5% 80px;font-family:Inter,-apple-system,sans-serif}.blog-header .subtitle{color:#d63384;font-size:.75rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;margin-bottom:10px}.blog-header h1{font-size:clamp(2rem,5vw,3rem);color:#1a1a1a}.highlight{color:#d63384}.articles-list{display:flex;flex-direction:column;gap:20px;margin-top:50px}.article-item{display:flex;justify-content:space-between;align-items:center;padding:36px 40px;background:#fff;border-radius:16px;border:1px solid #f0f0f0;cursor:pointer;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;box-shadow:0 2px 8px #00000008}.article-item:hover{transform:translateY(-4px);border-color:#d63384;box-shadow:0 16px 36px #d6338414}.article-info{flex:1;padding-right:32px}.article-category{font-size:.72rem;font-weight:800;color:#d63384;text-transform:uppercase;letter-spacing:1.5px}.article-info h3{margin:12px 0 10px;font-size:clamp(1.2rem,2.5vw,1.6rem);color:#1a1a1a;line-height:1.3}.article-info p{color:#666;line-height:1.6;font-size:clamp(.88rem,1.4vw,1rem);margin:0}.article-arrow{font-size:1.4rem;color:#d63384;flex-shrink:0;transition:transform .2s}.article-item:hover .article-arrow{transform:translate(4px)}.article-view{max-width:720px;padding:100px 5% 80px}.back-btn{background:#f8f9fa;border:none;color:#444;padding:10px 22px;border-radius:50px;font-weight:600;font-size:.9rem;cursor:pointer;margin-bottom:48px;transition:background .2s,color .2s;display:inline-block}.back-btn:hover{background:#d63384;color:#fff}.full-post header .article-category{display:block;margin-bottom:12px}.full-post h1{font-size:clamp(1.8rem,4vw,2.8rem);color:#1a1a1a;line-height:1.15;margin-bottom:16px}.meta{color:#888;font-size:.88rem;display:block;border-bottom:1px solid #eee;padding-bottom:20px;margin-bottom:40px}.article-body-wrapper{font-size:clamp(.95rem,1.5vw,1.1rem);line-height:1.85;color:#333}.article-body-wrapper p{margin-bottom:22px}.article-body-wrapper h3{margin:40px 0 16px;font-size:clamp(1.2rem,2.5vw,1.6rem);color:#1a1a1a}.article-body-wrapper ul{margin:20px 0;padding-left:22px}.article-body-wrapper li{margin-bottom:12px}.content-section{background:#fafafa;border-left:3px solid #D63384;padding:20px 24px;border-radius:0 10px 10px 0;margin:16px 0 24px}.content-section p{margin-bottom:10px}.content-section p:last-child{margin-bottom:0}.apps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-top:16px}.app-item{background:#fff0f6;border:1px solid #f9c8de;border-radius:10px;padding:16px 18px;font-size:.92rem;line-height:1.5;color:#333}@media(max-width:600px){.article-item{padding:24px 20px;flex-direction:column;align-items:flex-start;gap:16px}.article-info{padding-right:0}.article-arrow{align-self:flex-end}}.resume-page{padding:100px 5% 60px;background-color:#f4f4f4;display:flex;flex-direction:column;align-items:center;text-align:justify}.resume-paper{background:#fff;width:100%;max-width:850px;padding:60px;box-shadow:0 4px 24px #00000014;color:#333;line-height:1.6;border-radius:4px}.cv-header{text-align:center;border-bottom:2px solid #D63384;padding-bottom:24px;margin-bottom:36px}.cv-header h1{font-size:clamp(1.8rem,4vw,2.4rem);color:#212529;text-transform:uppercase;letter-spacing:2px;margin-bottom:8px}.cv-subtitle{color:#d63384;font-weight:600;font-size:clamp(.85rem,1.5vw,1rem);margin-bottom:12px}.cv-contacts{font-size:.88rem;color:#666;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px}.cv-contacts a{color:#666;text-decoration:none;transition:color .2s}.cv-contacts a:hover{color:#d63384}.dot{color:#d63384;font-weight:700}.cv-section{margin-bottom:32px}.cv-section-title{font-size:.8rem;color:#d63384;text-transform:uppercase;letter-spacing:2px;font-weight:800;border-bottom:1px solid #f0f0f0;margin-bottom:18px;padding-bottom:8px}.cv-item{margin-bottom:18px}.cv-item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;font-size:.98rem}.cv-item-header strong{color:#1a1a1a;flex:1}.cv-date{font-size:.82rem;color:#888;white-space:nowrap;flex-shrink:0}.cv-detail{font-size:.88rem;color:#6c757d;margin-top:3px}.cv-item-list{margin-top:10px;padding-left:20px;color:#555;font-size:.92rem;list-style:none}.cv-item-list li{margin-bottom:6px;position:relative;padding-left:4px}.cv-item-list li:before{content:"→";color:#d63384;position:absolute;left:-18px;font-weight:700}.cv-skills-container{display:flex;gap:48px}.cv-skills-column{flex:1}.cv-skills-column strong{font-size:.88rem;color:#1a1a1a;display:block;margin-bottom:10px}.cv-skills-column ul{list-style:none;padding:0;margin:0}.cv-skills-column li{margin-bottom:8px;font-size:.92rem;color:#444;padding-left:14px;position:relative}.cv-skills-column li:before{content:"·";color:#d63384;font-weight:700;font-size:1.2rem;position:absolute;left:0;top:-2px}.cv-languages{list-style:none;padding:0;display:flex;gap:32px;flex-wrap:wrap}.cv-languages li{font-size:.92rem;color:#444}.cv-footer-action{margin-top:28px}.btn-download-cv{background:#d63384;color:#fff;padding:13px 32px;text-decoration:none;border-radius:8px;font-weight:700;font-size:.92rem;transition:background .2s,transform .15s;display:inline-block}.btn-download-cv:hover{background:#b5206a;transform:translateY(-2px)}@media(max-width:768px){.resume-paper{padding:36px 28px}.cv-skills-container{flex-direction:column;gap:24px}.cv-item-header{flex-direction:column;gap:4px}.cv-languages{flex-direction:column;gap:8px}}@media(max-width:480px){.resume-paper{padding:24px 18px}.cv-contacts{flex-direction:column;gap:4px}.dot{display:none}}
