@charset "UTF-8";@keyframes drift-a{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(6%,-4%,0) scale(1.08)}}@keyframes drift-b{0%,to{transform:translateZ(0) scale(1.04)}50%{transform:translate3d(-7%,5%,0) scale(1)}}@keyframes drift-c{0%,to{transform:translateZ(0)}33%{transform:translate3d(4%,6%,0)}66%{transform:translate3d(-5%,-3%,0)}}@keyframes sheen-sweep{0%{transform:translate(-120%)}to{transform:translate(220%)}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.82)}}@keyframes nudge-down{0%,to{transform:translateY(0);opacity:.55}50%{transform:translateY(5px);opacity:1}}.anim-drift-a{animation:drift-a 42s cubic-bezier(.65,0,.35,1) infinite}.anim-drift-b{animation:drift-b 55s cubic-bezier(.65,0,.35,1) infinite}.anim-drift-c{animation:drift-c 64s cubic-bezier(.65,0,.35,1) infinite}:root{--purple-900: #34117e;--purple-800: #491ab1;--purple-700: #6631db;--purple-600: #7b45f0;--purple-500: #b769f1;--purple-400: #a981ff;--purple-200: #d0bcfc;--color-bg: #000000;--color-bg-elevated: #07030f;--color-surface: #0b0616;--color-text: #ffffff;--color-text-strong: #ffffff;--color-text-body: #a7a1ba;--color-text-muted: #8e88a3;--color-text-faint: #7c7699;--color-decor: #5a5470;--color-accent-text: #a981ff;--color-accent-soft: #d0bcfc;--color-interactive: #6631db;--color-focus: #a981ff;--color-danger: #ff6b6b;--color-success: #d0bcfc;--color-border: rgba(255, 255, 255, .09);--color-border-strong: rgba(255, 255, 255, .16);--color-border-accent: rgba(169, 129, 255, .32);--glass-bg-1: rgba(255, 255, 255, .022);--glass-bg-2: rgba(255, 255, 255, .04);--glass-bg-3: rgba(12, 6, 24, .72);--glass-fallback-1: #070311;--glass-fallback-2: #0b0618;--glass-fallback-3: #0d0720;--glass-border: rgba(255, 255, 255, .09);--glass-shadow: 0 24px 60px -32px rgba(0, 0, 0, .9);--gradient-accent: linear-gradient(135deg, #d0bcfc 0%, #a981ff 45%, #b769f1 100%);--gradient-cta: linear-gradient(135deg, #6631db 0%, #7b45f0 55%, #b769f1 100%);--gradient-hairline: linear-gradient(90deg, transparent, rgba(169, 129, 255, .5), transparent);--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", "Menlo", monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-9: 96px;--space-10: 128px;--section-gap: clamp(56px, 7vw, 96px);--header-h: 68px;--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-fast: .16s;--dur-base: .24s;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{min-height:100dvh;overflow-x:clip;background-color:var(--color-bg);color:var(--color-text-body);font-family:var(--font-sans);font-size:1rem;font-weight:400;line-height:1.65;letter-spacing:-.005em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}img,picture,svg,video{display:block;max-width:100%}img{height:auto}button,input,textarea,select{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer}a{color:var(--color-accent-text);text-decoration:none;transition:color var(--dur-fast) var(--ease-out)}a:hover{color:var(--color-accent-soft)}ul,ol{padding:0;list-style:none}:target{scroll-margin-top:calc(var(--header-h) + 24px)}h1,h2,h3,h4{color:var(--color-text-strong);font-weight:600;line-height:1.1;letter-spacing:-.03em;text-wrap:balance}h2{font-size:clamp(1.75rem,3.6vw,2.6rem)}h3{font-size:clamp(1.125rem,1.9vw,1.375rem);letter-spacing:-.02em}p{text-wrap:pretty}::selection{background:#7b45f06b;color:#fff}.container{width:100%;max-width:1200px;margin-inline:auto;padding-inline:20px}@media(min-width:768px){.container{padding-inline:24px}}@media(min-width:1280px){.container{padding-inline:40px}}.container--narrow{width:100%;max-width:820px;margin-inline:auto;padding-inline:20px}@media(min-width:768px){.container--narrow{padding-inline:24px}}@media(min-width:1280px){.container--narrow{padding-inline:40px}}.skip-link{position:fixed;top:12px;left:12px;z-index:999;padding:10px 18px;border-radius:999px;background:var(--purple-700);color:#fff;font-weight:500;transform:translateY(-160%);transition:transform var(--dur-base) var(--ease-out)}.skip-link:focus-visible{transform:translateY(0);outline:2px solid var(--color-accent-soft);outline-offset:2px;color:#fff}.eyebrow{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-accent-text)}.eyebrow:before{content:"";width:18px;height:1px;background:currentColor;opacity:.7}.btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:8px}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:46px;padding:0 22px;border-radius:999px;font-size:.9375rem;font-weight:500;letter-spacing:-.01em;white-space:nowrap;cursor:pointer;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),background-color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}.btn svg{flex:none;width:17px;height:17px}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none!important}.btn--primary{background:var(--gradient-cta);color:#fff;box-shadow:0 1px #ffffff2e inset,0 12px 34px -14px #6631dbd9}.btn--primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 1px #ffffff3d inset,0 18px 42px -14px #7b45f0f2;color:#fff}.btn--primary:active:not(:disabled){transform:translateY(0) scale(.985)}.btn--ghost{background:#ffffff09;border:1px solid var(--color-border-strong);color:var(--color-text);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.btn--ghost:hover:not(:disabled){transform:translateY(-2px);border-color:var(--color-border-accent);background:#a981ff17;color:#fff}.btn--ghost:active:not(:disabled){transform:translateY(0) scale(.985)}.btn--text{min-height:40px;padding:0;color:var(--color-accent-text);font-weight:500}.btn--text svg{transition:transform var(--dur-base) var(--ease-out)}.btn--text:hover:not(:disabled){color:var(--color-accent-soft)}.btn--text:hover:not(:disabled) svg{transform:translate(4px)}.tag{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;display:inline-flex;align-items:center;padding:4px 10px;border:1px solid var(--color-border);border-radius:8px;background:#ffffff08;color:var(--color-text-body);text-transform:none;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.btn:hover,.btn--text:hover svg{transform:none!important}}.ambient{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:var(--color-bg)}.ambient__orb{position:absolute;border-radius:50%;filter:blur(80px);will-change:transform}@media(min-width:1024px){.ambient__orb{filter:blur(110px)}}.ambient__orb--one{top:-18vh;left:-14vw;width:62vw;height:62vw;max-width:900px;max-height:900px;background:radial-gradient(circle at 50% 50%,rgba(102,49,219,.5) 0%,rgba(73,26,177,.26) 42%,transparent 70%);opacity:.85}.ambient__orb--two{top:-6vh;right:-16vw;width:54vw;height:54vw;max-width:780px;max-height:780px;background:radial-gradient(circle at 50% 50%,rgba(123,69,240,.42) 0%,rgba(183,105,241,.18) 45%,transparent 72%);opacity:.8}.ambient__orb--three{bottom:-26vh;left:32%;width:70vw;height:52vw;max-width:1000px;background:radial-gradient(ellipse at 50% 50%,rgba(52,17,126,.5) 0%,rgba(52,17,126,.18) 48%,transparent 74%);opacity:.7}.ambient__grid{position:absolute;inset:0;background-image:linear-gradient(to right,rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.028) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 90% 60% at 50% 0%,#000 0%,transparent 72%);-webkit-mask-image:radial-gradient(ellipse 90% 60% at 50% 0%,#000 0%,transparent 72%)}.ambient__grain{position:absolute;inset:-50%;opacity:.032;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E")}.ambient__vignette{position:absolute;inset:0;background:radial-gradient(ellipse 110% 80% at 50% 40%,transparent 40%,rgba(0,0,0,.55) 100%),linear-gradient(to bottom,transparent 60%,rgba(0,0,0,.6) 100%)}@media(prefers-reduced-motion:reduce){.ambient__orb{animation:none!important;will-change:auto}}.header{position:fixed;inset:0 0 auto;z-index:100;background:transparent;border-bottom:1px solid transparent;transition:background-color .42s cubic-bezier(.16,1,.3,1),border-color .42s cubic-bezier(.16,1,.3,1),backdrop-filter .42s cubic-bezier(.16,1,.3,1)}.header.is-scrolled{background:#06030da8;border-bottom-color:var(--color-border);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%)}@supports not (backdrop-filter: blur(2px)){.header.is-scrolled{background:#06030df5}}.header.is-paper{background:#06030deb;border-bottom-color:var(--color-border-strong);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%)}@supports not (backdrop-filter: blur(2px)){.header.is-paper{background:#06030d}}.header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:var(--header-h)}.brand:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:8px}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--color-text);font-weight:600;letter-spacing:-.02em;flex:none}.brand:hover{color:var(--color-text)}.brand:hover .brand__mark{border-color:var(--color-border-accent);box-shadow:0 0 22px #7b45f073}.brand__mark{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--color-border-strong);border-radius:9px;background:var(--gradient-cta);color:#fff;font-size:.8125rem;font-weight:700;transition:border-color .24s cubic-bezier(.16,1,.3,1),box-shadow .24s cubic-bezier(.16,1,.3,1)}.brand__name{font-size:.9375rem;white-space:nowrap}.nav{display:none}@media(min-width:900px){.nav{display:block}}.nav__list{display:flex;align-items:center;gap:var(--space-1)}.nav__link:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:8px}.nav__link{position:relative;display:inline-flex;align-items:center;height:36px;padding-inline:13px;border-radius:999px;color:var(--color-text-body);font-size:.875rem;font-weight:450;transition:color .24s cubic-bezier(.16,1,.3,1),background-color .24s cubic-bezier(.16,1,.3,1)}.nav__link:hover{color:var(--color-text);background:#ffffff0d}.nav__link:after{content:"";position:absolute;bottom:2px;left:50%;width:4px;height:4px;border-radius:50%;background:var(--color-accent-text);transform:translate(-50%,4px) scale(.4);opacity:0;transition:transform .24s cubic-bezier(.16,1,.3,1),opacity .24s cubic-bezier(.16,1,.3,1)}.nav__link.is-active{color:var(--color-text)}.nav__link.is-active:after{opacity:1;transform:translate(-50%) scale(1);box-shadow:0 0 8px var(--color-accent-text)}.header__actions{display:flex;align-items:center;gap:var(--space-2);flex:none}.header__toggle{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.header__toggle:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:8px}.header__toggle{border:1px solid var(--color-border-strong);border-radius:12px;background:#ffffff0a;color:var(--color-text);transition:border-color .24s cubic-bezier(.16,1,.3,1),background-color .24s cubic-bezier(.16,1,.3,1)}.header__toggle:hover{border-color:var(--color-border-accent);background:#a981ff1a}@media(min-width:900px){.header__toggle{display:none}}.header__scrim{position:fixed;inset:var(--header-h) 0 0;z-index:-1;background:#0009;backdrop-filter:blur(2px)}@media(min-width:900px){.header__scrim{display:none}}.mobile-nav{position:relative;background:var(--glass-bg-3);border:1px solid var(--glass-border);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:var(--glass-shadow)}@supports not (backdrop-filter: blur(2px)){.mobile-nav{background:var(--glass-fallback-3)}}.mobile-nav{position:absolute;inset:100% var(--space-4) auto;display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-2);padding:var(--space-4);border-radius:18px}@media(min-width:900px){.mobile-nav{display:none}}.mobile-nav__list{display:flex;flex-direction:column}.mobile-nav__list .nav__link{justify-content:space-between;height:48px;padding-inline:var(--space-3);border-radius:12px;font-size:1rem}.mobile-nav__list .nav__link:after{left:auto;right:var(--space-3);bottom:auto;top:50%;transform:translateY(-50%) scale(.4)}.mobile-nav__list .nav__link.is-active:after{transform:translateY(-50%) scale(1)}.footer{position:relative;padding-block:var(--space-7) var(--space-6);border-top:1px solid var(--color-border)}.footer:before{content:"";position:absolute;inset:-1px 0 auto;height:1px;background:var(--gradient-hairline);opacity:.55}.footer__inner{display:grid;gap:var(--space-5)}@media(min-width:768px){.footer__inner{grid-template-columns:minmax(0,1.4fr) auto;align-items:start;gap:var(--space-6)}}.footer__name{color:var(--color-text-strong);font-size:1rem;font-weight:600;letter-spacing:-.02em}.footer__place:before{content:"·";margin-inline:var(--space-2);color:var(--color-decor)}.footer__tagline{max-width:40ch;margin-top:4px;color:var(--color-text-muted);font-size:.9375rem}.footer__socials{display:flex;gap:var(--space-1);margin-top:var(--space-3);margin-left:-10px}.footer__socials a{min-width:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center}.footer__socials a:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:8px}.footer__socials a{border-radius:8px;color:var(--color-text-muted);transition:color .24s cubic-bezier(.16,1,.3,1),background-color .24s cubic-bezier(.16,1,.3,1)}.footer__socials a:hover{color:var(--color-accent-soft);background:#a981ff14}.footer__nav ul{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5)}@media(min-width:768px){.footer__nav ul{justify-content:flex-end}}.footer__nav a:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px;border-radius:8px}.footer__nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--color-text-body);font-size:.9375rem}.footer__nav a:hover{color:var(--color-accent-soft)}.footer__meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-5);border-top:1px solid var(--color-border);color:var(--color-text-faint);font-size:.8125rem}@media(min-width:768px){.footer__meta{grid-column:1/-1}}.footer__built{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-faint)}.split{display:inline}.split__word{display:inline-block;white-space:nowrap}.split__char{display:inline-block;will-change:transform,opacity}.hero{position:relative;display:flex;align-items:center;min-height:100svh;padding-top:calc(var(--header-h) + var(--space-6));padding-bottom:var(--space-8);overflow-x:clip}.hero__inner{display:grid;gap:var(--space-7);grid-template-areas:"content" "portrait"}@media(min-width:1024px){.hero__inner{grid-template-areas:"content portrait";grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:var(--space-6)}}.hero__content{grid-area:content;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-5);min-width:0}.hero__status{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;display:inline-flex;align-items:center;gap:var(--space-2);padding:6px 14px 6px 11px;border:1px solid var(--color-border-accent);border-radius:999px;background:#a981ff12;color:var(--color-accent-soft)}.hero__status-dot{width:6px;height:6px;border-radius:50%;background:var(--purple-400);box-shadow:0 0 10px var(--purple-400);animation:pulse-dot 2.6s cubic-bezier(.65,0,.35,1) infinite}.hero__headline{display:flex;flex-direction:column;gap:var(--space-1);margin:0}.hero__name{display:block;font-size:clamp(3.75rem,13vw,8.5rem);font-weight:700;line-height:.88;letter-spacing:-.055em;color:var(--color-text-strong);text-shadow:0 0 70px rgba(123,69,240,.35);margin-bottom:var(--space-3)}.hero__name-dot{color:var(--color-accent-text);background:var(--gradient-accent);-webkit-background-clip:text;background-clip:text}@supports (-webkit-background-clip: text) or (background-clip: text){.hero__name-dot{-webkit-text-fill-color:transparent;color:transparent}}.hero__name-dot{padding-left:.02em}.hero__role{display:block;font-size:clamp(1.5rem,4.2vw,2.5rem);font-weight:600;line-height:1.08;letter-spacing:-.035em;color:var(--color-text-strong)}.hero__based{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:.9375rem}.hero__based svg{flex:none;color:var(--color-decor)}.hero__based-label{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-faint)}.hero__based-value{color:var(--color-text);font-weight:500}.hero__summary{max-width:48ch;font-size:1.0625rem;color:var(--color-text-body)}@media(min-width:768px){.hero__summary{font-size:1.125rem}}.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.hero__contact{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);padding-top:var(--space-3);border-top:1px solid var(--color-border);width:100%}@media(min-width:768px){.hero__contact{gap:var(--space-2) var(--space-5)}}.hero__contact-link:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px;border-radius:8px}.hero__contact-link{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;color:var(--color-text-muted);font-size:.875rem;transition:color .24s cubic-bezier(.16,1,.3,1)}.hero__contact-link svg{flex:none;color:var(--color-accent-text);opacity:.85;transition:opacity .24s cubic-bezier(.16,1,.3,1)}.hero__contact-link:hover{color:var(--color-text)}.hero__contact-link:hover svg{opacity:1}.hero__contact-link:hover .hero__contact-value{color:var(--color-accent-soft)}.hero__contact-label{color:inherit;font-weight:500}.hero__contact-value{font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.02em;text-transform:uppercase;text-transform:none;color:var(--color-text-faint);transition:color .24s cubic-bezier(.16,1,.3,1)}@media(max-width:767.98px){.hero__contact-value{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}}.hero__portrait{grid-area:portrait;position:relative;justify-self:center;width:100%;max-width:420px;aspect-ratio:4/5}@media(min-width:1024px){.hero__portrait{justify-self:end;max-width:520px}}.hero__portrait-glow{position:absolute;inset:-12% 0 -6% -8%;border-radius:50%;background:radial-gradient(ellipse at 62% 42%,rgba(123,69,240,.45) 0%,rgba(102,49,219,.22) 45%,transparent 72%);filter:blur(42px)}.hero__portrait-frame{position:relative;width:100%;height:100%;mask-image:linear-gradient(to bottom,transparent 0%,#000 15%,#000 76%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 15%,#000 76%,transparent 100%)}.hero__portrait-img{width:100%;height:100%;object-fit:cover;object-position:center bottom;mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.22) 15%,#000 54%,#000 90%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.22) 15%,#000 54%,#000 90%,transparent 100%);filter:contrast(1.04) saturate(.94) brightness(.98)}@media(max-width:1023.98px){.hero__portrait-img{mask-image:linear-gradient(to right,transparent 0%,#000 24%,#000 76%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 24%,#000 76%,transparent 100%)}}.hero__portrait-tint{position:absolute;inset:0;background:linear-gradient(115deg,rgba(52,17,126,.6) 0%,rgba(102,49,219,.2) 40%,transparent 64%);mix-blend-mode:soft-light;pointer-events:none}.hero__scroll{font-family:var(--font-mono);font-size:.625rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase}.hero__scroll:focus-visible{outline:2px solid var(--color-focus);outline-offset:6px;border-radius:8px}.hero__scroll{position:absolute;bottom:var(--space-5);left:50%;transform:translate(-50%);display:none;align-items:center;gap:6px;color:var(--color-text-faint);transition:color .24s cubic-bezier(.16,1,.3,1)}.hero__scroll svg{animation:nudge-down 2.4s cubic-bezier(.65,0,.35,1) infinite}.hero__scroll:hover{color:var(--color-accent-text)}@media(min-width:1024px)and (min-height:760px){.hero__scroll{display:inline-flex}}.section{position:relative;padding-block:var(--section-gap);scroll-margin-top:calc(var(--header-h) + 16px)}.section__head{display:flex;flex-direction:column;gap:var(--space-4);max-width:620px;margin-bottom:var(--space-7)}.section__head--center{max-width:640px;margin-inline:auto;align-items:center;text-align:center}.section__title{letter-spacing:-.035em}.section__lead{color:var(--color-text-body);font-size:1.0625rem;max-width:56ch}@media(min-width:768px){.section__lead{font-size:1.125rem}}.skills{display:flex;flex-wrap:wrap;gap:var(--space-3)}.skill{position:relative;background:var(--glass-bg-1);border:1px solid var(--glass-border);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:var(--glass-shadow)}@supports not (backdrop-filter: blur(2px)){.skill{background:var(--glass-fallback-1)}}.skill:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);pointer-events:none}.skill{display:flex;align-items:center;gap:var(--space-3);flex:1 1 auto;min-width:190px;max-width:280px;padding:var(--space-3) var(--space-4);border-radius:12px;overflow:hidden;transition:transform .24s cubic-bezier(.16,1,.3,1),border-color .24s cubic-bezier(.16,1,.3,1),background-color .24s cubic-bezier(.16,1,.3,1),box-shadow .24s cubic-bezier(.16,1,.3,1)}@media(max-width:479.98px){.skill{max-width:none}}@media(hover:hover){.skill:hover{transform:translateY(-3px);border-color:var(--color-border-accent);background:#a981ff0f;box-shadow:0 18px 40px -26px #000000e6,0 0 34px -8px #7b45f052}.skill:hover .skill__icon{color:var(--color-accent-soft);border-color:var(--color-border-accent);background:#7b45f033}}.skill__icon{display:grid;place-items:center;flex:none;width:38px;height:38px;border:1px solid var(--color-border);border-radius:8px;background:#ffffff08;color:var(--color-accent-text);transition:color .24s cubic-bezier(.16,1,.3,1),border-color .24s cubic-bezier(.16,1,.3,1),background-color .24s cubic-bezier(.16,1,.3,1)}.skill__body{display:flex;flex-direction:column;min-width:0}.skill__name{color:var(--color-text-strong);font-size:.9375rem;font-weight:550;letter-spacing:-.015em}.skill__note{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);text-transform:none}.expertise{display:flex;flex-direction:column;gap:var(--space-7)}.expertise__count{display:flex;flex-direction:column;gap:var(--space-2);text-align:center}.expertise__count-value{color:var(--color-text-strong);font-size:clamp(3.25rem,11vw,6rem);font-weight:700;line-height:.9;letter-spacing:-.05em;text-shadow:0 0 50px rgba(123,69,240,.35)}.expertise__count-unit{font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent-text)}.expertise__block{display:flex;flex-direction:column;gap:var(--space-5)}.expertise__heading{color:var(--color-text-strong);font-size:1.125rem;font-weight:600}@media(min-width:768px){.expertise__heading{font-size:1.25rem}}.expertise__groups{display:grid;gap:var(--space-4)}@media(min-width:768px){.expertise__groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.expertise__groups{grid-template-columns:repeat(4,minmax(0,1fr))}}.expertise__group{position:relative;background:var(--glass-bg-1);border:1px solid var(--glass-border);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:var(--glass-shadow)}@supports not (backdrop-filter: blur(2px)){.expertise__group{background:var(--glass-fallback-1)}}.expertise__group{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);border-radius:18px;transition:border-color .24s cubic-bezier(.16,1,.3,1),background-color .24s cubic-bezier(.16,1,.3,1)}@media(hover:hover){.expertise__group:hover{border-color:var(--color-border-strong);background:#ffffff09}}.expertise__group-label{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;gap:var(--space-2);color:var(--color-accent-soft)}.expertise__group-icon{display:grid;place-items:center;width:28px;height:28px;flex:none;border:1px solid var(--color-border);border-radius:8px;background:#a981ff12;color:var(--color-accent-text)}.expertise__group-items{display:flex;flex-wrap:wrap;gap:var(--space-2)}.expertise__work{display:grid;gap:var(--space-3)}@media(min-width:768px){.expertise__work{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3) var(--space-6)}}.expertise__work li{position:relative;padding-left:var(--space-4);color:var(--color-text-body);font-size:.9375rem}.expertise__work li:before{content:"";position:absolute;top:.65em;left:0;width:5px;height:5px;border-radius:50%;background:var(--color-border-accent)}.expertise__focus{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3);padding-top:var(--space-6);border-top:1px solid var(--color-border);color:var(--color-text-muted);text-align:center}.expertise__focus li+li:before{content:"·";margin-right:var(--space-3);color:var(--color-decor)}.expertise__cta{display:flex;justify-content:center}.beyond-preview{display:flex;flex-direction:column;align-items:center;gap:var(--space-5)}.beyond-preview__teasers{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3)}.beyond-preview__teasers li{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;display:flex;align-items:center;gap:var(--space-2);padding:7px 14px;border:1px solid var(--color-border);border-radius:999px;background:#ffffff06;color:var(--color-text-body)}.beyond-preview__icon{display:grid;place-items:center;flex:none;color:var(--color-accent-text)}.beyond-preview__action{display:flex;justify-content:center}.independent{position:relative;padding-block:clamp(48px,7vw,80px);scroll-margin-top:calc(var(--header-h) + 16px)}.independent__band{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);padding:var(--space-5) 0 var(--space-5) var(--space-5);border-left:1px solid var(--color-border-accent)}@media(min-width:768px){.independent__band{flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-6);padding-left:var(--space-6)}}.independent__text{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.independent__title{font-size:clamp(1.375rem,2.6vw,1.75rem);letter-spacing:-.03em}.independent__copy{max-width:54ch;color:var(--color-text-body);font-size:1rem}.independent__action{flex:none}.contact{display:grid;gap:var(--space-6)}@media(min-width:1024px){.contact{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:var(--space-8);align-items:start}}.contact__direct{display:flex;flex-direction:column;gap:var(--space-5)}.contact__channels{display:flex;flex-direction:column;gap:var(--space-3)}.channel:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px;border-radius:8px}.channel{display:flex;align-items:center;gap:var(--space-3);min-height:60px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:12px;background:#ffffff06;color:var(--color-text);transition:transform .24s cubic-bezier(.16,1,.3,1),border-color .24s cubic-bezier(.16,1,.3,1),background-color .24s cubic-bezier(.16,1,.3,1)}@media(hover:hover){.channel:hover{transform:translateY(-2px);border-color:var(--color-border-accent);background:#a981ff0f;color:var(--color-text)}.channel:hover .channel__icon{color:var(--color-accent-soft);border-color:var(--color-border-accent)}.channel:hover .channel__arrow{transform:translate(2px,-2px)}}.channel__icon{display:grid;place-items:center;flex:none;width:36px;height:36px;border:1px solid var(--color-border);border-radius:8px;color:var(--color-accent-text);transition:color .24s cubic-bezier(.16,1,.3,1),border-color .24s cubic-bezier(.16,1,.3,1)}.channel__body{display:flex;flex-direction:column;min-width:0}.channel__label{font-family:var(--font-mono);font-size:.625rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-muted)}.channel__value{font-size:.9375rem;font-weight:500;overflow-wrap:anywhere}.channel__arrow{flex:none;margin-left:auto;color:var(--color-text-faint);transition:transform .24s cubic-bezier(.16,1,.3,1)}.socials{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.socials__label{font-family:var(--font-mono);font-size:.625rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-muted)}.socials__list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.socials__link{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.socials__link:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:8px}.socials__link{border:1px solid var(--color-border);border-radius:12px;background:#ffffff06;color:var(--color-text-body);transition:transform .24s cubic-bezier(.16,1,.3,1),color .24s cubic-bezier(.16,1,.3,1),border-color .24s cubic-bezier(.16,1,.3,1),background-color .24s cubic-bezier(.16,1,.3,1)}@media(hover:hover){.socials__link:hover{transform:translateY(-2px);border-color:var(--color-border-accent);background:#a981ff14;color:var(--color-accent-soft)}}.contact__panel{position:relative;background:var(--glass-bg-3);border:1px solid var(--glass-border);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:var(--glass-shadow)}@supports not (backdrop-filter: blur(2px)){.contact__panel{background:var(--glass-fallback-3)}}.contact__panel:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);pointer-events:none}.contact__panel{padding:var(--space-5);border-radius:28px;overflow:hidden}@media(min-width:768px){.contact__panel{padding:var(--space-6)}}.form{display:flex;flex-direction:column;gap:var(--space-4)}.form__intro{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent-text)}.field{display:flex;flex-direction:column;gap:6px}.field__label{display:flex;align-items:baseline;gap:var(--space-2);color:var(--color-text);font-size:.875rem;font-weight:500}.field__optional{font-family:var(--font-mono);font-size:.625rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-faint);font-weight:400}.field--trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.field__input{width:100%;padding:12px 14px;border:1px solid var(--color-border-strong);border-radius:12px;background:#00000059;color:var(--color-text-strong);font-size:.9375rem;line-height:1.55;transition:border-color .24s cubic-bezier(.16,1,.3,1),box-shadow .24s cubic-bezier(.16,1,.3,1),background-color .24s cubic-bezier(.16,1,.3,1)}.field__input::placeholder{color:var(--color-text-faint)}.field__input:hover:not(:disabled){border-color:#ffffff3d}.field__input:focus{outline:none;border-color:var(--color-accent-text);box-shadow:0 0 0 3px #7b45f03d;background:#00000080}.field__input:disabled{opacity:.6;cursor:not-allowed}textarea.field__input{resize:vertical;min-height:128px}.field--invalid .field__input{border-color:var(--color-danger)}.field--invalid .field__input:focus{box-shadow:0 0 0 3px #ff6b6b33}.field__hint{color:var(--color-text-muted);font-size:.8125rem}.field__error{display:flex;align-items:center;gap:6px;color:var(--color-danger);font-size:.8125rem}.field__error svg{flex:none}.form__submit{align-self:flex-start;margin-top:var(--space-1)}.form__spinner{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form__status:empty{display:none}.form__status-msg{display:flex;align-items:flex-start;gap:8px;padding:12px 14px;border-radius:12px;font-size:.875rem}.form__status-msg svg{flex:none;margin-top:3px}.form__status-msg--ok{border:1px solid var(--color-border-accent);background:#a981ff17;color:var(--color-accent-soft)}.form__status-msg--error{border:1px solid rgba(255,107,107,.35);background:#ff6b6b14;color:var(--color-danger)}.form__status-msg--error a{color:inherit;text-decoration:underline;text-underline-offset:2px}@media(prefers-reduced-motion:reduce){.form__spinner{animation-duration:1.6s!important;animation-iteration-count:infinite!important}}.backlink{display:flex}.backlink__link{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}.backlink__link:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:8px}.backlink__link{display:inline-flex;align-items:center;gap:var(--space-2);padding:8px 14px 8px 12px;border:1px solid var(--color-border);border-radius:999px;background:#ffffff06;color:var(--color-text-muted);min-height:38px;transition:color .24s cubic-bezier(.16,1,.3,1),border-color .24s cubic-bezier(.16,1,.3,1),background-color .24s cubic-bezier(.16,1,.3,1)}.backlink__link svg{flex:none;transition:transform .24s cubic-bezier(.16,1,.3,1)}.backlink__link:hover{border-color:var(--color-border-strong);background:#ffffff0d;color:var(--color-text)}.backlink__link:hover svg{transform:translate(-3px)}.hobbies__back{padding-top:calc(var(--header-h) + var(--space-6))}.hobbies__block{display:flex;flex-direction:column;gap:var(--space-5);margin-top:var(--space-8);scroll-margin-top:96px}.hobbies__heading{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-muted)}.hobby-lead{position:relative;background:var(--glass-bg-2);border:1px solid var(--glass-border);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:var(--glass-shadow)}@supports not (backdrop-filter: blur(2px)){.hobby-lead{background:var(--glass-fallback-2)}}.hobby-lead:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);pointer-events:none}.hobby-lead{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);border-radius:28px}@media(min-width:768px){.hobby-lead{padding:var(--space-7)}}.hobby-lead__label{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;gap:var(--space-2);color:var(--color-accent-text)}.hobby-lead__title{color:var(--color-text-strong);font-size:clamp(1.25rem,2.6vw,1.625rem);font-weight:600;letter-spacing:-.02em}.hobby-lead__body{max-width:60ch;color:var(--color-text-body);font-size:.9375rem}@media(min-width:768px){.hobby-lead__body{font-size:1rem}}.hobby-flow{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);margin-top:var(--space-1)}.hobby-flow li{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;gap:var(--space-3);padding:5px 12px;border:1px solid var(--color-border-accent);border-radius:999px;background:#a981ff12;color:var(--color-accent-soft)}.hobby-flow li+li:before{content:"→";margin-left:calc(var(--space-3) * -1);color:var(--color-decor)}.hobby-accordion{display:flex;flex-direction:column;gap:var(--space-3)}.hobby-row{position:relative;background:var(--glass-bg-1);border:1px solid var(--glass-border);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:var(--glass-shadow)}@supports not (backdrop-filter: blur(2px)){.hobby-row{background:var(--glass-fallback-1)}}.hobby-row{border-radius:18px;scroll-margin-top:88px;transition:border-color .24s cubic-bezier(.16,1,.3,1),background-color .24s cubic-bezier(.16,1,.3,1)}@media(hover:hover){.hobby-row:hover{border-color:var(--color-border-strong);background:#ffffff09}}.hobby-row.is-open{border-color:var(--color-border-accent);background:#ffffff09}.hobby-row__toggle:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:8px}.hobby-row__toggle{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);width:100%;padding:var(--space-4) var(--space-5);border-radius:inherit;text-align:left}@media(min-width:768px){.hobby-row__toggle{padding:var(--space-5)}}.hobby-row__text{display:flex;flex-direction:column;gap:4px;min-width:0}.hobby-row__category{font-family:var(--font-mono);font-size:.625rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent-text)}.hobby-row__name{color:var(--color-text-strong);font-size:1.0625rem;font-weight:600;letter-spacing:-.01em}.hobby-row__summary{color:var(--color-text-body);font-size:.9375rem;font-weight:400}.hobby-row__meta{display:flex;align-items:center;gap:var(--space-3);flex:none}.hobby-row__status{font-family:var(--font-mono);font-size:.625rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;flex:none;padding:3px 9px;border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-muted)}.hobby-row__chevron{flex:none;color:var(--color-text-muted);transition:transform .24s cubic-bezier(.16,1,.3,1)}[aria-expanded=true] .hobby-row__chevron{color:var(--color-accent-soft);transform:rotate(180deg)}.hobby-row__body{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-2) var(--space-5) var(--space-5)}@media(min-width:768px){.hobby-row__body{padding:var(--space-2) var(--space-5) var(--space-6)}}.hobbies__note{max-width:60ch;color:var(--color-text-muted);font-size:.9375rem}.hobby-ideas{display:grid;gap:var(--space-3)}@media(min-width:768px){.hobby-ideas{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}}.hobby-idea{display:flex;flex-direction:column;gap:4px;padding:var(--space-4);border:1px dashed var(--color-border);border-radius:12px}.hobby-idea__name{color:var(--color-text-strong);font-size:.9375rem;font-weight:600}.hobby-idea__note{color:var(--color-text-muted);font-size:.875rem}.hobby-detail__intro{max-width:68ch;color:var(--color-text);font-size:1rem}.hobby-detail__image{width:100%;border:1px solid var(--color-border);border-radius:12px}.hobby-detail__blocks{display:grid;gap:var(--space-5)}@media(min-width:1024px){.hobby-detail__blocks{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5) var(--space-6)}}.hobby-detail__block{display:flex;flex-direction:column;gap:var(--space-2)}.hobby-detail__block p{max-width:62ch;color:var(--color-text-body);font-size:.9375rem}.hobby-detail__block-label{font-family:var(--font-mono);font-size:.625rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent-soft)}.hobby-detail__tech{display:flex;flex-wrap:wrap;gap:var(--space-2)}.hobby-detail__footer{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.hobby-detail__link:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:8px}.hobby-detail__link{display:inline-flex;align-items:center;gap:var(--space-2);font-size:.875rem;font-weight:500}.hobby-panels{display:grid;gap:var(--space-4)}@media(min-width:1024px){.hobby-panels{grid-template-columns:repeat(2,minmax(0,1fr))}}.hobby-panel{position:relative;background:var(--glass-bg-2);border:1px solid var(--glass-border);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:var(--glass-shadow)}@supports not (backdrop-filter: blur(2px)){.hobby-panel{background:var(--glass-fallback-2)}}.hobby-panel{position:relative;overflow:hidden;border-radius:28px;min-height:320px;transition:border-color .42s cubic-bezier(.16,1,.3,1)}@media(hover:hover){.hobby-panel:hover{border-color:var(--color-border-accent)}.hobby-panel:hover .hobby-panel__backdrop{opacity:1;transform:scale(1.03)}}.hobby-panel__content{position:relative;display:flex;flex-direction:column;gap:var(--space-4);height:100%;padding:var(--space-5)}@media(min-width:768px){.hobby-panel__content{padding:var(--space-6)}}.hobby-panel__backdrop{position:absolute;inset:0;opacity:.75;transform-origin:75% 85%;transition:opacity .42s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}.hobby-panel__backdrop:before{content:"";position:absolute;inset:-15%;background:radial-gradient(45% 45% at 68% 76%,rgba(123,69,240,.5),transparent 70%);animation:hobby-bloom 34s cubic-bezier(.65,0,.35,1) infinite}.hobby-panel__backdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,#04020af5,#04020adb 42%,#04020a80)}@keyframes hobby-bloom{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(-5%,4%,0) scale(1.14)}}.hobby-panel__image{width:100%;height:100%;object-fit:cover;object-position:center right}.hobby-panel__art{position:absolute;inset:0}.hobby-panel__art--chess{--square: 34px;background-image:linear-gradient(45deg,rgba(208,188,252,.16) 25%,transparent 25% 75%,rgba(208,188,252,.16) 75%),linear-gradient(45deg,rgba(208,188,252,.16) 25%,transparent 25% 75%,rgba(208,188,252,.16) 75%);background-size:var(--square) var(--square),var(--square) var(--square);background-position:0 0,calc(var(--square) / 2) calc(var(--square) / 2);transform:perspective(520px) rotateX(58deg) rotate(-38deg) scale(1.5) translateY(12%);mask-image:radial-gradient(75% 70% at 74% 76%,#000 0%,transparent 72%);-webkit-mask-image:radial-gradient(75% 70% at 74% 76%,#000 0%,transparent 72%)}.hobby-panel__art--road svg{position:absolute;inset:0;width:100%;height:100%;mask-image:linear-gradient(to top,#000 12%,transparent 88%);-webkit-mask-image:linear-gradient(to top,#000 12%,transparent 88%)}.hobby-panel__road-surface{fill:none;stroke:#d0bcfc24;stroke-width:44;stroke-linecap:round}.hobby-panel__road-line{fill:none;stroke:#d0bcfc99;stroke-width:3;stroke-dasharray:14 20;animation:hobby-road-travel 3.2s linear infinite}@keyframes hobby-road-travel{to{stroke-dashoffset:-68}}.hobby-panel__label{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;gap:var(--space-2);color:var(--color-accent-text)}.hobby-panel__title{color:var(--color-text-strong);font-size:clamp(1.25rem,2.6vw,1.625rem);font-weight:600;letter-spacing:-.02em}.hobby-panel__body{max-width:52ch;color:var(--color-text-body);font-size:.9375rem}.hobby-panel__list{display:flex;flex-direction:column;gap:var(--space-3);margin-top:auto}.hobby-panel__list li{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-2) var(--space-3)}.hobby-panel__list-icon{display:grid;place-items:center;align-self:center;width:26px;height:26px;flex:none;border:1px solid var(--color-border);border-radius:8px;background:#a981ff12;color:var(--color-accent-text)}.hobby-panel__list-name{color:var(--color-text-strong);font-size:.9375rem;font-weight:500}.hobby-panel__list-note{color:var(--color-text-muted);font-size:.875rem}.hobby-panel__list-note:before{content:"—";margin-right:var(--space-2);color:var(--color-decor)}.hobby-panel__aside{padding-top:var(--space-4);border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:.9375rem;font-style:italic}.resume{position:relative;background:#f8f8f8;color:#333;min-height:100dvh;padding-top:var(--header-h)}@media(min-width:1024px){.resume{display:flex;align-items:flex-start}}.resume ::selection{background:#2563eb38;color:#1f2937}.resume-nav{position:sticky;top:var(--header-h);z-index:2;display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:#1f2937;color:#fff;box-shadow:0 10px 24px -18px #000c;overflow-x:auto;scrollbar-width:none}.resume-nav::-webkit-scrollbar{display:none}@media(min-width:1024px){.resume-nav{flex:none;align-self:flex-start;width:16rem;height:calc(100dvh - var(--header-h));flex-direction:column;align-items:flex-start;gap:var(--space-6);padding:var(--space-6);overflow-x:visible;overflow-y:auto;border-top-right-radius:18px}}.resume-nav__identity{flex:none}@media(min-width:1024px){.resume-nav__identity{padding-bottom:var(--space-4);border-bottom:1px solid rgba(255,255,255,.12);width:100%}}.resume-nav__name{font-size:1.0625rem;font-weight:700;line-height:1.2}@media(min-width:1024px){.resume-nav__name{font-size:1.5rem}}.resume-nav__role{color:#9ca3af;font-size:.75rem}@media(min-width:1024px){.resume-nav__role{font-size:.875rem}}.resume-nav__list{display:flex;align-items:center;gap:var(--space-4)}@media(min-width:1024px){.resume-nav__list{flex-direction:column;align-items:flex-start;gap:var(--space-3)}}.resume-nav__link:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:8px}.resume-nav__link{display:inline-block;padding:6px 2px;color:#e5e7eb;font-size:.875rem;white-space:nowrap;transition:color .24s cubic-bezier(.16,1,.3,1)}.resume-nav__link:hover{color:#93c5fd}.resume-nav__actions{display:flex;align-items:center;gap:var(--space-3);margin-left:auto}@media(min-width:1024px){.resume-nav__actions{flex-direction:column;align-items:flex-start;gap:var(--space-3);margin:auto 0 0;width:100%}}.resume-nav__download:focus-visible,.resume-nav__back:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:8px}.resume-nav__download,.resume-nav__back{display:inline-flex;align-items:center;gap:var(--space-2);white-space:nowrap;font-size:.8125rem;transition:background-color .24s cubic-bezier(.16,1,.3,1),color .24s cubic-bezier(.16,1,.3,1)}.resume-nav__download{padding:8px 14px;border-radius:8px;background:#2563eb;color:#fff;font-weight:500}.resume-nav__download:hover{background:#1d4ed8}.resume-nav__back{color:#9ca3af}.resume-nav__back:hover{color:#fff}.resume__main{padding:var(--space-5) var(--space-4) var(--space-8)}@media(min-width:768px){.resume__main{padding:var(--space-7) var(--space-6) var(--space-8)}}@media(min-width:1024px){.resume__main{flex:1;min-width:0;padding-inline:var(--space-7)}}.resume__paper{max-width:56rem;margin-inline:auto;padding:var(--space-5);border-radius:12px;background:#fff;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}@media(min-width:768px){.resume__paper{padding:var(--space-7)}}.resume-head{display:flex;flex-direction:column-reverse;align-items:center;gap:var(--space-5);padding-bottom:var(--space-5);margin-bottom:var(--space-6);border-bottom:1px solid #e5e7eb;text-align:center}@media(min-width:768px){.resume-head{flex-direction:row;align-items:center;gap:var(--space-6);text-align:left}}.resume-head__identity{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);min-width:0}@media(min-width:768px){.resume-head__identity{align-items:flex-start;flex:1}}.resume-head__name{color:#1f2937;font-size:clamp(1.875rem,5vw,2.25rem);font-weight:800;letter-spacing:-.02em;line-height:1.1}.resume-head__title{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-3);color:#2563eb;font-size:1.125rem;font-weight:600}@media(min-width:768px){.resume-head__title{justify-content:flex-start}}.resume-head__years{padding:2px 10px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:.75rem;font-weight:600}.resume-head__channels{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:var(--space-2);color:#4b5563;font-size:.875rem}@media(min-width:768px){.resume-head__channels{display:grid;grid-template-columns:repeat(2,minmax(0,auto));justify-content:start;align-items:center;column-gap:var(--space-5);row-gap:8px}}.resume-head__channels li{display:flex;align-items:center}.resume-head__channels a:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:8px}.resume-head__channels a{display:inline-flex;align-items:center;gap:var(--space-2);color:#4b5563;transition:color .24s cubic-bezier(.16,1,.3,1)}.resume-head__channels a:hover{color:#2563eb;text-decoration:underline}.resume-head__channels svg{flex:none;color:#6b7280}.resume-head__place{display:flex;align-items:center;gap:var(--space-2);color:#6b7280}.resume-head__download:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:8px}.resume-head__download{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;margin-top:var(--space-3);padding:10px 18px;border-radius:8px;background:#2563eb;color:#fff;font-size:.875rem;font-weight:600;transition:background-color .24s cubic-bezier(.16,1,.3,1)}.resume-head__download:hover{background:#1d4ed8}.resume-head__photo{width:168px;height:168px;flex:none;margin-right:var(--space-2);border:2px solid #e5e7eb;border-radius:50%;background:#eef0f3;object-fit:cover;object-position:center bottom}@media(min-width:768px){.resume-head__photo{width:216px;height:216px}}.resume-block{padding-bottom:var(--space-5);margin-bottom:var(--space-6);border-bottom:1px solid #e5e7eb;scroll-margin-top:calc(var(--header-h) + 72px)}@media(min-width:1024px){.resume-block{scroll-margin-top:calc(var(--header-h) + var(--space-5))}}.resume-block--last{padding-bottom:0;margin-bottom:0;border-bottom:0}.resume-block__title{margin-bottom:var(--space-4);color:#374151;font-size:clamp(1.375rem,4vw,1.75rem);font-weight:700;letter-spacing:.01em;text-transform:uppercase}.resume__summary{color:#374151;font-size:1rem;line-height:1.7}.resume__summary strong{color:#2563eb;font-weight:600}.resume-list{display:flex;flex-direction:column;gap:var(--space-2);padding-left:1.25rem;list-style:disc;color:#374151;font-size:.9375rem;line-height:1.6}.resume-list li{list-style:disc}.resume-list strong{color:#2563eb;font-weight:600}.resume-timeline{--step-year: 2.25rem;--step-gap: .875rem;position:relative;padding-top:1.75rem}@media(min-width:768px){.resume-timeline{--step-year: 2.75rem;--step-gap: 1.25rem}}.resume-timeline__rail{position:absolute;top:.375rem;bottom:0;left:calc(var(--step-year) + var(--step-gap) / 2 - 1px);width:2px;background:#e5e7eb;border-radius:1px}.resume-timeline__rail-fill{display:block;height:100%;background:linear-gradient(180deg,#2563eb,#93c5fd);border-radius:inherit;transform-origin:top center}.resume-timeline__now{font-family:var(--font-mono);font-size:.625rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;position:absolute;top:0;left:calc(var(--step-year) + var(--step-gap));color:#2563eb;font-weight:600}.resume-timeline__now:after{content:"";position:absolute;top:50%;left:calc(-1 * var(--step-gap) / 2 - 3px);width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#2563eb}.resume-timeline__list{display:flex;flex-direction:column;gap:var(--space-6);list-style:none}.resume-step{position:relative;padding-left:calc(var(--step-year) + var(--step-gap));list-style:none}.resume-step__year{position:absolute;left:0;top:.1875rem;width:var(--step-year);color:#6b7280;font-size:.8125rem;font-variant-numeric:tabular-nums;font-weight:600;text-align:right}.resume-step__node{position:absolute;left:calc(var(--step-year) + var(--step-gap) / 2 - 5px);top:.5rem;width:10px;height:10px;border:2px solid #ffffff;border-radius:50%;background:#6b7280}.resume-step__node.is-current{background:#2563eb;box-shadow:0 0 0 4px #2563eb29}.resume-step__body{display:flex;flex-direction:column;gap:4px;min-width:0}.resume-step__body>.resume-list{margin-top:var(--space-2)}.resume-disclosure{margin-top:var(--space-3)}.resume-disclosure__toggle:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:8px}.resume-disclosure__toggle{display:inline-flex;align-items:center;gap:var(--space-2);min-height:34px;padding:0 12px 0 8px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;color:#374151;font-size:.8125rem;font-weight:600;transition:border-color .24s cubic-bezier(.16,1,.3,1),color .24s cubic-bezier(.16,1,.3,1),background-color .24s cubic-bezier(.16,1,.3,1)}.resume-disclosure__toggle:hover{border-color:#93c5fd;background:#2563eb0a;color:#2563eb}.resume-disclosure__toggle[aria-expanded=true]{border-color:#2563eb47;color:#2563eb}.resume-disclosure__chevron{flex:none;transition:transform .24s cubic-bezier(.16,1,.3,1)}[aria-expanded=true] .resume-disclosure__chevron{transform:rotate(180deg)}.resume-disclosure__count{padding:1px 7px;border-radius:999px;background:#2563eb14;color:#2563eb;font-size:.6875rem;font-variant-numeric:tabular-nums}.resume-disclosure__panel .resume-list{padding-top:var(--space-3)}.resume-role__title{color:#1f2937;font-size:1.125rem;font-weight:600}.resume-role__company{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;color:#2563eb;font-weight:500}.resume-role__company:hover{text-decoration:underline}.resume-role__meta{color:#6b7280;font-size:.875rem}.resume-role__context{margin-top:var(--space-2);color:#374151;font-size:.9375rem}.resume-edu{display:flex;flex-direction:column;gap:2px}.resume-edu__qualification{color:#1f2937;font-size:1.125rem;font-weight:600}.resume-edu__institution{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;color:#2563eb;font-weight:500}.resume-edu__institution:hover{text-decoration:underline}.resume-edu__period{color:#6b7280;font-size:.875rem}.resume-skills{display:flex;flex-direction:column;gap:var(--space-3);list-style:none}.resume-skillset{display:grid;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid #e5e7eb;border-radius:10px;background:linear-gradient(90deg,#2563eb09,#2563eb00 40%);list-style:none;transition:border-color var(--dur-fast) var(--ease-out)}.resume-skillset:hover{border-color:#93c5fd}@media(min-width:768px){.resume-skillset{grid-template-columns:16rem minmax(0,1fr);align-items:center;gap:var(--space-4)}}.resume-skillset__label{display:flex;align-items:baseline;gap:var(--space-2);color:#1f2937;font-size:1.0625rem;font-weight:600}.resume-skillset__index{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#2563eb;font-weight:600}.resume-skillset__count{margin-left:auto;color:#6b7280;font-size:.75rem;font-variant-numeric:tabular-nums;font-weight:500}@media(min-width:768px){.resume-skillset__count{margin-left:0}}.resume-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none}.resume-tag{padding:.3125rem .625rem;border:1px solid rgba(37,99,235,.18);border-radius:6px;background:#2563eb0f;color:#374151;font-size:.875rem;font-weight:500;line-height:1.3;list-style:none}.resume-langs{display:flex;flex-direction:column;gap:var(--space-4)}.resume-langs li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.resume-langs__name{color:#374151;font-size:.9375rem}.resume-langs__name strong{font-weight:600}.resume-langs__meter{display:flex;gap:4px;flex:none}.resume-langs__dot{width:16px;height:16px;border-radius:50%;background:#e5e7eb}.resume-langs__dot.is-filled{background:#3b82f6}.resume-project__name{color:#1f2937;font-size:1.125rem;font-weight:600}.resume-project__meta{color:#6b7280;font-size:.875rem}.resume-project__summary{margin-top:var(--space-2);color:#374151;font-size:.9375rem}.notfound{display:grid;place-items:center;min-height:100dvh;padding:calc(var(--space-8) + 56px) 0 var(--space-8)}.notfound__inner{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4)}.notfound__code{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;display:flex;align-items:center;gap:var(--space-2);color:var(--color-accent-text)}.notfound__title{color:var(--color-text-strong);font-size:clamp(1.875rem,6vw,3rem);font-weight:700;line-height:1.04;letter-spacing:-.03em}.notfound__body{max-width:48ch;color:var(--color-text-body);font-size:1rem}.notfound__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-2)}.page,.footer{position:relative;z-index:1}.section+.section:before,.independent:before,.section+.independent:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:min(100% - 2.5rem,1200px);height:1px;background:linear-gradient(90deg,transparent,var(--color-border) 20%,var(--color-border) 80%,transparent)}.hero+.section:before{display:none}
