:root{--rail:#07111f;--rail-raised:#0e1e33;--rail-line:#21344d;--rail-text:#f3f7fb;--rail-muted:#93a4bb;--canvas:#eef2f8;--surface:#fff;--surface-subtle:#eef3f9;--ink:#0d1626;--body:#46546a;--muted:#697588;--line:#d7e0ec;--cyan:#0e7490;--cyan-bright:#22d3ee;--cyan-soft:#cffafe;--indigo:#4f46e5;--indigo-hover:#4338ca;--indigo-soft:#e5e8ff;--success:#15803d;--warning:#b45309;--font-display:"Space Grotesk", "Segoe UI", ui-sans-serif, system-ui, sans-serif;--font-ui:"Space Grotesk", "Segoe UI", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono", "SFMono-Regular", Consolas, monospace;--sidebar-width:256px;--content-max:1180px;--section-gap:clamp(72px, 8vw, 112px);--content-gap:clamp(28px, 4vw, 52px);--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-hero:28px;--step--1:clamp(.82rem, .79rem + .14vw, .9rem);--step-0:clamp(.98rem, .94rem + .18vw, 1.05rem);--step-1:clamp(1.16rem, 1.08rem + .36vw, 1.34rem);--step-2:clamp(1.42rem, 1.28rem + .64vw, 1.74rem);--step-3:clamp(1.78rem, 1.52rem + 1.12vw, 2.38rem);--step-4:clamp(2.3rem, 1.9rem + 1.7vw, 3.25rem);--step-lead:clamp(1.04rem, .99rem + .24vw, 1.16rem);--shadow-sm:0 1px 2px #0f1a2e0a, 0 2px 6px #0f1a2e0d;--shadow-md:0 1px 2px #0f1a2e0d, 0 10px 26px #0f1a2e12;--shadow-lg:0 2px 4px #0f1a2e0f, 0 20px 48px #0f1a2e1a;--shadow-hero:0 30px 70px #07111f38;--border-soft:color-mix(in srgb, var(--line) 82%, transparent);color:var(--body);background:var(--canvas);font-family:var(--font-ui);font-synthesis:none;letter-spacing:-.006em;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;font-weight:400;line-height:1.65}:root[data-theme=dark]{--canvas:#060e1a;--surface:#101d30;--surface-subtle:#172a41;--ink:#f5f8fc;--body:#b7c3d4;--muted:#8593a8;--line:#26384f;--cyan:#67e8f9;--cyan-soft:#123a47;--indigo:#818cf8;--indigo-hover:#a5b4fc;--indigo-soft:#212a55;--shadow-sm:0 1px 2px #0000004d, 0 2px 8px #00000047;--shadow-md:0 2px 6px #00000057, 0 12px 30px #0006;--shadow-lg:0 4px 10px #0006, 0 24px 56px #00000080;--shadow-hero:0 34px 80px #0009;--border-soft:color-mix(in srgb, var(--line) 90%, transparent);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{background:var(--canvas);scroll-behavior:smooth;min-width:320px}body{min-width:320px;min-height:100vh;color:var(--body);background:var(--canvas);margin:0;overflow-x:hidden}body.menu-open{overflow:hidden}#root{min-height:100vh}h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}ul,ol{padding:0}h1,h2,h3,h4,strong{color:var(--ink)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700}p{text-wrap:pretty}h1,h2,h3{text-wrap:balance}a{color:inherit;text-decoration:none}button,input,textarea,select{color:inherit;font:inherit}button{cursor:pointer;border:0}img,svg,canvas{max-width:100%;display:block}::selection{color:#06111f;background:var(--cyan-bright)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--muted) 34%, transparent);background-clip:padding-box;border:3px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--indigo) 55%, transparent);background-clip:padding-box}:focus{outline:none}:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.portfolio-app{background:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px), var(--canvas);background-size:72px 72px;background-position:calc(var(--sidebar-width) + 24px) 24px;min-height:100vh}.portfolio-app:before{inset:0 0 0 var(--sidebar-width);z-index:0;content:"";pointer-events:none;background:color-mix(in srgb, var(--canvas) 94%, transparent);position:fixed}.skip-link{z-index:200;color:#fff;background:var(--indigo);border-radius:10px;padding:10px 14px;transition:transform .16s;position:fixed;top:12px;left:272px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.sidebar{z-index:50;width:var(--sidebar-width);height:100dvh;color:var(--rail-text);background:radial-gradient(140% 60% at 0% 0%, #4f46e524, transparent 60%), linear-gradient(180deg, #08131f 0%, var(--rail) 46%);border-right:1px solid var(--rail-line);flex-direction:column;padding:28px 20px 22px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar:after{content:"";background:var(--cyan-bright);width:2px;height:92px;position:absolute;top:0;right:0}.sidebar__brand-link{border-radius:var(--radius-md);display:block}.brand{align-items:center;gap:12px;display:flex}.brand-mark{color:#fff;background:linear-gradient(140deg, var(--indigo), #6366f1 60%, #7c3aed);width:44px;height:44px;font-family:var(--font-mono);letter-spacing:-.05em;border-radius:12px;flex:none;place-items:center;font-size:.82rem;font-weight:700;display:grid;position:relative;box-shadow:0 6px 18px #4f46e56b}.brand-mark:after{content:"";border-right:2px solid var(--cyan-bright);border-bottom:2px solid var(--cyan-bright);width:15px;height:15px;position:absolute;bottom:-3px;right:-3px}.brand-copy{gap:1px;min-width:0;display:grid}.brand-copy strong{color:var(--rail-text);font-family:var(--font-display);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:700;overflow:hidden}.brand-copy small{color:var(--rail-muted);font-family:var(--font-mono);letter-spacing:.04em;font-size:.62rem}.primary-nav{gap:7px;margin-top:68px;display:grid}.primary-nav__link{min-height:48px;color:var(--rail-muted);letter-spacing:-.005em;border:1px solid #0000;border-radius:12px;grid-template-columns:30px 1fr;align-items:center;gap:8px;padding:10px 14px;font-size:.9rem;font-weight:600;transition:color .18s,background .18s,border-color .18s,transform .18s;display:grid;position:relative}.primary-nav__link:before{content:"";background:0 0;border-radius:0 3px 3px 0;width:3px;position:absolute;top:11px;bottom:11px;left:-1px}.primary-nav__index{color:#6a7d97;font-family:var(--font-mono);letter-spacing:.06em;font-size:.64rem;transition:color .18s}.primary-nav__link.is-active{color:#fff;background:linear-gradient(180deg, var(--rail-raised), color-mix(in srgb, var(--rail-raised) 80%, #000));border-color:color-mix(in srgb, var(--cyan-bright) 24%, var(--rail-line));box-shadow:inset 0 1px #ffffff0a}.primary-nav__link.is-active:before{background:var(--cyan-bright);box-shadow:0 0 12px #22d3eeb3}.primary-nav__link.is-active .primary-nav__index{color:var(--cyan-bright)}.sidebar__footer{gap:15px;margin-top:auto;display:grid}.sidebar-resume{min-height:44px;color:var(--rail-text);background:color-mix(in srgb, var(--rail-raised) 45%, transparent);border:1px solid var(--rail-line);border-radius:11px;justify-content:space-between;align-items:center;padding:0 14px;font-size:.8rem;font-weight:600;transition:color .18s,background .18s,border-color .18s;display:flex}.sidebar-socials{gap:15px;display:flex}.sidebar-socials a{color:var(--rail-muted);font-size:.76rem;font-weight:600;transition:color .16s}.sidebar-note{color:#6a7c94;font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;font-size:.62rem}.theme-toggle{min-height:44px;color:var(--rail-muted);background:0 0;align-items:center;gap:10px;padding:0;font-size:.76rem;font-weight:600;transition:color .16s;display:flex}.theme-toggle__track{background:var(--rail-raised);border:1px solid var(--rail-line);border-radius:999px;width:38px;height:22px;position:relative}.theme-toggle__thumb{background:var(--cyan-bright);border-radius:50%;width:14px;height:14px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 0 0 3px #22d3ee1a}:root[data-theme=dark] .theme-toggle__thumb{transform:translate(16px)}.mobile-header,.mobile-drawer,.drawer-backdrop,.bottom-nav{display:none}.main-viewport{z-index:1;width:calc(100% - var(--sidebar-width));height:100dvh;margin-left:var(--sidebar-width);scrollbar-color:var(--indigo) var(--surface-subtle);scrollbar-width:thin;position:relative;overflow-y:auto}.main-viewport h1[tabindex="-1"]:focus,.main-viewport h1[tabindex="-1"]:focus-visible{outline:none}.page-container{width:min(var(--content-max), 100%);min-height:calc(100dvh - 82px);margin-inline:auto;padding:56px 48px 80px}@keyframes route-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.page-label{color:var(--cyan);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:10px;font-size:.72rem;font-weight:700;line-height:1.4;display:flex}.page-label:before{content:"";background:linear-gradient(90deg, var(--cyan), color-mix(in srgb, var(--cyan) 20%, transparent));border-radius:2px;width:24px;height:2px}.page-label span{color:var(--muted)}.page-header{max-width:800px}.page-header h1{letter-spacing:-.035em;max-width:16ch;margin-top:19px;font-size:clamp(2.35rem,4.1vw,3.35rem);font-weight:700;line-height:1.05}.page-header>p:last-child{max-width:65ch;color:var(--body);font-size:var(--step-lead);margin-top:20px;line-height:1.72}.button-row{flex-wrap:wrap;gap:11px;display:flex}.button{letter-spacing:-.005em;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:10px;min-height:46px;padding:0 22px;font-size:.85rem;font-weight:600;line-height:1.2;transition:color .2s,background .2s,border-color .2s,box-shadow .2s,transform .2s;display:inline-flex}.button--primary{color:#fff;background:linear-gradient(180deg, #5b52ea, var(--indigo));box-shadow:0 10px 24px #4f46e547,inset 0 1px #ffffff2e}.button--secondary{color:var(--ink);background:var(--surface);border-color:var(--line);box-shadow:var(--shadow-sm)}.button .button__arrow,.button span[aria-hidden=true]{transition:transform .22s cubic-bezier(.22,.68,0,1)}.text-action,.back-link{min-height:44px;color:var(--cyan);align-items:center;gap:8px;font-size:.82rem;font-weight:600;transition:color .18s,gap .2s;display:inline-flex}.hero{isolation:isolate;grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);align-items:center;gap:clamp(40px,6vw,72px);min-height:calc(100dvh - 168px);display:grid;position:relative}.hero:before{z-index:-1;content:"";pointer-events:none;background:radial-gradient(42% 46% at 28% 30%, color-mix(in srgb, var(--indigo) 30%, transparent), transparent 70%), radial-gradient(46% 40% at 72% 68%, color-mix(in srgb, var(--cyan-bright) 22%, transparent), transparent 72%);opacity:.7;filter:blur(28px);width:62%;height:78%;position:absolute;top:-8%;left:-12%}:root[data-theme=dark] .hero:before{opacity:.5}.hero__copy h1{letter-spacing:-.045em;max-width:9ch;margin-top:5px;font-size:clamp(3.1rem,5.4vw,4.75rem);font-weight:700;line-height:.98}.hero__hello{color:var(--muted);margin-top:26px;font-size:1.15rem;font-weight:500}.hero__role{width:fit-content;color:var(--cyan);border-bottom:2px dashed color-mix(in srgb, var(--cyan) 60%, transparent);font-family:var(--font-mono);margin-top:18px;padding-bottom:5px;font-size:clamp(.92rem,1.7vw,1.1rem);font-weight:500}.hero__intro{max-width:59ch;color:var(--body);font-size:var(--step-lead);margin-top:24px;line-height:1.78}.hero .button-row{margin-top:31px}.hero__socials{gap:20px;margin-top:23px;display:flex}.hero__socials a{color:var(--muted);font-size:.75rem;font-weight:720}.identity-wrap{width:min(100%,390px);margin-inline:auto;padding:16px;position:relative}.identity-card{min-height:450px;color:var(--rail-text);background:radial-gradient(120% 80% at 100% 0%, #22d3ee1a, transparent 55%), linear-gradient(160deg, #0c1a2c 0%, var(--rail) 55%);border:1px solid var(--rail-line);border-radius:var(--radius-hero);box-shadow:var(--shadow-hero), inset 0 1px 0 #ffffff0d;padding:25px;transition:transform .4s cubic-bezier(.22,.68,0,1),box-shadow .4s;position:relative;overflow:hidden}.identity-card:before,.identity-card:after{content:"";pointer-events:none;position:absolute}.identity-card:before{border:1px solid #22d3ee38;border-radius:50%;width:260px;height:260px;top:94px;right:-95px;box-shadow:0 0 0 42px #22d3ee09,0 0 0 84px #818cf809}.identity-card:after{border-top:2px solid var(--cyan-bright);border-right:2px solid var(--cyan-bright);border-radius:0 28px 0 0;width:68px;height:68px;top:0;right:0}.identity-card__top{z-index:2;color:var(--rail-muted);font-family:var(--font-mono);letter-spacing:.1em;justify-content:space-between;font-size:.62rem;font-weight:500;display:flex;position:relative}.signal-dot{color:var(--cyan-bright);align-items:center;gap:6px;display:inline-flex}.signal-dot:before{content:"";background:var(--cyan-bright);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 4px #22d3ee1f}.identity-monogram{z-index:1;color:#fff;font-family:var(--font-display);letter-spacing:-.08em;margin-top:50px;font-size:clamp(5rem,9vw,7.2rem);font-weight:700;line-height:.8;position:relative}.identity-monogram:first-letter{color:var(--cyan-bright)}.identity-card__role{z-index:2;gap:5px;width:max-content;margin-top:22px;display:grid;position:relative}.identity-card__role strong{color:#fff;letter-spacing:-.02em;font-size:.9rem;font-weight:650}.identity-card__role span{color:var(--cyan-bright);font-family:var(--font-mono);letter-spacing:.09em;font-size:.55rem}.identity-data{z-index:2;border-top:1px solid var(--rail-line);position:absolute;bottom:25px;left:25px;right:25px}.identity-data div{border-bottom:1px solid var(--rail-line);grid-template-columns:.8fr 1.2fr;gap:12px;padding:10px 0;display:grid}.identity-data dt{color:var(--rail-muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:.64rem}.identity-data dd{min-width:0;color:var(--rail-text);text-align:right;font-size:.76rem;font-weight:600}.trace{z-index:1;gap:9px;display:flex;position:absolute}.trace--one{top:108px;right:29px}.trace--two{top:145px;right:68px}.trace i{background:var(--cyan-bright);border:2px solid var(--rail);outline:1px solid #22d3ee80;width:7px;height:7px;display:block}.identity-chip{z-index:4;min-height:32px;color:var(--ink);background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-soft);font-family:var(--font-mono);border-radius:999px;align-items:center;padding:0 12px;font-size:.64rem;font-weight:500;transition:transform .3s cubic-bezier(.22,.68,0,1);display:inline-flex;position:absolute;box-shadow:0 8px 24px #07111f24}.identity-chip--one{top:66px;left:-4px}.identity-chip--two{top:188px;right:-10px}.identity-chip--three{top:292px;left:-1px}.proof-strip{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);grid-template-columns:repeat(3,1fr);margin-top:8px;display:grid;overflow:hidden}.proof-strip div{border-right:1px solid var(--line);padding:24px 26px}.proof-strip div:last-child{border-right:0}.proof-strip dt{color:var(--indigo);font-family:var(--font-display);letter-spacing:-.03em;font-size:1.85rem;font-weight:700}.proof-strip dd{color:var(--muted);margin-top:4px;font-size:.78rem;font-weight:500}.section-heading-row{justify-content:space-between;align-items:end;gap:28px;display:flex}.section-heading-row h2,.skills-note h2{max-width:18ch;font-size:var(--step-3);letter-spacing:-.035em;margin-top:12px;font-weight:700;line-height:1.12}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px;display:grid}.project-grid--home{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-md);transition:border-color .26s,box-shadow .26s,transform .26s cubic-bezier(.22,.68,0,1);overflow:hidden}.project-card__visual-link{display:block}.project-art{color:#dbeafe;border-bottom:1px solid var(--line);background:radial-gradient(120% 90% at 100% 0,#22d3ee14,#0000 55%),#091525;min-height:184px;padding:15px;position:relative;overflow:hidden}.project-card__visual-link .project-art{transition:transform .5s cubic-bezier(.22,.68,0,1)}.project-art:after{content:"";border-right:2px solid var(--cyan-bright);border-bottom:2px solid var(--cyan-bright);width:24px;height:24px;position:absolute;bottom:10px;right:12px}.project-art--aspire-ai{background:#111638}.project-art--fix-mate{background:#17130e}.project-art__bar{border-bottom:1px solid #ffffff1a;align-items:center;gap:6px;padding-bottom:10px;display:flex}.project-art__bar span{background:#40516a;border-radius:50%;width:6px;height:6px}.project-art__bar span:first-child{background:var(--cyan-bright)}.project-art__bar code{color:#8296b2;font-family:var(--font-mono);letter-spacing:.02em;margin-left:auto;font-size:.62rem}.project-art__image{object-fit:cover;object-position:top left;width:100%;max-width:none;height:calc(100% - 43px);position:absolute;inset:43px 0 0}.project-art--large .project-art__image{height:calc(100% - 57px);inset-block-start:57px}.web-project-art{flex-direction:column;justify-content:end;min-height:138px;padding:26px 20px 12px;display:flex;position:relative;overflow:hidden}.web-project-art:before{content:"";opacity:.42;background-color:#0000;background-image:linear-gradient(90deg,#2d4864 1px,#0000 1px),linear-gradient(#2d4864 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;height:64px;position:absolute;inset:12px 0 auto;-webkit-mask-image:linear-gradient(#000,#0000);mask-image:linear-gradient(#000,#0000)}.web-project-art>span{color:var(--cyan-bright);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.54rem;font-weight:700}.web-project-art>strong{color:#f5f8fc;font-family:var(--font-display);letter-spacing:-.045em;margin-top:8px;font-size:clamp(1.55rem,3vw,2.25rem);font-weight:700;line-height:1;position:relative}.web-project-art>small{color:#8296b2;font-family:var(--font-mono);letter-spacing:.04em;margin-top:8px;font-size:.52rem}.web-project-art>div{gap:5px;display:flex;position:absolute;top:31px;right:18px}.web-project-art>div i{background:#31516a;border-radius:50%;width:7px;height:7px}.web-project-art>div i:first-child{background:var(--cyan-bright)}.graph-art{height:125px;position:relative}.graph-box{z-index:2;width:44px;height:32px;color:var(--cyan-bright);font-family:var(--font-mono);background:#10253a;border:1px solid #31516a;border-radius:8px;place-items:center;font-size:.56rem;font-style:normal;display:grid;position:absolute}.graph-box--a{top:20px;left:8%}.graph-box--b{top:15px;right:10%}.graph-box--c{bottom:19px;left:27%}.graph-box--d{bottom:17px;right:25%}.graph-link{transform-origin:0;background:#31516a;height:1px;position:absolute}.graph-link--a{width:56%;top:49px;left:20%;transform:rotate(17deg)}.graph-link--b{width:38%;top:82px;left:35%;transform:rotate(-18deg)}.graph-art>code{color:#7f93ad;font-family:var(--font-mono);font-size:.5rem;position:absolute;bottom:-2px;right:5px}.agent-art{padding:18px 4px 0}.agent-art>div{gap:7px;display:flex}.agent-art>div span{color:#c7d2fe;font-family:var(--font-mono);text-align:center;background:#202653;border:1px solid #3e4a8a;border-radius:7px;flex:1;padding:8px 5px;font-size:.49rem}.agent-art section{background:#ffffff0a;border:1px solid #818cf83d;border-radius:9px;gap:7px;margin:12px 9% 0;padding:13px;display:grid}.agent-art section i{background:#475289;border-radius:999px;height:5px}.agent-art section i:nth-child(2){width:74%}.agent-art section i:nth-child(3){width:47%}.agent-art small{color:#7883bd;font-family:var(--font-mono);text-align:center;margin-top:8px;font-size:.48rem;display:block}.diagnostic-art{gap:7px;padding:15px 3px 0;display:grid}.diagnostic-art p{color:#c6c0b8;font-family:var(--font-mono);border-bottom:1px solid #3a3228;justify-content:space-between;padding:6px 9px;font-size:.55rem;display:flex}.diagnostic-art b{color:#86efac;font-size:.48rem}.diagnostic-art .review{color:#fbbf24}.diagnostic-art code{color:#95897b;font-family:var(--font-mono);margin-top:4px;font-size:.5rem}.project-card__body{padding:20px}.project-card__meta{color:var(--muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;gap:12px;font-size:.62rem;font-weight:500;display:flex}.project-card__meta span:first-child{color:var(--cyan)}.project-card__title{justify-content:space-between;align-items:center;gap:10px;margin-top:14px;display:flex}.project-card__title h2{font-size:var(--step-1);letter-spacing:-.025em;font-weight:700;transition:color .2s}.project-card__title>span{color:var(--cyan);transition:transform .24s cubic-bezier(.22,.68,0,1)}.project-card__subtitle{color:var(--muted);margin-top:6px;font-size:.84rem;font-weight:500}.project-card__description{color:var(--body);margin-top:14px;font-size:.86rem;line-height:1.62}.tag-list{flex-wrap:wrap;gap:6px;margin-top:17px;list-style:none;display:flex}.tag-list li{min-height:28px;color:var(--body);background:color-mix(in srgb, var(--surface-subtle) 70%, transparent);border:1px solid var(--border-soft);font-family:var(--font-mono);letter-spacing:.01em;border-radius:999px;align-items:center;padding:4px 10px;font-size:.66rem;font-weight:500;transition:color .18s,border-color .18s,background .18s;display:inline-flex}.about-intro{grid-template-columns:1.18fr .82fr;align-items:start;gap:44px;margin-top:58px;display:grid}.about-copy h2{font-size:var(--step-2);letter-spacing:-.03em;font-weight:700}.about-copy p{max-width:63ch;font-size:var(--step-0);margin-top:18px;line-height:1.78}.detail-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:9px 24px}.detail-panel div{border-bottom:1px solid var(--line);padding:15px 0}.detail-panel div:last-child{border-bottom:0}.detail-panel dt{color:var(--muted);font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;font-size:.62rem;font-weight:500}.detail-panel dd{color:var(--ink);margin-top:4px;font-size:.88rem;font-weight:600}.timeline{border-left:1px solid var(--line);gap:0;margin-top:30px;padding-left:26px;display:grid;position:relative}.timeline-item{grid-template-columns:155px minmax(0,1fr);gap:24px;padding:2px 0 30px;display:grid;position:relative}.timeline-item:before{content:"";background:var(--cyan);border:2px solid var(--canvas);width:9px;height:9px;box-shadow:0 0 0 1px var(--cyan);position:absolute;top:7px;left:-31px}.timeline-item time{color:var(--cyan);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem;font-weight:500}.timeline-item h3{font-size:1.05rem;font-weight:700}.timeline-item p{color:var(--muted);margin-top:4px;font-size:.82rem}.timeline-item strong{color:var(--indigo);font-family:var(--font-mono);margin-top:8px;font-size:.7rem;font-weight:500;display:inline-block}.recognition-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:30px;display:grid}.recognition-card,.skill-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-sm);padding:24px;transition:border-color .24s,box-shadow .24s,transform .24s cubic-bezier(.22,.68,0,1);position:relative;overflow:hidden}.recognition-card:after,.skill-card:after{content:"";border-top:2px solid var(--cyan);border-right:2px solid var(--cyan);width:26px;height:26px;position:absolute;top:0;right:0}.recognition-card>p{color:var(--cyan);font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;font-size:.62rem;font-weight:500}.recognition-card h3{margin-top:14px;font-size:1.05rem;line-height:1.35}.recognition-card>span{color:var(--indigo);margin-top:6px;font-size:.74rem;font-weight:600;display:block}.recognition-card>div{color:var(--body);margin-top:17px;font-size:.82rem;line-height:1.65}.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:52px;display:grid}.skill-card{flex-direction:column;min-height:280px;display:flex}.skill-card__index{color:var(--cyan);font-family:var(--font-mono);letter-spacing:.04em;font-size:.72rem;font-weight:500}.skill-card h2{font-size:var(--step-1);letter-spacing:-.02em;margin-top:20px;font-weight:700}.skill-card>p{color:var(--muted);margin-top:8px;font-size:.82rem;line-height:1.6}.skill-card .tag-list{margin-top:18px}.skill-card__used{color:var(--body);margin-top:auto;padding-top:20px;font-size:.74rem;font-weight:500}.skill-card__used span{color:var(--muted);font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;margin-bottom:3px;font-size:.6rem;display:block}.skills-note{color:#d9e2ec;background:radial-gradient(90% 120% at 100% 0%, #4f46e533, transparent 55%), linear-gradient(160deg, #0c1a2c, var(--rail) 60%);border:1px solid var(--rail-line);border-radius:var(--radius-lg);padding:34px;position:relative;overflow:hidden}.skills-note h2{color:#fff}.skills-note p{max-width:67ch;color:var(--rail-muted);margin-top:15px;font-size:.92rem;line-height:1.7}.project-toolbar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;gap:18px;margin-top:43px;padding:14px;display:flex}.search-field{width:min(280px,100%);min-height:44px;color:var(--muted);background:var(--canvas);border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;padding:0 13px;display:flex}.search-field:focus-within{border-color:var(--cyan);box-shadow:0 0 0 3px color-mix(in srgb, var(--cyan) 18%, transparent)}.search-field input{background:0 0;border:0;width:100%;min-width:0;font-size:.85rem}.search-field input::placeholder{color:var(--muted)}.filter-row{gap:7px;display:flex}.filter-row button{min-height:36px;color:var(--muted);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:999px;padding:0 14px;font-size:.72rem;font-weight:600;transition:color .18s,background .18s,border-color .18s}.filter-row button.is-active{color:var(--indigo);background:var(--indigo-soft);border-color:color-mix(in srgb, var(--indigo) 28%, transparent)}.empty-state{text-align:center;background:var(--surface);border:1px dashed var(--line);border-radius:var(--radius-lg);min-height:360px;box-shadow:var(--shadow-sm);align-content:center;place-items:center;margin-top:28px;padding:40px;display:grid}.empty-state>span{color:var(--cyan);font-family:var(--font-mono);font-size:.8rem}.empty-state h2{margin-top:12px}.empty-state p{color:var(--muted);margin:6px 0 20px;font-size:.88rem}.project-studio-header{grid-template-columns:minmax(0,1fr) 248px;align-items:end;gap:clamp(42px,7vw,110px);display:grid}.project-studio-header__copy h1{letter-spacing:-.066em;max-width:11.5ch;margin-top:23px;font-size:clamp(3.35rem,6.8vw,6.9rem);font-weight:720;line-height:.91}.project-studio-header__copy h1 em{color:var(--indigo);font-style:normal}.project-studio-header__copy>p{max-width:62ch;color:var(--body);margin-top:27px;font-size:clamp(.98rem,.92rem + .2vw,1.08rem);line-height:1.72}.project-studio-stamp{color:#dbeafe;background:radial-gradient(circle at 90% 8%,#22d3ee29,#0000 34%),#081525;border:1px solid #20344c;border-radius:26px 26px 8px;min-height:246px;padding:23px;position:relative;overflow:hidden;box-shadow:0 24px 55px #07111f2e}.project-studio-stamp:after{content:"";border-right:2px solid var(--cyan-bright);border-bottom:2px solid var(--cyan-bright);width:44px;height:44px;position:absolute;bottom:0;right:0}.project-studio-stamp>span,.project-studio-stamp small{color:#8296b2;font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;font-size:.6rem;font-weight:600}.project-studio-stamp strong{color:#fff;font-family:var(--font-display);letter-spacing:-.07em;margin-top:18px;font-size:5.4rem;font-weight:720;line-height:.86;display:block}.project-studio-stamp>div{color:#b7c7da;align-items:center;gap:8px;margin-top:18px;font-size:.72rem;font-weight:620;display:flex}.project-studio-stamp>div i,.project-studio__bar p i{background:var(--cyan-bright);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #22d3ee1a}.project-studio-stamp small{margin-top:8px;display:block}.project-studio{background:color-mix(in srgb, var(--surface) 94%, transparent);border:1px solid var(--line);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:28px;margin-top:clamp(64px,7vw,96px);overflow:hidden}.project-studio__bar{color:#dbeafe;background:#081525;border-bottom:1px solid #20344c;justify-content:space-between;align-items:center;gap:24px;min-height:72px;padding:16px 22px;display:flex}.project-studio__bar>div{align-items:baseline;gap:14px;display:flex}.project-studio__bar>div span{color:var(--cyan-bright);font-family:var(--font-mono);letter-spacing:.08em;font-size:.62rem}.project-studio__bar>div strong{font-size:.84rem;font-weight:620}.project-studio__bar p{color:#8296b2;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:9px;font-size:.58rem;display:flex}.project-studio__bar p b{color:#50657e;font-weight:500}.project-studio .project-toolbar{background:color-mix(in srgb, var(--surface) 96%, transparent);border:0;border-bottom:1px solid var(--line);min-height:82px;box-shadow:none;border-radius:0;margin:0;padding:18px 22px}.project-studio .search-field{background:color-mix(in srgb, var(--canvas) 82%, transparent)}.project-workbench{grid-template-columns:minmax(270px,.31fr) minmax(0,.69fr);min-height:790px;display:grid}.project-index{background:linear-gradient(to right, transparent calc(100% - 1px), var(--line) calc(100% - 1px)), color-mix(in srgb, var(--surface-subtle) 70%, transparent);flex-direction:column;min-width:0;display:flex}.project-index__heading{min-height:52px;color:var(--muted);border-bottom:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.09em;justify-content:space-between;align-items:center;padding:0 20px;font-size:.58rem;display:flex}.project-index__groups{display:grid}.project-index__group+.project-index__group{border-top:1px solid var(--line)}.project-index__group>header{background:color-mix(in srgb, var(--canvas) 36%, transparent);border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:16px;min-height:70px;padding:16px 18px;display:flex}.project-index__group>header div{min-width:0}.project-index__group>header strong{color:var(--ink);font-size:.76rem;font-weight:700;display:block}.project-index__group>header small{color:var(--muted);margin-top:4px;font-size:.62rem;line-height:1.45;display:block}.project-index__group>header>span{color:var(--cyan);font-family:var(--font-mono);font-size:.56rem}.project-index__list{display:grid}.project-index__list button{width:100%;min-height:132px;color:var(--ink);border-bottom:1px solid var(--line);text-align:left;background:0 0;grid-template-columns:28px minmax(0,1fr) 18px;align-items:start;gap:10px;padding:22px 18px;transition:color .18s,background .18s;display:grid}.project-index__list button>span{color:var(--muted);font-family:var(--font-mono);padding-top:4px;font-size:.58rem}.project-index__list button div{min-width:0}.project-index__list button strong{letter-spacing:-.025em;font-size:1rem;font-weight:700;display:block}.project-index__list button small{color:var(--muted);text-overflow:ellipsis;margin-top:8px;font-size:.7rem;line-height:1.5;display:block;overflow:hidden}.project-index__list button>i{color:var(--muted);font-size:.8rem;font-style:normal}.project-index__list button.is-selected{color:var(--indigo);background:linear-gradient(90deg, color-mix(in srgb, var(--indigo-soft) 82%, transparent), transparent), color-mix(in srgb, var(--surface) 94%, transparent);box-shadow:inset 3px 0 0 var(--cyan)}.project-index__list button.is-selected>span,.project-index__list button.is-selected>i{color:var(--cyan)}.project-index__note{border-top:1px solid var(--line);margin-top:auto;padding:24px 20px}.project-index__note span{color:var(--cyan);font-family:var(--font-mono);letter-spacing:.08em;font-size:.56rem}.project-index__note p{color:var(--muted);margin-top:9px;font-size:.7rem;line-height:1.6}.project-dossier{background:color-mix(in srgb, var(--surface) 98%, transparent);min-width:0}.project-dossier__eyebrow{min-height:52px;color:var(--muted);border-bottom:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;align-items:center;gap:10px;padding:0 22px;font-size:.58rem;display:flex}.project-dossier__eyebrow span:first-child{color:var(--cyan);margin-right:auto}.project-dossier__eyebrow span:not(:first-child){border-left:1px solid var(--line);padding-left:10px}.project-dossier__visual{border-bottom:1px solid var(--line);display:block;position:relative;overflow:hidden}.project-dossier__visual .project-art--large{min-height:352px;box-shadow:none;border:0;border-radius:0;margin:0}.project-dossier__visual .project-art--large .graph-art{height:285px}.project-dossier__visual>span{color:#dbeafe;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-height:36px;font-family:var(--font-mono);letter-spacing:.06em;background:#07111fe0;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:9px;padding:0 13px;font-size:.56rem;display:inline-flex;position:absolute;bottom:18px;right:19px}.project-dossier__visual>span i{color:var(--cyan-bright);font-style:normal}.project-dossier__body{padding:clamp(24px,3.4vw,42px)}.project-dossier__intro{grid-template-columns:minmax(190px,.75fr) minmax(250px,1.25fr);align-items:end;gap:clamp(28px,4vw,64px);display:grid}.project-dossier__intro>div>span{color:var(--cyan);font-family:var(--font-mono);letter-spacing:.09em;font-size:.58rem;font-weight:650}.project-dossier__intro h2{letter-spacing:-.055em;margin-top:8px;font-size:clamp(2.15rem,4vw,4rem);font-weight:720;line-height:.96}.project-dossier__intro>div>p{color:var(--indigo);margin-top:9px;font-size:.82rem;font-weight:620}.project-dossier__intro>p{color:var(--body);font-size:.86rem;line-height:1.72}.project-dossier__proof{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:32px;display:grid}.project-dossier__proof>div{min-width:0;padding:22px 18px 22px 0;position:relative}.project-dossier__proof>div+div{border-left:1px solid var(--line);padding-left:18px}.project-dossier__proof span{color:var(--muted);font-family:var(--font-mono);font-size:.5rem;position:absolute;top:12px;right:12px}.project-dossier__proof dt{color:var(--ink);font-family:var(--font-display);letter-spacing:-.045em;font-size:clamp(1.35rem,2.5vw,2.1rem);font-weight:720}.project-dossier__proof dd{color:var(--muted);margin-top:4px;font-size:.65rem;font-weight:560}.project-dossier__footer{justify-content:space-between;align-items:end;gap:28px;margin-top:26px;display:flex}.project-dossier__footer .tag-list{max-width:52%;margin:0}.project-dossier__footer .button-row{flex:none;margin:0}.project-dossier__footer .button{min-height:43px;padding-inline:17px;font-size:.72rem}.project-archive-footer{border-top:1px solid var(--line);grid-template-columns:minmax(0,.9fr) minmax(300px,1.1fr);align-items:end;gap:clamp(44px,8vw,110px);margin-top:clamp(72px,9vw,124px);padding:clamp(28px,4vw,48px) 0;display:grid}.project-archive-footer h2{letter-spacing:-.05em;max-width:12ch;margin-top:14px;font-size:clamp(2.1rem,4vw,3.8rem);font-weight:720;line-height:.98}.project-archive-footer>div:last-child>p{max-width:58ch;color:var(--body);font-size:.9rem;line-height:1.72}.project-archive-footer .text-link{color:var(--indigo);align-items:center;gap:8px;margin-top:20px;font-size:.8rem;font-weight:680;display:inline-flex}.project-archive-footer .text-link span{color:var(--cyan)}@media (hover:hover) and (pointer:fine){.project-index__list button:hover:not(.is-selected){background:color-mix(in srgb, var(--surface) 88%, transparent)}.project-dossier__visual:hover>span{color:#fff;border-color:#22d3ee73}.project-archive-footer .text-link:hover{color:var(--cyan)}}.project-detail{max-width:980px;margin-inline:auto}.project-detail__header{margin-top:33px}.project-detail__header h1{letter-spacing:-.05em;margin-top:18px;font-size:clamp(3.1rem,7vw,5.8rem);font-weight:700;line-height:.95}.project-detail__header>p{color:var(--cyan);font-size:var(--step-1);margin-top:17px;font-weight:500}.project-detail__meta{flex-wrap:wrap;gap:9px;margin-top:23px;display:flex}.project-detail__meta span{color:var(--muted);background:var(--surface);border:1px solid var(--line);font-family:var(--font-mono);border-radius:999px;padding:7px 12px;font-size:.64rem;font-weight:500}.project-detail__header .button-row{margin-top:22px}.project-overview{grid-template-columns:minmax(0,1.3fr) minmax(270px,.7fr);align-items:end;gap:clamp(36px,6vw,84px);margin-top:58px;display:grid}.project-overview h2,.project-section-heading h2,.project-build h2{letter-spacing:-.045em;margin-top:12px;font-size:clamp(2rem,3.3vw,3rem);line-height:1}.project-overview>div>p{max-width:64ch;color:var(--body);margin-top:18px;font-size:1rem;line-height:1.75}.project-overview dl{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.project-overview dl div{text-align:center;min-width:0;padding:19px 14px}.project-overview dl div+div{border-left:1px solid var(--line)}.project-overview dt{color:var(--ink);font-family:var(--font-display);font-size:1.1rem;font-weight:700}.project-overview dd{color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;margin-top:5px;font-size:.52rem;line-height:1.4}.project-features{margin-top:72px}.project-section-heading{justify-content:space-between;align-items:end;gap:24px;display:flex}.project-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:28px;display:grid}.project-feature-grid article{background:color-mix(in srgb, var(--surface) 95%, transparent);border:1px solid var(--line);border-radius:var(--radius-lg);min-height:190px;box-shadow:var(--shadow-sm);padding:27px;position:relative;overflow:hidden}.project-feature-grid article:after{content:"";border:1px solid color-mix(in srgb, var(--cyan) 18%, transparent);border-radius:50%;width:106px;height:106px;position:absolute;bottom:-38px;right:-38px}.project-feature-grid article>span{color:var(--cyan);font-family:var(--font-mono);letter-spacing:.08em;font-size:.62rem}.project-feature-grid h3{margin-top:25px;font-size:1.18rem}.project-feature-grid p{max-width:46ch;color:var(--body);margin-top:10px;font-size:.86rem;line-height:1.65}.project-build{color:#dbeafe;background:radial-gradient(circle at 90% 0,#22d3ee21,#0000 34%),#081525;border:1px solid #20344c;border-radius:28px;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(40px,7vw,90px);margin-top:72px;padding:clamp(30px,4vw,52px);display:grid;box-shadow:0 28px 65px #07111f33}.project-build .page-label{color:#8296b2}.project-build .page-label span{color:var(--cyan-bright)}.project-build h2{color:#fff}.project-build__intro>p{color:#a9bad0;margin-top:18px;font-size:.9rem;line-height:1.72}.project-build__steps{border-top:1px solid #20344c;list-style:none}.project-build__steps li{border-bottom:1px solid #20344c;grid-template-columns:34px 1fr;gap:18px;padding:19px 0;display:grid}.project-build__steps span{color:var(--cyan-bright);font-family:var(--font-mono);font-size:.6rem}.project-build__steps p{color:#c5d3e4;font-size:.82rem;line-height:1.65}.project-art--large{border:1px solid var(--line);border-radius:var(--radius-hero);min-height:430px;box-shadow:var(--shadow-lg);margin-top:48px;padding:24px}.project-art--large .project-art__bar{padding-bottom:16px}.project-art--large .graph-art{height:340px}.project-art--large .graph-box{width:82px;height:50px;font-size:.75rem}.project-art--large .agent-art{max-width:720px;margin-inline:auto;padding-top:70px}.project-art--large .agent-art>div span{padding:18px 8px;font-size:.65rem}.project-art--large .agent-art section{gap:12px;margin-top:24px;padding:25px}.project-art--large .agent-art section i{height:8px}.project-art--large .diagnostic-art{gap:12px;max-width:720px;margin:42px auto 0}.project-art--large .diagnostic-art p{padding:13px 15px;font-size:.73rem}.project-art--large .diagnostic-art code{margin-top:16px;font-size:.67rem}.case-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:58px;display:grid}.case-grid article{border-top:2px solid var(--line);padding-top:18px;transition:border-color .22s}.case-grid article:hover{border-top-color:color-mix(in srgb, var(--cyan) 60%, var(--line))}.case-grid span{color:var(--cyan);font-family:var(--font-mono);font-size:.68rem;font-weight:500}.case-grid h2{margin-top:13px;font-size:1.25rem}.case-grid p{margin-top:11px;font-size:.88rem;line-height:1.7}.stack-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);grid-template-columns:.75fr 1.25fr;align-items:center;gap:30px;margin-top:58px;padding:30px;display:grid}.stack-panel h2{font-size:var(--step-2);margin-top:10px}.stack-panel .tag-list{margin-top:0}.next-project{border-top:1px solid var(--line);justify-content:space-between;align-items:end;gap:20px;margin-top:54px;padding-top:28px;transition:border-color .22s;display:flex}.next-project>span{color:var(--muted);font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;font-size:.66rem;font-weight:500}.next-project strong{font-family:var(--font-display);letter-spacing:-.03em;font-size:1.85rem;font-weight:700}.next-project i{color:var(--cyan);font-style:normal;transition:transform .24s cubic-bezier(.22,.68,0,1);display:inline-block}.contact-page .page-header{text-align:center;max-width:780px;margin-inline:auto}.contact-page .page-header .page-label{justify-content:center}.contact-page .page-header h1{max-width:14ch;margin-inline:auto}.contact-page .page-header>p{margin-inline:auto}.contact-actions{justify-content:center;gap:11px;margin-top:31px;display:flex}.contact-email{width:fit-content;max-width:100%;color:var(--cyan);letter-spacing:-.03em;overflow-wrap:anywhere;margin:32px auto 0;font-size:clamp(1.2rem,2.6vw,1.8rem);font-weight:720;display:block}.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:57px;display:grid}.contact-grid a{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);min-width:0;min-height:190px;box-shadow:var(--shadow-md);padding:24px;transition:border-color .24s,box-shadow .24s,transform .24s cubic-bezier(.22,.68,0,1);position:relative;overflow:hidden}.contact-grid a>span{color:var(--cyan);font-family:var(--font-mono);letter-spacing:.07em;font-size:.64rem;font-weight:500}.contact-grid h2{margin-top:28px;font-size:1.08rem}.contact-grid p{color:var(--muted);overflow-wrap:anywhere;margin-top:6px;font-size:.76rem}.contact-grid i{color:var(--cyan);font-style:normal;transition:transform .24s cubic-bezier(.22,.68,0,1);display:inline-block;position:absolute;bottom:17px;right:20px}.contact-facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:28px;display:grid}.contact-facts div{text-align:center;border-right:1px solid var(--line);padding:20px}.contact-facts div:last-child{border-right:0}.contact-facts dt{color:var(--muted);font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;font-size:.6rem}.contact-facts dd{color:var(--ink);margin-top:4px;font-size:.82rem;font-weight:600}.not-found{text-align:center;align-content:center;place-items:center;min-height:calc(100dvh - 250px);display:grid}.not-found>span{color:var(--cyan);font-family:var(--font-mono);letter-spacing:.1em;border:1px solid color-mix(in srgb, var(--cyan) 40%, var(--line));border-radius:999px;padding:6px 14px;font-size:.86rem;font-weight:500}.not-found h1{letter-spacing:-.045em;max-width:13ch;margin-top:20px;font-size:clamp(2.6rem,6vw,4.8rem);font-weight:700;line-height:1}.not-found p{color:var(--muted);font-size:var(--step-0);margin:16px 0 24px}.site-footer{z-index:1;width:min(var(--content-max), calc(100% - 96px));min-height:82px;color:var(--muted);border-top:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.03em;justify-content:space-between;align-items:center;gap:20px;margin-inline:auto;font-size:.66rem;display:flex;position:relative}.site-footer div{gap:18px;display:flex}.site-footer a{color:var(--cyan);font-weight:500;transition:color .16s}@media (hover:hover) and (pointer:fine){.primary-nav__link:hover{color:#fff;background:#0d1c309e;transform:translate(2px)}.primary-nav__link:hover .primary-nav__index{color:var(--cyan-bright)}.sidebar__brand-link:hover .brand-mark{transform:translateY(-1px);box-shadow:0 8px 22px #4f46e580}.sidebar-resume:hover{color:var(--cyan-bright);background:color-mix(in srgb, var(--rail-raised) 70%, transparent);border-color:#34516f}.sidebar-socials a:hover,.hero__socials a:hover{color:var(--cyan-bright)}.theme-toggle:hover{color:var(--rail-text)}.site-footer a:hover{color:var(--indigo)}.button--primary:hover{background:linear-gradient(180deg, var(--indigo), var(--indigo-hover));transform:translateY(-2px);box-shadow:0 16px 34px #4f46e55c,inset 0 1px #fff3}.button--secondary:hover{color:var(--indigo);border-color:color-mix(in srgb, var(--indigo) 55%, var(--line));box-shadow:var(--shadow-md);transform:translateY(-2px)}.button:hover span[aria-hidden=true]{transform:translate(3px)}.text-action:hover,.back-link:hover{color:var(--indigo);gap:11px}.identity-wrap:hover .identity-card{box-shadow:var(--shadow-hero), inset 0 1px 0 #ffffff0f;transform:translateY(-4px)}.identity-wrap:hover .identity-chip--one{transform:translate(-2px,-3px)}.identity-wrap:hover .identity-chip--two{transform:translate(3px,-2px)}.identity-wrap:hover .identity-chip--three{transform:translate(-2px,3px)}.project-card:hover{border-color:color-mix(in srgb, var(--cyan) 48%, var(--line));box-shadow:var(--shadow-lg);transform:translateY(-5px)}.project-card:hover .project-art{transform:scale(1.03)}.project-card:hover .project-card__title h2{color:var(--indigo)}.project-card:hover .project-card__title>span{transform:translate(2px,-2px)}.recognition-card:hover,.skill-card:hover{border-color:color-mix(in srgb, var(--cyan) 40%, var(--line));box-shadow:var(--shadow-md);transform:translateY(-3px)}.tag-list li:hover{color:var(--indigo);border-color:color-mix(in srgb, var(--indigo) 40%, var(--line));background:color-mix(in srgb, var(--indigo-soft) 60%, transparent)}.filter-row button:hover:not(.is-active){color:var(--ink);background:color-mix(in srgb, var(--surface-subtle) 80%, transparent)}.contact-grid a:hover{border-color:var(--cyan);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.contact-grid a:hover i{transform:translate(3px,-3px)}.next-project:hover{border-top-color:color-mix(in srgb, var(--indigo) 45%, var(--line))}.next-project:hover strong{color:var(--indigo)}.next-project:hover i{transform:translate(5px)}}@media (width<=1180px){.page-container{padding-inline:34px}.hero{grid-template-columns:minmax(0,1fr) 340px;gap:34px}.identity-card{min-height:420px}.project-grid,.recognition-grid,.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer{width:calc(100% - 68px)}}@media (width<=1023px){.portfolio-app{background-position:24px 24px}.portfolio-app:before{inset:0}.sidebar{display:none}.main-viewport{width:100%;height:auto;min-height:100dvh;margin-left:0;overflow:visible}.page-container{min-height:calc(100dvh - 146px);padding:100px 28px 112px}.skip-link{left:76px}.mobile-header{z-index:70;min-height:64px;color:var(--rail-text);border-bottom:1px solid var(--rail-line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#07111ff5;justify-content:space-between;align-items:center;padding:0 18px;display:flex;position:fixed;inset:0 0 auto}.brand--compact .brand-mark{border-radius:10px;width:38px;height:38px}.mobile-header__name{color:var(--rail-text);font-size:.86rem;font-weight:700}.mobile-header__actions{align-items:center;gap:6px;display:flex}.theme-toggle--compact{justify-content:center;width:44px}.menu-button{background:0 0;border-radius:10px;place-content:center;gap:4px;width:44px;height:44px;display:grid}.menu-button span{background:var(--rail-text);width:19px;height:1.5px;transition:transform .16s,opacity .16s;display:block}.menu-button[aria-expanded=true] span:first-child{transform:translateY(5.5px)rotate(45deg)}.menu-button[aria-expanded=true] span:nth-child(2){opacity:0}.menu-button[aria-expanded=true] span:nth-child(3){transform:translateY(-5.5px)rotate(-45deg)}.drawer-backdrop{z-index:78;pointer-events:none;opacity:0;background:#020811a3;transition:opacity .18s;display:block;position:fixed;inset:0}.drawer-backdrop.is-open{pointer-events:auto;opacity:1}.mobile-drawer{z-index:80;width:min(320px,86vw);color:var(--rail-text);background:var(--rail);border-right:1px solid var(--rail-line);flex-direction:column;padding:24px 20px;transition:transform .22s;display:flex;position:fixed;inset:0 auto 0 0;transform:translate(-102%)}.mobile-drawer.is-open{transform:translate(0)}.mobile-drawer__heading{justify-content:space-between;align-items:center;display:flex}.drawer-close{width:44px;height:44px;color:var(--rail-muted);background:var(--rail-raised);border-radius:50%;font-size:1.5rem}.mobile-drawer .primary-nav{margin-top:48px}.mobile-drawer__links{border-top:1px solid var(--rail-line);gap:10px;margin-top:auto;padding-top:24px;display:grid}.mobile-drawer__links a{min-height:42px;color:var(--rail-muted);font-size:.75rem;font-weight:670}.bottom-nav{z-index:68;min-height:calc(66px + env(safe-area-inset-bottom));padding:7px 8px calc(7px + env(safe-area-inset-bottom));color:var(--rail-muted);border-top:1px solid var(--rail-line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#07111ff7;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0}.bottom-nav__link{border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:0;min-height:50px;font-size:.57rem;font-weight:650;display:flex;position:relative}.bottom-nav__index{color:#60728a;font-family:var(--font-mono);font-size:.5rem}.bottom-nav__link.is-active{color:#fff;background:var(--rail-raised)}.bottom-nav__link.is-active:before{content:"";background:var(--cyan-bright);border-radius:0 0 2px 2px;width:20px;height:2px;position:absolute;top:0}.bottom-nav__link.is-active .bottom-nav__index{color:var(--cyan-bright)}.site-footer{width:calc(100% - 56px);margin-bottom:72px}}@media (width<=767px){.page-container{padding:92px 20px 104px}.page-header h1{font-size:clamp(2.25rem,11vw,3.2rem)}.page-header>p:last-child{font-size:.96rem}.hero{grid-template-columns:1fr;gap:48px;min-height:auto}.hero__copy h1{max-width:10ch;font-size:clamp(3rem,14vw,4.3rem)}.hero__intro{font-size:.94rem}.identity-wrap{max-width:410px}.proof-strip{grid-template-columns:1fr;margin-top:58px}.proof-strip div{border-right:0;border-bottom:1px solid var(--line);padding:18px 22px}.proof-strip div:last-child{border-bottom:0}.home-work,.timeline-section,.skills-note{margin-top:68px}.section-heading-row{flex-direction:column;align-items:start;gap:12px}.project-grid,.project-grid--home,.recognition-grid,.skills-grid,.contact-grid{grid-template-columns:1fr}.about-intro{grid-template-columns:1fr;gap:30px;margin-top:44px}.timeline-item{grid-template-columns:1fr;gap:8px}.project-toolbar{flex-direction:column;align-items:stretch}.search-field{width:100%}.filter-row{scrollbar-width:none;padding-bottom:3px;overflow-x:auto}.project-art{min-height:210px}.project-detail__header h1{font-size:clamp(3rem,18vw,5rem)}.project-art--large{min-height:320px;padding:17px}.project-art--large .graph-art{height:230px}.project-art--large .graph-box{width:60px;height:40px}.case-grid{grid-template-columns:1fr;gap:23px}.project-overview,.project-build{grid-template-columns:1fr}.project-overview{gap:28px}.project-feature-grid{grid-template-columns:1fr}.project-feature-grid article{min-height:0}.project-build{border-radius:22px;gap:32px}.stack-panel{grid-template-columns:1fr}.next-project{flex-direction:column;align-items:start}.contact-actions{flex-direction:column;align-items:stretch}.contact-facts{grid-template-columns:1fr}.contact-facts div{border-right:0;border-bottom:1px solid var(--line)}.contact-facts div:last-child{border-bottom:0}.site-footer{flex-direction:column;justify-content:center;align-items:flex-start;width:calc(100% - 40px);min-height:106px}.project-studio-header{grid-template-columns:1fr;gap:38px}.project-studio-header__copy h1{font-size:clamp(3.05rem,14.6vw,5rem)}.project-studio-stamp{border-radius:20px 20px 6px;grid-template-columns:1fr auto;align-items:center;gap:7px 24px;min-height:0;padding:20px;display:grid}.project-studio-stamp>span{align-self:end}.project-studio-stamp strong{grid-row:span 3;margin:0;font-size:4.4rem}.project-studio-stamp>div,.project-studio-stamp small{margin-top:0}.project-studio{border-radius:20px;margin-top:54px}.project-studio__bar{flex-direction:column;align-items:flex-start;gap:9px;padding:17px 18px}.project-studio__bar>div{flex-direction:column;align-items:flex-start;gap:4px}.project-studio__bar p{display:none}.project-studio .project-toolbar{padding:15px 16px}.project-workbench{grid-template-columns:1fr;min-height:0}.project-index{background:color-mix(in srgb, var(--surface-subtle) 70%, transparent);border-bottom:1px solid var(--line)}.project-index__list{grid-template-columns:1fr;display:grid}.project-index__list button{align-items:center;min-height:94px;padding:16px}.project-index__list button small{margin-top:4px}.project-index__note{display:none}.project-dossier__eyebrow{padding-inline:16px}.project-dossier__eyebrow span:nth-child(2){display:none}.project-dossier__visual .project-art--large{min-height:300px}.project-dossier__visual .project-art--large .graph-art{height:220px}.project-dossier__body{padding:24px 18px 28px}.project-dossier__intro{grid-template-columns:1fr;gap:20px}.project-dossier__intro h2{font-size:clamp(2.5rem,12vw,3.5rem)}.project-dossier__proof{grid-template-columns:1fr}.project-dossier__proof>div{padding:17px 8px 17px 0}.project-dossier__proof>div+div{border-top:1px solid var(--line);border-left:0;padding-left:0}.project-dossier__proof span{top:18px}.project-dossier__footer{flex-direction:column;align-items:stretch}.project-dossier__footer .tag-list{max-width:none}.project-dossier__footer .button-row{flex-direction:column;align-items:stretch}.project-dossier__footer .button{width:100%}.project-archive-footer{grid-template-columns:1fr;gap:30px;margin-top:72px}}@media (width<=420px){.mobile-header{padding-inline:14px}.mobile-header__name{display:none}.page-container{padding-inline:16px}.hero .button-row .button{width:100%}.identity-wrap{padding:8px}.identity-card{border-radius:20px;min-height:420px;padding:21px}.identity-data{bottom:21px;left:21px;right:21px}.identity-chip--one{left:-3px}.identity-chip--two{right:-6px}.identity-chip--three{top:280px}.project-card,.recognition-card,.skill-card,.detail-panel,.contact-grid a{border-radius:16px}.contact-email{font-size:1.05rem}.site-footer{width:calc(100% - 32px)}}@media (prefers-reduced-motion:reduce){.route-enter{animation:none}}.ambient-field{inset:0 0 0 var(--sidebar-width);z-index:1;width:calc(100% - var(--sidebar-width));pointer-events:none;opacity:.68;mix-blend-mode:multiply;height:100dvh;position:fixed;-webkit-mask-image:linear-gradient(#0000 0,#000 12% 86%,#0000 100%);mask-image:linear-gradient(#0000 0,#000 12% 86%,#0000 100%)}:root[data-theme=dark] .ambient-field{opacity:.9;mix-blend-mode:screen}.main-viewport{z-index:2}.main-viewport:focus,.main-viewport:focus-visible{outline:none}.route-progress{top:0;right:0;left:var(--sidebar-width);z-index:90;pointer-events:none;opacity:0;background:linear-gradient(90deg, transparent, var(--cyan-bright), #818cf8, transparent);transform-origin:0;height:2px;position:fixed;transform:scaleX(0);box-shadow:0 0 16px #22d3eeb3}html.route-transitioning .route-progress{animation:.62s cubic-bezier(.22,.68,0,1) both route-sweep}.page-container{view-transition-name:route-content;padding:clamp(60px,6vw,82px) clamp(32px,5.5vw,68px) 108px}.route-enter{animation:.56s cubic-bezier(.22,.68,0,1) both route-in-polished}.route-enter>*{animation:.66s cubic-bezier(.22,.68,0,1) both section-rise}.route-enter>:nth-child(2){animation-delay:70ms}.route-enter>:nth-child(3){animation-delay:.125s}.route-enter>:nth-child(4){animation-delay:.17s}.route-enter :is(.project-grid,.skills-grid,.recognition-grid,.contact-grid)>*{animation:.64s cubic-bezier(.22,.68,0,1) both card-rise}.route-enter :is(.project-grid,.skills-grid,.recognition-grid,.contact-grid)>:nth-child(2){animation-delay:55ms}.route-enter :is(.project-grid,.skills-grid,.recognition-grid,.contact-grid)>:nth-child(3){animation-delay:.105s}.route-enter :is(.project-grid,.skills-grid,.recognition-grid,.contact-grid)>:nth-child(4){animation-delay:.155s}.route-enter :is(.project-grid,.skills-grid,.recognition-grid,.contact-grid)>:nth-child(5){animation-delay:.205s}.route-enter :is(.project-grid,.skills-grid,.recognition-grid,.contact-grid)>:nth-child(6){animation-delay:.255s}html.route-transitioning .route-enter,html.route-transitioning .route-enter>*,html.route-transitioning .route-enter :is(.project-grid,.skills-grid,.recognition-grid,.contact-grid)>*{animation:none}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(route-content){animation:.24s cubic-bezier(.4,0,1,1) both route-out}::view-transition-new(route-content){animation:.44s cubic-bezier(.22,.68,0,1) 70ms both route-new}.page-header h1{letter-spacing:-.045em;margin-top:22px;font-size:clamp(2.7rem,4.6vw,4.1rem);line-height:.98}.page-header>p:last-child,.hero__intro{letter-spacing:-.008em;font-size:clamp(1rem,.95rem + .3vw,1.15rem);line-height:1.72}.hero{gap:clamp(48px,6.5vw,86px)}.hero__copy h1{letter-spacing:-.06em;max-width:9.4ch;font-size:clamp(3.6rem,6.35vw,6.15rem);line-height:.91}.hero__hello{letter-spacing:-.02em;margin-top:30px}.hero__role{color:var(--cyan);background:color-mix(in srgb, var(--cyan-soft) 62%, transparent);border:1px solid color-mix(in srgb, var(--cyan) 24%, transparent);border-radius:999px;margin-top:22px;padding:8px 12px;box-shadow:inset 0 1px #fff3}.hero__intro{margin-top:26px}.home-work,.timeline-section,.skills-note{margin-top:var(--section-gap)}.about-intro,.skills-grid,.project-toolbar,.contact-grid{margin-top:clamp(46px,5vw,64px)}.project-grid{gap:clamp(18px,2vw,24px);margin-top:32px}.project-card,.recognition-card,.skill-card,.contact-grid a,.detail-panel,.project-toolbar,.proof-strip,.stack-panel{background-color:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.project-card,.recognition-card,.skill-card,.contact-grid a{isolation:isolate;position:relative}.project-card:before,.recognition-card:before,.skill-card:before,.contact-grid a:before{z-index:-1;content:"";pointer-events:none;opacity:0;background:radial-gradient(420px circle at 15% -10%, color-mix(in srgb, var(--cyan-bright) 18%, transparent), transparent 48%), linear-gradient(120deg, transparent 35%, color-mix(in srgb, var(--indigo) 7%, transparent), transparent 65%);transition:opacity .32s,transform .52s cubic-bezier(.22,.68,0,1);position:absolute;inset:0;transform:translate(-5%)}.project-card__description,.recognition-card>div,.skill-card>p,.case-grid p{font-size:clamp(.88rem,.84rem + .12vw,.94rem)}.button{letter-spacing:0;min-height:48px;padding-inline:23px}.button--primary{position:relative;overflow:hidden}.button--primary:before{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 25%,#ffffff38,#0000 58%);transition:transform .62s cubic-bezier(.22,.68,0,1);position:absolute;inset:0;transform:translate(-120%)}.identity-card{min-height:470px}.identity-card:after{animation:3.2s ease-in-out infinite alternate identity-corner}.signal-dot:before{animation:2.2s ease-out infinite signal-pulse}.bottom-nav__link{font-size:.62rem}.bottom-nav__index{font-size:.54rem}@media (hover:hover) and (pointer:fine){.project-card:hover:before,.recognition-card:hover:before,.skill-card:hover:before,.contact-grid a:hover:before{opacity:1;transform:translate(0)}.button--primary:hover:before{transform:translate(125%)}}@keyframes route-sweep{0%{opacity:0;transform:scaleX(0)}18%{opacity:1}72%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(1)}}@keyframes route-in-polished{0%{opacity:0;filter:blur(5px);transform:translateY(15px)scale(.996)}to{opacity:1;filter:blur();transform:none}}@keyframes section-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes card-rise{0%{opacity:0;transform:translateY(14px)scale(.99)}to{opacity:1;transform:none}}@keyframes route-out{to{opacity:0;filter:blur(3px);transform:translateY(-8px)scale(.995)}}@keyframes route-new{0%{opacity:0;filter:blur(5px);transform:translateY(15px)scale(.995)}to{opacity:1;filter:blur();transform:none}}@keyframes signal-pulse{0%{box-shadow:0 0 #22d3ee57}70%,to{box-shadow:0 0 0 9px #22d3ee00}}@keyframes identity-corner{to{filter:drop-shadow(0 0 7px #22d3ee61);border-color:#818cf8}}@media (width<=1180px){.page-container{padding-inline:36px}.hero{gap:38px}.hero__copy h1{font-size:clamp(3.4rem,6vw,5.35rem)}.identity-card{min-height:440px}}@media (width<=1023px){.ambient-field{width:100%;inset:0}.route-progress{z-index:92;left:0}.page-container{padding:108px 30px 118px}}@media (width<=767px){.page-container{padding:98px 20px 108px}.page-header h1{font-size:clamp(2.4rem,11.5vw,3.35rem)}.hero__copy h1{font-size:clamp(3.2rem,14.5vw,4.5rem)}.hero{gap:54px}.about-intro,.skills-grid,.project-toolbar,.contact-grid{margin-top:46px}}@media (width<=420px){.page-container{padding-inline:16px}.hero__role{border-radius:12px;line-height:1.5}.identity-card{min-height:430px}}@media (prefers-reduced-motion:reduce){.ambient-field,.route-progress{display:none}.route-enter,.route-enter>*,.route-enter :is(.project-grid,.skills-grid,.recognition-grid,.contact-grid)>*,.identity-card:after,.signal-dot:before{animation:none!important}::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}.ambient-layer{inset:0 0 0 var(--sidebar-width);z-index:1;pointer-events:none;position:fixed;overflow:hidden}.ambient-layer .ambient-field{opacity:.9;width:100%;inset:0}.ambient-symbols{opacity:.62;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 9% 91%,#0000);mask-image:linear-gradient(#0000,#000 9% 91%,#0000)}.ambient-symbol{top:var(--symbol-y);left:var(--symbol-x);width:var(--symbol-size);height:var(--symbol-size);border:1.5px solid color-mix(in srgb, var(--indigo) 55%, var(--cyan-bright));box-shadow:0 0 18px color-mix(in srgb, var(--cyan-bright) 38%, transparent);opacity:.5;animation:symbol-float var(--symbol-duration) ease-in-out var(--symbol-delay) infinite;border-radius:3px;position:absolute;transform:rotate(45deg)}.ambient-symbol--2{border-color:color-mix(in srgb, var(--cyan) 62%, transparent);background:color-mix(in srgb, var(--cyan-bright) 24%, transparent);border-radius:50%}.ambient-symbol--3{background:var(--indigo);box-shadow:0 0 0 4px color-mix(in srgb, var(--indigo) 9%, transparent), 0 0 18px color-mix(in srgb, var(--indigo) 35%, transparent);border:0;border-radius:50%}:root[data-theme=dark] .ambient-symbols{opacity:.74}.route-curtain{inset:0 0 0 var(--sidebar-width);z-index:120;color:#f7fbff;pointer-events:none;opacity:0;clip-path:inset(0 100% 0 0);background:radial-gradient(circle at 70% 30%,#4f46e56b,#0000 30%),radial-gradient(circle at 28% 72%,#22d3ee33,#0000 32%),#07111f;place-items:center;display:grid;position:fixed;overflow:hidden}.route-curtain__grid{opacity:.34;background-image:linear-gradient(#ffffff12 1px,#0000 1px),linear-gradient(90deg,#ffffff12 1px,#0000 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000,#0000 76%);mask-image:radial-gradient(circle,#000,#0000 76%)}.route-curtain p{z-index:1;text-align:center;text-transform:uppercase;gap:10px;display:grid;position:relative}.route-curtain p span{color:var(--cyan-bright);font-family:var(--font-mono);letter-spacing:.24em;font-size:.7rem;font-weight:700}.route-curtain p strong{color:#fff;font-family:var(--font-display);letter-spacing:-.06em;font-size:clamp(2.4rem,7vw,5.5rem);line-height:.9}.route-curtain>i{background:#ffffff1f;width:min(320px,48vw);height:2px;position:absolute;bottom:18%;left:50%;overflow:hidden;transform:translate(-50%)}.route-curtain>i:after{content:"";background:linear-gradient(90deg, transparent, var(--cyan-bright), #818cf8, transparent);position:absolute;inset:0;transform:translate(-100%)}html.route-transitioning .route-curtain{animation:.98s cubic-bezier(.76,0,.24,1) both curtain-pass}html.route-transitioning .route-curtain p{animation:.98s cubic-bezier(.22,.68,0,1) both curtain-label}html.route-transitioning .route-curtain>i:after{animation:.72s .12s both curtain-line}html.route-transitioning .main-viewport,html.route-transitioning .sidebar,html.route-transitioning .bottom-nav,html.route-transitioning .mobile-header{pointer-events:none}.hero__name-line{clip-path:inset(0 100% 0 0);width:max-content;max-width:100%;animation:.76s cubic-bezier(.22,.68,0,1) .1s both name-reveal;display:block}.hero__name-line--accent{color:#0000;background:linear-gradient(92deg, var(--ink) 4%, var(--indigo) 46%, var(--cyan) 96%);background-size:180% 100%;-webkit-background-clip:text;background-clip:text;animation:.76s cubic-bezier(.22,.68,0,1) .21s both name-reveal,7s ease-in-out 1s infinite name-shimmer}.hero__role{min-width:min(100%,370px);min-height:43px;color:var(--ink);background:color-mix(in srgb, var(--surface) 78%, transparent);border:1px solid color-mix(in srgb, var(--cyan) 25%, var(--line));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:999px;align-items:center;gap:9px;padding:8px 13px;display:inline-flex;overflow:hidden;box-shadow:inset 0 1px #ffffff5c,0 8px 30px #4f46e512}.hero__role-prefix{color:var(--muted);font-family:var(--font-ui);letter-spacing:0;flex:none;font-size:.78rem;font-weight:700}.hero__role-window{width:19ch;color:var(--cyan);white-space:nowrap;display:inline-flex;position:relative;overflow:hidden}.hero__role-text{animation:.56s cubic-bezier(.22,.68,0,1) both role-swap;display:inline-block}.hero__role-caret{background:var(--cyan-bright);flex:none;width:2px;height:1.15em;animation:.92s step-end infinite caret-blink;box-shadow:0 0 10px #22d3eea6}.identity-wrap{isolation:isolate;perspective:1000px}.identity-orbit{z-index:-1;pointer-events:none;border:1px solid color-mix(in srgb, var(--indigo) 22%, transparent);border-radius:calc(var(--radius-hero) + 14px);position:absolute}.identity-orbit--one{animation:8s ease-in-out infinite alternate orbit-one;inset:2px;transform:rotate(3.5deg)}.identity-orbit--two{border-color:color-mix(in srgb, var(--cyan) 19%, transparent);animation:10s ease-in-out -3s infinite alternate orbit-two;inset:-12px 12px 8px -12px;transform:rotate(-2.5deg)}.identity-card{--tilt-x:0deg;--tilt-y:0deg;--spot-x:50%;--spot-y:30%;z-index:1;transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transform-style:preserve-3d;will-change:transform}.identity-card__spotlight{z-index:0;pointer-events:none;opacity:.7;background:radial-gradient(360px circle at var(--spot-x) var(--spot-y), #ffffff1c, transparent 45%);transition:opacity .26s;position:absolute;inset:0}@media (hover:hover) and (pointer:fine){.identity-wrap:hover .identity-card{transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(-4px);box-shadow:0 38px 90px #07111f4d,0 0 0 1px #22d3ee1f,inset 0 1px #ffffff14}}@keyframes symbol-float{0%,to{opacity:.24;transform:translate(0,0)rotate(45deg)scale(.85)}35%{opacity:.75;transform:translate(14px,-22px)rotate(115deg)scale(1.12)}68%{opacity:.4;transform:translate(-9px,10px)rotate(205deg)scale(.94)}}@keyframes curtain-pass{0%{opacity:0;clip-path:inset(0 100% 0 0)}8%{opacity:1}42%,58%{opacity:1;clip-path:inset(0)}to{opacity:1;clip-path:inset(0 0 0 100%)}}@keyframes curtain-label{0%,20%{opacity:0;filter:blur(10px);transform:translateY(24px)scale(.96)}42%,60%{opacity:1;filter:blur();transform:none}86%,to{opacity:0;filter:blur(8px);transform:translateY(-18px)scale(1.03)}}@keyframes curtain-line{0%{transform:translate(-100%)}65%,to{transform:translate(100%)}}@keyframes name-reveal{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translate(-18px)}to{opacity:1;clip-path:inset(0);transform:none}}@keyframes name-shimmer{0%,70%,to{background-position:0}85%{background-position:100%}}@keyframes role-swap{0%{opacity:0;filter:blur(5px);transform:translateY(70%)}to{opacity:1;filter:blur();transform:none}}@keyframes caret-blink{0%,48%{opacity:1}49%,to{opacity:.16}}@keyframes orbit-one{to{transform:rotate(-1.5deg)translate(5px,-4px)}}@keyframes orbit-two{to{transform:rotate(2deg)translate(-3px,6px)}}@media (width<=1023px){.ambient-layer,.route-curtain{left:0}}@media (width<=520px){.hero__role{border-radius:14px;width:100%;min-width:0}.hero__role-window{flex:1;width:auto;min-width:0}.route-curtain p strong{font-size:clamp(2.2rem,15vw,4rem)}}@media (prefers-reduced-motion:reduce){.ambient-layer,.route-curtain{display:none}.hero__name-line,.hero__name-line--accent,.hero__role-text,.hero__role-caret,.identity-orbit{clip-path:none;animation:none!important}.identity-card{transform:none!important}}.about-page{width:100%}.about-hero{max-width:900px}.about-hero h1{letter-spacing:-.055em;max-width:17ch;margin-top:22px;font-size:clamp(2.75rem,4.8vw,4.4rem);line-height:1.02}.about-hero h1 span{color:#0000;background:linear-gradient(92deg, var(--indigo), var(--cyan));-webkit-background-clip:text;background-clip:text}.about-hero>p{max-width:74ch;color:var(--body);margin-top:22px;font-size:clamp(1rem,.96rem + .22vw,1.12rem);line-height:1.74}.about-overview{border-top:1px solid var(--line);grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);gap:clamp(42px,6vw,76px);margin-top:clamp(52px,6vw,76px);padding-top:clamp(30px,3vw,40px);display:grid}.about-profile h2{letter-spacing:-.035em;max-width:22ch;font-size:clamp(1.45rem,1.25rem + .75vw,1.9rem);line-height:1.18}.about-profile>p{max-width:67ch;color:var(--body);margin-top:17px;font-size:.93rem;line-height:1.75}.about-facts{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,3vw,42px);margin-top:27px;display:grid}.about-facts div{border-bottom:1px solid var(--line);grid-template-columns:minmax(88px,auto) minmax(0,1fr);align-items:baseline;gap:9px;padding:13px 0;display:grid}.about-facts dt{color:var(--ink);font-size:.76rem;font-weight:750}.about-facts dd{min-width:0;color:var(--muted);overflow-wrap:anywhere;font-size:.76rem}.about-facts a{color:var(--cyan);font-weight:700}.about-contact{margin-top:28px}.about-capabilities{border-left:1px solid var(--line);padding-left:clamp(26px,3vw,42px)}.about-capabilities__heading,.about-meter>div{justify-content:space-between;align-items:baseline;gap:18px;display:flex}.about-capabilities__heading{border-bottom:1px solid var(--line);padding-bottom:18px}.about-capabilities__heading>span{color:var(--ink);font-family:var(--font-display);letter-spacing:-.02em;font-size:1rem;font-weight:700}.about-capabilities__heading small{color:var(--cyan);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.6rem;font-weight:700}.about-meter{margin-top:25px}.about-meter strong{color:var(--ink);font-size:.82rem;font-weight:720}.about-meter>div span{color:var(--muted);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-size:.62rem}.about-meter__track{background:color-mix(in srgb, var(--line) 74%, transparent);border-radius:999px;height:7px;margin-top:10px;display:block;position:relative;overflow:hidden}.about-meter__track:after{content:"";opacity:.48;background:linear-gradient(90deg,#0000,#ffffff73,#0000);animation:4.5s 1.8s infinite meter-glint;position:absolute;inset:0;transform:translate(-100%)}.about-meter__track i{width:var(--meter-fill);background:linear-gradient(90deg, var(--indigo), var(--cyan-bright));border-radius:inherit;height:100%;box-shadow:0 0 14px color-mix(in srgb, var(--cyan-bright) 28%, transparent);transform-origin:0;animation:.92s cubic-bezier(.22,.68,0,1) .54s both meter-fill;display:block;transform:scaleX(0)}.about-meter:nth-child(3) .about-meter__track i{animation-delay:.62s}.about-meter:nth-child(4) .about-meter__track i{animation-delay:.7s}.about-meter:nth-child(5) .about-meter__track i{animation-delay:.78s}.about-paths{background:color-mix(in srgb, var(--surface) 72%, transparent);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(48px,7vw,88px);margin-top:clamp(78px,9vw,118px);padding:clamp(30px,4vw,48px);display:grid}.about-track__heading{align-items:center;gap:12px;display:flex}.about-track__heading span{width:28px;height:28px;color:var(--cyan);background:color-mix(in srgb, var(--cyan-soft) 56%, transparent);border:1px solid color-mix(in srgb, var(--cyan) 24%, transparent);font-family:var(--font-mono);border-radius:50%;place-items:center;font-size:.58rem;font-weight:700;display:grid}.about-track__heading h2{letter-spacing:-.03em;font-size:clamp(1.25rem,1.1rem + .45vw,1.55rem)}.about-track__list{border-left:1px solid color-mix(in srgb, var(--cyan) 42%, var(--line));margin-top:32px;margin-left:13px;padding-left:28px}.about-track__item{padding:0 0 35px;position:relative}.about-track__item:last-child{padding-bottom:2px}.about-track__item:before{content:"";background:linear-gradient(135deg, var(--cyan-bright), var(--indigo));border:2px solid var(--surface);width:10px;height:10px;box-shadow:0 0 0 3px color-mix(in srgb, var(--cyan) 13%, transparent);border-radius:50%;transition:box-shadow .22s,transform .22s;position:absolute;top:3px;left:-34px}.about-track__item time{color:var(--muted);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-size:.63rem;font-weight:600}.about-track__item h3{letter-spacing:-.018em;margin-top:8px;font-size:.98rem;line-height:1.35}.about-track__item>p{color:var(--indigo);margin-top:4px;font-size:.71rem;font-weight:700}.about-track__item>strong{color:var(--cyan);font-family:var(--font-mono);margin-top:7px;font-size:.66rem;font-weight:650;display:inline-block}.about-track__item>div{color:var(--body);margin-top:10px;font-size:.78rem;line-height:1.62}.about-recognition{margin-top:clamp(76px,8vw,104px)}@media (hover:hover) and (pointer:fine){.about-track__item:hover:before{box-shadow:0 0 0 6px color-mix(in srgb, var(--cyan) 14%, transparent), 0 0 20px color-mix(in srgb, var(--cyan-bright) 38%, transparent);transform:scale(1.12)}}@keyframes meter-fill{0%{opacity:.2;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes meter-glint{0%,65%{transform:translate(-100%)}88%,to{transform:translate(100%)}}@media (width<=900px){.about-overview{grid-template-columns:1fr}.about-capabilities{border-top:1px solid var(--line);border-left:0;padding-top:8px;padding-left:0}.about-paths{grid-template-columns:1fr}}@media (width<=600px){.about-hero h1{font-size:clamp(2.45rem,12vw,3.35rem)}.about-facts{grid-template-columns:1fr}.about-paths{padding:25px 21px}.about-track__list{padding-left:24px}.about-track__item:before{left:-30px}}@media (prefers-reduced-motion:reduce){.about-meter__track i{transform:scaleX(1)}.about-meter__track:after{display:none}}.skills-journey{margin-top:52px;position:relative}.skills-journey__stage{position:relative}.skills-journey__cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.skills-journey__hud,.skills-journey__orbit,.skills-journey__progress,.skills-journey__cue{display:none}.skill-card--journey{min-height:280px}.skills-journey.is-enhanced{height:690vh;margin-top:42px}.skills-journey.is-enhanced .skills-journey__stage{isolation:isolate;background:radial-gradient(58% 46% at 50% 50%, color-mix(in srgb, var(--indigo) 13%, transparent), transparent 72%), radial-gradient(38% 34% at 52% 48%, color-mix(in srgb, var(--cyan-bright) 10%, transparent), transparent 76%);height:100dvh;min-height:600px;position:sticky;top:0;overflow:hidden}.skills-journey.is-enhanced .skills-journey__stage:before{z-index:-2;content:"";pointer-events:none;opacity:.3;background-image:linear-gradient(color-mix(in srgb, var(--line) 34%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--line) 34%, transparent) 1px, transparent 1px);background-size:68px 68px;transition:opacity .5s;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 10%,#0000 78%);mask-image:radial-gradient(circle,#000 10%,#0000 78%)}.skills-journey.is-finalizing .skills-journey__stage:before{opacity:.62;-webkit-mask-image:linear-gradient(#0000,#000 15% 88%,#0000);mask-image:linear-gradient(#0000,#000 15% 88%,#0000)}.skills-journey.is-enhanced .skills-journey__hud{z-index:110;pointer-events:none;justify-content:space-between;align-items:flex-start;gap:24px;display:flex;position:absolute;top:clamp(28px,5vh,52px);left:8px;right:8px}.skills-journey__hud>div{gap:7px;display:grid}.skills-journey__hud>div span{color:var(--cyan);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;font-size:.61rem;font-weight:700}.skills-journey__hud>div strong{color:var(--ink);font-family:var(--font-display);letter-spacing:-.035em;font-size:clamp(1.15rem,1rem + .7vw,1.65rem);transition:color .3s}.skills-journey.is-finalizing .skills-journey__hud>div strong{color:var(--indigo)}.skills-journey__hud>p{color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;align-items:center;gap:8px;font-size:.67rem;font-weight:700;display:flex}.skills-journey__hud>p span:first-child{color:var(--cyan);font-size:1rem}.skills-journey__hud>p i{color:var(--line);font-style:normal}.skills-journey.is-enhanced .skills-journey__orbit{z-index:-1;pointer-events:none;border:1px solid color-mix(in srgb, var(--cyan) 18%, transparent);width:min(72%,760px);height:min(43%,350px);box-shadow:0 0 80px color-mix(in srgb, var(--cyan-bright) 8%, transparent), inset 0 0 80px color-mix(in srgb, var(--indigo) 6%, transparent);border-radius:50%;transition:opacity .52s,transform .7s cubic-bezier(.22,.68,0,1);display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-8deg)}.skills-journey__orbit:before,.skills-journey__orbit:after,.skills-journey__orbit i{content:"";border:1px solid color-mix(in srgb, var(--indigo) 15%, transparent);border-radius:50%;position:absolute}.skills-journey__orbit:before{inset:13%;transform:rotate(18deg)}.skills-journey__orbit:after{inset:-12%;transform:rotate(-11deg)}.skills-journey__orbit i:first-child{background:var(--cyan-bright);border:0;width:8px;height:8px;top:5%;left:14%;box-shadow:0 0 14px #22d3eeb3}.skills-journey__orbit i:nth-child(2){background:var(--indigo);width:6px;height:6px;box-shadow:0 0 12px color-mix(in srgb, var(--indigo) 65%, transparent);border:0;bottom:18%;right:8%}.skills-journey__orbit i:nth-child(3){width:2px;height:2px;box-shadow:0 0 70px 32px color-mix(in srgb, var(--cyan-bright) 9%, transparent);border:0;top:50%;left:50%}.skills-journey.is-finalizing .skills-journey__orbit{opacity:0;transform:translate(-50%,-50%)rotate(18deg)scale(1.18)}.skills-journey.is-enhanced .skills-journey__cards{display:block;position:absolute;inset:0}.skills-journey.is-enhanced .skill-card--journey{pointer-events:none;background:radial-gradient(110% 90% at 100% 0%, color-mix(in srgb, var(--cyan-bright) 8%, transparent), transparent 55%), color-mix(in srgb, var(--surface) 96%, transparent);transform-origin:50%;width:min(510px,52vw);min-height:370px;transform-style:preserve-3d;will-change:transform, opacity, filter;padding:31px;transition:border-color .22s,box-shadow .26s,background .26s;display:flex;position:absolute;top:50%;left:50%;overflow:hidden;box-shadow:0 22px 65px #07111f29,inset 0 1px #ffffff24}:root[data-theme=dark] .skills-journey.is-enhanced .skill-card--journey{box-shadow:0 28px 80px #0000006b,inset 0 1px #ffffff0f}.skills-journey.is-enhanced .skill-card--journey.is-active{border-color:color-mix(in srgb, var(--cyan-bright) 58%, var(--line));box-shadow:0 30px 85px #07111f38, 0 0 0 1px color-mix(in srgb, var(--cyan-bright) 12%, transparent), 0 0 42px color-mix(in srgb, var(--cyan-bright) 10%, transparent)}.skills-journey.is-enhanced .skill-card--journey.is-active:after{filter:drop-shadow(0 0 9px #22d3ee6b);width:52px;height:52px}.skills-journey.is-enhanced .skill-card--journey .skill-card__index{font-size:.77rem}.skills-journey.is-enhanced .skill-card--journey h2{margin-top:25px;font-size:clamp(1.45rem,1.25rem + .9vw,2rem)}.skills-journey.is-enhanced .skill-card--journey>p{max-width:40ch;margin-top:12px;font-size:.9rem}.skills-journey.is-enhanced .skill-card--journey .tag-list{margin-top:22px}.skills-journey.is-enhanced .skills-journey__progress{z-index:112;background:color-mix(in srgb, var(--line) 76%, transparent);border-radius:999px;height:2px;display:block;position:absolute;bottom:clamp(38px,6vh,62px);left:8px;right:8px;overflow:hidden}.skills-journey__progress i{background:linear-gradient(90deg, var(--cyan), var(--indigo), var(--cyan-bright));transform-origin:0;will-change:transform;width:100%;height:100%;display:block;transform:scaleX(0);box-shadow:0 0 14px #22d3ee73}.skills-journey.is-enhanced .skills-journey__cue{z-index:112;color:var(--muted);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:9px;font-size:.58rem;font-weight:700;transition:opacity .26s;display:flex;position:absolute;bottom:clamp(52px,8.3vh,82px);right:8px}.skills-journey__cue span{background:var(--cyan-bright);border-radius:50%;width:5px;height:5px;animation:1.8s ease-out infinite skill-cue-pulse;box-shadow:0 0 #22d3ee4d}.skills-journey.is-finalizing .skills-journey__cue{opacity:0}@keyframes skill-cue-pulse{0%{box-shadow:0 0 #22d3ee61}75%,to{box-shadow:0 0 0 9px #22d3ee00}}@media (width<=1179px),(height<=599px){.skills-journey__cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.skills-journey{margin-top:46px}.skills-journey__cards{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.skills-journey__cue span{animation:none}}.projects-page__header>div{grid-template-columns:minmax(250px,.8fr) minmax(360px,1.2fr);align-items:end;gap:clamp(44px,8vw,130px);margin-top:24px;display:grid}.projects-page__header p{max-width:60ch;color:var(--body);padding-bottom:5px;font-size:clamp(1rem,.94rem + .2vw,1.1rem);line-height:1.72}.project-type-toggle{background:color-mix(in srgb, var(--surface) 96%, transparent);border:1px solid var(--line);width:min(760px,100%);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:18px;align-items:center;gap:18px;margin:clamp(58px,7vw,90px) auto 0;padding:9px 10px 9px 18px;display:flex}.project-type-toggle>span{color:var(--muted);font-family:var(--font-mono);letter-spacing:.12em;flex:none;font-size:.57rem;font-weight:700}.project-type-toggle>div{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-width:0;display:grid}.project-type-toggle button{min-height:58px;color:var(--muted);text-align:left;background:0 0;border:1px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:0 18px;font-size:.78rem;font-weight:680;transition:color .18s,background .18s,border-color .18s;display:flex}.project-type-toggle button small{min-width:28px;height:28px;color:var(--muted);background:color-mix(in srgb, var(--surface-subtle) 75%, transparent);font-family:var(--font-mono);border-radius:50%;place-items:center;font-size:.54rem;display:grid}.project-type-toggle button.is-active{color:#fff;background:#0a1728;border-color:#223951;box-shadow:0 9px 22px #07111f29}.project-type-toggle button.is-active small{color:#07111f;background:var(--cyan-bright)}.project-collection{margin-top:clamp(64px,7vw,92px)}.project-collection__header{border-bottom:1px solid var(--line);grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);align-items:end;gap:clamp(36px,7vw,100px);padding-bottom:24px;display:grid}.project-collection__header>div>span{color:var(--cyan);font-family:var(--font-mono);letter-spacing:.1em;font-size:.58rem;font-weight:700}.project-collection__header h2{letter-spacing:-.055em;margin-top:8px;font-size:clamp(2.1rem,4vw,3.8rem);font-weight:720;line-height:1}.project-collection__header>p{max-width:52ch;color:var(--muted);font-size:.87rem;line-height:1.65}.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,2.5vw,30px);margin-top:32px;display:grid}.project-gallery--side{grid-template-columns:repeat(2,minmax(0,1fr))}.project-gallery--side .project-gallery-card:only-child{max-width:680px}.project-gallery-card{background:color-mix(in srgb, var(--surface) 96%, transparent);border:1px solid var(--line);min-width:0;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:22px;transition:border-color .22s,box-shadow .22s;overflow:hidden}.project-gallery-card__visual{display:block;position:relative;overflow:hidden}.project-gallery-card__visual .project-art{border-bottom-color:#ffffff14;min-height:272px}.project-gallery-card__visual .graph-art{height:205px}.project-gallery-card__visual .agent-art{padding-top:34px}.project-gallery-card__visual .diagnostic-art{padding-top:30px}.project-gallery-card__visual>span{color:#dbeafe;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:36px;height:36px;font-family:var(--font-mono);background:#07111fd1;border:1px solid #ffffff29;border-radius:50%;place-items:center;font-size:.55rem;display:grid;position:absolute;top:18px;left:18px}.project-gallery-card__body{padding:clamp(22px,2.7vw,32px)}.project-gallery-card__meta{color:var(--muted);font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;justify-content:space-between;gap:16px;font-size:.57rem;display:flex}.project-gallery-card__meta span:first-child{color:var(--cyan)}.project-gallery-card__title{justify-content:space-between;align-items:center;gap:20px;margin-top:17px;display:flex}.project-gallery-card__title h2{letter-spacing:-.055em;font-size:clamp(2rem,3.5vw,3.25rem);font-weight:720;line-height:1}.project-gallery-card__title>span{color:var(--cyan);font-size:1rem}.project-gallery-card__subtitle{color:var(--indigo);margin-top:9px;font-size:.84rem;font-weight:650}.project-gallery-card__description{color:var(--body);margin-top:20px;font-size:.84rem;line-height:1.7}.project-gallery-card__facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:25px;display:grid}.project-gallery-card__facts>div{min-width:0;padding:17px 12px 17px 0}.project-gallery-card__facts>div+div{border-left:1px solid var(--line);padding-left:12px}.project-gallery-card__facts dt{color:var(--ink);font-family:var(--font-display);letter-spacing:-.035em;font-size:1.15rem;font-weight:720}.project-gallery-card__facts dd{color:var(--muted);margin-top:3px;font-size:.58rem;line-height:1.35}.project-gallery-card .tag-list{margin-top:20px}.project-gallery-card__actions{justify-content:space-between;align-items:center;gap:16px;margin-top:26px;display:flex}.project-gallery-card__actions .text-link{color:var(--indigo);align-items:center;gap:7px;font-size:.75rem;font-weight:700;display:inline-flex}.project-gallery-card__actions .text-link--muted{color:var(--muted);font-weight:620}.projects-page__footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:30px;margin-top:clamp(72px,9vw,120px);padding-top:26px;display:flex}.projects-page__footer p{color:var(--muted);font-size:.84rem}.projects-page__footer .text-link{color:var(--indigo);align-items:center;gap:7px;font-size:.78rem;font-weight:700;display:inline-flex}@media (hover:hover) and (pointer:fine){.project-type-toggle button:hover:not(.is-active){color:var(--ink);background:var(--surface-subtle)}.project-gallery-card:hover{border-color:color-mix(in srgb, var(--cyan) 44%, var(--line));box-shadow:var(--shadow-lg)}.project-gallery-card__title:hover h2,.project-gallery-card__actions .text-link:hover{color:var(--cyan)}}@media (width<=900px){.projects-page__header>div,.project-collection__header{grid-template-columns:1fr;gap:24px}.projects-page__header h1{font-size:clamp(4rem,15vw,6.7rem)}.project-gallery,.project-gallery--side{grid-template-columns:1fr}.project-gallery--side .project-gallery-card:only-child{max-width:none}}@media (width<=620px){.project-type-toggle{flex-direction:column;align-items:stretch;gap:8px;padding:11px}.project-type-toggle>span{padding:3px 7px 0}.project-type-toggle button{min-height:54px;padding-inline:13px;font-size:.7rem}.project-collection{margin-top:54px}.project-gallery-card{border-radius:18px}.project-gallery-card__visual .project-art{min-height:230px}.project-gallery-card__visual .graph-art{height:165px}.project-gallery-card__facts{grid-template-columns:1fr}.project-gallery-card__facts>div{justify-content:space-between;align-items:baseline;gap:14px;padding:12px 0;display:flex}.project-gallery-card__facts>div+div{border-top:1px solid var(--line);border-left:0;padding-left:0}.project-gallery-card__facts dd{text-align:right}.project-gallery-card__actions,.projects-page__footer{flex-direction:column;align-items:flex-start}}.brand-copy strong{font-size:1rem;font-weight:700}.primary-nav__link{font-size:.92rem;font-weight:600}.page-label{letter-spacing:.13em;font-size:.74rem}.page-header h1{letter-spacing:-.055em;max-width:15ch;font-size:clamp(2.75rem,4.8vw,4.15rem);font-weight:800;line-height:.98}.page-header>p:last-child,.hero__intro{font-size:clamp(1.02rem,.96rem + .24vw,1.14rem);line-height:1.72}.hero__copy h1{letter-spacing:-.064em;max-width:9.5ch;font-size:clamp(3.7rem,6.1vw,5.85rem);font-weight:800;line-height:.91}.hero__hello{font-size:1.12rem}.hero__role-prefix{font-size:.84rem}.hero__role-window{font-size:.96rem}.section-heading-row h2,.skills-note h2{letter-spacing:-.045em;font-size:clamp(1.9rem,2.5vw,2.65rem);font-weight:700}.project-card__title h2,.recognition-card h3,.skill-card h2,.timeline-item h3,.contact-grid h2{font-weight:700}.project-card__description,.recognition-card>div,.skill-card>p,.timeline-item p,.contact-grid p{font-size:clamp(.88rem,.85rem + .12vw,.95rem);line-height:1.68}.button{font-size:.88rem}.tag-list li{font-size:.69rem}.projects-page__header>div{grid-template-columns:minmax(280px,.82fr) minmax(380px,1.18fr);gap:clamp(44px,7vw,110px)}.projects-page__header h1{letter-spacing:-.07em;font-size:clamp(3.9rem,6.7vw,6.35rem);font-weight:800;line-height:.88}.projects-page__header p{font-size:clamp(1.02rem,.96rem + .22vw,1.13rem)}.project-collection__header h2{font-size:clamp(2.15rem,3.5vw,3.45rem);font-weight:700}.project-gallery-card__title h2{font-size:clamp(2rem,3vw,2.85rem);font-weight:700}.project-gallery-card__description{font-size:.9rem}.project-detail__header h1{letter-spacing:-.065em;font-size:clamp(3.25rem,7vw,6rem);font-weight:800;line-height:.9}.case-grid h2{font-size:1.35rem}.case-grid p{font-size:.94rem}.next-project strong{font-size:2rem}@media (width<=900px){.projects-page__header>div{grid-template-columns:1fr}.projects-page__header h1{font-size:clamp(3.7rem,14vw,5.9rem)}}@media (width<=767px){.page-header h1{font-size:clamp(2.55rem,11vw,3.55rem)}.hero__copy h1{font-size:clamp(3.25rem,14vw,4.65rem)}.project-detail__header h1{font-size:clamp(3rem,16vw,4.9rem)}}
