@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;700;900&display=swap";:root{--background-color: #ffffff;--text-color: #24292f;--text-color-secondary: #57606a;--header-bg: rgba(255, 255, 255, .85);--card-bg: #f6f8fa;--card-border: #d0d7de;--highlight-color: #0969da;--logo-color: #000000;--btn-primary-bg: #2da44e;--btn-primary-hover-bg: #2c974b;--btn-primary-text: #ffffff;--contact-glow: rgba(88, 166, 255, .1);--btn-primary-glow: rgba(35, 134, 54, .4);--highlight-rgb: 9, 105, 218}body.dark-mode{--background-color: #0d1117;--text-color: #f0f6fc;--text-color-secondary: #8b949e;--header-bg: rgba(13, 17, 23, .85);--card-bg: #161b22;--card-border: #30363d;--highlight-color: #58a6ff;--logo-color: #f0f6fc;--btn-primary-bg: #238636;--btn-primary-hover-bg: #2ea043;--btn-primary-text: #ffffff;--contact-glow: rgba(88, 166, 255, .1);--btn-primary-glow: rgba(46, 160, 67, .5);--highlight-rgb: 88, 166, 255}*{margin:0;padding:0;box-sizing:border-box}html,body{scroll-behavior:smooth;max-width:100%;overflow-x:hidden}body{font-family:Inter,sans-serif;line-height:1.6;background-color:var(--background-color);color:var(--text-color);transition:background-color .3s ease,color .3s ease}.container{max-width:1200px;width:100%;margin:0 auto;padding:0 1.5rem}a{color:var(--highlight-color);text-decoration:none}a:hover{text-decoration:none}.main-header{position:sticky;top:0;width:100%;z-index:1000;background-color:var(--header-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--card-border);transition:background-color .3s ease,border-color .3s ease}.navbar{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 0}.logo{font-weight:900;font-size:1.5rem;color:var(--logo-color)}.nav-links{display:flex;align-items:center;list-style:none;gap:2rem}.nav-links a{color:var(--text-color);font-weight:700;transition:color .3s ease}.nav-links a:hover{color:var(--highlight-color)}.nav-admin-link{font-size:.9rem;color:var(--text-color-secondary)}.hero-layout{padding-bottom:5rem}.hero-text-top{padding-top:2rem;padding-bottom:1rem;text-align:center}.hero-text-top h1{font-size:3.5rem;color:var(--text-color);margin-bottom:.5rem}.hero-text-top .lead-text{font-size:1.15rem;max-width:600px;margin:0 auto 1.5rem;color:var(--text-color-secondary)}.hero-text-top .highlight{color:var(--highlight-color)}.hero-visuals-container{position:relative;display:flex;justify-content:center;align-items:center;max-width:1400px;margin:0 auto}.hero-interactive-container{position:relative;width:100%;max-width:900px;height:500px;border-radius:16px;overflow:hidden;cursor:none;flex-shrink:0}.context-text{position:absolute;z-index:10;width:25%;max-width:250px;transform:translateY(-50%);transition:opacity .4s ease,transform .4s ease;opacity:.15}#designer{left:5%;top:45%;text-align:right}#coder{right:5%;top:55%;text-align:left}.context-text h1{font-size:2.5rem;color:var(--text-color)}.context-text p{font-size:1rem;color:var(--text-color-secondary)}.context-text small{font-size:.9rem;color:var(--text-color-secondary);opacity:.8}.context-text .highlight{color:#58a6ff}.hero-bg-image{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center}#hero-bg-asli{background-image:url(/images/bg-asli.png);transform:translate(-100%);animation:slideInFromLeft 2.5s .5s cubic-bezier(.23,1,.32,1) forwards}#hero-bg-warna{background-image:url(/images/bg-warna.png);clip-path:inset(0 50% 0 0);transform:translate(100%);animation:slideInFromRight 2.5s .5s cubic-bezier(.23,1,.32,1) forwards}@keyframes slideInFromLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes slideInFromRight{0%{transform:translate(100%)}to{transform:translate(0)}}.projects-section{background-color:var(--card-bg);border-top:1px solid var(--card-border);transition:background-color .3s ease,border-color .3s ease}.section-title{font-size:2.5rem;font-weight:900;margin-bottom:3rem;color:var(--text-color)}.project-filter{display:flex;justify-content:center;flex-wrap:wrap;gap:.8rem;margin-bottom:3rem}.filter-btn{background:none;border:1px solid var(--card-border);color:var(--text-color-secondary);padding:.5rem 1.2rem;border-radius:20px;cursor:pointer;font-weight:700;transition:all .3s ease}.filter-btn:hover,.filter-btn.active{background-color:var(--highlight-color);color:var(--btn-primary-text);border-color:var(--highlight-color)}.project-grid{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;gap:1.5rem}.project-card{flex:0 1 460px;background-color:var(--background-color);border:1px solid var(--card-border);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:all .3s ease;box-shadow:0 5px 15px #f403030d}.project-card:hover{transform:translateY(-8px);box-shadow:0 25px 40px -15px #ff000026}.dark-mode .project-card:hover{box-shadow:0 25px 40px -15px #fa000080}.project-image-container{position:relative;display:block;overflow:hidden;border-bottom:1px solid var(--card-border)}.project-thumbnail{width:100%;height:220px;object-fit:cover;transition:transform .4s ease}.project-card:hover .project-thumbnail{transform:scale(1.05)}.zoom-icon-overlay{position:absolute;bottom:10px;right:10px;width:40px;height:40px;background-color:var(--highlight-color);color:var(--btn-primary-text);border-radius:50%;display:flex;align-items:center;justify-content:center;transform:scale(0);opacity:0;transition:all .3s ease;z-index:3;pointer-events:none}.project-card:hover .zoom-icon-overlay{transform:scale(1);opacity:1}.zoom-icon-overlay svg{width:24px;height:24px}.project-info{padding:1.5rem;flex-grow:1;display:flex;flex-direction:column}.project-category{font-size:.8rem;font-weight:700;color:var(--text-color-secondary);margin-bottom:.5rem}.project-title{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.project-title h3{font-size:1.4rem;color:var(--text-color)}.view-project-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background-color:var(--card-bg);color:var(--text-color-secondary);border:1px solid var(--card-border);transition:all .3s ease;flex-shrink:0}.view-project-btn svg{width:20px;height:20px}.view-project-btn:hover{background-color:var(--highlight-color);color:var(--btn-primary-text);border-color:var(--highlight-color)}.github-link{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--card-border);color:var(--text-color-secondary);transition:color .3s ease}.github-link:hover{color:var(--highlight-color)}.github-link span{font-weight:700}.github-icon{width:24px;height:24px;fill:currentColor;transition:fill .3s ease}.skills-section{background-color:var(--card-bg);border-top:1px solid var(--card-border)}.skills-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-bottom:4rem}.skill-card{flex:0 0 130px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem 1rem;background-color:var(--background-color);border:1px solid var(--card-border);border-radius:16px;transition:all .3s ease}.skill-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px #ff00000d}.dark-mode .skill-card:hover{box-shadow:0 10px 20px #f003}.skill-card img{height:50px;width:50px;object-fit:contain}.skill-card span{font-weight:800;color:var(--text-color)}.skill-card small{font-size:.7rem;color:var(--text-color-secondary)}.section-header{text-align:center;margin-bottom:3rem}.cert-filter{display:flex;justify-content:center;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.certs-grid-new{display:flex;flex-wrap:wrap;justify-content:center;gap:2rem}.cert-card-new{flex:0 1 300px;background-color:var(--background-color);border-radius:12px;border:1px solid var(--card-border);overflow:hidden;transition:all .3s ease;display:flex;flex-direction:column}.cert-card-new:hover{transform:translateY(-5px);box-shadow:0 10px 20px #0000000d}.dark-mode .cert-card-new:hover{box-shadow:0 10px 20px #0003}.cert-image-wrapper{position:relative;overflow:hidden;height:200px;display:flex;align-items:center;justify-content:center}.cert-bg-blur{position:absolute;top:-10px;left:-10px;width:calc(100% + 20px);height:calc(100% + 20px);background-size:cover;background-position:center;transform:scale(1.2);filter:blur(15px) brightness(.8)}.cert-thumbnail{display:block;width:auto;height:100%;max-width:100%;object-fit:contain;position:relative;z-index:2;transition:transform .6s cubic-bezier(.25,1,.5,1)}.cert-card-new:hover .cert-thumbnail{transform:scale(1.05)}.zoom-btn{position:absolute;bottom:10px;right:10px;width:40px;height:40px;background-color:var(--highlight-color);color:var(--btn-primary-text);border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transform:scale(0);transition:all .3s ease;z-index:3}.cert-card-new:hover .zoom-btn{transform:scale(1)}.zoom-btn svg{width:24px;height:24px}.cert-info-new{padding:1rem 1.5rem;flex-grow:1}.cert-info-new h4{font-size:1.1rem;color:var(--text-color)}.cert-info-new span{font-size:.9rem;color:var(--text-color-secondary)}.lightbox{display:none;position:fixed;z-index:2000;padding-top:50px;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000000e6}.lightbox-content{margin:auto;display:block;max-width:90%;max-height:90%;animation-name:zoom;animation-duration:.6s}@keyframes zoom{0%{transform:scale(0)}to{transform:scale(1)}}.lightbox-close{position:absolute;top:15px;right:35px;color:#f1f1f1;font-size:40px;font-weight:700;transition:.3s}.lightbox-close:hover,.lightbox-close:focus{color:#bbb;text-decoration:none;cursor:pointer}.py-5{padding-top:5rem;padding-bottom:5rem}.text-center{text-align:center}.btn{display:inline-block;padding:.8rem 1.8rem;border:none;border-radius:8px;font-weight:700;text-decoration:none;transition:transform .3s ease,background-color .3s ease}.btn:hover{transform:translateY(-3px);text-decoration:none}.btn-primary{background-color:var(--btn-primary-bg);color:var(--btn-primary-text)}.btn-primary:hover{background-color:var(--btn-primary-hover-bg);color:var(--btn-primary-text)}.btn-secondary{background-color:var(--card-bg);color:var(--highlight-color);border:1px solid var(--card-border)}.btn-secondary:hover{background-color:var(--card-border);color:var(--highlight-color)}.contact-section{border-top:1px solid var(--card-border)}.main-footer{background-color:var(--card-bg);border-top:1px solid var(--card-border);color:var(--text-color-secondary)}.social-links{margin-top:.5rem}.theme-toggle-btn{background-color:transparent;border:1px solid var(--card-border);border-radius:6px;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;padding:5px;transition:background-color .3s ease}.theme-toggle-btn:hover{background-color:var(--card-border)}.theme-toggle-btn svg{color:var(--text-color-secondary)}.moon-icon,.dark-mode .sun-icon{display:none}.dark-mode .moon-icon{display:block}.scroll-top-btn{position:fixed;bottom:20px;right:20px;width:50px;height:50px;background-color:var(--highlight-color);color:var(--btn-primary-text);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s,transform .3s;z-index:1000;transform:translateY(20px)}.scroll-top-btn.visible{opacity:1;visibility:visible;transform:translateY(0)}.btn-load-more{background-color:transparent;border:2px solid var(--card-border);color:var(--text-color-secondary);padding:.8rem 2rem;border-radius:60px;font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:1.5px;transition:all .4s ease;display:inline-flex;align-items:center;gap:.75rem}.btn-load-more svg{width:18px;height:18px;transition:transform .4s cubic-bezier(.25,1,.5,1)}.btn-load-more:hover{background-color:transparent;border-color:var(--highlight-color);color:var(--highlight-color);transform:translateY(-3px);box-shadow:0 10px 20px -5px #0000001a}.dark-mode .btn-load-more:hover{box-shadow:0 10px 20px -5px #0000004d}.load-more-container{margin-top:2rem}.btn-load-more:hover svg{transform:rotate(180deg)}.btn-load-more:disabled{opacity:.5;cursor:wait}.contact-section{background-color:var(--card-bg);border-top:1px solid var(--card-border)}.contact-card{position:relative;z-index:1;background:transparent;border:none;border-radius:24px;padding:3rem;display:flex;justify-content:space-between;align-items:center;gap:2rem;overflow:hidden}.contact-card:before{content:"";position:absolute;z-index:-2;inset:0;border-radius:inherit;background-image:linear-gradient(to right,#2ea043,#58a6ff,#2ea043);background-size:200% auto;animation:gradient-slide 6s linear infinite}.contact-card:after{content:"";position:absolute;z-index:-1;inset:2px;border-radius:22px;background:var(--card-inner-bg, var(--background-color))}.dark-mode .contact-card{box-shadow:none;border:1px solid #30363d;--card-inner-bg: linear-gradient(145deg, #161b22, #0d1117)}.contact-text .section-title{font-size:2.2rem;margin-bottom:.5rem}.contact-text p{color:var(--text-color-secondary);max-width:450px}.contact-action .btn{background-image:linear-gradient(to right,#2ea043,#238636,#2ea043);background-color:transparent;border:none;box-shadow:0 8px 25px -8px var(--btn-primary-glow);padding:1rem 2rem;font-size:1.1rem;font-weight:700;transform:translateY(0);transition:all .3s ease;background-size:200% auto;animation:gradient-slide 8s linear infinite}.contact-action .btn:hover{transform:translateY(-3px);box-shadow:0 12px 30px -8px var(--btn-primary-glow)}.contact-action .btn svg{width:20px;height:20px;margin-left:.5rem;vertical-align:middle;transition:transform .3s ease}.contact-action .btn:hover svg{transform:translate(5px)}@keyframes gradient-slide{0%{background-position:0% center}to{background-position:100% center}}.page-header-portfolio{padding:6rem 0;border-bottom:1px solid var(--card-border)}.page-header-portfolio .container{display:flex;justify-content:space-between;align-items:center;gap:3rem}.header-text{flex-basis:55%}.portfolio-title{font-size:4rem;font-weight:900;line-height:1.1;margin-bottom:1rem}.portfolio-title span{color:var(--highlight-color)}.header-text .lead-text{font-size:1.2rem;color:var(--text-color);margin-bottom:1rem}.header-text .body-text{font-size:1rem;color:var(--text-color-secondary);max-width:500px}.header-visual{flex-basis:35%}.latest-project-preview{display:block;background-color:var(--background-color);border-radius:16px;border:1px solid var(--card-border);box-shadow:0 10px 30px -10px #0000001a;overflow:hidden;transition:all .3s ease}.dark-mode .latest-project-preview{box-shadow:0 10px 30px -10px #0006}.latest-project-preview:hover{transform:translateY(-8px) scale(1.03);box-shadow:0 20px 40px -10px #0003}.preview-image img{width:100%;height:180px;object-fit:cover;display:block}.preview-info{padding:1rem 1.2rem}.preview-info strong{font-size:1.1rem;font-weight:700;color:var(--text-color);display:block}.preview-info small{font-size:.9rem;color:var(--text-color-secondary)}.projects-section-page{background-color:var(--card-bg)}.project-card{flex:0 1 340px}.project-thumbnail{height:200px}.project-info{padding:1.2rem}.project-title h3{font-size:1.2rem}.projects-section-page .project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.projects-section-page .project-card{flex:none;width:100%}.projects-section-page .project-thumbnail{height:220px}.project-hero{position:relative;height:35vh;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding-bottom:4rem;text-align:left}.project-hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,rgba(var(--highlight-rgb),.4),#0d1117cc 70%)}.project-title-hero{position:relative;z-index:2;color:#fff;font-size:clamp(1.5rem,3vw,3.5rem);font-weight:900;text-shadow:0 4px 15px rgba(0,0,0,.4)}.project-body-container{display:flex;gap:5rem}.project-main-content{flex:1;min-width:0}.project-main-content h2{font-size:2rem;font-weight:900;margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid var(--card-border);color:var(--text-color)}.project-description{font-size:1.2rem;line-height:1.8;color:var(--text-color-secondary)}.project-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:0rem}.project-gallery-grid a{display:block;overflow:hidden;border-radius:13px}.project-gallery-grid img{width:50%;height:100%;object-fit:cover;display:block;transition:transform .4s cubic-bezier(.25,1,.5,1)}.project-gallery-grid a:hover img{transform:scale(1.05)}.project-sidebar{flex-basis:340px;flex-shrink:0}.sidebar-card{background-color:transparent;border:none;border-left:2px solid var(--highlight-color);border-radius:0;padding:0 0 0 2rem;position:sticky;top:120px}.sidebar-card h3{font-size:1.2rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-color-secondary);margin-bottom:1.5rem;padding:0;border:none}.sidebar-card ul{list-style:none;padding:0;margin:0 0 2rem}.sidebar-card li{display:block;margin-bottom:1.5rem;font-size:1rem}.sidebar-card li strong{display:block;color:var(--text-color-secondary);font-weight:400;margin-bottom:.25rem}.sidebar-card li span{color:var(--text-color);font-weight:700}.project-links-sidebar .btn{display:block;width:100%;margin-bottom:.75rem;text-align:center}.project-navigation{border-top:1px solid var(--card-border);padding:3rem 0}.project-navigation .container{display:flex;justify-content:space-between;align-items:center}.project-navigation .nav-item{flex:1}.project-navigation .nav-item a{text-decoration:none;display:inline-flex;align-items:center;gap:1.5rem;padding:1rem;border-radius:12px}.nav-circle{display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;border:2px solid var(--card-border);color:var(--text-color-secondary);flex-shrink:0;transition:all .3s ease}.nav-circle svg{width:22px;height:22px}.nav-item a:hover .nav-circle{background-color:var(--highlight-color);border-color:var(--highlight-color);color:#fff}.nav-text small{display:block;font-size:.9rem;color:var(--text-color-secondary)}.nav-text span{font-size:1.2rem;font-weight:700;color:var(--text-color);transition:color .3s ease}.nav-item a:hover .nav-text span{color:var(--highlight-color)}.nav-prev{text-align:left}.nav-next{justify-content:flex-end}.nav-next .nav-text{text-align:right}.nav-all{flex:0 1 auto;text-align:center}.nav-all a{padding:1rem;color:var(--text-color-secondary);border-radius:50%;transition:all .3s ease}.nav-all a:hover{color:var(--highlight-color);background-color:var(--card-bg)}.nav-all a svg{width:28px;height:28px}.contact-bg{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:-1;background:linear-gradient(320deg,var(--background-color),var(--card-bg));background-size:200% 200%;animation:gradient-animation 20s ease infinite}@keyframes gradient-animation{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.contact-bg .shape{position:absolute;color:rgba(var(--highlight-rgb),.08);animation:float 15s ease-in-out infinite alternate}.shape-1{width:150px;height:150px;top:10%;left:10%;animation-duration:1s}.shape-2{width:80px;height:80px;top:20%;right:15%;animation-duration:2s}.shape-3{width:120px;height:120px;bottom:10%;right:20%;animation-duration:1s}.shape-4{width:100px;height:100px;bottom:25%;left:15%;animation-duration:1s}@keyframes float{0%{transform:translateY(0) rotate(0)}to{transform:translateY(-30px) rotate(60deg)}}.contact-page-wrapper{padding:2rem 0}.contact-container{display:flex;align-items:center;justify-content:center}.contact-form-glass{width:100%;max-width:500px;padding:2.5rem;background:rgba(var(--card-rgb),.2);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--card-border);border-radius:24px;color:var(--text-color)}.form-header{text-align:center;margin-bottom:2rem}.form-header h2{font-size:2.5rem;font-weight:900}.form-header p{font-size:1rem;opacity:.8;color:var(--text-color-secondary)}.input-group{position:relative;margin-bottom:1.5rem}.input-group svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--text-color-secondary);opacity:.7}.input-group input,.input-group textarea{width:100%;padding:1rem 1rem 1rem 3rem;background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;color:var(--text-color);font-size:1rem;transition:all .3s ease}.input-group input::placeholder,.input-group textarea::placeholder{color:var(--text-color-secondary)}.input-group input:focus,.input-group textarea:focus{outline:none;background:var(--background-color);border-color:var(--highlight-color);box-shadow:0 0 0 3px rgba(var(--highlight-rgb),.2)}.input-group textarea{resize:vertical;padding-top:1rem}.btn-submit-contact{width:100%;padding:1rem;border:none;border-radius:12px;background-image:linear-gradient(to right,#9333ea,#58a6ff);color:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .3s ease}.btn-submit-contact:hover{transform:translateY(-3px);box-shadow:0 10px 20px #0000004d}.btn-submit-contact svg{width:20px;height:20px}.form-footer{text-align:center;margin-top:1.5rem;font-size:.9rem}.form-footer p{color:var(--text-color-secondary)}.form-footer a{color:var(--text-color);font-weight:700;text-decoration:underline}.secret-admin-link{color:inherit;text-decoration:none;cursor:default}.secret-admin-link:hover{color:inherit;text-decoration:none}@media (max-width: 768px){.project-navigation .container{flex-direction:row;justify-content:space-between;align-items:center;gap:1rem}.project-navigation .nav-text{display:none!important}.project-navigation .nav-item a{padding:.5rem;gap:0}.nav-circle{width:50px;height:50px}.nav-all{order:0;margin:0}.nav-all a{width:50px;height:50px}.nav-all a svg{width:26px;height:26px}.skill-category h2{font-size:1.8rem;margin-bottom:1.5rem;padding-bottom:.75rem}.skills-page-section .skills-page-grid,.skills-page-section .skills-page-grid.is-centered{display:grid;grid-template-columns:1fr;gap:1.5rem}.skills-page-grid.is-centered .skill-card-detailed{flex-basis:auto;width:auto}.skill-card-detailed{padding:1.5rem}.skill-card-detailed h3{font-size:1.2rem}.skill-card-detailed p{font-size:.9rem}.skill-chart-container h2{font-size:1.8rem}.chart-wrapper{height:auto;aspect-ratio:1 / 1;width:100%;max-width:400px}.chart-legend{gap:1rem}}.contact-bg .shape{display:none}.contact-page-wrapper{padding:3rem 0}.contact-container{padding:1rem}.contact-form-glass{padding:2rem 1.5rem}.form-header h2{font-size:2rem}.form-header p{font-size:.9rem}.input-group input,.input-group textarea{font-size:1rem;padding:.9rem .9rem .9rem 2.8rem}.input-group svg{width:18px;height:18px}.btn-submit-contact{font-size:1rem}.form-footer{font-size:.8rem}@media (max-width: 900px){.project-body-container{flex-direction:column;gap:3rem}.sidebar-card{position:static;border-left:none;border-top:2px solid var(--highlight-color);padding:2rem 0 0}.project-hero{height:clamp(280px,30vh,400px);align-items:center;text-align:left}.project-title-hero{height:10vh;font-size:clamp(.9rem,3vw,1rem)}.project-gallery-grid{grid-template-columns:1fr}.project-navigation .container{flex-direction:column;gap:1rem}}@media (max-width: 768px){.project-body-container{flex-direction:column-reverse;gap:2rem}.sidebar-card{position:static}.project-hero{height:50vh}.project-title-hero{font-size:clamp(1.5rem,5vw,4.5rem)}.project-gallery-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.project-navigation .container{flex-direction:column;gap:1rem}}.project-title h3 a{color:inherit;text-decoration:none;transition:color .3s ease}.project-title h3 a:hover{color:var(--highlight-color)}.skills-page-section{background-color:var(--card-bg)}.skill-category{margin-bottom:4rem}.skill-category h2{font-size:2rem;font-weight:900;margin-bottom:2rem;border-bottom:1px solid var(--card-border);padding-bottom:1rem}.skills-page-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}.skill-card-detailed{display:flex;flex-direction:column;background-color:var(--background-color);border:1px solid var(--card-border);border-radius:16px;padding:2rem;transition:all .3s ease}.skill-card-detailed:hover{transform:translateY(-5px);box-shadow:0 15px 30px -10px #0000001a}.skill-card-detailed img{height:50px;width:50px;margin-bottom:1rem}.skill-card-detailed h3{font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.skill-card-detailed p{color:var(--text-color-secondary);line-height:1.6;margin-bottom:1.5rem;flex-grow:1}.proficiency-bar{width:100%;height:8px;background-color:var(--card-bg);border-radius:4px;overflow:hidden}.proficiency-level{height:100%;background-color:var(--highlight-color);border-radius:4px}.skill-chart-container{margin-top:5rem}.skill-chart-container h2{font-size:2rem;font-weight:900;margin-bottom:2rem;border-bottom:1px solid var(--card-border);padding-bottom:1rem;text-align:center}.chart-wrapper{position:relative;height:500px;max-width:600px;margin:.5rem auto 0}.chart-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:1.5rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-weight:700;color:var(--text-color-secondary)}.legend-item .dot{width:12px;height:12px;border-radius:50%;background-color:var(--color)}.skills-page-grid.is-centered{display:flex;justify-content:center;flex-wrap:wrap}.skills-page-grid.is-centered .skill-card-detailed{flex-basis:320px}@media (max-width: 900px){.context-text{display:none}}@media (max-width: 768px){.hero-text-top h1,.section-title{font-size:clamp(2rem,8vw,2.2rem)}.hero-text-top .lead-text{font-size:1rem}.navbar{flex-direction:column;gap:1rem}.nav-links{gap:1rem;font-size:.9rem;flex-wrap:wrap;justify-content:center}.hero-layout{padding-bottom:3rem}.hero-text-top{padding-top:2rem;padding-bottom:2rem}.hero-visuals-container{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;width:100%;padding:0 10px}.hero-interactive-container{width:clamp(130px,38vw,170px);height:auto;aspect-ratio:1 / 1;border-radius:12px;margin:0}.context-text{display:block;position:relative;opacity:1;width:100%;transform:none;top:auto;left:auto;right:auto}#designer{text-align:right}#coder{text-align:left;position:relative;top:60px}.context-text h1{font-size:clamp(.4em,3.1vw,1rem);margin-bottom:.2rem}.context-text p{font-size:clamp(.3rem,2.2vw,.7rem);line-height:1.5}.context-text small{display:block;margin-top:.75rem;font-size:clamp(.2rem,2vw,.55rem);opacity:1;word-break:keep-all;line-height:1.4}.projects-section{padding-top:4rem;padding-bottom:2rem}.project-filter{gap:.5rem;margin-bottom:1.5rem}.filter-btn{padding:.5rem 2rem;font-size:.8rem}.project-grid{grid-template-columns:1fr;gap:1.2rem}.project-thumbnail{height:150px}.project-info{padding:1rem}.project-category{font-size:.75rem}.project-title h3{font-size:1rem}.github-link span{font-size:.9rem}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(95px,1fr));gap:1rem}.skill-card{padding:1rem .5rem;gap:.4rem}.skill-card img{height:40px;width:40px}.skill-card span{font-size:.9rem}.skill-card small{font-size:.6rem}.certs-grid-new{grid-template-columns:1fr}.contact-card{flex-direction:column;padding:1.5rem;text-align:center}.contact-text .section-title{font-size:2rem}.contact-action .btn-lg{padding:.8rem 1.5rem;font-size:.9rem}.page-header-portfolio{padding:3rem 0;text-align:left}.page-header-portfolio .container{flex-direction:column}.portfolio-title{font-size:3rem}.header-visual{width:100%;margin-top:1rem}.projects-section-page .project-grid{display:grid;grid-template-columns:repeat(2,1fr);column-gap:.2rem;row-gap:1.5rem}.projects-section-page .project-card{display:flex;flex-direction:column;margin:0}.projects-section-page .project-thumbnail{aspect-ratio:16/9;object-fit:cover;height:100px}.projects-section-page .project-info{padding:1rem;flex-grow:1;display:flex;flex-direction:column}.projects-section-page .project-title h3{font-size:.9rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;display:-moz-box;-webkit-line-clamp:21;line-clamp:21;-webkit-box-orient:vertical;box-orient:vertical}.projects-section-page .project-category{font-size:.7rem;margin-bottom:.5rem}.projects-section-page .view-project-btn{display:none}.projects-section-page .github-link{margin-top:auto}.projects-section-page .github-link span{font-size:.6rem}.projects-section-page .github-icon{width:15px;height:20px}.projects-section-page .project-filter{gap:.5rem;margin-bottom:2rem}}
