:root{--color-navy: #05070d;--color-blue: #2563eb;--color-blue-bright: #60a5fa;--color-accent: #3b82f6;--color-page: #05070d;--color-page-secondary: #0b1020;--color-surface: rgba(15, 23, 42, .72);--color-surface-strong: rgba(2, 6, 23, .9);--color-glass: rgba(15, 23, 42, .62);--color-glass-strong: rgba(3, 7, 18, .86);--color-navbar: rgba(0, 0, 0, .72);--color-footer: transparent;--color-text: #f8fafc;--color-heading: #ffffff;--color-muted: #cbd5e1;--color-subtle: #94a3b8;--color-icon: #bfdbfe;--color-link: #60a5fa;--color-border: rgba(148, 163, 184, .24);--color-border-strong: rgba(226, 232, 240, .14);--color-focus: #93c5fd;--focus-soft: rgba(96, 165, 250, .22);--input-bg: rgba(2, 6, 23, .62);--input-border: rgba(148, 163, 184, .26);--placeholder-text: rgba(203, 213, 225, .62);--button-bg: #2563eb;--button-text: #ffffff;--shadow-card: 0 20px 48px rgba(0, 0, 0, .28);--shadow-floating: 0 24px 70px rgba(0, 0, 0, .48);--ambient-glow: rgba(37, 99, 235, .18);--page-gradient: radial-gradient(circle at 82% 9%, rgba(37, 99, 235, .15), transparent 30%), radial-gradient(circle at 12% 0%, rgba(96, 165, 250, .08), transparent 28%), linear-gradient(180deg, #05070d 0%, #0b1020 50%, #05070d 100%);--glass-subtle-bg: rgba(255, 255, 255, .035);--glass-default-bg: rgba(15, 23, 42, .58);--glass-strong-bg: rgba(2, 6, 23, .84);--control-bg: rgba(255, 255, 255, .08);--control-hover-bg: rgba(96, 165, 250, .16);--control-border: rgba(148, 163, 184, .18);--control-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);--success: #22c55e;--error: #f87171;--warning: #facc15;--radius-card: 16px;--radius-pill: 999px;--space-page: clamp(16px, 4vw, 40px);--menu-bg: rgba(7, 10, 16, .84);--menu-border: rgba(255, 255, 255, .12);--menu-ring: rgba(255, 255, 255, .18);--menu-text: #ffffff;--menu-accent: #3C82F6}.dark-theme{color-scheme:dark}.light-theme{color-scheme:light;--color-navy: #f8fbff;--color-blue: #2563eb;--color-blue-bright: #2563eb;--color-accent: #2563eb;--color-page: #f7faff;--color-page-secondary: #eef4ff;--color-surface: rgba(255, 255, 255, .76);--color-surface-strong: rgba(255, 255, 255, .92);--color-glass: rgba(255, 255, 255, .66);--color-glass-strong: rgba(255, 255, 255, .86);--color-navbar: rgba(255, 255, 255, .72);--color-footer: transparent;--color-text: #111827;--color-heading: #0f172a;--color-muted: #475569;--color-subtle: #64748b;--color-icon: #1d4ed8;--color-link: #1d4ed8;--color-border: rgba(15, 23, 42, .12);--color-border-strong: rgba(15, 23, 42, .18);--color-focus: #2563eb;--focus-soft: rgba(37, 99, 235, .16);--input-bg: rgba(255, 255, 255, .78);--input-border: rgba(37, 99, 235, .2);--placeholder-text: rgba(71, 85, 105, .66);--button-bg: #2563eb;--button-text: #ffffff;--shadow-card: 0 20px 48px rgba(15, 23, 42, .12);--shadow-floating: 0 24px 70px rgba(37, 99, 235, .16);--ambient-glow: rgba(125, 170, 255, .28);--page-gradient: radial-gradient(circle at 82% 8%, rgba(96, 165, 250, .24), transparent 30%), radial-gradient(circle at 16% 2%, rgba(196, 181, 253, .24), transparent 28%), linear-gradient(180deg, #ffffff 0%, #f3f7ff 46%, #eef4ff 100%);--glass-subtle-bg: rgba(255, 255, 255, .48);--glass-default-bg: rgba(255, 255, 255, .66);--glass-strong-bg: rgba(255, 255, 255, .84);--control-bg: rgba(255, 255, 255, .72);--control-hover-bg: rgba(219, 234, 254, .86);--control-border: rgba(37, 99, 235, .16);--control-shadow: 0 10px 26px rgba(37, 99, 235, .12);--menu-bg: rgba(255, 255, 255, .86);--menu-border: rgba(15, 23, 42, .12);--menu-ring: rgba(37, 99, 235, .22);--menu-text: #111827;--menu-accent: #2563eb}html,body{overflow-x:clip}html{scroll-behavior:smooth}body{font-family:Open Sans,sans-serif;margin:0;padding:0;line-height:28px;color:var(--color-text);background:var(--page-gradient);background-attachment:fixed;isolation:isolate}.skip-link{position:fixed;top:12px;left:12px;z-index:10000;padding:10px 16px;border-radius:8px;color:#081426;background:#f8fafc;font-weight:700;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}:where(a,button,input,textarea,[tabindex]):focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}main[tabindex="-1"]:focus{outline:none}.route-loading{min-height:100vh;display:grid;place-items:center;color:var(--color-muted);background:var(--color-page)}.route-loading--content{min-height:calc(100svh - 164px);background:transparent}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}section{padding:16px 0;max-width:1190px;margin:0 auto;border-radius:8px}h2{padding:16px;text-align:center;font-size:32px;font-weight:700;line-height:normal}a{text-decoration:none}header{background:var(--color-navbar);position:sticky;top:34px;z-index:1000;height:64px;border-radius:32px;border:1px solid var(--color-border-strong);box-shadow:var(--shadow-floating);backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%);margin:34px auto 0;max-width:1190px;width:100%}.header-grid{display:grid;grid-template-columns:minmax(120px,1fr) minmax(420px,auto) minmax(140px,1fr);gap:16px;align-items:center;height:100%;padding:0 32px}.header-col{display:flex;height:100%;align-items:center}.logo-col{justify-content:flex-start}.role-col{justify-content:flex-end;gap:10px}.nav-col{justify-content:center;min-width:0}.logo{width:32px;height:32px;display:block}.logo-link{display:flex;align-items:center;justify-content:center;height:100%}.role{font-weight:400;color:#3c82f6;text-align:center}.desktop-menu{display:flex;list-style:none;margin:0;padding:0;gap:clamp(18px,2.4vw,32px);align-items:center;justify-content:center}.desktop-menu a{color:var(--color-text);text-decoration:none;font-size:16px}.desktop-menu li a{color:var(--color-text)}.desktop-menu li a:hover,.desktop-menu li .active{color:var(--color-link)}.desktop-menu .nav-dropdown{position:relative;display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:3px;min-width:64px;white-space:nowrap}.nav-dropdown>a,.nav-dropdown-toggle{display:inline-flex;align-items:center;justify-content:center;line-height:1.2}.nav-dropdown-toggle{width:18px;height:18px;padding:0;border:0;border-radius:999px;color:var(--color-text);background:transparent;cursor:pointer}.nav-dropdown-toggle:hover,.nav-dropdown-toggle:focus-visible{color:#60a5fa;outline:none;background:var(--control-hover-bg)}.nav-caret{display:inline-block;font-size:10px;line-height:1;transform:translateY(1px);transition:transform .2s ease}.nav-dropdown:hover .nav-caret,.nav-dropdown:focus-within .nav-caret,.nav-dropdown.open .nav-caret{transform:translateY(1px) rotate(180deg)}.nav-dropdown-menu{position:absolute;top:calc(100% + 14px);left:50%;min-width:132px;padding:8px;border:1px solid var(--color-border);border-radius:12px;background:var(--glass-strong-bg);box-shadow:var(--shadow-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);opacity:0;pointer-events:none;transform:translate(-50%,8px);transition:opacity .2s ease,transform .2s ease}.nav-dropdown-menu:before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu,.nav-dropdown.open .nav-dropdown-menu{opacity:1;pointer-events:auto;transform:translate(-50%)}.nav-dropdown:hover>.tooltiptext-bottom,.nav-dropdown:focus-within>.tooltiptext-bottom,.nav-dropdown.open>.tooltiptext-bottom{visibility:hidden;opacity:0}.desktop-menu .nav-dropdown-menu a{display:block;padding:8px 10px;border-radius:8px;color:var(--color-muted);font-size:14px;line-height:1.25;white-space:nowrap}.desktop-menu .nav-dropdown-menu a:hover,.desktop-menu .nav-dropdown-menu a:focus-visible{color:var(--color-heading);background:var(--control-hover-bg);outline:none}.mobile-menu-icon{display:none;color:var(--color-text);cursor:pointer}.tooltip-bottom{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center}.tooltiptext-bottom{visibility:hidden;width:max-content;background-color:var(--color-surface-strong);color:var(--color-text);text-align:center;border-radius:6px;padding:8px 12px;position:absolute;z-index:999;top:130%;opacity:0;transition:opacity .3s;font-size:12px;line-height:1.4;pointer-events:none;white-space:nowrap;box-shadow:0 4px 12px #0000004d}.tooltip-bottom:hover .tooltiptext-bottom{visibility:visible;opacity:1}#intro{max-width:1126px;display:flex;gap:120px;align-items:center;padding:48px 24px 16px;background-color:transparent;line-height:28px;letter-spacing:.36px}.intro-left{flex:1;max-width:600px}.intro-left h1{font-size:48px;color:var(--color-heading)}.intro-left .bio{font-size:18px;margin:32px 0;color:var(--color-text)}.intro-left .highlight{font-weight:700;line-height:28px;letter-spacing:.36px}.availability-pill{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border-radius:999px;margin:14px 0 6px;font-size:14px;font-weight:700;color:var(--color-link);background:color-mix(in oklab,var(--color-accent),transparent 88%);border:1px solid color-mix(in oklab,var(--color-accent),transparent 72%)}.connect-container{display:flex;align-items:center;gap:16px;margin-top:32px}.connect{font-size:18px;color:var(--color-muted)}.social-icons{display:flex;gap:24px}.social-icons a{color:var(--color-subtle);font-size:32px;text-decoration:none;border-radius:12px;transition:background-color .18s ease,box-shadow .18s ease}.social-icons a:hover{color:var(--color-link)}.social-icon-svg,.social-icon-brand{display:block;width:1em;height:1em;flex:none;transition:filter .18s ease,transform .18s ease}.social-icon-brand{color:var(--social-brand-color, currentColor);line-height:1;text-align:center}.social-icon-link--github{--social-brand-color: #f0f6fc}body.light-theme .social-icon-link--github{--social-brand-color: #181717}.social-icon-link--linkedin{--social-brand-color: #0a66c2}.social-icon-link--whatsapp{--social-brand-color: #25d366}body.light-theme .social-icon-link--whatsapp{--social-brand-color: #128c7e}.social-icon-link:focus-visible{background:var(--control-hover-bg);box-shadow:var(--control-shadow)}.social-icon-link:focus-visible .social-icon-brand,.social-icon-link:focus-visible .social-icon-svg{filter:brightness(1.08) saturate(1.06);transform:translateY(-2px) scale(1.04)}@media (hover: hover) and (pointer: fine){.social-icon-link:hover{background:var(--control-hover-bg);box-shadow:var(--control-shadow)}.social-icon-link:hover .social-icon-brand,.social-icon-link:hover .social-icon-svg{filter:brightness(1.08) saturate(1.06);transform:translateY(-2px) scale(1.04)}}.intro-right{flex:1;text-align:center;max-width:400px}@media (min-width: 768px) and (max-width: 1023px){#intro{gap:60px;max-width:calc(100% - 64px)}.intro-left{max-width:50%}.intro-right{max-width:40%}.profile-portrait{width:min(320px,100%)}}@media (max-width: 767px){#intro{flex-direction:column;gap:32px;padding:32px 16px;max-width:calc(100% - 32px)}.intro-left{max-width:100%;width:100%}.intro-left h1{font-size:32px;line-height:1.8}.intro-left .bio{font-size:16px;margin:20px 0}.connect-container{margin-top:24px;flex-direction:column;align-items:flex-start;gap:12px}.intro-right{display:flex;max-width:100%}.profile-portrait{width:min(310px,84vw)}}@media (max-width: 424px){.intro-left h1{font-size:28px}.intro-left .bio{font-size:15px}}#work.work-wrap{background:transparent;padding:16px 0;max-width:1190px;margin:0 auto}.work-header{gap:8px;margin-bottom:6px}.work-controls.single{display:flex;flex-direction:column;gap:16px;width:100%;max-width:760px;margin:0 auto 4px}.work-controls.single .sb{width:100%}#work .project-toggle.soft{display:inline-flex;gap:8px;padding:6px;border-radius:999px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);box-shadow:none}#work .tab-toggle.soft{padding:8px 12px;border-radius:999px;border:1px solid transparent;background:transparent;color:#cbd5e1;font-weight:600;transition:background .15s ease,color .15s ease,border-color .15s ease}#work .tab-toggle.soft:hover{color:#fff;border-color:#ffffff24;background:#ffffff0d}#work .tab-toggle.soft.active{color:#fff;background:#3c82f62e;border-color:#3c82f647}#work .projects-grid{margin-top:8px}@media (max-width: 767px){.work-controls.single{max-width:100%}#work .project-toggle.soft{align-self:stretch}}.work-header{display:flex;flex-direction:column;align-items:center;gap:8px}.work-title{margin:0;font-size:28px;font-weight:700}.work-controls{display:grid;grid-template-columns:auto minmax(260px,560px);gap:14px;align-items:center;width:100%;max-width:980px}.work-count{margin-top:6px;color:#cbd5e1;font-size:14px}.work-count .muted{color:#94a3b8}.agency-card{display:grid;grid-template-columns:1.1fr 1fr;gap:0;background:linear-gradient(180deg,#ffffff0f,#ffffff08);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:22px;-webkit-backdrop-filter:blur(10px) saturate(120%);backdrop-filter:blur(10px) saturate(120%);box-shadow:0 10px 30px #00000059;margin:18px auto 22px;max-width:1190px}.agency-left{padding-right:16px}.agency-badge{display:inline-block;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;background:#94a3b82e;border:1px solid rgba(255,255,255,.1);color:#e5e7eb;margin-bottom:8px}.agency-title{margin:0 0 8px}.agency-copy{margin:0 0 12px;color:#d1d5db}.agency-ctas{display:flex;gap:10px}.agency-right{border-radius:12px;background-image:radial-gradient(800px 500px at 80% 100%,rgba(253,224,71,.12),transparent 60%),radial-gradient(600px 400px at 0% 0%,rgba(59,130,246,.14),transparent 60%),linear-gradient(180deg,#ffffff05,#ffffff03);border:1px solid rgba(255,255,255,.08)}@keyframes projectFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.project-fade{animation:projectFade .32s ease both}.no-results{max-width:980px;margin:24px auto;padding:24px;text-align:center;border-radius:12px;background:#1f2937;border:1px dashed #334155}.no-results .q{color:#eab308}.no-results .reset{margin-top:10px;border-radius:10px;padding:10px 14px;background:#3c82f6;color:#fff;border:none;cursor:pointer}.sb{position:relative;width:100%}.sb-input{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:10px;border-radius:999px;padding:12px 14px;background:#02060e99;border:1px solid rgba(255,255,255,.12);box-shadow:0 2px #0006 inset,0 10px 30px #0003;transition:box-shadow .2s,border-color .2s,background .2s}.sb-input svg{color:#cbd5e1;font-size:14px}.sb-input input{background:transparent;border:0;outline:none;color:#eef2ff;font-size:16px}.sb-input .sb-clear{border:1px solid rgba(255,255,255,.12);background:transparent;color:#e5e7eb;width:32px;height:32px;border-radius:10px;cursor:pointer}.sb-dark .sb-input:focus-within{border-color:#facc158c;box-shadow:0 0 0 3px #facc1526,0 20px 60px #facc150f,0 2px #0006 inset;background:#02060eb8}.sb-panel{position:absolute;left:0;right:0;top:calc(100% + 10px);background:#0f172ad1;-webkit-backdrop-filter:blur(10px) saturate(140%);backdrop-filter:blur(10px) saturate(140%);border:1px solid rgba(255,255,255,.14);border-radius:16px;box-shadow:0 30px 60px #00000073;overflow:hidden;animation:panelIn .18s ease both;z-index:30;text-align:left}@keyframes panelIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.sb-results{list-style:none;margin:0;padding:8px}.sb-item{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:10px;padding:11px 12px;border-radius:12px;cursor:pointer;color:#e8edf6;transition:background .15s,transform .05s;text-align:left}.sb-item:hover{background:#ffffff0f}.sb-item:active{transform:translateY(1px)}.sb-item-title{min-width:0;color:#edf4ff;font-size:14px;font-weight:500;line-height:1.35;text-align:left}.sb-item-meta{color:#b6c0d1;font-size:11px;font-weight:500;line-height:1.35;text-align:left}@media (max-width: 1024px){.agency-card{grid-template-columns:1fr}}.agency-hero{position:relative;display:grid;grid-template-columns:1.15fr 1fr;grid-template-areas:"left right";gap:18px;padding:32px;margin:18px auto 22px;max-width:1190px;border-radius:8px;color:#fff;background:radial-gradient(900px 520px at 90% 110%,rgba(253,224,71,.1),transparent 60%),radial-gradient(700px 480px at 0% -20%,rgba(59,130,246,.12),transparent 60%),linear-gradient(180deg,#ffffff0f,#ffffff08);border:1px dashed rgba(255,255,255,.12);-webkit-backdrop-filter:blur(12px) saturate(125%);backdrop-filter:blur(12px) saturate(125%);box-shadow:0 18px 60px #00000073;overflow:hidden;isolation:isolate}.agency-hero:after{content:"";position:absolute;inset:-30% -10% auto -10%;height:80%;z-index:-1;background:radial-gradient(1000px 320px at 50% 0%,rgba(250,204,21,.08),transparent 65%);pointer-events:none}.ah-left{grid-area:left;display:flex;flex-direction:column;gap:16px;border-radius:8px;padding-right:6px}.ah-title{font-size:22px;margin:0}.ah-copy{font-size:18px;margin:0 0 8px;color:#ccc;line-height:28px}.ah-tags{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 8px;padding:0;list-style:none;justify-content:flex-start}.ah-tags li{padding:6px 10px;border-radius:999px;font-size:16px;font-weight:600;color:#eaf1ff;background:#ffffff0f;border:1px solid rgba(255,255,255,.1)}.ah-ctas{display:flex;gap:10px;margin-top:2px;justify-content:flex-start}.ah-right{grid-area:right;position:relative;display:grid}.ah-cover{position:relative;display:block;width:100%;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:#0b1220;box-shadow:0 16px 40px #00000073;transform:translateZ(0);transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease,border-color .2s ease}.ah-cover img{display:block;width:100%;height:auto;object-fit:cover}.ah-cover:hover{transform:translateY(-4px) scale(1.01);border-color:#facc1559;box-shadow:0 30px 80px #0000008c,0 0 0 3px #facc151f}.ah-glow{position:absolute;top:-20%;right:-10%;bottom:-40%;left:-10%;background:radial-gradient(600px 300px at 80% 10%,rgba(250,204,21,.18),transparent 60%),radial-gradient(600px 420px at 10% 90%,rgba(59,130,246,.18),transparent 65%);mix-blend-mode:screen;opacity:.9;pointer-events:none;transition:transform .35s ease,opacity .25s ease}.ah-cover:hover .ah-glow{transform:scale(1.03);opacity:1}.ah-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px;box-shadow:inset 0 0 0 1px #ffffff0f;pointer-events:none}@media (max-width: 1024px){.agency-hero{grid-template-columns:1fr;grid-template-areas:"right" "left"}.ah-left{padding-right:0}.ah-ctas,.ah-tags{justify-content:flex-start}.ah-cover{max-width:520px;margin:0}}@media (max-width: 767px){#work.work-wrap{padding:12px 0;max-width:calc(100% - 32px)}#work .tab-toggle.soft{padding:12px 8px}.work-controls{grid-template-columns:1fr;max-width:100%}.agency-card{margin:14px 0 20px}.sb-panel{left:0;right:0}.agency-hero{padding:18px;margin:14px 0 20px}.ah-ctas{flex-direction:column;align-items:flex-start}.ah-cover{max-width:480px}}.tooltip{position:relative;display:inline-block;cursor:pointer;transition:transform .3s ease}.tooltip img{transition:transform .3s ease;border-radius:8px}.tooltip:hover img{transform:scale(1.05);box-shadow:0 6px 20px #ffffff26}.tooltiptext{visibility:hidden;width:300px;background-color:#000;color:#fff;text-align:center;border-radius:8px;padding:16px;position:absolute;z-index:999;bottom:120%;left:50%;transform:translate(-50%);opacity:0;transition:opacity .3s;font-size:14px;line-height:1.4;pointer-events:none}.tooltip:hover .tooltiptext{visibility:visible;opacity:1}.tooltiptext:after{content:"";position:absolute;top:100%;left:50%;margin-left:-6px;border-width:6px;border-style:solid;border-color:#2D3748 transparent transparent transparent}#projects{background-color:transparent}.projects-grid{display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between}.project{flex:1 1 calc(33.333% - 32px);background-color:#2d3748;border-radius:8px;padding:32px;text-align:left;box-sizing:border-box}.project a{display:flex;justify-content:center}.project img{max-width:100%;border-radius:4px}.project :is(h2,h3){color:#fff;font-size:24px;font-weight:700;margin:16px 0;padding:0;text-align:left}.project p{color:#fff;font-size:16px;font-weight:400}.projects-header-centered{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-bottom:32px;text-align:center;flex-direction:column}.projects-header-centered h2{font-size:28px;font-weight:700;color:#fff;margin:0}.project-toggle{display:flex;gap:8px;background:#1f2937;border-radius:48px;padding:8px;box-shadow:0 2px 8px #0003}.tab-toggle{padding:12px 16px;border:none;border-radius:48px;background:transparent;color:#3c82f6;font-size:16px;cursor:pointer;font-weight:600;transition:all .3s ease}.tab-toggle.active{background-color:#3c82f6;color:#fff}.tab-toggle:hover{color:#fff}@media (max-width: 768px){.projects-header-centered{flex-direction:column;gap:12px}.projects-header-centered h2{font-size:24px}}.playground-header{margin-bottom:16px}.playground-grid{justify-content:center}.playground-card{max-width:400px;text-align:center;padding:24px}.playground-card img{width:100%;height:auto;border-radius:8px}.playground-card h3{margin-top:16px}.playground-card p{font-size:14px;margin-bottom:12px}.center-btn{margin-left:auto;margin-right:auto}#skills{background-color:transparent;padding:16px;max-width:1190px;margin:0 auto}.skills-container{background-color:transparent;border-radius:8px}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.skills-category{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:8px;transition:transform .3s ease,box-shadow .3s ease}.skills-category h3{font-size:18px;font-weight:600;margin-bottom:24px;text-align:center}.skills-icons{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.skill-icon{display:flex;flex-direction:column;align-items:center;justify-content:center;transition:all .3s ease;height:100%}.skill-icon i{font-size:2.5rem;margin-bottom:12px;transition:transform .3s ease}.skill-icon-fallback{display:inline-grid;width:2.5rem;height:2.5rem;margin-bottom:12px;place-items:center;border:1px solid var(--color-border-strong);border-radius:10px;color:var(--color-link);background:var(--glass-default);font-size:.72rem;font-weight:800;line-height:1;letter-spacing:-.02em}.skill-icon:hover{transform:translateY(-3px)}.skill-icon:hover i,.skill-icon:hover .skill-icon-fallback{transform:scale(1.15)}body.dark-theme .skill-icon:hover i,body.dark-theme .skill-icon:hover .skill-icon-fallback{color:#fff}body.light-theme .skill-icon{border-radius:14px}body.light-theme .skill-icon i{filter:saturate(1.08) contrast(1.06)}@media (hover: hover) and (pointer: fine){body.light-theme .skill-icon:hover{background:#e2edffa8;box-shadow:0 1px #ffffffd1 inset,0 10px 24px #2a4c891f}body.light-theme .skill-icon:hover i{filter:saturate(1.18) contrast(1.08) drop-shadow(0 6px 9px rgba(37,79,151,.2))}body.light-theme .skill-icon:hover .skill-icon-fallback{color:var(--color-link-hover);border-color:var(--color-border-strong);background:#ebf2ffe6}}.light-theme .skills-category{box-shadow:0 4px 6px #0000001a}.light-theme .skills-category h3{color:var(--text-primary, #111827)}@media (max-width: 992px){.skills-grid{grid-template-columns:repeat(2,1fr)}.skills-category:last-child{grid-column:span 2}}@media (max-width: 768px){.skills-grid{grid-template-columns:1fr;gap:24px}.skills-category:last-child{grid-column:span 1}.skills-category{padding:24px}.skills-icons{grid-template-columns:repeat(3,1fr)}}@media (max-width: 480px){.skills-icons{grid-template-columns:repeat(2,1fr);gap:16px}.skill-icon i{font-size:2rem}}#contact{background-color:transparent;padding:48px 24px}.contact-container{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:8px;padding:32px}.contact-header{text-align:center;margin-top:8px;margin-bottom:8px}.contact-description{color:#ccc;font-size:16px;text-align:center;margin:0 0 32px}form{display:flex;flex-direction:column;gap:16px;max-width:720px;margin:0 auto 32px}.form-group{display:flex;flex-direction:column;gap:14px}form label{font-size:16px;color:#fff;text-align:left}form input,form textarea{font-family:Open Sans,sans-serif;font-size:16px;padding:16px;border:1px solid #4B5563;border-radius:4px;background-color:#1f2937;color:#fff;max-width:100%;box-sizing:border-box}.form-status-wrap{display:flex;flex-direction:column;align-items:center;margin-top:12px}.form-status-text{margin-top:10px;font-size:15px;font-weight:500;color:#aebbd0;text-align:center;min-height:24px;transition:color .2s ease}.form-status-text[data-status=error]{color:#fda4af}.form-status-text:empty{min-height:0;margin-top:0}@media (max-width: 480px){.form-status-text{font-size:14px}}.resume-button{width:170px;height:48px;flex-shrink:0;border-radius:4px;background:var(--color-blue);color:#fff;border:none;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center}.send-message-button{margin-top:16px;margin-left:auto;margin-right:auto;width:170px;height:48px;flex-shrink:0;border-radius:4px;background:var(--color-blue);color:#fff;border:none;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center}.resume-button:hover,.send-message-button:hover{background:#0f4a91}.send-message-button:disabled{opacity:.65;cursor:wait}.contact-link-btn{background:none;border:none;color:#fff;font:inherit;font-size:16px;cursor:pointer;padding:.5rem 1rem;display:inline}.contact-link-btn:hover{color:#3c82f6;text-decoration:underline}.separator{margin-left:auto;margin-right:auto;max-width:1190px;height:1px;background-color:#4b5563}.social-links{font-size:18px;color:#fff;letter-spacing:.36px;text-align:center}.social-links a{color:#3c82f6;text-decoration:none}.social-links a:hover{text-decoration:underline}footer{background-color:transparent;color:#fff;text-align:center;padding:32px 0}.copyright{margin-top:32px;text-align:center;letter-spacing:.24px;font-size:14px;font-weight:300;letter-spacing:.28px}@media (min-width: 768px) and (max-width: 1023px){header{max-width:calc(100% - 64px)}.desktop-menu{gap:16px}.desktop-menu .tooltiptext-bottom{display:none}section{max-width:calc(100% - 64px)}#intro{gap:60px;max-width:calc(100% - 64px)}.intro-left{max-width:50%}.intro-right{max-width:40%}.project{flex:0 0 calc(50% - 16px)}#skills{max-width:calc(100% - 64px)}.skills-category{padding:20px}.skill-icon i{font-size:2.2rem}#contact{max-width:calc(100% - 64px)}footer{padding:24px}}@media (max-width: 767px){header{max-width:calc(100% - 32px)}body{line-height:24px}section{max-width:calc(100% - 32px);padding:12px 0;margin:0 auto 20px}h2{font-size:24px;padding:12px;margin-bottom:16px}header{top:16px;height:56px;border-radius:28px;margin:16px auto 0}.header-grid{padding:0 16px}.logo{width:24px;height:24px}.mobile-menu-icon{display:block;font-size:20px}.desktop-menu{display:none;position:fixed;top:72px;right:16px;background-color:#1f2937;border-radius:8px;padding:16px;width:200px;box-shadow:0 4px 12px #0003}.desktop-menu.active{display:flex;flex-direction:column;gap:12px}#intro{flex-direction:column;gap:32px;padding:32px 16px;max-width:calc(100% - 32px)}.intro-left,.intro-right{max-width:100%;width:100%}.intro-left h1{font-size:32px;line-height:1.8}.intro-left .bio{font-size:16px;margin:20px 0}.connect-container{margin-top:24px;flex-direction:column;align-items:flex-start;gap:12px}.intro-right img{max-width:280px;margin:0 auto}.projects-header-centered{flex-direction:column;gap:16px}.projects-header-centered h2{font-size:22px}.project-toggle{padding:6px}.tab-toggle{padding:10px 14px;font-size:14px}.projects-grid{justify-content:center}.project{flex:0 0 100%;max-width:100%;padding:24px}.project img{height:auto;max-height:120px}#skills{padding:16px}.skills-grid{grid-template-columns:1fr;gap:20px}.skills-category{padding:24px}.skills-icons{grid-template-columns:repeat(4,1fr)}.skill-icon i{font-size:2rem}#contact{padding:32px 16px}.contact-container{padding:24px}.contact-header{font-size:24px}.contact-description{font-size:15px;margin-bottom:24px}form{max-width:100%}footer{padding:24px 16px}.social-links{font-size:14px}.copyright{font-size:12px;margin-top:20px}}@media (max-width: 424px){header{max-width:calc(100% - 32px);height:48px}.intro-left h1{font-size:28px}.intro-left .bio{font-size:15px}.resume-button{width:140px;height:40px;font-size:14px}.project{padding:20px}.project :is(h2,h3){font-size:20px}.project p{font-size:14px}#skills{padding:16px}.skills-icons{grid-template-columns:repeat(4,1fr)}.contact-header{font-size:22px}.contact-description,form label{font-size:14px}form input,form textarea{padding:12px;font-size:14px}.send-message-button{width:150px;height:42px;font-size:14px}}@media (max-width: 319px){header{height:44px;top:12px}.logo{width:20px;height:20px}.intro-left h1{font-size:24px}.intro-left .bio{font-size:14px}.social-icons a{font-size:26px}.skills-icons{grid-template-columns:repeat(2,1fr)}.send-message-button{width:100%}}:root{--menu-bg: rgba(7, 10, 16, .84);--menu-border: rgba(255, 255, 255, .12);--menu-ring: rgba(255, 255, 255, .18);--menu-text: #ffffff;--menu-accent: #3C82F6}.hamburger-btn{display:none;inline-size:46px;block-size:46px;background:transparent;border:1px solid transparent;border-radius:14px;padding:0}.hamburger-btn span{display:block;inline-size:22px;block-size:2px;background:#e7ecf6;border-radius:3px;margin:3px 12px}.hamburger-btn.clean:hover{border-color:var(--menu-ring)}@media (max-width: 767px){.hamburger-btn{display:block}.desktop-menu{display:none}}.menu-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100000;background:#00000070;animation:scrimIn .22s ease-out forwards}.menu-scrim.out{animation:scrimOut .22s ease-in forwards}@keyframes scrimIn{0%{opacity:0}to{opacity:1}}@keyframes scrimOut{0%{opacity:1}to{opacity:0}}.mobile-glass-menu{position:fixed;top:12px;right:12px;bottom:12px;left:12px;z-index:1101;display:flex;flex-direction:column;padding:8px 16px 22px;border-radius:18px;color:var(--menu-text);background:var(--menu-bg);background-image:radial-gradient(1200px 600px at 12% -10%,rgba(60,130,246,.16),transparent 60%),radial-gradient(800px 500px at 92% 110%,rgba(125,211,252,.1),transparent 60%);-webkit-backdrop-filter:blur(18px) saturate(130%);backdrop-filter:blur(18px) saturate(130%);border:1px solid var(--menu-border);box-shadow:0 10px 40px #0009;transform-origin:90% 0%;animation:panelIn .26s cubic-bezier(.2,.8,.2,1) forwards}.mobile-glass-menu.out{animation:panelOut .26s cubic-bezier(.4,0,.2,1) forwards}@keyframes panelIn{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}@keyframes panelOut{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(-6px) scale(.98)}}.menu-header{display:flex;align-items:center;justify-content:space-between;padding:4px 8px 12px;border-bottom:1px solid var(--menu-border)}.menu-brand{font-weight:800;letter-spacing:.2px;font-size:1.06rem}.menu-close{inline-size:32px;block-size:32px;border-radius:12px;border:1px solid var(--menu-border);background:transparent;color:var(--menu-text)}.menu-list{display:flex;flex-direction:column;padding:2px 2px 0}.menu-row{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;color:var(--menu-text);text-align:left;cursor:pointer;font:inherit;font-weight:700;letter-spacing:.2px;padding:16px 8px;border-bottom:1px solid rgba(255,255,255,.08);transition:color .12s ease,transform .08s ease}.menu-row:last-child{border-bottom:none}.menu-row:hover{color:#eaf1ff}.menu-row:active{transform:translateY(1px)}.menu-row.as-button{width:100%}.menu-ctas{margin-top:14px;border-top:1px solid var(--menu-border);padding-top:14px;display:flex;flex-direction:column;gap:10px}.btn-ghost,.btn-solid{display:flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:8px;text-decoration:none;font-weight:700;border:1px solid var(--menu-border)}.btn-ghost{color:#fff;background:transparent}.btn-solid{color:#fff;background:var(--menu-accent);border-color:color-mix(in oklab,var(--menu-accent),white 12%);box-shadow:0 10px 24px color-mix(in oklab,var(--menu-accent),black 70%)}.pg-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1400;background:#0000008c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:grid;place-items:center;animation:pgFadeIn .18s ease-out both}.pg-scrim.inline{position:fixed}@keyframes pgFadeIn{0%{opacity:0}to{opacity:1}}.pg-card{width:min(520px,calc(100% - 32px));background:#111827b8;border:1px solid rgba(255,255,255,.14);border-radius:16px;box-shadow:0 22px 80px #0009;padding:22px 18px 18px;-webkit-backdrop-filter:blur(12px) saturate(140%);backdrop-filter:blur(12px) saturate(140%);position:relative;overflow:hidden}.pg-card:after{content:"";position:absolute;inset:-40% -20% auto -20%;height:60%;pointer-events:none;background:radial-gradient(600px 280px at 90% 0%,rgba(250,204,21,.16),transparent 60%),radial-gradient(520px 320px at 10% 100%,rgba(59,130,246,.18),transparent 65%);opacity:.85;mix-blend-mode:screen}.pg-logo{width:32px;height:32px;display:block;margin:2px auto 10px}.pg-title{margin:6px 0;text-align:center;font-size:20px;line-height:1.2}.pg-accent{color:#3b82f6}.pg-sub{text-align:center;color:#cbd5e1;margin:0 0 12px;line-height:1.4}.pg-form{display:flex;flex-direction:column;gap:12px}.pg-input{border-radius:12px;border:1px solid rgba(255,255,255,.14);background:#02060e99;color:#fff;padding:14px 12px;font-size:16px;outline:none;box-shadow:0 2px #0006 inset,0 10px 30px #0003}.pg-input:focus{border-color:#3c82f68c;box-shadow:0 0 0 3px #3c82f62e,0 20px 60px #3c82f60f}.pg-actions{display:flex;gap:10px;justify-content:center;align-items:center}.pg-btn{border-radius:10px;padding:10px 14px;font-weight:700;border:1px solid rgba(255,255,255,.14);cursor:pointer;min-width:92px}.pg-btn.ghost{background:transparent;color:#fff}.pg-btn.solid{background:#3c82f6;color:#fff;border-color:color-mix(in oklab,#3C82F6,white 12%);box-shadow:0 12px 28px color-mix(in oklab,#3C82F6,black 70%)}.pg-btn:active{transform:translateY(1px)}.pg-error{color:#fca5a5;font-weight:600;text-align:center;margin-top:2px}.pg-success{display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 4px 6px}.pg-confetti{font-size:24px;animation:pgPop .6s both}@keyframes pgPop{0%{transform:scale(.7);opacity:.5}to{transform:none;opacity:1}}.pg-link,.pg-link:visited{color:#79a9ff;text-decoration:none;font-weight:600;border-bottom:1px solid rgba(121,169,255,.55);padding-bottom:1px;transition:all .18s ease}.pg-link:hover{color:#a8c6ff;border-bottom-color:#a8c6ffe6;text-shadow:0 0 12px rgba(121,169,255,.35)}.pg-link-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;padding:0 0 1px;border-top:0;border-right:0;border-left:0;background:transparent;font:inherit;cursor:pointer}.pg-link-button:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px;border-radius:3px}:root{--page-bg: #05070d;--page-bg-2: #0b111c;--section-bg: rgba(15, 23, 42, .34);--surface-bg: rgba(17, 24, 39, .72);--surface-bg-strong: rgba(3, 7, 18, .88);--glass-subtle: rgba(255, 255, 255, .045);--glass-default: rgba(255, 255, 255, .075);--glass-strong: rgba(2, 6, 23, .78);--glass-floating: rgba(4, 10, 24, .9);--navbar-bg: rgba(0, 0, 0, .78);--footer-bg: rgba(2, 6, 23, .72);--color-text: #f8fafc;--color-primary-text: #f8fafc;--color-secondary-text: #cbd5e1;--color-muted: #94a3b8;--text-primary: var(--color-primary-text);--text-secondary: var(--color-secondary-text);--text-muted: var(--color-muted);--color-icon: #bfdbfe;--color-link: #60a5fa;--color-link-hover: #93c5fd;--link-color: var(--color-link);--link-hover: var(--color-link-hover);--color-border: rgba(148, 163, 184, .22);--color-border-strong: rgba(147, 197, 253, .34);--border-subtle: var(--color-border);--border-strong: var(--color-border-strong);--theme-border: rgba(255, 255, 255, .12);--theme-border-strong: rgba(147, 197, 253, .36);--color-focus: #93c5fd;--focus-ring: color-mix(in srgb, var(--color-focus) 42%, transparent);--input-bg: rgba(2, 6, 23, .66);--input-text: #f8fafc;--input-placeholder: #9ca3af;--placeholder-text: var(--input-placeholder);--button-primary-bg: #2563eb;--button-primary-text: #ffffff;--button-primary-border: rgba(147, 197, 253, .36);--button-secondary-bg: rgba(96, 165, 250, .1);--shadow-soft: 0 18px 46px rgba(0, 0, 0, .34);--shadow-card: 0 20px 54px rgba(0, 0, 0, .32);--theme-active-shadow: 0 0 0 3px rgba(96, 165, 250, .22), 0 10px 24px rgba(37, 99, 235, .24);--ambient-glow: radial-gradient(circle at 86% 8%, rgba(96, 165, 250, .14), transparent 28%), radial-gradient(circle at 12% 18%, rgba(59, 130, 246, .08), transparent 32%), linear-gradient(180deg, #05070d 0%, #0b111c 48%, #08111d 100%);--success: #22c55e;--error: #f87171;--warning: #f59e0b}body.dark-theme{--page-bg: #05070d;--page-bg-2: #0b111c;--section-bg: rgba(15, 23, 42, .34);--surface-bg: rgba(17, 24, 39, .7);--surface-bg-strong: rgba(3, 7, 18, .9);--glass-subtle: rgba(255, 255, 255, .045);--glass-default: rgba(255, 255, 255, .075);--glass-strong: rgba(2, 6, 23, .78);--glass-floating: rgba(4, 10, 24, .9);--navbar-bg: rgba(0, 0, 0, .78);--footer-bg: rgba(2, 6, 23, .72);--color-text: #f8fafc;--color-primary-text: #f8fafc;--color-secondary-text: #cbd5e1;--color-muted: #94a3b8;--color-icon: #bfdbfe;--color-link: #60a5fa;--color-link-hover: #93c5fd;--color-border: rgba(148, 163, 184, .22);--color-border-strong: rgba(147, 197, 253, .34);--ambient-glow: radial-gradient(circle at 86% 8%, rgba(96, 165, 250, .14), transparent 28%), radial-gradient(circle at 12% 18%, rgba(59, 130, 246, .08), transparent 32%), linear-gradient(180deg, #05070d 0%, #0b111c 48%, #08111d 100%)}body.light-theme{--page-bg: #f8fbff;--page-bg-2: #eef5ff;--section-bg: rgba(255, 255, 255, .62);--surface-bg: rgba(255, 255, 255, .72);--surface-bg-strong: rgba(255, 255, 255, .88);--glass-subtle: rgba(255, 255, 255, .56);--glass-default: rgba(255, 255, 255, .72);--glass-strong: rgba(255, 255, 255, .84);--glass-floating: rgba(255, 255, 255, .9);--navbar-bg: rgba(255, 255, 255, .78);--footer-bg: rgba(242, 247, 255, .78);--color-text: #111827;--color-primary-text: #111827;--color-secondary-text: #374151;--color-muted: #64748b;--color-icon: #1d4ed8;--color-link: #2563eb;--color-link-hover: #1d4ed8;--color-border: rgba(30, 64, 175, .16);--color-border-strong: rgba(37, 99, 235, .28);--theme-border: rgba(37, 99, 235, .16);--theme-border-strong: rgba(37, 99, 235, .3);--input-bg: rgba(255, 255, 255, .82);--input-text: #111827;--input-placeholder: #64748b;--button-primary-bg: #2563eb;--button-primary-text: #ffffff;--button-primary-border: rgba(37, 99, 235, .35);--button-secondary-bg: rgba(37, 99, 235, .08);--shadow-soft: 0 18px 48px rgba(37, 99, 235, .12), 0 8px 22px rgba(15, 23, 42, .08);--shadow-card: 0 20px 52px rgba(37, 99, 235, .12);--theme-active-shadow: 0 0 0 3px rgba(37, 99, 235, .13), 0 10px 24px rgba(37, 99, 235, .16);--ambient-glow: radial-gradient(circle at 82% 8%, rgba(96, 165, 250, .28), transparent 30%), radial-gradient(circle at 18% 12%, rgba(196, 181, 253, .26), transparent 34%), radial-gradient(circle at 44% 96%, rgba(186, 230, 253, .42), transparent 34%), linear-gradient(180deg, #ffffff 0%, #f6f9ff 44%, #edf5ff 100%)}html,body,#root{min-height:100%;background:var(--ambient-glow)}body{color:var(--color-primary-text);background-color:var(--page-bg)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:var(--ambient-glow)}a{color:var(--color-link)}a:hover{color:var(--color-link-hover)}.glass-subtle,.worked-for-container,.project,.blog-card,.post-card,.contact-container,.pg-card{background:var(--glass-default);border-color:var(--color-border);box-shadow:var(--shadow-card);backdrop-filter:blur(14px) saturate(145%);-webkit-backdrop-filter:blur(14px) saturate(145%)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.glass-subtle,.worked-for-container,.project,.blog-card,.post-card,.contact-container,.pg-card,header,.mobile-glass-menu,.mp-floating-ai,.mp-floating-ai-launcher{background:var(--surface-bg-strong)!important}}header{top:max(16px,env(safe-area-inset-top));height:64px;width:min(1190px,calc(100% - 32px));border:1px solid var(--color-border);background:var(--navbar-bg);box-shadow:var(--shadow-soft);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%)}.header-grid{grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr);gap:18px}.nav-col{justify-content:center}.role-col{justify-content:flex-end;gap:12px}.desktop-menu a,.desktop-menu li a,.nav-dropdown-toggle,.menu-brand,.menu-row,.btn-ghost{color:var(--color-primary-text)}.desktop-menu li a:hover,.desktop-menu li .active,.nav-dropdown-toggle:hover,.nav-dropdown-toggle:focus-visible{color:var(--color-link)}.nav-dropdown-menu,.mobile-glass-menu{border-color:var(--color-border);background:var(--glass-floating);box-shadow:var(--shadow-soft);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%)}.tooltiptext-bottom{color:var(--color-primary-text);background:var(--surface-bg-strong);border:1px solid var(--color-border)}.hamburger-btn.clean span{background:var(--color-primary-text)}h1,h2,h3,h4,.intro-left h1,.intro-left .bio,.contact-header,.projects-header-centered h2,.blog-title,.post-title,.pg-title{color:var(--color-primary-text)}p,li,.bio,.connect,.contact-description,.project p,.blog-card p,.post-card p,.pg-sub,.form-group label{color:var(--color-secondary-text)}.social-icons a,.desktop-menu .nav-dropdown-menu a{color:var(--color-muted)}.social-icons a:hover,.desktop-menu .nav-dropdown-menu a:hover{color:var(--color-link)}.resume-button,.send-message-button,.view-project-btn,.tab-toggle.active,.btn-solid,.pg-btn.solid{color:var(--button-primary-text);background:var(--button-primary-bg);border-color:var(--button-primary-border)}.tab-toggle,.pg-btn.ghost{color:var(--color-primary-text);background:var(--button-secondary-bg);border-color:var(--color-border)}input,textarea,.pg-input{color:var(--input-text);background:var(--input-bg);border-color:var(--color-border)}input::placeholder,textarea::placeholder,.pg-input::placeholder{color:var(--input-placeholder)}footer,.footer{color:var(--color-secondary-text);background:var(--footer-bg)}.light-theme img.logo,.light-theme .landing-logo{filter:drop-shadow(0 4px 12px rgba(15,23,42,.18))}.light-theme .project img{background:#ffffffd6}@media (max-width: 767px){header{width:min(100% - 16px,640px);height:58px;margin-top:max(10px,env(safe-area-inset-top));border-radius:999px}.header-grid{grid-template-columns:34px minmax(0,1fr);gap:8px;padding:0 10px 0 14px}.nav-col{display:none}.role-col{min-width:0;justify-content:flex-end}.theme-switcher{gap:3px;padding:3px}.hamburger-btn.clean{flex:0 0 42px;width:42px;height:42px}}@media (max-width: 360px){.theme-btn{width:32px;height:32px}.hamburger-btn.clean{flex-basis:38px;width:38px}}body.light-theme{--page-bg: #f6f8fc;--page-bg-2: #edf4ff;--section-bg: rgba(255, 255, 255, .82);--surface-bg: rgba(255, 255, 255, .88);--surface-bg-strong: rgba(255, 255, 255, .96);--glass-subtle: rgba(255, 255, 255, .72);--glass-default: rgba(255, 255, 255, .88);--glass-strong: rgba(255, 255, 255, .96);--glass-floating: rgba(255, 255, 255, .94);--navbar-bg: rgba(255, 255, 255, .86);--footer-bg: rgba(240, 246, 255, .82);--color-text: #0f172a;--color-primary-text: #0f172a;--color-secondary-text: #334155;--color-muted: #5b6b80;--color-icon: #1e40af;--color-link: #1d4ed8;--color-link-hover: #1e3a8a;--color-border: rgba(30, 64, 175, .18);--color-border-strong: rgba(37, 99, 235, .36);--theme-border: rgba(37, 99, 235, .18);--theme-border-strong: rgba(37, 99, 235, .36);--input-bg: rgba(255, 255, 255, .92);--input-text: #0f172a;--input-placeholder: #64748b;--button-primary-bg: #2563eb;--button-primary-text: #ffffff;--button-primary-border: rgba(37, 99, 235, .42);--button-secondary-bg: rgba(37, 99, 235, .09);--shadow-soft: 0 18px 42px rgba(30, 64, 175, .14), 0 8px 20px rgba(15, 23, 42, .08);--shadow-card: 0 20px 44px rgba(30, 64, 175, .14), 0 3px 12px rgba(15, 23, 42, .06);--ambient-glow: radial-gradient(circle at 82% 6%, rgba(96, 165, 250, .24), transparent 28%), radial-gradient(circle at 18% 10%, rgba(196, 181, 253, .2), transparent 34%), radial-gradient(circle at 48% 100%, rgba(186, 230, 253, .34), transparent 34%), linear-gradient(180deg, #ffffff 0%, #f6f8fc 44%, #eef5ff 100%)}body.light-theme :where(h1,h2,h3,h4,h5,h6,.blog-title,.post-title,.contact-header,.projects-header-centered h2){color:var(--color-primary-text)}body.light-theme :where(p,li,.bio,.blog-intro,.contact-description,.project p,.blog-card p,.blog-count,.work-count,.copyright,.pg-sub){color:var(--color-secondary-text)}body.light-theme :where(.project,.blog-card,.blog-discovery-cta,.worked-for-container,.contact-container,.skills-category,.pg-card,.blog-empty,.no-results){color:var(--color-primary-text);background:var(--glass-default);border-color:var(--color-border);box-shadow:var(--shadow-card)}body.light-theme .project :is(h2,h3),body.light-theme .project-card h3,body.light-theme .blog-card h2,body.light-theme .skills-category h3,body.light-theme .blog-discovery-copy h2,body.light-theme .blog-post-header h1,body.light-theme .blog-article-content h2,body.light-theme .blog-article-content h3{color:var(--color-primary-text)}body.light-theme .project p,body.light-theme .project-card p,body.light-theme .blog-card p,body.light-theme .blog-discovery-copy p,body.light-theme .blog-post-header p,body.light-theme .blog-article-content p,body.light-theme .blog-post-figure figcaption{color:var(--color-secondary-text)}body.light-theme .project{background:linear-gradient(180deg,#fffffff0,#eff6ffd6);border-color:#2563eb2e}body.light-theme .view-project-btn,body.light-theme .project:hover .view-project-btn,body.light-theme .view-project-btn:focus-visible{color:#fff;background:#2563ebf5;border:1px solid rgba(255,255,255,.42);box-shadow:0 16px 32px #2563eb42}body.light-theme .tab-toggle,body.light-theme #work .tab-toggle.soft{color:#334155;background:#ffffffb8;border-color:#1e40af24}body.light-theme .tab-toggle:hover,body.light-theme #work .tab-toggle.soft:hover{color:#0f172a;background:#dbeafeb8;border-color:#2563eb47}body.light-theme .tab-toggle.active,body.light-theme #work .tab-toggle.soft.active{color:#fff;background:#2563eb;border-color:#2563eb66;box-shadow:0 10px 24px #2563eb38}body.light-theme .blog-meta,body.light-theme .blog-discovery-copy>span,body.light-theme .blog-back-link,body.light-theme .blog-author-row,body.light-theme .blog-author-row strong{color:var(--color-link)}body.light-theme .blog-tags span,body.light-theme .blog-pill{color:#1e3a8a;background:#dbeafebd;border-color:#2563eb33}body.light-theme .blog-card-image,body.light-theme .blog-post-image{background:radial-gradient(700px 420px at 80% 100%,rgba(96,165,250,.14),transparent 60%),radial-gradient(600px 360px at 0% 0%,rgba(196,181,253,.16),transparent 60%),#eff6ffe6;border-color:#2563eb29}body.light-theme .blog-discovery-links a,body.light-theme .blog-cta-links a,body.light-theme .blog-cta-actions a,body.light-theme .button-glass,body.light-theme .cs-button.outline{color:#1e3a8a;background:#ffffffd6;border-color:#2563eb38}body.light-theme .blog-discovery-links a:first-child,body.light-theme .blog-cta-primary,body.light-theme .cs-button,body.light-theme .resume-button,body.light-theme .send-message-button,body.light-theme .btn-solid,body.light-theme .pg-btn.solid{color:#fff;background:#2563eb;border-color:#2563eb61}body.light-theme :where(input,textarea,.pg-input,.sb-input input){color:var(--input-text);background:var(--input-bg);border-color:var(--color-border)}body.light-theme :where(input,textarea,.pg-input,.sb-input input)::placeholder{color:var(--input-placeholder);opacity:1}body.light-theme .sb-input,body.light-theme .search-bar{color:var(--input-text);background:var(--input-bg);border-color:var(--color-border)}body.light-theme .sb-input svg,body.light-theme .social-icons a,body.light-theme .mobile-menu-icon,body.light-theme .hamburger-btn span{color:var(--color-icon)}body.light-theme footer,body.light-theme .social-links,body.light-theme .connect{color:var(--color-secondary-text)}body.light-theme .case-study-intro,body.light-theme .case-study-section,body.light-theme .case-study-section-recommendations,body.light-theme .blog-article-content,body.light-theme .blog-article-content>section,body.light-theme .blog-inline-figure{color:var(--color-primary-text);background:transparent}body.light-theme .case-study-section{border-color:#2563eb3d}body.light-theme :where(.project-type,.project-description,.cs-three-col>div,.cs-list){color:var(--color-secondary-text)}body.light-theme .cs-three-col h3,body.light-theme .case-study-section h2,body.light-theme .case-study-section h3{color:var(--color-primary-text)}.theme-switcher{display:inline-flex;align-items:center;justify-content:flex-end;gap:2px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.theme-btn{position:relative;isolation:isolate;display:inline-grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:50%;color:var(--color-icon, #bfdbfe);background:transparent;box-shadow:none;cursor:pointer;transition:transform .18s ease}.theme-btn:before{content:"";position:absolute;z-index:-1;width:34px;height:34px;border:1px solid transparent;border-radius:50%;background:transparent;box-shadow:none;transition:transform .18s ease}.theme-btn.active{color:var(--color-link, #60a5fa);background:transparent;border-color:transparent;box-shadow:none}.theme-btn.active:before{border-color:color-mix(in srgb,var(--color-link, #60a5fa) 28%,transparent);background:color-mix(in srgb,var(--color-link, #60a5fa) 14%,transparent);box-shadow:0 0 18px color-mix(in srgb,var(--color-link, #60a5fa) 18%,transparent)}@media (hover: hover) and (pointer: fine){.theme-btn:hover{color:var(--color-link-hover, #93c5fd);transform:translateY(-1px)}.theme-btn:hover:before{border-color:color-mix(in srgb,var(--color-link, #60a5fa) 20%,transparent);background:color-mix(in srgb,var(--color-link, #60a5fa) 9%,transparent)}.theme-btn.active:hover:before{background:color-mix(in srgb,var(--color-link, #60a5fa) 18%,transparent);transform:scale(1.03)}}.theme-btn:active{transform:translateY(0) scale(.96)}.theme-btn:focus-visible{outline:3px solid var(--color-focus, #93c5fd);outline-offset:1px}.theme-btn svg,.theme-btn i{position:relative;z-index:1;display:block;width:18px;height:18px;fill:currentColor;font-size:16px;line-height:1}body.light-theme .theme-btn{color:#4a5870}body.light-theme .theme-btn.active{color:#1f5cc2}body.light-theme .theme-btn.active:before{border-color:#2d60b833;background:#457cdb1c;box-shadow:0 6px 16px #325ca81f}body.dark-theme .theme-btn:not(.active){color:#aebbd0}.theme-btn:disabled{opacity:.48;filter:grayscale(1);pointer-events:none;cursor:not-allowed}@media (prefers-reduced-motion: reduce){.theme-btn,.theme-btn:before{transition:none}}.theme-fx-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;contain:strict}.theme-fx-root.is-paused *{animation-play-state:paused!important}.theme-fx-root .theme-star{position:absolute;width:var(--star-size, 2px);height:var(--star-size, 2px);border-radius:50%;background:rgba(255,255,255,var(--star-opacity, .75));box-shadow:0 0 calc(var(--star-size, 2px) * 3) #bfdbfe85;animation:theme-star-twinkle var(--star-duration, 5s) ease-in-out var(--star-delay, 0s) infinite}@keyframes theme-star-twinkle{0%,to{opacity:.42;transform:scale(.9)}50%{opacity:1;transform:scale(1.12)}}.light-theme .theme-fx-root{display:none}@media (prefers-reduced-motion: reduce){.theme-fx-root *{animation:none!important;transition:none!important}}.landing-container{position:relative;width:100%;min-height:100svh;height:100dvh;overflow:hidden;background:linear-gradient(145deg,#0f0c29,#000,#0f0c29);background-size:100% 100%;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:20px;box-sizing:border-box}.orb-container{width:min(760px,96vw,94svh);height:min(760px,96vw,94svh);min-width:220px;min-height:220px;position:relative;z-index:2;filter:drop-shadow(0 0 30px rgba(255,255,255,.1))}.orb-container canvas{display:block;width:100%;height:100%;mix-blend-mode:screen;transition:transform .3s ease}.orb-container canvas:hover{transform:scale(1.05)}.overlay-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:3;color:#fff;max-width:90vw;width:100%;padding:0 20px}.overlay-content img.landing-logo{width:64px;height:auto;max-width:120px;margin-bottom:20px}.overlay-content h1{font-size:1.6rem;margin-bottom:12px;font-weight:700;background:linear-gradient(45deg,#fff,#ccc);background-clip:text;-webkit-background-clip:text;color:transparent}.overlay-content p{font-size:1rem;font-weight:400;color:#ddd;margin-bottom:18px;line-height:1.4;letter-spacing:.3px}.landing-theme-choice{display:grid;justify-items:center;gap:2px;margin:0 auto 18px}.landing-theme-choice>span{color:#e2e8f0c7;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.landing-theme-switcher{justify-content:center}.landing-theme-switcher .theme-btn:before{background:#ffffff0a}body.light-theme .landing-container{background:radial-gradient(circle at 18% 15%,rgba(197,181,253,.58),transparent 34%),radial-gradient(circle at 82% 12%,rgba(125,211,252,.56),transparent 34%),radial-gradient(circle at 74% 82%,rgba(253,186,116,.34),transparent 36%),linear-gradient(145deg,#fbfdff,#eef5ff 54%,#f9f2ff)}body.light-theme .landing-container .orb-container{filter:drop-shadow(0 20px 44px rgba(73,103,171,.2))}body.light-theme .landing-container .orb-container canvas{mix-blend-mode:multiply;opacity:.82}body.light-theme .overlay-content{color:#161922}body.light-theme .overlay-content h1{background:linear-gradient(45deg,#10131a,#315da8);background-clip:text;-webkit-background-clip:text}body.light-theme .overlay-content p,body.light-theme .landing-theme-choice>span{color:#4b5568}body.light-theme .landing-theme-switcher .theme-btn:before{background:#ffffff57}body.light-theme .enter-button{color:#173f8f;border-color:#245ec73d;background:#ffffff70;box-shadow:0 12px 28px #39579121}.enter-button{background:linear-gradient(135deg,#ffffff0d,#fff0);border:1.5px solid rgba(255,255,255,.25);color:#fff;font-size:1rem;padding:12px 32px;border-radius:30px;cursor:pointer;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:all .4s ease;font-weight:500;letter-spacing:.5px;box-shadow:0 0 0 transparent}.enter-button:hover{background:linear-gradient(135deg,#ffffff26,#ffffff0d);transform:scale(1.05);color:#fff;box-shadow:0 0 18px #ffffff26}@media (max-width: 768px){.orb-container{width:min(800px,104vw,102svh);height:min(800px,104vw,102svh)}.overlay-content h1{font-size:1.5rem;margin-bottom:16px}.overlay-content p{font-size:1rem;margin-bottom:16px}.enter-button{font-size:.9rem;padding:8px 20px}.overlay-content img.landing-logo{max-width:clamp(48px,10vw,72px);margin-bottom:clamp(8px,1.6vw,12px)}}@media (max-width: 480px){.overlay-content h1{font-size:1rem;margin-bottom:0}.overlay-content p{font-size:.82rem;margin-bottom:14px}.enter-button{font-size:.82rem;padding:6px 16px;border-radius:24px}.overlay-content img.landing-logo{max-width:44px;margin-bottom:6px}.landing-theme-choice{margin-bottom:14px}}:root{--premium-radius: 16px;--premium-blur: blur(24px) saturate(155%);--premium-ease: cubic-bezier(.22, 1, .36, 1);--premium-fast: .18s;--premium-medium: .32s;--type-display-size: clamp(2rem, 3.4vw, 3rem);--type-case-title-size: clamp(1.9rem, 3vw, 2.75rem);--type-page-title-size: clamp(1.75rem, 2.5vw, 2.25rem);--type-section-title-size: clamp(1.4rem, 2vw, 1.9rem);--type-heading-weight: 620;--type-heading-line-height: 1.12;--type-heading-tracking: -.026em}body.dark-theme{--page-bg: #020203;--page-bg-2: #09090b;--color-page: #020203;--color-page-secondary: #09090b;--color-heading: #ffffff;--color-primary-text: #f7f8fb;--color-secondary-text: #c6c9d2;--color-muted: #9499a8;--color-subtle: #8b91a0;--color-link: #75a7ff;--color-link-hover: #a8c7ff;--color-icon: #bfd4ff;--color-border: rgba(255, 255, 255, .11);--color-border-strong: rgba(145, 180, 255, .3);--surface-bg: rgba(15, 16, 20, .7);--surface-bg-strong: rgba(7, 8, 11, .9);--glass-subtle: rgba(255, 255, 255, .035);--glass-default: rgba(12, 13, 17, .68);--glass-strong: rgba(7, 8, 11, .84);--glass-floating: rgba(7, 8, 12, .9);--navbar-bg: rgba(5, 6, 9, .82);--footer-bg: transparent;--input-bg: rgba(7, 8, 12, .76);--input-text: #f7f8fb;--input-placeholder: #9da3b2;--button-primary-bg: linear-gradient(135deg, #3275ed 0%, #2459c7 100%);--button-primary-text: #ffffff;--button-primary-border: rgba(151, 187, 255, .38);--button-secondary-bg: rgba(255, 255, 255, .055);--shadow-soft: 0 18px 48px rgba(0, 0, 0, .46);--shadow-card: 0 1px 0 rgba(255, 255, 255, .045) inset, 0 20px 54px rgba(0, 0, 0, .38);--premium-card-hover: 0 1px 0 rgba(255, 255, 255, .08) inset, 0 30px 76px rgba(0, 0, 0, .58), 0 0 38px rgba(54, 112, 230, .14);--portrait-shadow: 0 34px 70px rgba(0, 0, 0, .44), 0 16px 46px rgba(72, 129, 236, .18), 0 6px 22px rgba(247, 190, 96, .1);--portrait-shadow-hover: 0 38px 78px rgba(0, 0, 0, .48), 0 20px 54px rgba(72, 129, 236, .24), 0 8px 26px rgba(247, 190, 96, .13);--premium-page-gradient: radial-gradient(circle at 88% 7%, rgba(62, 119, 236, .13), transparent 27%), radial-gradient(circle at 10% 24%, rgba(64, 89, 146, .08), transparent 30%), radial-gradient(circle at 48% 78%, rgba(46, 53, 70, .09), transparent 35%), linear-gradient(180deg, #020203 0%, #08090c 48%, #030305 100%)}body.light-theme{--page-bg: #eef3fb;--page-bg-2: #e8f0fa;--color-page: #eef3fb;--color-page-secondary: #e8f0fa;--color-heading: #10131a;--color-primary-text: #161922;--color-secondary-text: #424a5b;--color-muted: #626d80;--color-subtle: #667085;--color-link: #245ec7;--color-link-hover: #173f8f;--color-icon: #1f56b5;--color-border: rgba(34, 64, 112, .16);--color-border-strong: rgba(45, 91, 170, .32);--surface-bg: rgba(255, 255, 255, .74);--surface-bg-strong: rgba(255, 255, 255, .92);--glass-subtle: rgba(255, 255, 255, .54);--glass-default: rgba(255, 255, 255, .72);--glass-strong: rgba(255, 255, 255, .86);--glass-floating: rgba(255, 255, 255, .9);--navbar-bg: rgba(255, 255, 255, .82);--footer-bg: transparent;--input-bg: rgba(255, 255, 255, .78);--input-text: #161922;--input-placeholder: #697386;--button-primary-bg: linear-gradient(135deg, #3478ef 0%, #245cc7 100%);--button-primary-text: #ffffff;--button-primary-border: rgba(36, 92, 199, .36);--button-secondary-bg: rgba(255, 255, 255, .58);--shadow-soft: 0 18px 48px rgba(48, 72, 116, .14), 0 5px 16px rgba(31, 41, 61, .07);--shadow-card: 0 1px 0 rgba(255, 255, 255, .82) inset, 0 20px 48px rgba(48, 72, 116, .13), 0 4px 14px rgba(31, 41, 61, .06);--premium-card-hover: 0 1px 0 rgba(255, 255, 255, .96) inset, 0 30px 72px rgba(64, 91, 143, .17), 0 0 36px rgba(93, 143, 235, .12);--portrait-shadow: 0 32px 64px rgba(45, 67, 111, .22), 0 15px 38px rgba(36, 94, 199, .14), 0 5px 18px rgba(220, 145, 50, .09);--portrait-shadow-hover: 0 36px 72px rgba(45, 67, 111, .25), 0 18px 46px rgba(36, 94, 199, .18), 0 7px 22px rgba(220, 145, 50, .11);--premium-page-gradient: radial-gradient(ellipse 58% 46% at 9% 18%, rgba(190, 115, 255, .34), transparent 68%), radial-gradient(ellipse 52% 40% at 92% 15%, rgba(96, 180, 255, .18), transparent 72%), radial-gradient(ellipse 60% 48% at 88% 78%, rgba(255, 228, 75, .48), transparent 72%), radial-gradient(ellipse 44% 36% at 12% 84%, rgba(255, 160, 200, .22), transparent 74%), radial-gradient(ellipse 40% 34% at 52% 45%, rgba(182, 148, 255, .1), transparent 76%), linear-gradient(135deg, #fafbff 0%, #eef3fb 52%, #f9fbff 100%)}html{background:var(--page-bg)}html.dark-theme{background:#020203}html.light-theme{background:#eef3fb}@media (min-width: 1025px){html:has(.site-header){scrollbar-gutter:stable}}body{color:var(--color-primary-text);background:var(--premium-page-gradient);background-attachment:scroll}#root{background:transparent}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}.protected-route-shell{min-height:calc(100vh - 128px)}body:before{background:var(--premium-page-gradient)}main,main>section,#projects,#skills,#contact,#work.work-wrap,#blog.blog-wrap,.blog-post-wrap,.case-study-page,.case-study-intro,.case-study-section-recommendations{background-color:transparent}header{isolation:isolate;border-color:var(--color-border-strong);background:linear-gradient(180deg,rgba(255,255,255,.055),transparent 58%),var(--navbar-bg);background-clip:padding-box;box-shadow:0 1px #ffffff17 inset,0 18px 54px #00000075,0 0 34px #417df529;backdrop-filter:blur(26px) saturate(165%);-webkit-backdrop-filter:blur(26px) saturate(165%)}.header-grid{grid-template-columns:minmax(100px,1fr) auto minmax(100px,1fr);gap:16px}.logo-link{min-width:44px;min-height:44px}.role-col{gap:6px}.desktop-menu{gap:clamp(14px,1.8vw,28px)}.desktop-menu>li>a{position:relative;display:inline-flex;align-items:center;min-height:44px;padding-inline:2px;color:var(--color-primary-text);font-weight:520}.desktop-menu>li>a:after{content:"";position:absolute;left:50%;bottom:5px;width:16px;height:2px;border-radius:999px;background:var(--color-link);opacity:0;transform:translate(-50%,3px) scaleX(.6);transition:opacity .18s ease,transform .18s ease}.desktop-menu>li>a.active:after,.desktop-menu>li>a[aria-current]:after{opacity:1;transform:translate(-50%) scaleX(1)}body.light-theme .desktop-menu>li>a{color:#202735}body.light-theme .desktop-menu>li>a:hover,body.light-theme .desktop-menu>li>a.active,body.light-theme .desktop-menu>li>a[aria-current]{color:#184fad}.theme-switcher{gap:2px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.mobile-glass-menu .menu-row.active,.mobile-glass-menu .menu-row[aria-current=page]{color:var(--color-link);background:color-mix(in srgb,var(--color-link) 9%,transparent)}.route-breadcrumbs{display:none}@media (min-width: 1025px){.route-breadcrumbs{display:block;width:min(100% - 32px,1100px);margin:8px auto 0;padding:4px 0 7px;box-sizing:border-box;color:var(--color-muted);font-size:.78rem}.route-breadcrumbs ol{display:flex;max-width:100%;margin:0;padding:0;flex-wrap:wrap;align-items:center;gap:6px;list-style:none;user-select:none;-webkit-user-select:none}.route-breadcrumbs li{display:inline-flex;min-width:0;align-items:center;gap:6px}.route-breadcrumbs li:not(:last-child):after{content:"/";color:var(--color-muted);opacity:.58}.route-breadcrumbs a{display:inline-flex;min-height:32px;align-items:center;color:var(--color-link);font-weight:300;line-height:1.3;transition:color .18s ease}.route-breadcrumbs a:hover{color:var(--color-primary-text)}.route-breadcrumbs a:focus-visible{border-radius:4px;outline:3px solid var(--color-focus);outline-offset:2px}.route-breadcrumbs [aria-current=page]{max-width:min(48vw,520px);overflow:hidden;color:var(--color-primary-text);font-weight:300;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.route-breadcrumbs--embedded{width:100%;margin:0 0 16px}.route-breadcrumbs--article,.route-breadcrumbs--game{margin-bottom:13px}.route-breadcrumbs--not-found{width:min(100% - 32px,1100px);margin:0 auto 10px}}h1,h2{font-weight:var(--type-heading-weight)}.intro-left h1,.detail-hero-copy h1,.education-page .education-hero h1,.detail-page--missing h1,.not-found-wrapper h1{margin-block:0;font-size:var(--type-display-size);font-weight:var(--type-heading-weight);line-height:var(--type-heading-line-height);letter-spacing:var(--type-heading-tracking);text-wrap:balance}.case-study-intro h1,.wordpress-case-study .case-study-intro h1,.datamind-case-study .case-study-intro h1{font-size:var(--type-case-title-size);font-weight:var(--type-heading-weight);line-height:var(--type-heading-line-height);letter-spacing:var(--type-heading-tracking);text-wrap:balance}.work-title,.blog-title,.play-header h1{font-size:var(--type-page-title-size);font-weight:var(--type-heading-weight);line-height:var(--type-heading-line-height);letter-spacing:var(--type-heading-tracking);text-wrap:balance}.blog-post-header h1,.game-page-title,.landing-heading{font-weight:var(--type-heading-weight)}.contact-header,.projects-header-centered h2,.worked-for-heading h2,#skills>h2,.education-preview-heading h2,.education-preview--about .education-preview-heading h2,.detail-section-heading h2,.education-page .detail-section-heading h2,.detail-contact-cta h2,.education-page .education-contact-copy h2,.case-study-section h2,.case-study-intro h2,.wordpress-case-study .case-study-section>h2,.blog-discovery-copy h2,.blog-visual-gallery h2,.blog-article-content h2,.blog-article-cta h2,.blog-references h2,.blog-related h2{font-size:var(--type-section-title-size);font-weight:var(--type-heading-weight);line-height:1.18;letter-spacing:-.02em;text-wrap:balance}.project :is(h2,h3),.blog-card h2,.game-library-card h2,.education-entry-heading h2,.education-preview-card h3{font-weight:var(--type-heading-weight)}.section-eyebrow,.worked-for-eyebrow,.detail-hero-role,.education-hero-highlights strong{font-weight:var(--type-heading-weight)}.detail-hero,body.light-theme .detail-hero,.education-page .education-hero,body.light-theme .education-page .education-hero{padding:clamp(22px,3vw,36px) 0 clamp(28px,4vw,48px);overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.detail-hero-mark{min-height:150px}.detail-hero-mark .experience-logo--tpm{font-size:clamp(1.8rem,3vw,3rem)}@media (max-width: 767px){.detail-hero,body.light-theme .detail-hero,.education-page .education-hero,body.light-theme .education-page .education-hero{gap:18px;padding:16px 0 30px;border-radius:0}.detail-hero-mark{min-height:96px}}.work-deferred-section{content-visibility:auto;contain-intrinsic-size:auto 560px}.nav-dropdown-menu,.mobile-glass-menu,.tooltiptext-bottom{border-color:var(--color-border-strong);background:var(--glass-floating);box-shadow:var(--shadow-soft);backdrop-filter:var(--premium-blur);-webkit-backdrop-filter:var(--premium-blur)}.nav-dropdown-toggle{width:26px;height:26px}.theme-btn{width:44px;height:44px;min-width:44px;min-height:44px}.desktop-menu .nav-dropdown-menu a:focus-visible,.blog-back-link:focus-visible,.blog-toc a:focus-visible,.blog-discovery-links a:focus-visible,.blog-cta-links a:focus-visible,.blog-references a:focus-visible,.blog-cta-actions a:focus-visible,.blog-related-card:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.worked-for-container,.project,.skills-category,.contact-container,.agency-hero,.blog-card,.blog-discovery-cta,.blog-toc,.blog-empty,.no-results,.pg-card{color:var(--color-primary-text);border-color:var(--color-border);background:linear-gradient(145deg,rgba(255,255,255,.045),transparent 48%),var(--glass-default);box-shadow:var(--shadow-card);backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%)}body.light-theme :where(.worked-for-container,.project,.skills-category,.contact-container,.agency-hero,.blog-card,.blog-discovery-cta,.blog-toc,.blog-empty,.no-results,.pg-card){background:linear-gradient(145deg,#ffffffc2,#ffffff47),var(--glass-default)}.case-study-section{color:var(--color-primary-text);border-color:var(--color-border-strong);background:radial-gradient(circle at 4% 0%,rgba(74,127,231,.055),transparent 26%),#ffffff05}body.light-theme .case-study-section{background:radial-gradient(circle at 4% 0%,rgba(99,151,244,.09),transparent 28%),#ffffff57}.projects-grid{align-items:stretch}.project{display:flex;flex:0 1 calc((100% - 64px) / 3);flex-direction:column;min-width:0;overflow:hidden;border-radius:var(--premium-radius);transition:transform var(--premium-medium) var(--premium-ease),border-color var(--premium-medium) ease,box-shadow var(--premium-medium) var(--premium-ease),background-color var(--premium-medium) ease}.project-fade,.blog-card{animation-fill-mode:backwards}.project-content{display:flex;flex:1;flex-direction:column;min-width:0;filter:none}.project img,.project-datamind-preview{display:block;transform:translateZ(0) scale(1);transition:transform .22s var(--premium-ease)}.project img{width:100%;height:auto;aspect-ratio:155 / 37;object-fit:cover}.project :is(h2,h3){color:var(--color-primary-text)}.project p{color:var(--color-secondary-text)}.view-project-btn{position:static;inset:auto;display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin-top:auto;padding:10px 18px;box-sizing:border-box;border:1px solid var(--button-primary-border);border-radius:10px;opacity:1;visibility:visible;transform:translateY(0);color:var(--button-primary-text);background:var(--button-primary-bg);box-shadow:0 12px 26px #1f5bcd33;transition:opacity var(--premium-fast) ease,transform var(--premium-medium) var(--premium-ease),box-shadow var(--premium-fast) ease,filter var(--premium-fast) ease}.project:focus-within{border-color:var(--color-border-strong);box-shadow:var(--premium-card-hover)}.project:focus-within .view-project-btn,.view-project-btn:focus-visible{opacity:1;visibility:visible;transform:translateY(-2px)}@media (hover: hover) and (pointer: fine){.project .view-project-btn{opacity:.72;transform:translateY(3px)}.project:hover,body.light-theme .project:hover{z-index:2;border-color:var(--color-border-strong);transform:translateY(-8px);box-shadow:var(--premium-card-hover)}.project:hover .project-content{filter:none}.project:hover img,.project:hover .project-datamind-preview{transform:translateZ(0) scale(1.025)}.project:hover .view-project-btn{opacity:1;visibility:visible;transform:translateY(-2px);box-shadow:0 16px 34px #1f5bcd4d}.cs-mockup-wrapper:hover img{filter:blur(2px) brightness(.6)}.cs-mockup-wrapper:hover .cs-mockup-btn{opacity:1;transform:translate(-50%,-50%) scale(1)}}.cs-mockup-btn{visibility:visible;transform:translate(-50%,-50%) scale(.95);transition:opacity var(--premium-medium) ease,transform var(--premium-medium) var(--premium-ease),background-color var(--premium-fast) ease,box-shadow var(--premium-fast) ease}.cs-mockup-wrapper:focus-within .cs-mockup-btn,.cs-mockup-btn:focus-visible{opacity:1;transform:translate(-50%,-50%) scale(1)}.sb-input,form input,form textarea,.pg-input{color:var(--input-text);border-color:var(--color-border);background:var(--input-bg);box-shadow:0 1px #ffffff0d inset,0 12px 32px #0000001f}:where(.sb-input input,form input,form textarea,.pg-input)::placeholder{color:var(--input-placeholder);opacity:1}.sb-input input{color:var(--input-text)}.sb-input svg,.sb-input .sb-clear{color:var(--color-muted)}.sb-input:focus-within,.sb-dark .sb-input:focus-within{border-color:var(--color-border-strong);background:var(--input-bg);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-focus) 18%,transparent),0 18px 48px #265cbe1f}.sb-panel{color:var(--color-primary-text);border-color:var(--color-border-strong);background:var(--glass-floating);box-shadow:var(--shadow-soft);backdrop-filter:var(--premium-blur);-webkit-backdrop-filter:var(--premium-blur)}.sb-item,.sb-item-title{color:var(--color-primary-text)}.sb-item-meta{color:var(--color-muted)}.sb-item:hover,.sb-item[aria-selected=true]{color:var(--color-primary-text);background:color-mix(in srgb,var(--color-link) 12%,transparent)}.project-toggle,#work .project-toggle.soft{color:var(--color-secondary-text);border:1px solid var(--color-border);background:var(--glass-subtle);box-shadow:0 10px 28px #00000017;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%)}.tab-toggle,#work .tab-toggle.soft{min-height:44px;color:var(--color-secondary-text);border-color:transparent;background:transparent;transition:color var(--premium-fast) ease,border-color var(--premium-fast) ease,background-color var(--premium-fast) ease,box-shadow var(--premium-fast) ease,transform var(--premium-fast) ease}.tab-toggle:hover,.tab-toggle:focus-visible,#work .tab-toggle.soft:hover,#work .tab-toggle.soft:focus-visible{color:var(--color-primary-text);border-color:var(--color-border-strong);background:color-mix(in srgb,var(--color-link) 10%,transparent)}.tab-toggle.active,#work .tab-toggle.soft.active,.tab-toggle[aria-pressed=true]{color:#fff;border-color:var(--button-primary-border);background:var(--button-primary-bg);box-shadow:0 10px 24px #235cc738}:where(.resume-button,.send-message-button,.view-project-btn,.btn-solid,.btn-ghost,.button-glass,.cs-button,.pg-btn,.blog-empty button,.no-results .reset,.blog-discovery-links a,.blog-cta-actions a){transition:transform var(--premium-fast) var(--premium-ease),color var(--premium-fast) ease,background-color var(--premium-fast) ease,border-color var(--premium-fast) ease,box-shadow var(--premium-fast) ease,opacity var(--premium-fast) ease,filter var(--premium-fast) ease}:where(.resume-button,.send-message-button,.btn-solid,.pg-btn.solid,.blog-empty button,.no-results .reset){color:var(--button-primary-text);border:1px solid var(--button-primary-border);background:var(--button-primary-bg);box-shadow:0 12px 28px #235cc738}:where(.btn-ghost,.button-glass,.cs-button.outline,.pg-btn.ghost){color:var(--color-primary-text);border-color:var(--color-border-strong);background:var(--button-secondary-bg)}@media (hover: hover) and (pointer: fine){:where(.resume-button,.send-message-button,.view-project-btn,.btn-solid,.btn-ghost,.button-glass,.cs-button,.pg-btn,.blog-empty button,.no-results .reset,.blog-discovery-links a,.blog-cta-actions a):not(:disabled):hover{transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 16px 34px #235cc745}}:where(.resume-button,.send-message-button,.view-project-btn,.btn-solid,.btn-ghost,.button-glass,.cs-button,.pg-btn,.blog-empty button,.no-results .reset,.blog-discovery-links a,.blog-cta-actions a):not(:disabled):active{transform:translateY(0) scale(.98);filter:brightness(.97)}:where(button,.resume-button,.view-project-btn,.btn-solid,.btn-ghost,.button-glass,.cs-button):disabled,:where(button,.resume-button,.view-project-btn,.btn-solid,.btn-ghost,.button-glass,.cs-button)[aria-disabled=true]{opacity:.52;cursor:not-allowed;box-shadow:none;filter:saturate(.55)}.blog-card{border-radius:var(--premium-radius);transform:none;transition:transform var(--premium-medium) var(--premium-ease),border-color var(--premium-fast) ease,box-shadow var(--premium-medium) var(--premium-ease),background-color var(--premium-fast) ease}.blog-card:hover{transform:none}.blog-card-image,.blog-post-image,.blog-inline-figure img,.blog-visual-card img{border-color:var(--color-border);background:var(--glass-subtle)}.blog-card h2,.blog-post-header h1,.blog-article-content h2,.blog-article-content h3,.blog-toc p,.blog-cta-links strong,.blog-related-card{color:var(--color-primary-text)}.blog-intro,.blog-card p,.blog-post-header p,.blog-article-content p,.blog-article-cta p,.blog-cta-links small,.blog-count,.blog-post-figure figcaption{color:var(--color-secondary-text)}.blog-meta,.blog-author-row,.blog-author-row strong,.blog-back-link,.blog-toc a,.blog-related-card span,.blog-related-card small{color:var(--color-link)}.blog-tags span,.blog-pill,.blog-cta-links a,.blog-related-card,.blog-references a{color:var(--color-primary-text);border-color:var(--color-border);background:var(--glass-subtle)}.blog-discovery-copy>span,.blog-cta-kicker{color:var(--color-link)}.blog-discovery-copy>span svg,.blog-cta-kicker svg,.blog-cta-links a>svg{color:var(--color-icon);border-color:color-mix(in srgb,var(--color-link) 30%,transparent);background:color-mix(in srgb,var(--color-link) 14%,transparent)}.blog-cta-links a:after{color:var(--color-link)}body.light-theme .blog-discovery-links a:not(:first-child) svg,body.light-theme .blog-cta-actions .blog-cta-secondary svg{color:var(--color-link)}body.light-theme .blog-discovery-links a:first-child svg,body.light-theme .blog-cta-actions .blog-cta-primary svg{color:#fff}@media (hover: hover) and (pointer: fine){.blog-card:hover,.blog-card:focus-within{transform:translateY(-6px);border-color:var(--color-border-strong);box-shadow:var(--premium-card-hover)}.blog-card-image img{transition:transform .52s var(--premium-ease)}.blog-card:hover .blog-card-image img,.blog-card:focus-within .blog-card-image img{transform:scale(1.025)}}.contact-container{border-radius:var(--premium-radius)}.form-group label,.contact-header{color:var(--color-primary-text)}.form-status-text{color:var(--success)}.separator{height:1px;background:linear-gradient(90deg,transparent,var(--color-border-strong),transparent)}footer,.footer{color:var(--color-secondary-text);background:transparent}.social-links,.copyright,.connect{color:var(--color-secondary-text)}.mp-floating-ai{border-color:var(--color-border-strong);background:radial-gradient(circle at 12% 0%,rgba(87,145,255,.16),transparent 34%),radial-gradient(circle at 88% 18%,rgba(168,199,255,.11),transparent 32%),var(--glass-floating);box-shadow:0 1px #ffffff13 inset,0 24px 62px #00000075,0 0 34px #3974e72e;backdrop-filter:blur(24px) saturate(155%);-webkit-backdrop-filter:blur(24px) saturate(155%)}body.light-theme .mp-floating-ai{box-shadow:0 1px #fffffff5 inset,0 24px 62px #4152722b,0 0 34px #5b90eb1c}body.light-theme .mp-floating-ai .mp-floating-ai__bubble--bot{color:var(--color-primary-text);border-color:var(--color-border);background:#ffffffc2}body.light-theme .mp-floating-ai .mp-floating-ai__bubble--bot :where(p,span,strong,a){color:inherit}.mp-floating-ai__privacy{flex:0 0 auto;margin:0;padding:0 14px 10px;color:var(--color-secondary-text);background:#02061742;font-size:.75rem;line-height:1.35;text-align:center}body.light-theme .mp-floating-ai__privacy{color:var(--color-secondary-text);background:#edf4ffb8}.mp-floating-ai-launcher{border-color:var(--color-border-strong);background:radial-gradient(circle at top right,rgba(88,146,255,.2),transparent 48%),var(--glass-floating);box-shadow:0 12px 32px #0000004d,0 0 24px #3974e72e}body.light-theme .case-study-page,body.light-theme .not-found-wrapper{color:var(--color-primary-text)}body.light-theme :where(.case-study-page h1,.case-study-page h2,.case-study-page h3,.case-study-page h4,.not-found-wrapper h1,.touchme-text,.game-title,.cr-title){color:var(--color-primary-text)}body.light-theme :where(.case-study-page p,.case-study-page li,.project-description,.not-found-wrapper .cta,.game-intro,.game-stats){color:var(--color-secondary-text)}body.light-theme{--text-light: #161922;--text-gray: #566174;--card-bg: rgba(255, 255, 255, .72);--glass-bg: rgba(255, 255, 255, .58);--box-border: rgba(37, 99, 180, .22);--cr-white: #161922;--cr-glass: rgba(255, 255, 255, .58)}body.light-theme .memory-container,body.light-theme .touchme-box,body.light-theme .cr-box{border-color:var(--color-border-strong);background:var(--glass-default);box-shadow:var(--shadow-card)}body.light-theme .memory-container .card,body.light-theme .memory-container .card-front{color:var(--color-primary-text);border-color:var(--color-border);background:#ffffffbd}.touchme-mobile-note{position:absolute;left:50%;bottom:24px;width:min(420px,calc(100% - 32px));margin:0;transform:translate(-50%);color:var(--color-secondary-text);font-size:.9rem;line-height:1.5}.celebration-content h2{margin:0 0 .5rem;color:var(--color-link);font-size:1.8rem;line-height:1.2}body.light-theme .datamind-case-study :where(h1,h2,h3,h4,strong){color:var(--color-primary-text)}body.light-theme .datamind-case-study :where(p,li,.dm-frame-deep-dive ul){color:var(--color-secondary-text)}body.light-theme .datamind-case-study :where(.dm-hero-meta span,.dm-storybook-nav-title span,.dm-clean-frame-heading p,.dm-frame-explanation p,.dm-doc-panel-section p,.dm-component-card p,.dm-foundation-grid article p,.dm-documentation-model p,.dm-handoff-table>div,.dm-learning-copy p){color:var(--color-secondary-text)}body.light-theme :where(.datamind-case-study .case-study-section,.dm-hero,.dm-hero-meta div,.datamind-case-study .cs-two-col>div,.datamind-case-study .cs-three-col>div,.dm-star-card,.dm-component-card,.dm-foundation-grid article,.dm-frame-explanation>div,.dm-frame-deep-dive>div,.dm-documentation-model div,.dm-handoff-table){color:var(--color-primary-text);border-color:var(--color-border);background:linear-gradient(145deg,#ffffffbd,#ffffff4d),var(--glass-default)}body.light-theme .dm-problem-grid div{color:#7f1d1d;border-color:#be185d2e;background:#fff1f6b8}body.light-theme :where(.dm-storybook-shell,.dm-storybook-nav,.dm-storybook-preview,.dm-storybook-docs){color:var(--color-primary-text);border-color:var(--color-border);background:#ffffffb8}body.light-theme .dm-storybook-tab{color:var(--color-secondary-text);border-color:var(--color-border);background:#ffffff8f}body.light-theme .dm-storybook-tab:hover,body.light-theme .dm-storybook-tab:focus-visible{color:var(--color-primary-text);border-color:var(--color-border-strong);background:#deebffb8}body.light-theme .dm-storybook-tab.active,body.light-theme .dm-handoff-head{color:#fff;background:#2f6edc}body.light-theme :where(.dm-tag-grid span,.dm-outcome-grid span,.dm-mini-tags span){color:#214b91;border-color:#2c60bb38;background:#ddeaffa3}@media (min-width: 768px) and (max-width: 1023px){.project{flex-basis:calc((100% - 32px)/2)}}@media (max-width: 900px){header{top:max(12px,env(safe-area-inset-top));width:min(760px,calc(100% - 16px));height:58px;margin-top:max(12px,env(safe-area-inset-top))}.header-grid{grid-template-columns:44px minmax(0,1fr);gap:6px;padding:0 8px 0 12px}.nav-col,.desktop-menu{display:none}.role-col{min-width:0;justify-content:flex-end;gap:2px}.hamburger-btn.clean{display:inline-flex;flex:0 0 44px;flex-direction:column;align-items:center;justify-content:center;width:44px;height:44px}.hamburger-btn.clean span{margin:3px 0}.mobile-glass-menu{inset:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}}@media (max-width: 767px){body{background-attachment:scroll}.project{flex-basis:100%}.theme-btn,.hamburger-btn.clean,.menu-close{width:44px;height:44px;min-width:44px;min-height:44px}.theme-switcher{gap:2px;padding:0}.mobile-glass-menu .menu-row,.mobile-glass-menu :where(.btn-solid,.btn-ghost){min-height:44px}.intro-right.about-intro-media,.about-intro .intro-right{flex-direction:column;align-items:center;gap:16px}.about-intro .intro-right .cta{width:min(100%,36rem);margin:0 auto}.blog-card:hover,.project:hover{transform:none}}@media (max-width: 520px){.intro-left .tooltiptext-bottom{left:0;width:min(260px,calc(100vw - 32px));max-width:calc(100vw - 32px);box-sizing:border-box;white-space:normal}#work .project-toggle.soft{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;border-radius:16px;box-sizing:border-box}#work .tab-toggle.soft{min-width:0;padding-inline:8px;line-height:1.25;white-space:normal}.mp-floating-ai-launcher{padding:7px}.mp-floating-ai-launcher img{width:34px;height:34px;flex-basis:34px}#funnyButton:disabled:after{display:none}}@media (hover: none),(pointer: coarse){.view-project-btn,.cs-mockup-btn{opacity:1;visibility:visible}.project:hover .project-content,.cs-mockup-wrapper:hover img{filter:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.theme-fx-root .moon,.theme-fx-root .theme-star,.theme-fx-root .star{animation:none!important}.project:hover,body.light-theme .project:hover,.project:hover img,.project:hover .project-datamind-preview{transform:none}}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){header,.mobile-glass-menu,.nav-dropdown-menu,.project,.blog-card,.contact-container,.mp-floating-ai,.mp-floating-ai-launcher{background:var(--surface-bg-strong)}}#root{position:relative;z-index:1}body.light-theme{--premium-page-gradient: radial-gradient(ellipse 58% 46% at 9% 18%, rgba(190, 115, 255, .34), transparent 68%), radial-gradient(ellipse 52% 40% at 92% 15%, rgba(96, 180, 255, .18), transparent 72%), radial-gradient(ellipse 60% 48% at 88% 78%, rgba(255, 228, 75, .48), transparent 72%), radial-gradient(ellipse 44% 36% at 12% 84%, rgba(255, 160, 200, .22), transparent 74%), radial-gradient(ellipse 40% 34% at 52% 45%, rgba(182, 148, 255, .1), transparent 76%), linear-gradient(135deg, #fafbff 0%, #eef3fb 52%, #f9fbff 100%)}body.light-theme:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.22;background:linear-gradient(rgba(52,86,145,.055) 1px,transparent 1px) 0 0 / 72px 72px,linear-gradient(90deg,rgba(52,86,145,.055) 1px,transparent 1px) 0 0 / 72px 72px;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.78),transparent 82%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.78),transparent 82%)}header{overflow:visible;background:radial-gradient(circle at 12% -35%,rgba(82,142,255,.18),transparent 46%),radial-gradient(circle at 90% 130%,rgba(132,98,255,.1),transparent 44%),linear-gradient(145deg,#11151fd1,#020408b8);box-shadow:0 1px #ffffff1f inset,0 -1px #4a78da1f inset,0 18px 54px #00000075,0 0 30px #417df524}.site-header:before{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;z-index:0;border-radius:inherit;pointer-events:none;background:linear-gradient(112deg,rgba(255,255,255,.08),transparent 26% 68%,rgba(106,151,255,.08))}.header-grid{position:relative;z-index:1}body.light-theme header{border-color:#ffffffe6;border-radius:999px;background:#ffffff4d;box-shadow:0 12px 35px #48548c14,inset 0 1px #fffffff2;backdrop-filter:blur(22px) saturate(180%);-webkit-backdrop-filter:blur(22px) saturate(180%)}body.light-theme .site-header:before{background:linear-gradient(180deg,rgba(255,255,255,.26),transparent 58%)}.mobile-glass-menu,.mobile-glass-menu *,.pg-scrim,.pg-scrim *{box-sizing:border-box}.mobile-glass-menu{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:calc(100dvh - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)));padding:8px 12px 12px;overflow:hidden;overscroll-behavior:contain}.mobile-glass-menu.out{pointer-events:none}.menu-header{position:relative;z-index:2;flex:none;min-height:58px;padding:4px 4px 6px;background:transparent}.menu-close{display:inline-grid;place-items:center;inline-size:48px;block-size:48px;min-inline-size:48px;min-block-size:48px;padding:0;font-size:0}.menu-close-icon{position:relative;display:block;width:23px;height:23px}.menu-close-icon:before,.menu-close-icon:after{content:"";position:absolute;top:50%;left:50%;width:23px;height:2.5px;border-radius:999px;background:currentColor;transform-origin:center}.menu-close-icon:before{transform:translate(-50%,-50%) rotate(45deg)}.menu-close-icon:after{transform:translate(-50%,-50%) rotate(-45deg)}.menu-list{min-height:0;padding:2px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.mobile-glass-menu .menu-row{display:flex;align-items:center;flex:0 0 auto;min-height:44px;padding:8px;line-height:1.25}.menu-ctas{flex:none;margin-top:6px;padding-top:8px;gap:6px}.mobile-glass-menu :where(.btn-solid,.btn-ghost){min-height:44px;padding:8px 12px;line-height:1.2}.pg-scrim{top:0;right:0;bottom:0;left:0;z-index:100100;width:100vw;height:100vh;height:100dvh;min-height:100svh;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));overflow:hidden;overscroll-behavior:contain}.pg-card{width:min(520px,100%);max-height:100%;padding:clamp(14px,3vw,20px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.pg-card>*{position:relative;z-index:1}.pg-logo{width:clamp(28px,8vw,36px);height:clamp(28px,8vw,36px);margin:0 auto 8px}.pg-title{margin:4px 0 6px;font-size:clamp(1.08rem,5vw,1.35rem);line-height:1.18;overflow-wrap:anywhere;text-wrap:balance}.pg-sub{margin:0 0 10px;font-size:clamp(.92rem,3.8vw,1rem);line-height:1.45}.pg-form{gap:10px}.pg-input{width:100%;min-height:48px;padding:11px 12px;font-size:16px}.pg-actions{position:sticky;bottom:0;z-index:3;width:100%;padding-top:2px;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--surface-bg-strong) 88%,transparent) 28%)}.pg-btn{min-height:44px;padding:9px 14px;font-size:1rem;line-height:1.2}body:has(.menu-scrim) :where(.mp-floating-ai,.mp-floating-ai-launcher),body:has(.pg-scrim) :where(.mp-floating-ai,.mp-floating-ai-launcher){visibility:hidden;opacity:0;pointer-events:none}.mp-floating-ai{bottom:max(84px,calc(env(safe-area-inset-bottom) + 72px))}.mp-floating-ai-launcher{bottom:max(18px,calc(env(safe-area-inset-bottom) + 14px))}.view-project-btn,.project:focus-within .view-project-btn,.view-project-btn:focus-visible,.project:hover .view-project-btn,.view-project-btn:active{position:static;inset:auto;transform:none}.view-project-btn{cursor:pointer}.enter-button,.resume-button{min-height:44px}.social-icons a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.view-project-btn:active{filter:brightness(.94);box-shadow:0 5px 14px #1945963d inset}.blog-back-link{box-sizing:border-box;min-height:44px;padding:6px 12px;border:1px solid var(--color-border);border-radius:999px;background:color-mix(in srgb,var(--glass-default) 76%,transparent);box-shadow:0 8px 22px #00000014;backdrop-filter:blur(12px) saturate(135%);-webkit-backdrop-filter:blur(12px) saturate(135%);transition:color var(--premium-fast) ease,border-color var(--premium-fast) ease,background-color var(--premium-fast) ease}.blog-back-link:hover,.blog-back-link:active,.blog-back-link:focus-visible{transform:none}.profile-portrait{width:min(410px,100%);margin:0 auto}.profile-portrait-stage{position:relative;width:100%;aspect-ratio:1;transition:transform .42s var(--premium-ease),filter .32s ease;isolation:isolate}.profile-portrait-frame{position:absolute;top:4%;right:7%;bottom:3%;left:7%;overflow:hidden;border:0;border-radius:49% 49% 24px 24px/38% 38% 20px 20px;background:var(--glass-default);box-shadow:var(--portrait-shadow);transition:box-shadow .32s var(--premium-ease)}.profile-portrait-frame img{display:block;width:100%;max-width:none;height:100%;margin:0;object-fit:cover;object-position:center;transform:scale(1.012);transition:transform .52s var(--premium-ease),filter .32s ease}.profile-portrait-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#02061705 44%,#02061742),linear-gradient(105deg,rgba(255,201,117,.08),transparent 36%);pointer-events:none}.profile-portrait-chip{position:absolute;z-index:2;display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;border:1px solid var(--color-border-strong);border-radius:999px;color:var(--color-primary-text);background:var(--glass-floating);box-shadow:var(--shadow-soft);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);font-size:.73rem;font-weight:780;line-height:1;letter-spacing:.01em;white-space:nowrap}.profile-portrait-chip--role{top:13%;left:-1%}.profile-portrait-chip--place{right:-1%;bottom:15%}@media (min-width: 768px){.about-intro-media{transform:translateY(-24px)}}@media (hover: hover) and (pointer: fine){.profile-portrait-stage:hover{transform:perspective(900px) rotateX(1.2deg) rotateY(-1.8deg) translateY(-4px);filter:brightness(1.03)}.profile-portrait-stage:hover .profile-portrait-frame img{transform:scale(1.035)}.profile-portrait-stage:hover .profile-portrait-frame{box-shadow:var(--portrait-shadow-hover)}}@media (max-width: 900px){body.light-theme{--premium-page-gradient: radial-gradient(ellipse 94% 35% at 10% 16%, rgba(190, 115, 255, .34), transparent 68%), radial-gradient(ellipse 86% 28% at 94% 10%, rgba(96, 180, 255, .16), transparent 72%), radial-gradient(ellipse 116% 40% at 94% 68%, rgba(255, 228, 75, .46), transparent 72%), radial-gradient(ellipse 94% 34% at 6% 84%, rgba(255, 160, 200, .21), transparent 74%), radial-gradient(ellipse 80% 25% at 50% 45%, rgba(182, 148, 255, .08), transparent 76%), linear-gradient(145deg, #fafbff 0%, #eef3fb 52%, #f9fbff 100%)}header{border-color:#567ecd57;background:radial-gradient(circle at 10% -40%,rgba(70,125,236,.22),transparent 48%),linear-gradient(145deg,#0a0e18f0,#01040ae6);box-shadow:0 1px #ffffff1f inset,0 15px 38px #00000080,0 0 24px #3874e824}body.light-theme header{border-color:#ffffffe6;background:#ffffff4d;box-shadow:0 12px 35px #48548c14,inset 0 1px #fffffff2}.header-grid{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:0;padding:0 10px}.logo-col{grid-column:1;justify-self:start;min-width:0}.role-col{display:contents}.role-col .theme-switcher{grid-column:2;justify-self:center;align-self:center}.role-col .hamburger-btn.clean{grid-column:3;justify-self:end;align-self:center}.mobile-glass-menu{bottom:auto;height:auto}}@media (max-width: 767px){.blog-post-wrap{padding-top:12px}.blog-back-link{margin-bottom:12px;font-size:.82rem}.blog-post-header{overflow:visible}.blog-post-header .blog-meta{gap:6px 8px;margin-bottom:10px;font-size:.72rem;line-height:1.35}.blog-post-header h1{max-width:34rem;margin:10px 0 12px;font-size:clamp(1.35rem,5.8vw,1.5rem);line-height:1.17;text-wrap:balance}.blog-toc a{align-items:center;min-height:44px}body:has(.blog-post-wrap) .theme-fx-root .moon{top:clamp(330px,46vh,440px);right:-18px;width:56px;opacity:.28}.profile-portrait{width:min(320px,88vw)}.profile-portrait-chip--role{left:0}.profile-portrait-chip--place{right:0}}@media (max-width: 300px){.pg-actions{flex-direction:column}.pg-btn{width:100%}}@media (min-width: 400px) and (max-width: 520px) and (min-height: 850px){.mp-floating-ai-launcher{bottom:max(112px,calc(env(safe-area-inset-bottom) + 104px))}}@media (hover: none),(pointer: coarse){.project:hover,.project:focus-within,.project:hover .view-project-btn,.project:focus-within .view-project-btn,.view-project-btn:focus-visible,.view-project-btn:active{transform:none}.profile-portrait-chip{opacity:1}}@media (prefers-reduced-motion: reduce){.route-breadcrumbs a,.profile-portrait-stage,.profile-portrait-frame img,.profile-portrait-chip{animation:none!important;transform:none!important;transition:none!important}}.contact-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.send-message-button{gap:9px}.contact-submit-spinner{width:17px;height:17px;flex:0 0 17px;border:2px solid rgba(255,255,255,.38);border-top-color:#fff;border-radius:50%;animation:contactSubmitSpin .65s linear infinite}.form-status-text[data-status=sending]{color:var(--color-secondary-text)}.form-status-text[data-status=error]{max-width:34rem;color:#fb7185}body.light-theme .form-status-text[data-status=error]{color:#b4233b}.contact-success-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200000;display:grid;place-items:center;padding:20px;overflow-y:auto;background:radial-gradient(circle at 12% 16%,rgba(255,80,151,.13),transparent 26%),radial-gradient(circle at 87% 78%,rgba(84,191,255,.13),transparent 28%),#020612c2;backdrop-filter:blur(16px) saturate(135%);-webkit-backdrop-filter:blur(16px) saturate(135%);animation:contactSuccessLayerIn .22s ease-out both}body.light-theme .contact-success-layer{background:radial-gradient(circle at 12% 16%,rgba(255,80,151,.14),transparent 26%),radial-gradient(circle at 87% 78%,rgba(84,151,255,.16),transparent 28%),#1a26407a}.contact-success-stage{position:relative;isolation:isolate;width:min(620px,100%);display:grid;place-items:center}.contact-success-fireworks{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none}.contact-success-firework{--burst-rotate: 10deg;position:absolute;width:4px;height:4px;color:#ffd166}.contact-success-firework:before,.contact-success-firework:after{content:"";position:absolute;top:50%;left:50%;opacity:0;transform-origin:center}.contact-success-firework:before{width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 -36px #ffd166,26px -26px #ff70a6,36px 0 #70d6ff,26px 26px #9b8cff,0 36px #ff9770,-26px 26px #5ee6a8,-36px 0 #fff3b0,-26px -26px #c77dff;animation:contactSuccessFireworkDots 1.05s var(--burst-delay, 80ms) ease-out both}.contact-success-firework:after{width:82px;height:82px;border-radius:50%;background:repeating-conic-gradient(from 0deg,currentColor 0deg 3deg,transparent 3deg 42deg);-webkit-mask:radial-gradient(circle,transparent 0 44%,#000 47% 63%,transparent 66%);mask:radial-gradient(circle,transparent 0 44%,#000 47% 63%,transparent 66%);animation:contactSuccessFireworkRays .9s var(--burst-delay, 80ms) ease-out both}.contact-success-firework--one{--burst-delay: 30ms;--burst-rotate: -8deg;top:4%;left:4%;color:#ffd166}.contact-success-firework--two{--burst-delay: .17s;--burst-rotate: 13deg;top:10%;right:2%;color:#70d6ff}.contact-success-firework--three{--burst-delay: .31s;--burst-rotate: -16deg;bottom:16%;left:1%;color:#ff70a6}.contact-success-firework--four{--burst-delay: .43s;--burst-rotate: 19deg;right:5%;bottom:5%;color:#9b8cff}.contact-success-dialog{position:relative;z-index:1;box-sizing:border-box;width:min(548px,100%);max-height:min(720px,calc(100dvh - 40px));padding:clamp(30px,6vw,48px);overflow-y:auto;color:var(--color-primary-text);text-align:center;border:1px solid transparent;border-radius:28px;background:radial-gradient(circle at 50% -8%,rgba(88,146,255,.25),transparent 38%),radial-gradient(circle at 96% 6%,rgba(255,77,159,.17),transparent 34%),radial-gradient(circle at 5% 95%,rgba(255,171,64,.12),transparent 30%),var(--surface-bg-strong) padding-box,linear-gradient(135deg,#62c6ff,#885cf6 42%,#ff5c9a 72%,#ffb347) border-box;box-shadow:0 1px #ffffff1a inset,0 28px 90px #0000008f,0 0 48px #457eed3d,0 0 86px #c449b21a;animation:contactSuccessDialogIn .28s var(--premium-ease) both}body.light-theme .contact-success-dialog{border-color:#6754d685;background-color:#fff;background-image:radial-gradient(circle at 50% -8%,rgba(88,146,255,.22),transparent 40%),radial-gradient(circle at 96% 6%,rgba(255,77,159,.12),transparent 34%),radial-gradient(circle at 5% 95%,rgba(255,171,64,.11),transparent 30%);box-shadow:0 1px #fffffff0 inset,0 28px 80px #3145693d,0 0 54px #6f5ee01f}.contact-success-dialog__close{position:absolute;top:14px;right:14px;width:44px;height:44px;display:grid;place-items:center;padding:0;color:var(--color-secondary-text);border:1px solid transparent;border-radius:50%;background:transparent;cursor:pointer;font-size:1.75rem;line-height:1;transition:color .18s ease,background-color .18s ease,border-color .18s ease,transform .18s ease}.contact-success-dialog__close:hover{color:var(--color-primary-text);border-color:var(--color-border);background:var(--glass-subtle);transform:rotate(5deg)}.contact-success-dialog__close:focus-visible,.contact-success-dialog__primary:focus-visible,.contact-success-dialog__actions a:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.contact-success-mark{position:relative;width:92px;height:92px;display:grid;place-items:center;margin:2px auto 24px;color:#fff;border:1px solid rgba(121,170,255,.58);border-radius:50%;background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.3),transparent 22%),linear-gradient(145deg,#438ff7 4%,#6c4ce3 48%,#d447b2);box-shadow:0 16px 34px #3668dc57,0 0 0 9px #4b8df714,0 0 32px #da47b233;animation:contactSuccessMarkIn .36s 90ms var(--premium-ease) both}.contact-success-mark svg{width:56px;height:56px;fill:none;stroke:currentColor;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.contact-success-mark svg path{stroke-dasharray:48;stroke-dashoffset:48;animation:contactSuccessCheck .38s .26s ease-out forwards}.contact-success-mark__orbit{position:absolute;width:7px;height:7px;border-radius:50%;background:#c8ddff;box-shadow:0 0 13px #7eafff}.contact-success-mark__orbit--one{top:2px;right:2px;background:#fff0a8;box-shadow:0 0 13px #ffc94f;animation:contactSuccessSparkOne .44s .28s ease-out both}.contact-success-mark__orbit--two{bottom:4px;left:-3px;background:#ffb5d9;box-shadow:0 0 13px #ff69b4;animation:contactSuccessSparkTwo .44s .34s ease-out both}.contact-success-dialog__eyebrow{margin:0 0 9px;color:#7cb8ff;font-size:.75rem;font-weight:800;line-height:1.2;letter-spacing:.14em;text-transform:uppercase}.contact-success-dialog h2{max-width:28rem;margin:0 auto 16px;color:var(--color-primary-text);font-size:clamp(1.65rem,5vw,2.35rem);font-weight:760;line-height:1.12;letter-spacing:-.035em;text-wrap:balance}.contact-success-dialog #contact-success-description{max-width:29rem;margin:0 auto;color:var(--color-secondary-text);font-size:1rem;line-height:1.7}.contact-success-dialog__aside{margin:12px 0 0;color:var(--color-tertiary-text, var(--color-secondary-text));font-size:.84rem;font-weight:650}.contact-success-dialog__actions{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:28px}.contact-success-dialog__primary,.contact-success-dialog__actions a{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:11px 17px;border-radius:12px;font:inherit;font-size:.88rem;font-weight:760;text-decoration:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.contact-success-dialog__primary{color:var(--button-primary-text);border:1px solid var(--button-primary-border);background:var(--button-primary-bg);box-shadow:0 12px 26px #235cc73d}.contact-success-dialog__actions a{gap:8px;color:#fff;border:1px solid rgba(255,255,255,.22);background:linear-gradient(125deg,#6d28d9,#be185d 54%,#c2410c);box-shadow:0 12px 28px #9c1e7147}.contact-success-dialog__actions a svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.contact-success-dialog__primary:hover,.contact-success-dialog__actions a:hover{transform:translateY(-2px);filter:brightness(1.08)}.contact-success-dialog__actions a:hover{box-shadow:0 16px 34px #9c1e715c}.mp-floating-ai{overflow:clip}.mp-floating-ai__header{height:auto;min-height:72px;padding:10px 14px}.mp-floating-ai__eyebrow{display:block;margin-bottom:3px;color:var(--color-link);font-size:.59rem;font-weight:820;line-height:1;letter-spacing:.12em;text-transform:uppercase}.mp-floating-ai__profile h3{font-size:.94rem;font-weight:730}.mp-floating-ai__profile p{margin-top:4px}.mp-floating-ai__close{width:44px;height:44px;flex-basis:44px}.mp-floating-ai__close svg{width:22px;height:22px}.mp-floating-ai__messages{padding:15px 14px 10px}.mp-floating-ai__row{align-items:flex-start;margin-bottom:14px}.mp-floating-ai__message{max-width:min(300px,82%)}.mp-floating-ai__row--user .mp-floating-ai__message{display:flex;flex-direction:column;align-items:flex-end}.mp-floating-ai__message-meta{display:flex;align-items:center;gap:8px;margin:0 4px 5px;color:var(--color-secondary-text);font-size:.62rem;font-weight:690;line-height:1}.mp-floating-ai__message-meta time{color:color-mix(in srgb,var(--color-secondary-text) 76%,transparent);font-weight:520}.mp-floating-ai__row--user .mp-floating-ai__message-meta{justify-content:flex-end}.mp-floating-ai__message .mp-floating-ai__bubble{max-width:100%;padding:11px 13px;border-radius:16px 16px 16px 5px;font-size:.79rem;line-height:1.55}.mp-floating-ai__message .mp-floating-ai__bubble--user{border-radius:16px 16px 5px;box-shadow:0 8px 20px #204fb738}.mp-floating-ai__avatar{margin-top:17px}.mp-floating-ai__quick{gap:7px;padding-top:10px}.mp-floating-ai__quick-label{position:sticky;left:0;z-index:1;display:inline-flex;align-items:center;flex:0 0 auto;padding-right:4px;color:var(--color-secondary-text);background:color-mix(in srgb,var(--surface-bg-strong) 88%,transparent);font-size:.62rem;font-weight:780;letter-spacing:.08em;text-transform:uppercase}.mp-floating-ai__quick button{min-height:34px;padding:8px 11px;font-size:.68rem;font-weight:680}.mp-floating-ai__input-area{gap:8px;padding-top:10px}.mp-floating-ai__input-area input{min-height:44px;border-radius:13px;font-size:.8rem}.mp-floating-ai__input-area button{width:44px;height:44px;flex-basis:44px;border-radius:13px}.mp-floating-ai__privacy{display:flex;align-items:flex-start;justify-content:center;gap:7px;min-height:39px;padding:9px 14px 10px;text-align:left}.mp-floating-ai__privacy>span{width:7px;height:7px;flex:0 0 7px;margin-top:4px;border-radius:50%;background:#60a5fa;box-shadow:0 0 8px #60a5fab8}.mp-floating-ai__privacy[data-delivery-status=sent]>span,.mp-floating-ai__privacy[data-delivery-status=queued]>span{background:#34d399;box-shadow:0 0 8px #34d399b8}.mp-floating-ai__privacy[data-delivery-status=failed]>span{background:#fb7185;box-shadow:0 0 8px #fb7185b8}@keyframes contactSubmitSpin{to{transform:rotate(360deg)}}@keyframes contactSuccessLayerIn{0%{opacity:0}to{opacity:1}}@keyframes contactSuccessDialogIn{0%{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes contactSuccessMarkIn{0%{opacity:0;transform:scale(.72) rotate(-8deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes contactSuccessCheck{to{stroke-dashoffset:0}}@keyframes contactSuccessSparkOne{0%{opacity:0;transform:translate(-14px,12px) scale(.3)}to{opacity:1;transform:translate(7px,-7px) scale(1)}}@keyframes contactSuccessSparkTwo{0%{opacity:0;transform:translate(14px,-10px) scale(.3)}to{opacity:1;transform:translate(-7px,7px) scale(1)}}@keyframes contactSuccessFireworkDots{0%{opacity:0;transform:translate(-50%,-50%) scale(.08) rotate(calc(var(--burst-rotate) - 14deg))}24%{opacity:1}70%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(var(--burst-rotate))}to{opacity:0;transform:translate(-50%,-50%) scale(1.18) rotate(calc(var(--burst-rotate) + 8deg))}}@keyframes contactSuccessFireworkRays{0%{opacity:0;transform:translate(-50%,-50%) scale(.08) rotate(calc(var(--burst-rotate) - 18deg))}28%{opacity:.96}72%{opacity:.8;transform:translate(-50%,-50%) scale(1) rotate(var(--burst-rotate))}to{opacity:0;transform:translate(-50%,-50%) scale(1.12) rotate(calc(var(--burst-rotate) + 10deg))}}@media (max-width: 520px){.contact-success-layer{align-items:end;padding:12px}.contact-success-dialog{max-height:calc(100dvh - 24px);padding:24px 18px 20px;border-radius:24px}.contact-success-fireworks{transform:scale(.72)}.contact-success-firework--one{top:1%;left:6%}.contact-success-firework--two{top:7%;right:5%}.contact-success-firework--three{bottom:12%;left:5%}.contact-success-firework--four{right:8%;bottom:2%}.contact-success-mark{width:68px;height:68px;margin-bottom:14px}.contact-success-mark svg{width:42px;height:42px}.contact-success-dialog__close{top:7px;right:7px}.contact-success-dialog__eyebrow{margin-bottom:7px}.contact-success-dialog h2{margin-bottom:12px;font-size:clamp(1.45rem,7.6vw,1.72rem)}.contact-success-dialog #contact-success-description{font-size:.92rem;line-height:1.55}.contact-success-dialog__aside{margin-top:8px}.contact-success-dialog__actions{margin-top:20px}.contact-success-dialog__actions{flex-direction:column}.contact-success-dialog__primary,.contact-success-dialog__actions a{width:100%}.mp-floating-ai__header{min-height:64px;padding:8px 11px}.mp-floating-ai{bottom:calc(78px + env(safe-area-inset-bottom));height:min(520px,calc(100dvh - 104px - env(safe-area-inset-bottom)));max-height:calc(100dvh - 104px - env(safe-area-inset-bottom))}.mp-floating-ai__eyebrow{display:none}.mp-floating-ai__message{max-width:84%}.mp-floating-ai__message .mp-floating-ai__bubble{font-size:.76rem}.mp-floating-ai__quick-label{display:none}}@media (prefers-reduced-motion: reduce){.contact-submit-spinner,.contact-success-layer,.contact-success-dialog,.contact-success-mark,.contact-success-mark svg path,.contact-success-mark__orbit,.contact-success-firework:before,.contact-success-firework:after{animation:none!important}.contact-success-fireworks{display:none}.contact-success-mark svg path{stroke-dashoffset:0}}
