@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body[data-theme=dark]{--bg-page: #0f172a;--bg-section: #1e293b;--bg-section-alt: #0f172a;--bg-card: #1e293b;--bg-navbar: rgba(15, 23, 42, .88);--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--accent: #2dd4bf;--accent-muted: #14b8a6;--border: #334155;--shadow: 0 8px 32px rgba(0, 0, 0, .35);--hero-gradient: linear-gradient( 135deg, #0f172a 0%, #134e4a 45%, #0f766e 100% );--badge-main-bg: #14b8a6;--badge-tech-bg: #1e293b;--badge-tech-text: #e2e8f0}body[data-theme=light]{--bg-page: #f8fafc;--bg-section: #ffffff;--bg-section-alt: #f1f5f9;--bg-card: #ffffff;--bg-navbar: rgba(248, 250, 252, .9);--text-primary: #0f172a;--text-secondary: #334155;--text-muted: #64748b;--accent: #0d9488;--accent-muted: #0f766e;--border: #e2e8f0;--shadow: 0 8px 32px rgba(15, 23, 42, .08);--hero-gradient: linear-gradient( 135deg, #0d9488 0%, #14b8a6 50%, #0f766e 100% );--badge-main-bg: #0d9488;--badge-tech-bg: #f1f5f9;--badge-tech-text: #334155}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;font-size:62.5%}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1.6rem;background:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased}.app{min-height:100vh}.site-navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--bg-navbar);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.site-navbar__inner{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;align-items:center;gap:2rem}.site-navbar__brand{background:none;border:none;font-size:1.8rem;font-weight:700;color:var(--accent);cursor:pointer;padding:0;white-space:nowrap}.site-navbar__links{list-style:none;margin:0;padding:0;display:flex;gap:.4rem;flex:1;justify-content:center}.site-navbar__links button{background:none;border:none;font-family:inherit;font-size:1.4rem;font-weight:500;color:var(--text-secondary);cursor:pointer;padding:.6rem 1.2rem;border-radius:8px;transition:color .2s,background .2s}.site-navbar__links button:hover{color:var(--accent);background:var(--bg-section-alt)}.site-navbar__actions{display:flex;align-items:center;gap:1.2rem}.site-navbar__lang{display:flex;gap:.4rem}.site-navbar__lang button{background:none;border:2px solid transparent;border-radius:8px;cursor:pointer;padding:.2rem;font-size:2.4rem;line-height:1;opacity:.55;transition:opacity .2s,border-color .2s}.site-navbar__lang button.is-active{opacity:1;border-color:var(--accent)}.site-navbar__lang button:hover{opacity:1}.theme-switch-icon{font-size:1.6rem;display:block;height:100%;text-align:center}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:8rem 2rem 4rem;overflow:hidden}.hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--hero-gradient);z-index:0}.hero__bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 50%,rgba(255,255,255,.08) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.06) 0%,transparent 40%)}.hero__content{position:relative;z-index:1;max-width:720px}.hero__icon{font-size:6rem;color:#ffffffd9;margin-bottom:1.6rem}.hero__name{font-size:clamp(3.6rem,8vw,5.6rem);font-weight:700;color:#fff;margin:0 0 1.2rem;letter-spacing:-.02em}.hero__name .Typewriter__wrapper,.hero__name .Typewriter__cursor{font:inherit;color:inherit}.hero__titles{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:300;color:#ffffffe6;min-height:3.2rem;margin-bottom:3.2rem}.hero__titles .Typewriter__wrapper,.hero__titles .Typewriter__cursor{font:inherit;color:inherit}.hero__cta{display:flex;gap:1.2rem;justify-content:center;flex-wrap:wrap;margin-bottom:4rem}.hero__cta-btn{display:inline-flex;align-items:center;gap:.8rem;padding:1rem 2rem;background:#ffffff26;border:1px solid rgba(255,255,255,.3);border-radius:999px;color:#fff;font-size:1.4rem;font-weight:500;text-decoration:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .2s,transform .2s}.hero__cta-btn:hover{background:#ffffff40;color:#fff;transform:translateY(-2px)}.hero__cta-btn i{font-size:1.8rem}.hero__cta-btn span{text-transform:capitalize}.hero__scroll{background:none;border:none;color:#ffffffb3;font-size:3.2rem;cursor:pointer;animation:bounce 2s infinite;padding:0;line-height:1}.hero__scroll:hover{color:#fff}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.reveal-section{opacity:0;transform:translateY(32px);transition:opacity .6s ease,transform .6s ease}.reveal-section.is-visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.reveal-section{opacity:1;transform:none;transition:none}}.section{padding:8rem 2rem}.section__container{max-width:1100px;margin:0 auto}.section__title{font-size:2.4rem;font-weight:700;text-align:center;margin:0 0 5rem;color:var(--text-primary);letter-spacing:-.01em}.section__title:after{content:"";display:block;width:48px;height:4px;background:var(--accent);border-radius:2px;margin:1.2rem auto 0}.about-section{background:var(--bg-section)}.about-section__grid{display:grid;grid-template-columns:1fr 1.4fr;gap:5rem;align-items:start}.about-section__photo{border-radius:16px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--border)}.about-section__photo img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}.about-section__highlights{display:flex;gap:1.2rem;margin-top:2rem;flex-wrap:wrap}.about-section__highlight{display:flex;align-items:center;gap:.6rem;padding:.8rem 1.4rem;background:var(--bg-section-alt);border:1px solid var(--border);border-radius:999px;font-size:1.3rem;font-weight:500;color:var(--text-secondary)}.about-section__highlight svg{font-size:2rem;color:var(--accent)}.about-section__greeting{font-size:2rem;font-weight:600;color:var(--accent);margin:0 0 1.6rem}.about-section__text{font-size:1.7rem;line-height:1.8;color:var(--text-secondary);margin:0}.skills-section{background:var(--bg-section-alt)}.skills-section__group{margin-bottom:2.4rem}.skills-section__group:last-child{margin-bottom:0}.skills-section__group-title{font-size:1.3rem;font-weight:600;color:var(--accent);text-align:center;margin:0 0 1.2rem;letter-spacing:.06em;text-transform:uppercase}.skills-section__grid{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem}.skills-section__chip{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .9rem;background:var(--bg-card);border:1px solid var(--border);border-radius:999px;transition:border-color .2s,background .2s;cursor:default}.skills-section__chip:hover{border-color:var(--accent);background:var(--bg-section)}.skills-section__icon{font-size:1.6rem;color:var(--accent);flex-shrink:0;line-height:1}.skills-section__name{font-size:1.15rem;font-weight:500;color:var(--text-secondary);white-space:nowrap}.experience-section{background:var(--bg-section)}.experience-section .vertical-timeline-element-icon{background:var(--accent)!important;box-shadow:0 0 0 4px var(--bg-section),inset 0 2px #00000014,0 3px 0 4px var(--border)!important}.experience-section .vertical-timeline-element--work .vertical-timeline-element-content:before{border-right-color:var(--bg-card);border-left-color:var(--bg-card)}.experience-section .vertical-timeline--animate .vertical-timeline-element-content.is-hidden,.experience-section .vertical-timeline--animate .vertical-timeline-element-icon.is-hidden{visibility:hidden}.experience-section__timeline{max-width:800px;margin:0 auto}.experience-section__company{font-size:1.5rem;line-height:1.7;color:var(--text-secondary);margin:.8rem 0 0;text-align:left}.experience-section__badges{display:flex;flex-wrap:wrap;gap:.6rem;text-align:left;margin-bottom:.4rem}.experience-icon{display:block;font-size:2.4rem;margin:0 auto}.badge-main{display:inline-block;font-size:1.2rem;background-color:var(--badge-main-bg);color:#fff;font-weight:500;padding:.5rem 1rem;border-radius:999px}.badge-tech{display:inline-block;font-size:1.1rem;background-color:var(--badge-tech-bg);color:var(--badge-tech-text);font-weight:400;padding:.4rem .9rem;border:1px solid var(--accent-muted);border-radius:999px}body[data-theme=dark] .experience-section .vertical-timeline-element-content{background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow)}body[data-theme=dark] .experience-section .vertical-timeline-element-date{color:var(--text-muted)}body[data-theme=dark] .experience-section .vertical-timeline:before{background:var(--border)}body[data-theme=light] .experience-section .vertical-timeline-element-content{box-shadow:var(--shadow)}.footer{background:var(--bg-section-alt);border-top:1px solid var(--border);padding:5rem 2rem 3rem;text-align:center}.footer__social{display:flex;justify-content:center;gap:1.6rem;flex-wrap:wrap;margin-bottom:2.4rem}.footer__social-link{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);font-size:2rem;text-decoration:none;transition:color .2s,border-color .2s,transform .2s}.footer__social-link:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-2px)}.footer__copyright{font-size:1.3rem;color:var(--text-muted);margin:0}.Typewriter__cursor{animation:typewriter-cursor 1s infinite}@keyframes typewriter-cursor{0%{opacity:1}to{opacity:0}}@media(max-width:768px){.site-navbar__inner{flex-wrap:wrap;padding:1rem 1.6rem}.site-navbar__links{order:3;width:100%;justify-content:flex-start;overflow-x:auto;padding-bottom:.4rem}.site-navbar__links button{font-size:1.3rem;white-space:nowrap}.about-section__grid{grid-template-columns:1fr;gap:3rem}.about-section__photo-wrap{max-width:280px;margin:0 auto}}.vertical-timeline *{box-sizing:border-box}.vertical-timeline{width:95%;max-width:1170px;margin:0 auto;position:relative;padding:2em 0}.vertical-timeline:after{content:"";display:table;clear:both}.vertical-timeline:before{content:"";position:absolute;top:0;left:18px;height:100%;width:4px;background:var(--line-color)}.vertical-timeline.vertical-timeline--one-column-right:before{right:18px;left:unset}@media only screen and (min-width:1170px){.vertical-timeline.vertical-timeline--two-columns{width:90%}.vertical-timeline.vertical-timeline--two-columns:before{left:50%;margin-left:-2px}}.vertical-timeline-element{position:relative;margin:2em 0}.vertical-timeline-element>div{min-height:1px}.vertical-timeline-element:after{content:"";display:table;clear:both}.vertical-timeline-element:first-child{margin-top:0}.vertical-timeline-element:last-child{margin-bottom:0}@media only screen and (min-width:1170px){.vertical-timeline-element{margin:4em 0}.vertical-timeline-element:first-child{margin-top:0}.vertical-timeline-element:last-child{margin-bottom:0}}.vertical-timeline-element-icon{position:absolute;top:0;left:0;width:40px;height:40px;border-radius:50%;box-shadow:0 0 0 4px #fff,inset 0 2px #00000014,0 3px 0 4px #0000000d}.vertical-timeline--one-column-right .vertical-timeline-element-icon{right:0;left:unset}.vertical-timeline-element-icon svg{display:block;width:24px;height:24px;position:relative;left:50%;top:50%;margin-left:-12px;margin-top:-12px}@media only screen and (min-width:1170px){.vertical-timeline--two-columns .vertical-timeline-element-icon{width:60px;height:60px;left:50%;margin-left:-30px}}.vertical-timeline-element-icon{-webkit-transform:translateZ(0);-webkit-backface-visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-icon.is-hidden{visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-icon.bounce-in{visibility:visible;-webkit-animation:cd-bounce-1 .6s;-moz-animation:cd-bounce-1 .6s;animation:cd-bounce-1 .6s}@-webkit-keyframes cd-bounce-1{0%{opacity:0;-webkit-transform:scale(.5)}60%{opacity:1;-webkit-transform:scale(1.2)}to{-webkit-transform:scale(1)}}@-moz-keyframes cd-bounce-1{0%{opacity:0;-moz-transform:scale(.5)}60%{opacity:1;-moz-transform:scale(1.2)}to{-moz-transform:scale(1)}}@keyframes cd-bounce-1{0%{opacity:0;-webkit-transform:scale(.5);-moz-transform:scale(.5);-ms-transform:scale(.5);-o-transform:scale(.5);transform:scale(.5)}60%{opacity:1;-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}to{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}}.vertical-timeline-element-content{position:relative;margin-left:60px;background:#fff;border-radius:.25em;padding:1em;box-shadow:0 3px #ddd}.vertical-timeline--one-column-right .vertical-timeline-element-content{margin-right:60px;margin-left:unset}.vertical-timeline-element--no-children .vertical-timeline-element-content{background:0 0;box-shadow:none}.vertical-timeline-element-content:after{content:"";display:table;clear:both}.vertical-timeline-element-content h2{color:#303e49}.vertical-timeline-element-content .vertical-timeline-element-date,.vertical-timeline-element-content p{font-size:13px;font-size:.8125rem;font-weight:500}.vertical-timeline-element-content .vertical-timeline-element-date{display:inline-block}.vertical-timeline-element-content p{margin:1em 0 0;line-height:1.6}.vertical-timeline-element-title,.vertical-timeline-element-subtitle{margin:0}.vertical-timeline-element-content .vertical-timeline-element-date{float:left;padding:.8em 0;opacity:.7}.vertical-timeline-element-content-arrow{content:"";position:absolute;top:16px;right:100%;height:0;width:0;border:7px solid transparent;border-right:7px solid #fff}.vertical-timeline--one-column-right .vertical-timeline-element-content-arrow{content:"";position:absolute;top:16px;right:unset;left:100%;height:0;width:0;border:7px solid transparent;border-left:7px solid #fff}.vertical-timeline--one-column-right .vertical-timeline-element-content:before{left:100%;border-left:7px solid #fff;border-right:unset}.vertical-timeline-element--no-children .vertical-timeline-element-content:before{display:none}.vertical-timeline-element--no-children .vertical-timeline-element-content-arrow{display:none}@media only screen and (min-width:768px){.vertical-timeline-element-content h2{font-size:20px;font-size:1.25rem}.vertical-timeline-element-content p{font-size:16px;font-size:1rem}.vertical-timeline-element-content .vertical-timeline-element-date{font-size:14px;font-size:.875rem}}@media only screen and (min-width:1170px){.vertical-timeline--two-columns .vertical-timeline-element-content{margin-left:0;padding:1.5em;width:44%}.vertical-timeline--two-columns .vertical-timeline-element-content-arrow{top:24px;left:100%;transform:rotate(180deg)}.vertical-timeline--two-columns .vertical-timeline-element-content .vertical-timeline-element-date{position:absolute;width:100%;left:124%;top:6px;font-size:16px;font-size:1rem}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content{float:right}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content-arrow,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content-arrow{top:24px;left:auto;right:100%;transform:rotate(0)}.vertical-timeline--one-column-right .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content-arrow,.vertical-timeline--one-column-right .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content-arrow{top:24px;left:100%;right:auto;transform:rotate(0)}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content .vertical-timeline-element-date,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content .vertical-timeline-element-date{left:auto;right:124%;text-align:right}}.vertical-timeline--animate .vertical-timeline-element-content.is-hidden{visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-content.bounce-in{visibility:visible;-webkit-animation:cd-bounce-2 .6s;-moz-animation:cd-bounce-2 .6s;animation:cd-bounce-2 .6s}@media only screen and (min-width:1170px){.vertical-timeline--two-columns.vertical-timeline--animate .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content.bounce-in,.vertical-timeline--two-columns.vertical-timeline--animate .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content.bounce-in{-webkit-animation:cd-bounce-2-inverse .6s;-moz-animation:cd-bounce-2-inverse .6s;animation:cd-bounce-2-inverse .6s}}@media only screen and (max-width:1169px){.vertical-timeline--animate .vertical-timeline-element-content.bounce-in{visibility:visible;-webkit-animation:cd-bounce-2-inverse .6s;-moz-animation:cd-bounce-2-inverse .6s;animation:cd-bounce-2-inverse .6s}}@-webkit-keyframes cd-bounce-2{0%{opacity:0;-webkit-transform:translateX(-100px)}60%{opacity:1;-webkit-transform:translateX(20px)}to{-webkit-transform:translateX(0)}}@-moz-keyframes cd-bounce-2{0%{opacity:0;-moz-transform:translateX(-100px)}60%{opacity:1;-moz-transform:translateX(20px)}to{-moz-transform:translateX(0)}}@keyframes cd-bounce-2{0%{opacity:0;-webkit-transform:translateX(-100px);-moz-transform:translateX(-100px);-ms-transform:translateX(-100px);-o-transform:translateX(-100px);transform:translate(-100px)}60%{opacity:1;-webkit-transform:translateX(20px);-moz-transform:translateX(20px);-ms-transform:translateX(20px);-o-transform:translateX(20px);transform:translate(20px)}to{-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translate(0)}}@-webkit-keyframes cd-bounce-2-inverse{0%{opacity:0;-webkit-transform:translateX(100px)}60%{opacity:1;-webkit-transform:translateX(-20px)}to{-webkit-transform:translateX(0)}}@-moz-keyframes cd-bounce-2-inverse{0%{opacity:0;-moz-transform:translateX(100px)}60%{opacity:1;-moz-transform:translateX(-20px)}to{-moz-transform:translateX(0)}}@keyframes cd-bounce-2-inverse{0%{opacity:0;-webkit-transform:translateX(100px);-moz-transform:translateX(100px);-ms-transform:translateX(100px);-o-transform:translateX(100px);transform:translate(100px)}60%{opacity:1;-webkit-transform:translateX(-20px);-moz-transform:translateX(-20px);-ms-transform:translateX(-20px);-o-transform:translateX(-20px);transform:translate(-20px)}to{-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translate(0)}}
