*,:before,:after{box-sizing:border-box;margin:0;padding:0}[data-theme=dark]{--bg:#08090f;--bg2:#0e1018;--bg3:#141621;--bg4:#1b1e2d;--gold:#c9a84c;--gold2:#e8c87a;--gold3:#f5dfa0;--gold-a08:#c9a84c14;--gold-a15:#c9a84c26;--text:#e8e6df;--text2:#c8c6bf;--muted:#8d8b83;--border:#c9a84c21;--border2:#c9a84c4d;--shadow:#00000080;--nav-bg:#08090feb;--card-hover:#141621;--glow:#c9a84c0f;--on-gold:#08090f}[data-theme=light]{--bg:#f7f5f0;--bg2:#fff;--bg3:#f0ede6;--bg4:#e8e4db;--gold:#8a6526;--gold2:#a57a33;--gold3:#6e4f1a;--gold-a08:#8a652612;--gold-a15:#8a652624;--text:#1a1814;--text2:#3a3630;--muted:#6b6355;--border:#8a652629;--border2:#8a65265c;--shadow:#0000001a;--nav-bg:#f7f5f0f2;--card-hover:#faf8f3;--glow:#8a65260d;--on-gold:#fff}html{scroll-behavior:smooth;scroll-padding-top:80px}body{background:var(--bg);color:var(--text);font-family:DM Sans,system-ui,sans-serif;line-height:1.6;transition:background .35s,color .35s;overflow-x:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--gold);border-radius:3px}:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}::selection{background:var(--gold);color:var(--on-gold)}main{z-index:1;position:relative}.skip-link{z-index:300;background:var(--gold);color:var(--on-gold);border-radius:6px;padding:.5rem 1rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:top .2s;position:absolute;top:-3rem;left:1rem}.skip-link:focus{top:1rem}nav{z-index:200;background:var(--nav-bg);-webkit-backdrop-filter:blur(24px);border-bottom:.5px solid var(--border);justify-content:space-between;align-items:center;padding:1.1rem 5vw;transition:background .35s,box-shadow .3s,padding .3s;display:flex;position:fixed;top:0;left:0;right:0}nav.nav-scrolled{padding-top:.8rem;padding-bottom:.8rem;box-shadow:0 4px 30px #00000026}.nav-logo{color:var(--gold);letter-spacing:.02em;font-family:Cormorant Garamond,Georgia,serif;font-size:1.45rem;font-weight:600;text-decoration:none}.nav-logo span{color:var(--muted);font-weight:400}.nav-links{gap:1.6rem;list-style:none;display:flex}.nav-links a{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:500;text-decoration:none;transition:color .25s;position:relative}.nav-links a:after{content:"";background:var(--gold);width:0;height:1px;transition:width .3s;position:absolute;bottom:-4px;left:0}.nav-links a:hover{color:var(--gold)}.nav-links a:hover:after{width:100%}.nav-right{align-items:center;gap:.7rem;display:flex}.theme-btn{border:.5px solid var(--border2);cursor:pointer;width:36px;height:36px;color:var(--gold);background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:background .25s,transform .25s;display:flex}.theme-btn:hover{background:var(--gold-a08);transform:rotate(15deg)}.theme-btn svg{fill:none;width:16px;height:16px;stroke:var(--gold);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.nav-cta{border:.5px solid var(--border2);color:var(--gold);letter-spacing:.07em;text-transform:uppercase;border-radius:5px;align-items:center;gap:.4rem;padding:.48rem 1.1rem;font-size:.74rem;font-weight:500;text-decoration:none;transition:background .25s,transform .25s;display:inline-flex}.nav-cta:hover{background:var(--gold-a08);transform:translateY(-1px)}.nav-cta svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:13px;height:13px}.menu-btn{border:.5px solid var(--border2);cursor:pointer;background:0 0;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:36px;height:36px;display:none}.menu-btn span{background:var(--gold);width:16px;height:1.5px;transition:transform .25s,opacity .2s;display:block}.menu-btn.open span:first-child{transform:translateY(5.5px)rotate(45deg)}.menu-btn.open span:nth-child(2){opacity:0}.menu-btn.open span:nth-child(3){transform:translateY(-5.5px)rotate(-45deg)}.mobile-menu{background:var(--bg2);border-bottom:.5px solid var(--border2);box-shadow:0 18px 40px var(--shadow);padding:.5rem 16px 1rem;list-style:none;position:absolute;top:100%;left:0;right:0}.mobile-menu a{color:var(--text2);letter-spacing:.08em;text-transform:uppercase;border-bottom:.5px solid var(--border);padding:.75rem 0;font-size:.85rem;text-decoration:none;display:block}.mobile-menu li:last-child a{border-bottom:none}.mobile-menu a:hover{color:var(--gold)}.hero-wrap{max-width:1200px;margin:0 auto;padding:0 5vw}.hero{align-items:center;min-height:100vh;padding:9rem 0 5rem;display:flex;position:relative;overflow:hidden}.hero:before{content:"";background:radial-gradient(ellipse 70% 60% at 20% 55%,var(--glow) 0%,transparent 65%);pointer-events:none;position:absolute;inset:0}.hero-inner{z-index:1;max-width:760px;position:relative}.hero-eyebrow{align-items:center;gap:.8rem;margin-bottom:2rem;display:flex}.eyebrow-line{background:var(--gold);flex-shrink:0;width:38px;height:1px}.eyebrow-text{letter-spacing:.25em;text-transform:uppercase;color:var(--gold);font-size:.7rem;font-weight:500}.hero-h1{color:var(--text);margin-bottom:1.5rem;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(3.2rem,6vw,5.5rem);font-weight:300;line-height:1.05}.hero-h1 em{color:var(--gold);font-style:italic}.hero-desc{color:var(--muted);max-width:620px;margin-bottom:2.2rem;font-size:1rem;line-height:1.85}.hero-desc strong{color:var(--text2);font-weight:500}.hero-tags{flex-wrap:wrap;gap:.55rem;margin-bottom:2.6rem;list-style:none;display:flex}.tag{border:.5px solid var(--border2);letter-spacing:.08em;text-transform:uppercase;color:var(--gold3);border-radius:3px;padding:.32rem .85rem;font-size:.7rem;transition:background .25s,transform .25s}.tag:hover{background:var(--gold-a08);transform:translateY(-2px)}.hero-actions{flex-wrap:wrap;gap:.9rem;display:flex}.btn-primary{background:var(--gold);color:var(--on-gold);letter-spacing:.05em;border-radius:5px;align-items:center;gap:.5rem;padding:.78rem 1.8rem;font-size:.83rem;font-weight:600;text-decoration:none;transition:background .3s,box-shadow .3s;display:inline-flex;box-shadow:0 4px 15px #c9a84c33}.btn-primary:hover{background:var(--gold2);box-shadow:0 8px 25px #c9a84c4d}.btn-primary svg,.btn-outline svg{fill:none;stroke:currentColor;stroke-width:2.1px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.btn-outline{border:.5px solid var(--border2);color:var(--gold);letter-spacing:.05em;border-radius:5px;align-items:center;gap:.5rem;padding:.78rem 1.6rem;font-size:.83rem;font-weight:500;text-decoration:none;transition:background .3s,box-shadow .3s;display:inline-flex}.btn-outline:hover{background:var(--gold-a08);box-shadow:0 4px 15px #c9a84c1a}.hero-stats{border-top:.5px solid var(--border);grid-template-columns:repeat(4,auto);justify-content:start;gap:2.8rem;margin-top:3.5rem;padding-top:2.2rem;list-style:none;display:grid}.stat{flex-direction:column;display:flex}.stat-num{color:var(--gold);font-family:Cormorant Garamond,Georgia,serif;font-size:2.4rem;font-weight:600;line-height:1}.stat-lbl{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-top:.45rem;font-size:.66rem}section{max-width:1200px;margin:0 auto;padding:6rem 5vw}.section-outer{border-top:.5px solid var(--border)}.section-label{align-items:center;gap:.8rem;margin-bottom:2.5rem;display:flex}.section-label:before{content:"";background:var(--gold);flex-shrink:0;width:22px;height:1px}.section-label span{letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-size:.7rem}.section-title{color:var(--text);margin-bottom:.8rem;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:300;line-height:1.2}.section-title em{color:var(--gold);font-style:italic}.portfolio-grid{background:var(--border);border-radius:12px;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:3rem;display:grid;overflow:hidden}.portfolio-card{background:var(--bg2);padding:2.5rem;transition:background .4s;position:relative;overflow:hidden}.portfolio-card:hover{background:var(--card-hover)}.portfolio-card:before{content:"";background:var(--gold);width:3px;height:0;transition:height .4s;position:absolute;top:0;left:0}.portfolio-card:hover:before,.portfolio-card.is-primary:before{height:100%}.portfolio-card.is-primary:before{opacity:.55}.portfolio-card:hover:before{opacity:1}.portfolio-icon{width:44px;height:44px;color:var(--gold);margin-bottom:1.1rem;display:block}.portfolio-icon svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.portfolio-name{color:var(--text);margin-bottom:.65rem;font-family:Cormorant Garamond,Georgia,serif;font-size:1.55rem;font-weight:400}.portfolio-desc{color:var(--muted);font-size:.87rem;line-height:1.8}.portfolio-stack{flex-wrap:wrap;gap:.4rem;margin-top:1.2rem;display:flex}.stack-tag{color:var(--gold);background:var(--gold-a08);border:.5px solid var(--border2);border-radius:3px;padding:.2rem .6rem;font-family:JetBrains Mono,monospace;font-size:.67rem;transition:background .25s}.stack-tag:hover{background:var(--gold-a15)}.exp-grid{grid-template-columns:3fr 2fr;gap:4rem;margin-top:3rem;display:grid}.exp-col-title{color:var(--gold);letter-spacing:.15em;text-transform:uppercase;margin-bottom:2rem;font-family:Cormorant Garamond,Georgia,serif;font-size:.9rem;font-weight:400}.exp-col-title--spaced{margin-top:2.2rem;margin-bottom:1.2rem}.exp-timeline{padding-left:2rem;position:relative}.exp-timeline:before{content:"";background:var(--border2);width:.5px;position:absolute;top:0;bottom:0;left:0}.exp-item{margin-bottom:2.6rem;padding-left:1.5rem;position:relative}.exp-item:before{content:"";background:var(--gold);border:2px solid var(--bg);border-radius:50%;width:8px;height:8px;position:absolute;top:.42rem;left:-2.25rem}.exp-current:before{box-shadow:0 0 0 4px #c9a84c33}.exp-period{color:var(--gold);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.25rem;font-family:JetBrains Mono,monospace;font-size:.67rem}.exp-role{color:var(--text);margin-bottom:.12rem;font-family:Cormorant Garamond,Georgia,serif;font-size:1.25rem;font-weight:400}.exp-company{color:var(--muted);margin-bottom:.6rem;font-size:.8rem}.exp-tags{flex-wrap:wrap;gap:.35rem;margin:.45rem 0 .8rem;display:flex}.exp-tag{letter-spacing:.04em;background:var(--gold-a08);color:var(--gold);border:.5px solid var(--border2);border-radius:999px;padding:.18rem .55rem;font-size:.66rem;font-weight:600}.exp-group{margin-top:.7rem}.exp-group-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text2);margin-bottom:.35rem;font-size:.7rem;font-weight:600}.exp-list{flex-direction:column;gap:.32rem;list-style:none;display:flex}.exp-list li{color:var(--muted);padding-left:1rem;font-size:.82rem;line-height:1.6;position:relative}.exp-list li:before{content:"→";color:var(--gold);font-size:.62rem;position:absolute;top:.3rem;left:0}.edu-card{background:var(--bg2);border:.5px solid var(--border);border-radius:10px;padding:1.8rem;transition:border-color .3s}.edu-card:hover{border-color:var(--border2)}.edu-period{color:var(--gold);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.5rem;font-family:JetBrains Mono,monospace;font-size:.67rem}.edu-degree{color:var(--text);margin-bottom:.25rem;font-family:Cormorant Garamond,Georgia,serif;font-size:1.25rem}.edu-school{color:var(--muted);margin-bottom:.9rem;font-size:.82rem}.edu-badge{color:var(--gold);background:var(--gold-a08);border:.5px solid var(--border2);border-radius:4px;padding:.35rem .8rem;font-family:JetBrains Mono,monospace;font-size:.75rem;display:inline-block}.stack-groups{flex-direction:column;gap:1.1rem;display:flex}.stack-group-title{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.45rem;font-family:JetBrains Mono,monospace;font-size:.66rem}.stack-group-items{flex-wrap:wrap;gap:.4rem;display:flex}.project-filters{flex-wrap:wrap;gap:.5rem;margin-top:2.2rem;display:flex}.filter-btn{font:inherit;letter-spacing:.06em;border:.5px solid var(--border2);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:.42rem 1rem;font-size:.74rem;transition:background .2s,color .2s,border-color .2s}.filter-btn:hover{color:var(--gold)}.filter-btn.active{background:var(--gold);border-color:var(--gold);color:var(--on-gold);font-weight:600}.projects-grid{grid-template-columns:repeat(6,1fr);gap:1rem;margin-top:1.6rem;display:grid}.project-card{background:var(--bg2);border:.5px solid var(--border);color:inherit;border-radius:12px;flex-direction:column;grid-column:span 2;padding:1.7rem;text-decoration:none;transition:background .3s,border-color .3s,transform .3s;display:flex}a.project-card:hover{background:var(--card-hover);border-color:var(--border2);transform:translateY(-3px)}.project-card.is-featured{background:linear-gradient(160deg,var(--gold-a08),transparent 60%),var(--bg2);border-color:var(--border2);grid-column:span 3}.project-badge{letter-spacing:.05em;border-radius:3px;align-self:flex-start;margin-bottom:.9rem;padding:.2rem .6rem;font-family:JetBrains Mono,monospace;font-size:.64rem;display:inline-block}.badge-laravel{color:#e8553a;background:#ff503c1a;border:.5px solid #ff503c4d}.badge-php{color:#8085c4;background:#777bb41f;border:.5px solid #777bb44d}.badge-js{color:#c8941c;background:#f0b4321a;border:.5px solid #f0b4324d}.badge-cpp{color:#1e90d6;background:#0078c81a;border:.5px solid #0078c84d}.badge-odoo{color:#c27aa9;background:#714b671f;border:.5px solid #a05a8c59}.badge-react{color:#2fb3d8;background:#61dafb1a;border:.5px solid #61dafb4d}.project-name{color:var(--text);margin-bottom:.5rem;font-family:Cormorant Garamond,Georgia,serif;font-size:1.25rem;font-weight:500;line-height:1.25}.is-featured .project-name{font-size:1.45rem}.project-desc{color:var(--muted);flex:1;font-size:.81rem;line-height:1.65}.project-footer{border-top:.5px solid var(--border);justify-content:space-between;align-items:center;margin-top:1.2rem;padding-top:.8rem;display:flex}.project-link{color:var(--gold);align-items:center;gap:.4rem;font-family:JetBrains Mono,monospace;font-size:.7rem;display:inline-flex}.is-private .project-link{color:var(--muted)}.project-link svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px}.project-arrow{color:var(--muted);transition:transform .25s,color .25s}a.project-card:hover .project-arrow{color:var(--gold);transform:translate(2px,-2px)}.cert-grid{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:3rem;display:grid}.cert-card{background:var(--bg2);border:.5px solid var(--border);border-radius:12px;flex-direction:column;padding:1.7rem;transition:background .3s,border-color .3s;display:flex}.cert-card:hover{background:var(--card-hover);border-color:var(--border2)}.cert-card.is-featured{border-color:var(--border2);background:linear-gradient(160deg,var(--gold-a08),transparent 60%),var(--bg2)}.cert-content{flex:1}.cert-badge{letter-spacing:.08em;text-transform:uppercase;border:1px solid;border-radius:999px;margin-bottom:.7rem;padding:.18rem .55rem;font-size:.6rem;font-weight:700;display:inline-block}.cert-badge--odoo{color:#c27aa9;background:#a05a8c1f;border-color:#a05a8c4d}.cert-badge--bnsp{color:#10a374;background:#10b9811f;border-color:#10b98147}.cert-badge--dicoding{color:#6f74e8;background:#6366f11f;border-color:#6366f147}.cert-badge--gamelab{color:#d9488f;background:#ec48991a;border-color:#ec489940}.cert-org{color:var(--gold);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.5rem;font-family:JetBrains Mono,monospace;font-size:.64rem}.cert-title{color:var(--text);margin-bottom:.35rem;font-family:Cormorant Garamond,Georgia,serif;font-size:1.3rem;font-weight:500;line-height:1.2}.cert-sub{color:var(--muted);margin-bottom:.3rem;font-size:.78rem}.cert-reg{color:var(--muted);margin-bottom:1.2rem;font-family:JetBrains Mono,monospace;font-size:.65rem}.cert-link{color:var(--gold);border:.5px solid var(--border2);border-radius:5px;align-self:flex-start;align-items:center;gap:.4rem;margin-top:auto;padding:.4rem .9rem;font-size:.72rem;text-decoration:none;transition:background .3s;display:inline-flex}.cert-link:hover{background:var(--gold-a08)}.cert-link svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px}.contact-wrap{background:var(--bg2);border:.5px solid var(--border);border-radius:16px;grid-template-columns:1fr 1fr;align-items:start;gap:4rem;margin-top:3rem;padding:4rem;display:grid}.contact-title{margin-bottom:1rem;font-family:Cormorant Garamond,Georgia,serif;font-size:2.4rem;font-weight:300;line-height:1.2}.contact-title em{color:var(--gold);font-style:italic}.contact-desc{color:var(--muted);margin-bottom:2rem;font-size:.88rem;line-height:1.85}.contact-links{flex-direction:column;gap:.65rem;display:flex}.contact-link{background:var(--bg3);border:.5px solid var(--border);color:var(--text);border-radius:8px;align-items:center;gap:1rem;padding:1rem 1.2rem;text-decoration:none;transition:border-color .3s,background .3s,transform .3s;display:flex}.contact-link:hover{border-color:var(--border2);background:var(--bg4);transform:translate(6px)}.contact-link-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.contact-link-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.icon-li{color:#3b8fe8;background:#0a66c226}.icon-email{background:var(--gold-a15);color:var(--gold)}.icon-wa{color:#1fae57;background:#25d36624}.icon-gh{color:var(--text2);background:#9696961f}.contact-link-info{flex:1;min-width:0}.contact-link-label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.1rem;font-family:JetBrains Mono,monospace;font-size:.66rem}.contact-link-value{color:var(--text);overflow-wrap:anywhere;font-size:.87rem}.contact-arrow{color:var(--muted);font-size:.85rem;transition:transform .3s,color .3s}.contact-link:hover .contact-arrow{color:var(--gold);transform:translate(4px)}.availability{background:var(--bg3);border:.5px solid var(--border);border-radius:10px;padding:1.8rem}.avail-dot{vertical-align:middle;background:#1d9e75;border-radius:50%;width:7px;height:7px;margin-right:.5rem;animation:2s infinite pulse;display:inline-block}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.avail-label{color:#1d9e75;vertical-align:middle;font-size:.77rem;font-weight:500}.avail-title{margin:.8rem 0 .2rem;font-family:Cormorant Garamond,Georgia,serif;font-size:1.35rem;font-weight:400}.services-list{flex-direction:column;gap:.5rem;margin-top:.9rem;list-style:none;display:flex}.services-list li{color:var(--muted);align-items:flex-start;gap:.6rem;font-size:.82rem;line-height:1.5;display:flex}.services-list li:before{content:"✦";color:var(--gold);flex-shrink:0;margin-top:.4rem;font-size:.5rem}.location-box{background:var(--bg3);border:.5px solid var(--border);border-radius:8px;margin-top:.8rem;padding:1.1rem 1.2rem;transition:border-color .3s}.location-box:hover{border-color:var(--border2)}.location-lbl{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.4rem;font-family:JetBrains Mono,monospace;font-size:.66rem}.location-value{color:var(--text);font-size:.88rem}.location-note{color:var(--muted);margin-top:.25rem;font-size:.76rem}footer{border-top:.5px solid var(--border);z-index:1;justify-content:space-between;align-items:center;gap:1rem;max-width:1200px;margin:0 auto;padding:2rem 5vw;display:flex;position:relative}.footer-left{color:var(--muted);font-family:Cormorant Garamond,Georgia,serif;font-size:.92rem}.footer-left strong{color:var(--gold);font-weight:600}.footer-center{align-items:center;gap:1rem;display:flex}.footer-social{color:var(--muted);align-items:center;transition:color .3s;display:flex}.footer-social:hover{color:var(--gold)}.footer-social svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.footer-right{color:var(--muted);font-family:JetBrains Mono,monospace;font-size:.7rem}.particles-bg{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.particle{background:var(--gold);opacity:0;border-radius:50%;width:2px;height:2px;animation:12s ease-in-out infinite floatParticle;position:absolute}@keyframes floatParticle{0%{opacity:0;transform:translateY(100vh)scale(0)}20%{opacity:.3}50%{opacity:.15}80%{opacity:.3}to{opacity:0;transform:translateY(-10vh)scale(1)}}.floating-wa{color:#fff;z-index:150;background-color:#25d366;border-radius:50%;justify-content:center;align-items:center;width:55px;height:55px;transition:background-color .3s,box-shadow .3s;display:flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 4px 15px #25d36666}.floating-wa svg{width:30px;height:30px}.floating-wa:hover{background-color:#128c7e;box-shadow:0 6px 20px #25d36699}@media (width<=1024px){.nav-links{gap:1.1rem}.nav-links a{font-size:.68rem}.projects-grid{grid-template-columns:repeat(2,1fr)}.project-card,.project-card.is-featured{grid-column:span 1}.cert-grid{grid-template-columns:repeat(2,1fr)}.exp-grid{grid-template-columns:1fr;gap:3rem}}@media (width<=960px){.nav-links,.nav-cta{display:none}.menu-btn{display:flex}}@media (width<=768px){section{padding:4.5rem 16px}nav{padding-left:16px;padding-right:16px}.hero-wrap{padding:0 16px}.hero{min-height:auto;padding:7.5rem 0 4rem}.hero-stats{grid-template-columns:repeat(2,1fr);gap:1.6rem}.portfolio-grid,.projects-grid,.cert-grid{grid-template-columns:1fr}.portfolio-card{padding:1.8rem}.exp-timeline{padding-left:1.2rem}.exp-item{padding-left:1rem}.exp-item:before{left:-1.45rem}.contact-wrap{grid-template-columns:1fr;gap:2rem;padding:1.6rem}.contact-title{font-size:2rem}footer{text-align:center;flex-direction:column;gap:.6rem;padding:2rem 16px 5.5rem}.footer-center{order:-1}.floating-wa{width:48px;height:48px;bottom:1.25rem;right:1.25rem}.floating-wa svg{width:26px;height:26px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.particles-bg{display:none}}
