@font-face{font-family:satoshi;src:url(../media/Satoshi_Regular-s.p.09pbr55gst35t.otf)format("opentype");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:satoshi;src:url(../media/Satoshi_Medium-s.p.34gvz41culobd.otf)format("opentype");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:satoshi;src:url(../media/Satoshi_Bold-s.p.277jzqys-f9y3.otf)format("opentype");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:satoshi Fallback;src:local(Arial);ascent-override:102.23%;descent-override:24.29%;line-gap-override:10.12%;size-adjust:98.8%}._72Hj6G_className{font-family:satoshi,satoshi Fallback,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}._72Hj6G_variable{--font-satoshi:"satoshi", "satoshi Fallback", system-ui, -apple-system, Segoe UI, Roboto, sans-serif}
:root,:root[data-theme=dark]{--bg:#0b0d10;--surface:#13161b;--surface-hover:#181c22;--border:#ffffff14;--border-hover:#5eead466;--text:#e8ebef;--muted:#9aa4af;--accent:#5eead4;--accent-soft:#5eead41f;--btn-text:#06201c;--skeleton:#ffffff0d;--shadow:0 18px 40px -20px #000c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f5f6f7;--surface:#fff;--surface-hover:#fff;--border:#0f172a1a;--border-hover:#0f766e80;--text:#111827;--muted:#4b5563;--accent:#0f766e;--accent-soft:#0f766e14;--btn-text:#fff;--skeleton:#0f172a0f;--shadow:0 18px 40px -24px #0f172a59;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root{--container:1120px;--gutter:max(20px, min(5vw, 40px));--edge:max(var(--gutter), calc((100vw - var(--container)) / 2 + var(--gutter)));--radius:16px;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--sans:var(--font-satoshi), system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ease:cubic-bezier(.2, .8, .2, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--bg)}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.7;overflow-x:clip}html.is-loading,html.is-loading body{overflow:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{margin:0;padding:0;list-style:none}h1,h2,p,blockquote{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:8px}.mono{font-family:var(--mono)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.accent{color:var(--accent)}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}@media (min-width:1600px){:root{--container:1280px}html{font-size:17px}body{font-size:18px}}@media (min-width:2000px){:root{--container:1480px}html,body{font-size:19px}}.container.narrow{max-width:780px}.skip-link{z-index:200;background:var(--accent);color:var(--btn-text);border-radius:8px;padding:8px 14px;font-weight:700;position:fixed;top:-60px;left:16px}.skip-link:focus{top:16px}.js [data-hero],.js [data-item],.js [data-reveal=self],.js img[data-fade]{opacity:0}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}[data-vt=dark]::view-transition-old(root){z-index:2}.scene{z-index:0;pointer-events:none;width:100vw;height:100lvh;position:fixed;inset:0}main,.footer{z-index:1;position:relative}main{overflow-x:clip}.only-light{display:none}[data-theme=light] .only-light{display:inline}[data-theme=light] .only-dark{display:none}.preloader{--grid:#0f766e12;z-index:100;background:linear-gradient(var(--grid) 1px, transparent 1px) 0 0 / 28px 28px, linear-gradient(90deg, var(--grid) 1px, transparent 1px) 0 0 / 28px 28px, radial-gradient(70% 60% at 50% 45%, var(--surface), var(--bg));place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}[data-theme=dark] .preloader{--grid:#5eead40d}.is-open .pl-edge{opacity:1}.preloader.is-open{-webkit-mask-image:radial-gradient(circle at 50% 50%, transparent var(--hole,0px), #000 calc(var(--hole,0px) + 1px));-webkit-mask-image:radial-gradient(circle at 50% 50%, transparent var(--hole,0px), #000 calc(var(--hole,0px) + 1px));mask-image:radial-gradient(circle at 50% 50%, transparent var(--hole,0px), #000 calc(var(--hole,0px) + 1px))}.pl-stage{z-index:2;justify-items:center;gap:18px;width:min(360px,100vw - 40px);display:grid;position:relative}.pl-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;width:200px;padding:14px;animation:5s ease-in-out infinite tilt;box-shadow:0 30px 60px -30px #0f172a59}[data-theme=dark] .pl-card{box-shadow:0 30px 60px -30px #000c,0 0 50px -24px #5eead480}@keyframes tilt{0%,to{transform:perspective(800px)rotateY(-14deg)rotateX(6deg)}50%{transform:perspective(800px)rotateY(14deg)rotateX(-4deg)}}.pl-card .draw{fill:none;stroke-linecap:round;stroke-linejoin:round}.pl-card .guide{stroke:color-mix(in srgb, var(--accent) 32%, transparent);stroke-width:.7px}.pl-card .glyph{stroke:var(--accent);stroke-width:5px}[data-theme=dark] .pl-card .glyph{filter:drop-shadow(0 0 4px #5eead499)}.pl-name{letter-spacing:-.02em;font-size:24px;font-weight:700}.pl-status{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 85%, transparent);min-height:1.6em;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;border-radius:10px;justify-self:stretch;padding:8px 12px;font-size:13px;overflow:hidden}.pl-prompt{color:var(--accent);font-weight:700}.pl-status.is-ready{color:var(--accent);border-color:var(--border-hover);font-weight:700}.pl-caret{vertical-align:-2px;background:var(--accent);width:7px;height:14px;margin-left:2px;animation:1s steps(2,end) infinite blink;display:inline-block}.pl-login{justify-self:stretch;font-size:13px;line-height:1.85}.pl-key{color:var(--muted)}.pl-pass{letter-spacing:.12em;color:var(--accent)}.pl-auth{color:var(--accent);opacity:0;transition:opacity .3s, transform .3s var(--ease);transform:translateY(4px)}.pl-auth.on{opacity:1;transform:none}.pl-step{opacity:0;align-items:baseline;gap:6px;transition:opacity .2s;display:flex}.pl-step.on{opacity:1}.pl-step .pl-key{color:var(--accent)}.pl-step-label{color:var(--text);white-space:nowrap}.pl-dots{border-bottom:1px dotted var(--border-hover);opacity:0;flex:1;min-width:12px;transition:opacity .2s;transform:translateY(-4px)}.pl-ok{color:var(--accent);opacity:0;transition:opacity .25s, transform .25s var(--ease);font-weight:700;transform:translate(-4px)}.pl-step.ok .pl-dots{opacity:1}.pl-step.ok .pl-ok{opacity:1;transform:none}.pl-progress{justify-self:stretch}.pl-bar{background:var(--border);border-radius:3px;height:3px;overflow:hidden}.pl-bar span{background:var(--accent);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.pl-meta{color:var(--accent);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:8px;font-size:12px;display:flex}.pl-drop,.pl-ripple,.pl-edge{pointer-events:none;position:absolute;top:50%;left:50%}.pl-drop{opacity:0;z-index:3;transform-origin:50% 100%;width:26px;height:26px;margin:-13px 0 0 -13px}.pl-drop:before{content:"";background:radial-gradient(circle at 65% 65%, color-mix(in srgb, var(--accent) 55%, #fff), var(--accent) 60%);box-shadow:0 0 22px color-mix(in srgb, var(--accent) 60%, transparent);border-radius:0 50% 50%;position:absolute;inset:0;transform:rotate(45deg)}.pl-ripple{border:1.5px solid var(--accent);opacity:0;border-radius:50%;width:0;height:0;transform:translate(-50%,-50%)}.pl-edge{opacity:0;width:0;height:0;box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 70%, transparent), 0 0 30px 6px color-mix(in srgb, var(--accent) 35%, transparent);border-radius:50%;transform:translate(-50%,-50%)}.theme-ctl{top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right), calc((100vw - var(--container)) / 2 + var(--gutter)));z-index:50;align-items:center;gap:10px;display:flex;position:fixed}.theme-toggle{border:1px solid var(--border);background:var(--surface);width:48px;height:48px;color:var(--text);cursor:pointer;box-shadow:var(--shadow);transition:border-color .2s, color .2s, transform .3s var(--ease), box-shadow .3s;border-radius:50%;place-items:center;display:grid}.theme-toggle:hover{border-color:var(--border-hover);color:var(--accent);box-shadow:var(--shadow), 0 0 22px -6px var(--accent);transform:translateY(-2px)}.hs .hs-body,.hs .hs-hood{fill:#1f2937}.hs .hs-skin{fill:#f1c6a6}.hs .hs-hair{fill:#3b2a20}.hs .hs-string,.hs .hs-smile{fill:none;stroke-width:3px;stroke-linecap:round}.hs .hs-string{stroke:#e8ebef}.hs .hs-smile{stroke:#7a4a33}.hs .hs-eyes{fill:#1f2937}.hs .hs-shade{fill:#05070a;opacity:0}.hs .hs-glow{fill:#5eead4;opacity:0;transform-box:fill-box;transform-origin:50%;filter:drop-shadow(0 0 4px #5eead4)}.hs .hs-hood{transform-box:fill-box;transform-origin:50% 100%;transform:translateY(64px)scaleY(.35)}.hs.is-up .hs-hood{transform:none}.hs.is-up .hs-shade{opacity:.94}.hs.is-up .hs-eyes{opacity:0}.hs.is-up .hs-glow{opacity:1}.theme-toggle .hs{overflow:visible}.theme-toggle:hover .hs.is-up .hs-glow{animation:.9s ease-in-out infinite glint}@keyframes glint{50%{opacity:.35}}.hood-scene{z-index:145;background:color-mix(in srgb, var(--bg) 55%, transparent);-webkit-backdrop-filter:blur(6px);opacity:0;place-items:center;display:none;position:fixed;inset:0}.hood-scene.on{display:grid}.hs-stage{justify-items:center;gap:18px;display:grid}.hs-stage .hs{background:radial-gradient(circle at 50% 40%, var(--surface), color-mix(in srgb, var(--accent) 18%, var(--surface)));border:1px solid var(--border-hover);width:min(240px,56vw);height:auto;box-shadow:var(--shadow), 0 0 60px -20px var(--accent);border-radius:50%;padding:10px;overflow:hidden}.hs-caption{color:var(--accent);opacity:0;font-size:14px}.theme-tip{color:#e8ebef;white-space:nowrap;box-shadow:var(--shadow);background:#111827;border-radius:12px;padding:8px 14px;font-size:13px;font-weight:700;display:none;position:relative}.theme-tip:after{content:"";background:inherit;border-radius:2px;width:10px;height:10px;margin-top:-5px;position:absolute;top:50%;right:-5px;transform:rotate(45deg)}.theme-tip.on{display:block}.theme-ctl:hover .theme-tip{display:block;opacity:1!important;transform:none!important}[data-theme=dark] .theme-tip{display:none!important}.brand{top:max(20px, env(safe-area-inset-top));left:var(--edge);z-index:2;height:44px;color:var(--accent);align-items:center;font-size:20px;font-weight:700;display:inline-flex;position:absolute}.brand-text{white-space:pre;min-width:9ch}.btn{white-space:nowrap;min-height:48px;transition:background-color .25s, border-color .25s, color .25s, box-shadow .25s, transform .25s var(--ease);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 24px;font-size:15px;font-weight:700;line-height:1;display:inline-flex}.btn-primary{background:var(--accent);color:var(--btn-text);box-shadow:0 10px 24px -12px var(--accent)}.btn-primary:hover{box-shadow:0 14px 30px -12px var(--accent);transform:translateY(-2px)}.btn-lg{min-height:56px;padding:0 32px;font-size:17px}.socials{gap:8px;display:flex}.socials.center{justify-content:center}.social{border:1px solid var(--border);background:var(--surface);width:48px;height:48px;color:var(--muted);transition:color .2s, border-color .2s, transform .25s var(--ease);border-radius:50%;place-items:center;display:grid}.social:hover{color:var(--accent);border-color:var(--border-hover);transform:translateY(-2px)}.glow{position:relative}.glow:before{content:"";z-index:2;border-radius:inherit;background:radial-gradient(220px circle at var(--gx,50%) var(--gy,50%), var(--accent), transparent 70%);-webkit-mask-composite:xor;opacity:0;pointer-events:none;padding:1px;transition:opacity .3s;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.glow:hover:before,.glow:focus-visible:before{opacity:1}.glow.glow:hover,.glow.glow:focus-visible{border-color:color-mix(in srgb, var(--accent) 45%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 25%, transparent), 0 0 32px -10px var(--accent)}.resume-btn{border:1px solid var(--border-hover);background:var(--surface);transition:transform .3s var(--ease), box-shadow .3s;border-radius:18px;align-items:center;gap:14px;padding:8px 18px 8px 8px;display:inline-flex}.resume-btn:hover{transform:translateY(-2px)}.rb-icon{background:var(--accent);width:48px;height:48px;color:var(--btn-text);transition:transform .4s var(--ease);border-radius:12px;place-items:center;display:grid;position:relative}.rb-icon:after{content:"";border-style:solid;border-width:0 12px 12px 0;border-color:transparent var(--surface) transparent transparent;transition:border-width .3s var(--ease);position:absolute;top:0;right:0}.resume-btn:hover .rb-icon{transform:rotate(-6deg)}.resume-btn:hover .rb-icon:after{border-width:0 18px 18px 0}.rb-body{text-align:left;line-height:1.25;display:grid}.rb-label{font-size:17px;font-weight:700}.rb-cmd{color:var(--muted);font-size:12.5px}.rb-caret{vertical-align:-2px;background:var(--accent);width:7px;height:13px;margin-left:3px;animation:1s steps(2,end) infinite blink;display:inline-block}.rb-arrow{color:var(--accent);transition:transform .3s var(--ease);margin-left:6px}.resume-btn:hover .rb-arrow{transform:translate(3px,-3px)}.cta-resume{isolation:isolate;border:1px solid color-mix(in srgb, var(--accent) 32%, transparent);background:color-mix(in srgb, var(--accent) 9%, var(--surface));color:var(--text);transition:transform .35s var(--ease), box-shadow .35s, border-color .3s, background-color .3s;border-radius:999px;align-items:center;gap:14px;padding:6px;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 12px 28px -20px #0000008c}:root[data-theme=light] .cta-resume{box-shadow:0 12px 28px -20px #0f172a4d}:root[data-theme=dark] .cta-resume{border-color:var(--border);background:color-mix(in srgb, var(--accent) 5%, var(--surface))}:root[data-theme=dark] .cta-resume:hover,:root[data-theme=dark] .cta-resume:focus-visible{border-color:color-mix(in srgb, var(--accent) 30%, transparent);background:color-mix(in srgb, var(--accent) 8%, var(--surface))}:root[data-theme=dark] .cta-icon{background:color-mix(in srgb, var(--accent) 9%, transparent);color:color-mix(in srgb, var(--accent) 80%, var(--text))}:root[data-theme=dark] .cta-go{border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);background:color-mix(in srgb, var(--accent) 10%, transparent);color:var(--accent);transition:background-color .3s,color .3s}:root[data-theme=dark] .cta-resume:hover .cta-go,:root[data-theme=dark] .cta-resume:focus-visible .cta-go{background:color-mix(in srgb, var(--accent) 22%, transparent)}:root[data-theme=dark] .cta-resume:after{background:linear-gradient(110deg, transparent 30%, color-mix(in srgb, var(--accent) 8%, transparent) 50%, transparent 70%)}.cta-resume:after{content:"";z-index:-1;background:linear-gradient(110deg, transparent 30%, color-mix(in srgb, var(--accent) 16%, transparent) 50%, transparent 70%);transition:transform .9s var(--ease);pointer-events:none;position:absolute;inset:0;transform:translate(-120%)}.cta-resume:hover,.cta-resume:focus-visible{border-color:color-mix(in srgb, var(--accent) 55%, transparent);background:color-mix(in srgb, var(--accent) 13%, var(--surface));transform:translateY(-2px)}.cta-resume:hover:after,.cta-resume:focus-visible:after{transform:translate(120%)}.cta-icon{background:var(--accent-soft);width:48px;height:48px;color:var(--accent);border-radius:50%;flex:none;place-items:center;display:grid;position:relative;overflow:hidden}.cta-icon svg{transition:transform .45s var(--ease)}.cta-resume:hover .cta-icon svg{transform:rotate(-6deg)scale(1.06)}.cta-scan{background:var(--accent);height:2px;box-shadow:0 2px 6px color-mix(in srgb, var(--accent) 60%, transparent);opacity:0;border-radius:2px;position:absolute;top:10px;left:11px;right:11px}.cta-resume:hover .cta-scan,.cta-resume:focus-visible .cta-scan{animation:cta-scan 1.2s var(--ease) infinite}@keyframes cta-scan{0%{opacity:0;top:10px}15%,80%{opacity:.85}to{opacity:0;top:36px}}.cta-body{text-align:left;padding-right:4px;line-height:1.2;display:grid}.cta-label{letter-spacing:-.01em;font-size:17px;font-weight:700}.cta-cmd{color:var(--muted);font-size:12.5px}.cta-caret{vertical-align:-2px;background:var(--accent);width:7px;height:13px;margin-left:3px;animation:1s steps(2,end) infinite blink;display:inline-block}.cta-go{background:var(--accent);width:42px;height:42px;color:var(--btn-text);border-radius:50%;flex:none;place-items:center;margin-left:4px;display:grid}.cta-go svg{transition:transform .4s var(--ease)}.cta-resume:hover .cta-go svg,.cta-resume:focus-visible .cta-go svg{transform:translate(2px,-2px)}.contact-badge{z-index:3;background:var(--surface);border:1px solid var(--border-hover);width:108px;height:108px;box-shadow:var(--shadow);transition:transform .35s var(--ease), box-shadow .35s;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-4%;left:-16%}.contact-badge:hover{box-shadow:0 0 0 1px var(--accent), 0 0 32px -6px var(--accent);transform:scale(1.08)}.cb-ring{width:calc(100% - 8px);height:calc(100% - 8px);position:absolute;inset:4px}.cb-ring text{font-family:var(--mono);fill:var(--text);font-size:9.5px;font-weight:700}.cb-core{background:var(--accent);width:44px;height:44px;color:var(--btn-text);transition:transform .35s var(--ease);border-radius:50%;place-items:center;display:grid}.contact-badge:hover .cb-core{transform:rotate(-12deg)scale(1.05)}.hero{flex-direction:column;justify-content:center;gap:64px;min-height:100svh;padding-block:104px 64px;display:flex;position:relative}.hero-grid{grid-template-columns:1.2fr .8fr;align-items:center;gap:48px;display:grid}.hero-name{letter-spacing:-.035em;margin-bottom:20px;font-size:clamp(48px,8vw,5.75rem);font-weight:700;line-height:1}.hero-role{color:var(--muted);min-height:1.7em;margin-bottom:16px;font-size:clamp(18px,2vw,22px)}.role{color:var(--accent);font-weight:500;display:inline-block}.hero-text{max-width:34em;color:var(--muted);margin-bottom:32px;font-size:clamp(16px,1.6vw,18px)}.hero-actions{flex-wrap:wrap;align-items:center;gap:16px 20px;display:flex}.hero-avatar{aspect-ratio:1;justify-self:center;width:clamp(220px,22vw,440px);position:relative}.avatar{border:1px solid var(--border);background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 30%, transparent), transparent 80%);border-radius:50%;width:100%;height:100%;position:relative;overflow:hidden}.avatar img{object-fit:cover}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;font-size:13px;font-weight:700}.certs{flex-wrap:wrap;gap:12px;display:flex}.certs>li{display:flex;position:relative}.certs>li:hover,.certs>li:focus-within{z-index:6}.cert{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .3s, transform .35s var(--ease), box-shadow .35s;border-radius:999px;align-items:center;gap:12px;padding:7px 20px 7px 7px;display:inline-flex;position:relative}.cert:hover,.cert:focus-visible{border-color:var(--border-hover);transform:translateY(-3px)}.certs .glow.glow:hover,.certs .glow.glow:focus-visible{box-shadow:0 16px 34px -20px #000000b3}:root[data-theme=light] .certs .glow.glow:hover,:root[data-theme=light] .certs .glow.glow:focus-visible{box-shadow:0 16px 34px -20px #0f172a59}.cert-badge{background:var(--bg);width:50px;height:50px;box-shadow:inset 0 0 0 1px var(--border);border-radius:50%;flex:none;place-items:center;display:grid}.cert-badge img{object-fit:contain;width:42px;height:42px;transition:transform .5s var(--ease)}.cert:hover .cert-badge img,.cert:focus-visible .cert-badge img{transform:rotate(-8deg)scale(1.08)}.cert-text{flex-direction:column;min-width:0;line-height:1.25;display:flex}.cert-short{letter-spacing:-.01em;font-size:16px;font-weight:700}.cert-name{display:none}.cert-card{z-index:5;border:1px solid var(--border-hover);background:var(--surface);text-align:left;white-space:nowrap;opacity:0;pointer-events:none;filter:blur(4px);transform-origin:50% 0;min-width:236px;transition:opacity .25s, filter .35s, transform .4s var(--ease);border-radius:14px;gap:3px;padding:12px 14px;display:grid;position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%,-6px)scale(.96);box-shadow:0 22px 44px -22px #000000a6}:root[data-theme=light] .cert-card{box-shadow:0 22px 44px -22px #0f172a59}.cert-card:before{content:"";border-left:1px solid var(--border-hover);border-top:1px solid var(--border-hover);background:var(--surface);border-radius:2px 0 0;width:11px;height:11px;margin-left:-5.5px;position:absolute;top:-6px;left:50%;transform:rotate(45deg)}.cert:hover .cert-card,.cert:focus-visible .cert-card{opacity:1;filter:none;transform:translate(-50%)scale(1)}.cert-card-issuer{color:var(--accent);font-size:12px}.cert-card-name{color:var(--text);font-size:15px;font-weight:700}.cert-card-cta{border-top:1px solid var(--border);color:var(--muted);align-items:center;gap:6px;margin-top:8px;padding-top:8px;font-size:12.5px;display:inline-flex}.cert:hover .cert-card-cta{color:var(--accent)}@media (max-width:1040px) and (min-width:561px){.certs{gap:8px}.cert{gap:10px;padding:6px 14px 6px 6px}.cert-badge{width:42px;height:42px}.cert-badge img{width:34px;height:34px}.cert-short{font-size:15px}}.section{padding-block:clamp(72px,10vw,128px)}.section-title{letter-spacing:-.02em;margin-bottom:32px;font-size:clamp(30px,4vw,2.625rem);font-weight:700;line-height:1.15}.section-lead{color:var(--muted);margin:-16px 0 32px}.prose{color:var(--muted);gap:18px;font-size:clamp(16px,1.5vw,18px);display:grid}:root[data-theme=light] .prose{color:#374151}.grid{gap:18px;display:grid}.grid-4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.grid-work{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:1040px){.grid-work{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:720px){.grid-work{grid-template-columns:repeat(2,minmax(0,1fr))}}.grid>li{display:flex}.card{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);width:100%;transition:border-color .25s, transform .25s var(--ease), box-shadow .25s;flex-direction:column;display:flex;overflow:hidden}.card:hover{border-color:var(--border-hover);box-shadow:var(--shadow);transform:translateY(-4px)}.card-media{aspect-ratio:16/10;display:block;position:relative}.card-media img{object-fit:cover;transition:transform .6s var(--ease)}.card:hover .card-media img{transform:scale(1.04)}.card-body{flex-direction:column;flex:1;gap:12px;padding:16px 18px 18px;display:flex}.card-title{font-size:16px;font-weight:700;line-height:1.35}.badge{border-radius:8px;justify-content:center;align-items:center;min-height:56px;display:flex}.badge img{width:auto;max-width:100%;height:auto;max-height:80px}.gcp-badge{color:#e8eaed;text-align:left;background:#1f2329;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:12px;padding:10px 16px 10px 12px;display:inline-flex}.gcp-text{line-height:1.25;display:grid}.gcp-title{font-size:15px;font-weight:700}.gcp-sub{color:#8ab4f8;font-size:11.5px}.img-shell{background:var(--skeleton);position:relative;overflow:hidden}.img-shell:after{content:"";background:linear-gradient(100deg, transparent 30%, var(--skeleton) 50%, transparent 70%);animation:1.4s ease-in-out infinite shimmer;position:absolute;inset:0}.img-shell.loaded:after{display:none}.img-shell.loaded.badge{background:0 0}.img-shell.errored img{display:none}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skill-groups{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:18px;display:grid}.skill-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);transition:transform .3s var(--ease), box-shadow .3s;flex-direction:column;gap:18px;padding:22px;display:flex}.skill-offensive{border-color:var(--border-hover);background:radial-gradient(120% 140% at 0% 0%, var(--accent-soft), transparent 60%), var(--surface);grid-column:1/-1}.skill-title{align-items:baseline;gap:12px;margin:0;font-size:19px;line-height:1.3;display:flex}.skill-offensive .skill-title{font-size:23px}.skill-index{color:var(--accent);font-size:13px}.tools{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;display:grid}.skill-offensive .tools{grid-template-columns:repeat(5,minmax(0,1fr))}.tool{border:1px solid var(--border);background:var(--bg);text-align:center;transition:transform .25s var(--ease), border-color .25s, box-shadow .25s;border-radius:14px;flex-direction:column;align-items:center;gap:10px;padding:16px 8px 12px;display:flex}.tool-icon{width:44px;height:44px;color:var(--brand,var(--accent));transition:transform .35s var(--ease), filter .35s;place-items:center;display:grid}.tool-name{color:var(--muted);font-size:12.5px;font-weight:500;line-height:1.25}.tool:hover{border-color:color-mix(in srgb, var(--brand,var(--accent)) 55%, transparent);box-shadow:0 0 24px -8px var(--brand,var(--accent));transform:translateY(-3px)}.tool:hover .tool-icon{filter:drop-shadow(0 0 10px color-mix(in srgb, var(--brand,var(--accent)) 60%, transparent));transform:scale(1.12)}.tool:hover .tool-name{color:var(--text)}.leave{z-index:150;background:var(--bg);clip-path:circle(0);place-items:center;display:none;position:fixed;inset:0}.leave.on{display:grid}[data-theme=dark] .leave{background:repeating-linear-gradient(0deg, #ffffff08 0 1px, transparent 1px 3px), radial-gradient(60% 60% at 50% 50%, #102421, var(--bg))}[data-theme=light] .leave{background:linear-gradient(#0f766e12 1px, transparent 1px) 0 0 / 28px 28px, linear-gradient(90deg, #0f766e12 1px, transparent 1px) 0 0 / 28px 28px, var(--bg)}.leave-inner{text-align:center;justify-items:center;gap:10px;width:min(620px,88vw);display:grid}.leave-kicker{color:var(--muted);font-size:13px}.leave-icon{width:132px;height:132px;margin:10px 0 6px;display:block}[data-theme=dark] .leave-icon{filter:drop-shadow(0 0 22px #5eead44d)}.leave-host{color:var(--muted);font-size:13px}.leave-bar{background:var(--border);border-radius:3px;width:min(360px,80vw);height:3px;margin-top:8px;overflow:hidden}.leave-bar span{background:var(--accent);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.warp-prompt{color:var(--muted);font-size:14px}.warp-user{color:var(--accent);font-weight:700}.warp-cmd{color:var(--text)}html.warp-in .warp{clip-path:none;animation:0s linear 3s forwards warp-failsafe;display:grid}@keyframes warp-failsafe{to{visibility:hidden}}.contact{align-items:center;min-height:80vh;padding-block:clamp(80px,12vw,140px);display:grid}.contact-inner{text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}.contact-anchor{aspect-ratio:1;pointer-events:none;width:min(520px,86vw);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.contact .section-title{margin-bottom:12px}.contact-text{color:var(--muted);margin-bottom:28px;font-size:clamp(16px,1.6vw,19px)}.contact .socials{margin-top:24px}.footer{border-top:1px solid var(--border);background:var(--bg);padding-block:40px calc(24px + env(safe-area-inset-bottom))}.footer-row{justify-content:space-between;align-items:center;gap:32px;display:flex}.footer-title{font-size:20px;font-weight:700;line-height:1.3}.footer-role{color:var(--muted);min-height:1.7em;font-size:15px}.quote{text-align:right;font-size:17px;font-style:italic}.quote cite{color:var(--muted);margin-top:2px;font-size:14px;font-style:normal;display:block}.copyright{border-top:1px solid var(--border);text-align:center;color:var(--muted);margin-top:28px;padding-top:20px;font-size:14px}.to-top{right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));z-index:40;border:1px solid var(--border);background:var(--surface);width:48px;height:48px;color:var(--text);box-shadow:var(--shadow);opacity:0;pointer-events:none;border-radius:50%;place-items:center;transition:opacity .3s,transform .3s;display:grid;position:fixed;transform:translateY(10px)}.show-top .to-top{opacity:1;pointer-events:auto;transform:none}.work-head{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px 40px;margin-bottom:36px;display:grid}.work-head .section-title{margin-bottom:20px}.work-head .section-lead{max-width:46ch;margin:0}.work-nav{gap:12px;display:flex}.hub-link{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 90%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-width:230px;transition:border-color .3s, transform .3s var(--ease), box-shadow .3s;border-radius:18px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px;display:grid}.hub-link:hover,.hub-link:focus-visible{border-color:var(--border-hover);transform:translateY(-2px)}.hub-link.glow:hover,.hub-link.glow:focus-visible{box-shadow:0 18px 36px -24px #0009}.hub-icon{border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);background:var(--accent-soft);width:44px;height:44px;color:var(--accent);transition:transform .45s var(--ease);border-radius:50%;place-items:center;display:grid}.hub-link:hover .hub-icon{transform:rotate(-10deg)scale(1.05)}.hub-text{gap:2px;line-height:1.25;display:grid}.hub-label{align-items:center;gap:8px;font-size:16px;font-weight:700;display:inline-flex}.hub-count{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:1px 7px;font-size:12px;font-weight:600}.hub-cmd{color:var(--muted);font-size:12.5px}.hub-go{border:1px solid var(--border);width:34px;height:34px;color:var(--muted);border-radius:50%;place-items:center;transition:background-color .3s,color .3s,border-color .3s;display:grid}.hub-go svg{transition:transform .3s var(--ease)}.hub-link:hover .hub-go,.hub-link:focus-visible .hub-go{background:var(--accent);border-color:var(--accent);color:var(--btn-text)}.hub-link:hover .hub-go svg{transform:translate(2px)}.cmd-btn{gap:12px;padding:6px 16px 6px 6px}.cmd-btn .rb-icon{border-radius:11px;width:42px;height:42px}.cmd-btn .rb-label{font-size:16px}.cmd-btn:hover .rb-arrow{transform:translate(3px)}.work-card .card-main{flex-direction:column;flex:1;display:flex}.work-links{flex-wrap:wrap;gap:4px 16px;padding:0 18px 16px;font-size:14px;display:flex}.work-links a{min-height:32px;color:var(--accent);align-items:center;gap:6px;font-weight:500;display:inline-flex}.work-links a:hover{text-underline-offset:3px;text-decoration:underline}@media (max-width:860px){.work-head{grid-template-columns:1fr}.work-nav{grid-template-columns:1fr 1fr;display:grid}.hero{text-align:center;gap:48px;padding-top:88px}.hero-grid{grid-template-columns:1fr;gap:32px}.hero-avatar{order:-1;width:min(52vw,220px)}.hero-text{margin-inline:auto}.hero-actions{justify-content:center}.contact-badge{width:92px;height:92px;left:-14%}.skill-groups{grid-template-columns:1fr}.skill-offensive .tools{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.hero-role{min-height:3.4em}.certs-wrap{text-align:left}.certs{justify-content:center}.footer-row{text-align:center;flex-direction:column;gap:20px}.quote{text-align:center}}@media (max-width:560px){body{font-size:16px}.resume-btn,.cta-resume{width:100%}.cta-go{margin-left:auto}.work-nav{grid-template-columns:1fr;width:100%;display:grid}.hub-link{min-width:0}.cmd-btn .rb-cmd{display:none}.rb-arrow{margin-left:auto}.certs{grid-template-columns:1fr;gap:10px;display:grid}.cert{border-radius:18px;width:100%;padding:8px 16px 8px 8px}.cert-text{flex:1}.cert-name{color:var(--muted);font-size:13px;display:block}.cert-card{display:none}.btn-lg{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}@keyframes blink{50%{opacity:0}}
