.btn{background:var(--glass-bg);color:var(--text-primary);line-height:1rem;border:1px solid var(--glass-border);border-radius:5rem;padding:.85rem 1.5rem;backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));transition:all .3s cubic-bezier(.16,1,.3,1);font-weight:500;letter-spacing:.5px;&:hover{background:#00d4ff1a;border-color:var(--border-hover);box-shadow:var(--glow-accent);transform:translateY(-2px)}&.all-round{padding:.85rem}}.btn-accent{background:var(--accent-gradient);color:var(--bg-primary);border:none;font-weight:600;padding:.85rem 2rem;border-radius:5rem;transition:all .3s cubic-bezier(.16,1,.3,1);&:hover{box-shadow:0 0 30px #00d4ff4d;transform:translateY(-2px)}}:root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-tertiary: #1a1a2e;--bg-card: rgba(255, 255, 255, .03);--bg-card-hover: rgba(255, 255, 255, .06);--accent-primary: #00d4ff;--accent-primary-rgb: 0, 212, 255;--accent-secondary: #7b68ee;--accent-secondary-rgb: 123, 104, 238;--accent-gradient: linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));--text-primary: #ffffff;--text-secondary: #d4d4d8;--text-muted: #a1a1aa;--border-subtle: rgba(255, 255, 255, .06);--border-accent: rgba(0, 212, 255, .2);--border-hover: rgba(0, 212, 255, .4);--glow-accent: 0 0 20px rgba(0, 212, 255, .15);--glow-accent-strong: 0 0 30px rgba(0, 212, 255, .25);--glass-bg: rgba(255, 255, 255, .04);--glass-border: rgba(255, 255, 255, .08);--glass-blur: 12px}a{position:relative;color:var(--text-primary);&:not(.btn){&:after{position:absolute;content:"";background:var(--accent-gradient);top:100%;left:0;width:0;height:1.5px;transition:width .3s cubic-bezier(.16,1,.3,1)}&:focus:after,&:hover:after{width:100%}}}*,*:before,*:after{box-sizing:border-box;min-width:0}*{margin:0;text-decoration:none}button{-webkit-appearance:none;appearance:none;border-radius:0;text-align:inherit;background:none;box-shadow:none;padding:0;cursor:pointer;border:none;color:inherit;font:inherit}ol,ul{list-style:none;padding:0}a{display:flex;align-items:center;justify-content:center}h1,h2,h3,h4,h5,h6{text-wrap:balance}p{text-wrap:pretty}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:3px}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px;border-radius:4px}:focus:not(:focus-visible){outline:none}.skip-to-content{position:absolute;top:-100%;left:50%;transform:translate(-50%);background:var(--accent-primary);color:var(--bg-primary);padding:.75rem 1.5rem;border-radius:0 0 8px 8px;font-weight:600;font-size:.9rem;z-index:100;transition:top .2s;text-decoration:none}.skip-to-content:focus{top:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}::-webkit-scrollbar-thumb:hover{background:var(--accent-secondary)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes glowPulse{0%,to{opacity:.15}50%{opacity:1}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes borderGlow{0%,to{border-color:#00d4ff33}50%{border-color:#00d4ff80}}.reveal{opacity:0;transform:translateY(30px);transition:opacity .3s ease-out,transform .3s ease-out}.reveal.visible{opacity:1;transform:translateY(0);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}.reveal-delay-1.visible{transition-delay:.05s}.reveal-delay-2.visible{transition-delay:.1s}.reveal-delay-3.visible{transition-delay:.15s}.reveal-delay-4.visible{transition-delay:.2s}:root{--page-space: 24px;--max-width: 1200px}html{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;scroll-behavior:smooth;scroll-padding-top:90px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;::selection{background-color:#00d4ff4d;color:var(--text-primary)}& body{margin:0;min-height:100dvh;background-color:var(--bg-primary);color:var(--text-primary);& img{pointer-events:none;-ms-user-select:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.no-text-select{-ms-user-select:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.max-width{max-width:var(--max-width);padding-inline:var(--page-space);margin:auto}.accent{color:var(--accent-primary);font-weight:600}.gradient-text{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glass-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:16px}}}header.menu{z-index:10;position:sticky;top:0;background:#0a0a0fcc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-subtle);transition:all .3s cubic-bezier(.16,1,.3,1);&.scrolled{background:#0a0a0ff2;box-shadow:0 1px 20px #0000004d}>.max-width{@media (max-width: 1024px){padding-inline:0}>nav{padding-block:16px;@media (max-width: 1024px){padding-inline:var(--page-space)}}.mobile{display:none}.map{display:grid;grid-template-columns:auto 1fr;align-items:center;width:100%;& ul{display:flex;gap:2rem;justify-content:center;font-size:.9rem;font-weight:400;letter-spacing:.5px;& a{color:var(--text-secondary);transition:color .3s;&:hover{color:var(--accent-primary)}}}}.logo{transition:opacity .3s;&:after{content:none}&:hover{opacity:.8}.logo-text{font-size:1.5rem;font-weight:800;letter-spacing:-1px;color:var(--text-primary)}.logo-dot{color:var(--accent-primary)}}@media (max-width: 1024px){.mobile{display:flex;justify-content:space-between;align-items:center;.menu-toggle-checkbox{display:none;&:checked~.menu-toggle-label span{&:nth-child(1){transform-origin:left center;transform:rotate(45deg) translate(2px,-4px);top:0}&:nth-child(2){opacity:0}&:nth-child(3){transform-origin:right center;transform:rotate(-45deg) translate(-2px,-4px);top:0}}}.menu-toggle-label{cursor:pointer;position:relative;width:1.75rem;height:1.25rem;& span{position:absolute;top:0;display:block;height:2px;background-color:var(--text-primary);width:100%;transition:all .3s ease;border-radius:2px;&:nth-child(2){top:calc(50% - 1px);opacity:1}&:nth-child(3){top:calc(100% - 2px)}}}}&:has(.menu-toggle-checkbox:checked){.mobile,.map{transition:background-color .3s;background:#0a0a0ffa}.map{display:flex}}.map{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;justify-content:center;gap:2rem;padding:2rem var(--page-space);border-bottom:1px solid var(--border-subtle);.logo{display:none}& ul{flex-direction:column;align-items:center;gap:1.5rem}}}}}#top{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100dvh - 60px);padding:4rem 0 2rem;.hero-content{display:flex;flex-direction:column;align-items:center;gap:2rem;text-align:center;animation:fadeIn 1s ease-out}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;border-radius:5rem;background:var(--glass-bg);border:1px solid var(--border-accent);font-size:.85rem;color:var(--accent-primary);font-weight:500;animation:fadeInUp .8s ease-out;.status-dot{position:relative;width:8px;height:8px;background:var(--accent-primary);border-radius:50%;box-shadow:0 0 6px rgba(var(--accent-primary-rgb),.5);&:after{content:"";position:absolute;inset:-5px;border-radius:50%;box-shadow:0 0 14px 4px rgba(var(--accent-primary-rgb),.7);animation:glowPulse 2s ease-in-out infinite}}}.me-title{display:flex;flex-direction:column;align-items:center;gap:.75rem;& h1{font-size:clamp(3.5rem,10vw,7rem);line-height:1;font-weight:800;letter-spacing:-2px;animation:fadeInUp .8s ease-out .2s backwards}.subtitle{font-size:clamp(1.25rem,3vw,1.75rem);font-weight:300;color:var(--text-secondary);letter-spacing:2px;text-transform:uppercase;animation:fadeInUp .8s ease-out .4s backwards}.hero-description{max-width:550px;font-size:1.05rem;line-height:1.7;color:var(--text-secondary);animation:fadeInUp .8s ease-out .6s backwards;padding-inline:1rem}}.links{display:flex;gap:1rem;animation:fadeInUp .8s ease-out .8s backwards;& a{transition:all .3s cubic-bezier(.16,1,.3,1);&:hover{transform:translateY(-3px)}&:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px}}& a img{width:1.5rem;aspect-ratio:1/1;filter:brightness(0) invert(1);opacity:.7;transition:opacity .3s}& a:hover img{opacity:1}}.scroll-indicator{position:absolute;bottom:2rem;animation:fadeIn 1s ease-out 1.2s backwards;.mouse{width:24px;height:38px;border:2px solid var(--text-muted);border-radius:12px;display:flex;justify-content:center;padding-top:6px;.wheel{width:3px;height:8px;background:var(--accent-primary);border-radius:2px;animation:scrollWheel 2s ease-in-out infinite}}}}@keyframes scrollWheel{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(12px)}}#experience{display:flex;flex-direction:column;gap:3rem;& header{display:flex;flex-direction:column;gap:.5rem}.section-tag{font-size:.85rem;font-weight:500;color:var(--accent-primary);letter-spacing:2px;text-transform:uppercase}.title-section{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:800;letter-spacing:-1px;color:var(--text-primary)}.timeline{display:flex;flex-direction:column;gap:0;position:relative}.timeline-item{display:grid;grid-template-columns:40px 1fr;gap:1.5rem;@media (max-width: 768px){grid-template-columns:24px 1fr;gap:1rem}}.timeline-marker{display:flex;flex-direction:column;align-items:center;padding-top:1.75rem;.marker-dot{width:12px;height:12px;border-radius:50%;background:var(--accent-primary);box-shadow:0 0 10px #00d4ff66;flex-shrink:0;position:relative;z-index:1}.marker-line{width:2px;flex:1;background:linear-gradient(to bottom,var(--accent-primary),transparent);opacity:.3}}.timeline-item:first-child .marker-dot{position:relative;width:14px;height:14px;&:after{content:"";position:absolute;inset:-6px;border-radius:50%;box-shadow:0 0 16px 5px rgba(var(--accent-primary-rgb),.6);animation:glowPulse 2s ease-in-out infinite}}.timeline-card{padding:1.75rem;margin-bottom:1.5rem;transition:all .3s cubic-bezier(.16,1,.3,1);&:hover{background:var(--bg-card-hover);border-color:var(--border-accent);box-shadow:var(--glow-accent)}@media (max-width: 768px){padding:1.25rem}}.card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;@media (max-width: 480px){flex-direction:column;align-items:flex-start;gap:.75rem}}.company-logo{width:52px;height:52px;border-radius:12px;object-fit:cover;border:1px solid var(--border-subtle);flex-shrink:0;@media (max-width: 768px){width:44px;height:44px}}.card-title{display:flex;flex-direction:column;gap:.25rem;flex:1;& h3{font-size:1.15rem;font-weight:600;color:var(--text-primary);line-height:1.3;@media (max-width: 768px){font-size:1.05rem}}}.card-meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;.company-name{font-size:.9rem;color:var(--accent-primary);font-weight:500}.period{font-size:.8rem;color:var(--text-muted);font-weight:400;letter-spacing:.5px;&:before{content:"·";margin-right:.75rem;color:var(--text-muted)}}}.card-description{font-size:.9rem;color:var(--text-secondary);line-height:1.6;margin-bottom:1rem}.task-list{display:flex;flex-direction:column;gap:.5rem;& li{font-size:.85rem;color:var(--text-secondary);line-height:1.6;padding-left:1.25rem;position:relative;&:before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--accent-primary);opacity:.5}}}}#projects{display:flex;flex-direction:column;gap:3rem;& header{display:flex;flex-direction:column;gap:.5rem}.section-tag{font-size:.85rem;font-weight:500;color:var(--accent-primary);letter-spacing:2px;text-transform:uppercase}.title-section{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:800;letter-spacing:-1px;color:var(--text-primary)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;@media (max-width: 380px){grid-template-columns:1fr}}.project-card{display:flex;flex-direction:column;padding:2rem;transition:all .3s cubic-bezier(.16,1,.3,1);cursor:pointer;text-decoration:none;&:after{content:none!important}&:hover{background:var(--bg-card-hover);border-color:var(--border-accent);box-shadow:var(--glow-accent);transform:translateY(-4px)}&:hover .arrow-icon{transform:translate(3px,-3px);color:var(--accent-primary)}&:hover h3{color:var(--accent-primary)}}.project-content{display:flex;flex-direction:column;gap:1rem;height:100%}.project-header{display:flex;justify-content:space-between;align-items:flex-start;& h3{font-size:1.15rem;font-weight:600;color:var(--text-primary);transition:color .3s}.arrow-icon{color:var(--text-muted);transition:all .3s;flex-shrink:0;margin-top:2px}}.project-content>p{font-size:.9rem;color:var(--text-secondary);line-height:1.6;flex:1}.tags{display:flex;flex-wrap:wrap;gap:.5rem;& li{font-size:.75rem;font-weight:500;color:var(--accent-primary);background:#00d4ff14;border:1px solid rgba(0,212,255,.15);padding:.3rem .75rem;border-radius:5rem;letter-spacing:.5px}}}#skills{display:flex;flex-direction:column;gap:3rem;& header{display:flex;flex-direction:column;gap:.5rem}.section-tag{font-size:.85rem;font-weight:500;color:var(--accent-primary);letter-spacing:2px;text-transform:uppercase}.title-section{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:800;letter-spacing:-1px;color:var(--text-primary)}.technologies{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;@media (max-width: 768px){grid-template-columns:1fr}}.skill-group{display:flex;flex-direction:column;gap:1.5rem;padding:2rem;transition:all .3s cubic-bezier(.16,1,.3,1);&:hover{background:var(--bg-card-hover);border-color:var(--border-accent)}@media (min-width: 769px){&:last-child{grid-column:1 / 3}}& h3{font-size:1.1rem;font-weight:600;color:var(--accent-primary);letter-spacing:1px;text-transform:uppercase}& ul{display:flex;flex-wrap:wrap;gap:1.25rem;@media (max-width: 480px){gap:1rem;justify-content:center}}& li{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:70px}.skill-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid var(--border-subtle);border-radius:14px;transition:all .3s cubic-bezier(.16,1,.3,1);& img{max-width:60%;max-height:60%;object-fit:contain}&.invert-icon img{filter:brightness(0) invert(1);opacity:.85}}& li:hover .skill-icon{background:#00d4ff1a;border-color:var(--border-accent);box-shadow:var(--glow-accent);transform:translateY(-4px)}& li:hover .invert-icon img{opacity:1}.skill-name{font-size:.7rem;color:var(--text-muted);text-align:center;font-weight:500;transition:color .3s}& li:hover .skill-name{color:var(--text-primary)}}}#me{display:flex;flex-direction:column;gap:3rem;& header{display:flex;flex-direction:column;gap:.5rem}.section-tag{font-size:.85rem;font-weight:500;color:var(--accent-primary);letter-spacing:2px;text-transform:uppercase}.title-section{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:800;letter-spacing:-1px;color:var(--text-primary)}& article{display:grid;grid-template-columns:1fr 2fr;align-items:start;gap:3rem;@media (max-width: 1024px){grid-template-columns:1fr;gap:2rem}}.image{position:relative;display:flex;justify-content:center;align-items:center;.image-glow{position:absolute;width:80%;height:80%;border-radius:50%;background:radial-gradient(circle,rgba(0,212,255,.15),transparent 70%);filter:blur(30px);z-index:0}& img{position:relative;z-index:1;max-width:280px;width:100%;border-radius:50%;border:2px solid var(--border-subtle);box-shadow:0 0 40px #00d4ff1a;transition:all .3s;@media (max-width: 1024px){max-width:220px;margin:0 auto}}&:hover img{box-shadow:0 0 50px #00d4ff33;border-color:var(--border-accent)}}.texts{display:flex;flex-direction:column;gap:1.5rem;>p{font-size:1.05rem;line-height:1.75;color:var(--text-secondary)}}.strengths{padding:1.75rem;& h3{font-size:1rem;font-weight:600;color:var(--accent-primary);margin-bottom:1.25rem;letter-spacing:.5px}& ul{display:flex;flex-direction:column;gap:1rem}& li{display:flex;align-items:flex-start;gap:.75rem;.strength-icon{font-size:1.25rem;line-height:1.5;flex-shrink:0}& strong{font-size:.9rem;font-weight:600;color:var(--text-primary)}& p{font-size:.85rem;color:var(--text-muted);line-height:1.5;margin-top:.15rem}}}}#contact{display:flex;flex-direction:column;gap:3rem;& header{display:flex;flex-direction:column;gap:.5rem}.section-tag{font-size:.85rem;font-weight:500;color:var(--accent-primary);letter-spacing:2px;text-transform:uppercase}.title-section{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:800;letter-spacing:-1px;color:var(--text-primary)}.contact-content{display:flex;flex-direction:column;gap:2rem;align-items:center}.contact-card{display:flex;flex-direction:column;gap:2rem;padding:2.5rem;text-align:center;align-items:center;max-width:600px;width:100%;@media (max-width: 768px){padding:1.75rem}}.contact-intro{font-size:1.05rem;line-height:1.75;color:var(--text-secondary)}.cta-button{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 2rem;background:var(--accent-gradient);color:var(--bg-primary);border-radius:5rem;font-weight:600;font-size:.95rem;transition:all .3s cubic-bezier(.16,1,.3,1);text-decoration:none;&:after{content:none!important}&:hover{box-shadow:0 0 30px #00d4ff4d;transform:translateY(-2px)}&:hover svg{transform:translate(4px)}& svg{transition:transform .3s}}.social-links{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.social-link{display:flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:5rem;font-size:.85rem;color:var(--text-secondary);font-weight:500;transition:all .3s cubic-bezier(.16,1,.3,1);text-decoration:none;&:after{content:none!important}&:hover{background:#00d4ff1a;border-color:var(--border-accent);color:var(--accent-primary);transform:translateY(-2px)}& img{width:1.1rem;height:1.1rem;filter:brightness(0) invert(1);opacity:.6;transition:opacity .3s}&:hover img{opacity:1}}}.site-footer{padding:2.5rem 0;border-top:1px solid var(--border-subtle);text-align:center;.max-width{display:flex;flex-direction:column;gap:.25rem}& p{font-size:.8rem;color:var(--text-muted);font-weight:400}.footer-year{font-size:.75rem}}.dot-grid-bg[data-astro-cid-j7pv25f6]{position:fixed;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:28px 28px;width:100vw;height:100vh}main[data-astro-cid-j7pv25f6]{position:relative;z-index:1;.max-width[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;gap:8rem;padding-bottom:4rem;@media (max-width: 768px){gap:5rem}}}
