:root{--font-family-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--content-width:1200px;--page-padding:clamp(20px, 4vw, 48px);--radius-small:12px;--radius-medium:20px;--radius-large:32px;--radius-pill:999px;--motion-fast:.18s;--motion-normal:.32s;--color-brand-blue:#0a5fc7}:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-background:#f5f5f7;--color-surface:#fff;--color-foreground:#1d1d1f;--color-muted:#6e6e73;--color-border:#1d1d1f1f;--color-accent:var(--color-brand-blue);--color-accent-hover:color-mix(in srgb, var(--color-brand-blue) 88%, black);--color-on-accent:#fff}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-background:#0b0b0d;--color-surface:#1c1c1e;--color-foreground:#f5f5f7;--color-muted:#a1a1a6;--color-border:#ffffff24;--color-accent:color-mix(in srgb, var(--color-brand-blue) 78%, white);--color-accent-hover:color-mix(in srgb, var(--color-brand-blue) 70%, white);--color-on-accent:#fff}*,:before,:after{box-sizing:border-box}html{font-family:var(--font-family-sans);color:var(--color-foreground);background-color:var(--color-background);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}img,picture,svg{max-width:100%;display:block}a{color:inherit}#root{min-height:100vh}.language-switcher{min-width:40px;height:40px;color:var(--color-foreground);border:1px solid var(--color-border);cursor:pointer;transition:color var(--motion-fast) ease, background-color var(--motion-fast) ease, border-color var(--motion-fast) ease, transform var(--motion-fast) ease;background-color:#0000;border-radius:999px;place-items:center;padding-inline:10px;font-size:.75rem;font-weight:700;line-height:1;display:grid}.language-switcher:hover{color:var(--color-accent);background-color:color-mix(in srgb, var(--color-accent) 10%, transparent);border-color:var(--color-accent)}.language-switcher:active{transform:scale(.94)}.language-switcher:focus-visible{outline-offset:2px;outline:2px solid}@media (prefers-reduced-motion:reduce){.language-switcher{transition:none}}.theme-toggle{width:40px;height:40px;color:var(--color-foreground);border:1px solid var(--color-border);cursor:pointer;transition:color var(--motion-fast) ease, background-color var(--motion-fast) ease, border-color var(--motion-fast) ease, transform var(--motion-fast) ease;background-color:#0000;border-radius:50%;place-items:center;padding:0;display:grid}.theme-toggle:hover{color:var(--color-accent);background-color:color-mix(in srgb, var(--color-accent) 10%, transparent);border-color:var(--color-accent)}.theme-toggle:active{transform:scale(.94)}.theme-toggle:focus-visible{outline-offset:2px;outline:2px solid}@media (prefers-reduced-motion:reduce){.theme-toggle{transition:none}}.navbar{z-index:10;border-bottom:1px solid var(--color-border);background-color:color-mix(in srgb, var(--color-background) 82%, transparent);-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%);position:sticky;top:0}.navbar__inner{width:100%;max-width:calc(var(--content-width) + 2 * var(--page-padding));min-height:72px;padding-inline:var(--page-padding);grid-template-columns:auto 1fr auto;align-items:center;gap:32px;margin-inline:auto;display:grid;position:relative}.navbar__brand{white-space:nowrap;font-weight:700;text-decoration:none}.navbar__navigation{justify-self:center}.navbar__links{align-items:center;gap:24px;margin:0;padding:0;list-style:none;display:flex}.navbar__links a{color:var(--color-muted);transition:color var(--motion-fast) ease;padding-block:8px;text-decoration:none;position:relative}.navbar__links a:after{content:"";background-color:var(--color-accent);border-radius:var(--radius-pill);transform-origin:50%;height:2px;transition:transform var(--motion-fast) ease;position:absolute;bottom:2px;left:0;right:0;transform:scaleX(0)}.navbar__links a:hover,.navbar__links a:focus-visible,.navbar__links a[aria-current=page]{color:var(--color-accent)}.navbar__links a:hover:after,.navbar__links a:focus-visible:after,.navbar__links a[aria-current=page]:after{transform:scaleX(1)}.navbar__actions{align-items:center;gap:8px;display:flex}.navbar__menu-toggle,.navbar__backdrop{display:none}.navbar a:focus-visible{outline-offset:4px;outline:2px solid}@media (width<=720px){.navbar__inner{grid-template-columns:78px minmax(0,1fr) 78px;gap:0;min-height:64px;padding:8px 12px}.navbar__menu-toggle{z-index:4;width:40px;height:40px;color:var(--color-foreground);background:linear-gradient(145deg, #ffffff70, transparent 58%), color-mix(in srgb, var(--color-surface) 78%, transparent);border:1px solid var(--color-border);cursor:pointer;transition:color var(--motion-fast) ease, background-color var(--motion-fast) ease, border-color var(--motion-fast) ease, transform var(--motion-fast) ease;-webkit-backdrop-filter:blur(18px)saturate(145%);backdrop-filter:blur(18px)saturate(145%);border-radius:50%;grid-column:1;place-items:center;padding:0;font-size:1.35rem;display:grid;position:relative;box-shadow:inset 0 1px #ffffff8a,0 10px 26px #00000017}.navbar__menu-toggle:hover,.navbar__menu-toggle:focus-visible,.navbar__menu-toggle[aria-expanded=true]{color:var(--color-accent);border-color:color-mix(in srgb, var(--color-accent) 42%, transparent)}.navbar__menu-toggle:active{transform:scale(.94)}.navbar__menu-toggle:focus-visible{outline-offset:2px;outline:2px solid}.navbar__brand{text-overflow:ellipsis;grid-column:2;justify-self:center;max-width:100%;font-size:.9rem;overflow:hidden}.navbar__actions{grid-column:3;justify-self:end;gap:6px}.navbar .language-switcher,.navbar .theme-toggle{width:36px;min-width:36px;height:36px;padding:0}.navbar__backdrop{z-index:2;cursor:default;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#040c181f;border:0;width:100%;height:100dvh;padding:0;animation:.22s both navbar-backdrop-enter;display:block;position:absolute;top:0;left:0}.navbar__navigation{z-index:3;background:linear-gradient(145deg, #fff6, transparent 46%), color-mix(in srgb, var(--color-surface) 76%, transparent);border:1px solid color-mix(in srgb, var(--color-foreground) 13%, transparent);border-radius:calc(var(--radius-large) + 4px);opacity:0;visibility:hidden;transform-origin:0 0;pointer-events:none;-webkit-backdrop-filter:blur(28px)saturate(160%);backdrop-filter:blur(28px)saturate(160%);width:min(310px,100vw - 24px);padding:14px;transition:opacity .24s,visibility .24s,transform .38s cubic-bezier(.22,1,.36,1);position:absolute;top:calc(100% + 12px);left:12px;transform:translateY(-10px)scale(.94);box-shadow:inset 0 1px #ffffff94,0 28px 68px #0003}.navbar--menu-open .navbar__navigation{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)scale(1)}.navbar__links{flex-direction:column;align-items:stretch;gap:10px}.navbar__links li{--menu-arc-offset:0px;width:calc(100% - 24px);margin-left:var(--menu-arc-offset);opacity:0;transition:opacity .22s,transform .36s cubic-bezier(.22,1,.36,1);transform:translate(-14px)}.navbar__links li:nth-child(2),.navbar__links li:nth-child(4){--menu-arc-offset:12px}.navbar__links li:nth-child(3){--menu-arc-offset:24px}.navbar--menu-open .navbar__links li{opacity:1;transform:translate(0)}.navbar--menu-open .navbar__links li:first-child{transition-delay:50ms}.navbar--menu-open .navbar__links li:nth-child(2){transition-delay:90ms}.navbar--menu-open .navbar__links li:nth-child(3){transition-delay:.13s}.navbar--menu-open .navbar__links li:nth-child(4){transition-delay:.17s}.navbar--menu-open .navbar__links li:nth-child(5){transition-delay:.21s}.navbar__links a{min-height:48px;color:var(--color-foreground);background:linear-gradient(145deg, #ffffff6b, transparent 58%), color-mix(in srgb, var(--color-surface) 80%, transparent);border:1px solid var(--color-border);transition:color var(--motion-fast) ease, background-color var(--motion-fast) ease, border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease, transform var(--motion-fast) ease;border-radius:999px;align-items:center;padding:11px 18px;font-weight:600;display:flex;box-shadow:inset 0 1px #ffffff85,0 10px 24px #00000014}.navbar__links a:after{display:none}.navbar__links a[aria-current=page]{color:#fff;background:linear-gradient(145deg, #ffffff3d, transparent 50%), var(--color-accent);border-color:color-mix(in srgb, var(--color-accent) 72%, white);box-shadow:inset 0 1px 0 #ffffff7a, 0 12px 28px color-mix(in srgb, var(--color-accent) 28%, transparent)}.navbar__links .navbar__cv{color:var(--color-accent);background-color:color-mix(in srgb, var(--color-accent) 9%, var(--color-surface));border-color:color-mix(in srgb, var(--color-accent) 32%, transparent)}.navbar__links a:hover,.navbar__links a:focus-visible{border-color:color-mix(in srgb, var(--color-accent) 42%, transparent);transform:translate(4px)}}@keyframes navbar-backdrop-enter{0%{opacity:0}to{opacity:1}}@media (width<=360px){.navbar__inner{grid-template-columns:74px minmax(0,1fr) 74px;padding-inline:10px}.navbar__brand{font-size:.82rem}.navbar .language-switcher,.navbar .theme-toggle{width:34px;min-width:34px;height:34px}}@media (prefers-reduced-motion:reduce){.navbar__links a,.navbar__links a:after,.navbar__links li,.navbar__menu-toggle,.navbar__navigation,.navbar__backdrop{transition:none;animation:none}}.site-layout{grid-template-rows:auto 1fr;min-height:100dvh;display:grid}.feedback-banner{min-height:52px;color:var(--feedback-color);background:linear-gradient(145deg, #ffffff47, transparent 52%), color-mix(in srgb, var(--feedback-color) 10%, var(--color-surface) 72%);border:1px solid color-mix(in srgb, var(--feedback-color) 38%, transparent);border-radius:var(--radius-medium);box-shadow:inset 0 1px 0 #ffffff6b, 0 12px 28px color-mix(in srgb, var(--feedback-color) 12%, transparent);-webkit-backdrop-filter:blur(18px)saturate(145%);backdrop-filter:blur(18px)saturate(145%);align-items:center;gap:12px;margin:0;padding:13px 16px;animation:.32s cubic-bezier(.22,1,.36,1) both feedback-banner-enter;display:flex;position:relative}.feedback-banner:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffffb8,#0000);height:1px;position:absolute;top:0;left:12%;right:12%}.feedback-banner--success{--feedback-color:#16834f}.feedback-banner--error{--feedback-color:#c9363f}.feedback-banner__icon{flex:none}.feedback-banner__message{font-size:.92rem;font-weight:650;line-height:1.4}@keyframes feedback-banner-enter{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.feedback-banner{animation:none}}.glass-surface{background:linear-gradient(145deg, #ffffff57, transparent 42%), color-mix(in srgb, var(--color-surface) 74%, transparent);border:1px solid color-mix(in srgb, var(--color-foreground) 12%, transparent);border-radius:var(--radius-large);-webkit-backdrop-filter:blur(28px)saturate(150%);backdrop-filter:blur(28px)saturate(150%);position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff85,0 30px 80px #0000001f}.glass-surface:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#fffc,#0000);height:1px;position:absolute;top:0;left:8%;right:8%}.glass-surface--interactive{transition:transform var(--motion-normal) ease, box-shadow var(--motion-normal) ease}@media (hover:hover){.glass-surface--interactive:hover{transform:scale(1.012);box-shadow:inset 0 1px #ffffff9e,0 38px 96px #00000029}}@media (prefers-reduced-motion:reduce){.glass-surface--interactive{transition:none}}.contact{min-height:100%;padding:clamp(48px, 7vw, 96px) var(--page-padding);background:radial-gradient(circle at 12% 14%, color-mix(in srgb, var(--color-accent) 16%, transparent), transparent 30rem), radial-gradient(circle at 90% 84%, #7158ff1f, transparent 28rem), var(--color-background);position:relative;overflow:hidden}.contact__container{z-index:1;width:min(100%,760px);margin-inline:auto;position:relative}.contact__title{letter-spacing:-.055em;text-align:center;margin:0 0 clamp(28px,4vw,46px);font-size:clamp(2.5rem,5vw,4.5rem);line-height:1}.contact__surface{padding:clamp(26px,5vw,52px)}.contact__form{gap:24px;display:grid}.contact__field{gap:10px;display:grid}.contact__field label{font-size:.95rem;font-weight:650}.contact__field input,.contact__field textarea{width:100%;color:var(--color-foreground);background:color-mix(in srgb, var(--color-surface) 62%, transparent);border:1px solid var(--color-border);border-radius:var(--radius-small);transition:border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease, background-color var(--motion-fast) ease;outline:none;box-shadow:inset 0 1px #ffffff47}.contact__field input{min-height:52px;padding:0 16px}.contact__field textarea{resize:vertical;min-height:180px;padding:15px 16px;line-height:1.55}.contact__field input::placeholder,.contact__field textarea::placeholder{color:var(--color-muted);opacity:.78}.contact__field input:hover,.contact__field textarea:hover{border-color:color-mix(in srgb, var(--color-accent) 38%, var(--color-border))}.contact__field input:focus-visible,.contact__field textarea:focus-visible{background:color-mix(in srgb, var(--color-surface) 78%, transparent);border-color:var(--color-accent);box-shadow:inset 0 1px 0 #ffffff57, 0 0 0 4px color-mix(in srgb, var(--color-accent) 16%, transparent)}.contact__privacy{color:var(--color-muted);margin:-4px 0 0;font-size:.82rem;line-height:1.5}.contact__privacy a{color:var(--color-accent);text-underline-offset:3px}.contact__submit{min-height:52px;color:var(--color-on-accent);background:var(--color-accent);border-radius:var(--radius-pill);box-shadow:0 12px 28px color-mix(in srgb, var(--color-accent) 28%, transparent);cursor:pointer;transition:transform var(--motion-fast) ease, background-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease;border:0;padding:0 24px;font-weight:700}.contact__submit:hover{background:var(--color-accent-hover);box-shadow:0 16px 34px color-mix(in srgb, var(--color-accent) 34%, transparent);transform:translateY(-2px)}.contact__submit:active{transform:translateY(0)scale(.99)}.contact__submit:focus-visible{outline:3px solid color-mix(in srgb, var(--color-accent) 38%, transparent);outline-offset:3px}@media (width<=640px){.contact{padding-block:40px 64px}.contact__title{text-align:left}.contact__surface{border-radius:var(--radius-medium);padding:24px 20px}.contact__form{gap:20px}}@media (prefers-reduced-motion:reduce){.contact__field input,.contact__field textarea,.contact__submit{transition:none}}.experience-company-card{padding:clamp(26px,4vw,44px)}.experience-company-card__header{border-bottom:1px solid var(--color-border);padding-bottom:24px}.experience-company-card__header h2{letter-spacing:-.025em;margin:0;font-size:clamp(1.35rem,2.4vw,1.75rem);line-height:1.2}.experience-company-card__header p{color:var(--color-muted);margin:7px 0 0;line-height:1.5}.experience-company-card__timeline{margin:0;padding:30px 0 0;list-style:none;display:grid}.experience-company-card__position{grid-template-columns:18px minmax(0,1fr);gap:18px;padding-bottom:34px;display:grid;position:relative}.experience-company-card__position:last-child{padding-bottom:0}.experience-company-card__position:not(:last-child):after{content:"";background:color-mix(in srgb, var(--color-foreground) 14%, transparent);border-radius:var(--radius-pill);width:2px;position:absolute;top:16px;bottom:0;left:8px}.experience-company-card__marker{z-index:1;background:var(--color-surface);border:2px solid color-mix(in srgb, var(--color-foreground) 28%, transparent);width:12px;height:12px;box-shadow:0 0 0 4px color-mix(in srgb, var(--color-surface) 88%, transparent);border-radius:50%;margin-top:5px;margin-left:3px;position:relative}.experience-company-card__position--current .experience-company-card__marker{background:var(--color-accent);border-color:var(--color-accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--color-accent) 14%, transparent), 0 5px 14px color-mix(in srgb, var(--color-accent) 30%, transparent);animation:1.8s ease-in-out infinite experience-current-marker-glow}.experience-company-card__position--current .experience-company-card__content h3{color:var(--color-accent)}@keyframes experience-current-marker-glow{0%,to{filter:brightness();box-shadow:0 0 0 4px color-mix(in srgb, var(--color-accent) 12%, transparent), 0 0 8px color-mix(in srgb, var(--color-accent) 42%, transparent)}50%{filter:brightness(1.2);box-shadow:0 0 0 7px color-mix(in srgb, var(--color-accent) 18%, transparent), 0 0 18px #50c8ffb3}}.experience-company-card__content{min-width:0}.experience-company-card__content h3{margin:0;font-size:1.05rem;line-height:1.35}.experience-company-card__meta,.experience-company-card__period{color:var(--color-muted);margin:6px 0 0;line-height:1.5}.experience-company-card__meta{color:color-mix(in srgb, var(--color-foreground) 78%, var(--color-muted))}.experience-company-card__period{font-size:.92rem}@media (width<=640px){.experience-company-card{border-radius:var(--radius-medium);padding:24px 20px}.experience-company-card__header{padding-bottom:20px}.experience-company-card__timeline{padding-top:24px}.experience-company-card__position{gap:14px;padding-bottom:28px}}@media (prefers-reduced-motion:reduce){.experience-company-card__position--current .experience-company-card__marker{animation:none}}.experience{min-height:100%;padding:clamp(48px, 7vw, 96px) var(--page-padding);background:radial-gradient(circle at 12% 14%, color-mix(in srgb, var(--color-accent) 16%, transparent), transparent 30rem), radial-gradient(circle at 90% 84%, #7158ff1f, transparent 28rem), var(--color-background);position:relative;overflow:hidden}.experience__container{z-index:1;width:min(100%,920px);margin-inline:auto;position:relative}.experience__title{letter-spacing:-.055em;text-align:center;margin:0 0 clamp(28px,4vw,46px);font-size:clamp(2.5rem,5vw,4.5rem);line-height:1}.experience__list{gap:clamp(22px,3vw,32px);display:grid}@media (width<=640px){.experience{padding-block:40px 64px}.experience__title{text-align:left}}.interactive-intro-card{background:linear-gradient(145deg, #ffffff57, transparent 42%), color-mix(in srgb, var(--color-surface) 74%, transparent);border:1px solid color-mix(in srgb, var(--color-foreground) 12%, transparent);border-radius:var(--radius-large);width:min(100%,1120px);transition:transform var(--motion-normal) ease, box-shadow var(--motion-normal) ease;-webkit-backdrop-filter:blur(28px)saturate(150%);backdrop-filter:blur(28px)saturate(150%);grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);gap:clamp(32px,6vw,80px);margin-inline:auto;padding:clamp(28px,5vw,64px);display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff85,0 30px 80px #0000001f}@media (hover:hover){.interactive-intro-card:hover{transform:scale(1.012);box-shadow:inset 0 1px #ffffff9e,0 38px 96px #00000029}}.interactive-intro-card:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#fffc,#0000);height:1px;position:absolute;top:0;left:8%;right:8%}.interactive-intro-card__copy{align-self:center;min-width:0}.interactive-intro-card__reveal{position:relative}.interactive-intro-card__reveal:nth-child(2){margin-top:clamp(10px,1.5vw,16px)}.interactive-intro-card__reveal:nth-child(3){margin-top:clamp(36px,5vw,64px)}.interactive-intro-card__reveal:nth-child(4){margin-top:14px}.interactive-intro-card__title{letter-spacing:-.065em;text-wrap:balance;margin:0;font-size:clamp(3.5rem,7.5vw,7rem);font-weight:700;line-height:1}.interactive-intro-card__subtitle{color:var(--color-muted);letter-spacing:-.03em;margin:0;font-size:clamp(1.2rem,2.1vw,1.65rem);font-weight:600;line-height:1.25}.interactive-intro-card__about-label{letter-spacing:-.02em;margin:0;font-size:clamp(1rem,1.6vw,1.25rem);font-weight:700;line-height:1.35}.interactive-intro-card__description{max-width:46ch;color:var(--color-muted);text-wrap:pretty;margin:0;font-size:clamp(1.05rem,1.8vw,1.35rem);line-height:1.65}.interactive-intro-card__color-layer{color:var(--color-accent);pointer-events:none;-webkit-user-select:none;user-select:none;will-change:clip-path;position:absolute;inset:0}.interactive-intro-card__title.interactive-intro-card__color-layer{bottom:-.35em}.interactive-intro-card__photo-placeholder{aspect-ratio:1;background:linear-gradient(145deg, #ffffff61, transparent 58%), color-mix(in srgb, var(--color-surface) 82%, transparent);border:1px solid var(--color-border);border-radius:var(--radius-large);-webkit-backdrop-filter:blur(22px)saturate(145%);backdrop-filter:blur(22px)saturate(145%);place-self:center end;place-items:center;gap:clamp(16px,2vw,24px);width:min(100%,310px);min-height:0;display:grid;box-shadow:inset 0 1px #ffffff6b,inset 0 -30px 60px #0000000f}.interactive-intro-card__initials{aspect-ratio:1;width:58%;color:var(--color-accent);background:linear-gradient(145deg, #ffffff75, transparent 58%), color-mix(in srgb, var(--color-surface) 80%, transparent);border:1px solid color-mix(in srgb, var(--color-accent) 20%, transparent);letter-spacing:-.08em;-webkit-backdrop-filter:blur(18px)saturate(140%);backdrop-filter:blur(18px)saturate(140%);border-radius:50%;place-items:center;font-size:clamp(2.2rem,4vw,3.5rem);font-weight:700;display:grid;box-shadow:inset 0 1px #ffffff8f,0 14px 32px #00000014}.interactive-intro-card__social-links{gap:12px;display:flex}.interactive-intro-card__social-link{aspect-ratio:1;width:clamp(50px,5vw,62px);color:var(--color-accent);background:linear-gradient(145deg, #ffffff70, transparent 58%), color-mix(in srgb, var(--color-surface) 82%, transparent);border:1px solid color-mix(in srgb, var(--color-accent) 18%, transparent);border-radius:var(--radius-medium);cursor:pointer;transition:transform var(--motion-fast) ease, border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease;-webkit-backdrop-filter:blur(18px)saturate(140%);backdrop-filter:blur(18px)saturate(140%);place-items:center;padding:0;font-size:clamp(1.3rem,2.4vw,1.75rem);text-decoration:none;display:grid;box-shadow:inset 0 1px #ffffff8a,0 10px 24px #00000012}@media (hover:hover){.interactive-intro-card__social-link:hover{border-color:color-mix(in srgb, var(--color-accent) 36%, transparent);transform:scale(1.08);box-shadow:inset 0 1px #ffffff9e,0 14px 30px #0071e329}}@media (width<=800px){.interactive-intro-card{grid-template-columns:1fr}.interactive-intro-card__photo-placeholder{justify-self:center}}@media (prefers-reduced-motion:reduce){.interactive-intro-card,.interactive-intro-card__social-link{transition:none}}.home{min-height:100%;padding:clamp(48px, 8vw, 112px) var(--page-padding);background:radial-gradient(circle at 14% 18%, color-mix(in srgb, var(--color-accent) 18%, transparent), transparent 34rem), radial-gradient(circle at 88% 82%, #7158ff24, transparent 30rem), var(--color-background);place-items:center;display:grid;position:relative;overflow:hidden}.home__hero{width:100%}.privacy{padding:clamp(40px, 7vw, 80px) var(--page-padding);background:var(--color-background)}.privacy__container{width:min(100%,780px);margin-inline:auto}.privacy__title{letter-spacing:-.05em;margin:0 0 28px;font-size:clamp(2.25rem,5vw,4rem);line-height:1.1}.privacy__surface{gap:26px;padding:clamp(24px,5vw,48px);display:grid}.privacy__surface h2{margin:0 0 8px;font-size:1.1rem}.privacy__surface p{color:var(--color-muted);margin:0 0 10px;line-height:1.65}.privacy__surface p:last-child{margin-bottom:0}.privacy__surface a{color:var(--color-accent);text-underline-offset:3px}.tech-icon{min-height:76px;color:var(--color-foreground);background:linear-gradient(145deg, #ffffff61, transparent 56%), color-mix(in srgb, var(--color-surface) 78%, transparent);border:1px solid color-mix(in srgb, var(--color-foreground) 11%, transparent);border-radius:var(--radius-medium);transition:transform var(--motion-fast) ease, border-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease;-webkit-backdrop-filter:blur(18px)saturate(145%);backdrop-filter:blur(18px)saturate(145%);align-items:center;gap:14px;padding:14px 18px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff75,0 12px 28px #00000012}.tech-icon:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffffad,#0000);width:76%;height:1px;position:absolute;inset:0 auto auto 12%}.tech-icon__image{flex:0 0 42px;width:42px;height:42px}.tech-icon__name{min-width:0;font-size:.9rem;font-weight:600;line-height:1.25}.tech-icon--text-only{text-align:center;justify-content:center}@media (hover:hover){.tech-icon:hover{z-index:1;border-color:color-mix(in srgb, var(--color-accent) 30%, transparent);box-shadow:inset 0 1px 0 #fff9, 0 18px 36px color-mix(in srgb, var(--color-accent) 14%, transparent);transform:translateY(-3px)scale(1.025)}}@media (prefers-reduced-motion:reduce){.tech-icon{transition:none}}.tech-stack-category-selector__scroll{overscroll-behavior-inline:contain;scrollbar-width:none;width:100%;padding:10px 2px 14px;overflow-x:auto}.tech-stack-category-selector__scroll::-webkit-scrollbar{display:none}.tech-stack-category-selector{border-radius:999px;width:max-content;margin-inline:auto;padding:6px;box-shadow:inset 0 1px #ffffff80,0 16px 42px #0000001a}.tech-stack-category-selector__track{align-items:stretch;display:flex;position:relative}.tech-stack-category-selector__indicator{inset-block:0;background:linear-gradient(145deg, #ffffff3d, transparent 48%), var(--color-accent);border:1px solid color-mix(in srgb, var(--color-accent) 70%, white);box-shadow:inset 0 1px 0 #ffffff75, 0 8px 22px color-mix(in srgb, var(--color-accent) 28%, transparent);pointer-events:none;transition:width .46s cubic-bezier(.22, 1, .36, 1), transform .46s cubic-bezier(.22, 1, .36, 1), opacity var(--motion-fast) ease;will-change:width, transform;border-radius:999px;position:absolute;left:0;overflow:hidden}.tech-stack-category-selector__indicator:after{content:"";background:linear-gradient(90deg,#0000,#ffffffc7,#0000);height:1px;position:absolute;inset:2px 14% auto}.tech-stack-category-selector__button{z-index:1;min-height:46px;color:var(--color-muted);cursor:pointer;font:inherit;white-space:nowrap;transition:color var(--motion-fast) ease, transform var(--motion-fast) ease;background:0 0;border:0;border-radius:999px;padding:10px clamp(16px,2vw,26px);font-size:.92rem;font-weight:600;position:relative}.tech-stack-category-selector__button[aria-pressed=true]{color:#fff}.tech-stack-category-selector__button:focus-visible{outline:2px solid color-mix(in srgb, var(--color-accent) 65%, white);outline-offset:-4px}@media (hover:hover){.tech-stack-category-selector__button:not([aria-pressed=true]):hover{color:var(--color-accent);transform:translateY(-1px)}}@media (width<=640px){.tech-stack-category-selector{margin-inline:0}.tech-stack-category-selector__button{min-height:44px;padding-inline:18px}}@media (prefers-reduced-motion:reduce){.tech-stack-category-selector__indicator,.tech-stack-category-selector__button{transition:none}}.tech-stack{min-height:100%;padding:clamp(48px, 7vw, 96px) var(--page-padding);background:radial-gradient(circle at 12% 14%, color-mix(in srgb, var(--color-accent) 16%, transparent), transparent 30rem), radial-gradient(circle at 90% 84%, #7158ff1f, transparent 28rem), var(--color-background);position:relative;overflow:hidden}.tech-stack__content{z-index:1;width:min(100%,1120px);margin-inline:auto;position:relative}.tech-stack__title{letter-spacing:-.055em;text-align:center;margin:0 0 clamp(28px,4vw,46px);font-size:clamp(2.5rem,5vw,4.5rem);line-height:1}.tech-stack__panel{min-height:360px;margin-top:clamp(26px,4vw,44px);padding:clamp(26px,4vw,48px)}.tech-stack__panel-content{animation:.36s cubic-bezier(.22,1,.36,1) both tech-stack-content-enter}.tech-stack__section+.tech-stack__section{margin-top:clamp(30px,4vw,44px)}.tech-stack__section-title{letter-spacing:-.025em;align-items:center;gap:10px;margin:0 0 18px;font-size:clamp(1rem,1.6vw,1.2rem);font-weight:700;display:flex}.tech-stack__section-title:before{content:"";background:var(--color-accent);width:9px;height:9px;box-shadow:0 0 18px color-mix(in srgb, var(--color-accent) 48%, transparent);border-radius:50%;flex:0 0 9px}.tech-stack__grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:clamp(12px,2vw,18px);display:grid}@keyframes tech-stack-content-enter{0%{opacity:0;transform:translateY(10px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=640px){.tech-stack{padding-block:40px 64px}.tech-stack__title{text-align:left}.tech-stack__panel{min-height:320px;padding:22px}.tech-stack__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}@media (width<=420px){.tech-stack__grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.tech-stack__panel-content{animation:none}}
