:root{--canvas-a:#eeebf2;--canvas-b:#e5e3ed;--canvas-c:#e9e9f1;--surface:#fff;--ink:#1b1620;--slate:#635c6b;--slate-2:#8b8591;--line:rgba(27,22,32,.12);--line-soft:rgba(27,22,32,.1);--accent:#7a2436;--accent-soft:rgba(122,36,54,.08);--success:#1d8a5e;--fs-label:12px;--fs-sm:14px;--fs-body:16px;--fs-lead:17px;--fs-h4:20px;--fs-stat-sm:24px;--fs-stat-lg:32px;--fs-h1:clamp(30px,4.4vw,44px);--lh-tight:1.08;--lh-snug:1.3;--lh-normal:1.55;--lh-relaxed:1.65;--font-display:-apple-system,"Segoe UI","SF Pro Display",Roboto,Helvetica,Arial,sans-serif;--font-mono:ui-monospace,"Cascadia Code","SF Mono",Consolas,monospace;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;--radius-card:12px;--radius-control:8px;--radius-pill:999px;--shadow-card:0 1px 2px rgba(27,22,32,.04),0 16px 32px -22px rgba(27,22,32,.16);--shadow-tile:0 1px 2px rgba(27,22,32,.03),0 12px 26px -20px rgba(27,22,32,.14)}.section-inner{margin:0 auto;max-width:1180px;padding:var(--sp-8) var(--sp-5)}@media (max-width:768px){.section-inner{padding-bottom:var(--sp-7);padding-top:var(--sp-7)}}.section-title{color:var(--ink);font-size:28px;font-weight:800;letter-spacing:-.01em;margin-bottom:var(--sp-6)}.btn-primary{align-items:center;background:var(--accent);border-radius:var(--radius-control);color:var(--surface);display:inline-flex;font-size:var(--fs-sm);font-weight:700;gap:var(--sp-2);padding:12px 22px;transition:box-shadow .15s ease,-webkit-transform .15s ease;transition:transform .15s ease,box-shadow .15s ease;transition:transform .15s ease,box-shadow .15s ease,-webkit-transform .15s ease}.btn-primary:focus-visible,.btn-primary:hover{box-shadow:var(--shadow-tile)}.btn-secondary{align-items:center;border-bottom:1px solid var(--ink);color:var(--ink);display:inline-flex;font-size:var(--fs-sm);font-weight:600;gap:var(--sp-2);padding-bottom:2px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed,fixed;background-color:var(--canvas-c);background-image:linear-gradient(150deg,var(--canvas-a) 0,var(--canvas-b) 55%,var(--canvas-c) 100%),radial-gradient(circle at 1px 1px,rgba(27,22,32,.09) 1px,transparent 0);background-size:100% 100%,24px 24px;color:var(--ink);font-family:var(--font-display);font-weight:500;overflow-x:hidden;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}body,h1,h2,h3,h4,p{margin:0}a{color:inherit;text-decoration:none}::selection{background:var(--accent-soft)}button{cursor:pointer;font-family:inherit}@media (prefers-reduced-motion:reduce){*,:after,:before{-webkit-animation-duration:.01ms!important;animation-duration:.01ms!important;-webkit-animation-iteration-count:1!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.contact-inner{align-items:center;display:flex;flex-direction:column;text-align:center}.contact-body{color:var(--slate);font-size:var(--fs-lead);line-height:var(--lh-relaxed);margin-bottom:var(--sp-6);max-width:46ch}.contact-cta-row{align-items:center;display:flex;flex-wrap:wrap;gap:var(--sp-4);justify-content:center}.contact-or{color:var(--slate-2);font-family:var(--font-mono);font-size:12px;text-transform:uppercase}.chip-row{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.chip{background:rgba(27,22,32,.03);border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--ink);font-family:var(--font-mono);font-size:11px;font-weight:500;padding:4px 10px}.work-item{padding-bottom:var(--sp-6);padding-left:var(--sp-6);position:relative}.work-item:last-child{padding-bottom:0}.work-marker{background:var(--surface);border:1.5px solid var(--slate-2);border-radius:50%;height:10px;left:0;position:absolute;top:6px;width:10px}.work-item.active .work-marker{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 3px rgba(122,36,54,.18)}.work-card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-card);box-shadow:var(--shadow-tile);padding:var(--sp-5)}.work-card-head{align-items:flex-start;display:flex;gap:var(--sp-3);justify-content:space-between;margin-bottom:var(--sp-3)}.work-title{color:var(--ink);font-size:var(--fs-h4);font-weight:700;line-height:var(--lh-snug)}.work-company{color:var(--slate);font-weight:500}.work-date{-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum";color:var(--slate-2);display:block;font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums;margin-top:4px}.work-link{color:var(--slate-2);flex-shrink:0;padding:4px;transition:color .2s ease}.work-link:focus-visible,.work-link:hover{color:var(--accent)}.work-description{color:var(--slate);font-size:var(--fs-body);line-height:var(--lh-normal);margin-bottom:var(--sp-4);max-width:65ch}.experience-timeline{max-width:720px}.footer{border-top:1px solid var(--line-soft)}.footer-inner{flex-direction:column;padding-bottom:var(--sp-6);padding-top:var(--sp-6);text-align:center}.footer-inner,.footer-socials{align-items:center;display:flex;gap:var(--sp-4)}.footer-socials a{color:var(--slate);transition:color .2s ease}.footer-socials a:focus-visible,.footer-socials a:hover{color:var(--accent)}.footer-text{color:var(--slate-2);display:flex;flex-direction:column;font-size:12px;gap:var(--sp-1)}.footer-credit{color:var(--slate);text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}.footer-credit:hover{color:var(--ink)}.lang-switcher{align-items:center;border:1px solid var(--line);border-radius:var(--radius-pill);display:flex;gap:var(--sp-1);padding:2px}.lang-switcher-btn{background:transparent;border:none;border-radius:var(--radius-pill);color:var(--slate-2);font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.04em;padding:5px 10px;transition:background-color .2s ease,color .2s ease}.lang-switcher-btn:hover{color:var(--ink)}.lang-switcher-btn.active{background:var(--ink);color:var(--surface)}.lang-switcher-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.swap-text{display:inline-grid;grid-template-areas:"stack";justify-items:center;vertical-align:initial}.swap-text-layer{grid-area:stack;text-align:center;transition:opacity .3s ease,-webkit-transform .3s ease,-webkit-filter .3s ease;transition:opacity .3s ease,transform .3s ease,filter .3s ease;transition:opacity .3s ease,transform .3s ease,filter .3s ease,-webkit-transform .3s ease,-webkit-filter .3s ease;white-space:nowrap}.swap-text-layer[data-active=false]{-webkit-filter:blur(1px);filter:blur(1px);opacity:0;pointer-events:none;-webkit-transform:translateY(-2px);transform:translateY(-2px)}.swap-text-layer[data-active=true]{-webkit-filter:blur(0);filter:blur(0);opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}.header{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:hsla(0,0%,100%,.6);border-bottom:1px solid transparent;position:-webkit-sticky;position:sticky;top:0;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease,-webkit-backdrop-filter .3s ease;transition:background-color .3s ease,backdrop-filter .3s ease,border-color .3s ease,box-shadow .3s ease;transition:background-color .3s ease,backdrop-filter .3s ease,border-color .3s ease,box-shadow .3s ease,-webkit-backdrop-filter .3s ease;z-index:40}.header[data-scrolled=true]{-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);background:hsla(0,0%,100%,.78);border-bottom-color:var(--line-soft);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.6),0 10px 30px -24px rgba(27,22,32,.5)}.header-bar{gap:var(--sp-4);justify-content:space-between;margin:0 auto;max-width:1180px;padding:var(--sp-3) var(--sp-5)}.header-bar,.header-mark{align-items:center;display:flex}.header-mark{border:1.5px solid var(--ink);border-radius:var(--radius-control);color:var(--ink);flex-shrink:0;font-family:var(--font-display);font-size:13px;font-weight:800;height:34px;justify-content:center;letter-spacing:.02em;transition:background-color .2s ease,color .2s ease,-webkit-transform .2s ease;transition:transform .2s ease,background-color .2s ease,color .2s ease;transition:transform .2s ease,background-color .2s ease,color .2s ease,-webkit-transform .2s ease;width:34px}.header-mark:focus-visible,.header-mark:hover{background:var(--ink);color:var(--surface);-webkit-transform:rotate(-4deg);transform:rotate(-4deg)}.header-nav{align-items:center;display:flex;gap:var(--sp-5)}.header-nav-link{color:var(--slate);font-size:var(--fs-sm);font-weight:600;letter-spacing:-.005em;padding-bottom:3px;position:relative;transition:color .2s ease}.header-nav-link:after{background:var(--accent);border-radius:var(--radius-pill);bottom:0;content:"";height:1.5px;left:0;position:absolute;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:left center;transform-origin:left center;transition:-webkit-transform .28s ease;transition:transform .28s ease;transition:transform .28s ease,-webkit-transform .28s ease;width:100%}.header-nav-link:focus-visible,.header-nav-link:hover{color:var(--ink)}.header-nav-link:focus-visible:after,.header-nav-link:hover:after{-webkit-transform:scaleX(1);transform:scaleX(1)}.header-actions{align-items:center;display:flex;gap:var(--sp-4)}.header-resume{align-items:center;border:1px solid var(--line);border-radius:var(--radius-control);color:var(--ink);display:inline-flex;font-size:var(--fs-sm);font-weight:600;justify-content:center;padding:8px 16px;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease,-webkit-transform .2s ease;transition:border-color .2s ease,background-color .2s ease,transform .2s ease,box-shadow .2s ease;transition:border-color .2s ease,background-color .2s ease,transform .2s ease,box-shadow .2s ease,-webkit-transform .2s ease;white-space:nowrap}.header-resume:focus-visible,.header-resume:hover{background:var(--surface);border-color:var(--ink);box-shadow:var(--shadow-tile);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.header-menu-btn{align-items:center;background:transparent;border:1px solid var(--line);border-radius:var(--radius-control);color:var(--ink);display:none;height:36px;justify-content:center;width:36px}.header-mobile-nav{border-top:1px solid var(--line-soft);display:none;flex-direction:column;overflow:hidden}.header-mobile-link{border-bottom:1px solid var(--line-soft);color:var(--ink);font-size:var(--fs-body);font-weight:600;padding:var(--sp-4) var(--sp-5)}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width:768px){.header-nav,.header-resume{display:none}.header-menu-btn,.header-mobile-nav{display:flex}}.hero{overflow:hidden;padding-bottom:var(--sp-8);padding-top:var(--sp-8);position:relative}.hero-decor{inset:0;pointer-events:none;position:absolute;z-index:0}.hero-glow{background:radial-gradient(circle,rgba(122,36,54,.2),rgba(122,36,54,.05) 45%,transparent 70%);height:420px;position:absolute;right:-90px;top:-130px;width:420px}.hero-codemark{color:rgba(27,22,32,.06);font-family:var(--font-mono);font-weight:700;line-height:1;position:absolute}.hero-codemark-1{font-size:200px;right:6%;top:0}.hero-codemark-2{bottom:-6px;color:rgba(122,36,54,.09);font-size:100px;left:26px}.hero-codemark-3{color:rgba(27,22,32,.05);display:flex;left:50%;top:55%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.hero-grid{grid-gap:var(--sp-6);align-items:start;display:grid;gap:var(--sp-6);grid-template-columns:1.15fr .85fr;margin:0 auto;max-width:1180px;padding:0 var(--sp-5);position:relative;z-index:1}.hero-eyebrow{color:var(--slate);font-size:var(--fs-label);font-weight:600;letter-spacing:.08em;margin-bottom:var(--sp-4);text-transform:uppercase}.hero-title{color:var(--ink);font-size:var(--fs-h1);font-weight:800;letter-spacing:-.02em;line-height:var(--lh-tight);margin-bottom:var(--sp-4)}.hero-accent{color:var(--accent)}.hero-lead{color:var(--slate);font-size:var(--fs-lead);line-height:var(--lh-relaxed);margin-bottom:var(--sp-5);max-width:40ch}.hero-cta-row{align-items:center;display:flex;flex-wrap:wrap;gap:var(--sp-5);margin-bottom:var(--sp-6)}.hero-stat-row{-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum";display:flex;font-variant-numeric:tabular-nums;gap:var(--sp-5)}.hero-stat{border-right:1px solid var(--line);display:flex;flex-direction:column;padding-right:var(--sp-5)}.hero-stat:last-child{border-right:none}.hero-stat b{color:var(--ink);font-size:var(--fs-stat-lg);font-weight:700;line-height:1.1}.hero-stat span{color:var(--slate-2);font-size:11px;letter-spacing:.05em;text-transform:uppercase}.hero-card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--sp-5)}.hero-card-top{gap:var(--sp-3);margin-bottom:var(--sp-4)}.hero-avatar,.hero-card-top{align-items:center;display:flex}.hero-avatar{background:var(--accent-soft);border:1.5px solid rgba(122,36,54,.4);border-radius:50%;color:var(--accent);flex-shrink:0;font-size:14px;font-weight:700;height:44px;justify-content:center;width:44px}.hero-card-name{color:var(--ink);display:block;font-size:var(--fs-sm);font-weight:700}.hero-card-role{color:var(--slate);display:block;font-size:12px}.hero-status{align-items:center;color:var(--success);display:inline-flex;font-size:11px;font-weight:600;gap:6px;letter-spacing:.04em;margin-bottom:var(--sp-4);text-transform:uppercase}.hero-status i{background:var(--success);border-radius:50%;display:block;height:6px;width:6px}@media (max-width:768px){.hero{padding-bottom:var(--sp-7);padding-top:var(--sp-6)}.hero-grid{grid-template-columns:1fr}.hero-codemark-1,.hero-codemark-3{display:none}}@media (max-width:420px){.hero-stat-row{gap:var(--sp-3)}.hero-stat{padding-right:var(--sp-3)}.hero-stat b{font-size:var(--fs-stat-sm)}}.skills-groups{display:flex;flex-direction:column;gap:var(--sp-6)}.skills-group-title{color:var(--slate-2);font-size:var(--fs-label);font-weight:600;letter-spacing:.06em;margin-bottom:var(--sp-3);text-transform:uppercase}.skills-grid{grid-gap:var(--sp-3);display:grid;gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.skill-tile{align-items:center;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-control);box-shadow:var(--shadow-tile);color:var(--ink);display:flex;font-size:var(--fs-sm);font-weight:600;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4)}.skill-icon{color:var(--accent);flex-shrink:0;height:18px;width:18px}#main{overflow-x:hidden}
/*# sourceMappingURL=main.9de260ca.css.map*/