@charset "UTF-8";.grid[data-v-70482ff0]{--cw:64px;--ch:64px;inset:0;opacity:0;overflow:hidden;pointer-events:none;position:absolute;transition:opacity 1s cubic-bezier(.4,0,.2,1);z-index:0}:root:not(.light) .grid[data-v-70482ff0]{display:none}.grid.is-on[data-v-70482ff0]{opacity:1}.grid[data-v-70482ff0]:before{background:var(--text);content:"";inset:0;-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none' viewBox='0 0 64 64'%3E%3Cpath stroke='%23000' stroke-dasharray='1 1' d='M0 .5h64M.5 0v64'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none' viewBox='0 0 64 64'%3E%3Cpath stroke='%23000' stroke-dasharray='1 1' d='M0 .5h64M.5 0v64'/%3E%3C/svg%3E");-webkit-mask-repeat:repeat;mask-repeat:repeat;-webkit-mask-size:var(--cw) var(--ch);mask-size:var(--cw) var(--ch);opacity:.09;position:absolute;z-index:1}.grid[data-v-70482ff0] .grid__lit{background:var(--text);height:var(--ch);left:0;opacity:0;position:absolute;top:0;transition:opacity .6s cubic-bezier(.4,0,.2,1);width:var(--cw);will-change:opacity,transform}.grid[data-v-70482ff0] .grid__lit.is-lit{opacity:.06}.hero[data-v-ceff612e]{align-items:center;display:flex;min-height:100vh;overflow:hidden;padding-bottom:7rem;padding-top:100px;position:relative}@media(max-width:640px){.hero[data-v-ceff612e]{padding-bottom:6rem}}.hero[data-v-ceff612e]{background:var(--bg)}.hero__bg[data-v-ceff612e]{z-index:0}.hero__bg[data-v-ceff612e],.hero__particles[data-v-ceff612e]{height:100%;left:0;position:absolute;top:0;width:100%}.hero__particles[data-v-ceff612e]{z-index:1}:root.light .hero__particles[data-v-ceff612e]{opacity:.5}.hero__grid[data-v-ceff612e]{background-image:linear-gradient(rgba(var(--accent-rgb),.03) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--accent-rgb),.03) 1px,transparent 1px);background-size:60px 60px;height:100%;left:0;-webkit-mask-image:radial-gradient(ellipse at center,#000 0,transparent 70%);mask-image:radial-gradient(ellipse at center,#000 0,transparent 70%);position:absolute;top:0;width:100%}:root.light .hero__grid[data-v-ceff612e]{display:none}.hero__blobs[data-v-ceff612e]{height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%}.hero__blobs .blob[data-v-ceff612e]{border-radius:50%;filter:blur(100px);opacity:.3;position:absolute}:root.light .hero__blobs .blob[data-v-ceff612e]{opacity:.15}.hero__blobs .blob--1[data-v-ceff612e]{animation:float-ceff612e 15s ease-in-out infinite;background:var(--accent);height:min(600px,80vw);right:-10%;top:-20%;width:min(600px,80vw)}.hero__blobs .blob--2[data-v-ceff612e]{animation:float-ceff612e 12s ease-in-out infinite reverse;background:var(--accent-secondary);bottom:-10%;height:min(400px,60vw);left:-5%;width:min(400px,60vw)}.hero__blobs .blob--3[data-v-ceff612e]{animation:float-ceff612e 10s ease-in-out infinite;background:var(--accent-tertiary);height:min(300px,50vw);left:30%;top:40%;width:min(300px,50vw)}.hero__content[data-v-ceff612e]{align-items:flex-start;display:flex;flex-direction:column;max-width:900px;position:relative;z-index:2}@media(max-width:1024px){.hero__content[data-v-ceff612e]{align-items:center;text-align:center}}.hero__greeting[data-v-ceff612e]{color:var(--text-muted);font-size:clamp(.9rem,2vw,1.1rem);font-weight:400;margin-bottom:1rem}.hero__name[data-v-ceff612e]{cursor:default;font-family:var(--font-display);font-size:clamp(3rem,9.5vw,7rem);font-weight:800;letter-spacing:-.04em;line-height:.9;margin-bottom:1rem}.hero__name .name-first[data-v-ceff612e],.hero__name .name-last[data-v-ceff612e]{display:block;font-family:var(--font-display)}.hero__name .name-first[data-v-ceff612e]{color:var(--text)}.hero__name .name-last[data-v-ceff612e]{position:relative}.hero__name .name-last .glitch-text[data-v-ceff612e]{background:linear-gradient(135deg,var(--accent),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero__role[data-v-ceff612e]{color:var(--text-muted);font-size:clamp(1.1rem,3vw,1.5rem);margin-bottom:.75rem;min-height:2rem}.hero__role .role-cursor[data-v-ceff612e]{animation:blink-ceff612e 1s infinite;color:var(--accent)}.hero__tagline[data-v-ceff612e]{color:var(--text);font-size:clamp(1rem,2vw,1.25rem);font-weight:500;margin-bottom:2.5rem;max-width:36rem}.hero__actions[data-v-ceff612e]{align-items:center;display:grid;gap:.75rem;grid-template-areas:"ask cv" "chips chips";grid-template-columns:minmax(0,30rem) auto;justify-content:start}@media(max-width:640px){.hero__actions[data-v-ceff612e]{grid-template-areas:"ask" "chips" "cv";grid-template-columns:minmax(0,1fr);justify-items:center}}.hero__cv[data-v-ceff612e]{grid-area:cv}.hero__proof[data-v-ceff612e]{color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:.85rem;gap:.4rem 0;list-style:none;margin-top:2rem}@media(max-width:640px){.hero__proof[data-v-ceff612e]{align-items:center;flex-direction:column;gap:.35rem;margin-top:1.5rem}.hero__proof li+li[data-v-ceff612e]:before{display:none}}.hero__proof li+li[data-v-ceff612e]:before{color:var(--accent);content:"·";margin-inline:.65rem}.hero__proof a[data-v-ceff612e]{color:inherit;text-decoration:underline;text-decoration-color:rgba(var(--accent-rgb),.35);text-underline-offset:3px;transition:color .2s,text-decoration-color .2s}.hero__proof a[data-v-ceff612e]:hover{color:var(--text);text-decoration-color:var(--accent)}.hero__socials[data-v-ceff612e]{display:flex;flex-direction:column;gap:1rem;left:2rem;position:fixed;top:50%;transform:translateY(-50%);z-index:100}@media(max-width:1024px){.hero__socials[data-v-ceff612e]{display:none}}.hero__scroll[data-v-ceff612e]{align-items:center;bottom:3rem;color:var(--text-muted);display:flex;flex-direction:column;gap:.75rem;left:50%;position:absolute;transform:translate(-50%)}@media(max-width:640px){.hero__scroll[data-v-ceff612e]{bottom:2rem}}@media(max-height:860px){.hero__scroll[data-v-ceff612e]{display:none}}.hero__scroll .scroll-text[data-v-ceff612e]{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.hero__scroll .scroll-indicator[data-v-ceff612e]{border:2px solid var(--border);border-radius:100px;display:flex;height:40px;justify-content:center;padding-top:8px;width:24px}.hero__scroll .scroll-dot[data-v-ceff612e]{animation:scrollBounce-ceff612e 2s infinite;background:var(--accent);border-radius:100px;height:8px;width:4px}.terminal[data-v-ceff612e]{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:9999}.terminal__window[data-v-ceff612e]{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 25px 50px -12px #00000080;max-height:80vh;max-width:600px;overflow:hidden;width:100%}.terminal__header[data-v-ceff612e]{align-items:center;background:var(--card);border-bottom:1px solid var(--border);display:flex;gap:2rem;padding:.75rem 1rem}.terminal__dots[data-v-ceff612e]{display:flex;gap:.5rem}.terminal__dots span[data-v-ceff612e]{border-radius:50%;cursor:pointer;height:12px;width:12px}.terminal__dots span[data-v-ceff612e]:first-child{background:#ff5f57}.terminal__dots span[data-v-ceff612e]:nth-child(2){background:#ffbd2e}.terminal__dots span[data-v-ceff612e]:nth-child(3){background:#28ca42}.terminal__title[data-v-ceff612e]{color:var(--text-muted);font-family:monospace;font-size:.85rem}.terminal__body[data-v-ceff612e]{background:var(--bg);font-family:Fira Code,Consolas,monospace;font-size:.85rem;line-height:1.6;max-height:60vh;overflow-y:auto;padding:1rem}@media(max-width:640px){.terminal__body[data-v-ceff612e]{font-size:.75rem}}.terminal__line[data-v-ceff612e]{margin-bottom:.25rem;white-space:pre-wrap;word-break:break-word}.terminal__prompt[data-v-ceff612e]{color:var(--accent);font-weight:700}.terminal__output[data-v-ceff612e]{color:var(--text-muted)}.terminal__output[data-v-ceff612e] .accent{color:var(--accent)}.terminal__output[data-v-ceff612e] .cmd{color:#61afef}.terminal__output[data-v-ceff612e] .success{color:#98c379}.terminal__output[data-v-ceff612e] .error,.terminal__error[data-v-ceff612e]{color:#e06c75}.terminal__error[data-v-ceff612e] .cmd{color:#61afef}.terminal__input-line[data-v-ceff612e]{align-items:center;display:flex}.terminal__input[data-v-ceff612e]{background:transparent;border:none;caret-color:var(--accent);color:var(--text);flex:1;font-family:inherit;font-size:inherit;outline:none}.terminal-enter-active[data-v-ceff612e],.terminal-enter-active .terminal__window[data-v-ceff612e],.terminal-leave-active[data-v-ceff612e],.terminal-leave-active .terminal__window[data-v-ceff612e]{transition:all .3s ease}.terminal-enter-from[data-v-ceff612e],.terminal-leave-to[data-v-ceff612e]{opacity:0}.terminal-enter-from .terminal__window[data-v-ceff612e],.terminal-leave-to .terminal__window[data-v-ceff612e]{transform:scale(.9) translateY(20px)}.hero-ask[data-v-ceff612e]{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(var(--accent-rgb),.04);border:1px solid rgba(var(--accent-rgb),.35);border-radius:100px;box-shadow:0 10px 34px -16px rgba(var(--accent-2-rgb),.6);display:flex;gap:.6rem;grid-area:ask;padding-block:.4rem;padding-inline:1.1rem .4rem;transition:border-color .3s,box-shadow .3s;width:100%}.hero-ask[data-v-ceff612e]:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.12),0 14px 38px -16px rgba(var(--accent-2-rgb),.7)}.hero-ask__spark[data-v-ceff612e]{color:var(--accent);flex-shrink:0}.hero-ask__input[data-v-ceff612e]{background:transparent;border:0;color:var(--text);flex:1;font:inherit;font-size:1rem;min-width:0;outline:none;padding:.6rem 0}.hero-ask__input[data-v-ceff612e]::-moz-placeholder{color:var(--text-muted);opacity:1}.hero-ask__input[data-v-ceff612e]::placeholder{color:var(--text-muted);opacity:1}.hero-ask__send[data-v-ceff612e]{background:linear-gradient(120deg,var(--accent),var(--accent-secondary));border:0;border-radius:50%;color:var(--on-accent);cursor:pointer;display:grid;flex-shrink:0;height:2.75rem;place-items:center;transition:transform .2s,filter .2s;width:2.75rem}[dir=rtl] .hero-ask__send svg[data-v-ceff612e]{transform:scaleX(-1)}.hero-ask__send[data-v-ceff612e]:hover{filter:brightness(1.08);transform:scale(1.05)}.hero-ask__send[data-v-ceff612e]:focus-visible{outline:2px solid var(--accent-secondary);outline-offset:3px}.hero-ask__chips[data-v-ceff612e]{display:flex;flex-wrap:wrap;gap:.5rem;grid-area:chips;max-width:40rem}@media(max-width:640px){.hero-ask__chips[data-v-ceff612e]{flex-wrap:nowrap;max-width:none;overflow-x:auto;padding-inline:clamp(1rem,5vw,3rem);scrollbar-width:none;width:calc(100% + clamp(1rem,5vw,3rem)*2)}.hero-ask__chips[data-v-ceff612e]::-webkit-scrollbar{display:none}}.hero-ask__chip[data-v-ceff612e]{background:rgba(var(--accent-rgb),.03);border:1px solid var(--border);border-radius:100px;color:var(--text-muted);cursor:pointer;flex-shrink:0;font:inherit;font-size:.85rem;padding:.45rem .9rem;transition:color .2s,border-color .2s,background .2s;white-space:nowrap}.hero-ask__chip[data-v-ceff612e]:hover{background:rgba(var(--accent-rgb),.08);border-color:rgba(var(--accent-rgb),.5);color:var(--text)}.hero-ask__chip[data-v-ceff612e]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn[data-v-ceff612e]{align-items:center;display:inline-flex;justify-content:center}@media(max-width:640px){.btn[data-v-ceff612e]{max-width:16rem;width:100%}}.btn[data-v-ceff612e]{border-radius:100px;font-size:1rem;font-weight:600;gap:.5rem;padding:1rem 2rem;transition:all .3s}.btn--primary[data-v-ceff612e]{background:var(--accent);color:var(--on-accent)}.btn--primary[data-v-ceff612e]:hover{box-shadow:0 10px 30px rgba(var(--accent-rgb),.3);filter:brightness(1.06);transform:translateY(-2px)}.btn--outline[data-v-ceff612e]{background:transparent;border:1px solid hsla(0,0%,100%,.22);color:var(--text)}:root.light .btn--outline[data-v-ceff612e]{border-color:#0a0a0a2e}.btn--outline[data-v-ceff612e]:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.social-link[data-v-ceff612e]{align-items:center;background:var(--card);border:1px solid var(--border);border-radius:50%;color:var(--text);display:flex;height:44px;justify-content:center;transition:all .3s;width:44px}.social-link[data-v-ceff612e]:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}@keyframes blink-ceff612e{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes scrollBounce-ceff612e{0%,to{opacity:1;transform:translateY(0)}50%{opacity:.5;transform:translateY(10px)}}@keyframes float-ceff612e{0%,to{transform:translateY(0)}50%{transform:translateY(-30px)}}.about__header[data-v-de1035c1]{margin-bottom:2rem}.bento-grid[data-v-de1035c1]{display:grid;gap:.75rem;grid-template-columns:repeat(4,1fr);grid-template-rows:auto auto auto}@media(max-width:900px){.bento-grid[data-v-de1035c1]{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.bento-grid[data-v-de1035c1]{gap:.5rem;grid-template-columns:repeat(2,1fr)}}.bento-card[data-v-de1035c1]{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:1.25rem;transition:all .3s ease}@media(max-width:640px){.bento-card[data-v-de1035c1]{border-radius:12px;padding:1rem}}.bento-card[data-v-de1035c1]:hover{border-color:rgba(var(--accent-rgb),.3)}.bento-card--photo[data-v-de1035c1]{grid-row:span 2;overflow:hidden;padding:0;position:relative}@media(max-width:900px){.bento-card--photo[data-v-de1035c1]{grid-row:span 1}}@media(max-width:640px){.bento-card--photo[data-v-de1035c1]{grid-column:span 2}}.bento-card--photo img[data-v-de1035c1]{height:100%;min-height:200px;-o-object-fit:cover;object-fit:cover;width:100%}@media(max-width:640px){.bento-card--photo img[data-v-de1035c1]{min-height:150px}}.bento-card--photo .photo-overlay[data-v-de1035c1]{background:linear-gradient(transparent,#000c);bottom:0;left:0;padding:.75rem;position:absolute;right:0}.bento-card--photo .status-badge[data-v-de1035c1]{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0a0a8c;border:1px solid rgba(74,222,128,.45);border-radius:100px;color:#fff;display:inline-flex;font-size:.7rem;font-weight:600;gap:.35rem;padding:.3rem .6rem}.bento-card--photo .status-badge .status-dot[data-v-de1035c1]{animation:pulse-de1035c1 2s infinite;background:#4ade80;border-radius:50%;height:6px;width:6px}.bento-card--intro[data-v-de1035c1]{display:flex;flex-direction:column;gap:.75rem;grid-column:span 2;justify-content:center}@media(max-width:900px){.bento-card--intro[data-v-de1035c1]{grid-column:span 1}}@media(max-width:640px){.bento-card--intro[data-v-de1035c1]{grid-column:span 2}}.bento-card--intro .intro-greeting[data-v-de1035c1]{color:var(--accent);font-family:var(--font-display);font-size:1.4rem;font-weight:700}@media(max-width:640px){.bento-card--intro .intro-greeting[data-v-de1035c1]{font-size:1.15rem}}.bento-card--intro .intro-bio[data-v-de1035c1]{color:var(--text-muted);font-size:.95rem;line-height:1.6}@media(max-width:640px){.bento-card--intro .intro-bio[data-v-de1035c1]{font-size:.85rem}}.bento-card--intro .intro-decoration[data-v-de1035c1]{direction:ltr;font-family:Fira Code,monospace;font-size:.9rem;opacity:.7;text-align:left}@media(max-width:640px){.bento-card--intro .intro-decoration[data-v-de1035c1]{display:none}}.bento-card--intro .intro-decoration .code-keyword[data-v-de1035c1]{color:#c678dd}.bento-card--intro .intro-decoration .code-var[data-v-de1035c1]{color:#e06c75;padding-inline-start:6px}.bento-card--intro .intro-decoration .code-prop[data-v-de1035c1]{color:#61afef}.bento-card--intro .intro-decoration .code-bool[data-v-de1035c1]{color:#d19a66}:root.light .bento-card--intro .intro-decoration[data-v-de1035c1]{opacity:1}:root.light .bento-card--intro .intro-decoration .code-keyword[data-v-de1035c1]{color:#5b2a4e}:root.light .bento-card--intro .intro-decoration .code-var[data-v-de1035c1]{color:#a3361f}:root.light .bento-card--intro .intro-decoration .code-prop[data-v-de1035c1]{color:#2f5d7c}:root.light .bento-card--intro .intro-decoration .code-bool[data-v-de1035c1]{color:#8a5a1c}.bento-card--stats[data-v-de1035c1]{align-items:center;display:flex;flex-direction:column;gap:1.25rem;justify-content:center}@media(max-width:640px){.bento-card--stats[data-v-de1035c1]{flex-direction:row;gap:2rem;grid-column:span 2}}.bento-card--stats .stat-item[data-v-de1035c1]{text-align:center}.bento-card--stats .stat-number[data-v-de1035c1]{color:var(--accent);display:block;font-family:var(--font-display);font-size:2.25rem;font-weight:800;line-height:1}@media(max-width:640px){.bento-card--stats .stat-number[data-v-de1035c1]{font-size:1.75rem}}.bento-card--stats .stat-label[data-v-de1035c1]{color:var(--text-muted);font-size:.7rem;letter-spacing:.05em;text-transform:uppercase}.bento-card--location[data-v-de1035c1]{align-items:center;display:flex;gap:1rem}.bento-card--location .globe-container[data-v-de1035c1]{height:44px;perspective:500px;width:44px}@media(max-width:640px){.bento-card--location .globe-container[data-v-de1035c1]{height:36px;width:36px}}.bento-card--location .globe-scene[data-v-de1035c1]{animation:globe-spin-de1035c1 12s linear infinite;height:100%;transform-style:preserve-3d;width:100%}.bento-card--location .globe-sphere[data-v-de1035c1]{border:1.5px solid hsla(0,0%,100%,.3);border-radius:50%;height:100%;position:relative;transform-style:preserve-3d;width:100%}:root.light .bento-card--location .globe-sphere[data-v-de1035c1]{border-color:#1c1b1859}.bento-card--location .globe-meridian[data-v-de1035c1]{border:1px solid hsla(0,0%,100%,.2);border-radius:50%;height:100%;left:50%;position:absolute;top:0;transform:translate(-50%);width:100%}:root.light .bento-card--location .globe-meridian[data-v-de1035c1]{border-color:#1c1b1838}.bento-card--location .globe-meridian[data-v-de1035c1]:first-child{transform:translate(-50%) rotateY(0)}.bento-card--location .globe-meridian[data-v-de1035c1]:nth-child(2){transform:translate(-50%) rotateY(60deg)}.bento-card--location .globe-meridian[data-v-de1035c1]:nth-child(3){transform:translate(-50%) rotateY(120deg)}.bento-card--location .globe-equator[data-v-de1035c1]{border:1px solid hsla(0,0%,100%,.15);border-radius:50%;height:50%;left:0;position:absolute;top:50%;transform:translateY(-50%) rotateX(90deg);width:100%}:root.light .bento-card--location .globe-equator[data-v-de1035c1]{border-color:#1c1b182e}.bento-card--location .globe-equator--2[data-v-de1035c1]{height:80%;opacity:.5;transform:translateY(-50%) rotateX(90deg) translateZ(8px)}.bento-card--location .location-city[data-v-de1035c1]{display:block;font-size:1rem;font-weight:600}@media(max-width:640px){.bento-card--location .location-city[data-v-de1035c1]{font-size:.9rem}}.bento-card--location .location-detail[data-v-de1035c1]{color:var(--text-muted);font-size:.8rem}@media(max-width:640px){.bento-card--location .location-detail[data-v-de1035c1]{font-size:.75rem}}.bento-card--edu[data-v-de1035c1]{align-items:center;display:flex;gap:.75rem}.bento-card--edu .edu-icon[data-v-de1035c1]{font-size:1.75rem}@media(max-width:640px){.bento-card--edu .edu-icon[data-v-de1035c1]{font-size:1.5rem}}.bento-card--edu .edu-degree[data-v-de1035c1]{display:block;font-size:.95rem;font-weight:600}@media(max-width:640px){.bento-card--edu .edu-degree[data-v-de1035c1]{font-size:.85rem}}.bento-card--edu .edu-school[data-v-de1035c1]{color:var(--text-muted);font-size:.8rem}@media(max-width:640px){.bento-card--edu .edu-school[data-v-de1035c1]{font-size:.75rem}}.bento-card--services[data-v-de1035c1]{grid-column:span 3}@media(max-width:900px){.bento-card--services[data-v-de1035c1]{grid-column:span 2}}.bento-card--services .services-label[data-v-de1035c1]{color:var(--text-muted);display:block;font-size:.7rem;letter-spacing:.1em;margin-bottom:.75rem;text-transform:uppercase}.bento-card--services .services-pills[data-v-de1035c1]{display:flex;flex-wrap:wrap;gap:.5rem}.bento-card--services .pill[data-v-de1035c1]{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:100px;display:inline-flex;gap:.4rem;padding:.4rem .75rem;transition:all .2s}@media(max-width:640px){.bento-card--services .pill[data-v-de1035c1]{gap:.3rem;padding:.35rem .6rem}}.bento-card--services .pill[data-v-de1035c1]:hover{border-color:var(--accent)}.bento-card--services .pill:hover .pill-icon[data-v-de1035c1]{color:var(--accent)}.bento-card--services .pill .pill-icon[data-v-de1035c1]{color:var(--text-muted);height:14px;transition:color .2s;width:14px}@media(max-width:640px){.bento-card--services .pill .pill-icon[data-v-de1035c1]{height:12px;width:12px}}.bento-card--services .pill .pill-text[data-v-de1035c1]{color:var(--text);font-size:.8rem;font-weight:500}@media(max-width:640px){.bento-card--services .pill .pill-text[data-v-de1035c1]{font-size:.7rem}}.bento-card--contact[data-v-de1035c1]{display:flex;flex-direction:column;gap:1rem;justify-content:space-between}@media(max-width:900px){.bento-card--contact[data-v-de1035c1]{grid-column:span 2}}@media(max-width:640px){.bento-card--contact[data-v-de1035c1]{grid-column:span 2}}.bento-card--contact .contact-links[data-v-de1035c1]{display:flex;flex-direction:column;gap:.6rem}.bento-card--contact .contact-item[data-v-de1035c1]{align-items:center;color:var(--text-muted);display:flex;font-size:.8rem;gap:.5rem;transition:color .2s}@media(max-width:640px){.bento-card--contact .contact-item[data-v-de1035c1]{font-size:.7rem;gap:.4rem}}.bento-card--contact .contact-item span[data-v-de1035c1]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bento-card--contact .contact-item svg[data-v-de1035c1]{color:var(--accent);flex-shrink:0}@media(max-width:640px){.bento-card--contact .contact-item svg[data-v-de1035c1]{height:14px;width:14px}}.bento-card--contact .contact-item[data-v-de1035c1]:hover{color:var(--accent)}.bento-card--badge[data-v-de1035c1]{overflow:hidden;padding:0}@media(max-width:640px){.bento-card--badge[data-v-de1035c1]{grid-column:span 2}}.bento-card--badge .badge-wrapper[data-v-de1035c1]{height:100%;min-height:80px;width:100%}.bento-card--badge .badge-wrapper .badge-img[data-v-de1035c1]{background:#fff;border-radius:16px;height:100%;-o-object-fit:contain;object-fit:contain;width:100%}@media(max-width:640px){.bento-card--badge .badge-wrapper .badge-img[data-v-de1035c1]{border-radius:12px}}@keyframes pulse-de1035c1{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}@keyframes globe-spin-de1035c1{0%{transform:rotateY(0)}to{transform:rotateY(1turn)}}.experience__header[data-v-03a2f5c1]{margin-bottom:2.5rem}.experience__accordion[data-v-03a2f5c1]{display:flex;flex-direction:column;gap:.75rem}.experience .accordion-item[data-v-03a2f5c1]{background:var(--card);border:1px solid var(--border);border-radius:16px;transition:all .3s}.experience .accordion-item[data-v-03a2f5c1]:hover{border-color:rgba(var(--accent-rgb),.3)}.experience .accordion-item--open[data-v-03a2f5c1]{border-color:var(--accent)}.experience .accordion-item--open .accordion-icon svg[data-v-03a2f5c1]{transform:rotate(180deg)}.experience .accordion-item--open .accordion-content[data-v-03a2f5c1]{grid-template-rows:1fr;opacity:1;padding:0 1.5rem 1.5rem}@media(max-width:640px){.experience .accordion-item--open .accordion-content[data-v-03a2f5c1]{padding:0 1rem 1rem}}.experience .accordion-header[data-v-03a2f5c1]{align-items:center;background:transparent;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:1.25rem 1.5rem;text-align:left;width:100%}@media(max-width:640px){.experience .accordion-header[data-v-03a2f5c1]{flex-wrap:wrap;gap:.5rem;padding:1rem}}.experience .accordion-header__left[data-v-03a2f5c1]{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}@media(max-width:640px){.experience .accordion-header__left[data-v-03a2f5c1]{gap:.5rem}}.experience .accordion-period[data-v-03a2f5c1]{background:rgba(var(--accent-rgb),.1);border-radius:100px;color:var(--accent);font-size:.7rem;font-weight:600;padding:.3rem .6rem;white-space:nowrap}.experience .accordion-title[data-v-03a2f5c1]{color:var(--text);font-family:var(--font-display);font-size:1.1rem;font-weight:700}@media(max-width:640px){.experience .accordion-title[data-v-03a2f5c1]{font-size:.95rem}}.experience .accordion-company[data-v-03a2f5c1]{color:var(--text-muted);font-size:.9rem}@media(max-width:640px){.experience .accordion-company[data-v-03a2f5c1]{font-size:.8rem;width:100%}}.experience .accordion-icon[data-v-03a2f5c1]{color:var(--accent);flex-shrink:0}.experience .accordion-icon svg[data-v-03a2f5c1]{transition:transform .3s}.experience .accordion-content[data-v-03a2f5c1]{display:grid;grid-template-rows:0fr;opacity:0;padding:0 1.5rem;transition:grid-template-rows .35s ease,padding .3s ease,opacity .2s ease}.experience .accordion-points[data-v-03a2f5c1]{display:flex;flex-direction:column;gap:.5rem;min-height:0;overflow:hidden}.experience .accordion-points li[data-v-03a2f5c1]{align-items:flex-start;display:flex;gap:.6rem}.experience .accordion-points li .point-bullet[data-v-03a2f5c1]{background:var(--accent);border-radius:50%;height:5px;margin-top:.45rem;min-width:5px;width:5px}.experience .accordion-points li .point-text[data-v-03a2f5c1]{color:var(--text-muted);font-size:.95rem;line-height:1.6}@media(max-width:640px){.experience .accordion-points li .point-text[data-v-03a2f5c1]{font-size:.875rem}}.project-view[data-v-954290d0]{background:var(--bg);color:var(--text);inset:0;overflow-y:auto;overscroll-behavior:contain;position:fixed;z-index:1200}.project-view__inner[data-v-954290d0]{margin:0 auto;max-width:1180px;padding:clamp(1rem,3vw,2rem) clamp(1rem,5vw,3rem) clamp(2.5rem,6vw,4rem)}.project-view__bar[data-v-954290d0]{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:clamp(1rem,3vw,1.75rem)}.project-view__back[data-v-954290d0]{align-items:center;border:1px solid var(--border);border-radius:100px;color:var(--text);display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.6rem 1rem .6rem .8rem;transition:border-color .2s,color .2s}.project-view__back[data-v-954290d0]:hover{border-color:var(--accent);color:var(--accent)}.project-view__nav[data-v-954290d0]{align-items:center;display:flex;gap:.5rem}.project-view__count[data-v-954290d0]{color:var(--text-muted);font-size:.8rem;font-variant-numeric:tabular-nums;letter-spacing:.04em;margin-inline-end:.5rem}.project-view__step[data-v-954290d0]{border:1px solid var(--border);border-radius:50%;color:var(--text);display:grid;height:2.5rem;place-items:center;transition:border-color .2s,color .2s;width:2.5rem}.project-view__step[data-v-954290d0]:hover{border-color:var(--accent);color:var(--accent)}.project-view__shot[data-v-954290d0]{background:var(--card);border:1px solid var(--border);border-radius:16px;margin:0;overflow:hidden}@media(max-width:640px){.project-view__shot[data-v-954290d0]{border-radius:12px}}.project-view__shot img[data-v-954290d0]{display:block;height:auto;width:100%}.project-view__body[data-v-954290d0]{display:grid;gap:clamp(1.5rem,5vw,4rem);grid-template-columns:minmax(0,1fr) 300px;margin-top:clamp(1.5rem,4vw,2.5rem)}@media(max-width:820px){.project-view__body[data-v-954290d0]{grid-template-columns:1fr}}.project-view__kicker[data-v-954290d0]{color:var(--accent);font-size:.75rem;font-weight:600;letter-spacing:.12em;margin-bottom:.5rem;text-transform:uppercase}.project-view__title[data-v-954290d0]{font-family:var(--font-display);font-size:clamp(1.6rem,3.6vw,2.5rem);font-weight:800;letter-spacing:-.02em;line-height:1.1;margin-bottom:1rem}.project-view__summary[data-v-954290d0]{color:var(--text-muted);font-size:1.05rem;line-height:1.7;max-width:60ch}.project-view__stats[data-v-954290d0]{border:1px solid var(--border);border-radius:100px;color:var(--text);display:inline-block;font-size:.8rem;font-weight:600;margin-top:1.25rem;padding:.4rem .8rem}.project-view__label--spaced[data-v-954290d0]{margin-top:2rem}.project-view__highlights[data-v-954290d0]{display:grid;gap:.7rem;max-width:68ch}.project-view__highlights li[data-v-954290d0]{color:var(--text-muted);font-size:.95rem;line-height:1.6;padding-inline-start:1.1rem;position:relative}.project-view__highlights li[data-v-954290d0]:before{background:var(--accent);border-radius:50%;content:"";height:5px;inset-inline-start:0;position:absolute;top:.6em;width:5px}.project-view__meta[data-v-954290d0]{align-self:start;padding-top:.25rem}.project-view__label[data-v-954290d0]{color:var(--text-muted);font-size:.75rem;font-weight:600;letter-spacing:.12em;margin-bottom:.6rem;text-transform:uppercase}.project-view__tags[data-v-954290d0]{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.5rem}.project-view__archived[data-v-954290d0]{border:1px dashed var(--border);border-radius:12px;color:var(--text-muted);font-size:.875rem;line-height:1.5;padding:.85rem 1rem}.project-view__visit[data-v-954290d0]{padding:.85rem 1.5rem}[dir=rtl] .flip-rtl[data-v-954290d0]{transform:scaleX(-1)}.portfolio__header[data-v-9428c384]{margin-bottom:2rem}.portfolio__filters[data-v-9428c384]{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}@media(max-width:640px){.portfolio__filters[data-v-9428c384]{gap:.4rem}}.portfolio__filters .filter-btn[data-v-9428c384]{background:var(--surface);border:1px solid var(--border);border-radius:100px;color:var(--text-muted);cursor:pointer;font-size:.85rem;font-weight:500;padding:.6rem 1.25rem;transition:all .3s;-webkit-tap-highlight-color:transparent}@media(max-width:640px){.portfolio__filters .filter-btn[data-v-9428c384]{font-size:.75rem;padding:.5rem 1rem}}.portfolio__filters .filter-btn[data-v-9428c384]:hover{border-color:var(--accent);color:var(--accent)}.portfolio__filters .filter-btn--active[data-v-9428c384]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.portfolio__grid[data-v-9428c384]{display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr)}@media(max-width:1024px){.portfolio__grid[data-v-9428c384]{gap:1rem;grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.portfolio__grid[data-v-9428c384]{gap:.75rem;grid-template-columns:repeat(2,1fr)}}.portfolio .project-card[data-v-9428c384]{background:var(--card);border:1px solid var(--border);border-radius:16px;cursor:pointer;display:block;overflow:hidden;position:relative;transition:all .4s}@media(max-width:640px){.portfolio .project-card[data-v-9428c384]{border-radius:12px}}.portfolio .project-card[data-v-9428c384]:focus-within,.portfolio .project-card[data-v-9428c384]:hover{border-color:var(--accent);transform:translateY(-5px)}.portfolio .project-card:focus-within .project-overlay[data-v-9428c384],.portfolio .project-card:hover .project-overlay[data-v-9428c384]{opacity:1}.portfolio .project-card .project-image[data-v-9428c384]{aspect-ratio:1.95/1;overflow:hidden;position:relative}.portfolio .project-card .project-image img[data-v-9428c384]{display:block;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center;width:100%}.portfolio .project-card .project-image .project-overlay[data-v-9428c384]{align-items:center;background:#000c;display:flex;gap:.5rem;height:100%;justify-content:center;left:0;opacity:0;position:absolute;top:0;transition:opacity .4s;width:100%}@media(max-width:640px){.portfolio .project-card .project-image .project-overlay[data-v-9428c384]{display:none}}.portfolio .project-card .project-image .project-overlay .overlay-text[data-v-9428c384]{color:var(--accent);font-size:.9rem;font-weight:600}.portfolio .project-card .project-image .project-overlay svg[data-v-9428c384]{color:var(--accent)}.portfolio .project-card .project-card__open[data-v-9428c384]{color:inherit;cursor:pointer;font:inherit;padding:0;text-align:start}.portfolio .project-card .project-card__open[data-v-9428c384]:after{content:"";inset:0;position:absolute;z-index:2}.portfolio .project-card .project-card__open[data-v-9428c384]:focus-visible{outline:none}.portfolio .project-card[data-v-9428c384]:has(.project-card__open:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.portfolio .project-card .project-archived[data-v-9428c384]{color:var(--text-muted);font-size:.65rem;font-weight:600;letter-spacing:.1em;margin-bottom:.35rem;text-transform:uppercase}.portfolio .project-card .project-info[data-v-9428c384]{padding:1rem}@media(max-width:640px){.portfolio .project-card .project-info[data-v-9428c384]{padding:.75rem}}.portfolio .project-card .project-info .project-title[data-v-9428c384]{font-family:var(--font-display);font-size:1rem;font-weight:700;margin-bottom:.5rem}@media(max-width:640px){.portfolio .project-card .project-info .project-title[data-v-9428c384]{display:-webkit-box;font-size:.8rem;-webkit-line-clamp:2;margin-bottom:.35rem;-webkit-box-orient:vertical;overflow:hidden}}.portfolio .project-card .project-info .project-tags[data-v-9428c384]{display:flex;flex-wrap:wrap;gap:.35rem}@media(max-width:640px){.portfolio .project-card .project-info .project-tags[data-v-9428c384]{display:none}}.portfolio .project-card .project-info .project-tags .tag[data-v-9428c384]{font-size:.7rem;padding:.25rem .6rem}.portfolio__more[data-v-9428c384]{display:flex;justify-content:center;margin-top:2rem}.portfolio__more .view-more-btn[data-v-9428c384]{align-items:center;background:transparent;border:1px solid var(--accent);border-radius:100px;color:var(--accent);cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.85rem 1.75rem;transition:all .3s;-webkit-tap-highlight-color:transparent}@media(max-width:640px){.portfolio__more .view-more-btn[data-v-9428c384]{font-size:.85rem;padding:.75rem 1.5rem}}.portfolio__more .view-more-btn[data-v-9428c384]:active,.portfolio__more .view-more-btn[data-v-9428c384]:hover{background:var(--accent);color:var(--on-accent)}.portfolio__more .view-more-btn svg[data-v-9428c384]{transition:transform .3s}.portfolio__more .view-more-btn svg.rotated[data-v-9428c384]{transform:rotate(180deg)}.skills__header[data-v-758a95a5]{margin-bottom:1.5rem}.skills__grid[data-v-758a95a5]{display:grid;gap:1rem;grid-template-columns:repeat(4,1fr)}@media(max-width:1300px){.skills__grid[data-v-758a95a5]{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.skills__grid[data-v-758a95a5]{display:flex;gap:.75rem;margin-inline:calc(clamp(1rem,5vw,3rem)*-1);overflow-x:auto;padding-inline:clamp(1rem,5vw,3rem);scroll-padding-inline:clamp(1rem,5vw,3rem);scroll-snap-type:x mandatory;scrollbar-width:none}.skills__grid[data-v-758a95a5]::-webkit-scrollbar{display:none}}.skills__dots[data-v-758a95a5]{display:none}@media(max-width:640px){.skills__dots[data-v-758a95a5]{display:flex;gap:.5rem;justify-content:center;margin-top:1rem}}.skills__dot[data-v-758a95a5]{background:var(--border);border:0;border-radius:100px;cursor:pointer;height:.5rem;padding:0;transition:width .3s,background .3s;width:.5rem}.skills__dot.is-active[data-v-758a95a5]{background:var(--accent);width:1.5rem}.skill-group[data-v-758a95a5]{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:1.25rem;transition:border-color .3s}@media(max-width:640px){.skill-group[data-v-758a95a5]{border-radius:12px;flex:0 0 86%;padding:1.1rem;scroll-snap-align:center}}.skill-group[data-v-758a95a5]:hover{border-color:rgba(var(--accent-rgb),.3)}.skill-group__head[data-v-758a95a5]{align-items:baseline;border-bottom:1px solid var(--border);display:flex;gap:.75rem;margin-bottom:.75rem;padding-bottom:1rem}.skill-group__index[data-v-758a95a5]{color:var(--accent);font-family:var(--font-mono,monospace);font-size:.75rem}.skill-group__title[data-v-758a95a5]{color:var(--text);font-family:var(--font-display);font-size:1rem;font-weight:700;margin:0}.skill-group__list[data-v-758a95a5]{display:grid;gap:.25rem;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:0;padding:0}.skill-tile[data-v-758a95a5]{align-items:center;border-radius:10px;display:flex;gap:.55rem;min-width:0;padding:.4rem .3rem;transition:background .2s}.skill-tile__icon[data-v-758a95a5]{background:var(--surface);border:1px solid var(--border);border-radius:8px;display:grid;flex-shrink:0;height:1.85rem;place-items:center;transition:border-color .2s;width:1.85rem}.skill-tile__icon span[data-v-758a95a5]{background:var(--text-muted);height:1rem;-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat;transition:background .2s;width:1rem}.skill-tile__name[data-v-758a95a5]{color:var(--text);font-size:.85rem;font-weight:500;line-height:1.2}.skill-tile[data-v-758a95a5]:hover{background:var(--surface)}.skill-tile:hover .skill-tile__icon[data-v-758a95a5]{border-color:rgba(var(--accent-rgb),.35)}.skill-tile:hover .skill-tile__icon span[data-v-758a95a5]{background:var(--brand,var(--text))}:root.light .skill-tile--pale:hover .skill-tile__icon span[data-v-758a95a5]{background:var(--text)}@media(prefers-reduced-motion:reduce){.skill-tile__icon span[data-v-758a95a5],.skills__dot[data-v-758a95a5]{transition:none}}.contact__header[data-v-f7734717]{margin-bottom:4rem}.contact__content[data-v-f7734717]{display:grid;gap:4rem;grid-template-columns:1.2fr 1fr}@media(max-width:1024px){.contact__content[data-v-f7734717]{gap:3rem;grid-template-columns:1fr}}.contact__form-wrapper[data-v-f7734717]{position:relative}.contact__form .form-row[data-v-f7734717]{display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}@media(max-width:640px){.contact__form .form-row[data-v-f7734717]{grid-template-columns:1fr}}.contact__form .form-status[data-v-f7734717]{border-radius:12px;font-weight:500;margin-top:1rem;padding:1rem}.contact__form .form-status--success[data-v-f7734717]{background:#22c55e1a;color:#22c55e}.contact__form .form-status--error[data-v-f7734717]{background:#ef44441a;color:#ef4444}.contact__info .info-title[data-v-f7734717]{font-family:var(--font-display);font-size:1.75rem;font-weight:700;margin-bottom:1rem}.contact__info .info-description[data-v-f7734717]{color:var(--text-muted);line-height:1.7;margin-bottom:2rem}.contact__info .info-items[data-v-f7734717]{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.contact__info .info-item[data-v-f7734717]{align-items:center;background:var(--card);border:1px solid var(--border);border-radius:16px;display:flex;gap:1rem;padding:1.25rem;transition:all .3s}.contact__info .info-item[data-v-f7734717]:hover{border-color:var(--accent)}.contact__info .info-item:hover .info-icon[data-v-f7734717]{background:var(--accent);color:var(--on-accent)}.contact__info .info-item .info-icon[data-v-f7734717]{align-items:center;background:rgba(var(--accent-rgb),.1);border-radius:12px;color:var(--accent);display:flex;flex-shrink:0;height:50px;justify-content:center;transition:all .3s;width:50px}.contact__info .info-item .info-content[data-v-f7734717]{display:flex;flex-direction:column;min-width:0}.contact__info .info-item .info-content .info-label[data-v-f7734717]{color:var(--text-muted);font-size:.85rem}.contact__info .info-item .info-content .info-value[data-v-f7734717]{font-weight:600}.contact__ask[data-v-f7734717]{color:var(--text-muted);font-size:.95rem;margin-bottom:1.75rem}.contact__ask-link[data-v-f7734717]{color:var(--accent);font:inherit;font-weight:600;padding:0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.25em;transition:text-decoration-color .2s}.contact__ask-link[data-v-f7734717]:hover{text-decoration-thickness:2px}
