:root{--color-bg: #f7fbff;--color-surface: #ffffff;--color-text: #062a58;--color-text-muted: #6b7da6;--color-primary: #1864cf;--color-primary-light: #2b8cff;--color-primary-lighter: #6bd1ff;--color-primary-dark: #0b3d91;--color-accent: #2b8cff;--color-accent-light: #6bd1ff;--bg-nav: rgba(11, 61, 145, .03);--bg-chip: #e6f0ff;--bg-blob: rgba(43, 140, 255, .12);--bg-overlay: rgba(2, 6, 23, .5);--border-subtle: rgba(11, 61, 145, .06);--border-ghost: rgba(11, 61, 145, .08);--shadow-sm: 0 6px 18px rgba(11, 61, 145, .06);--shadow-md: 0 8px 30px rgba(11, 61, 145, .08);--shadow-lg: 0 18px 50px rgba(11, 61, 145, .08);--shadow-xl: 0 30px 60px rgba(11, 61, 145, .12);--shadow-accent: 0 12px 40px rgba(43, 140, 255, .12);--radius-sm: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 14px;--radius-full: 999px;--transition-fast: .12s ease;--transition-normal: .18s ease;--transition-slow: .35s ease}.theme-dark{--color-bg: #030615;--color-surface: #0a1628;--color-text: #e8f3ff;--color-text-muted: #9fb6dd;--color-primary: #78aefc;--color-primary-light: #4aa3ff;--color-primary-lighter: #6fd1ff;--color-primary-dark: #b7d2ff;--color-accent: #4aa3ff;--color-accent-light: #6fd1ff;--bg-nav: rgba(255, 255, 255, .02);--bg-chip: rgba(255, 255, 255, .05);--bg-blob: rgba(74, 163, 255, .15);--bg-overlay: rgba(2, 6, 23, .7);--border-subtle: rgba(255, 255, 255, .04);--border-ghost: rgba(255, 255, 255, .08);--shadow-sm: 0 6px 20px rgba(0, 0, 0, .3);--shadow-md: 0 10px 35px rgba(0, 0, 0, .4);--shadow-lg: 0 18px 50px rgba(0, 0, 0, .5);--shadow-xl: 0 30px 70px rgba(0, 0, 0, .6);--shadow-accent: 0 18px 60px rgba(74, 163, 255, .2)}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;height:100%}body{height:100%;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background var(--transition-slow),color var(--transition-normal)}#app{height:100%}h1{font-size:2.4rem;margin:0 0 10px;letter-spacing:-.02em;font-weight:800;color:var(--color-text)}.h2{font-size:1.25rem;color:var(--color-primary-dark);margin:0 0 18px;font-weight:700}.lead{color:var(--color-text-muted);font-size:1.02rem;line-height:1.7}.wrap{max-width:1100px;margin:0 auto;padding:0 20px;position:relative;z-index:1}.container{max-width:1100px;margin:0 auto;padding:0 20px;width:100%}.section{position:relative;overflow:visible;background:transparent;transition:background var(--transition-slow),color var(--transition-normal),transform var(--transition-normal)}.hero-inner.container{padding-inline:clamp(20px,4vw,96px)}.hero-inner .text{min-width:0}.hero-inner .photo{flex:0 0 auto}.hero-inner .photo img{max-width:320px;width:100%;height:auto}.hero{padding-inline:12px}.nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-nav);border-radius:var(--radius-xl);margin:12px auto;width:calc(100% - 24px);box-shadow:var(--shadow-md);position:sticky;top:14px;z-index:40;transition:background var(--transition-slow)}.nav-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:14px 20px}.brand{font-weight:800;color:var(--color-text);letter-spacing:-.02em;font-size:1.1rem}.links{display:flex;gap:14px;list-style:none}.links a{color:var(--color-primary);text-decoration:none;padding:8px 10px;border-radius:var(--radius-sm);font-weight:600;transition:background var(--transition-fast),transform var(--transition-fast)}.links a:hover{background:var(--border-subtle);transform:translateY(-2px)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:transparent;color:var(--color-text);cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast)}.theme-toggle:hover{background:var(--border-subtle);transform:scale(1.05)}.theme-toggle svg{width:18px;height:18px;fill:currentColor;stroke:currentColor}.lang-dropdown{position:relative;display:inline-block;margin-right:10px}.lang-trigger{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--radius-md);border:1px solid var(--border-ghost);background:transparent;color:var(--color-text);cursor:pointer;font-weight:700;font-size:.95rem;transition:background var(--transition-fast),transform var(--transition-fast)}.lang-trigger:hover{background:var(--border-subtle)}.lang-trigger .flag{font-size:18px;line-height:1}.lang-menu{position:absolute;right:0;top:calc(100% + 8px);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);list-style:none;padding:8px;min-width:180px;z-index:60;display:flex;flex-direction:column;gap:6px}.lang-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--color-text);cursor:pointer;text-align:left;transition:background var(--transition-fast)}.lang-item .flag{font-size:18px}.lang-item .label{flex:1}.lang-item:hover{background:var(--border-subtle)}.mobile-menu{background:var(--color-surface);box-shadow:var(--shadow-xl);border-radius:var(--radius-lg)}.mobile-lang-select .lang-btn{border:1px solid var(--border-ghost)}.burger{display:none;background:none;border:0;padding:8px;margin-left:8px;border-radius:var(--radius-md);cursor:pointer;color:var(--color-text);transition:background var(--transition-fast)}.burger:hover{background:var(--border-subtle)}.burger svg{width:20px;height:20px}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--radius-lg);border:none;cursor:pointer;font-weight:700;font-size:.95rem;transition:transform var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),filter var(--transition-fast)}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--color-accent);color:#011a2a;box-shadow:var(--shadow-accent)}.btn-primary:hover{filter:brightness(1.1);transform:translateY(-2px)}.btn-ghost{background:transparent;border:1px solid var(--border-ghost);color:var(--color-primary);padding:8px 12px}.btn-ghost:hover{background:var(--border-subtle)}.hero{position:relative;padding:64px 0;overflow:visible}.hero:before{content:"";position:absolute;right:-5%;top:-10%;width:480px;height:480px;border-radius:50%;background:var(--bg-blob);filter:blur(60px);transform:translateZ(0);opacity:.6;animation:blob 14s infinite alternate}@keyframes blob{0%{transform:translate(0) scale(1)}50%{transform:translate(-18px,6px) scale(1.06)}to{transform:translate(8px,-6px) scale(.98)}}.hero-inner{display:flex;gap:32px;align-items:center}.text{flex:1}.photo img{width:220px;height:220px;object-fit:cover;border-radius:16px;border:8px solid var(--border-subtle);display:block;box-shadow:var(--shadow-lg);transition:transform var(--transition-normal)}.photo img:hover{transform:scale(1.02)}.sobre{padding:40px 0;background:transparent}.sobre .wrap{max-width:900px;margin:0 auto;padding:8px}.content{display:flex;gap:22px;align-items:center}.bio.full{width:100%}.bio p{color:var(--color-text);line-height:1.7;font-size:1.03rem}.tech{padding:36px 0;background:transparent}.tech .wrap{max-width:900px;margin:0 auto}.chips{display:flex;gap:10px;flex-wrap:wrap}.chip{background:var(--bg-chip);color:var(--color-primary);font-weight:700;padding:10px 14px;border-radius:var(--radius-full);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.chip:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm)}.theme-dark .chip{color:var(--color-text)}.projetos{padding:36px 0}.projetos .wrap{max-width:1100px;margin:0 auto}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}.card{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-xl)}.card img{display:block;width:100%;height:160px;object-fit:cover;transition:transform var(--transition-normal)}.card:hover img{transform:scale(1.05)}.card .meta{padding:14px 18px}.card .meta strong{display:block;color:var(--color-text);font-size:1.02rem;margin-bottom:6px}.card .meta p{color:var(--color-text-muted);margin:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{width:460px;max-width:90vw;padding:20px;border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-xl);transition:transform var(--transition-normal),opacity var(--transition-fast);transform:translateY(0)}.modal input,.modal textarea{width:100%;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border-ghost);margin-top:8px;background:transparent;color:var(--color-text);font-family:inherit;transition:border var(--transition-fast)}.modal input:focus,.modal textarea:focus{outline:none;border-color:var(--color-accent)}.contact-form{background:var(--color-surface);padding:18px;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.contact-form input,.contact-form textarea{width:100%;padding:12px;border-radius:var(--radius-lg);border:1px solid var(--border-ghost);margin-bottom:12px;background:transparent;color:var(--color-text);font-family:inherit;transition:border var(--transition-fast)}.contact-form textarea{min-height:120px;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--color-accent)}a.inline-link{color:var(--color-primary);position:relative;text-decoration:none;transition:color var(--transition-fast)}a.inline-link:after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:var(--color-accent);transition:width .22s ease}a.inline-link:hover:after{width:100%}.row{display:flex;gap:12px;align-items:center}.center{text-align:center}:focus{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{box-shadow:0 0 0 4px #2b8cff33;outline:2px solid var(--color-accent);outline-offset:2px}@media (max-width: 880px){.hero-inner{flex-direction:column;text-align:center}.photo img{width:160px;height:160px}}@media (max-width: 800px){.links{display:none}.burger{display:inline-block}.actions{display:flex;align-items:center}.lang-select,.lang-dropdown{display:none}h1{font-size:2rem}.h2{font-size:1.1rem}}@media (max-width: 640px){.wrap{padding:0 12px}.grid{grid-template-columns:1fr}h1{font-size:1.8rem}}
