.nav{z-index:100;height:var(--nav-h);transition:background var(--t), border-color var(--t), box-shadow var(--t);border-bottom:var(--border-width) solid transparent;align-items:center;display:flex;position:fixed;inset:0 0 auto}.nav--scrolled{background:var(--nav-bg-scrolled);-webkit-backdrop-filter:var(--nav-blur);border-bottom-color:var(--border);box-shadow:var(--shadow-sm)}.nav__inner{justify-content:space-between;align-items:center;gap:24px;display:flex}.nav__brand{color:var(--ink);letter-spacing:-.02em;transition:color var(--t-fast);font-size:1.05rem;font-weight:700}.nav__brand:hover,.nav__brand-dot{color:var(--primary)}.nav__links{gap:28px;margin-left:auto;display:flex}.nav__link{color:var(--ink-2);font-size:.92rem;font-weight:500}.nav__link:hover{color:var(--ink)}.nav__cta{margin-left:4px}.nav__work{display:inline-flex;position:relative}.nav__work-trigger{color:var(--ink-2);transition:color var(--t-fast);background:0 0;border:none;align-items:center;gap:4px;padding:0;font-family:inherit;font-size:.92rem;font-weight:500;display:inline-flex}.nav__work-trigger:hover,.nav__work-trigger.is-open{color:var(--ink)}.nav__work-caret{transition:transform var(--t-fast);font-size:.7em}.nav__work-trigger.is-open .nav__work-caret{transform:rotate(180deg)}.nav__work-menu{z-index:200;background:var(--surface);border:var(--border-width) solid var(--border);border-radius:var(--r);min-width:260px;box-shadow:var(--shadow-md);flex-direction:column;gap:2px;padding:8px;display:flex;position:absolute;top:calc(100% + 12px);left:0}.nav__work-heading{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:4px 8px 6px;font-size:.72rem;font-weight:600}.nav__work-item{text-align:left;border-radius:var(--r-sm);color:var(--ink-2);transition:all var(--t-fast);background:0 0;border:none;padding:8px 10px;font-size:.9rem;font-weight:550}.nav__work-item:hover{background:var(--surface-hover);color:var(--ink)}.nav__work-item.is-active{background:var(--primary-soft);color:var(--primary-ink);font-weight:650}.nav__work-sep{background:var(--border);height:1px;margin:4px 0}.nav__toggle{color:var(--ink-2);border-radius:var(--r-sm);transition:background var(--t-fast), color var(--t-fast);background:0 0;border:none;justify-content:center;align-items:center;margin-left:auto;padding:8px;display:none}.nav__toggle:hover{background:var(--primary-soft);color:var(--primary-ink)}@media (width<=720px){.nav__toggle{display:inline-flex}.nav__links{top:var(--nav-h);background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-md);flex-direction:column;gap:16px;margin-left:0;padding:16px 24px;display:none;position:absolute;left:0;right:0}.nav__links--open{display:flex}.nav__cta{margin-left:12px}}.hero{padding-top:calc(var(--nav-h) + clamp(120px, 18vw, 220px));padding-bottom:clamp(72px,11vw,128px);position:relative;overflow:hidden}.hero__glow{background:var(--hero-glow);pointer-events:none;z-index:-2;filter:blur(30px);width:1100px;height:750px;position:absolute;top:-140px;left:50%;transform:translate(-50%)}.hero__inner{max-width:100%}.hero__kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:14px;font-size:.8rem;font-weight:600;display:flex}.hero__kicker-sep{color:var(--faint)}@media (width<=600px){.hero__kicker{flex-direction:column;gap:4px}.hero__kicker-sep{display:none}}.hero__title{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:18px;font-size:clamp(2.1rem,4.8vw,3.2rem);line-height:1.1}.hero__lede{font-family:var(--font-display);background:var(--hero-lede-gradient);-webkit-text-fill-color:transparent;color:var(--primary);letter-spacing:-.012em;text-wrap:balance;-webkit-background-clip:text;background-clip:text;max-width:680px;margin-bottom:36px;font-size:clamp(1.15rem,2.4vw,1.45rem);font-weight:650;line-height:1.45}.hero__lens-selector{flex-direction:column;gap:12px;margin-top:42px;display:flex}.hero__lens-prompt{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.8rem;font-weight:600}.hero__lens-bar{flex-wrap:wrap;gap:10px;display:flex}.hero__lens-pill{color:var(--ink-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);cursor:pointer;transition:all var(--t-fast);box-shadow:var(--pill-shadow);align-items:center;gap:8px;padding:10px 18px;font-family:inherit;font-size:.9rem;font-weight:550;display:inline-flex}.hero__lens-pill:hover{color:var(--primary-ink);border-color:var(--primary);background:var(--primary-soft);box-shadow:var(--pill-shadow-hover);transform:translateY(-2px)}.hero__lens-pill.is-active{background:var(--pill-active-gradient);color:var(--pill-active-ink);box-shadow:var(--pill-shadow-active);border-color:#0000;font-weight:650}.work-card__quote{border-left:3px solid var(--primary);background:var(--primary-soft);border-radius:0 var(--r-sm) var(--r-sm) 0;margin:16px 0 0;padding:10px 14px}.work-card__quote-text{color:var(--ink);margin-bottom:4px;font-size:.85rem;font-style:italic;line-height:1.4}.work-card__quote-author{color:var(--muted);font-size:.78rem;font-weight:600}.work-card__demo-header{justify-content:flex-end;align-items:center;margin-bottom:8px;display:flex}.work-card__demo-badge{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:var(--bg-subtle);border-radius:var(--r-pill);border:1px solid var(--border);padding:3px 10px;font-size:.74rem;font-weight:600}.hero__quote{border-left:3px solid var(--primary-ring);max-width:640px;margin-top:34px;padding-left:18px}.hero__quote blockquote{color:var(--ink-2);font-size:clamp(1rem,1.6vw,1.15rem);font-style:italic;line-height:1.55}.hero__quote figcaption{flex-wrap:wrap;align-items:baseline;gap:8px;margin-top:10px;font-size:.85rem;display:flex}.hero__quote-name{color:var(--ink);font-weight:650}.hero__quote-sep{color:var(--faint)}.hero__quote-title{color:var(--muted)}.live-projects{padding-block:0 clamp(56px,9vw,112px)}.live-projects .section-head{margin-bottom:28px}.live-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:28px;display:grid}.live-card{border-color:var(--primary-ring);background:linear-gradient(160deg, var(--primary-soft) 0%, var(--surface) 34%);flex-direction:column;align-items:flex-start;padding:clamp(24px,4vw,40px);display:flex}.live-card__chips{flex-wrap:wrap;gap:8px;margin-bottom:18px;list-style:none;display:flex}.chip--live:before{content:"";border-radius:var(--r-full);background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 3px var(--primary-ring)}.live-card__name{font-family:var(--font-mono);letter-spacing:-.03em;font-size:clamp(1.6rem,3.2vw,2.2rem);font-weight:600}.live-card__tagline{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:6px;font-size:.8rem;font-weight:600}.live-card__lede{max-width:62ch;color:var(--ink-2);text-wrap:pretty;margin-top:18px;font-size:1.05rem}.live-card__links{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.work-grid{flex-direction:column;gap:28px;display:flex}.work-card{grid-template-columns:minmax(0,360px) minmax(0,1fr);display:grid;overflow:hidden}.work-card--lab{border-color:var(--primary-ring);background:linear-gradient(160deg, var(--primary-soft) 0%, var(--surface) 26%)}.work-card__body{flex-direction:column;padding:32px;display:flex}.work-card__meta{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.work-card__title{letter-spacing:-.02em;font-size:1.4rem}.work-card__company{color:var(--primary-ink);margin-top:4px;font-size:.88rem;font-weight:600}.work-card__summary{color:var(--ink-2);margin-top:14px;font-size:.95rem}.work-card__outcomes{gap:10px;margin-top:18px;list-style:none;display:grid}.work-card__outcomes li{color:var(--ink-2);gap:10px;font-size:.9rem;display:flex}.work-card__links{color:var(--muted);margin-top:16px;font-size:.85rem;line-height:1.6}.work-card__links-label{color:var(--ink-2);font-weight:600}.work-card__links a{color:var(--primary);transition:border-color var(--t-fast);border-bottom:1px solid #0000;font-weight:600;text-decoration:none}.work-card__links a:hover{border-bottom-color:var(--primary)}.work-card__links-sep{color:var(--faint)}.work-card__check{border-radius:var(--r-full);background:var(--primary-soft);width:20px;height:20px;color:var(--primary-ink);flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:inline-flex}.work-card__demo{background:var(--bg-subtle);border-left:1px solid var(--border);flex-direction:column;justify-content:center;min-width:0;padding:24px;display:flex}.work-card--lab .work-card__demo{background:#ffffff8c}.work-card__demo-container{width:100%;max-width:680px;margin-inline:auto}@media (width<=900px){.work-card{grid-template-columns:1fr}.work-card__demo{border-left:none;border-top:1px solid var(--border)}}.work-lens-status{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px;font-size:.88rem;display:flex}.work-lens-status__label{color:var(--ink-2);font-weight:600}.work-lens-status__clear{color:var(--primary);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:2px 4px;font-family:inherit;font-size:.84rem;font-weight:600;text-decoration:underline}.work-lens-status__clear:hover{color:var(--primary-ink)}.work-card{transition:box-shadow var(--t), border-color var(--t)}.work-card.is-matched{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary), var(--shadow-md)}.chip--match{background:var(--primary);color:#fff}.ailab-stack{flex-direction:column;gap:28px;display:flex}.ailab-block{padding:30px}.ailab-block__head{max-width:760px;margin-bottom:22px}.ailab-block__title{font-size:1.3rem}.ailab-block__body{color:var(--ink-2);margin-top:10px;font-size:.95rem}.ailab-block__demo{min-width:0}.repo-strip{margin-top:40px}.repo-strip__head{max-width:760px;margin-bottom:20px}.repo-strip__sub{color:var(--ink-2);margin-top:10px;font-size:.95rem}.repo-list{border-top:var(--border-width) solid var(--border);margin:0;padding:0;list-style:none}.repo-item{border-bottom:var(--border-width) solid var(--border);grid-template-columns:minmax(180px,220px) 1fr;align-items:baseline;gap:6px 36px;padding:22px 0;display:grid}.repo-item__name{font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, monospace);color:var(--ink);transition:color var(--t-fast);font-size:.95rem;font-weight:600;text-decoration:none}.repo-item__name:hover,.repo-item__arrow{color:var(--primary)}.repo-item__desc{color:var(--ink-2);margin:0;font-size:.925rem;line-height:1.6}@media (width<=620px){.repo-item{grid-template-columns:1fr;gap:8px}}.exp-timeline{list-style:none}.exp-item{grid-template-columns:28px 1fr;gap:20px;display:grid}.exp-item__rail{justify-content:center;display:flex;position:relative}.exp-item__rail:before{content:"";background:var(--border);width:2px;position:absolute;top:6px;bottom:-8px}.exp-item:last-child .exp-item__rail:before{display:none}.exp-item__node{z-index:1;border-radius:var(--r-full);background:var(--primary);width:13px;height:13px;box-shadow:0 0 0 4px var(--primary-soft);margin-top:5px;position:relative}.exp-item__content{padding-bottom:36px}.exp-item__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.exp-item__role{font-size:1.12rem}.exp-item__period{color:var(--muted);white-space:nowrap;font-size:.82rem;font-weight:600}.exp-item__company{color:var(--primary-ink);margin-top:4px;font-size:.92rem;font-weight:600}.exp-item__loc{color:var(--muted);font-weight:400}.exp-item__highlights{gap:8px;margin-top:14px;padding-left:18px;display:grid}.exp-item__highlights li{color:var(--ink-2);font-size:.92rem}.exp-item__highlights li::marker{color:var(--primary)}.contact{background:var(--contact-bg);color:var(--contact-ink);padding-block:clamp(56px,9vw,96px) 32px}.contact__cta{max-width:620px}.contact__title{font-family:var(--font-display);color:#fff;letter-spacing:-.03em;font-size:clamp(1.9rem,4vw,2.8rem)}.contact__sub{color:#ffffff9e;margin-top:14px;font-size:1.05rem}.contact__actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.contact .btn--ghost{color:#fff;background:0 0;border-color:#ffffff3d}.contact .btn--ghost:hover{color:#fff;background:#ffffff14;border-color:#fff}.contact__links{gap:20px;margin-top:22px;display:flex}.contact__links a{color:#ffffffb3;font-size:.9rem}.contact__links a:hover{color:#fff}.contact__base{color:#ffffff80;border-top:1px solid #ffffff1f;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:56px;padding-top:24px;font-size:.82rem;display:flex}@keyframes demo-spin{to{transform:rotate(360deg)}}.demo-skeleton-spinner{border:2.5px solid var(--border-strong);border-top-color:var(--primary);border-radius:var(--r-full);width:20px;height:20px;animation:.8s linear infinite demo-spin}
