*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}:root{--bg-primary: #f4f2ee;--bg-secondary: #ffffff;--text-primary: rgba(0, 0, 0, .92);--text-secondary: rgba(0, 0, 0, .65);--text-headings: rgba(0, 0, 0, .92);--accent-primary: #0a66c2;--accent-secondary: #004182;--border-color: rgba(0, 0, 0, .15);--shadow-color: rgba(0, 0, 0, .1);--button-text: #ffffff;--home-bg: #e6f0f9;--home-text: var(--text-primary);--home-subtitle: var(--text-secondary);--skill-tag-bg: rgba(0, 0, 0, .08);--skill-tag-text: var(--text-secondary);--lang-switcher-bg: transparent;--lang-switcher-text: var(--text-secondary);--lang-switcher-border: var(--border-color);--lang-switcher-active-bg: var(--accent-primary);--lang-switcher-active-text: var(--button-text);--lang-switcher-active-border: var(--accent-primary);interpolate-size:allow-keywords}body{font-family:ui-sans-serif,-apple-system,system-ui,Segoe UI,Helvetica,"Apple Color Emoji",Arial,sans-serif,"Segoe UI Emoji",Segoe UI Symbol;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;display:grid;min-height:100dvh;grid-template-rows:auto 1fr auto}a{text-decoration:none;color:var(--accent-primary);transition:color .3s ease}a:hover{color:var(--accent-secondary)}img{max-width:100%;height:auto;display:block}button{font-family:inherit;cursor:pointer;border:none;background:none;padding:0}input,textarea,button{font-size:inherit}.container{max-width:1280px;margin-left:auto;margin-right:auto;padding:1.5rem}.nav{background-color:var(--bg-secondary);box-shadow:0 1px 2px 0 var(--shadow-color);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--border-color)}.nav .container{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;padding-bottom:.75rem}.nav-links-wrapper{display:flex;align-items:center;position:relative}.nav-links{display:flex;align-items:center;gap:1.5rem}.nav-links a{color:var(--text-secondary);font-size:1.1rem}.nav-links a:hover,.nav-links a.active{color:var(--text-primary)}.nav-contact-btn{background-color:var(--accent-primary);color:var(--button-text);padding:.5rem 1rem;border-radius:.375rem;transition:background-color .3s ease;font-weight:500}.nav-contact-btn:hover{background-color:var(--accent-secondary)}.mobile-menu-button{display:flex;color:var(--text-secondary)}.mobile-menu-button svg{width:1.7rem;height:1.7rem;transition:.3s transform ease-in-out}.mobile-menu-button.open svg{transition:.3s transform ease-in-out;transform:rotate(45deg)}.home{display:flex;flex-flow:column;align-items:center;justify-content:center;justify-items:center;padding:2rem;height:100%;background-color:var(--home-bg);color:var(--home-text)}.home .home-title{font-size:2.15rem;font-weight:700;margin-bottom:.75rem;font-family:Comfortaa,sans-serif;text-align:center}.home .home-subtitle{font-size:1.25rem;margin-bottom:2rem;color:var(--home-subtitle);text-align:center}.home-img{width:9rem;height:9rem;border-radius:9999px;margin-left:auto;margin-right:auto;margin-bottom:1.5rem;border:4px solid var(--bg-secondary);box-shadow:0 4px 8px -2px var(--shadow-color);object-fit:cover;transition:filter .3s ease}.home-img:hover{filter:contrast(105%) saturate(105%)}.home-tagline{font-size:1.125rem;max-width:48rem;margin-left:auto;margin-right:auto;margin-bottom:2rem;color:var(--home-subtitle);text-align:center}.important-link{font-weight:600;font-size:1.6rem;display:inline-block}a,h1,h2,h3,h4,h5,h6{font-family:Raleway}main.container{padding-top:3rem;padding-bottom:3rem}section{margin-bottom:4rem}.section-title{font-size:1.875rem;font-weight:700;text-align:center;margin-bottom:2rem;color:var(--text-headings)}.connect-with-me,.section-intro{font-size:1.125rem;margin-bottom:1rem;color:var(--text-secondary);text-align:center}.connect-with-me{margin-top:1rem}.card,.about-content,.skills-content,.contact-content{background-color:var(--bg-secondary);padding:1.5rem;border-radius:.5rem;box-shadow:0 1px 3px 0 var(--shadow-color),0 1px 2px 0 var(--shadow-color);transition:box-shadow .3s ease;border:1px solid var(--border-color)}.about-content,.skills-content,.contact-content{padding:2rem;max-width:42rem;margin-left:auto;margin-right:auto}.contact-content{max-width:35rem}.card:hover{box-shadow:0 4px 6px -1px var(--shadow-color),0 2px 4px -1px var(--shadow-color)}.card-title{font-size:1.25rem;font-weight:600;margin-bottom:.75rem;color:var(--text-headings)}.card-text{color:var(--text-secondary)}.about-content p{font-size:1.125rem;color:var(--text-primary);line-height:1.75}.about-content p br{content:"";display:block;margin-bottom:1rem}.services-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:2rem}.service-card{text-align:center}.service-icon{color:var(--accent-primary);margin-bottom:1rem}.service-icon i{font-size:3rem}.skills-category{margin-bottom:1.5rem}.skills-category h3{font-size:1.25rem;font-weight:600;margin-bottom:.75rem;color:var(--text-headings)}.skills-tags{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tag{padding:.35rem .85rem;border-radius:.375rem;font-size:.875rem;font-weight:500;background-color:var(--skill-tag-bg);color:var(--skill-tag-text);border:1px solid transparent}.portfolio-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:2rem}.portfolio-item{overflow:hidden;display:flex;flex-flow:column;align-items:center}.portfolio-image{object-fit:cover;transition:opacity .3s ease;border-bottom:1px solid var(--border-color)}.portfolio-item:hover .portfolio-image{opacity:.85}.portfolio-content{padding:1.5rem}.portfolio-item h3{margin-bottom:.5rem}.portfolio-item p{margin-bottom:1rem;color:var(--text-secondary)}.portfolio-link{color:var(--accent-primary);font-weight:500;margin-right:1rem}.portfolio-link:hover{color:var(--accent-secondary)}.form-group{margin-bottom:1.25rem}.form-group.last{margin-bottom:2rem}.form-label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:var(--text-secondary)}.form-input,.form-textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:.375rem;transition:border-color .3s ease,box-shadow .3s ease;background-color:var(--bg-secondary);color:var(--text-primary)}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-secondary);opacity:.8}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px #0a66c24d;background-color:var(--bg-secondary)}.form-textarea{resize:vertical;min-height:100px}.form-submit-button{background-color:var(--accent-primary);color:var(--button-text);font-weight:600;padding:.75rem 2rem;border-radius:.375rem;font-size:1.125rem;transition:background-color .3s ease;display:inline-block}.form-submit-button:hover{background-color:var(--accent-secondary)}.contact-direct{text-align:center;margin-top:2rem;color:var(--text-secondary)}.contact-direct a{color:var(--accent-primary)}.contact-direct a:hover{text-decoration:underline}.contact-direct p:last-child{margin-top:.5rem}@media (max-width: 767px){.nav-links{width:fit-content;flex-flow:column;align-items:baseline;justify-content:space-around;gap:0;position:absolute;top:2.7rem;right:0;background-color:var(--bg-secondary);border-radius:.3rem;border-top-right-radius:0;border-top-left-radius:0;box-shadow:0 0 1px #0000004d;transition-property:display,height;transition-duration:.3s;transition-timing-function:ease-in-out;display:none;overflow-y:hidden;height:0}.nav-links.open{height:auto;display:block;transition-property:display,height;transition-duration:.3s;transition-timing-function:ease-in-out}@starting-style{.nav-links.open{height:0}}.nav-links a{display:block;width:100%;padding:1rem}}@media (min-width: 768px){.mobile-menu-button{display:none}.home{padding-top:8rem;padding-bottom:8rem}.home-img{width:11rem;height:11rem}.home-title{font-size:3.75rem}.home-subtitle{font-size:1.5rem}main.container{padding-top:4rem;padding-bottom:4rem}section{margin-bottom:6rem}.section-title{font-size:2.25rem;margin-bottom:3rem}.services-grid,.portfolio-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.services-grid{grid-template-columns:repeat(4,1fr)}.portfolio-grid{grid-template-columns:repeat(3,1fr)}}.lucide{width:3rem;height:3rem}
