:root{--bg: #11100e;--bg-2: #181614;--bg-3: #211e1b;--line: rgba(236, 231, 223, .09);--line-2: rgba(236, 231, 223, .17);--text: #ece7df;--text-2: #b4ada2;--text-3: #8f887c;--accent: #e6a85c;--accent-hover: #f0b873;--accent-soft: rgba(230, 168, 92, .12);--on-accent: #1a1208;--ff-display: "Funnel Display", ui-sans-serif, system-ui, sans-serif;--ff-body: "Onest", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--ff-pixel: "Silkscreen", monospace;--ff-heading: var(--ff-display);--ff-sub: var(--ff-body);--pad-x: clamp(20px, 5vw, 48px);--max-w: 1120px;--bar-h: 68px;--gutter: max(var(--pad-x), (100% - var(--max-w)) / 2);--ease: cubic-bezier(.2, .7, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--bar-h);-webkit-text-size-adjust:100%}body{min-width:320px;background:var(--bg);color:var(--text);font:400 1rem/1.65 var(--ff-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}ul,ol{list-style:none}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}h1,h2,h3,h4,h5,h6{font-family:var(--ff-display);font-weight:600;line-height:1.15}.text-emphasis{color:var(--text);font-weight:600}::selection{background:var(--accent);color:var(--on-accent)}:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:999px;background:#ece7df33 padding-box}::-webkit-scrollbar-thumb:hover{background-color:#ece7df57}::-webkit-scrollbar-thumb:active{background-color:var(--accent)}::-webkit-scrollbar-corner{background:transparent}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:rgba(236,231,223,.24) transparent}}.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}.skip-link{position:fixed;left:16px;top:-80px;z-index:7000;padding:10px 16px;border-radius:8px;background:var(--text);color:var(--bg);font-weight:600}.skip-link:focus{top:16px}html.modal-open,body.modal-open{overflow:hidden!important;overscroll-behavior:contain;touch-action:none}.wrap{width:min(var(--max-w),100% - 2 * var(--pad-x));margin-inline:auto}.section{padding-top:clamp(96px,12vw,152px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 22px;border:1px solid transparent;border-radius:999px;font:500 15px/1 var(--ff-body);white-space:nowrap;transition:background-color .2s,border-color .2s,color .2s}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{border-color:var(--line-2);color:var(--text);background:transparent}.btn-ghost:hover{background:var(--bg-3);border-color:#ece7df4d}.btn-small{min-height:38px;padding:0 15px;font-size:14px}.icon-btn{display:inline-grid;place-items:center;width:32px;height:32px;border:1px solid var(--line-2);border-radius:8px;background:transparent;color:var(--text-2);transition:background-color .2s,color .2s}.icon-btn:hover{background:var(--bg-3);color:var(--text)}.text-link{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;background:none;color:var(--text);font:500 15px/1.4 var(--ff-body);text-decoration:underline;text-decoration-color:var(--line-2);text-decoration-thickness:1px;text-underline-offset:6px;transition:color .2s,text-decoration-color .2s}.text-link:hover{color:var(--accent);text-decoration-color:var(--accent)}.tag-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}.tag-list li{padding:3px 9px;border:1px solid var(--line-2);border-radius:6px;color:var(--text-2);font:400 13px/1.6 var(--ff-body)}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}.topbar{position:fixed;inset:0 0 auto;z-index:2000;height:var(--bar-h);display:flex;align-items:center;gap:24px;padding-inline:var(--gutter);border-bottom:1px solid transparent;transition:background-color .25s,border-color .25s}.topbar[data-scrolled=true],.topbar[data-open=true]{background:var(--bg);border-bottom-color:var(--line)}.brand{display:inline-flex;align-items:center;gap:2px;flex-shrink:0;margin-left:-6px}.nav-pixel-runner{display:block;flex:0 0 38px;width:38px;height:38px;overflow:hidden}.nav-run-frames{image-rendering:pixelated;transform-box:fill-box;animation:nav-pixel-run .48s steps(1,end) infinite}@keyframes nav-pixel-run{0%,to{transform:translate(0)}50%{transform:translate(-50%)}}.brand-word{font:600 22px/1 var(--ff-display);letter-spacing:-.02em}.brand-word span,.footer-mark span{color:var(--accent)}.nav-menu{flex:1;display:flex;justify-content:flex-end}.nav-links{display:flex;align-items:center;gap:2px}.nav-link{display:inline-block;padding:8px 13px;border-radius:999px;color:var(--text-2);font:500 15px/1 var(--ff-body);transition:color .2s,background-color .2s}.nav-link:hover{color:var(--text)}.nav-link.is-active{color:var(--text);background:#ece7df12}.nav-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.nav-socials{display:flex;gap:2px;padding-left:10px;margin-left:4px;border-left:1px solid var(--line-2)}.nav-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;color:var(--text-2);font-size:17px;transition:color .2s,background-color .2s}.nav-icon:hover{color:var(--text);background:var(--bg-3)}.nav-actions .btn-small{margin-left:6px}.nav-toggle{display:none;place-items:center;width:40px;height:40px;border:1px solid var(--line-2);border-radius:10px;background:transparent}.nav-toggle-bars{display:grid;gap:4px;width:16px}.nav-toggle-bars i{display:block;height:1.5px;border-radius:2px;background:var(--text);transition:transform .2s,opacity .2s}.topbar[data-open=true] .nav-toggle-bars i:nth-child(1){transform:translateY(5.5px) rotate(45deg)}.topbar[data-open=true] .nav-toggle-bars i:nth-child(2){opacity:0}.topbar[data-open=true] .nav-toggle-bars i:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}@media (max-width: 991px){.nav-toggle{display:grid}.nav-menu{position:absolute;top:100%;left:0;right:0;display:block;padding:8px var(--gutter) 24px;background:var(--bg);border-bottom:1px solid var(--line);visibility:hidden;opacity:0;transform:translateY(-6px);transition:opacity .2s,transform .2s var(--ease),visibility 0s linear .2s}.topbar[data-open=true] .nav-menu{visibility:visible;opacity:1;transform:none;transition-delay:0s}.nav-actions{margin-left:auto}.nav-links{flex-direction:column;align-items:stretch;gap:0}.nav-link{width:100%;padding:16px 0;border-radius:0;border-bottom:1px solid var(--line);color:var(--text);font:600 26px/1 var(--ff-display);letter-spacing:-.02em}.nav-link.is-active{background:none;color:var(--accent)}}@media (max-width: 480px){.nav-socials{display:none}.topbar{gap:12px}}.hero{--cols: var(--hero-cols, 16);position:relative;container-type:inline-size;display:flex;align-items:center;min-height:max(100svh,640px);overflow:hidden;isolation:isolate}.hero>*{--cell: calc(100cqw / var(--cols))}.hero-board{position:absolute;inset:0;z-index:0;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));align-content:start;gap:1px;background:var(--bg)}.hero-board>span{aspect-ratio:1;background:#1a1815;transition:background-color .8s ease}.hero-board>span:hover{background:#2a2622;transition:none}.hero-board>span.is-snake{background:var(--snake-color);transition:background-color .08s linear}.hero:after{content:"";position:absolute;inset:auto 0 0;z-index:1;height:38%;background:linear-gradient(to bottom,transparent,var(--bg));pointer-events:none}.hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(17,16,14,.72) 0%,rgba(17,16,14,.45) 45%,transparent 72%);pointer-events:none}@media (max-width: 1024px){.hero:before{background:#11100e80}}@media (prefers-reduced-motion: reduce){.hero-board>span,.hero-board>span.is-snake{transition:none}}.hero-content{position:relative;z-index:2;padding:calc(var(--bar-h) + 40px) 0 96px;pointer-events:none}.hero-content :is(a,button){pointer-events:auto}.hero-name{margin:0 0 26px -.03em;font-size:clamp(60px,10vw,140px);font-weight:700;line-height:.92;letter-spacing:-.045em;color:var(--text)}.hero-description{max-width:34em;margin-bottom:34px;color:var(--text-2);font-size:clamp(17px,1.4vw,19px);line-height:1.6;text-shadow:0 0 18px var(--bg)}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.hero-actions .btn-ghost{background:#11100ed1}.hero-actions .btn-ghost:hover{background:var(--bg-3)}@media (prefers-reduced-motion: no-preference){.hero-content>*{animation:hero-enter .7s var(--ease) both}.hero-content>:nth-child(2){animation-delay:.08s}.hero-content>:nth-child(3){animation-delay:.16s}.hero-content>:nth-child(4){animation-delay:.24s}}@keyframes hero-enter{0%{opacity:0;transform:translateY(14px)}}.hero-hint{position:absolute;z-index:2;left:var(--gutter);bottom:28px;margin:0;color:var(--text-3);font:400 13px/1.4 var(--ff-body)}@media (hover: none){.hero-hint{display:none}}@media (max-width: 1024px){.hero{align-items:flex-start;min-height:0}.hero-actions{margin-bottom:190px}}@media (max-width: 600px){.hero-content{padding-top:calc(var(--bar-h) + 28px);padding-bottom:40px}}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;padding-bottom:22px;margin-bottom:clamp(40px,5vw,56px);border-bottom:1px solid var(--line-2)}.section-head-text{min-width:0}.section-head h2{font-size:clamp(36px,4.6vw,56px);font-weight:600;line-height:1.04;letter-spacing:-.035em}.section-lede{max-width:52ch;margin-top:16px;color:var(--text-2);font-size:17px;line-height:1.6;text-wrap:pretty}.section-scene{flex-shrink:0;margin-bottom:-23px;pointer-events:none}.section-scene .pixel-buddy{width:280px;margin-bottom:-7px}.section-scene .desk-buddy{position:relative;right:auto;bottom:auto;margin-bottom:-1px}.section-scene .dino-builder{margin-bottom:-10px}.section-scene .coffee-chat{margin-bottom:-6px}@media (max-width: 760px){.section-head{flex-direction:column;align-items:stretch;gap:20px}.section-scene{align-self:flex-end}.section-lede{font-size:16px}}.about-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "photo" "copy"}.about .section-head{grid-area:head;margin-bottom:28px}.about-photo{grid-area:photo;max-width:400px;margin-bottom:32px}.about-copy{grid-area:copy}.about-photo-frame{position:relative;aspect-ratio:4 / 5;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--bg-2)}.about-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%}.about-photo figcaption{margin-top:10px;color:var(--text-3);font:400 13px/1.4 var(--ff-body)}.about-lead{margin-bottom:18px;color:var(--text);font:500 clamp(20px,1.9vw,25px)/1.32 var(--ff-display);letter-spacing:-.02em;text-wrap:balance}.about-copy>p:not(.about-lead){max-width:64ch;margin-bottom:12px;color:var(--text-2);font-size:16px;line-height:1.65}.about-copy em{color:var(--text)}.spec-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;margin:24px 0 20px;border-top:1px solid var(--line-2)}.spec-list>div{display:grid;align-content:start;gap:2px;padding:11px 0;border-bottom:1px solid var(--line)}.spec-list>div:first-child{grid-column:1 / -1}.spec-list dt{color:var(--text-3);font:400 13px/1.5 var(--ff-body)}.spec-list dd{color:var(--text);font-size:15px;line-height:1.45}.spec-list dd span{display:block}@media (min-width: 901px){.about{display:flex;align-items:center;min-height:calc(100svh - var(--bar-h));padding-block:40px}.about-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-rows:auto 1fr;grid-template-areas:"photo head" "photo copy";column-gap:clamp(32px,5vw,72px)}.about-photo{display:flex;flex-direction:column;max-width:none;margin:0}.about-photo-frame{flex:1;min-height:320px;aspect-ratio:auto}}@media (min-width: 901px) and (max-height: 860px){.about{padding-block:20px}.about .section-head{margin-bottom:18px;padding-bottom:16px}.about .section-scene{margin-bottom:-17px}.about .section-head h2{font-size:clamp(34px,3.4vw,46px)}.about-lead{margin-bottom:12px;font-size:clamp(19px,1.6vw,22px)}.about-copy>p:not(.about-lead){margin-bottom:8px;font-size:15px;line-height:1.6}.spec-list{margin:16px 0 0}.spec-list>div{padding:8px 0}.about-copy .text-link{display:none}}@media (max-width: 480px){.spec-list{grid-template-columns:minmax(0,1fr)}}.toolkit-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 32px}.toolkit-group h3{padding-bottom:12px;border-bottom:1px solid var(--line-2);font:600 15px/1.35 var(--ff-body)}.toolkit-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);color:var(--text-2);font-size:15px}.toolkit-icon{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;color:var(--text-2)}.toolkit-icon img{width:20px;height:20px;object-fit:contain}.toolkit-icon svg{width:18px;height:18px}.toolkit-item[data-skill=python] .toolkit-icon{color:#4b8bbe}.toolkit-item[data-skill=c] .toolkit-icon{color:#659ad2}.toolkit-item[data-skill=node] .toolkit-icon{color:#6cc24a}.toolkit-item[data-skill=angular] .toolkit-icon{color:#e23237}.toolkit-item[data-skill=express] .toolkit-icon{color:#b8a5e3}.toolkit-item[data-skill=docker] .toolkit-icon{color:#2496ed}.toolkit-item[data-skill=git] .toolkit-icon{color:#f05032}.toolkit-item[data-skill=rest-api] .toolkit-icon{color:#38bdb0}.toolkit-item[data-skill=llm] .toolkit-icon{color:#a78bfa}.toolkit-item[data-skill=openai] .toolkit-icon{color:#10a37f}.toolkit-item[data-skill=nlp] .toolkit-icon{color:#60a5fa}.toolkit-item[data-skill=machine-learning] .toolkit-icon{color:#f472b6}.toolkit-item[data-skill=deep-learning] .toolkit-icon{color:#fb923c}@media (max-width: 1000px){.toolkit-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.toolkit-groups{grid-template-columns:minmax(0,1fr)}}.exp-item{display:grid;grid-template-columns:minmax(180px,3fr) minmax(0,9fr);gap:clamp(24px,4vw,56px);padding:44px 0;border-bottom:1px solid var(--line)}.exp-item:first-child{padding-top:4px}.exp-meta{position:sticky;top:calc(var(--bar-h) + 28px);align-self:start}.exp-period{color:var(--text);font:500 14px/1.5 var(--ff-body);font-variant-numeric:tabular-nums}.exp-location{margin-top:2px;color:var(--text-3);font:400 14px/1.5 var(--ff-body)}.exp-photo{margin-top:22px;max-width:280px}.exp-photo-frame{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--bg-2)}.exp-photo img{width:100%;height:auto}.exp-photo-landscape img{aspect-ratio:16 / 10;object-fit:cover;object-position:center 70%}.exp-photo figcaption{margin-top:10px;color:var(--text-3);font:400 13px/1.4 var(--ff-body)}.exp-role{margin-bottom:6px;font-size:clamp(22px,2.2vw,28px);line-height:1.2;letter-spacing:-.02em;text-wrap:balance}.exp-org{margin-bottom:14px;color:var(--accent);font:500 16px/1.4 var(--ff-body)}.exp-details>.exp-role:last-child{margin-bottom:0}.exp-summary{max-width:68ch;color:var(--text-2);font-size:16px;line-height:1.75}.exp-impact{max-width:68ch;margin-top:14px;color:var(--text);font-size:16px;line-height:1.65}.exp-impact>span{display:block;margin-bottom:2px;color:var(--text-3);font:400 13px/1.5 var(--ff-body)}.exp-impact .exp-bullets{margin-top:0}.exp-impact .exp-bullets li{margin-top:4px;color:var(--text);font-size:16px}.exp-impact .text-emphasis{color:var(--accent)}.exp-project-impact{margin-top:12px;font-size:15px}.exp-subrole{margin-top:24px}.exp-subtitle{color:var(--text);font:600 15px/1.5 var(--ff-body)}.exp-context{color:var(--text-3);font-weight:400}.exp-bullets{margin-top:6px}.exp-bullets li{position:relative;max-width:66ch;padding-left:18px;margin-top:5px;color:var(--text-2);font-size:15.5px;line-height:1.65}.exp-bullets li:before{content:"";position:absolute;left:2px;top:.68em;width:5px;height:5px;background:var(--text-3)}@media (max-width: 900px){.exp-item{grid-template-columns:minmax(0,1fr);gap:18px;padding:36px 0}.exp-meta{position:static}.exp-photo{max-width:260px}}.exp-showcase{margin-top:28px}.exp-showcase-panel{padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--bg-2)}.exp-showcase-label{display:flex;justify-content:space-between;gap:12px;margin:0;padding:2px 4px 12px;color:var(--text-3);font:400 13px/1.4 var(--ff-body)}.exp-project-picker{display:flex;gap:4px;padding:4px;overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--bg);scrollbar-width:none}.exp-project-picker button{position:relative;display:inline-flex;align-items:baseline;gap:8px;flex:1 0 auto;min-height:40px;padding:9px 14px 11px;border:0;border-radius:9px;background:transparent;color:var(--text-3);font:500 14px/1.2 var(--ff-body);text-align:left;white-space:nowrap;transition:color .2s,background-color .2s}.exp-project-picker button:hover{color:var(--text)}.exp-project-picker button[aria-pressed=true]{background:var(--bg-3);color:var(--text)}.exp-project-picker-bar{position:absolute;left:14px;right:14px;bottom:5px;height:2px;border-radius:2px;overflow:hidden;background:var(--line)}.exp-project-picker-bar i{position:absolute;inset:0;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}.exp-project-picker [data-state=done] .exp-project-picker-bar i,.exp-project-picker [data-state=active] .exp-project-picker-bar i{transform:scaleX(1)}.exp-project-picker [data-state=done] .exp-project-picker-bar i{opacity:.4}.exp-project-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px;align-items:start;padding:16px 4px 4px}.exp-project-preview{min-width:0}.exp-project-media{position:relative;aspect-ratio:16 / 10;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#0c0b0a}.exp-project-media>img,.exp-project-placeholder{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .4s ease}.exp-project-media>[data-active=true]{opacity:1}.exp-project-placeholder{display:grid;place-items:center;color:var(--text-2);font-weight:600}.exp-project-controls{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:10px;pointer-events:none}.exp-project-controls button{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line-2);border-radius:50%;background:#11100edb;color:var(--text);pointer-events:auto;transition:background-color .2s}.exp-project-controls button:hover{background:var(--bg-3)}.exp-project-controls button:disabled{visibility:hidden}.exp-project-hint{margin:10px 0 0;color:var(--text-3);font:400 13px/1.4 var(--ff-body)}.exp-project-slides{display:grid;min-width:0}.exp-project-slide{grid-area:1 / 1;min-width:0;transition:opacity .35s ease,visibility 0s linear .35s}.exp-project-slide[data-active=true]{transition-delay:0s}.exp-project-slide[data-active=false]{visibility:hidden;pointer-events:none;opacity:0}.exp-project-body h3{font-size:24px;line-height:1.15;letter-spacing:-.02em}.exp-project-subtitle{margin-top:6px;color:var(--accent);font:400 14px/1.4 var(--ff-body)}.exp-project-description{margin-top:12px;color:var(--text-2);font-size:15px;line-height:1.65}.exp-project-body .tag-list{margin-top:14px}@media (max-width: 640px){.exp-project-layout{grid-template-columns:minmax(0,1fr);gap:18px}}@media (prefers-reduced-motion: reduce){.exp-showcase,.exp-showcase *{transition:none!important}}.project-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px}.project-filters button{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 15px;border:1px solid var(--line-2);border-radius:999px;background:transparent;color:var(--text-2);font:500 14px/1 var(--ff-body);transition:color .2s,background-color .2s,border-color .2s}.project-filters button:hover{color:var(--text);border-color:#ece7df4d}.project-filters button[aria-pressed=true]{background:var(--text);border-color:var(--text);color:var(--bg)}.project-filters button span{font:500 12px/1 var(--ff-body);opacity:.7}.proj-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.proj-card{position:relative;display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:18px;background:var(--bg-2);overflow:hidden;transition:border-color .2s}.proj-card:hover{border-color:#ece7df4d}.proj-card:has(.proj-open:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.proj-media{position:relative;aspect-ratio:16 / 10;border-bottom:1px solid var(--line);background:#0c0b0a;overflow:hidden}.proj-img{width:100%;height:100%;object-fit:cover;object-position:top center}.proj-img-placeholder{display:grid;place-items:center;height:100%;color:var(--text-3);font-size:2rem}.proj-status{display:inline-block;padding:3px 8px;border-radius:6px;background:var(--accent);color:var(--on-accent);font:500 12px/1.5 var(--ff-body);white-space:nowrap}.proj-media>.proj-status{position:absolute;top:12px;right:12px}.proj-body{flex:1;padding:20px 20px 0}.proj-categories{margin-bottom:8px;color:var(--accent);font:400 13px/1.4 var(--ff-body)}.proj-title{margin-bottom:8px;font-size:22px;line-height:1.2;letter-spacing:-.02em;overflow-wrap:anywhere}.proj-summary{display:-webkit-box;overflow:hidden;color:var(--text-2);font-size:15px;line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:3}.proj-method{display:-webkit-box;overflow:hidden;margin-top:12px;color:var(--text-3);font:400 13px/1.6 var(--ff-body);-webkit-box-orient:vertical;-webkit-line-clamp:2}.proj-method span{margin-right:6px;color:var(--text-2)}.proj-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding:15px 20px 17px;border-top:1px solid var(--line)}.proj-open{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;background:none;color:var(--text);font:500 14px/1.2 var(--ff-body)}.proj-open:after{content:"";position:absolute;inset:0;z-index:1}.proj-open:focus-visible{outline:none}.proj-link{position:relative;z-index:2;display:inline-flex;align-items:center;gap:6px;color:var(--accent);font:500 14px/1.2 var(--ff-body)}.proj-link:hover{color:var(--accent-hover);text-decoration:underline;text-underline-offset:4px}@media (max-width: 1000px){.proj-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.proj-grid{grid-template-columns:minmax(0,1fr)}}.contact-email-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;padding-bottom:28px}.contact-email{min-width:0;color:var(--text);font:600 clamp(24px,3vw,40px)/1.1 var(--ff-display);letter-spacing:-.035em;overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:var(--line-2);text-decoration-thickness:2px;text-underline-offset:.18em;transition:color .2s,text-decoration-color .2s}.contact-email:hover{color:var(--accent);text-decoration-color:var(--accent)}.contact-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}.contact-links li{display:flex;flex-direction:column;gap:8px;min-width:0;padding:20px 20px 22px;border-left:1px solid var(--line)}.contact-links li:first-child{padding-left:0;border-left:0}.contact-label{color:var(--text-3);font:400 13px/1.4 var(--ff-body)}.contact-value{display:inline-flex;align-items:center;gap:10px;width:fit-content;padding:0;border:0;background:none;color:var(--text);font:500 16px/1.35 var(--ff-body);text-align:left;overflow-wrap:anywhere;transition:color .2s}a.contact-value:hover,button.contact-value:hover,.contact-value a:hover{color:var(--accent)}.contact-value .icon-btn{width:30px;height:30px;font-size:13px}.contact-assistant{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin-top:28px;color:var(--text-2);font-size:15px}.copy-toast:empty{display:none}.copy-toast{position:fixed;left:50%;bottom:24px;z-index:3500;padding:10px 16px;transform:translate(-50%);border-radius:999px;background:var(--text);color:var(--bg);font:400 14px/1 var(--ff-body)}@media (max-width: 900px){.contact-links{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-links li:nth-child(odd){padding-left:0;border-left:0}.contact-links li:nth-child(n+3){border-top:1px solid var(--line)}}@media (max-width: 520px){.contact-links{grid-template-columns:minmax(0,1fr)}.contact-links li{padding:16px 0 18px;border-left:0}.contact-links li+li{border-top:1px solid var(--line)}}.site-footer{position:relative;margin-top:clamp(120px,14vw,180px);border-top:1px solid var(--line-2)}.footer-track{position:absolute;left:0;right:0;bottom:100%;height:38px;overflow:hidden;pointer-events:none}.footer-runner{position:absolute;bottom:-3px;left:0;width:38px;height:38px;animation:footer-run 24s linear infinite}.footer-runner .nav-pixel-runner{width:38px;height:38px}@keyframes footer-run{0%{left:0;transform:scaleX(1)}49.5%{left:calc(100% - 38px);transform:scaleX(1)}50%{left:calc(100% - 38px);transform:scaleX(-1)}99.5%{left:0;transform:scaleX(-1)}to{left:0;transform:scaleX(1)}}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:16px 32px;padding:36px 0 104px}.footer-mark{font:600 24px/1 var(--ff-display);letter-spacing:-.02em}.footer-inner p{color:var(--text-3);font-size:14px}.footer-top{display:inline-flex;align-items:center;gap:8px;color:var(--text-2);font:500 14px/1 var(--ff-body);white-space:nowrap;transition:color .2s}.footer-top:hover{color:var(--text)}@media (max-width: 760px){.footer-inner{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion: reduce){.footer-runner{animation:none;left:24px}.nav-run-frames{animation:none}}.cv-sheet{width:min(1080px,calc(100vw - 48px));max-width:none;height:min(900px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);padding:0;margin:auto;border:1px solid var(--line-2);border-radius:22px;background:var(--bg-2);color:var(--text);box-shadow:0 40px 120px #0000008c;overflow:hidden}.cv-sheet::backdrop{background:#080706b8}.cv-sheet[open]{animation:cv-sheet-enter .25s var(--ease)}.cv-sheet-panel{display:flex;flex-direction:column;height:100%}.cv-sheet-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:18px;padding:18px 24px;border-bottom:1px solid var(--line)}.cv-sheet-heading{display:flex;align-items:center;gap:14px;min-width:0}.cv-sheet-icon{display:grid;place-items:center;flex:0 0 44px;height:44px;border:1px solid var(--line-2);border-radius:12px;color:var(--accent);font-size:1.25rem}.cv-sheet-kicker{margin:0 0 4px;color:var(--text-3);font:400 13px/1.4 var(--ff-body)}.cv-sheet-heading h2{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;margin:0;font-size:26px;line-height:1.1;letter-spacing:-.025em}.cv-sheet-heading h2 span{color:var(--text-3);font:400 14px/1.4 var(--ff-body);letter-spacing:0}.cv-sheet-close{display:grid;place-items:center;flex:0 0 40px;height:40px;border:1px solid var(--line-2);border-radius:50%;background:transparent;color:var(--text-2);font-size:1.15rem;transition:background-color .2s,color .2s}.cv-sheet-close:hover{background:var(--bg-3);color:var(--text)}.cv-sheet-toolbar{display:flex;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 24px;color:var(--text-3);font-size:13px}.cv-sheet-format{color:var(--text-3);font:400 12px/1 var(--ff-body)}.cv-sheet-preview{flex:1;min-height:0;margin:0 18px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--bg)}.cv-sheet-footer{display:flex;flex-shrink:0;justify-content:space-between;align-items:center;gap:20px;padding:16px 24px 18px}.cv-sheet-footer p{margin:0;color:var(--text);font-size:14px;line-height:1.5}.cv-sheet-footer p span{display:block;color:var(--text-3);font-size:13px}.cv-sheet-actions{display:flex;gap:10px}.cv-sheet-actions a{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:0 18px;border:1px solid transparent;border-radius:999px;font:500 14px/1 var(--ff-body);white-space:nowrap;transition:background-color .2s}.cv-sheet-open{border-color:var(--line-2)!important;color:var(--text)}.cv-sheet-open:hover{background:var(--bg-3)}.cv-sheet-download{background:var(--accent);color:var(--on-accent)}.cv-sheet-download:hover{background:var(--accent-hover)}@keyframes cv-sheet-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (max-width: 700px){.cv-sheet{width:calc(100vw - 20px);height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);border-radius:18px}.cv-sheet-header{padding:14px 16px}.cv-sheet-icon{display:none}.cv-sheet-heading h2{font-size:22px;gap:8px}.cv-sheet-toolbar{padding:8px 16px;font-size:12px}.cv-sheet-format{display:none}.cv-sheet-preview{margin:0 10px}.cv-sheet-footer{flex-direction:column;align-items:stretch;gap:12px;padding:14px 16px max(14px,env(safe-area-inset-bottom))}.cv-sheet-footer p{font-size:13px}.cv-sheet-actions a{flex:1;padding-inline:10px}}@media (max-height: 500px) and (orientation: landscape){.cv-sheet-header{padding:10px 18px}.cv-sheet-toolbar,.cv-sheet-footer p,.cv-sheet-kicker{display:none}.cv-sheet-footer{padding:10px 18px}.cv-sheet-preview{margin-top:8px}}@media (prefers-reduced-motion: reduce){.cv-sheet[open]{animation:none}}.pdf-viewer{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;color:#ece7df;background:#11100e}.pdf-viewer-toolbar{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;padding:6px 10px;border-bottom:1px solid rgba(236,231,223,.09);font:400 12px/1.3 var(--ff-body, sans-serif);color:#b4ada2}.pdf-viewer-zoom{display:flex;align-items:center;gap:4px}.pdf-viewer button{min-width:40px;min-height:36px;padding:4px 8px;border:1px solid rgba(236,231,223,.17);border-radius:8px;color:#ece7df;background:transparent;cursor:pointer;font:inherit}.pdf-viewer button:hover:not(:disabled){background:#211e1b}.pdf-viewer button:disabled{opacity:.4;cursor:default}.pdf-viewer :is(button,a,[tabindex]):focus-visible{outline:2px solid #e6a85c;outline-offset:-2px}.pdf-viewer-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 12px 12px}.pdf-viewer-page{position:relative;margin:0 auto 16px}.pdf-viewer-page-label{position:sticky;left:0;width:fit-content;margin:0;padding:10px 0 6px;color:#8f887c;font:400 11px/1.3 var(--ff-body, sans-serif)}.pdf-viewer-canvas{min-height:100px;background:#fff;border-radius:4px;overflow:hidden}.pdf-viewer-canvas canvas{display:block;max-width:none}.pdf-viewer-accessible-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.pdf-viewer-message{padding:24px 12px;text-align:center;font-size:.9rem}.pdf-viewer-message a{display:inline-block;margin:12px;color:#e6a85c;font-weight:600}.pdf-viewer-dots span{display:inline-block;animation:pdf-viewer-dot 1.2s ease-in-out infinite}.pdf-viewer-dots span:nth-child(2){animation-delay:.15s}.pdf-viewer-dots span:nth-child(3){animation-delay:.3s}@keyframes pdf-viewer-dot{0%,60%,to{opacity:.3;transform:none}30%{opacity:1;transform:translateY(-3px)}}.pdf-viewer-percent{margin:8px 0 0;color:#e6a85c;font:600 1.25rem/1 var(--ff-display, sans-serif);font-variant-numeric:tabular-nums}@media (prefers-reduced-motion: reduce){.pdf-viewer-dots span{animation:none}}.manager-cv-preview{height:70dvh;overflow:hidden}.hero-swing{pointer-events:none}.hero-swing>svg{display:block;width:100%;height:auto;overflow:visible}.hero .hero-swing-desktop{position:absolute;z-index:4;width:calc(var(--cell) * 2);left:calc(var(--cell) * 11.5);top:calc(var(--cell) * 1 - 1px)}.hero .hero-swing-mobile{display:none}.swing-andy-frames{image-rendering:pixelated;transform-box:fill-box;animation:swing-wave 12s steps(1,end) infinite}.swing-hello{opacity:0;animation:swing-hello 12s ease-in-out infinite}.hero-swing[data-paused=true] *{animation-play-state:paused}@keyframes swing-wave{0%,72%,to{transform:translate(0)}44%{transform:translate(-50%)}}@keyframes swing-hello{0%,41%,77%,to{opacity:0}44%,73%{opacity:1}}.hero-swing-cta{position:relative}@media (max-width: 1024px){.hero .hero-swing-desktop{display:none}.hero .hero-swing-mobile{display:block;position:absolute;z-index:1;width:168px;left:50%;top:calc(100% - 4px);transform:translate(-50%);margin:0}}@media (prefers-reduced-motion: reduce){.hero-swing .swing-rope,.hero-swing .swing-seat,.hero-swing .swing-andy-frames{animation:none}.hero-swing .swing-hello{animation:none;opacity:1}}.pixel-buddy{width:min(300px,100%)}.pixel-scene{--pixel-loop: 12s;position:relative;height:112px;isolation:isolate}.pixel-scenery{position:absolute;z-index:1;pointer-events:none;inset:0;width:100%;height:100%;overflow:visible}.pixel-traveler{position:absolute;top:12px;left:0;width:96px;height:96px}.pixel-character{display:block;width:100%;height:100%;overflow:hidden;image-rendering:pixelated}.pixel-hello{position:absolute;top:-5px;right:-5px;padding:4px 7px 3px;border:2px solid #11100e;background:#ece7df;color:#11100e;font:400 10px/1 var(--ff-pixel, monospace);opacity:0}.pixel-hello:after{content:"";position:absolute;left:5px;bottom:-6px;width:4px;height:4px;background:#ece7df;border-left:2px solid #11100e;border-bottom:2px solid #11100e}.pixel-sparks{opacity:0}.pixel-scene[data-frame="2"] .pixel-hello,.pixel-scene[data-frame="3"] .pixel-hello,.pixel-scene[data-frame="5"] .pixel-sparks{opacity:1}.ai-fab{position:fixed;right:20px;bottom:20px;z-index:3000;display:inline-flex;align-items:center;gap:10px;height:50px;padding:0 18px 0 9px;border:1px solid var(--line-2);border-radius:999px;background:var(--bg-2);color:var(--text);box-shadow:0 10px 30px #00000059;font:500 14px/1 var(--ff-body);transition:transform .2s var(--ease),border-color .2s,opacity .15s,visibility .15s}.ai-fab:hover{transform:translateY(-2px);border-color:#ece7df52}.ai-fab.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.ai-avatar{position:relative;display:inline-flex;flex:0 0 32px;width:32px;height:32px;align-items:center;justify-content:center}.ai-avatar-face{width:100%;height:100%;image-rendering:pixelated}.ai-panel{position:fixed;inset:0;z-index:2999;display:grid;place-items:end;padding:clamp(12px,3vw,24px)}.ai-card{display:flex;flex-direction:column;width:min(410px,calc(100vw - 24px));height:min(620px,calc(100dvh - 32px));border:1px solid var(--line-2);border-radius:20px;background:var(--bg-2);box-shadow:0 24px 60px #00000080;overflow:hidden;animation:ai-pop .22s var(--ease)}@keyframes ai-pop{0%{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}.ai-card-head{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:12px;padding:12px 12px 12px 14px;border-bottom:1px solid var(--line)}.ai-card-title{display:flex;align-items:center;gap:10px}.ai-card-title strong{display:block;font:600 15px/1.2 var(--ff-body)}.ai-card-title small{display:block;margin-top:3px;color:var(--text-3);font:400 12px/1.3 var(--ff-body)}.ai-close{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:10px;background:transparent;color:var(--text-2);font-size:1rem}.ai-close:hover{background:var(--bg-3);color:var(--text)}.ai-messages{display:flex;flex:1;flex-direction:column;gap:16px;min-height:0;padding:20px 14px;overflow:auto;overscroll-behavior:contain}.ai-message{display:flex;align-items:flex-end;gap:8px;min-width:0;animation:ai-message-in .25s var(--ease)}.ai-message.user{justify-content:flex-end;padding-left:36px}.ai-bubble{max-width:calc(100% - 40px);padding:10px 13px;font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.ai-bubble.assistant{border:1px solid var(--line);border-radius:16px 16px 16px 4px;background:var(--bg-3);color:var(--text)}.ai-bubble.user{max-width:100%;border-radius:16px 16px 4px;background:var(--accent);color:var(--on-accent)}.ai-suggestions{display:grid;gap:8px;padding-left:40px}.ai-suggestions button{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 13px;border:1px solid var(--line-2);border-radius:12px;background:transparent;color:var(--text-2);font:500 13px/1.3 var(--ff-body);text-align:left;transition:color .2s,background-color .2s}.ai-suggestions button:hover{background:var(--bg-3);color:var(--text)}.ai-processing{padding-top:26px}.ai-typing{display:flex;align-items:baseline;gap:3px}.ai-typing-dots{display:inline-flex;width:16px}.ai-typing-dots>span{animation:ai-typing-step 1.5s steps(1,end) infinite}.ai-typing-dots>span:nth-child(2){animation-delay:.25s}.ai-typing-dots>span:nth-child(3){animation-delay:.5s}@keyframes ai-typing-step{0%,75%{opacity:0}25%{opacity:1}}.is-thinking .ai-avatar-face{animation:ai-ponder 2.4s ease-in-out infinite;transform-origin:center bottom}.ai-thought{position:absolute;right:-8px;top:-27px;display:grid;place-items:center;width:32px;height:24px;border:1px solid var(--line-2);border-radius:12px;background:var(--bg-3);animation:ai-thought-pop .3s var(--ease)}.ai-thought>span{width:12px;height:12px;border:2px solid var(--line-2);border-top-color:var(--accent);border-radius:50%;animation:ai-spinner .85s linear infinite}@keyframes ai-spinner{to{transform:rotate(360deg)}}@keyframes ai-ponder{0%,to{transform:rotate(-6deg)}50%{transform:rotate(5deg) translateY(-2px)}}@keyframes ai-thought-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes ai-message-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.ai-input{display:flex;flex-shrink:0;gap:8px;padding:12px;border-top:1px solid var(--line)}.ai-input input{flex:1;min-width:0;padding:11px 14px;border:1px solid var(--line-2);border-radius:12px;background:var(--bg);color:var(--text);font:400 15px/1.3 var(--ff-body)}.ai-input input::placeholder{color:var(--text-3)}.ai-input input:focus{outline:none;border-color:var(--accent)}.ai-send{display:grid;place-items:center;flex:0 0 44px;border:0;border-radius:12px;background:var(--accent);color:var(--on-accent);font-size:1rem;transition:background-color .2s}.ai-send:hover:not(:disabled){background:var(--accent-hover)}.ai-send:disabled{cursor:not-allowed;background:var(--bg-3);color:var(--text-3)}.ai-footnote{margin:0;padding:0 12px 12px;color:var(--text-3);font:400 12px/1.4 var(--ff-body);text-align:center}.ai-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.ai-project-previews{display:grid;gap:8px;margin:12px 0 0;padding:12px 0 0;border-top:1px solid var(--line)}.ai-project-preview{display:flex;align-items:center;gap:10px;min-height:62px;padding:7px;border:1px solid var(--line);border-radius:12px;background:var(--bg-2);color:var(--text);transition:border-color .2s}.ai-project-preview:hover{border-color:var(--line-2)}.ai-project-preview img{flex:0 0 64px;width:64px;height:48px;object-fit:cover;object-position:top;border-radius:7px;background:var(--bg)}.ai-project-preview img[hidden]{display:none}.ai-project-preview>span:not(.ai-project-arrow){flex:1;min-width:0}.ai-project-preview strong{display:block;font:600 13px/1.4 var(--ff-body)}.ai-project-preview small{display:block;margin-top:2px;color:var(--text-3);font:400 12px/1.4 var(--ff-body)}.ai-cv-attachment{margin-top:12px}.ai-project-preview>span.ai-cv-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:8px;background:var(--bg);font-size:1.15rem}.ai-project-arrow{flex:0 0 auto;color:var(--accent);font-size:.95rem}.ai-contact-links{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0}.ai-contact-links a{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:6px 11px;border:1px solid var(--line-2);border-radius:999px;color:var(--text);font:500 12px/1.3 var(--ff-body);transition:background-color .2s}.ai-contact-links a:hover{background:var(--bg-3)}.ai-contact-links small{color:var(--text-3);font:400 12px/1.3 var(--ff-body)}.ai-contact-invite{position:absolute;right:8px;bottom:calc(100% + 2px);display:flex;align-items:center;gap:6px;pointer-events:none;visibility:hidden;transition:visibility 0s .34s}.ai-contact-invite[data-active=true]{visibility:visible;transition-delay:0s}.ai-fab .ai-invite-label{padding:7px 9px 6px;border-radius:10px 10px 2px;background:var(--text);color:var(--bg);font:400 10px/1.2 var(--ff-pixel);white-space:nowrap;opacity:0;transform:translateY(5px);transition:opacity .18s ease,transform .25s ease}.ai-invite-window{display:block;width:64px;height:86px;overflow:hidden}.ai-invite-person{position:relative;display:block;width:64px;height:86px;transform:translateY(90px);transition:transform .32s cubic-bezier(.4,0,.6,1)}.ai-invite-sprite{display:block;width:76px;height:86px;margin-left:-6px;overflow:hidden;image-rendering:pixelated;animation:ai-invite-sway 1.8s .6s ease-in-out infinite;transform-origin:center bottom}@keyframes ai-invite-sway{50%{transform:rotate(-3deg) translateY(-2px)}}.ai-contact-invite[data-active=true] .ai-invite-person{transform:none;transition:transform .5s cubic-bezier(.16,1,.3,1)}.ai-contact-invite[data-active=true] .ai-invite-label{opacity:1;transform:none;transition-delay:.2s}.ai-contact-invite[data-active=false] .ai-invite-sprite{animation-play-state:paused}@media (max-width: 480px){.ai-fab{right:12px;bottom:12px}.ai-fab>span:last-child{font-size:13px}.ai-panel{padding:10px}}@media (prefers-reduced-motion: reduce){.ai-fab,.ai-card,.ai-message,.ai-typing-dots>span,.is-thinking .ai-avatar-face,.ai-thought,.ai-thought>span{animation:none;transition:none}.ai-contact-invite,.ai-contact-invite *{animation:none!important;transition:none!important}}.desk-buddy{--desk-loop: 18s;position:absolute;width:104px;height:116px;right:8px;bottom:-6px;pointer-events:none}.desk-frame{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;image-rendering:pixelated;opacity:0}.desk-frame--0{animation:desk-work var(--desk-loop) steps(1,end) infinite}.desk-frame--1{animation:desk-blink var(--desk-loop) steps(1,end) infinite}.desk-frame--2{animation:desk-cup var(--desk-loop) steps(1,end) infinite}.desk-frame--3{animation:desk-sip var(--desk-loop) steps(1,end) infinite}.desk-thought{position:absolute;width:50px;height:46px;right:-16px;top:-22px;opacity:0;transform-origin:bottom left;animation:desk-think var(--desk-loop) ease-in-out infinite}.desk-lightbulb{opacity:0;animation:desk-idea var(--desk-loop) ease-in-out infinite}.desk-buddy[data-paused=true] *{animation-play-state:paused}@keyframes desk-work{0%,11%,23%,35%,55%,64%,92%{opacity:1}10%,22%,34%,54%,63%,72%{opacity:0}}@keyframes desk-blink{0%,11%,23%,35%,55%,64%,to{opacity:0}10%,22%,34%,54%,63%{opacity:1}}@keyframes desk-cup{0%,78%,92%,to{opacity:0}72%,86%{opacity:1}}@keyframes desk-sip{0%,86%,to{opacity:0}78%{opacity:1}}@keyframes desk-think{0%,28%,53%,to{opacity:0;transform:translateY(3px) scale(.85)}32%,49%{opacity:1;transform:translateY(0) scale(1)}}@keyframes desk-idea{0%,35%,53%,to{opacity:0}39%,49%{opacity:1}}@media (max-width: 700px){.desk-buddy{width:84px;height:94px;right:0}}@media (prefers-reduced-motion: reduce){.desk-buddy *{animation:none!important}.desk-frame--0{opacity:1}.desk-frame--1,.desk-frame--2,.desk-frame--3,.desk-thought{opacity:0}}.dino-builder{position:relative;isolation:isolate;width:220px;pointer-events:none}.dino-builder:before{content:"";position:absolute;z-index:-1;left:49%;top:16%;width:54%;height:82%;border-radius:50%;background:radial-gradient(ellipse,#8db36b40 0%,#8db36b1f 40%,transparent 72%);filter:blur(6px);opacity:0;transform:scale(.8)}.dino-builder[data-pose="3"]:before{animation:dino-complete-glow 3.8s ease-in-out both}.dino-builder[data-paused=true]:before{animation-play-state:paused}@keyframes dino-complete-glow{0%{opacity:0;transform:scale(.8)}22%{opacity:1;transform:scale(1.08)}55%{opacity:.75;transform:scale(1)}75%{opacity:.9;transform:scale(1.05)}to{opacity:0;transform:scale(.95)}}.dino-builder>svg{display:block;width:100%;overflow:visible;image-rendering:pixelated}.dino-sparkle{opacity:0}.dino-builder[data-pose="2"] .dino-sparkle{animation:dino-click .7s ease-out both}.dino-builder[data-pose="3"] .dino-pose{animation:dino-proud 1.4s ease-in-out infinite}.dino-builder[data-paused=true] *{animation-play-state:paused}@keyframes dino-click{0%{opacity:0}25%{opacity:1}to{opacity:0}}@keyframes dino-proud{50%{translate:0 -2px}}@media (max-width: 700px){.dino-builder{width:170px}}@media (prefers-reduced-motion: reduce){.dino-builder *{animation:none!important}}@media (prefers-reduced-motion: reduce){.dino-builder[data-pose="3"]:before{animation:none;opacity:.55;transform:none}}.project-dialog{width:min(1120px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 48px);margin:auto;padding:0;border:1px solid var(--line-2);border-radius:22px;background:var(--bg-2);color:var(--text);box-shadow:0 40px 120px #0000008c;overflow-y:auto;overscroll-behavior:contain}.project-dialog::backdrop{background:#080706b8}.project-dialog[open]{animation:project-dialog-enter .25s var(--ease)}.project-dialog-panel{position:relative}.project-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:28px 32px 22px;border-bottom:1px solid var(--line)}.project-dialog-header h2{margin:0;font-size:clamp(28px,3.4vw,40px);line-height:1.1;letter-spacing:-.03em;overflow-wrap:anywhere;outline:none}.project-dialog-close{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border:1px solid var(--line-2);border-radius:50%;background:transparent;color:var(--text-2);font-size:1.15rem;transition:background-color .2s,color .2s}.project-dialog-close:hover{background:var(--bg-3);color:var(--text)}.project-dialog-badges{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:14px}.project-dialog-category{padding:3px 9px;border:1px solid var(--line-2);border-radius:6px;color:var(--text-2);font:400 13px/1.6 var(--ff-body)}.project-dialog-body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr);align-items:start;gap:40px;padding:30px 32px}.project-dialog-visual,.project-dialog-content{min-width:0}.project-dialog-media{margin:0;border:1px solid var(--line);border-radius:14px;background:#0c0b0a;overflow:hidden}.project-dialog-media img{display:block;width:100%;height:auto;max-height:320px;object-fit:contain}.project-dialog-role{display:grid;gap:4px;margin:22px 0 0;padding-top:16px;border-top:1px solid var(--line);color:var(--text);font-size:15px;line-height:1.6}.project-dialog-role>span,.project-dialog-models h3,.project-dialog-section-label{margin:0;color:var(--text-3);font:400 13px/1.5 var(--ff-body)}.project-dialog-technologies{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0 0}.project-dialog-technologies li{padding:3px 9px;border:1px solid var(--line-2);border-radius:6px;color:var(--text-2);font:400 13px/1.6 var(--ff-body);overflow-wrap:anywhere}.project-dialog-focus{margin:0 0 10px;color:var(--text-2);font-size:14px;line-height:1.6}.project-dialog-intro{margin:10px 0 24px;color:var(--text);font-size:17px;line-height:1.7;overflow-wrap:anywhere}.project-dialog-content{padding-left:32px;border-left:1px solid var(--line)}.project-dialog-models{margin-top:24px}.project-dialog-models h3{margin-bottom:6px}.project-dialog-models .project-dialog-focus{margin-bottom:18px}.project-dialog-models .project-dialog-technologies{margin:8px 0 0}.project-dialog-process h3{margin:0 0 14px;font-size:20px;letter-spacing:-.015em}.project-dialog-process ol{display:grid;gap:12px;margin:0;padding-left:1.25em;list-style:decimal}.project-dialog-process li{padding-left:4px;color:var(--text-2);font-size:15.5px;line-height:1.65;overflow-wrap:anywhere}.project-dialog-process li::marker{color:var(--text-3)}.project-dialog-result{margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}.project-dialog-result h3{margin-bottom:6px}.project-dialog-result p{margin:0;color:var(--text);font-size:15.5px;line-height:1.65;overflow-wrap:anywhere}.project-dialog-evaluation{margin:18px 0 0;color:var(--text-3);font-size:14px;line-height:1.7;overflow-wrap:anywhere}.project-dialog-evaluation>span{margin-right:8px;color:var(--text-2);font-weight:600}.project-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 32px;border-top:1px solid var(--line)}.project-dialog-footer>span{color:var(--text-3);font-size:14px}.project-dialog-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.project-dialog-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:0 20px;border:1px solid transparent;border-radius:999px;background:var(--accent);color:var(--on-accent);font:500 14px/1 var(--ff-body);white-space:nowrap;transition:background-color .2s}.project-dialog-link:hover{background:var(--accent-hover)}.project-dialog-link-arrow{margin-left:2px}.project-dialog-link-secondary{border-color:var(--line-2);background:transparent;color:var(--text)}.project-dialog-link-secondary:hover{background:var(--bg-3)}.project-dialog .proj-status{align-self:center}@keyframes project-dialog-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (max-width: 760px){.project-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:18px}.project-dialog-header{padding:20px;gap:12px}.project-dialog-body{grid-template-columns:minmax(0,1fr);gap:26px;padding:20px}.project-dialog-content{padding-left:0;border-left:0}.project-dialog-media img{max-height:220px}.project-dialog-intro{font-size:16px}.project-dialog-footer{padding:14px 20px max(14px,env(safe-area-inset-bottom))}.project-dialog-footer>span{display:none}.project-dialog-links{width:100%}.project-dialog-link{flex:1 1 100%}}@media (prefers-reduced-motion: reduce){.project-dialog[open]{animation:none}.project-dialog-close,.project-dialog-link{transition:none}}.coffee-chat{position:relative;width:150px;margin:0;padding:0;pointer-events:none}.coffee-chat>svg{display:block;width:100%;height:auto;overflow:visible;image-rendering:pixelated}.coffee-dot{animation:coffee-speaking 1s ease-in-out infinite}.coffee-idea{animation:coffee-idea-in .3s ease-out both}.coffee-clink{animation:coffee-clink .8s ease-out both}.coffee-chat[data-paused=true] *{animation-play-state:paused}@keyframes coffee-speaking{0%,to{opacity:.35}50%{opacity:1}}@keyframes coffee-idea-in{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}@keyframes coffee-clink{0%{opacity:0}25%{opacity:1}to{opacity:0}}@media (max-width: 700px){.coffee-chat{width:116px}}@media (prefers-reduced-motion: reduce){.coffee-chat *{animation:none!important}}.exp-team-stage{position:relative;width:360px;max-width:100%;height:106px}.team-lead-scene{position:absolute;right:0;bottom:0;width:360px;max-width:100%;pointer-events:none}.team-lead-scene>svg{width:100%;display:block;overflow:visible}.team-person image{image-rendering:pixelated}.team-idea{opacity:0}.team-lead-scene[data-phase=idea] .team-idea{opacity:1;animation:team-light .25s ease-out both,team-idea-float 1.2s .25s ease-in-out infinite}.team-lead-scene[data-phase=idea] .team-person:not(.team-leader){animation:team-nod .8s ease-in-out infinite}.team-lead-scene[data-paused=true] *{animation-play-state:paused}@keyframes team-nod{50%{translate:0 1px}}@keyframes team-light{0%{opacity:0;translate:0 4px}to{opacity:1;translate:0 0}}@media (max-width: 600px){.exp-team-stage{width:300px;height:89px}.team-lead-scene{width:300px}}@media (prefers-reduced-motion: reduce){.team-lead-scene *{animation:none!important}}.exp-team-stage.exp-team-finish{width:auto;margin-top:32px;height:140px;border-bottom:1px solid var(--line-2)}.team-celebration{opacity:0}.team-finish-scene[data-phase=celebrate] .team-celebration{opacity:1;transition:opacity .3s}.team-finish-scene[data-phase=celebrate] .team-person{animation:team-hooray 1.1s ease-in-out infinite}.team-finish-scene[data-phase=celebrate] .team-person:nth-child(2){animation-delay:.1s}.team-finish-scene[data-phase=celebrate] .team-person:nth-child(3){animation-delay:.2s}.team-finish-scene[data-phase=celebrate] .team-person:nth-child(4){animation-delay:.3s}.team-finish-scene[data-phase=celebrate] .team-confetti{animation:team-confetti 1.8s ease-out both}@keyframes team-hooray{0%,to{translate:0 0}40%{translate:0 -5px}65%{translate:0 0}}@keyframes team-confetti{0%{opacity:0;translate:0 -8px}15%{opacity:1}to{opacity:0;translate:7px 48px}}@media (max-width: 600px){.exp-team-stage.exp-team-finish{height:120px}}.team-lead-scene.team-finish-scene{left:0;right:auto;width:400px}.team-flag-cloth{transform-origin:2px 0;animation:team-flag-wave 2.4s ease-in-out infinite}.team-finish-scene[data-phase=celebrate] .team-hooray-popup{animation:team-popup-in .45s cubic-bezier(.2,.8,.3,1.2) both;transform-origin:210px 20px}@keyframes team-flag-wave{0%,to{transform:skewY(-3deg)}50%{transform:skewY(3deg)}}@keyframes team-popup-in{0%{opacity:0;transform:translateY(5px) scale(.85)}to{opacity:1;transform:translateY(0) scale(1)}}.team-lead-scene:not(.team-finish-scene)[data-phase=idea] .team-leader{animation:team-nod 1s ease-in-out infinite reverse}@keyframes team-idea-float{0%,to{translate:0 0}50%{translate:0 -2px}}.scroll-snake{display:none}@media (min-width: 1280px) and (prefers-reduced-motion: no-preference){.scroll-snake{display:block;position:fixed;inset:0;z-index:0;overflow:hidden;contain:strict;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-mask-image:linear-gradient(to bottom,#000 62%,transparent 100%);mask-image:linear-gradient(to bottom,#000 62%,transparent 100%)}.scroll-snake>span{position:absolute;top:0;left:0;width:var(--scroll-snake-tile);height:var(--scroll-snake-tile)}.hero{z-index:1}.hero-board,.hero:before{-webkit-mask-image:linear-gradient(to bottom,#000 62%,transparent 100%);mask-image:linear-gradient(to bottom,#000 62%,transparent 100%)}.hero:after{display:none}.section>.wrap,.footer-inner{position:relative;z-index:1}}html.modal-open .scroll-snake,body:has(dialog[open]) .scroll-snake{visibility:hidden!important}@media print{.scroll-snake{display:none}}.page-loader{--progress: 0;--runner: 48px;position:fixed;inset:0;z-index:9000;display:grid;place-content:center;justify-items:center;gap:18px;background:var(--bg);touch-action:none;transition:opacity .5s var(--ease),visibility .5s}.page-loader[data-leaving=true]{opacity:0;visibility:hidden;pointer-events:none}.page-loader-track{position:relative;width:min(260px,64vw);height:var(--runner)}.page-loader-track:before,.page-loader-fill{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px}.page-loader-track:before{background:var(--line-2)}.page-loader-fill{background:var(--accent);transform-origin:left;transform:scaleX(var(--progress))}.page-loader-runner{position:absolute;bottom:-2px;left:calc(var(--progress) * (100% - var(--runner)));width:var(--runner);height:var(--runner)}.page-loader-runner .nav-pixel-runner{width:100%;height:100%}.page-loader-word{font:600 22px/1 var(--ff-display);letter-spacing:-.02em;color:var(--text)}.page-loader-word span{color:var(--accent)}html[data-loading]{overflow:hidden;scrollbar-gutter:stable}html[data-loading] .hero-content>*{animation:none}@keyframes ai-pop{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.manager-fab{position:fixed;right:16px;bottom:72px;z-index:2900;display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.65rem .9rem;border:1px solid rgba(125,211,252,.35);border-radius:999px;color:#e0f2fe;background:#082f49e0;box-shadow:0 12px 30px #00000059;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;font:700 .85rem var(--ff-body)}.manager-fab:hover{background:#075985;transform:translateY(-1px)}.manager-backdrop{position:fixed;inset:0;z-index:6000;display:grid;place-items:center;padding:16px;background:#020617b8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.manager-panel{width:min(1020px,100%);max-height:min(840px,calc(100vh - 32px));overflow:auto;border:1px solid rgba(148,163,184,.24);border-radius:22px;background:linear-gradient(145deg,#0f172afa,#111827f5);box-shadow:0 32px 100px #0009;animation:ai-pop .2s ease-out}.manager-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:clamp(20px,3vw,30px) clamp(20px,4vw,38px) 12px}.manager-header h2{margin:0;color:#f8fafc;font-size:clamp(1.45rem,2vw,2rem);text-transform:none}.manager-eyebrow{margin:0 0 5px;color:#7dd3fc;font-size:.76rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.manager-close,.manager-item button{display:grid;place-items:center;border:0;cursor:pointer}.manager-close{width:36px;height:36px;border-radius:10px;background:#94a3b81f;color:#cbd5e1;font-size:1rem}.manager-close:hover{color:#fff;background:#94a3b838}.manager-intro{max-width:78ch;margin:0;padding:0 clamp(20px,4vw,38px) 18px;color:#a8b7ca;font-size:.91rem}.manager-intro code{color:#bae6fd;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.manager-tabs{display:flex;gap:5px;padding:0 clamp(20px,4vw,38px);border-bottom:1px solid rgba(148,163,184,.16)}.manager-tabs button{padding:.65rem .82rem;border:0;border-bottom:2px solid transparent;color:#94a3b8;background:transparent;cursor:pointer;font:700 .9rem var(--ff-body)}.manager-tabs button.is-active{border-bottom-color:#38bdf8;color:#f8fafc}.manager-tabs span{display:inline-grid;min-width:20px;place-items:center;margin-left:4px;padding:0 5px;border-radius:999px;color:#bae6fd;background:#0e749059;font-size:.72rem}.manager-toolbar{display:flex;flex-wrap:wrap;gap:9px;padding:18px clamp(20px,4vw,38px) 0}.manager-action,.manager-submit{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:39px;padding:.6rem .85rem;border:1px solid #0284c7;border-radius:9px;color:#fff;background:#0369a1;cursor:pointer;font:700 .82rem var(--ff-body)}.manager-action:hover,.manager-submit:hover{background:#075985}.manager-action.secondary{border-color:#94a3b847;color:#dbeafe;background:#334155b3}.manager-notice{margin:14px clamp(20px,4vw,38px) 0;padding:.6rem .75rem;border:1px solid rgba(125,211,252,.22);border-radius:9px;color:#bae6fd;background:#0e749024;font-size:.87rem}.manager-content{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(270px,.9fr);gap:24px;padding:22px clamp(20px,4vw,38px) 32px}.manager-form{display:grid;gap:12px;padding:18px;border:1px solid rgba(148,163,184,.16);border-radius:14px;background:#0f172a7a}.manager-form h3{margin:0 0 2px;color:#f1f5f9;font-size:1rem;text-transform:none}.manager-form label{display:grid;gap:5px;color:#cbd5e1;font-size:.82rem;font-weight:700}.manager-form small{color:#718096;font-weight:500}.manager-form input,.manager-form textarea,.manager-form select{width:100%;border:1px solid rgba(148,163,184,.22);border-radius:8px;outline:none;color:#e2e8f0;background:#0206179e;padding:.62rem .7rem;font:400 .92rem var(--ff-body);resize:vertical}.manager-form input:focus,.manager-form textarea:focus,.manager-form select:focus{border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf824}.manager-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.manager-submit{justify-self:start;margin-top:2px}.manager-form-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.manager-form-actions .manager-submit{margin:0}.manager-cancel{min-height:39px;padding:.6rem .85rem;border:1px solid rgba(148,163,184,.28);border-radius:9px;color:#cbd5e1;background:transparent;cursor:pointer;font:700 .82rem var(--ff-body)}.manager-cancel:hover{color:#fff;background:#94a3b81f}.manager-list{display:grid;align-content:start;gap:8px;max-height:520px;overflow:auto;padding-right:3px}.manager-item{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:66px;padding:12px;border:1px solid rgba(148,163,184,.14);border-radius:12px;background:#0f172a70}.manager-item strong,.manager-item span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manager-item strong{color:#e2e8f0;font-size:.91rem}.manager-item span{margin-top:3px;color:#8fa2b9;font-size:.8rem}.manager-item button{flex:0 0 33px;height:33px;border-radius:8px;color:#fca5a5;background:#7f1d1d38}.manager-item button:hover{color:#fff;background:#b91c1c}@media (max-width: 700px){.manager-fab{bottom:68px}.manager-panel{border-radius:16px}.manager-content{grid-template-columns:1fr}.manager-list{max-height:300px}}@media (max-width: 430px){.manager-fab span{display:none}.manager-fab{width:44px;justify-content:center;padding:0}.manager-fields{grid-template-columns:1fr}.manager-toolbar{display:grid;grid-template-columns:1fr}}.manager-file{padding:.48rem!important;color:#a8c1d6!important;cursor:pointer}.manager-image-preview{width:100%;max-height:185px;border:1px solid rgba(125,211,252,.24);border-radius:9px;object-fit:cover}.manager-item-actions{display:flex;flex:0 0 auto;gap:5px}.manager-item .manager-item-actions button{flex:0 0 33px;color:#bae6fd;background:#0e749038}.manager-item .manager-item-actions button:hover:not(:disabled){color:#fff;background:#0369a1}.manager-item .manager-item-actions button.delete{color:#fca5a5;background:#7f1d1d38}.manager-item .manager-item-actions button.delete:hover{color:#fff;background:#b91c1c}.manager-item .manager-item-actions button:disabled{cursor:not-allowed;opacity:.32}.manager-cv-card{grid-column:1 / -1}.manager-cv-card>p{margin:0;color:#a8c1d6}.manager-cv-preview{width:100%;min-height:420px;border:1px solid rgba(125,211,252,.16);border-radius:10px;background:#fff}.manager-cv-note{font-size:.86rem}.manage-login-page{display:grid;min-height:100vh;place-items:center;padding:24px;background:radial-gradient(circle at 20% 20%,rgba(14,116,144,.23),transparent 30%),#020617}.manage-login-card{display:grid;width:min(410px,100%);gap:14px;padding:clamp(26px,6vw,42px);border:1px solid rgba(125,211,252,.2);border-radius:20px;background:#0f172aeb;box-shadow:0 28px 80px #0000007a}.manage-login-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:12px;color:#bae6fd;background:#0e74904d}.manage-login-card h1{margin:-4px 0 0;color:#f8fafc;font-size:1.75rem;text-transform:none}.manage-login-card>p:not(.manager-eyebrow){margin:0 0 5px;color:#9fb3c8}.manage-login-card label{display:grid;gap:6px;color:#cbd5e1;font-size:.84rem;font-weight:700}.manage-login-card input{width:100%;padding:.7rem .75rem;border:1px solid rgba(148,163,184,.25);border-radius:9px;outline:none;color:#f1f5f9;background:#020617ad;font:400 1rem var(--ff-body)}.manage-login-card input:focus{border-color:#38bdf8;box-shadow:0 0 0 3px #38bdf821}.manage-login-card button{min-height:42px;border:1px solid #0284c7;border-radius:9px;color:#fff;background:#0369a1;cursor:pointer;font:700 .88rem var(--ff-body)}.manage-login-card button:hover{background:#075985}.manage-login-card>a{justify-self:start;color:#7dd3fc;font-size:.86rem}.manage-login-error{margin:0;padding:.6rem .7rem;border:1px solid rgba(248,113,113,.35);border-radius:8px;color:#fecaca;background:#7f1d1d40;font-size:.85rem}.manager-backdrop{background:#101012e8}.manager-panel{width:min(1200px,100%);background:#171719;border-color:#ffffff1c;border-radius:18px;color:#e7e8ee}.manager-standalone{display:block;overflow-y:auto;padding:32px;background:radial-gradient(ellipse at top right,#a6bbff08,transparent 45%),#101012}.manager-standalone .manager-panel{margin:0 auto;max-height:none;overflow:visible;box-shadow:0 24px 80px #0003}.manager-header{align-items:center;padding:28px 32px 20px}.manager-header-actions{display:flex;align-items:center;gap:10px}.manager-preview-return{position:fixed;z-index:3000;bottom:24px;left:20px;min-height:44px;padding:12px 18px;border:1px solid #c1d2ed;border-radius:9px;color:#182235;background:#c1d2ed;box-shadow:0 8px 30px #0005;cursor:pointer;font:600 .85rem var(--ff-body)}.manager-header h2{font-size:clamp(1.5rem,3vw,2.2rem);letter-spacing:-.04em}.manager-eyebrow{color:#a9bddf;font-size:.65rem;letter-spacing:.15em;font-weight:500}.manager-close{width:44px;height:44px;flex-shrink:0;background:#ffffff05;border:1px solid #ffffff19}.manager-intro{max-width:none;margin:0 32px 24px;padding:14px 16px;border:1px solid #c1afec20;border-radius:9px;background:#c1afec06;color:#a6a5b3;font-size:.82rem;line-height:1.7}.manager-intro strong{color:#c9bce6;margin-right:10px}.manager-tabs{gap:8px;padding:0 32px;border-color:#ffffff12;overflow-x:auto}.manager-tabs button{min-height:48px;white-space:nowrap;color:#9295a2;font-size:.85rem}.manager-tabs button.is-active{color:#ccdaf1;border-bottom-color:#afc4e9}.manager-tabs span{color:#acbbd5;background:#a8bfe912;font-size:.65rem}.manager-toolbar{padding:22px 32px 0;justify-content:flex-end}.manager-action,.manager-submit{min-height:44px;background:#c2d3f0;border-color:#c2d3f0;color:#182235;font-weight:600;font-size:.8rem}.manager-action:hover,.manager-submit:hover{background:#d1dff6}.manager-action.secondary{background:#ffffff04;border-color:#fff2;color:#bcc4d4}.manager-content{padding:24px 32px 32px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.manager-form{gap:18px;padding:24px;background:#1c1c1f;border-color:#ffffff13;border-radius:12px}.manager-form h3{padding-bottom:16px;border-bottom:1px solid #ffffff12;font-size:1.06rem}.manager-form label{min-width:0;gap:8px;font-weight:500;color:#c4c6d0;font-size:.8rem}.manager-form small{color:#8c8f9e;font-size:.72rem}.manager-form input,.manager-form textarea,.manager-form select{min-width:0;min-height:44px;background:#131315;border-color:#ffffff1c;color:#d9dce5;font-size:.9rem;line-height:1.5}.manager-form input:focus,.manager-form textarea:focus,.manager-form select:focus{border-color:#afc5ea;box-shadow:0 0 0 3px #b3caff10}.manager-form .manager-upload{padding:16px;border:1px dashed #a6bee540;border-radius:9px;background:#afc6ef04}.manager-file{max-width:100%;color:#aebbd2!important;font-size:.75rem!important}.manager-file::file-selector-button{border:0;border-radius:5px;padding:7px 9px;margin-right:10px;background:#2b303c;color:#c5d3eb;cursor:pointer}.manager-photo-preview{display:grid;justify-items:start;gap:10px}.manager-image-preview{display:block;width:auto;max-width:100%;max-height:240px;object-fit:contain;border-color:#ffffff20;background:#131315}.manager-image-preview.is-landscape{width:100%;max-height:none;aspect-ratio:16 / 9;object-fit:cover;object-position:center 70%}.manager-list{max-height:680px;padding-right:4px;gap:12px;scrollbar-width:thin;scrollbar-color:#44444b transparent}.manager-item{display:grid;grid-template-columns:auto minmax(0,1fr);padding:16px;gap:12px;border-color:#ffffff14;background:#1c1c1f;border-radius:10px}.manager-item-thumbnail{min-width:64px;width:64px;height:54px;border-radius:6px;object-fit:cover;background:#101012}.manager-item-copy{min-width:0}.manager-item-copy:first-child{grid-column:1 / -1}.manager-item strong{white-space:normal;color:#dedfe7;font-size:.88rem}.manager-item span{white-space:normal;overflow-wrap:anywhere;color:#9196a5;font-size:.74rem;line-height:1.6}.manager-item-actions{grid-column:1 / -1;justify-content:flex-end;border-top:1px solid #ffffff0c;padding-top:10px}.manager-item .manager-item-actions button{width:38px;height:38px;flex-basis:38px;background:#abc4ef0a;color:#b4c5e2}.manager-item .manager-item-actions button:hover:not(:disabled){background:#adc5ec20;color:#e6efff}.manager-item .manager-item-actions button.delete{margin-left:auto;background:#e8989808;color:#c68f95}.manager-item .manager-item-actions button.delete:hover{background:#e8989820}.manager-notice{margin-inline:32px;background:#a9c4ef09;border-color:#a9c4ef30;color:#b9cdec}.manager-form-actions{border-top:1px solid #ffffff12;padding-top:18px}.manager-cancel{color:#b8bdca;border-color:#ffffff20;min-height:44px}.manager-submit:disabled{opacity:.5;cursor:wait}.manager-cv-card>p{color:#a5adbf;overflow-wrap:anywhere}.manage-login-page{background:radial-gradient(ellipse at 50% 20%,#a8bffc0b,transparent 60%),#111113}.manage-login-card{background:#1a1a1d;border-color:#ffffff20;border-radius:16px}.manage-login-icon{background:#b4c8ef12;color:#becfec}.manage-login-card input{background:#121214;border-color:#ffffff25}.manage-login-card button{background:#bfd0ed;border-color:#bfd0ed;color:#182235}.manage-login-card button:hover{background:#d4e0f5}.manage-login-card>a{color:#b9c8e2}@media (max-width: 800px){.manager-standalone{padding:12px}.manager-header{padding:22px 18px}.manager-header{flex-wrap:wrap}.manager-intro{margin:0 18px 20px}.manager-tabs{padding-inline:18px;gap:0}.manager-tabs button{font-size:.78rem;padding-inline:10px}.manager-toolbar{padding:18px 18px 0;justify-content:flex-start}.manager-content{grid-template-columns:minmax(0,1fr);padding:18px}.manager-form{padding:18px}.manager-list{max-height:none}.manager-notice{margin-inline:18px}.manager-fields{grid-template-columns:minmax(0,1fr)}.manager-form input,.manager-form textarea,.manager-form select{font-size:16px}.manager-item .manager-item-actions button{width:44px;height:44px;flex-basis:44px}}.manager-ai-fields{padding:14px;border:1px solid #a6c5ff26;border-radius:8px}.manager-ai-fields summary{color:#b9cef0;cursor:pointer}.manager-ai-fields[open] summary{margin-bottom:14px}.manager-ai-fields label+label{margin-top:12px}@media screen and (min-width: 1280px) and (hover: hover) and (pointer: fine){html{--desktop-scale: 1.1;zoom:var(--desktop-scale)}:root{--pad-x: clamp(20px, calc(5vw / var(--desktop-scale)), 48px)}.section{padding-top:clamp(96px,calc(12vw / var(--desktop-scale)),152px)}.hero{min-height:max(calc(100svh / var(--desktop-scale)),640px)}.hero-name{font-size:clamp(60px,calc(10vw / var(--desktop-scale)),140px)}.hero-description{font-size:clamp(17px,calc(1.4vw / var(--desktop-scale)),19px)}.section-head{margin-bottom:clamp(40px,calc(5vw / var(--desktop-scale)),56px)}.section-head h2{font-size:clamp(36px,calc(4.6vw / var(--desktop-scale)),56px)}.about{min-height:calc(calc(100svh / var(--desktop-scale)) - var(--bar-h))}.about-grid{column-gap:clamp(32px,calc(5vw / var(--desktop-scale)),72px)}.about-lead{font-size:clamp(20px,calc(1.9vw / var(--desktop-scale)),25px)}.exp-item{gap:clamp(24px,calc(4vw / var(--desktop-scale)),56px)}.exp-role{font-size:clamp(22px,calc(2.2vw / var(--desktop-scale)),28px)}.contact-email{font-size:clamp(24px,calc(3vw / var(--desktop-scale)),40px)}.site-footer{margin-top:clamp(120px,calc(14vw / var(--desktop-scale)),180px)}.project-dialog{width:min(1120px,calc(calc(100vw / var(--desktop-scale)) - 48px));max-height:calc(calc(100dvh / var(--desktop-scale)) - 48px)}.project-dialog-header h2{font-size:clamp(28px,calc(3.4vw / var(--desktop-scale)),40px)}.cv-sheet{width:min(1080px,calc(calc(100vw / var(--desktop-scale)) - 48px));height:min(900px,calc(calc(100dvh / var(--desktop-scale)) - 48px));max-height:calc(calc(100dvh / var(--desktop-scale)) - 48px)}.ai-panel{padding:clamp(12px,calc(3vw / var(--desktop-scale)),24px)}.ai-card{width:min(410px,calc(calc(100vw / var(--desktop-scale)) - 24px));height:min(620px,calc(calc(100dvh / var(--desktop-scale)) - 48px))}.manager-panel{max-height:min(840px,calc(calc(100vh / var(--desktop-scale)) - 32px))}.manage-login-page{min-height:calc(100vh / var(--desktop-scale))}.manager-cv-preview{height:calc(70dvh / var(--desktop-scale))}@media (max-height: 946px){.about{padding-block:20px}.about .section-head{margin-bottom:18px;padding-bottom:16px}.about .section-scene{margin-bottom:-17px}.about .section-head h2{font-size:clamp(34px,calc(3.4vw / var(--desktop-scale)),46px)}.about-lead{margin-bottom:12px;font-size:clamp(19px,calc(1.6vw / var(--desktop-scale)),22px)}.about-copy>p:not(.about-lead){margin-bottom:8px;font-size:15px;line-height:1.6}.spec-list{margin:16px 0 0}.spec-list>div{padding:8px 0}.about-copy .text-link{display:none}}}
