.navbar{z-index:100;height:var(--navbar-height);transition:background var(--transition), box-shadow var(--transition);background:0 0;position:fixed;top:0;left:0;right:0}.navbar-scrolled{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff0;box-shadow:0 4px 20px #2563eb1f}.navbar-inner{justify-content:space-between;align-items:center;height:100%;display:flex}.navbar-logo{align-items:center;gap:.6rem;font-size:1.25rem;font-weight:800;display:flex}.navbar-logo-icon{background:var(--gradient-main);width:38px;height:38px;color:var(--color-white);transition:transform var(--transition);border-radius:10px;place-items:center;display:grid}.navbar-logo:hover .navbar-logo-icon{transform:rotate(-10deg)scale(1.08)}.navbar-logo-text span{color:var(--color-orange)}.navbar-links{align-items:center;gap:.25rem;display:flex}.navbar-link{color:var(--color-text-muted);transition:color var(--transition);padding:.6rem 1rem;font-size:1rem;font-weight:600;display:inline-block;position:relative}.navbar-link:hover,.navbar-link.active{color:var(--color-blue)}.navbar-indicator{background:var(--gradient-warm);border-radius:3px;height:3px;position:absolute;bottom:2px;left:1rem;right:1rem}.navbar-link:not(.active):after{content:"";background:var(--color-cyan);transform-origin:0;width:calc(100% - 2rem);height:3px;transition:transform var(--transition);border-radius:3px;position:absolute;bottom:2px;left:1rem;transform:scaleX(0)}.navbar-link:not(.active):hover:after{transform:scaleX(1)}.navbar-toggle{border-radius:var(--radius-sm);width:48px;height:48px;color:var(--color-navy);place-items:center;display:none}@media (width<=860px){.navbar-toggle{display:grid}.navbar-links{top:var(--navbar-height);padding:.5rem var(--space-md) var(--space-md);background:var(--color-white);border-top:3px solid var(--color-cyan);opacity:0;visibility:hidden;transition:opacity var(--transition), transform var(--transition), visibility var(--transition);flex-direction:column;align-items:stretch;gap:0;position:absolute;left:0;right:0;transform:translateY(-10px);box-shadow:0 16px 30px #2563eb26}.navbar-links.open{opacity:1;visibility:visible;transform:translateY(0)}.navbar-link{border-bottom:1px solid var(--color-border);padding:.9rem .5rem;font-size:1.1rem;display:block}.navbar-indicator{width:4px;height:auto;inset:20% auto 20% 0}.navbar-link:not(.active):after{display:none}}.footer{background:var(--color-navy);color:#c9d3f2;padding-top:var(--space-xl);position:relative}.footer:before{content:"";background:var(--gradient-rainbow);background-size:200% 100%;height:5px;animation:6s linear infinite gradient-shift;position:absolute;top:0;left:0;right:0}.footer-inner{gap:var(--space-lg);padding-bottom:var(--space-lg);grid-template-columns:1.5fr 1fr 1.2fr;display:grid}.footer-name{color:var(--color-white);margin-bottom:.5rem;font-size:1.6rem}.footer-tagline{font-size:var(--text-card);margin-bottom:var(--space-md);max-width:340px}.footer-socials{gap:.75rem;display:flex}.footer-socials a{background:var(--color-navy-soft);width:44px;height:44px;color:var(--color-white);transition:background var(--transition), transform var(--transition), color var(--transition);border-radius:12px;place-items:center;display:grid}.footer-socials a:hover{background:var(--color-lime);color:var(--color-navy);transform:translateY(-4px)}.footer h3{color:var(--color-white);margin-bottom:var(--space-sm);font-size:1.15rem}.footer-nav ul{grid-template-columns:repeat(2,auto);justify-content:start;gap:.4rem 2rem;display:grid}.footer-nav a{font-size:var(--text-card);transition:color var(--transition), transform var(--transition);padding:.25rem 0;display:inline-block}.footer-nav a:hover{color:var(--color-cyan);transform:translate(4px)}.footer-cta p{font-size:var(--text-card);margin-bottom:var(--space-sm)}.footer-bottom{justify-content:space-between;align-items:center;gap:var(--space-sm);padding-top:var(--space-md);padding-bottom:var(--space-md);border-top:1px solid var(--color-navy-soft);font-size:var(--text-small);flex-wrap:wrap;display:flex}.footer-top-button{border-radius:var(--radius-sm);border:1px solid var(--color-cyan);min-height:44px;color:var(--color-cyan);transition:background var(--transition), color var(--transition);align-items:center;gap:.4rem;padding:.5rem 1rem;font-weight:600;display:inline-flex}.footer-top-button:hover{background:var(--color-cyan);color:var(--color-navy)}@media (width<=900px){.footer-inner{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}@media (width<=600px){.footer-inner{grid-template-columns:1fr}.footer-bottom{padding-right:80px}}.linkedin-float{z-index:90;background:var(--color-linkedin);width:56px;height:56px;color:var(--color-white);transition:background var(--transition);border-radius:50%;place-items:center;animation:3.5s ease-in-out infinite float,2.4s ease-out infinite pulse-ring;display:grid;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 22px #0a66c273}.linkedin-float:hover{background:#004182;animation-play-state:paused}.linkedin-tooltip{border-radius:var(--radius-sm);background:var(--color-navy);color:var(--color-white);font-size:var(--text-small);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition), transform var(--transition);padding:.4rem .8rem;font-weight:600;position:absolute;top:50%;right:calc(100% + 12px);transform:translateY(-50%)translate(6px)}.linkedin-float:hover .linkedin-tooltip,.linkedin-float:focus-visible .linkedin-tooltip{opacity:1;transform:translateY(-50%)translate(0)}@media (width<=600px){.linkedin-float{width:50px;height:50px;bottom:14px;right:14px}.linkedin-tooltip{display:none}}.hero{min-height:calc(100vh - var(--navbar-height));padding:var(--space-lg) 0 var(--space-xl);align-items:center;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;pointer-events:none;position:absolute;inset:0}.hero-blob{filter:blur(70px);opacity:.35;border-radius:50%;position:absolute}.hero-blob-blue{background:var(--color-cyan);width:460px;height:460px;top:-120px;right:-100px}.hero-blob-orange{background:var(--color-orange);opacity:.22;width:380px;height:380px;bottom:-140px;left:-120px}.hero-grid{background-image:radial-gradient(#2563eb2e 1.5px,#0000 1.5px);background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#0000 85%);mask-image:linear-gradient(#000 0%,#0000 85%)}.hero-inner{z-index:1;align-items:center;gap:var(--space-lg);grid-template-columns:1.15fr .85fr;display:grid;position:relative}.hero-greeting{margin-bottom:var(--space-xs);color:#b45309;font-family:var(--font-mono);background:#ff7a0024;border-radius:999px;padding:.3rem 1rem;font-size:1rem;font-weight:700;display:inline-block}.hero-name{font-size:var(--text-hero);letter-spacing:-.02em;margin-bottom:var(--space-sm);line-height:1.08}.hero-name span{background:var(--gradient-main);color:#0000;-webkit-background-clip:text;background-clip:text}.hero-role{min-height:2.2rem;margin-bottom:var(--space-md);font-family:var(--font-mono);color:var(--color-navy);font-size:clamp(1.1rem,2.6vw,1.5rem);font-weight:700}.hero-role-prefix{color:var(--color-orange)}.hero-cursor{color:var(--color-cyan);margin-left:2px;animation:1s infinite blink}.hero-intro{max-width:600px;margin-bottom:var(--space-md);color:var(--color-text-muted)}.hero-buttons{margin-bottom:var(--space-md);flex-wrap:wrap;gap:.9rem;display:flex}.hero-socials{gap:.75rem;display:flex}.hero-socials a{border:2px solid var(--color-border);background:var(--color-white);width:46px;height:46px;color:var(--color-blue);transition:transform var(--transition), background var(--transition), color var(--transition), border-color var(--transition);border-radius:50%;place-items:center;display:grid}.hero-socials a:hover{background:var(--color-blue);border-color:var(--color-blue);color:var(--color-white);transform:translateY(-4px)}.hero-visual{justify-content:center;display:flex}.profile-float{aspect-ratio:1;width:min(100%,420px);animation:6s ease-in-out infinite float;position:relative}.profile-ring{border:3px dashed var(--color-cyan);opacity:.7;border-radius:50%;animation:28s linear infinite spin-slow;position:absolute;inset:-16px}.profile-frame{border:6px solid var(--color-white);background:var(--gradient-main);width:100%;height:100%;box-shadow:var(--shadow-lg), 12px 12px 0 var(--color-orange);animation:14s ease-in-out infinite morph-frame;position:relative;overflow:hidden}.profile-frame img{object-fit:cover;object-position:center top;width:100%;height:100%}.tech-badge{z-index:3;background:var(--color-white);width:58px;height:58px;box-shadow:var(--shadow-md);border-radius:16px;place-items:center;animation:4.5s ease-in-out infinite float;display:grid;position:absolute}.tech-badge-html{color:#e34f26;top:4%;left:-6%}.tech-badge-react{color:#06b6d4;animation-delay:.8s;top:12%;right:-7%}.tech-badge-java{color:#e76f00;animation-delay:1.4s;bottom:12%;left:-8%}.tech-badge-shield{color:var(--color-white);background:var(--color-navy);animation-delay:2s;bottom:2%;right:-4%}.deco-dot{z-index:3;border-radius:50%;animation:5s ease-in-out infinite float;position:absolute}.deco-dot-one{background:var(--color-lime);width:18px;height:18px;top:-4%;left:48%}.deco-dot-two{background:var(--color-orange);width:12px;height:12px;animation-delay:1s;bottom:28%;right:-10%}.deco-dot-three{background:var(--color-cyan);width:14px;height:14px;animation-delay:2s;top:42%;left:-12%}.highlights{padding:var(--space-lg) 0}.highlights-grid{gap:var(--space-md);text-align:center;grid-template-columns:repeat(4,1fr);display:grid}.highlight strong{background:linear-gradient(90deg, var(--color-lime), var(--color-cyan));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(2rem,4vw,2.75rem);font-weight:800;line-height:1.1;display:block}.highlight span{font-size:var(--text-card);color:#b8c3e6}@media (width<=900px){.hero{min-height:auto;padding-top:var(--space-md)}.hero-inner{gap:var(--space-xl);grid-template-columns:1fr}.hero-visual{order:-1}.profile-float{width:min(78%,340px)}.highlights-grid{gap:var(--space-lg) var(--space-md);grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.hero-buttons .btn{width:100%}.tech-badge{border-radius:12px;width:46px;height:46px}.tech-badge svg{width:22px;height:22px}.tech-badge-html{left:-3%}.tech-badge-react{right:-3%}.tech-badge-java{left:-3%}.tech-badge-shield{right:-2%}}.hero-buttons .btn{padding:.75rem 1.1rem;font-size:.95rem}.about-intro-grid{align-items:start;gap:var(--space-xl);grid-template-columns:1.1fr .9fr;display:grid}.about-title{text-align:left}.about-lead{font-size:1.25rem;font-weight:600}.about-intro p,.about-server p,.about-goals p{margin-bottom:var(--space-sm);color:var(--color-text-muted)}.about-lead,.about-server p{color:inherit}.about-server p{color:#c9d3f2}.about-facts{margin-top:var(--space-md);flex-direction:column;gap:.6rem;display:flex}.about-facts li{align-items:center;gap:.6rem;font-weight:600;display:flex}.about-facts svg{color:var(--color-orange);flex-shrink:0}.about-cards{gap:var(--space-sm);flex-direction:column;display:flex}.about-card{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-white);border:2px solid var(--color-border);border-left:6px solid var(--card-accent);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex}.about-card h2{font-size:1.1rem}.about-card p{font-size:var(--text-card);color:var(--color-text-muted);margin:0}.about-card-icon{background:var(--card-accent);width:50px;height:50px;color:var(--color-white);border-radius:14px;flex-shrink:0;place-items:center;display:grid}.about-card-blue{--card-accent:var(--color-blue)}.about-card-cyan{--card-accent:var(--color-cyan)}.about-card-orange{--card-accent:var(--color-orange)}.about-card-lime{--card-accent:var(--color-lime)}.about-card-lime .about-card-icon{color:var(--color-navy)}.about-journey{background:var(--color-white);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.journey-steps{gap:var(--space-md);counter-reset:step;grid-template-columns:repeat(4,1fr);display:grid}.journey-step{padding:var(--space-md);padding-top:var(--space-lg);background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-md);position:relative}.journey-year{top:-18px;left:var(--space-md);background:var(--gradient-main);color:var(--color-white);font-family:var(--font-mono);border-radius:999px;padding:.25rem 1rem;font-weight:700;position:absolute}.journey-step:last-child .journey-year{background:var(--gradient-warm);color:var(--color-navy)}.journey-step p{font-size:var(--text-card);color:var(--color-text-muted)}.about-link-row{margin-top:var(--space-lg);justify-content:center;display:flex}.about-server-grid{align-items:center;gap:var(--space-xl);grid-template-columns:1fr 1fr;display:grid}.server-diagram{flex-direction:column;align-items:center;display:flex}.server-node{width:100%;max-width:340px;padding:var(--space-sm) var(--space-md);text-align:center;background:var(--color-navy-soft);border-radius:var(--radius-md);color:var(--color-cyan);border:2px solid #26305a;flex-direction:column;align-items:center;gap:.2rem;display:flex}.server-node strong{color:var(--color-white)}.server-node span{font-size:var(--text-small);color:#b8c3e6}.server-node-accent{border-color:var(--color-orange);color:var(--color-orange)}.server-link{background:repeating-linear-gradient(to bottom, var(--color-lime) 0 8px, transparent 8px 14px);width:4px;height:36px}.about-goals-grid{gap:var(--space-xl);grid-template-columns:1fr 1fr;display:grid}.about-subheading{margin-bottom:var(--space-md);font-size:var(--text-sub);align-items:center;gap:.5rem;display:flex}.about-subheading svg{color:var(--color-orange)}.interest-tags{flex-wrap:wrap;gap:.6rem;display:flex}.interest-tags li{background:var(--color-white);border:2px solid var(--color-border);font-size:var(--text-card);transition:background var(--transition), color var(--transition), border-color var(--transition);border-radius:999px;padding:.45rem 1rem;font-weight:700}.interest-tags li:nth-child(4n+1):hover{background:var(--color-blue);color:var(--color-white);border-color:var(--color-blue)}.interest-tags li:nth-child(4n+2):hover{background:var(--color-cyan);color:var(--color-navy);border-color:var(--color-cyan)}.interest-tags li:nth-child(4n+3):hover{background:var(--color-orange);color:var(--color-navy);border-color:var(--color-orange)}.interest-tags li:nth-child(4n):hover{background:var(--color-lime);color:var(--color-navy);border-color:var(--color-lime)}.about-cta{margin-top:var(--space-xs)}@media (width<=1000px){.journey-steps{row-gap:var(--space-lg);grid-template-columns:repeat(2,1fr)}}@media (width<=860px){.about-intro-grid,.about-server-grid,.about-goals-grid{gap:var(--space-lg);grid-template-columns:1fr}}@media (width<=560px){.journey-steps{grid-template-columns:1fr}}.timeline{max-width:1000px;margin:0 auto;position:relative}.timeline-track{background:var(--color-border);border-radius:4px;width:4px;margin-left:-2px;position:absolute;top:0;bottom:0;left:50%;overflow:hidden}.timeline-progress{transform-origin:top;background:linear-gradient(180deg, var(--color-blue), var(--color-cyan), var(--color-lime));width:100%;height:100%}.timeline-list{gap:var(--space-lg);flex-direction:column;display:flex;position:relative}.timeline-item{width:50%;display:flex;position:relative}.timeline-left{justify-content:flex-end;padding-right:3.5rem}.timeline-right{justify-content:flex-start;align-self:flex-end;padding-left:3.5rem}.timeline-marker{z-index:2;background:var(--color-white);border:4px solid var(--color-blue);width:46px;height:46px;color:var(--color-blue);transition:background var(--transition), color var(--transition), border-color var(--transition), box-shadow var(--transition);border-radius:50%;place-items:center;display:grid;position:absolute;top:1.5rem}.timeline-left .timeline-marker{right:-23px}.timeline-right .timeline-marker{left:-23px}.timeline-card{width:100%;padding:var(--space-md);background:var(--color-white);border:2px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:border-color var(--transition), box-shadow var(--transition)}.timeline-card:before{content:"";background:var(--color-white);border:2px solid var(--color-border);width:14px;height:14px;transition:border-color var(--transition);position:absolute;top:2rem;transform:rotate(45deg)}.timeline-left .timeline-card:before{border-bottom:none;border-left:none;right:calc(3.5rem - 7px)}.timeline-right .timeline-card:before{border-top:none;border-right:none;left:calc(3.5rem - 7px)}.timeline-item.is-active .timeline-marker{background:var(--color-blue);color:var(--color-white);box-shadow:0 0 0 8px #2563eb2e}.timeline-item.is-active .timeline-card,.timeline-item.is-active .timeline-card:before{border-color:var(--color-blue)}.timeline-item.is-active .timeline-card{box-shadow:var(--shadow-lg)}.timeline-item.is-achievement .timeline-marker{border-color:var(--color-orange);color:var(--color-orange)}.timeline-item.is-achievement.is-active .timeline-marker{background:var(--color-orange);color:var(--color-white);box-shadow:0 0 0 8px #ff7a0033}.timeline-item.is-achievement .timeline-card{background:linear-gradient(135deg, #fff7ed, var(--color-white));border-color:#ffd7ad}.timeline-item.is-achievement.is-active .timeline-card,.timeline-item.is-achievement.is-active .timeline-card:before{border-color:var(--color-orange)}.timeline-item.is-current .timeline-marker{border-color:var(--color-lime-dark);color:var(--color-lime-dark)}.timeline-item.is-current.is-active .timeline-marker{background:var(--color-lime);color:var(--color-navy);box-shadow:0 0 0 8px #a3e63559}.timeline-item.is-current.is-active .timeline-card,.timeline-item.is-current.is-active .timeline-card:before{border-color:var(--color-lime-dark)}.timeline-card-header{justify-content:space-between;align-items:center;gap:var(--space-xs);flex-wrap:wrap;margin-bottom:.6rem;display:flex}.timeline-period{font-family:var(--font-mono);font-size:var(--text-small);color:var(--color-blue);font-weight:700}.timeline-status{color:var(--color-blue-dark);background:#2563eb1a;border-radius:999px;padding:.15rem .7rem;font-size:.8rem;font-weight:700}.is-achievement .timeline-status{color:#b45309;background:#ff7a0026}.is-current .timeline-status{color:var(--color-lime-dark);background:#a3e63559}.timeline-title{margin-bottom:.25rem;font-size:1.35rem}.timeline-institution{color:var(--color-blue);margin-bottom:.25rem;font-weight:700}.timeline-qualification{font-size:var(--text-card);color:var(--color-text-muted);margin-bottom:var(--space-sm)}.timeline-details{flex-wrap:wrap;gap:.6rem;display:flex}.timeline-detail{border-radius:var(--radius-sm);background:var(--color-bg);border:1px solid var(--color-border);padding:.4rem .8rem}.timeline-detail dt{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-size:.75rem;font-weight:700}.timeline-detail dd{font-size:1.05rem;font-weight:800}@media (width<=800px){.timeline-track{margin-left:-2px;left:23px}.timeline-item,.timeline-left,.timeline-right{justify-content:flex-start;align-self:auto;width:100%;padding-left:4rem;padding-right:0}.timeline-left .timeline-marker,.timeline-right .timeline-marker{left:0;right:auto}.timeline-left .timeline-card:before,.timeline-right .timeline-card:before{border:2px solid var(--color-border);border-top:none;border-right:none;left:calc(4rem - 7px);right:auto}.timeline-item.is-active .timeline-card:before{border-color:var(--color-blue);border-top:none;border-right:none}}@media (width<=420px){.timeline-item,.timeline-left,.timeline-right{padding-left:3.4rem}.timeline-marker{width:40px;height:40px}.timeline-track{left:20px}.timeline-card{padding:var(--space-sm)}}.education-section{background:radial-gradient(circle at 90% 5%, #06b6d41f, transparent 40%), radial-gradient(circle at 5% 60%, #ff7a0014, transparent 40%), var(--color-bg);overflow-x:clip}.project-card{background:var(--color-white);border:2px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:border-color var(--transition), box-shadow var(--transition);flex-direction:column;display:flex;position:relative;overflow:hidden}.project-card:hover,.project-card:focus-within{border-color:var(--color-cyan);box-shadow:var(--shadow-lg)}.project-thumb{aspect-ratio:16/9;background:var(--gradient-main);position:relative;overflow:hidden}.project-thumb-letter{color:#ffffff59;place-items:center;font-size:5rem;font-weight:800;display:grid;position:absolute;inset:0}.project-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .5s;position:relative}.project-card:hover .project-thumb img{transform:scale(1.06)}.project-badge{z-index:2;font-family:var(--font-mono);letter-spacing:.05em;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .75rem;font-size:.8rem;font-weight:700;display:inline-flex;position:absolute;top:12px;left:12px}.project-badge-live{background:var(--color-lime);color:var(--color-navy)}.project-badge-dot{background:var(--color-navy);border-radius:50%;width:8px;height:8px;animation:1.4s infinite blink}.project-badge-source{background:var(--color-navy);color:var(--color-white)}.project-body{padding:var(--space-md);flex-direction:column;flex:1;display:flex}.project-meta{justify-content:space-between;gap:var(--space-xs);font-family:var(--font-mono);text-transform:uppercase;color:var(--color-orange);margin-bottom:.6rem;font-size:.8rem;font-weight:700;display:flex}.project-meta span:last-child{color:var(--color-blue)}.project-title{margin-bottom:.2rem;font-size:1.3rem}.project-main-link:after{content:"";z-index:1;position:absolute;inset:0}.project-main-link:hover{color:var(--color-blue)}.project-subtitle{font-size:var(--text-small);color:var(--color-blue);margin-bottom:var(--space-xs);font-weight:600}.project-description{font-size:var(--text-card);color:var(--color-text-muted);margin-bottom:var(--space-sm)}.project-tech{margin-bottom:var(--space-md);flex-wrap:wrap;gap:.4rem;display:flex}.project-tech li{color:var(--color-blue-dark);background:#2563eb17;border-radius:6px;padding:.2rem .65rem;font-size:.85rem;font-weight:600}.project-actions{z-index:2;flex-wrap:wrap;gap:.6rem;margin-top:auto;display:flex;position:relative}.project-button{border-radius:var(--radius-sm);min-height:44px;transition:transform var(--transition), background var(--transition), color var(--transition);flex:120px;justify-content:center;align-items:center;gap:.45rem;padding:.5rem 1rem;font-size:.95rem;font-weight:700;display:inline-flex}.project-button:hover{transform:translateY(-2px)}.project-button-github{background:var(--color-navy);color:var(--color-white)}.project-button-github:hover{background:var(--color-navy-soft)}.project-button-live{background:var(--color-lime);color:var(--color-navy)}.project-button-live:hover{background:#bef264}.projects-grid{gap:var(--space-md);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=1024px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.projects-grid{grid-template-columns:1fr}}.skill-card{text-align:center;padding:var(--space-md) var(--space-sm);background:var(--color-white);border:2px solid var(--color-border);border-top:5px solid var(--skill-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition), border-color var(--transition);flex-direction:column;align-items:center;gap:.6rem;display:flex;position:relative}.skill-card:hover{box-shadow:0 14px 30px color-mix(in srgb, var(--skill-color) 28%, transparent);border-color:var(--skill-color)}.skill-card-learning{background:#fffaf3;border-style:solid dashed dashed}.skill-card-icon{width:60px;height:60px;color:var(--skill-color);background:color-mix(in srgb, var(--skill-color) 12%, white);transition:transform var(--transition);border-radius:16px;place-items:center;display:grid}.skill-card:hover .skill-card-icon{transform:rotate(-8deg)scale(1.1)}.skill-card-name{font-size:1rem;font-weight:700;line-height:1.3}.skill-card-level{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.15rem .7rem;font-size:.75rem;font-weight:700}.skill-card-level.known{color:var(--color-lime-dark);background:#a3e6354d}.skill-card-level.learning{color:#b45309;background:#ff7a0026}.skills-legend{justify-content:center;gap:var(--space-md);margin-top:var(--space-md);font-size:var(--text-small);flex-wrap:wrap;font-weight:700;display:flex}.skills-legend li{align-items:center;gap:.5rem;display:flex}.legend-dot{border-radius:50%;width:14px;height:14px}.legend-known{background:var(--color-lime);border:2px solid var(--color-lime-dark)}.legend-learning{background:var(--color-white);border:2px dashed var(--color-orange)}.skills-categories{gap:var(--space-xl);flex-direction:column;display:flex}.skills-category-title{margin-bottom:var(--space-md);font-size:var(--text-sub);padding-bottom:.4rem;display:inline-block;position:relative}.skills-category-title:after{content:"";background:var(--gradient-rainbow);border-radius:4px;width:60%;height:4px;position:absolute;bottom:0;left:0}.skills-grid{gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(170px,1fr));display:grid}.design-grid{gap:var(--space-md);grid-template-columns:repeat(4,1fr);display:grid}.design-card{padding:var(--space-md);background:var(--color-navy-soft);border:2px solid #26305a;border-bottom:5px solid var(--design-color);border-radius:var(--radius-sm);transition:border-color var(--transition), box-shadow var(--transition);position:relative}.design-card:hover{border-color:var(--design-color);box-shadow:0 14px 34px color-mix(in srgb, var(--design-color) 35%, transparent)}.design-card-icon{width:54px;height:54px;margin-bottom:var(--space-sm);background:color-mix(in srgb, var(--design-color) 22%, transparent);color:color-mix(in srgb, var(--design-color) 60%, white);border-radius:50%;place-items:center;display:grid}.design-card h3{color:var(--color-white);margin-bottom:.4rem;font-size:1.1rem}.design-card p{font-size:var(--text-card);color:#b8c3e6}@media (width<=1024px){.design-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.design-grid{grid-template-columns:1fr}.skills-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=360px){.skills-grid{grid-template-columns:1fr}}.contact-section{background:radial-gradient(circle at 5% 10%, #a3e63524, transparent 35%), radial-gradient(circle at 95% 90%, #06b6d424, transparent 40%), var(--color-bg)}.contact-grid{align-items:start;gap:var(--space-lg);grid-template-columns:.9fr 1.1fr;display:grid}.contact-info{padding:var(--space-lg);background:var(--color-navy);color:var(--color-white);border-radius:var(--radius-lg);border-top:6px solid var(--color-orange)}.contact-info h2{margin-bottom:var(--space-xs);font-size:var(--text-sub)}.contact-info>p{margin-bottom:var(--space-md);font-size:var(--text-card);color:#c9d3f2}.contact-details{gap:var(--space-sm);margin-bottom:var(--space-lg);flex-direction:column;display:flex}.contact-details li{align-items:center;gap:var(--space-sm);font-size:var(--text-card);overflow-wrap:anywhere;display:flex}.contact-details a:hover{color:var(--color-cyan)}.contact-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:#8f9cc7;font-size:.75rem;font-weight:700;display:block}.contact-icon{border-radius:12px;flex-shrink:0;place-items:center;width:46px;height:46px;display:grid}.contact-icon-blue{background:var(--color-blue)}.contact-icon-orange{background:var(--color-orange);color:var(--color-navy)}.contact-icon-lime{background:var(--color-lime);color:var(--color-navy)}.contact-social-title{margin-bottom:var(--space-sm);font-size:1.1rem}.contact-socials{grid-template-columns:repeat(2,1fr);gap:.6rem;display:grid}.contact-social{border-radius:var(--radius-sm);background:var(--color-navy-soft);min-height:46px;transition:transform var(--transition), background var(--transition), color var(--transition);border:1px solid #26305a;align-items:center;gap:.5rem;padding:.5rem .9rem;font-size:.95rem;font-weight:600;display:flex}.contact-social:hover{background:var(--color-lime);color:var(--color-navy);transform:translateY(-3px)}.contact-social-linkedin:hover{background:var(--color-linkedin);color:var(--color-white)}.contact-form{gap:var(--space-md);padding:var(--space-lg);background:var(--color-white);border:2px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;display:flex}.form-row{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.form-field{flex-direction:column;gap:.4rem;min-width:0;display:flex}.form-field label{font-size:1rem;font-weight:700}.form-field input,.form-field textarea{border:2px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);width:100%;min-height:50px;color:var(--color-text);transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);padding:.75rem 1rem}.form-field textarea{resize:vertical;min-height:150px}.form-field input::placeholder,.form-field textarea::placeholder{color:#8b97ba}.form-field input:focus,.form-field textarea:focus{background:var(--color-white);border-color:var(--color-blue);outline:none;box-shadow:0 0 0 4px #2563eb26}.form-field [aria-invalid=true]{border-color:var(--color-error)}.form-error{font-size:var(--text-small);color:var(--color-error);font-weight:600}.form-submit{align-self:flex-start}.spin{animation:1s linear infinite spin-slow}.form-status{border-radius:var(--radius-sm);font-size:var(--text-card);align-items:flex-start;gap:.6rem;padding:.9rem 1rem;font-weight:600;display:flex}.form-status svg{flex-shrink:0;margin-top:2px}.form-status-success{color:#3f6212;border:1px solid var(--color-lime);background:#ecfccb}.form-status-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.form-status a{text-decoration:underline}@media (width<=960px){.contact-grid{grid-template-columns:1fr}}@media (width<=560px){.contact-info,.contact-form{padding:var(--space-md)}.form-row,.contact-socials{grid-template-columns:1fr}.form-submit{align-self:stretch}.contact-section{padding-bottom:6rem}}:root{--color-blue:#2563eb;--color-blue-dark:#1d4ed8;--color-cyan:#06b6d4;--color-orange:#ff7a00;--color-lime:#a3e635;--color-lime-dark:#4d7c0f;--color-navy:#0b1020;--color-navy-soft:#151c36;--color-white:#fff;--color-bg:#f7faff;--color-text:#0b1020;--color-text-muted:#4a5578;--color-border:#dbe5fb;--color-linkedin:#0a66c2;--color-error:#dc2626;--color-success:#15803d;--gradient-main:linear-gradient(135deg, var(--color-blue), var(--color-cyan));--gradient-warm:linear-gradient(135deg, var(--color-orange), #ffb347);--gradient-rainbow:linear-gradient(90deg, var(--color-blue), var(--color-cyan), var(--color-lime), var(--color-orange));--font-main:"Plus Jakarta Sans", "Inter", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--text-hero:clamp(2.5rem, 6vw, 4.25rem);--text-section:clamp(2rem, 4vw, 2.75rem);--text-sub:clamp(1.25rem, 2.5vw, 1.75rem);--text-body:1.125rem;--text-card:1rem;--text-small:.9rem;--space-xs:.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2.5rem;--space-xl:4rem;--space-section:clamp(3.5rem, 7vw, 6rem);--container-width:1200px;--navbar-height:72px;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--shadow-sm:0 2px 10px #0b10200f;--shadow-md:0 10px 30px #2563eb1f;--shadow-lg:0 20px 50px #2563eb33;--transition:.25s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-main);font-size:var(--text-body);color:var(--color-text);background-color:var(--color-bg);line-height:1.65;overflow-x:hidden}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}button{font-family:inherit;font-size:inherit;cursor:pointer;color:inherit;background:0 0;border:none}input,textarea{font-family:inherit;font-size:inherit}:focus-visible{outline:3px solid var(--color-orange);outline-offset:3px;border-radius:4px}h1,h2,h3,h4{font-weight:800;line-height:1.2}.container{width:100%;max-width:var(--container-width);padding:0 var(--space-md);margin:0 auto}.section{padding:var(--space-section) 0}.section-dark{background:var(--color-navy);color:var(--color-white)}.page-main{padding-top:var(--navbar-height);min-height:100vh}.section-heading{text-align:center;max-width:720px;margin:0 auto var(--space-lg)}.section-eyebrow{font-family:var(--font-mono);font-size:var(--text-small);letter-spacing:.08em;text-transform:uppercase;color:var(--color-blue);margin-bottom:var(--space-sm);background:#2563eb1a;border-radius:999px;padding:.3rem .9rem;font-weight:700;display:inline-block}.section-dark .section-eyebrow{color:var(--color-lime);background:#a3e6351f}.section-title{font-size:var(--text-section);margin-bottom:var(--space-sm)}.section-title span{background:var(--gradient-main);color:#0000;-webkit-background-clip:text;background-clip:text}.section-subtitle{color:var(--color-text-muted)}.section-dark .section-subtitle{color:#b8c3e6}.btn{border-radius:var(--radius-md);min-height:48px;transition:transform var(--transition), box-shadow var(--transition), background var(--transition), color var(--transition);border:2px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:700;display:inline-flex}.btn:hover{transform:translateY(-3px)}.btn-primary{background:var(--gradient-main);color:var(--color-white);box-shadow:0 8px 20px #2563eb4d}.btn-primary:hover{box-shadow:0 12px 28px #2563eb66}.btn-accent{background:var(--gradient-warm);color:var(--color-navy);box-shadow:0 8px 20px #ff7a004d}.btn-outline{border-color:var(--color-blue);color:var(--color-blue);background:var(--color-white)}.btn-outline:hover{background:var(--color-blue);color:var(--color-white)}.btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=480px){body{font-size:1.0625rem}.container{padding:0 var(--space-sm)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes morph-frame{0%{border-radius:12%}20%{border-radius:30%}40%{border-radius:50%/38%}60%{border-radius:50%}80%{border-radius:63% 37% 54% 46%/55% 48% 52% 45%}to{border-radius:12%}}@keyframes spin-slow{to{transform:rotate(360deg)}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes pulse-ring{0%{box-shadow:0 0 #0a66c273}to{box-shadow:0 0 0 16px #0a66c200}}@keyframes gradient-shift{0%{background-position:0%}to{background-position:200%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
