:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--md-sys-color-primary:#e2b5ff;--md-sys-color-on-primary:#49136d;--md-sys-color-primary-container:#b07ad7;--md-sys-color-on-primary-container:#3c0061;--md-sys-color-secondary:#d8bde7;--md-sys-color-on-secondary:#3c284a;--md-sys-color-secondary-container:#564164;--md-sys-color-on-secondary-container:#caafd8;--md-sys-color-tertiary:#ffb1c7;--md-sys-color-on-tertiary:#610b32;--md-sys-color-tertiary-container:#da6e93;--md-sys-color-on-tertiary-container:#500026;--md-sys-color-error:#ffb4ab;--md-sys-color-surface:#161218;--md-sys-color-on-surface:#e9e0e8;--md-sys-color-on-surface-variant:#cfc3d1;--md-sys-color-surface-container-lowest:#100d12;--md-sys-color-surface-container-low:#1e1a20;--md-sys-color-surface-container:#221e24;--md-sys-color-surface-container-high:#2d282f;--md-sys-color-surface-container-highest:#38333a;--md-sys-color-outline:#988d9b;--md-sys-color-outline-variant:#4c4450;--md-ref-typeface:"Google Sans Flex", "Roboto Flex", Roboto, system-ui, sans-serif;--md-ref-typeface-mono:"Roboto Mono", ui-monospace, monospace;--md-sys-shape-small:8px;--md-sys-shape-medium:16px;--md-sys-shape-large:24px;--md-sys-shape-extra-large:32px;--md-sys-shape-extra-extra-large:48px;--md-sys-shape-full:999px;--md-sys-motion-spring-fast:linear(0, .037, .13, .257, .398, .54, .673, .789, .886, .963, 1.02, 1.059, 1.082, 1.093, 1.094, 1.089, 1.078, 1.066, 1.052, 1.039, 1.027, 1.016, 1.008, 1.001, .997, .993, .992, .991, .991, .992, .993, .994, .996, .997, .998, .999, 1, 1, 1, 1.001, 1);--md-sys-motion-spring-fast-duration:.31s;--md-sys-motion-spring-default:linear(0, .021, .074, .148, .234, .325, .415, .503, .584, .658, .724, .781, .83, .872, .906, .934, .957, .974, .988, .998, 1.005, 1.01, 1.013, 1.015, 1.015, 1.015, 1.014, 1.013, 1.012, 1.011, 1.009, 1.008, 1.007, 1.005, 1.004, 1.004, 1.003, 1.002, 1.002, 1.001, 1);--md-sys-motion-spring-default-duration:.45s;--md-sys-motion-effects:cubic-bezier(.34, .8, .34, 1)}*,:before,:after{box-sizing:border-box}body{background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);font-family:var(--md-ref-typeface);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.5rem}a{color:var(--md-sys-color-primary);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--md-sys-color-secondary);outline-offset:2px}.icon{vertical-align:-.25em;white-space:nowrap;font-feature-settings:"liga";font-variation-settings:"FILL" 1, "wght" 500, "GRAD" 0, "opsz" 24;-webkit-user-select:none;user-select:none;direction:ltr;font-family:Material Symbols Rounded;font-size:1.25em;font-style:normal;font-weight:400;line-height:1;display:inline-block}.page{max-width:1200px;margin:0 auto;padding:24px 24px 64px}.layout{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:16px;display:grid}.layout main,.layout aside{flex-direction:column;gap:16px;min-width:0;display:flex}@media (width>=960px){.layout{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}.layout aside{align-self:start;position:sticky;top:16px}}.card{background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-extra-large);padding:24px}.hero{border-radius:var(--md-sys-shape-extra-extra-large);background:radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--md-sys-color-primary-container) 22%, transparent), transparent 55%), var(--md-sys-color-surface-container-low);align-items:center;gap:32px;padding:40px;display:flex;position:relative;overflow:hidden}.hero-text{flex:1;min-width:0}.hero .brand{width:56px;height:56px;margin-bottom:16px;display:block}.display{font-variation-settings:"ROND" 100;letter-spacing:-.02em;color:var(--md-sys-color-on-surface);margin:0;font-size:clamp(2.75rem,7vw,4.5rem);font-weight:800;font-stretch:110%;line-height:1.05}.headline{font-variation-settings:"ROND" 60;color:var(--md-sys-color-primary);margin:12px 0 0;font-size:1.5rem;font-weight:500;line-height:2rem}.location{color:var(--md-sys-color-on-surface-variant);margin:8px 0 0}.location .icon{margin-right:4px}.button-group{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.btn{border-radius:var(--md-sys-shape-full);height:48px;transition:border-radius var(--md-sys-motion-spring-fast-duration) var(--md-sys-motion-spring-fast), background-color .15s var(--md-sys-motion-effects);align-items:center;gap:8px;padding:0 20px;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:active{border-radius:var(--md-sys-shape-medium)}.btn.filled{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.btn.filled:hover{background:color-mix(in srgb, var(--md-sys-color-primary) 88%, var(--md-sys-color-on-primary))}.btn.tonal{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.btn.tonal:hover{background:color-mix(in srgb, var(--md-sys-color-secondary-container) 88%, var(--md-sys-color-on-secondary-container))}.btn .fab{font-size:1.1em}.avatar{flex:none;width:172px;height:172px;position:relative}.avatar-mask{clip-path:var(--shape-cookie9);transition:clip-path var(--md-sys-motion-spring-default-duration) var(--md-sys-motion-spring-default);animation:30s linear infinite spin;position:absolute;inset:0}.avatar:hover .avatar-mask{clip-path:var(--shape-circle)}.avatar-mask img{object-fit:cover;object-position:50% 25%;width:100%;height:100%;animation:30s linear infinite reverse spin;display:block}@keyframes spin{to{transform:rotate(1turn)}}@media (width<=720px){.page{padding:12px 12px 48px}.hero{border-radius:var(--md-sys-shape-extra-large);flex-direction:column-reverse;align-items:flex-start;gap:16px;padding:24px}.avatar{width:124px;height:124px}.card{padding:20px}}.section-title{font-variation-settings:"ROND" 100;align-items:center;gap:12px;margin:0 0 16px;font-size:1.75rem;font-weight:700;line-height:2.25rem;display:flex}.section:not(.card)>.section-title{margin:16px 8px}.mark{background:var(--md-sys-color-tertiary);width:20px;height:20px;transition:transform var(--md-sys-motion-spring-default-duration) var(--md-sys-motion-spring-default);flex:none}.section:hover .mark{transform:rotate(.25turn)scale(1.15)}.shape-circle{clip-path:var(--shape-circle)}.shape-cookie9{clip-path:var(--shape-cookie9)}.shape-cookie12{clip-path:var(--shape-cookie12)}.shape-clover4{clip-path:var(--shape-clover4)}.shape-burst8{clip-path:var(--shape-burst8)}.shape-pentagon{clip-path:var(--shape-pentagon)}.prose{color:var(--md-sys-color-on-surface-variant)}.prose p{margin:0 0 8px}.prose p:last-child{margin-bottom:0}.prose ul{margin:8px 0 0;padding-left:1.5rem}.prose li{padding:2px 0 2px 4px;list-style-type:lower-armenian}.prose li::marker{color:var(--md-sys-color-tertiary);font-weight:700}.prose li p{margin:0}.prose strong{color:var(--md-sys-color-on-surface)}.prose code{font-family:var(--md-ref-typeface-mono);font-size:.9em}.prose.summary{color:var(--md-sys-color-on-surface);font-size:1.25rem;line-height:1.85rem}.prose.summary strong{color:var(--md-sys-color-primary)}.experience-list{flex-direction:column;gap:12px;display:flex}.experience{background:var(--md-sys-color-surface-container-low);border-radius:var(--md-sys-shape-large);transition:border-radius var(--md-sys-motion-spring-default-duration) var(--md-sys-motion-spring-default), background-color .2s var(--md-sys-motion-effects)}.experience:hover{background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-extra-large)}.experience>header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 16px;margin-bottom:12px;display:flex}.experience .title{margin:0;font-size:1.375rem;font-weight:700;line-height:1.75rem}.experience .company{color:var(--md-sys-color-primary);margin:2px 0 0;font-weight:500}.labels{flex-wrap:wrap;gap:6px;display:flex}.label{border-radius:var(--md-sys-shape-small);background:var(--md-sys-color-surface-container-highest);height:28px;color:var(--md-sys-color-on-surface-variant);white-space:nowrap;align-items:center;gap:4px;padding:0 10px;font-size:.8125rem;font-weight:500;display:inline-flex}.label.mono{font-family:var(--md-ref-typeface-mono);font-size:.75rem}.chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.chip{border-radius:var(--md-sys-shape-small);min-height:36px;transition:border-radius var(--md-sys-motion-spring-fast-duration) var(--md-sys-motion-spring-fast);align-items:center;gap:6px;padding:4px 14px;font-size:.875rem;font-weight:600;display:inline-flex}.chip:hover{border-radius:var(--md-sys-shape-medium)}.chip.outlined{border:1px solid var(--md-sys-color-outline-variant);color:var(--md-sys-color-on-surface-variant)}.chip.secondary{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border-radius:var(--md-sys-shape-full)}.chip.tertiary{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container);border-radius:var(--md-sys-shape-full)}.chip.primary{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border-radius:var(--md-sys-shape-full)}.chip.secondary:hover,.chip.tertiary:hover,.chip.primary:hover{border-radius:var(--md-sys-shape-small)}.chip .supporting{opacity:.8;font-weight:400}.media{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;margin-top:16px;display:grid}.thumb{aspect-ratio:4/3;border-radius:var(--md-sys-shape-medium);background:var(--md-sys-color-surface-container-highest);cursor:zoom-in;transition:border-radius var(--md-sys-motion-spring-default-duration) var(--md-sys-motion-spring-default), transform var(--md-sys-motion-spring-fast-duration) var(--md-sys-motion-spring-fast);border:0;margin:0;padding:0;display:block;position:relative;overflow:hidden}.thumb:hover{border-radius:var(--md-sys-shape-extra-large)}.thumb:active{transform:scale(.96)}.thumb img,.thumb video{object-fit:cover;width:100%;height:100%;display:block}.thumb .play{background:var(--md-sys-color-primary);width:56px;height:56px;color:var(--md-sys-color-on-primary);clip-path:var(--shape-cookie9);transition:clip-path var(--md-sys-motion-spring-default-duration) var(--md-sys-motion-spring-default);pointer-events:none;place-items:center;font-size:1.75rem;display:grid;position:absolute;top:50%;left:50%;translate:-50% -50%}.thumb:hover .play{clip-path:var(--shape-circle)}.thumb .play .icon{vertical-align:0}html:has(dialog.lightbox[open]){overflow:hidden}dialog.lightbox{background:var(--md-sys-color-surface-container-lowest);width:100%;max-width:none;height:100%;max-height:none;color:var(--md-sys-color-on-surface);border:0;margin:0;padding:0}dialog.lightbox[open]{animation:lightbox-in var(--md-sys-motion-spring-default-duration) var(--md-sys-motion-spring-default);flex-direction:column;justify-content:center;align-items:center;display:flex}@keyframes lightbox-in{0%{opacity:0;scale:.92}}dialog.lightbox::backdrop{background:0 0}dialog.lightbox>img,dialog.lightbox>video{object-fit:contain;border-radius:var(--md-sys-shape-large);max-width:calc(100vw - 10rem);max-height:calc(100dvh - 7rem)}dialog.lightbox .caption{color:var(--md-sys-color-on-surface-variant);margin:12px 0 0}.icon-btn{border-radius:var(--md-sys-shape-full);background:var(--md-sys-color-surface-container-high);width:56px;height:56px;color:var(--md-sys-color-on-surface);cursor:pointer;transition:border-radius var(--md-sys-motion-spring-fast-duration) var(--md-sys-motion-spring-fast), background-color .15s var(--md-sys-motion-effects);border:0;place-items:center;padding:0;font-size:1.5rem;display:grid;position:absolute}.icon-btn:hover{background:var(--md-sys-color-surface-container-highest)}.icon-btn:active{border-radius:var(--md-sys-shape-medium)}.icon-btn .icon{vertical-align:0}dialog.lightbox .close{top:16px;right:16px}dialog.lightbox .prev{top:50%;left:16px;translate:0 -50%}dialog.lightbox .next{top:50%;right:16px;translate:0 -50%}@media (width<=720px){dialog.lightbox>img,dialog.lightbox>video{border-radius:0;max-width:100vw}dialog.lightbox .prev,dialog.lightbox .next{top:auto;bottom:16px;translate:none}}.loading{place-items:center;min-height:100dvh;display:grid}.loading-indicator{background:var(--md-sys-color-primary);width:48px;height:48px;animation:morph 2.4s var(--md-sys-motion-spring-default) infinite, spin 1.6s linear infinite}@keyframes morph{0%,to{clip-path:var(--shape-cookie9)}20%{clip-path:var(--shape-pentagon)}40%{clip-path:var(--shape-clover4)}60%{clip-path:var(--shape-burst8)}80%{clip-path:var(--shape-circle)}}.error{flex-direction:column;align-items:flex-start;gap:16px;margin-top:10vh;display:flex}.error p{color:var(--md-sys-color-on-surface-variant);margin:0}.reveal{animation:rise var(--md-sys-motion-spring-default-duration) var(--md-sys-motion-spring-default) both;animation-delay:calc(var(--i,0) * 70ms)}@keyframes rise{0%{opacity:0;translate:0 24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important;animation-duration:0s!important;animation-iteration-count:1!important;animation-delay:0s!important}}.isPrint{display:none}@media print{html,body{-webkit-print-color-adjust:exact;print-color-adjust:exact}.isPrint{color:var(--md-sys-color-on-surface-variant);margin:8px 0 0;font-style:italic;display:block}.page{max-width:none;padding:0}.layout{grid-template-columns:minmax(0,1fr)}.layout aside{position:static}.media,dialog.lightbox{display:none}.card,.experience{break-inside:avoid}*,:before,:after{transition:none!important;animation:none!important}}
