body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f0f0f0}.parallax{color:#ffe8db;overflow:hidden;position:relative;width:100%}.scroller{display:flex;filter:drop-shadow(0 1px 1px rgba(0,0,0,.1));font-family:sans-serif;font-size:2.25rem;font-weight:700;letter-spacing:-.02em;text-align:center;white-space:nowrap}.scroller span{flex-shrink:0}.custom-scroll-text{flex-shrink:0;margin-right:25px}@media (min-width:768px){.scroller{font-size:5rem;line-height:5rem}}*{box-sizing:border-box;margin:0;padding:0}#root,body,html{height:100%;width:100%}body{background-color:#f7f7f7;color:#333;font-family:Arial,sans-serif}a{color:inherit;text-decoration:none}.app-container{display:flex;min-height:100vh}.header-sidebar{align-items:center;background-color:#eee;border-right:1px solid #cbcbcb;display:flex;flex-direction:column;height:100vh;padding:30px 20px;position:-webkit-sticky;position:sticky;top:0;width:20%}.profile-info{border-bottom:2px solid #b7b89f;margin-bottom:30px;padding-bottom:30px;text-align:center}.avatar{align-items:center;background-color:#777c6d;border-radius:50%;color:#eee;display:flex;font-size:30px;height:100px;justify-content:center;margin:0 auto 10px;width:100px}.main-nav{width:100%}.main-nav ul{border-bottom:2px solid #b7b89f;list-style:none;margin-bottom:30px;padding:0 0 30px}.main-nav li{border-radius:4px;color:#777c6d;cursor:pointer;font-size:20px;font-weight:500;margin-bottom:5px;padding:12px 20px;transition:background-color .2s}.main-nav li.activeLink{background-color:#777c6d;color:#eee;font-weight:700}.main-nav li:hover:not(.activeLink){background-color:#cbcbcb}.social-links{font-size:20px;margin-top:30px}.content-area{background-color:#eee;flex-grow:1;max-width:80%;padding:100px 80px 60px}.main-footer{color:#b7b89f;font-size:12px;margin-top:40px;padding:10px 0;text-align:center;width:100%}@media (max-width:1024px){.content-area{padding:40px 30px}}@media (max-width:700px){.app-container{flex-direction:column;min-height:auto;width:100%}.header-sidebar{border-bottom:1px solid #cbcbcb;border-right:none;flex-grow:0;height:auto;padding:20px;position:relative;width:100%}.profile-info{align-items:center;border-bottom:none;display:flex;flex-direction:column;margin-bottom:15px;padding-bottom:0}.avatar{font-size:14px;height:40px;margin-bottom:10px;width:40px}.profile-name{font-size:18px}.profile-info p{font-size:13px}.main-nav ul{border-bottom:none;display:flex;margin-bottom:15px;overflow-x:auto;padding:0}.main-nav li{flex-shrink:0;margin-right:10px;white-space:nowrap}.content-area{max-width:100%;padding:30px 20px}}.about-section h2,.contact-section h2,.portfolio-section h2,.resume-section h2{font-size:42px;font-weight:700;margin-bottom:5px}.about-section p,.contact-section p,.portfolio-section p,.resume-section p{color:#666;font-size:20px;line-height:1.6;margin-bottom:20px}.services-list{display:flex;gap:20px;margin-bottom:40px;margin-top:20px}.service-card{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 6px #0000000d;flex:1 1;padding:25px;transition:transform .2s}.service-card:hover{transform:translateY(-5px)}.service-card h4{font-size:24px;font-weight:600;margin-bottom:10px}.service-card p{color:#555;font-size:20px}.about-section h3{font-size:24px;font-weight:600;margin-bottom:15px;margin-top:30px}.skills-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);margin-bottom:40px;margin-top:20px}.skill-card{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000000a;min-height:120px;overflow:hidden;padding:20px;position:relative;transition:all .2s ease-in-out}.skill-title-visible{color:#1a1a1a;font-size:20px;font-weight:700;margin:0}.skill-overlay{background-color:#000000e6;color:#fff;display:flex;flex-direction:column;height:100%;justify-content:center;left:0;opacity:0;padding:20px;position:absolute;top:0;transition:opacity .4s ease-in-out,visibility .4s ease-in-out;visibility:hidden;width:100%}.skill-card:hover .skill-overlay{opacity:1;visibility:visible}.skill-card:hover .skill-title-visible{opacity:0;transition:opacity .2s}.skill-overlay .overlay-title{color:#fff;font-size:20px;font-weight:700;margin-bottom:10px}.skill-overlay .overlay-text{color:#e0e0e0;font-size:14px;line-height:1.5}.education-container h3,.experience-container h3,.organization-container h3{font-size:24px;font-weight:600;margin-bottom:25px;margin-top:40px;padding-left:30px;position:relative}.education-container h3:before,.experience-container h3:before{content:"💼";font-size:20px;left:0;position:absolute}.education-container h3:before{content:"🎓"}.education-container .job-description-list{color:#444;list-style-type:disc;margin-bottom:10px;margin-top:10px;padding-left:20px}.education-container .job-description-list li{font-size:15px;line-height:1.5;margin-bottom:8px}.organization-container h3:before{content:"🏢";font-size:20px;left:0;position:absolute}.organization-container .job-description-list{color:#444;list-style-type:disc;margin-bottom:10px;margin-top:10px;padding-left:20px}.organization-container .job-description-list li{font-size:15px;line-height:1.5;margin-bottom:8px}.job-entry .job-description-list{color:#444;list-style-type:disc;margin-bottom:10px;margin-top:10px;padding-left:20px}.job-entry .job-description-list li{font-size:15px;line-height:1.5;margin-bottom:8px}.edu-entry,.job-entry{border-left:3px solid #1a1a1a;margin-bottom:30px;margin-left:10px;padding-left:20px;position:relative}.edu-entry:before,.job-entry:before{background-color:#1a1a1a;border-radius:50%;content:"";height:10px;left:-7px;position:absolute;top:5px;width:10px}.edu-entry h4,.job-entry h4{font-size:20px;font-weight:600;margin-bottom:5px}.company-info,.institution-info{color:#888;font-size:14px;margin-bottom:15px}.project-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(2,1fr);margin-top:30px}@media (max-width:1000px){.project-grid{display:flex;flex-direction:column;gap:20px;overflow-x:auto}.project-grid .project-card{min-width:300px}}.project-card{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 8px #00000014;overflow:hidden}.project-card:before{align-items:center;background-color:#ccc;color:#666;content:"Image Placeholder";display:block;display:flex;font-weight:700;height:200px;justify-content:center;margin-bottom:15px}.project-card h3{font-size:22px;font-weight:600;margin-bottom:10px;padding:0 20px}.project-card p{font-size:15px;padding:0 20px}.tech-tags{padding:10px 20px}.tech-tags span{background-color:#e0e0e0;border-radius:4px;color:#333;display:inline-block;font-size:12px;margin-bottom:5px;margin-right:8px;padding:4px 8px}.project-links{border-top:1px solid #e0e0e0;display:flex;gap:15px;padding:20px}.project-links a{color:#1a1a1a;font-weight:600;transition:color .2s}.project-links a:hover{color:#007bff}.certifications-section h2{wrap-text:wrap;font-size:42px;font-weight:700;margin-bottom:5px}.certifications-section p{color:#666;font-size:20px;line-height:1.6;margin-bottom:20px}.certifications-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(2,1fr);margin-top:30px}@media (max-width:800px){.certifications-grid{grid-template-columns:1fr}}@media (max-width:400px){.certifications-grid{display:flex;flex-direction:column;gap:20px;overflow-x:auto}.certifications-grid .cert-card{wrap-text:wrap;min-width:300px}}.cert-card{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 10px #0000000d;display:flex;gap:20px;padding:25px}.cert-icon-placeholder{align-items:center;background-color:#e6f7ff;border-radius:8px;display:flex;font-size:36px;height:60px;justify-content:center;width:60px}.cert-details{flex-grow:1}.cert-title{color:#1a1a1a;font-size:20px;font-weight:700;margin-bottom:5px}.cert-provider{color:#888;font-size:14px;margin-bottom:10px}.cert-credential{color:#555;font-size:14px;margin-bottom:15px}.cert-credential .label{color:#1a1a1a;font-weight:700;margin-right:5px}.cert-description{color:#444;font-size:15px;line-height:1.5;margin-bottom:15px}.cert-skills-tags{display:flex;flex-wrap:wrap;gap:8px}.skill-tag{background-color:#f0f0f0;border-radius:4px;color:#555;font-size:12px;font-weight:500;padding:4px 10px}.contact-container{grid-gap:40px;display:grid;gap:40px;grid-template-columns:2fr 1fr;margin-top:30px}@media (max-width:500px){.contact-container{display:block}}.contact-form{display:flex;flex-direction:column}.form-group-row{display:flex;gap:20px;margin-bottom:20px}.contact-form input,.contact-form textarea{border:1px solid #ccc;border-radius:4px;font-family:inherit;font-size:16px;margin-bottom:20px;padding:12px;width:100%}.contact-form input[name=email],.contact-form input[name=name]{flex:1 1}.contact-form textarea{resize:vertical}.send-button{align-self:flex-start;background-color:#1a1a1a;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;padding:12px 25px;transition:background-color .3s}.send-button:hover{background-color:#000}.contact-info{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px}.contact-info h3{font-size:20px;font-weight:600;margin-bottom:15px}.contact-info p{align-items:center;color:#444;display:flex;gap:10px;margin-bottom:15px}.lets-work-together{border-top:1px solid #eee;margin-top:30px;padding-top:20px}.lets-work-together p{color:#666;font-size:15px;font-style:italic}.social-links{display:flex;gap:15px;margin-top:15px}.social-links a{color:#555;font-size:30px;transition:color .2s}.social-links a:hover{color:#007bff}.articles-page{padding-top:20px}.page-header h1{color:#333;font-size:42px;font-weight:700;margin-bottom:5px}.page-header p{color:#666;font-size:1.2rem;margin-bottom:40px}.article-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr}.article-card{background-color:#fff;border:1px solid #cbcbcb;border-radius:8px;box-shadow:0 2px 8px #0000000d;padding:25px 30px;transition:transform .3s ease,box-shadow .3s ease}.article-card:hover{box-shadow:0 8px 15px #0000001a;transform:translateY(-5px)}.article-title{color:#777c6d;font-size:24px;font-weight:700;margin-bottom:10px;transition:color .2s}.article-title:hover{color:#b7b89f;text-decoration:underline}.article-summary{color:#555;font-size:1rem;line-height:1.6;margin-bottom:15px}.article-meta{align-items:center;border-top:1px dashed #eee;display:flex;justify-content:space-between;padding-top:10px}.article-tags{display:flex;flex-wrap:wrap;gap:8px}.tag-pill{background-color:#e6e7e0;border-radius:20px;color:#777c6d;display:inline-block;font-size:.8rem;font-weight:500;padding:4px 10px;text-transform:lowercase}.tag-pill:hover{background-color:#b7b89f;color:#fff}@media (max-width:600px){.page-header h1{font-size:32px}.article-title{font-size:1.2rem}.article-meta{align-items:flex-start;flex-direction:column;gap:10px}}.artwork-section h2{font-size:42px;font-weight:700;margin-bottom:30px}.artwork-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(3,1fr);margin-top:20px}.artwork-item{background-color:#fff;border:1px solid #cbcbcb;border-radius:8px;box-shadow:0 4px 8px #0000000d;min-height:250px;overflow:hidden;position:relative;transition:transform .3s ease}.artwork-item:hover{box-shadow:0 8px 15px #0000001a;transform:translateY(-5px)}.artwork-item:before{align-items:center;background-color:#f8f8f8;color:#777c6d;content:"Karya Seni";display:flex;font-size:1.5rem;height:100%;justify-content:center;width:100%}@media (max-width:1024px){.artwork-grid{gap:20px;grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.artwork-grid{gap:15px;grid-template-columns:1fr}.artwork-section h2{font-size:32px}}.article-detail-section{margin:0 auto;max-width:900px;padding:0 40px}.article-detail-header{border-bottom:1px solid #e6e7e0;margin-bottom:40px;padding-bottom:20px}.article-detail-header h1{color:#333;font-size:3.2rem;font-weight:800;line-height:1.2;margin-bottom:15px}.article-date{color:#888;display:block;font-size:.9rem;margin-bottom:5px}.article-body{color:#444;font-size:1.1rem;line-height:1.8}.article-body .article-summary-detail{border-left:3px solid #b7b89f;color:#777c6d;font-size:1.3rem;font-style:italic;margin-bottom:30px;padding:15px 0 15px 20px}.article-body p{margin-bottom:25px}.article-detail-header .article-tags{margin-top:10px}.back-link{color:#777c6d;display:inline-block;font-size:1.5rem;font-weight:600;margin-top:40px;text-decoration:none;transition:color .2s}.back-link:hover{color:#b7b89f}@media (max-width:700px){.article-detail-section{padding:0 5px}.article-detail-header h1{font-size:2rem}.article-body{font-size:1rem}}
/*# sourceMappingURL=main.4a9984dc.css.map*/