@font-face{font-family: 'Inter';font-style: normal;font-weight: 400 700;font-display: swap;src: url('/fonts/inter-latin.woff2') format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: 'Inter';font-style: normal;font-weight: 400 700;font-display: swap;src: url('/fonts/inter-latin-ext.woff2') format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{color-scheme: light;--font: 'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;--font-mono: ui-monospace,SFMono-Regular,'SF Mono',Menlo,monospace;--radius-xs: 8px;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 22px;--radius-xl: 28px;--radius-pill: 999px;--sidebar-w: 300px;--topbar-h: 64px;--maxw: 1480px;--ease: cubic-bezier(.22,.61,.36,1);--bg: #f4f2ee;--bg-deep: #ece9e2;--surface: #ffffff;--surface-2: #faf8f4;--card: #ffffff;--card-2: #fbf9f5;--text: #14161b;--text-strong: #08090c;--muted: #5b6472;--muted-2: #646c7a;--line: #e6e2da;--line-strong: #d6d1c7;--accent: #8a5f0a;--accent-2: #b8860b;--accent-soft: rgba(184,134,11,.13);--accent-line: rgba(184,134,11,.32);--accent-contrast: #ffffff;--shadow-sm: 0 1px 2px rgba(18,22,30,.05);--shadow: 0 1px 2px rgba(18,22,30,.04),0 14px 34px -18px rgba(18,22,30,.22);--shadow-lg: 0 2px 4px rgba(18,22,30,.05),0 30px 60px -30px rgba(18,22,30,.3);--ring: 0 0 0 3px var(--accent-soft);--header-grad: linear-gradient(160deg,#fffdf8 0%,#f5efe3 100%);--banner-overlay: linear-gradient(100deg,rgba(255,255,255,1) 0%,rgba(255,255,255,1) 46%,rgba(255,255,255,0.583) 60%,rgba(255,255,255,.62) 80%,rgba(255,255,255,.12) 100%);--glass: rgba(255,255,255,.84);--scrim: rgba(20,22,27,.42);--img-filter: saturate(.92) contrast(1.02)}[data-theme="dark"]{color-scheme: dark;--bg: #0a0c11;--bg-deep: #070910;--surface: #10131a;--surface-2: #141821;--card: #151922;--card-2: #1a1f2a;--text: #eef1f7;--text-strong: #ffffff;--muted: #a2acbc;--muted-2: #7f8a9c;--line: #232936;--line-strong: #303848;--accent: #ffd166;--accent-2: #ffc94d;--accent-soft: rgba(255,209,102,.14);--accent-line: rgba(255,209,102,.34);--accent-contrast: #1a1405;--shadow-sm: 0 1px 2px rgba(0,0,0,.5);--shadow: 0 1px 2px rgba(0,0,0,.45),0 18px 40px -20px rgba(0,0,0,.85);--shadow-lg: 0 2px 6px rgba(0,0,0,.5),0 40px 80px -40px rgba(0,0,0,.9);--ring: 0 0 0 3px var(--accent-soft);--header-grad: linear-gradient(160deg,#1c2231 0%,#11151d 100%);--banner-overlay: linear-gradient(100deg,rgba(10,12,17,1) 0%,rgba(10,12,17,1) 42%,rgba(10,12,17,.93) 56%,rgba(10,12,17,.48) 76%,rgba(10,12,17,.06) 100%);--glass: rgba(16,19,26,.84);--scrim: rgba(4,6,10,.62);--img-filter: saturate(.85) contrast(1.05) brightness(.92)}*,*::before,*::after{box-sizing: border-box}html{scroll-behavior: smooth;-webkit-text-size-adjust: 100%}body{margin: 0;background: var(--bg);color: var(--text);font: 400 16px/1.7 var(--font);-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-rendering: optimizeLegibility;transition: background-color .3s var(--ease),color .3s var(--ease)}img{max-width: 100%}a{color: inherit}:focus-visible{outline: 2px solid var(--accent-2);outline-offset: 3px;border-radius: 4px}::selection{background: var(--accent-soft);color: var(--text-strong)}.skip-link{position: fixed;left: 20px;top: -80px;z-index: 300;padding: 10px 16px;border-radius: var(--radius-sm);background: var(--accent);color: var(--accent-contrast);font-size: 13px;font-weight: 600;text-decoration: none;box-shadow: var(--shadow);transition: top .2s var(--ease)}.skip-link:focus{top: 16px}.art-app{width: 100%;min-height: 100vh;min-height: 100dvh;padding: clamp(0px,1.1vw,18px)}.art-app-wrapper{position: relative;max-width: var(--maxw);height: calc(100vh - clamp(0px,2.2vw,36px));height: calc(100dvh - clamp(0px,2.2vw,36px));margin: 0 auto;background: var(--bg);border: 1px solid var(--line);border-radius: var(--radius-xl);box-shadow: var(--shadow-lg);overflow: hidden}.art-app-container{position: relative;display: flex;height: 100%}.art-info-bar{position: relative;z-index: 20;width: var(--sidebar-w);min-width: var(--sidebar-w);height: 100%;background: var(--surface);border-right: 1px solid var(--line)}.art-info-bar-frame{position: relative;display: flex;flex-direction: column;height: 100%;min-height: 0;overflow-y: auto;overscroll-behavior: contain;scrollbar-width: thin;scrollbar-color: var(--line-strong) transparent}.art-info-bar-frame::-webkit-scrollbar{width: 6px}.art-info-bar-frame::-webkit-scrollbar-track{background: transparent}.art-info-bar-frame::-webkit-scrollbar-thumb{background: var(--line-strong);border-radius: var(--radius-pill)}.art-header{position: sticky;top: 0;z-index: 3;flex: 0 0 auto;padding: 34px 28px 26px;text-align: center;background: var(--header-grad);border-bottom: 1px solid var(--line)}.art-header::after{content: '';position: absolute;inset: auto 0 0;height: 1px;background: linear-gradient(90deg,transparent,var(--accent-line),transparent)}.art-avatar-wrap{position: relative;width: 96px;height: 96px;margin: 0 auto 16px;border-radius: 50%;padding: 3px;background: linear-gradient(150deg,var(--accent-2),transparent 65%)}.art-avatar-wrap img{display: block;width: 100%;height: 100%;object-fit: cover;border-radius: 50%;border: 3px solid var(--surface);background: var(--surface-2)}.art-header h2{margin: 0;font-size: 17px;font-weight: 650;letter-spacing: -.01em;color: var(--text-strong)}.art-header p{margin: 3px 0 0;color: var(--muted);font-size: 12px;letter-spacing: .01em}.art-close{display: none;position: absolute;top: 12px;right: 12px;width: 34px;height: 34px;border: 1px solid var(--line);border-radius: 50%;background: var(--surface);color: var(--muted);font-size: 20px;line-height: 1;cursor: pointer;transition: color .2s,border-color .2s,background .2s}.art-close:hover{color: var(--text);border-color: var(--line-strong)}.art-theme-toggle{position: absolute;top: 12px;left: 12px;width: 34px;height: 34px;padding: 0;border: 1px solid var(--line);border-radius: 50%;background: var(--surface);color: var(--muted);cursor: pointer;transition: color .2s,border-color .2s,background .2s,transform .2s var(--ease)}.art-theme-toggle:hover{color: var(--accent);border-color: var(--accent-line);transform: rotate(-12deg)}.art-theme-icon{position: absolute;inset: 0;margin: auto;width: 16px;height: 16px;transition: opacity .25s var(--ease),transform .35s var(--ease)}.art-theme-sun{opacity: 0;transform: rotate(90deg) scale(.55)}.art-theme-moon{opacity: 1;transform: rotate(0) scale(1)}[data-theme="dark"] .art-theme-sun{opacity: 1;transform: rotate(0) scale(1)}[data-theme="dark"] .art-theme-moon{opacity: 0;transform: rotate(-90deg) scale(.55)}.art-theme-toggle--mobile{display: none}.art-language-switcher{display: flex;align-items: center;justify-content: center;padding: 14px 24px;border-bottom: 1px solid var(--line)}.art-lang-toggle{position: relative;display: inline-flex;align-items: stretch;padding: 3px;border: 1px solid var(--line);border-radius: var(--radius-pill);background: var(--surface-2);isolation: isolate}.art-lang-thumb{position: absolute;top: 3px;left: 3px;bottom: 3px;width: calc(50% - 3px);border-radius: var(--radius-pill);background: var(--accent);box-shadow: 0 2px 8px -2px var(--accent-line);transition: transform .3s var(--ease);z-index: 0;pointer-events: none}.art-lang-toggle[data-active="tr"] .art-lang-thumb{transform: translateX(100%)}.art-lang-opt{position: relative;z-index: 1;display: inline-flex;align-items: center;justify-content: center;gap: 6px;min-width: 58px;padding: 6px 14px;border: 0;border-radius: var(--radius-pill);background: none;color: var(--muted);font: 600 10px/1 var(--font);letter-spacing: .09em;text-transform: uppercase;text-decoration: none;cursor: pointer;transition: color .2s var(--ease)}.art-lang-opt:hover:not(.is-active){color: var(--text)}.art-lang-opt.is-active{color: var(--accent-contrast)}.art-lang-flag{display: inline-block;flex: 0 0 auto;width: 16px;height: 11px;border-radius: 2px;overflow: hidden;box-shadow: 0 0 0 1px rgba(0,0,0,.12)}svg.art-lang-flag{vertical-align: middle}.art-lang-label{letter-spacing: .1em}.art-lang-toggle.is-mobile{display: none;padding: 2px}.art-lang-toggle.is-mobile .art-lang-opt{min-width: 46px;padding: 5px 10px;font-size: 9px}.art-lang-toggle.is-mobile .art-lang-flag{width: 14px;height: 10px}.art-left-nav{flex: 0 0 auto;margin: 0;padding: 16px 20px;border-bottom: 1px solid var(--line)}.art-left-nav a{display: flex;align-items: center;gap: 10px;padding: 7px 10px;border-radius: var(--radius-xs);color: var(--muted);font-size: 11px;font-weight: 500;letter-spacing: .07em;text-transform: uppercase;text-decoration: none;transition: color .2s,background .2s}.art-left-nav a::before{content: '';width: 5px;height: 5px;border-radius: 50%;background: var(--line-strong);transition: background .2s,transform .2s var(--ease)}.art-left-nav a:hover{color: var(--text);background: var(--surface-2)}.art-left-nav a:hover::before{background: var(--muted-2)}.art-left-nav a.active{color: var(--accent);background: var(--accent-soft)}.art-left-nav a.active::before{background: var(--accent);transform: scale(1.35)}.art-scroll-frame{flex: 0 0 auto;min-height: 0;height: auto;padding: 22px 24px 32px;overflow: visible}.art-profile-data{font-size: 13px}.art-profile-data div{display: flex;justify-content: space-between;gap: 12px;margin-bottom: 8px}.art-profile-data span{color: var(--muted)}.art-profile-data strong{font-weight: 500;color: var(--text);text-align: right}.art-divider{height: 1px;margin: 22px 0;background: var(--line)}.art-side-title{margin: 0 0 14px;color: var(--text-strong);font-size: 11px;font-weight: 650;letter-spacing: .12em;text-transform: uppercase}.art-knowledge{margin: 0;padding: 0;list-style: none;color: var(--muted);font-size: 12px}.art-knowledge li{position: relative;margin: 6px 0;padding-left: 18px}.art-knowledge li::before{content: '';position: absolute;left: 2px;top: .62em;width: 6px;height: 6px;border-radius: 50%;background: var(--accent)}.art-download{display: flex;align-items: center;justify-content: space-between;gap: 12px;margin-top: 24px;padding-top: 16px;border-top: 1px solid var(--line);color: var(--text);font-size: 13px;font-weight: 500;text-decoration: none;transition: color .2s}.art-download span{color: var(--accent);font-size: 15px}.art-download:hover{color: var(--accent)}.art-social{position: sticky;bottom: 0;z-index: 3;flex: 0 0 auto;display: flex;align-items: center;gap: 8px;height: 56px;padding: 0 24px;border-top: 1px solid var(--line);background: var(--surface-2);font-size: 11px}.art-social a{display: inline-flex;align-items: center;justify-content: center;width: 28px;height: 28px;border: 1px solid var(--line);border-radius: 50%;color: var(--muted);font-size: 10px;font-weight: 600;text-decoration: none;transition: color .2s,border-color .2s,background .2s}.art-social a:hover{color: var(--accent);border-color: var(--accent-line);background: var(--accent-soft)}.art-social>span{margin-left: auto;color: var(--muted-2);font-size: 10px}.art-content{position: relative;flex: 1;height: 100%;padding: 0 clamp(20px,4vw,56px);overflow-x: hidden;overflow-y: auto;scroll-behavior: smooth;background: var(--bg);scrollbar-width: thin;scrollbar-color: var(--line-strong) transparent}.art-content::-webkit-scrollbar{width: 6px}.art-content::-webkit-scrollbar-track{background: transparent}.art-content::-webkit-scrollbar-thumb{background: var(--line-strong);border-radius: var(--radius-pill)}.art-top-bg{position: absolute;inset: 0 0 auto;height: 420px;pointer-events: none;background: radial-gradient(60% 100% at 15% 0%,var(--accent-soft) 0%,transparent 70%),radial-gradient(50% 90% at 90% 0%,var(--accent-soft) 0%,transparent 75%);opacity: .8}.art-content-frame{position: relative;max-width: 940px;margin: 0 auto;padding-bottom: 56px}.art-section{padding: 64px 0 0}.art-heading{margin-bottom: 28px}.art-heading>p{margin: 0 0 10px;color: var(--accent);font-size: 11px;font-weight: 650;letter-spacing: .16em;text-transform: uppercase}.art-heading h2{margin: 0;color: var(--text-strong);font-size: clamp(26px,3.2vw,34px);font-weight: 650;line-height: 1.18;letter-spacing: -.025em}.art-heading h2 span,.art-contact h2 span{color: var(--accent)}.art-banner{position: relative;height: clamp(330px,44vh,420px);margin: 28px 0 0;border: 1px solid var(--line);border-radius: var(--radius-lg);background: url('/docs/cover.webp') right / cover no-repeat;box-shadow: var(--shadow);overflow: hidden}.art-banner-overlay{position: absolute;inset: 0;background: var(--banner-overlay)}.art-banner-content{position: relative;z-index: 2;display: flex;flex-direction: column;justify-content: center;height: 100%;max-width: 620px;padding: 40px clamp(28px,5vw,56px)}.art-code{margin: 0 0 16px;color: var(--accent);font: 600 11px/1.4 var(--font-mono);letter-spacing: .1em;text-transform: uppercase}.art-banner h1{margin: 0 0 12px;color: var(--text-strong);font-size: clamp(34px,5.2vw,52px);font-weight: 700;line-height: 1.04;letter-spacing: -.04em}.art-banner-subtitle{margin: 0 0 16px;color: var(--text);font-size: 15px;font-weight: 500;line-height: 1.5}.art-banner-subtitle span{margin: 0 6px;color: var(--accent)}.art-banner-text{max-width: 460px;margin: 0 0 28px;color: var(--muted);font-size: 14px;line-height: 1.7}.art-btn{display: inline-flex;align-items: center;gap: 14px;align-self: flex-start;padding: 13px 22px;border-radius: var(--radius-pill);background: var(--accent);color: var(--accent-contrast);font-size: 11px;font-weight: 700;letter-spacing: .1em;text-transform: uppercase;text-decoration: none;box-shadow: 0 8px 20px -10px var(--accent-line);transition: transform .2s var(--ease),box-shadow .2s var(--ease),filter .2s}.art-btn span{font-size: 14px}.art-btn:hover{transform: translateY(-2px);filter: brightness(1.06);box-shadow: 0 14px 28px -12px var(--accent-line)}.art-banner-avatar{display: none}.art-counters{display: grid;grid-template-columns: repeat(4,minmax(0,1fr));gap: 14px;padding: 26px 0 0}.art-counters>div{display: flex;align-items: center;gap: 12px;padding: 16px 18px;border: 1px solid var(--line);border-radius: var(--radius-md);background: var(--surface);box-shadow: var(--shadow-sm);transition: border-color .2s,transform .2s var(--ease)}.art-counters>div:hover{border-color: var(--accent-line);transform: translateY(-2px)}.art-counters strong{color: var(--accent);font-size: 26px;font-weight: 700;line-height: 1;letter-spacing: -.03em}.art-counters strong span{font-size: 15px}.art-counters p{margin: 0;color: var(--muted);font-size: 12px;line-height: 1.35}.art-card{margin-bottom: 20px;padding: clamp(22px,3vw,32px);border: 1px solid var(--line);border-radius: var(--radius-lg);background: linear-gradient(165deg,var(--card) 0%,var(--card-2) 100%);box-shadow: var(--shadow-sm)}.art-card p{margin: 0 0 14px;color: var(--muted);font-size: 14px;line-height: 1.78}.art-card p:last-child{margin-bottom: 0}.art-card p b{color: var(--text);font-weight: 600}.art-lead{max-width: 720px;margin-bottom: 18px !important;color: var(--text) !important;font-size: clamp(17px,2vw,19px) !important;line-height: 1.6 !important;letter-spacing: -.01em}.art-about{max-width: 100%}.art-timeline{position: relative}.art-timeline::before{content: '';position: absolute;left: 132px;top: 0;bottom: 24px;width: 1px;background: linear-gradient(180deg,transparent,var(--line-strong) 6%,var(--line-strong) 92%,transparent)}.art-timeline article{display: grid;grid-template-columns: 112px 40px minmax(0,1fr);padding: 0 0 26px}.art-timeline time{padding-top: 4px;color: var(--muted-2);font-size: 12px;font-weight: 500;line-height: 1.45;text-align: right}.art-timeline-dot{position: relative;z-index: 1;width: 11px;height: 11px;margin: 6px auto 0;border: 2px solid var(--accent);border-radius: 50%;background: var(--bg);box-shadow: 0 0 0 4px var(--bg)}.art-timeline article>div:last-child{padding: 0 0 22px;border-bottom: 1px solid var(--line)}.art-timeline article:last-child>div:last-child{border-bottom: 0}.art-company{margin: 0 0 6px !important;color: var(--accent) !important;font-size: 13px !important;font-weight: 650;letter-spacing: .02em}.art-company small{margin-left: 8px;color: var(--muted-2);font-size: 11px;font-weight: 400;letter-spacing: 0}.art-timeline h3{margin: 0 0 10px;color: var(--text-strong);font-size: 19px;font-weight: 650;line-height: 1.3;letter-spacing: -.015em}.art-timeline p:not(.art-company):not(.art-role-skills){margin: 0;color: var(--muted);font-size: 13px;line-height: 1.7}.art-detail-list{margin: 0;padding: 0;list-style: none;color: var(--muted);font-size: 13px;line-height: 1.72}.art-detail-list li{position: relative;margin: 0 0 9px;padding-left: 18px}.art-detail-list li::before{content: '';position: absolute;left: 2px;top: .68em;width: 5px;height: 5px;border-radius: 50%;background: var(--accent-line)}.art-detail-list a{color: var(--accent);text-decoration: none;border-bottom: 1px solid var(--accent-line);transition: border-color .2s}.art-detail-list a:hover{border-bottom-color: var(--accent)}.art-role-skills{display: flex;align-items: flex-start;gap: 8px;margin: 14px 0 0;color: var(--muted-2);font-size: 12px;line-height: 1.5}.art-role-skills::before{content: '◆';color: var(--accent);font-size: 8px;line-height: 2.1}.art-role-skills b{color: var(--text);font-weight: 600}.art-company-group{position: relative}.art-company-heading{position: relative;z-index: 2;margin: 0 0 8px;padding: 0 0 12px;border-bottom: 1px solid var(--line);background: var(--bg);color: var(--text-strong);font-size: 13px;font-weight: 700;letter-spacing: .14em;text-transform: uppercase}.art-company-meta{margin: 0 0 22px;color: var(--muted-2);font-size: 12px}.art-company-group .art-timeline-dot{border-color: var(--accent)}.art-service-grid{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 18px}.art-service-grid .art-card{position: relative;display: flex;flex-direction: column;min-width: 0;margin: 0;overflow: hidden;transition: transform .25s var(--ease),border-color .25s,box-shadow .25s}.art-service-grid .art-card::before{content: '';position: absolute;inset: 0 0 auto;height: 2px;background: linear-gradient(90deg,var(--accent),transparent);opacity: 0;transition: opacity .25s}.art-service-grid .art-card:hover{transform: translateY(-3px);border-color: var(--accent-line);box-shadow: var(--shadow)}.art-service-grid .art-card:hover::before{opacity: 1}.art-icon{display: inline-flex;align-items: center;justify-content: center;width: 44px;height: 44px;margin-bottom: 18px;border: 1px solid var(--accent-line);border-radius: var(--radius-sm);background: var(--accent-soft);color: var(--accent);font-size: 20px;line-height: 1}.art-service-grid h3{margin: 0 0 10px;color: var(--text-strong);font-size: 17px;font-weight: 650;line-height: 1.35;letter-spacing: -.01em}.art-focus-tags{display: flex;flex-wrap: wrap;gap: 6px;margin-top: auto;padding-top: 18px}.art-focus-tags span{display: inline-block;padding: 4px 10px;border: 1px solid var(--line);border-radius: var(--radius-pill);background: var(--surface-2);color: var(--muted);font-size: 11px;letter-spacing: .01em;transition: color .2s,border-color .2s,background .2s}.art-focus-tags span:hover{color: var(--accent);border-color: var(--accent-line);background: var(--accent-soft)}.art-event-slider{position: relative;display: grid;grid-template-columns: 40px minmax(0,1fr) 40px;align-items: center;gap: 14px;padding: 18px;border: 1px solid var(--line);border-radius: var(--radius-lg);background: linear-gradient(165deg,var(--card) 0%,var(--card-2) 100%);box-shadow: var(--shadow-sm)}.art-event-viewport{min-width: 0;overflow: hidden;border-radius: var(--radius-md)}.art-event-track{position: relative}.art-event-slide{display: none;margin: 0}.art-event-slide.is-active{display: block;animation: art-event-fade .4s var(--ease)}.art-event-slide img{display: block;width: 100%;height: auto;aspect-ratio: 16 / 9;object-fit: contain;object-position: center;background: var(--surface-2);filter: var(--img-filter);cursor: zoom-in;transition: transform .5s var(--ease)}.art-event-slide img:hover{transform: scale(1.015)}.art-event-slide figcaption{display: flex;justify-content: space-between;gap: 16px;padding: 14px 4px 2px;font-size: 13px}.art-event-slide figcaption b{color: var(--text-strong);font-weight: 600}.art-event-slide figcaption span{color: var(--muted);text-align: right}.art-slider-button{display: inline-flex;align-items: center;justify-content: center;width: 36px;height: 36px;padding: 0;border: 1px solid var(--line);border-radius: 50%;background: var(--surface);color: var(--text);font-size: 20px;line-height: 1;cursor: pointer;transition: color .2s,background .2s,border-color .2s,transform .2s var(--ease)}.art-slider-button:hover,.art-slider-button:focus-visible{border-color: var(--accent);background: var(--accent);color: var(--accent-contrast);transform: scale(1.06)}.art-slider-dots{grid-column: 1 / -1;display: flex;justify-content: center;gap: 7px;margin-top: 2px}.art-slider-dot{width: 7px;height: 7px;padding: 0;border: 0;border-radius: 50%;background: var(--line-strong);cursor: pointer;transition: background .2s,transform .2s var(--ease)}.art-slider-dot:hover{background: var(--muted-2)}.art-slider-dot.is-active{background: var(--accent);transform: scale(1.35)}@keyframes art-event-fade{from{opacity: .35;transform: translateX(10px)}to{opacity: 1;transform: translateX(0)}}.art-two-col{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 18px}.art-two-col .art-card{margin: 0}.art-two-col h3{margin: 0 0 20px;color: var(--text-strong);font-size: 16px;font-weight: 650;letter-spacing: -.01em}.art-edu{margin: 0 0 20px;padding-left: 16px;border-left: 2px solid var(--accent-line)}.art-edu b{display: block;color: var(--text-strong);font-size: 14px;font-weight: 650}.art-edu span{display: block;margin-top: 2px;color: var(--accent);font-size: 12px}.art-edu p{margin-top: 8px;font-size: 12.5px;line-height: 1.7}.art-languages{margin-top: 22px;padding-top: 18px;border-top: 1px solid var(--line)}.art-languages b{display: block;margin-bottom: 8px;color: var(--text-strong);font-size: 12px;font-weight: 650;letter-spacing: .08em;text-transform: uppercase}.art-languages span{display: block;margin: 5px 0;color: var(--muted);font-size: 12.5px}.art-skill-groups{display: flex;flex-wrap: wrap;gap: 7px}.art-skill-groups span{display: block;padding: 5px 10px;border: 1px solid var(--line);border-radius: var(--radius-pill);background: var(--surface-2);color: var(--muted);font-size: 12px;line-height: 1.4;transition: color .2s,border-color .2s,background .2s}.art-skill-groups span:hover{color: var(--accent);border-color: var(--accent-line);background: var(--accent-soft)}.art-skill-groups.compact{display: grid;grid-template-columns: 1fr 1fr;gap: 6px}.art-skill-groups.compact span{padding: 6px 9px;border-color: transparent;background: var(--surface-2);color: var(--text);font-size: 11px;text-align: center;overflow-wrap: anywhere}.art-skill-groups.full{display: flex;align-items: flex-start}.art-skill-groups.full span{font-size: 12px}.art-links-card>p{margin-bottom: 20px;color: var(--muted)}.art-link-grid{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 12px}.art-link-grid a{display: flex;flex-direction: column;gap: 4px;padding: 16px;border: 1px solid var(--line);border-radius: var(--radius-md);background: var(--surface-2);color: var(--text);text-decoration: none;transition: border-color .2s,background .2s,transform .2s var(--ease)}.art-link-grid a:hover{border-color: var(--accent-line);background: var(--accent-soft);transform: translateY(-2px)}.art-link-grid b{font-size: 13px;font-weight: 650}.art-link-grid span{color: var(--accent);font-size: 12px;overflow-wrap: anywhere}.art-footer{display: flex;justify-content: space-between;gap: 16px;padding: 28px 0 0;border-top: 1px solid var(--line);color: var(--muted-2);font-size: 12px}.art-lightbox{display: none;position: fixed;inset: 0;z-index: 300;align-items: center;justify-content: center;padding: 36px;background: rgba(6,8,12,.94);backdrop-filter: blur(6px)}.art-lightbox.is-open{display: flex;flex-direction: column}.art-lightbox img{width: auto;height: auto;max-width: 94vw;max-height: 84vh;object-fit: contain;border-radius: var(--radius-md);box-shadow: 0 20px 60px rgba(0,0,0,.6)}.art-lightbox p{margin: 16px 0 0;color: #e8ecf3;font-size: 13px;text-align: center}.art-lightbox-close{position: absolute;top: 18px;right: 20px;width: 42px;height: 42px;border: 1px solid rgba(255,255,255,.28);border-radius: 50%;background: rgba(255,255,255,.08);color: #fff;font-size: 24px;line-height: 1;cursor: pointer;transition: background .2s,color .2s}.art-lightbox-close:hover{background: var(--accent);color: var(--accent-contrast)}.lightbox-open{overflow: hidden}.art-mobile-top-bar{display: none}.art-curtain{display: none}@media (max-width: 1180px){:root{--sidebar-w: 272px}.art-content{padding: 0 clamp(18px,3vw,40px)}}@media (max-width: 1000px){.art-counters{grid-template-columns: repeat(2,minmax(0,1fr))}.art-link-grid{grid-template-columns: repeat(2,minmax(0,1fr))}}@media (max-width: 920px){.art-app{padding: 0}.art-app-wrapper{height: 100vh;height: 100dvh;max-width: none;border: 0;border-radius: 0;box-shadow: none}.art-info-bar{position: absolute;left: calc(-1 * var(--sidebar-w) - 24px);top: 0;z-index: 60;width: var(--sidebar-w);min-width: var(--sidebar-w);border-right: 1px solid var(--line);border-radius: 0 var(--radius-lg) var(--radius-lg) 0;box-shadow: var(--shadow-lg);transition: left .38s var(--ease)}.art-info-bar.open{left: 0}.art-close{display: inline-flex;align-items: center;justify-content: center}.art-header{padding: 26px 24px 20px}.art-avatar-wrap{width: 76px;height: 76px;margin-bottom: 12px}.art-language-switcher{padding: 10px 24px}.art-left-nav{padding: 10px 14px}.art-left-nav a{padding: 6px 10px;font-size: 10.5px}.art-scroll-frame{padding: 18px 24px 76px}.art-social{height: 52px;padding: 0 20px}.art-content{height: calc(100% - var(--topbar-h));margin-top: var(--topbar-h);padding: 0 clamp(16px,4vw,28px)}.art-content-frame{max-width: 100%}.art-mobile-top-bar{position: fixed;top: 0;left: 0;right: 0;z-index: 50;display: flex;align-items: center;gap: 10px;height: var(--topbar-h);padding: 0 16px;border-bottom: 1px solid var(--line);background: var(--glass);backdrop-filter: blur(14px) saturate(1.4);-webkit-backdrop-filter: blur(14px) saturate(1.4);color: var(--text);font-size: 13px;font-weight: 600}.art-mobile-top-bar>span{margin-right: auto;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;letter-spacing: -.01em}.art-mobile-top-bar .art-lang-toggle.is-mobile{flex: 0 0 auto}.art-mobile-info{display: inline-flex;align-items: center;justify-content: center;flex: 0 0 auto;width: 34px;height: 34px;padding: 0;border: 1px solid var(--accent-line);border-radius: 50%;background: var(--accent-soft);color: var(--accent);font-size: 11px;font-weight: 700;letter-spacing: .02em;text-decoration: none;cursor: pointer}.art-mobile-menu{display: inline-flex;align-items: center;justify-content: center;flex: 0 0 auto;width: 34px;height: 34px;padding: 0;border: 1px solid var(--line);border-radius: 50%;background: var(--surface);color: var(--text);font-size: 15px;line-height: 1;cursor: pointer}.art-lang-toggle.is-mobile{display: inline-flex}.art-lang-toggle.is-mobile .art-lang-opt{min-width: 40px;padding: 5px 8px;gap: 4px}.art-lang-toggle.is-mobile .art-lang-label{display: none}.art-theme-toggle--mobile{position: relative;display: inline-flex;align-items: center;justify-content: center;flex: 0 0 auto;width: 34px;height: 34px;border-radius: 50%;top: 0;left: 5px}.art-theme-toggle--mobile:hover{transform: none}.art-curtain{position: fixed;inset: 0;z-index: 55;display: block;background: var(--scrim);opacity: 0;pointer-events: none;transition: opacity .3s var(--ease);backdrop-filter: blur(2px)}.art-curtain.open{opacity: 1;pointer-events: auto}.art-banner{margin-top: 20px}.art-section{padding-top: 48px}.art-top-bg{height: 300px}}@media (max-width: 760px){.art-service-grid{grid-template-columns: 1fr}.art-two-col{grid-template-columns: 1fr}.art-timeline::before{left: 74px}.art-timeline article{grid-template-columns: 58px 32px minmax(0,1fr)}.art-timeline time{font-size: 11px;text-align: left}.art-timeline h3{font-size: 17px}}@media (max-width: 650px){.art-banner{height: auto;min-height: 0;padding-bottom: 0}.art-banner-content{max-width: none;padding: 30px 22px 34px}.art-banner h1{font-size: clamp(30px,9vw,38px)}.art-banner-text{max-width: 100%}.art-banner-overlay{background: linear-gradient(180deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.93) 55%,rgba(255,255,255,.72) 100%)}[data-theme="dark"] .art-banner-overlay{background: linear-gradient(180deg,rgba(10,12,17,.97) 0%,rgba(10,12,17,.93) 55%,rgba(10,12,17,.72) 100%)}.art-banner-avatar{display: block;position: absolute;top: 16px;right: 16px;z-index: 3;width: 56px;height: 56px;object-fit: cover;border: 2px solid var(--surface);border-radius: 50%;box-shadow: var(--shadow);opacity: .96}.art-code{padding-right: 68px}.art-counters{gap: 10px}.art-counters>div{padding: 13px 14px;gap: 9px}.art-counters strong{font-size: 22px}.art-counters p{font-size: 11px}.art-event-slider{grid-template-columns: 32px minmax(0,1fr) 32px;gap: 8px;padding: 12px}.art-slider-button{width: 32px;height: 32px;font-size: 17px}.art-event-slide figcaption{display: block;font-size: 12px}.art-event-slide figcaption span{display: block;margin-top: 4px;text-align: left}.art-slider-dots{bottom: 20px}.art-link-grid{grid-template-columns: 1fr}.art-footer{display: block}.art-footer span{display: block;margin-top: 6px}.art-lightbox{padding: 18px}.art-lightbox img{max-width: 100vw;max-height: 76vh}.art-lightbox-close{top: 12px;right: 12px}}@media (max-width: 380px){.art-timeline::before{left: 62px}.art-timeline article{grid-template-columns: 50px 26px minmax(0,1fr)}.art-banner h1{font-size: 28px}.art-counters{grid-template-columns: 1fr}.art-mobile-top-bar>span{display: none}.art-mobile-top-bar .art-lang-toggle.is-mobile{margin-left: auto}}@media (prefers-reduced-motion: reduce){html{scroll-behavior: auto}*,*::before,*::after{animation-duration: .001ms !important;animation-iteration-count: 1 !important;transition-duration: .001ms !important}}@media print{.art-app{padding: 0}.art-app-wrapper{height: auto;border: 0;box-shadow: none}.art-info-bar,.art-mobile-top-bar,.art-curtain,.art-lightbox,.art-slider-button,.art-slider-dots,.art-theme-toggle{display: none !important}.art-content{height: auto;margin: 0;padding: 0;overflow: visible}.art-card,.art-event-slider{box-shadow: none;break-inside: avoid}.art-section{padding-top: 28px}}