.header{position:fixed;inset-block-start:0;inset-inline:0;z-index:var(--z-header);height:var(--header-height);display:flex;align-items:center;background:transparent;border-bottom:1px solid transparent;transition:background var(--transition-slow),border-color var(--transition-slow),backdrop-filter var(--transition-slow)}.header.is-menu-open{opacity:0;pointer-events:none}.header.is-scrolled{background:color-mix(in srgb,var(--color-bg) 82%,transparent);backdrop-filter:blur(20px) saturate(1.8);-webkit-backdrop-filter:blur(20px) saturate(1.8);border-bottom-color:var(--color-border-2)}.header__inner{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:var(--layout-max);margin-inline:auto;padding-inline:var(--gutter-sm);gap:var(--space-6)}@media (min-width: 769px){.header__inner{padding-inline:var(--gutter)}}.header__logo{display:flex;align-items:center;gap:var(--space-2);text-decoration:none;flex-shrink:0;outline-offset:6px}.header__nav{display:none;align-items:center;gap:var(--space-1)}@media (min-width: 901px){.header__nav{display:flex}}.header__nav-link{position:relative;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:500;color:var(--color-text-3);border-radius:var(--radius-md);transition:color var(--transition-fast),background var(--transition-fast);white-space:nowrap}.header__nav-link:after{content:"";position:absolute;bottom:4px;left:50%;width:0;height:2px;background:var(--color-brand);border-radius:var(--radius-full);transform:translate(-50%);transition:width var(--transition-base)}.header__nav-link:hover,.header__nav-link.is-active{color:var(--color-text-1);background:var(--color-surface-2)}.header__nav-link.is-active:after,.header__nav-link:hover:after{width:60%}.header__actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.header__lang{position:relative;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-bg-elevated) 65%,transparent);border:1px solid var(--color-border-2);color:var(--color-text-3);font-size:var(--text-xs);font-weight:600;letter-spacing:var(--ls-wider);cursor:pointer;overflow:hidden;transition:color .25s ease,border-color .25s ease,background .25s ease,transform .15s ease,box-shadow .25s ease;box-shadow:var(--surface-edge)}.header__lang>*{position:relative;z-index:2}.header__lang:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--color-brand) 18%,transparent),transparent 70%);opacity:0;transition:opacity .3s ease}.header__lang:hover{color:var(--color-text-1);border-color:var(--color-brand);transform:translateY(-1px);box-shadow:0 6px 18px #0000001f,0 2px 6px #00000014}.header__lang:hover:before{opacity:1}.header__lang-icon{display:flex;align-items:center;justify-content:center;opacity:.85;transition:transform .3s ease,opacity .2s ease,filter .3s ease}.header__lang-code{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:11px;font-weight:700;letter-spacing:.08em;transition:transform .25s ease,opacity .2s ease}.header__lang:hover .header__lang-icon{transform:rotate(-8deg) scale(1.1);opacity:1;filter:brightness(1.1)}.header__lang:hover .header__lang-code{transform:translate(1px)}.header__lang:active{transform:scale(.94);box-shadow:0 2px 6px #0000001f}.header__lang.is-switching{pointer-events:none}.header__lang.is-switching .header__lang-icon,.header__lang.is-switching .header__lang-code{animation:lang-switch .35s ease}@keyframes lang-switch{0%{opacity:0;transform:translateY(6px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.header__lang:focus-visible{outline:2px solid var(--color-brand);outline-offset:4px}.header__lang[aria-pressed=true]{border-color:var(--color-brand);background:color-mix(in srgb,var(--color-brand) 12%,transparent);color:var(--color-text-1)}.header__ctrl{position:relative;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-md);border:1px solid var(--color-border-2);background:color-mix(in srgb,var(--color-bg-elevated) 65%,transparent);color:var(--color-text-3);cursor:pointer;overflow:hidden;transition:color .25s ease,border-color .25s ease,background .25s ease,transform .15s ease,box-shadow .25s ease;box-shadow:var(--surface-edge)}.header__ctrl>*{position:relative;z-index:2}.header__ctrl:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--color-brand) 18%,transparent),transparent 70%);opacity:0;transition:opacity .3s ease}.header__ctrl svg{width:16px;height:16px;opacity:.9;transition:transform .35s ease,opacity .2s ease,filter .3s ease}.header__ctrl:hover{color:var(--color-text-1);border-color:var(--color-brand);transform:translateY(-1px);box-shadow:0 6px 18px #0000001f,0 2px 6px #00000014}.header__ctrl:hover:before{opacity:1}.header__ctrl:hover svg{transform:rotate(18deg) scale(1.1);opacity:1;filter:brightness(1.1)}.header__ctrl:active{transform:scale(.94);box-shadow:0 2px 6px #0000001f}.header__ctrl svg{animation:theme-pop .35s ease}@keyframes theme-pop{0%{opacity:0;transform:scale(.6) rotate(-25deg)}to{opacity:1;transform:scale(1) rotate(0)}}.header__ctrl:focus-visible{outline:2px solid var(--color-brand);outline-offset:4px}.header__hamburger{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:34px;height:34px;border-radius:var(--radius-md);border:1px solid var(--color-border-2);background:transparent;cursor:pointer;transition:all var(--transition-fast)}@media (min-width: 901px){.header__hamburger{display:none}}.header__hamburger-bar{display:block;width:18px;height:1.5px;background:var(--color-text-2);border-radius:var(--radius-full);transform-origin:center;transition:transform var(--duration-base) var(--ease-back-out),opacity var(--transition-fast)}.header__hamburger[aria-expanded=true] .header__hamburger-bar:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.header__hamburger[aria-expanded=true] .header__hamburger-bar:nth-child(2){opacity:0;transform:scaleX(0)}.header__hamburger[aria-expanded=true] .header__hamburger-bar:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.header__hamburger:hover{border-color:var(--color-border-brand);background:var(--color-brand-subtle)}.mobile-nav{position:fixed;inset:0;z-index:var(--z-drawer);display:grid;grid-template-rows:auto 1fr auto;padding-bottom:var(--space-8);background:color-mix(in srgb,var(--color-bg) 96%,transparent);backdrop-filter:blur(24px) saturate(1.6);-webkit-backdrop-filter:blur(24px) saturate(1.6);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity var(--transition-base),visibility var(--transition-base),transform var(--transition-base) var(--ease-out)}.mobile-nav.is-open{opacity:1;visibility:visible;transform:none}.mobile-nav__topo{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);width:100%;max-width:var(--layout-max);height:var(--header-height);margin-inline:auto;padding-inline:var(--gutter-sm)}.mobile-nav__acoes{display:flex;align-items:center;gap:var(--space-2)}.mobile-nav__fechar{border-color:var(--color-border-brand);color:var(--color-brand-text)}.mobile-nav__links{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-5);min-height:0;padding-block:var(--space-6)}.mobile-nav__link{display:flex;align-items:baseline;gap:var(--space-3);font-family:var(--font-display);font-size:clamp(var(--text-2xl),7vw,var(--text-4xl));font-weight:700;color:var(--color-text-3);letter-spacing:var(--ls-tight);text-decoration:none;transition:color var(--transition-fast),transform var(--transition-fast);opacity:0;transform:translateY(12px)}.mobile-nav.is-open .mobile-nav__link{animation:nav-link-in .35s var(--ease-out) forwards;animation-delay:calc(var(--i, 0) * 60ms + 80ms)}@keyframes nav-link-in{to{opacity:1;transform:none}}.mobile-nav__link-num{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:var(--text-xs);font-weight:400;color:var(--color-brand);letter-spacing:.1em;opacity:.7;align-self:center}.mobile-nav__link:hover,.mobile-nav__link.is-active{color:var(--color-text-1);transform:translate(8px)}.mobile-nav__link.is-active{color:var(--color-brand-light)}.mobile-nav__cta{display:inline-flex;align-items:center;justify-self:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-size:var(--text-sm);font-weight:600;color:var(--color-text-1);border:1px solid var(--color-border-brand);border-radius:var(--radius-full);background:var(--color-brand-subtle);text-decoration:none;letter-spacing:.02em;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);box-shadow:var(--surface-edge)}.mobile-nav__cta:hover{background:var(--color-brand);border-color:var(--color-brand);color:#fff;transform:translateY(-1px)}@media (prefers-reduced-motion: reduce){.header,.header *,.mobile-nav,.mobile-nav *,.hamburger,.hamburger *{animation:none!important;transition:none!important}.mobile-nav__link{opacity:1!important;transform:none!important}}@media (pointer: coarse),(max-width: 900px){.header__ctrl,.header__hamburger{width:var(--tap-comfort);height:var(--tap-comfort)}.header__lang,.header__logo{min-height:var(--tap-comfort)}}.logo{display:inline-flex;align-items:baseline;font-family:var(--font-mono);font-size:var(--text-md);font-weight:700;letter-spacing:-.02em;line-height:1;white-space:nowrap}.logo--lg{font-weight:600}.logo__colchete{color:var(--color-brand-text);transition:color var(--transition-fast)}.logo__nome{color:var(--color-text-1);transition:color var(--transition-fast)}.logo__extensao{color:var(--color-accent-light);transition:color var(--transition-fast)}a:hover .logo__extensao,a:focus-visible .logo__extensao{color:var(--color-accent-hover)}a:hover .logo__colchete,a:focus-visible .logo__colchete{color:var(--color-brand-light)}.footer{position:relative;background:var(--color-bg);border-top:4px solid color-mix(in srgb,var(--color-brand) 18%,transparent);overflow:hidden}.footer__main{padding:var(--space-10) 0 var(--space-8)}.footer__grid{display:grid;grid-template-columns:1fr;gap:var(--space-8);align-items:start}.footer__brand{display:flex;flex-direction:column;gap:var(--space-5);grid-column:1 / -1}.footer__logo{display:inline-flex;align-items:center;min-height:var(--tap-min);gap:var(--space-2);text-decoration:none;outline-offset:6px;width:fit-content;transition:opacity var(--transition-fast)}@keyframes footer-dot-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--color-brand) 45%,transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--color-brand) 0%,transparent)}}.footer__brand-tagline{font-size:var(--text-sm);line-height:var(--lh-relaxed);color:var(--color-text-3);max-width:100%}.footer__social{display:flex;gap:var(--space-2)}.footer__col{display:flex;flex-direction:column;gap:var(--space-4)}.footer__col-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--color-text-3)}.footer__col-title:before{content:"";display:block;width:14px;height:1.5px;background:var(--color-brand);flex-shrink:0;opacity:.6}.footer__links{display:flex;flex-direction:column;gap:var(--space-3)}.footer__link{position:relative;display:inline-flex;align-items:center;min-height:var(--tap-min);gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-3);text-decoration:none;width:fit-content;transition:color var(--transition-fast),transform var(--transition-fast)}.footer__link:after{content:"";position:absolute;bottom:-1px;left:0;width:0;height:1px;background:var(--color-brand-light);border-radius:var(--radius-md);transition:width var(--transition-base)}.footer__link:hover{color:var(--color-brand-light);transform:translate(3px)}.footer__link:hover:after{width:100%}.footer__col--contact{gap:var(--space-4)}.footer__address{font-style:normal;display:flex;flex-direction:column;gap:var(--space-3)}.footer__contact-cta{width:fit-content;gap:var(--space-2);border-radius:var(--radius-sm)}.footer__contact-item{display:inline-flex;align-items:center;min-height:var(--tap-min);font-size:var(--text-sm);color:var(--color-text-3);text-decoration:none;word-break:break-all;transition:color var(--transition-fast)}.footer__contact-item:hover{color:var(--color-brand-light);text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--color-brand) 50%,transparent)}.footer__contact-location{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-text-3);letter-spacing:var(--ls-wide)}.footer__contact-location svg{fill:var(--color-brand);flex-shrink:0;opacity:.75}.footer__news{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border-2)}.footer__news-honeypot{position:absolute;width:4px;height:4px;opacity:0;pointer-events:none}.footer__news-label{font-size:var(--text-2xs);font-weight:700;letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--color-text-2)}.footer__news-hint,.footer__news-consent{margin:0;font-size:var(--text-xs);line-height:1.5;color:var(--color-text-3);text-wrap:pretty}.footer__news-row{display:flex;align-items:stretch;gap:var(--space-1);margin-top:var(--space-2);padding:var(--space-1);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--surface-edge);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.footer__news-row:focus-within{border-color:var(--color-brand);box-shadow:var(--surface-edge),0 0 0 3px color-mix(in srgb,var(--color-brand) 25%,transparent)}.footer__news-input{flex:1 1 0;min-width:0;padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-family:inherit;color:var(--color-text-1);background:transparent;border:0}.footer__news-input::placeholder{color:var(--color-text-3)}.footer__news-input:focus-visible{outline:none}.footer__news-input:disabled{opacity:.6;cursor:not-allowed}.footer__news-btn{flex:0 0 auto;border-radius:var(--radius-sm)}.footer__news-btn:hover:not(:disabled){transform:none}.footer__news-status{margin:0;min-height:1.25em;font-size:var(--text-xs);line-height:1.5;color:var(--color-text-2)}.footer__news-status.is-success{color:var(--color-success)}.footer__news-status.is-error{color:var(--color-error)}.footer__divider{height:1px;background:linear-gradient(to right,transparent 0%,color-mix(in srgb,var(--color-brand) 40%,transparent) 25%,var(--color-border-2) 50%,color-mix(in srgb,var(--color-accent) 30%,transparent) 75%,transparent 100%)}.footer__bottom-bar{padding:var(--space-6) 0}.footer__bottom{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3)}.footer__copyright{font-size:var(--text-xs);color:var(--color-text-3);letter-spacing:.01em}.footer__copyright time{font-variant-numeric:tabular-nums}.footer__bottom-end{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3)}.footer__cv-link{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:600;color:var(--color-text-3);text-decoration:none;padding:var(--space-1) var(--space-3);border:1px solid var(--color-border-2);border-radius:var(--radius-md);letter-spacing:var(--ls-wide);transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.footer__cv-link:hover{color:var(--color-brand-light);border-color:var(--color-border-brand);background:var(--color-brand-subtle)}.footer__made{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-text-3);white-space:nowrap}.footer__heart{fill:var(--color-brand);color:var(--color-brand);flex-shrink:0;animation:footer-heartbeat 2.8s ease-in-out infinite}@keyframes footer-heartbeat{0%,to{transform:scale(1)}14%{transform:scale(1.28)}28%{transform:scale(1)}42%{transform:scale(1.14)}56%{transform:scale(1)}}@media (min-width: 641px){.footer__main{padding:var(--space-14) 0 var(--space-12)}.footer__grid{grid-template-columns:1fr 1fr}.footer__bottom{flex-direction:row;align-items:center;gap:var(--space-4)}.footer__bottom-end{flex-direction:row;align-items:center;gap:var(--space-5)}}@media (min-width: 901px){.footer__grid{grid-template-columns:1fr 1fr 1fr 1.6fr}.footer__brand{grid-column:1 / -1}}@media (min-width: 1101px){.footer__grid{grid-template-columns:1.5fr 1fr .9fr 1.1fr 1.9fr;gap:var(--space-8)}.footer__brand{grid-column:auto}.footer__brand-tagline{max-width:280px}}.footer a:focus-visible,.footer button:focus-visible{outline:2px solid var(--color-brand);outline-offset:3px;border-radius:var(--radius-md)}@media (prefers-reduced-motion: reduce){.footer__heart{animation:none}.footer__link,.footer__link:after,.footer__logo,.footer__cv-link,.footer__contact-item{transition:none}}.footer__version{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);font-family:inherit;font-size:var(--text-xs);color:var(--color-text-3);background:none;border:1px solid var(--color-border-2);border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.footer__version:hover{color:var(--color-text-1);border-color:var(--color-border-brand);background:var(--color-brand-subtle)}.footer__version:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.footer__version-number{font-family:var(--font-mono);font-weight:600;color:var(--color-brand-text)}.footer__version-label{display:none;letter-spacing:var(--ls-wide);text-transform:uppercase;font-size:var(--text-2xs)}@media (min-width: 481px){.footer__version-label{display:inline}}@media (pointer: coarse),(max-width: 640px){.footer__version{min-height:44px}}@media (prefers-reduced-motion: reduce){.footer__version{transition:none}}body.light-mode .footer:before{opacity:.5}.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:var(--z-header, 500);background:transparent;pointer-events:none}.scroll-progress__bar{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--color-brand) 0%,var(--color-brand-light) 50%,var(--color-accent-light) 100%);border-radius:0 var(--radius-full) var(--radius-full) 0;transform:scaleX(0);transform-origin:left center;transition:transform 80ms linear;box-shadow:0 0 8px color-mix(in srgb,var(--color-brand) 60%,transparent)}.back-to-top{position:fixed;right:var(--space-4);bottom:var(--space-4);z-index:var(--z-overlay, 100);width:var(--tap-comfort);height:var(--tap-comfort);display:inline-flex;align-items:center;justify-content:center;background:var(--color-surface-1);border:1px solid var(--color-border-2);border-radius:var(--radius-full);color:var(--color-text-2);cursor:pointer;box-shadow:0 0 0 1px color-mix(in srgb,var(--color-text-1) 3%,transparent) inset,0 6px 18px #00000059,0 2px 6px #00000040;opacity:0;transform:translateY(16px) scale(.85);pointer-events:none;visibility:hidden;transition:opacity .35s cubic-bezier(.22,.61,.36,1),transform .4s cubic-bezier(.22,.61,.36,1),visibility 0s linear .4s,background .25s ease-out,border-color .25s ease-out,box-shadow .25s ease-out,color .25s ease-out}.back-to-top.is-visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;visibility:visible;transition:opacity .35s cubic-bezier(.22,.61,.36,1),transform .4s cubic-bezier(.22,.61,.36,1),visibility 0s,background .25s ease-out,border-color .25s ease-out,color .25s ease-out}.back-to-top:hover{background:var(--color-brand-subtle);border-color:color-mix(in srgb,var(--color-brand) 45%,transparent);color:var(--color-brand-light);transform:translateY(-2px) scale(1.04);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-brand) 40%,transparent) inset,0 12px 28px color-mix(in srgb,var(--color-brand) 22%,transparent),0 4px 10px #0000004d}.back-to-top:active{transform:translateY(0) scale(.95)}.back-to-top:focus-visible{outline:2px solid var(--color-brand);outline-offset:3px}@media (min-width: 641px){.back-to-top{right:var(--space-6);bottom:var(--space-6)}}@media (prefers-reduced-motion: reduce){.scroll-progress__bar,.back-to-top{transition:none}}:root{--_crimson-50: #fff1f2;--_crimson-100: #ffe4e6;--_crimson-200: #fecdd3;--_crimson-300: #fda4af;--_crimson-400: #fb7185;--_crimson-500: #f43f5e;--_crimson-600: #e11d48;--_crimson-700: #be123c;--_crimson-800: #9f1239;--_crimson-900: #881337;--_crimson-950: #4c0519;--_indigo-100: #e0e7ff;--_indigo-200: #c7d2fe;--_indigo-300: #a5b4fc;--_indigo-400: #818cf8;--_indigo-500: #6366f1;--_indigo-600: #4f46e5;--_indigo-700: #4338ca;--_indigo-800: #3730a3;--_indigo-900: #312e81;--_slate-0: #ffffff;--_slate-50: #f8fafc;--_slate-100: #f1f5f9;--_slate-150: #eaeff5;--_slate-200: #e2e8f0;--_slate-300: #cbd5e1;--_slate-400: #94a3b8;--_slate-450: #8593a9;--_slate-500: #64748b;--_slate-550: #5b6a80;--_slate-600: #475569;--_slate-700: #334155;--_slate-750: #243044;--_slate-800: #1e293b;--_slate-850: #151f2e;--_slate-900: #0f172a;--_slate-920: #0b1120;--_slate-950: #070d19;--_green-400: #4ade80;--_green-500: #22c55e;--_green-600: #16a34a;--_green-700: #15803d;--_amber-400: #fbbf24;--_amber-500: #f59e0b;--_red-400: #f87171;--_red-500: #ef4444;--_red-600: #dc2626}:root{--color-brand: var(--_crimson-600);--color-brand-hover: var(--_crimson-700);--color-brand-light: var(--_crimson-400);--color-brand-muted: var(--_crimson-800);--color-brand-text: var(--_crimson-500);--color-brand-subtle: color-mix( in srgb, var(--_crimson-600) 13%, transparent );--color-brand-glow: 0 0 20px color-mix(in srgb, var(--_crimson-600) 40%, transparent), 0 0 48px color-mix(in srgb, var(--_crimson-600) 18%, transparent);--color-accent: var(--_indigo-500);--color-accent-hover: var(--_indigo-600);--color-accent-light: var(--_indigo-400);--color-accent-muted: var(--_indigo-800);--color-accent-subtle: color-mix( in srgb, var(--_indigo-500) 13%, transparent );--color-accent-glow: 0 0 20px color-mix(in srgb, var(--_indigo-500) 40%, transparent), 0 0 48px color-mix(in srgb, var(--_indigo-500) 18%, transparent);--color-bg: var(--_slate-950);--color-surface-1: var(--_slate-920);--color-surface-2: var(--_slate-900);--color-surface-3: var(--_slate-850);--color-surface-4: var(--_slate-800);--color-veil-bg: color-mix(in srgb, var(--color-bg) 82%, transparent);--color-veil-1: color-mix(in srgb, var(--color-surface-1) 82%, transparent);--color-border-1: rgba(255, 255, 255, .04);--color-border-2: rgba(255, 255, 255, .08);--color-border-3: rgba(255, 255, 255, .14);--color-border-brand: color-mix( in srgb, var(--_crimson-600) 50%, transparent );--color-border-accent: color-mix( in srgb, var(--_indigo-500) 45%, transparent );--color-text-1: var(--_slate-50);--color-text-2: var(--_slate-200);--color-text-3: var(--_slate-400);--color-text-4: var(--_slate-450);--color-text-inverse: var(--_slate-950);--color-success: var(--_green-500);--color-success-subtle: color-mix( in srgb, var(--_green-500) 14%, transparent );--color-success-border: color-mix( in srgb, var(--_green-500) 35%, transparent );--cat-added: var(--_green-400);--cat-added-tint: color-mix(in srgb, var(--_green-400) 12%, transparent);--cat-added-edge: color-mix(in srgb, var(--_green-400) 32%, transparent);--cat-improved: var(--_indigo-400);--cat-improved-tint: color-mix( in srgb, var(--_indigo-400) 12%, transparent );--cat-improved-edge: color-mix( in srgb, var(--_indigo-400) 32%, transparent );--cat-design: var(--_crimson-500);--cat-design-tint: color-mix(in srgb, var(--_crimson-500) 12%, transparent);--cat-design-edge: color-mix(in srgb, var(--_crimson-500) 32%, transparent);--cat-performance: var(--_amber-400);--cat-performance-tint: color-mix( in srgb, var(--_amber-400) 12%, transparent );--cat-performance-edge: color-mix( in srgb, var(--_amber-400) 32%, transparent );--cat-architecture: var(--_slate-400);--cat-architecture-tint: color-mix( in srgb, var(--_slate-400) 12%, transparent );--cat-architecture-edge: color-mix( in srgb, var(--_slate-400) 32%, transparent );--cat-content: var(--_crimson-400);--cat-content-tint: color-mix( in srgb, var(--_crimson-400) 12%, transparent );--cat-content-edge: color-mix( in srgb, var(--_crimson-400) 32%, transparent );--color-warning: var(--_amber-500);--color-warning-subtle: color-mix( in srgb, var(--_amber-500) 14%, transparent );--color-error: var(--_red-400);--color-error-subtle: color-mix(in srgb, var(--_red-500) 14%, transparent);--color-error-border: color-mix(in srgb, var(--_red-500) 35%, transparent);--shadow-xs: 0 1px 3px rgba(0, 0, 0, .55);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .5);--shadow-md: 0 4px 18px rgba(0, 0, 0, .55);--shadow-lg: 0 8px 34px rgba(0, 0, 0, .6);--shadow-xl: 0 16px 52px rgba(0, 0, 0, .65);--surface-edge: inset 0 1px 0 rgb(255 255 255 / .07);--surface-lift: 0 18px 40px -24px rgb(0 0 0 / .5);--shadow-card: inset 0 0 0 1px var(--color-border-2), var(--shadow-md);--shadow-card-hover: inset 0 0 0 1px var(--color-border-brand), var(--shadow-lg), var(--color-brand-glow);--glass-bg: color-mix(in srgb, var(--color-surface-2) 80%, transparent);--glass-border: rgba(255, 255, 255, .06);--glass-blur: blur(20px) saturate(1.8);--header-bg-scrolled: color-mix( in srgb, var(--_slate-950) 82%, transparent );--dots-color: color-mix( in srgb, color-mix(in srgb, var(--_crimson-600) 52%, var(--_indigo-500)) 13%, transparent );--section-gradient-overlay: linear-gradient( to bottom right, color-mix(in srgb, var(--_crimson-950) 40%, transparent) 0%, color-mix(in srgb, var(--_crimson-950) 26%, transparent) 24%, transparent 50%, color-mix(in srgb, var(--_indigo-900) 20%, transparent) 76%, color-mix(in srgb, var(--_indigo-900) 30%, transparent) 100% )}body.light-mode{--color-brand: var(--_crimson-600);--color-brand-text: var(--_crimson-700);--color-brand-hover: var(--_crimson-700);--color-brand-light: var(--_crimson-600);--color-brand-muted: var(--_crimson-100);--color-brand-subtle: color-mix( in srgb, var(--_crimson-600) 9%, transparent );--color-brand-glow: 0 0 16px color-mix(in srgb, var(--_crimson-600) 22%, transparent), 0 0 40px color-mix(in srgb, var(--_crimson-600) 10%, transparent);--color-accent: var(--_indigo-600);--color-accent-hover: var(--_indigo-700);--color-accent-light: var(--_indigo-600);--color-accent-muted: var(--_indigo-100);--color-accent-subtle: color-mix( in srgb, var(--_indigo-600) 9%, transparent );--color-accent-glow: 0 0 16px color-mix(in srgb, var(--_indigo-600) 22%, transparent), 0 0 40px color-mix(in srgb, var(--_indigo-600) 10%, transparent);--color-bg: #f2f4f8;--color-surface-1: var(--_slate-0);--color-surface-2: var(--_slate-50);--color-surface-3: var(--_slate-100);--color-surface-4: var(--_slate-150);--color-veil-bg: color-mix(in srgb, var(--color-bg) 88%, transparent);--color-veil-1: color-mix(in srgb, var(--color-surface-1) 88%, transparent);--color-border-1: rgba(0, 0, 0, .05);--color-border-2: rgba(0, 0, 0, .09);--color-border-3: rgba(0, 0, 0, .16);--color-border-brand: color-mix( in srgb, var(--_crimson-600) 40%, transparent );--color-border-accent: color-mix( in srgb, var(--_indigo-600) 35%, transparent );--color-text-1: var(--_slate-900);--color-text-2: var(--_slate-800);--color-text-3: var(--_slate-600);--color-text-4: var(--_slate-550);--color-text-inverse: var(--_slate-0);--color-success: var(--_green-700);--color-success-subtle: color-mix( in srgb, var(--_green-500) 11%, transparent );--color-success-border: color-mix( in srgb, var(--_green-600) 30%, transparent );--cat-added: var(--_green-600);--cat-added-tint: color-mix(in srgb, var(--_green-600) 10%, transparent);--cat-added-edge: color-mix(in srgb, var(--_green-600) 28%, transparent);--cat-improved: var(--_indigo-600);--cat-improved-tint: color-mix( in srgb, var(--_indigo-600) 10%, transparent );--cat-improved-edge: color-mix( in srgb, var(--_indigo-600) 28%, transparent );--cat-design: var(--_crimson-600);--cat-design-tint: color-mix(in srgb, var(--_crimson-600) 10%, transparent);--cat-design-edge: color-mix(in srgb, var(--_crimson-600) 28%, transparent);--cat-performance: var(--_amber-500);--cat-performance-tint: color-mix( in srgb, var(--_amber-500) 10%, transparent );--cat-performance-edge: color-mix( in srgb, var(--_amber-500) 28%, transparent );--cat-architecture: var(--_slate-600);--cat-architecture-tint: color-mix( in srgb, var(--_slate-600) 10%, transparent );--cat-architecture-edge: color-mix( in srgb, var(--_slate-600) 28%, transparent );--cat-content: var(--_crimson-500);--cat-content-tint: color-mix( in srgb, var(--_crimson-500) 10%, transparent );--cat-content-edge: color-mix( in srgb, var(--_crimson-500) 28%, transparent );--color-error: var(--_red-600);--color-error-subtle: color-mix(in srgb, var(--_red-500) 9%, transparent);--color-error-border: color-mix(in srgb, var(--_red-600) 30%, transparent);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .06), 0 0 0 1px rgba(0, 0, 0, .04);--shadow-sm: 0 2px 6px rgba(0, 0, 0, .08), 0 0 0 1px rgba(0, 0, 0, .04);--shadow-md: 0 4px 14px rgba(0, 0, 0, .1), 0 1px 3px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 28px rgba(0, 0, 0, .12), 0 2px 8px rgba(0, 0, 0, .07);--shadow-xl: 0 16px 44px rgba(0, 0, 0, .13), 0 4px 12px rgba(0, 0, 0, .08);--surface-edge: inset 0 -1px 0 rgb(15 23 42 / .05);--surface-lift: 0 14px 30px -20px rgb(15 23 42 / .14);--shadow-card: 0 1px 3px rgba(0, 0, 0, .08), 0 0 0 1px var(--color-border-2);--shadow-card-hover: 0 8px 28px rgba(0, 0, 0, .12), 0 0 0 1px var(--color-border-brand), var(--color-brand-glow);--glass-bg: color-mix(in srgb, var(--_slate-0) 88%, transparent);--glass-border: rgba(0, 0, 0, .08);--glass-blur: blur(20px) saturate(1.4);--header-bg-scrolled: color-mix(in srgb, var(--_slate-0) 92%, transparent);--dots-color: color-mix( in srgb, color-mix(in srgb, var(--_crimson-600) 52%, var(--_indigo-500)) 8%, transparent );--section-gradient-overlay: linear-gradient( to bottom right, color-mix(in srgb, var(--_crimson-100) 50%, transparent) 0%, color-mix(in srgb, var(--_crimson-100) 32%, transparent) 24%, transparent 50%, color-mix(in srgb, var(--_indigo-100) 30%, transparent) 76%, color-mix(in srgb, var(--_indigo-100) 44%, transparent) 100% )}:root{--font-display: "Cabinet Grotesk", system-ui, sans-serif;--font-body: "General Sans", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-2xs: .625rem;--text-xs: .75rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: clamp(1rem, .95rem + .25vw, 1.125rem);--text-xl: clamp(1.125rem, 1.05rem + .35vw, 1.25rem);--text-2xl: clamp(1.25rem, 1.1rem + .7vw, 1.5rem);--text-3xl: clamp(1.5rem, 1.28rem + 1.05vw, 1.875rem);--text-4xl: clamp(1.75rem, 1.45rem + 1.45vw, 2.25rem);--text-5xl: clamp(2.125rem, 1.6rem + 2.6vw, 3rem);--text-6xl: clamp(2.5rem, 1.7rem + 3.9vw, 3.75rem);--text-7xl: clamp(2.75rem, 1.7rem + 5.2vw, 4.5rem);--lh-tight: 1.15;--lh-snug: 1.3;--lh-base: 1.6;--lh-relaxed: 1.75;--ls-tight: -.04em;--ls-snug: -.025em;--ls-base: 0;--ls-wide: .06em;--ls-wider: .12em}:root{--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-14: 3.5rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-28: 7rem;--space-32: 8rem}:root{--radius-xs: 2px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-3xl: 32px;--radius-full: 9999px}:root{--ease-linear: linear;--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-back-out: cubic-bezier(.175, .885, .32, 1.275);--duration-instant: 80ms;--duration-fast: .15s;--duration-base: .25s;--duration-slow: .4s;--duration-slower: .6s;--duration-scene: 1s;--transition-fast: var(--duration-fast) var(--ease-out);--transition-base: var(--duration-base) var(--ease-out);--transition-slow: var(--duration-slow) var(--ease-out)}:root{--layout-max: 1200px;--layout-narrow: 768px;--layout-wide: 1440px;--header-height: 68px;--section-pad-y: clamp(3rem, 1.6rem + 6vw, 5rem);--gutter: clamp(1rem, .3rem + 3vw, 2rem);--gutter-sm: var(--space-6);--gutter-xs: var(--space-4);--tap-min: 24px;--tap-comfort: 44px}:root{--bp-sm: 480px;--bp-md: 640px;--bp-lg: 768px;--bp-xl: 900px;--bp-2xl: 1024px;--bp-career-stats: 560px;--bp-work-grid: 600px;--bp-footer-grid: 1100px}:root{--z-ambient: -1;--z-base: 0;--z-raised: 10;--z-overlay: 100;--z-drawer: 200;--z-header: 500;--z-modal: 600;--z-toast: 700;--z-top: 9999}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;color-scheme:dark;tab-size:2;overflow-x:clip}body.light-mode{color-scheme:light}body{font-family:var(--font-body);font-size:var(--text-md);line-height:var(--lh-base);color:var(--color-text-2);background-color:var(--color-bg);transition:background-color var(--transition-slow),color var(--transition-slow)}p{text-wrap:pretty}h1,h2,h3,h4{text-wrap:balance}img,video,svg{display:block;max-width:100%}ul,ol{list-style:none}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit;color:inherit;background:none;border:none}input,textarea,select{font-family:inherit;font-size:inherit}p{overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--color-text-1);line-height:var(--lh-tight);overflow-wrap:break-word}::selection{background:color-mix(in srgb,var(--color-brand) 75%,transparent);color:#fff}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--color-surface-1)}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-brand) 60%,var(--color-surface-3));border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-brand)}body.light-mode ::-webkit-scrollbar-track{background:var(--color-surface-3)}body.light-mode ::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-brand) 40%,var(--color-border-3))}body.light-mode ::-webkit-scrollbar-thumb:hover{background:var(--color-brand)}:focus-visible{outline:2px solid var(--color-brand);outline-offset:3px;border-radius:var(--radius-sm)}.skip-link{position:absolute;top:-100%;left:var(--space-4);padding:var(--space-3) var(--space-6);background:var(--color-brand);color:#fff;font-weight:600;font-size:var(--text-sm);border-radius:var(--radius-md);z-index:var(--z-top);transition:top var(--transition-fast)}.skip-link:focus{top:var(--space-4)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{width:100%;max-width:var(--layout-max);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:var(--section-pad-y);scroll-margin-top:var(--header-height)}code{font-family:var(--font-mono);font-size:.9em;padding:.1em .35em;border-radius:var(--radius-sm);background:var(--color-surface-2);color:var(--color-text-2);word-break:break-word}.section-eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--color-brand-text)}.section-eyebrow:before{content:"";display:block;width:18px;height:2px;background:var(--color-brand);flex-shrink:0;border-radius:var(--radius-full)}.section-title{font-size:var(--text-5xl);font-weight:700;letter-spacing:var(--ls-tight);color:var(--color-text-1);line-height:var(--lh-tight);text-wrap:balance}.section-subtitle{font-size:var(--text-lg);line-height:var(--lh-relaxed);color:var(--color-text-3);max-width:100%;text-align:justify}#subtitle-contact{text-align:center}.section-header{display:flex;flex-direction:column;gap:var(--space-4)}.section-header--center{align-items:center;text-align:center;margin-inline:auto}body.light-mode .section-subtitle{color:var(--color-text-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.75em 1.75em;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;line-height:1;letter-spacing:.01em;border-radius:var(--radius-md);border:1.5px solid transparent;white-space:nowrap;user-select:none;cursor:pointer;text-decoration:none;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);-webkit-tap-highlight-color:transparent}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn svg{flex-shrink:0;width:1em;height:1em;fill:currentColor}.btn--sm{font-size:var(--text-xs);padding:.6em 1.25em}.btn--lg{font-size:var(--text-lg);padding:.9em 2.25em}.btn--primary{background:var(--color-brand);border-color:var(--color-brand);color:#fff;box-shadow:var(--surface-edge)}.btn--primary:hover:not(:disabled){background:var(--color-brand-hover);border-color:var(--color-brand-hover);transform:translateY(-2px);box-shadow:var(--color-brand-glow),var(--shadow-md)}.btn--primary:active:not(:disabled){transform:translateY(0);box-shadow:none}.btn--outline{background:transparent;border-color:var(--color-border-3);color:var(--color-text-2)}.btn--outline:hover:not(:disabled){border-color:var(--color-brand);color:var(--color-brand-light);background:var(--color-brand-subtle);transform:translateY(-2px)}body.light-mode .btn--outline{border-color:var(--color-border-3);color:var(--color-text-2)}body.light-mode .btn--outline:hover:not(:disabled){border-color:var(--color-brand);color:var(--color-brand);background:var(--color-brand-subtle)}.btn--ghost{background:transparent;border-color:transparent;color:var(--color-text-3)}.btn--ghost:hover:not(:disabled){background:var(--color-surface-2);color:var(--color-text-1)}body.light-mode .btn--ghost:hover:not(:disabled){background:var(--color-surface-3);color:var(--color-text-1)}.card{background:var(--color-surface-1);border:1px solid var(--color-border-2);border-radius:var(--radius-xl);transition:border-color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base);box-shadow:var(--surface-edge),var(--surface-lift)}.card--interactive:hover{border-color:var(--color-border-brand);box-shadow:var(--surface-edge),var(--shadow-card-hover);transform:translateY(-3px)}body.light-mode .card{background:var(--color-surface-1);border-color:var(--color-border-2);box-shadow:var(--shadow-xs)}body.light-mode .card--interactive:hover{box-shadow:var(--shadow-card-hover)}.badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:.3em .85em;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;border-radius:var(--radius-sm);border:1px solid transparent;white-space:nowrap;line-height:1}.badge img{width:14px;height:14px;flex-shrink:0}.badge--brand{background:var(--color-brand-subtle);color:var(--color-brand-light);border-color:color-mix(in srgb,var(--color-brand) 30%,transparent)}body.light-mode .badge--brand{background:color-mix(in srgb,var(--_crimson-600) 10%,transparent);color:var(--_crimson-700);border-color:color-mix(in srgb,var(--_crimson-600) 25%,transparent)}.badge--accent{background:var(--color-accent-subtle);color:var(--color-accent-light);border-color:color-mix(in srgb,var(--color-accent) 30%,transparent)}body.light-mode .badge--accent{background:color-mix(in srgb,var(--_indigo-600) 10%,transparent);color:var(--_indigo-700);border-color:color-mix(in srgb,var(--_indigo-600) 25%,transparent)}.badge--neutral{background:var(--color-surface-3);color:var(--color-text-3);border-color:var(--color-border-2)}body.light-mode .badge--neutral{background:var(--color-surface-3);color:var(--color-text-2);border-color:var(--color-border-3)}.badge--ghost{background:transparent;color:var(--color-text-4);border-color:var(--color-border-1)}.social-link{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);border:1px solid var(--color-border-2);color:var(--color-text-3);background:var(--color-surface-2);transition:all var(--transition-fast)}.social-link svg{width:18px;height:18px;fill:currentColor}.social-link:hover{color:var(--color-brand-light);border-color:var(--color-border-brand);background:var(--color-brand-subtle);transform:translateY(-3px);box-shadow:var(--shadow-sm)}body.light-mode .social-link{background:var(--color-surface-1);border-color:var(--color-border-2);color:var(--color-text-3);box-shadow:var(--shadow-xs)}body.light-mode .social-link:hover{color:var(--color-brand);border-color:var(--color-border-brand);background:var(--color-brand-subtle);box-shadow:var(--shadow-sm)}@media (pointer: coarse),(max-width: 640px){.social-link{width:var(--tap-comfort);height:var(--tap-comfort)}.btn{min-height:var(--tap-comfort)}}[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .65s var(--ease-out),transform .65s var(--ease-out)}[data-reveal].is-visible{opacity:1;transform:none}[data-reveal][data-delay="1"]{transition-delay:.1s}[data-reveal][data-delay="2"]{transition-delay:.2s}[data-reveal][data-delay="3"]{transition-delay:.3s}[data-reveal][data-delay="4"]{transition-delay:.4s}@keyframes pulse-ring{0%{transform:scale(1);opacity:1}to{transform:scale(1.65);opacity:0}}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes bounce-y{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes slide-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.divider-brand{height:1px;background:linear-gradient(to right,transparent 0%,color-mix(in srgb,var(--color-brand) 40%,transparent) 25%,var(--color-border-2) 50%,color-mix(in srgb,var(--color-accent) 30%,transparent) 75%,transparent 100%)}body.light-mode .divider-brand{background:linear-gradient(to right,transparent 0%,color-mix(in srgb,var(--color-brand) 28%,transparent) 25%,var(--color-border-2) 50%,color-mix(in srgb,var(--color-accent) 22%,transparent) 75%,transparent 100%)}.glass{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border)}#sobre,#carreira,#destaque,#projetos,#recomendacoes,#formacoes,#contato{content-visibility:auto}#sobre{contain-intrinsic-size:auto 3964px}#carreira{contain-intrinsic-size:auto 1912px}#destaque{contain-intrinsic-size:auto 2166px}#projetos{contain-intrinsic-size:auto 2077px}#recomendacoes{contain-intrinsic-size:auto 1072px}#formacoes{contain-intrinsic-size:auto 1786px}#contato{contain-intrinsic-size:auto 2110px}body.light-mode ::selection{background:color-mix(in srgb,var(--color-brand) 20%,transparent);color:var(--_crimson-900)}body.light-mode .header.is-scrolled{background:color-mix(in srgb,var(--_slate-0) 92%,transparent);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);border-bottom-color:var(--color-border-2);box-shadow:0 1px 0 var(--color-border-1),var(--shadow-sm)}body.light-mode .header__nav-link{color:var(--color-text-3)}body.light-mode .header__nav-link:hover,body.light-mode .header__nav-link.is-active{color:var(--color-text-1);background:var(--color-surface-3)}body.light-mode .header__nav-link.is-active:after,body.light-mode .header__nav-link:hover:after{background:var(--color-brand)}body.light-mode .header__lang{background:var(--color-surface-1);border-color:var(--color-border-2);color:var(--color-text-3);box-shadow:var(--surface-edge),var(--shadow-xs)}body.light-mode .header__lang:hover{border-color:var(--color-brand);color:var(--color-brand);background:var(--color-brand-subtle);box-shadow:var(--surface-edge),var(--shadow-sm);transform:translateY(-1px)}body.light-mode .header__ctrl{background:var(--color-surface-1);border-color:var(--color-border-2);color:var(--color-text-3);box-shadow:var(--surface-edge),var(--shadow-xs)}body.light-mode .header__ctrl:hover{border-color:var(--color-brand);color:var(--color-brand);background:var(--color-brand-subtle);box-shadow:var(--surface-edge),var(--shadow-sm);transform:translateY(-1px)}body.light-mode .header__hamburger{background:var(--color-surface-1);border-color:var(--color-border-2);box-shadow:var(--shadow-xs)}body.light-mode .header__hamburger-bar{background:var(--color-text-2)}body.light-mode .header__hamburger:hover{border-color:var(--color-border-brand);background:var(--color-brand-subtle)}body.light-mode .mobile-nav{background:color-mix(in srgb,var(--_slate-0) 97%,transparent);backdrop-filter:blur(28px) saturate(1.5);-webkit-backdrop-filter:blur(28px) saturate(1.5)}body.light-mode .mobile-nav__link{color:var(--color-text-3)}body.light-mode .mobile-nav__link:hover{color:var(--color-text-1)}body.light-mode .mobile-nav__link.is-active{color:var(--color-brand)}body.light-mode .mobile-nav__cta{color:var(--color-text-1);border-color:var(--color-border-brand);background:var(--color-brand-subtle)}body.light-mode .mobile-nav__cta:hover{background:var(--color-brand);border-color:var(--color-brand);color:#fff}body.light-mode .hero{background:transparent}body.light-mode .hero__status{background:color-mix(in srgb,var(--_green-500) 10%,transparent);border-color:color-mix(in srgb,var(--_green-600) 28%,transparent);color:var(--_green-700)}body.light-mode .hero__status-dot{background:var(--_green-600)}body.light-mode .hero__greeting{color:var(--color-text-3)}body.light-mode .hero__name{color:var(--color-text-1)}body.light-mode .hero__role{background:linear-gradient(135deg,var(--_crimson-600),var(--_crimson-700),var(--_indigo-600),var(--_crimson-600));background-size:300% 300%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}body.light-mode .hero__subrole{color:var(--color-text-4)}body.light-mode .hero__desc{color:var(--color-text-3)}body.light-mode .hero__avatar{border-color:var(--color-border-2);box-shadow:var(--shadow-md)}body.light-mode .hero__avatar-frame{opacity:.22}body.light-mode .hero__avatar-glow{opacity:.28}body.light-mode .hero__avatar-wrap:hover .hero__avatar-glow{opacity:.5}body.light-mode .hero__avatar-wrap:hover .hero__avatar-frame{opacity:.38}body.light-mode .hero__avatar-wrap:hover .hero__avatar{border-color:color-mix(in srgb,var(--color-brand) 35%,transparent)}body.light-mode .hero__scroll{color:var(--color-text-4)}body.light-mode .hero__scroll-dot{background:var(--color-brand)}body.light-mode .hero__scroll-line{background:linear-gradient(to bottom,transparent,var(--color-border-3),transparent)}body.light-mode .hero__social-divider{background:var(--color-border-3)}body.light-mode .hero__social-label{color:var(--color-text-4)}body.light-mode .about{background:transparent}body.light-mode .about__text{color:var(--color-text-3)}body.light-mode .about__text strong{color:var(--color-text-1);font-weight:600}body.light-mode .about__photo-wrap{border-color:var(--color-border-2);box-shadow:var(--surface-edge),var(--shadow-sm),var(--surface-lift)}body.light-mode .about__photo-wrap:hover{border-color:var(--color-border-brand);box-shadow:var(--surface-edge),var(--shadow-card-hover),var(--surface-lift)}body.light-mode .spec-card{background:var(--color-surface-1);border-color:var(--color-border-2);box-shadow:var(--surface-edge),var(--shadow-xs),var(--surface-lift);background-image:none}body.light-mode .spec-card:before{background:radial-gradient(circle at top left,color-mix(in srgb,var(--_crimson-600) 5%,transparent),transparent 70%)}body.light-mode .spec-card:hover{border-color:var(--color-border-brand);box-shadow:var(--surface-edge),var(--shadow-md),var(--surface-lift);transform:translate3d(0,-4px,0)}body.light-mode .spec-card__icon{background:color-mix(in srgb,var(--_crimson-600) 8%,transparent);border-color:color-mix(in srgb,var(--_crimson-600) 18%,transparent);box-shadow:var(--surface-edge),var(--shadow-xs);color:var(--_crimson-700);backdrop-filter:none}body.light-mode .spec-card:hover .spec-card__icon{color:var(--_indigo-700);background:color-mix(in srgb,var(--_indigo-600) 8%,transparent);border-color:color-mix(in srgb,var(--_indigo-600) 20%,transparent)}body.light-mode .spec-card__title{color:var(--color-text-1)}body.light-mode .spec-card__desc{color:var(--color-text-3)}body.light-mode .stat-card{background:var(--color-surface-1);border-color:var(--color-border-2);box-shadow:var(--surface-edge),var(--shadow-xs),var(--surface-lift)}body.light-mode .stat-card--brand{border-color:color-mix(in srgb,var(--_crimson-600) 20%,transparent)}body.light-mode .stat-card--brand:hover{border-color:var(--color-border-brand);box-shadow:var(--shadow-lg),var(--color-brand-glow)}body.light-mode .stat-card--accent{border-color:color-mix(in srgb,var(--_indigo-600) 18%,transparent)}body.light-mode .stat-card--accent:hover{border-color:color-mix(in srgb,var(--_indigo-600) 40%,transparent);box-shadow:var(--shadow-lg),var(--color-accent-glow)}body.light-mode .stat-card--brand .stat-card__icon{background:color-mix(in srgb,var(--_crimson-600) 10%,transparent);color:var(--_crimson-700);border-color:color-mix(in srgb,var(--_crimson-600) 22%,transparent)}body.light-mode .stat-card--accent .stat-card__icon{background:color-mix(in srgb,var(--_indigo-600) 10%,transparent);color:var(--_indigo-700);border-color:color-mix(in srgb,var(--_indigo-600) 22%,transparent)}body.light-mode .stat-card--brand .stat-card__value{color:var(--_crimson-700)}body.light-mode .stat-card--accent .stat-card__value{color:var(--_indigo-700)}body.light-mode .stat-card__label{color:var(--color-text-2)}body.light-mode .stat-card__sublabel{color:var(--color-text-4)}body.light-mode .about__tech-item{background:var(--color-surface-1);border-color:var(--color-border-2);box-shadow:var(--shadow-xs)}body.light-mode .about__tech-item:hover{border-color:var(--color-border-brand);background:var(--color-surface-2);box-shadow:var(--shadow-sm)}body.light-mode .about__tech-item span{color:var(--color-text-4)}body.light-mode .about__objective{background:var(--color-surface-2);border-color:var(--color-border-2);border-left-color:var(--color-brand);box-shadow:var(--surface-edge),var(--shadow-xs),var(--surface-lift)}body.light-mode .about__objective:hover{border-left-color:var(--color-accent);box-shadow:var(--surface-edge),var(--shadow-md),var(--surface-lift)}body.light-mode .about__objective-title{color:var(--color-brand-text)}body.light-mode .about__objective-text{color:var(--color-text-3)}body.light-mode .about__objective-text strong{color:var(--color-text-1)}body.light-mode .timeline{background:var(--color-bg)}body.light-mode .timeline__tab{background:var(--color-surface-1);border-color:var(--color-border-2);color:var(--color-text-3);box-shadow:var(--shadow-xs)}body.light-mode .timeline__tab:hover{color:var(--color-brand);border-color:var(--color-border-brand);background:var(--color-brand-subtle);box-shadow:var(--shadow-sm)}body.light-mode .timeline__tab[aria-selected=true]{background:var(--color-brand);border-color:var(--color-brand);color:#fff;box-shadow:var(--color-brand-glow),var(--shadow-sm)}body.light-mode .timeline__card{background:var(--color-surface-1);border-color:var(--color-border-2);border-left-color:var(--color-brand);box-shadow:var(--shadow-xs)}body.light-mode .timeline__item:hover .timeline__card{background:var(--color-surface-2);box-shadow:var(--shadow-md);border-left-color:var(--color-accent)}body.light-mode .timeline__card-title{color:var(--color-text-1)}body.light-mode .timeline__card-subtitle{color:var(--color-text-3)}body.light-mode .timeline__card-desc{color:var(--color-text-4)}body.light-mode .timeline__date{color:var(--color-brand)}body.light-mode .timeline__status--active{background:color-mix(in srgb,var(--_green-500) 10%,transparent);color:var(--_green-700);border-color:color-mix(in srgb,var(--_green-600) 28%,transparent)}body.light-mode .timeline__status--done{background:color-mix(in srgb,var(--_crimson-600) 8%,transparent);color:var(--_crimson-700);border-color:color-mix(in srgb,var(--_crimson-600) 22%,transparent)}body.light-mode .timeline__tag{background:color-mix(in srgb,var(--_indigo-600) 8%,transparent);color:var(--_indigo-700);border-color:color-mix(in srgb,var(--_indigo-600) 20%,transparent)}body.light-mode .timeline__tag:hover{background:color-mix(in srgb,var(--_indigo-600) 15%,transparent)}body.light-mode .timeline__cert-link{color:var(--color-brand)}body.light-mode .timeline__cert-link:hover{color:var(--color-brand-hover)}body.light-mode .featured{background:transparent}body.light-mode .featured__project{background:var(--color-surface-2);border-color:var(--color-border-2);box-shadow:var(--shadow-sm)}body.light-mode .featured__project:hover{border-color:var(--color-border-brand);box-shadow:var(--shadow-xl)}body.light-mode .featured__gallery{background:var(--color-surface-3);box-shadow:var(--surface-edge),var(--shadow-sm),var(--surface-lift)}body.light-mode .featured__slide-ph{background:linear-gradient(135deg,var(--color-surface-2),var(--color-surface-3))!important}body.light-mode .featured__dot{background:#00000040}body.light-mode .featured__dot.is-active,body.light-mode .featured__dot:hover{background:var(--color-brand)}body.light-mode .featured__arrow{background:#ffffffd9;border-color:var(--color-border-2);color:var(--color-text-2);box-shadow:var(--surface-edge),var(--shadow-sm)}body.light-mode .featured__arrow:hover{background:var(--color-brand);color:#fff}body.light-mode .featured__eyebrow{background:color-mix(in srgb,var(--_crimson-600) 8%,transparent);border-color:color-mix(in srgb,var(--_crimson-600) 20%,transparent);color:var(--_crimson-700)}body.light-mode .featured__title{color:var(--color-text-1)}body.light-mode .featured__title span{color:var(--color-brand)}body.light-mode .featured__desc{color:var(--color-text-3)}body.light-mode .detail-card{background:var(--color-surface-1);border-color:var(--color-border-2);box-shadow:var(--shadow-xs)}body.light-mode .detail-card:hover{border-color:var(--color-border-brand);box-shadow:var(--shadow-md)}body.light-mode .detail-card__label{color:var(--color-brand)}body.light-mode .detail-card__text{color:var(--color-text-3)}body.light-mode .work{background:transparent}body.light-mode .work-card{background:var(--color-surface-1);border-color:var(--color-border-2);box-shadow:var(--surface-edge),var(--shadow-xs),var(--surface-lift)}body.light-mode .work-card:hover{border-color:var(--color-border-brand);box-shadow:var(--surface-edge),var(--shadow-card-hover),var(--surface-lift)}body.light-mode .work-card__title{color:var(--color-text-1)}body.light-mode .work-card__desc{color:var(--color-text-3)}body.light-mode .work-card__footer{border-top-color:var(--color-border-2);background:var(--color-surface-2)}body.light-mode .work-btn--primary{background:var(--color-brand);color:#fff}body.light-mode .work-btn--primary:hover{background:var(--color-brand-hover)}body.light-mode .work-btn--outline{border-color:var(--color-border-3);color:var(--color-text-2);background:transparent}body.light-mode .work-btn--outline:hover{border-color:var(--color-brand);color:var(--color-brand);background:var(--color-brand-subtle)}body.light-mode .contact{background:transparent}body.light-mode .contact__availability{background:color-mix(in srgb,var(--_green-500) 10%,transparent);border-color:color-mix(in srgb,var(--_green-600) 25%,transparent);color:var(--_green-700)}body.light-mode .contact__availability-dot{background:var(--_green-600)}body.light-mode .contact__cta-card{background:var(--color-surface-1);border-color:var(--color-border-2);box-shadow:var(--surface-edge),var(--shadow-sm),var(--surface-lift)}body.light-mode .contact__info-card{background:var(--color-surface-1);border-color:var(--color-border-2);box-shadow:var(--shadow-sm)}body.light-mode .contact__cta-heading{color:var(--color-text-1)}body.light-mode .contact__cta-heading span{color:var(--color-brand)}body.light-mode .contact__cta-desc,body.light-mode .contact__cta-label{color:var(--color-text-3)}body.light-mode .contact__email-btn{background:var(--color-surface-2);border-color:var(--color-border-2);box-shadow:var(--shadow-xs)}body.light-mode .contact__email-btn:hover{border-color:var(--color-border-brand);background:var(--color-brand-subtle);box-shadow:var(--shadow-md)}body.light-mode .contact__email-btn-icon{background:color-mix(in srgb,var(--_crimson-600) 10%,transparent);color:var(--_crimson-700);border-color:color-mix(in srgb,var(--_crimson-600) 22%,transparent)}body.light-mode .contact__email-btn-label{color:var(--color-text-1)}body.light-mode .contact__email-btn-value{color:var(--color-text-3)}body.light-mode .contact__email-btn-arrow{color:var(--color-brand)}body.light-mode .contact__alt-link{background:var(--color-surface-2);border-color:var(--color-border-2);box-shadow:var(--shadow-xs)}body.light-mode .contact__alt-link:hover{border-color:var(--color-border-brand);background:var(--color-brand-subtle);box-shadow:var(--shadow-sm)}body.light-mode .contact__alt-link-icon{color:var(--color-brand)}body.light-mode .contact__alt-link-name{color:var(--color-text-1)}body.light-mode .contact__alt-link-handle{color:var(--color-text-3)}body.light-mode .contact__or{color:var(--color-text-4)}body.light-mode .contact__data-icon{color:var(--color-brand)}body.light-mode .contact__data-label{color:var(--color-text-4)}body.light-mode .contact__data-value,body.light-mode .contact__data-value a{color:var(--color-text-2)}body.light-mode .contact__data-value a:hover{color:var(--color-brand);text-decoration:underline;text-underline-offset:3px}body.light-mode .contact__data-note{color:var(--color-text-4)}body.light-mode .contact__data-row{border-bottom-color:var(--color-border-2)}body.light-mode .contact__response{background:var(--color-surface-2);border-color:var(--color-border-2);box-shadow:var(--shadow-xs)}body.light-mode .contact__response-icon{color:var(--color-brand)}body.light-mode .contact__response-title{color:var(--color-text-1)}body.light-mode .contact__response-sub{color:var(--color-text-3)}body.light-mode .contact__cta-icon{color:var(--color-brand)}body.light-mode .contact__cta-sub{color:var(--color-text-3)}body.light-mode #profile-title{color:var(--color-text-1)}body.light-mode .footer{background:var(--color-surface-1);border-top:4px solid color-mix(in srgb,var(--color-brand) 14%,transparent)}body.light-mode .footer__brand-tagline,body.light-mode .footer__col-title{color:var(--color-text-4)}body.light-mode .footer__col-title:before{background:var(--color-brand);opacity:.5}body.light-mode .footer__link{color:var(--color-text-3)}body.light-mode .footer__link:hover{color:var(--color-brand)}body.light-mode .footer__link:after{background:var(--color-brand)}body.light-mode .footer__contact-item{color:var(--color-text-3)}body.light-mode .footer__contact-item:hover{color:var(--color-brand)}body.light-mode .footer__contact-location{color:var(--color-text-4)}body.light-mode .footer__contact-location svg{fill:var(--color-brand)}body.light-mode .footer__divider{background:linear-gradient(to right,transparent 0%,color-mix(in srgb,var(--color-brand) 25%,transparent) 25%,var(--color-border-2) 50%,color-mix(in srgb,var(--color-accent) 18%,transparent) 75%,transparent 100%)}body.light-mode .footer__copyright{color:var(--color-text-4)}body.light-mode .footer__cv-link{color:var(--color-text-3);border-color:var(--color-border-2);background:transparent}body.light-mode .footer__cv-link:hover{color:var(--color-brand);border-color:var(--color-border-brand);background:var(--color-brand-subtle)}body.light-mode .footer__made{color:var(--color-text-4)}body.light-mode .footer__heart{fill:var(--color-brand);color:var(--color-brand)}body.light-mode .footer a:focus-visible,body.light-mode .footer button:focus-visible{outline:2px solid var(--color-brand);outline-offset:3px;border-radius:var(--radius-sm)}.ambient,.ambient>*{position:fixed;inset:0;pointer-events:none}.ambient{z-index:var(--z-ambient);contain:strict;overflow:hidden;--ambient-step: 26px;--ambient-bleed: calc(var(--ambient-step) * 5);--ambient-drift-near: 7;--ambient-cycle-near: 2.2;--ambient-dot-a: var(--color-brand);--ambient-dot-b: var(--color-accent);--ambient-peak: 1;--ambient-gain: 1.8;--ambient-dither: .035}.ambient:after{content:"";position:fixed;inset:0;pointer-events:none;opacity:var(--ambient-dither);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='1' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}.ambient__aurora{opacity:.85}.ambient__aurora:before,.ambient__aurora:after{content:"";position:absolute;border-radius:50%;will-change:transform}.ambient__aurora:before{width:clamp(300px,calc(27vw + 27vh),760px);height:clamp(300px,calc(27vw + 27vh),760px);top:calc(-7vw - 7vh);left:calc(-7vw - 7vh);background:radial-gradient(circle,color-mix(in srgb,var(--color-brand) 17%,transparent) 0%,color-mix(in srgb,var(--color-brand) 12%,transparent) 26%,color-mix(in srgb,var(--color-brand) 6%,transparent) 48%,color-mix(in srgb,var(--color-brand) 2%,transparent) 66%,transparent 82%);animation:ambient-aurora-a 96s ease-in-out infinite}.ambient__aurora:after{width:clamp(300px,calc(27vw + 27vh),760px);height:clamp(300px,calc(27vw + 27vh),760px);bottom:calc(-7vw - 7vh);right:calc(-7vw - 7vh);background:radial-gradient(circle,color-mix(in srgb,var(--color-accent) 14%,transparent) 0%,color-mix(in srgb,var(--color-accent) 9%,transparent) 26%,color-mix(in srgb,var(--color-accent) 5%,transparent) 48%,color-mix(in srgb,var(--color-accent) 2%,transparent) 66%,transparent 82%);animation:ambient-aurora-b 124s ease-in-out infinite}@keyframes ambient-aurora-a{0%,to{transform:translate(0) scale(1)}50%{transform:translate(6vw,-6vh) scale(1.22)}}@keyframes ambient-aurora-b{0%,to{transform:translate(0) scale(1.1)}50%{transform:translate(-5vw,5vh) scale(.9)}}.ambient__bokeh{inset-block:calc(-1 * var(--ambient-bleed))}.ambient__bokeh b{position:absolute;display:block;border-radius:50%;will-change:transform;animation:ambient-bokeh var(--dur, 90s) linear infinite}@keyframes ambient-bokeh{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.18)}to{transform:rotate(360deg) scale(1)}}.ambient__grid{inset-block:calc(-1 * var(--ambient-bleed));background-image:radial-gradient(var(--dots-color) 1px,transparent 1px);background-size:var(--ambient-step) var(--ambient-step);-webkit-mask-image:radial-gradient(ellipse 92% 78vh at 50% calc(var(--ambient-bleed) + 42vh),#000 46%,transparent 100%);mask-image:radial-gradient(ellipse 92% 78vh at 50% calc(var(--ambient-bleed) + 42vh),#000 46%,transparent 100%)}.ambient__overlay{background:var(--section-gradient-overlay)}.ambient__particles{inset-block:calc(-1 * var(--ambient-bleed));overflow:hidden}.ambient__particle{position:absolute;border-radius:50%;opacity:0;animation-name:ambient-float;animation-duration:var(--dur, 26s);animation-delay:var(--delay, 0s);animation-timing-function:cubic-bezier(.45,0,.55,1);animation-iteration-count:infinite;will-change:transform,opacity}@keyframes ambient-float{0%{transform:translate(0) scale(.85);opacity:0}12%{opacity:calc(var(--peak, .45) * var(--ambient-peak) * var(--ambient-gain))}50%{transform:translate(var(--mx, 26px),calc(var(--dy, -156px) * .55)) scale(1.2);opacity:calc(var(--peak, .45) * var(--ambient-peak) * var(--ambient-gain))}88%{opacity:calc(var(--peak, .45) * var(--ambient-peak) * var(--ambient-gain) * .35)}to{transform:translate(var(--dx, 0),var(--dy, -156px)) scale(.9);opacity:0}}.ambient__particle--orb{animation-name:ambient-orb}@keyframes ambient-orb{0%{transform:translate(0) scale(1);opacity:0}20%,80%{opacity:calc(var(--peak, .2) * var(--ambient-peak) * var(--ambient-gain))}50%{transform:translate(var(--mx, 26px),calc(var(--dy, -104px) * .6)) scale(1.4)}to{transform:translate(var(--dx, 0),var(--dy, -104px)) scale(1.1);opacity:0}}[data-theme=light] .ambient{--ambient-peak: .34;--ambient-dither: .09;--ambient-dot-a: color-mix(in srgb, var(--color-brand) 62%, #64748b);--ambient-dot-b: color-mix(in srgb, var(--color-accent) 58%, #64748b)}[data-theme=light] .ambient__aurora{opacity:.8}@media (prefers-reduced-motion: reduce){.ambient__particle,.ambient__grid,.ambient__bokeh b,.ambient__aurora:before,.ambient__aurora:after{animation:none}.ambient__particle{opacity:calc(.25 * var(--ambient-peak))}}.ambient--links{--ambient-gain: 1.9}
