:root{color-scheme:dark;--bg-deep: #060607;--bg: #0c0c0e;--surface: #121214;--surface-hover: #18181b;--border: #27272a;--border-subtle: #1f1f23;--text: #a1a1aa;--text-muted: #71717a;--heading: #fafafa;--accent: #7c3aed;--accent-dim: rgba(124, 58, 237, .14);--accent-glow: rgba(124, 58, 237, .45);--violet: #a78bfa;--violet-dim: rgba(167, 139, 250, .15);--nav-purple: #7c3aed;--nav-purple-deep: #5b21b6;--nav-purple-glow: rgba(124, 58, 237, .55);--teal: #2dd4bf;--teal-glow: rgba(45, 212, 191, .35);--hero-badge-green: #4ade80;--hero-badge-green-glow: rgba(74, 222, 128, .5);--hero-badge-green-soft: rgba(74, 222, 128, .22);--radius: 12px;--radius-sm: 8px;--font: "Geist", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--nav-h: 64px;--experience-stack-top-gap: clamp(28px, 5vh, 56px)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100svh;font-family:var(--font);font-size:17px;line-height:1.6;color:var(--text);background:var(--bg-deep);-webkit-font-smoothing:antialiased}#root{min-height:100svh}a{color:inherit}::selection{background:var(--accent-dim);color:var(--heading)}.app{position:relative;overflow-x:clip}.bg-grid{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--border-subtle) 1px,transparent 1px),linear-gradient(90deg,var(--border-subtle) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,black 20%,transparent 70%);mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,black 20%,transparent 70%);opacity:.45;z-index:0}.bg-orb{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;transform:none;background:radial-gradient(ellipse 36% 32% at 50% 18%,var(--accent-glow) 0%,transparent 70%),radial-gradient(ellipse 28% 26% at 60% 16%,rgba(167,139,250,.22) 0%,transparent 70%);filter:none;opacity:.65;z-index:0;animation:bgOrbDrift 22s ease-in-out infinite alternate}@keyframes bgOrbDrift{0%{transform:translateY(0) scale(1);opacity:.5}to{transform:translateY(3%) scale(1.04);opacity:.62}}.site-header--floating{position:fixed;top:0;left:0;right:0;z-index:50;padding:max(16px,env(safe-area-inset-top)) clamp(12px,3vw,28px) 0;display:flex;flex-direction:column;align-items:center;pointer-events:none;background:transparent;border:none;height:auto}.nav-shell{pointer-events:auto;width:100%;max-width:min(100%,1140px);display:flex;justify-content:center}.nav-pill{pointer-events:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 8px;max-width:min(100%,1140px);padding:8px 14px;border-radius:999px;background:color-mix(in srgb,var(--bg-deep) 72%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);border:1px solid color-mix(in srgb,var(--heading) 14%,transparent);box-shadow:0 4px 24px #00000073,inset 0 1px color-mix(in srgb,var(--heading) 8%,transparent)}.nav-pill-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px}.nav-pill-link{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--heading) 88%,transparent);text-decoration:none;padding:9px 11px;border-radius:999px;transition:color .2s,background .2s}.nav-pill-link:hover{color:var(--heading);background:color-mix(in srgb,var(--heading) 8%,transparent)}.nav-pill-link--active{color:var(--heading);background:color-mix(in srgb,var(--accent) 12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.nav-pill-search{font:inherit;display:inline-flex;align-items:center;gap:8px;cursor:pointer;padding:8px 12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--heading) 18%,var(--border));background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--heading);transition:background .2s,border-color .2s,color .2s}.nav-pill-search:hover{background:color-mix(in srgb,var(--heading) 10%,transparent);border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.nav-pill-search:focus-visible{outline:2px solid var(--violet);outline-offset:3px}.nav-pill-search-icon{display:flex;opacity:.9}.nav-pill-search-kbd{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.04em;color:var(--text-muted)}@media (max-width: 640px){.nav-pill-search-kbd{display:none}}.nav-pill-cta{font:inherit;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff;border:none;cursor:pointer;padding:10px 16px 10px 18px;border-radius:999px;background:linear-gradient(135deg,color-mix(in srgb,var(--nav-purple) 92%,white) 0%,var(--nav-purple-deep) 100%);box-shadow:0 0 0 1px color-mix(in srgb,white 22%,transparent),0 4px 20px var(--nav-purple-glow),0 12px 28px -8px #5b21b68c;transition:transform .15s,filter .2s,box-shadow .2s}.nav-pill-cta:hover{filter:brightness(1.08);box-shadow:0 0 0 1px color-mix(in srgb,white 28%,transparent),0 6px 28px var(--nav-purple-glow),0 16px 36px -8px #5b21b699}.nav-pill-cta:focus-visible{outline:2px solid var(--violet);outline-offset:3px}.nav-pill-cta:active{transform:scale(.98)}.nav-pill-cta-arrow{margin-left:4px;font-size:.95em;opacity:.95}.nav-pill--desktop{display:flex}.nav-pill--mobile{display:none;width:100%;max-width:420px;justify-content:space-between;align-items:center;padding:8px 10px 8px 12px;gap:10px}.nav-hamburger{font:inherit;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;border:none;border-radius:12px;cursor:pointer;color:var(--heading);background:color-mix(in srgb,var(--heading) 8%,transparent);transition:background .2s,color .2s}.nav-hamburger:hover{background:color-mix(in srgb,var(--heading) 14%,transparent)}.nav-hamburger:focus-visible{outline:2px solid var(--violet);outline-offset:2px}.nav-hamburger-box{display:flex;flex-direction:column;justify-content:center;gap:5px;width:20px}.nav-hamburger-line{display:block;height:2px;border-radius:2px;background:currentColor;transition:transform .2s ease,opacity .2s ease;transform-origin:center}.nav-hamburger--open .nav-hamburger-line:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-hamburger--open .nav-hamburger-line:nth-child(2){opacity:0;transform:scaleX(0)}.nav-hamburger--open .nav-hamburger-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-pill-cta--mobile-bar{flex:1;min-width:0;padding:10px 16px}.mobile-nav{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;pointer-events:none;visibility:hidden;opacity:0;transition:opacity .2s ease,visibility .2s ease}.mobile-nav--open{pointer-events:auto;visibility:visible;opacity:1}.mobile-nav-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000085;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.mobile-nav-sheet{position:absolute;left:clamp(12px,4vw,24px);right:clamp(12px,4vw,24px);top:max(64px,calc(env(safe-area-inset-top) + 52px));max-height:min(calc(100vh - 80px),560px);overflow-y:auto;padding:8px 0 16px;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--heading) 14%,var(--border));background:color-mix(in srgb,var(--bg-deep) 88%,transparent);-webkit-backdrop-filter:blur(20px) saturate(1.2);backdrop-filter:blur(20px) saturate(1.2);box-shadow:0 24px 48px #0000008c}.mobile-nav-links{display:flex;flex-direction:column;padding:4px 0}.mobile-nav-link{display:block;padding:14px 20px;font-size:15px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--heading);text-decoration:none;border-bottom:1px solid var(--border-subtle);transition:background .15s ease}.mobile-nav-link:last-child{border-bottom:none}.mobile-nav-link:hover,.mobile-nav-link:focus-visible{background:color-mix(in srgb,var(--heading) 6%,transparent)}.mobile-nav-link--active{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.mobile-nav-actions{padding:16px 20px 8px;border-top:1px solid var(--border-subtle)}.mobile-nav-search{width:100%;justify-content:center}@media (max-width: 767px){.nav-pill--desktop{display:none}.nav-pill--mobile{display:flex}}@media (prefers-reduced-motion: reduce){.mobile-nav,.nav-hamburger-line{transition:none}}.main{position:relative;z-index:1;max-width:1140px;margin:0 auto;padding:0 clamp(16px,3.5vw,40px) 96px;padding-top:max(5.5rem,calc(env(safe-area-inset-top) + 4.25rem))}.layout-footer{position:relative;z-index:1;max-width:1140px;margin:0 auto;padding:0 clamp(16px,3.5vw,40px) 96px}.hero{position:relative;isolation:isolate;padding:clamp(56px,12vw,120px) 0 clamp(48px,8vw,88px);overflow:hidden}.hero-ambient{pointer-events:none;position:absolute;top:-35%;right:-25%;width:min(520px,85vw);height:min(380px,55vh);background:radial-gradient(ellipse 70% 60% at 50% 50%,var(--accent-glow) 0%,transparent 72%),radial-gradient(ellipse 55% 50% at 70% 30%,rgba(167,139,250,.22) 0%,transparent 65%);filter:blur(42px);opacity:.4;z-index:0;animation:heroAmbientFloat 16s ease-in-out infinite alternate}@keyframes heroAmbientFloat{0%{transform:translate(0) rotate(0) scale(1)}to{transform:translate(-6%,10%) rotate(-3deg) scale(1.07)}}.hero-content{position:relative;z-index:1}.hero-layout{display:grid;gap:clamp(32px,6vw,56px);align-items:center;position:relative;z-index:1;margin-top:100px}@media (min-width: 900px){.hero-layout{grid-template-columns:minmax(0,1fr) minmax(220px,360px);gap:clamp(40px,5vw,64px)}}.hero-visual{display:flex;justify-content:center}.hero-avatar-shell{position:relative;width:min(100%,320px);border-radius:28px;padding:3px;overflow:hidden;background:linear-gradient(135deg,var(--violet) 0%,var(--accent) 42%,var(--teal) 100%);box-shadow:0 0 52px color-mix(in srgb,var(--nav-purple) 32%,transparent),0 0 40px var(--teal-glow),0 28px 56px -24px #000000bf;animation:heroAvatarFloat 5.5s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.hero-avatar-shell{animation:none}}@keyframes heroAvatarFloat{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-14px) scale(1.03)}}.hero-avatar{display:block;width:100%;height:auto;border-radius:25px;background:#0a0a0c;vertical-align:top}@media (min-width: 900px){.hero h1{max-width:18ch}}@keyframes heroFadeUp{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes heroGradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes heroBadgePulse{0%,to{box-shadow:0 0 0 0 var(--hero-badge-green-glow);opacity:1}50%{box-shadow:0 0 0 6px transparent;opacity:.92}}.hero-content>.hero-badge{animation:heroFadeUp .75s cubic-bezier(.22,1,.36,1) .06s both,heroBadgeBorder 6s ease-in-out infinite 1s}.hero-content>h1{animation:heroFadeUp .78s cubic-bezier(.22,1,.36,1) .14s both}.hero-content>.hero-lead{animation:heroFadeUp .78s cubic-bezier(.22,1,.36,1) .22s both}.hero-content>.hero-actions{animation:heroFadeUp .78s cubic-bezier(.22,1,.36,1) .3s both}@keyframes heroBadgeBorder{0%,to{border-color:var(--border)}50%{border-color:color-mix(in srgb,var(--hero-badge-green) 42%,var(--border))}}.hero-badge{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--text-muted);padding:6px 14px 6px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface);margin-bottom:28px}.hero-badge:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--hero-badge-green);box-shadow:0 0 14px var(--hero-badge-green-glow);animation:heroBadgePulse 2.8s ease-in-out infinite}.hero h1{margin:0 0 20px;max-width:14ch;font-size:clamp(2.5rem,6vw,3.75rem);font-weight:700;letter-spacing:-.04em;line-height:1.05;color:var(--heading)}.hero h1 em{font-style:normal;background:linear-gradient(120deg,var(--accent) 0%,var(--violet) 45%,var(--accent) 90%);background-size:220% 220%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:heroGradientShift 10s ease-in-out infinite}.hero-lead{margin:0 0 36px;max-width:52ch;font-size:1.125rem;color:var(--text)}.hero-lead-mark{font-weight:700;color:var(--accent);text-shadow:0 0 28px color-mix(in srgb,var(--accent-glow) 55%,transparent)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.btn.hero-cv-btn,.btn.btn-mono-pill{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:11px 18px;border-radius:999px;color:var(--accent);border-color:color-mix(in srgb,var(--accent) 42%,var(--border));background:color-mix(in srgb,var(--accent) 10%,transparent)}.btn.hero-cv-btn:hover,.btn.btn-mono-pill:hover{color:var(--heading);border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 20%,transparent)}@media (prefers-reduced-motion: reduce){.bg-orb,.hero-ambient,.hero-badge:before,.hero h1 em,.hero-content>.hero-badge,.hero-content>h1,.hero-content>.hero-lead,.hero-content>.hero-actions{animation:none!important}.hero-content>.hero-badge,.hero-content>h1,.hero-content>.hero-lead,.hero-content>.hero-actions{opacity:1;transform:none}.hero h1 em{background-size:100% 100%}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font);font-size:15px;font-weight:600;padding:12px 22px;border-radius:999px;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:transform .15s,background .2s,border-color .2s,color .2s}.btn:active{transform:scale(.98)}.btn-primary{color:var(--heading);background:var(--accent);border-color:color-mix(in srgb,var(--accent) 70%,white)}.btn-primary:hover{filter:brightness(1.06)}.btn-ghost{color:var(--heading);background:var(--surface);border-color:var(--border)}.btn-ghost:hover{background:var(--surface-hover);border-color:var(--text-muted)}.section{padding:clamp(48px,8vw,88px) 0;scroll-margin-top:calc(var(--nav-h) + 16px)}.section.section--experience{padding-bottom:clamp(28px,5vw,52px)}.section.section--work{padding-top:clamp(28px,5vw,52px)}.section-head{margin-bottom:40px}.section-head--with-cta{display:flex;flex-direction:column;gap:24px;align-items:flex-start}@media (min-width: 880px){.section-head--with-cta{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:32px}}.section-head-copy{min-width:0;flex:1}.section-head-cta{flex-shrink:0}.section-kicker{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 10px}.section-title{margin:0;font-size:clamp(1.75rem,3vw,2.125rem);font-weight:600;letter-spacing:-.03em;color:var(--heading)}.section-desc{margin:12px 0 0;max-width:48ch;color:var(--text-muted);font-size:1rem}.section-desc-link{color:var(--accent);font-weight:600;text-decoration:none}.section-desc-link:hover{text-decoration:underline}[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){[data-reveal]{opacity:1;transform:none;transition:none}}.project-grid{display:grid;gap:20px}@media (min-width: 720px){.project-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 960px){.project-grid{grid-template-columns:repeat(3,1fr)}}.project-card{display:flex;flex-direction:column;padding:0;overflow:hidden;border-radius:var(--radius);border:1px solid var(--border);background:linear-gradient(165deg,var(--surface) 0%,var(--bg) 100%);text-decoration:none;color:inherit;transition:border-color .2s,transform .2s,box-shadow .2s}.project-card-media{aspect-ratio:8 / 5;background:var(--bg-deep);border-bottom:1px solid var(--border-subtle)}.project-card-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease-out}.project-card-body{display:flex;flex-direction:column;flex:1;padding:24px}.project-card-eyebrow{margin:0 0 8px;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--violet)}.project-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));transform:translateY(-3px);box-shadow:0 24px 48px -24px #000000a6}.project-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.project-card--interactive{position:relative}.project-card--interactive:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:radial-gradient(520px circle at var(--sx, 50%) var(--sy, 45%),color-mix(in srgb,var(--accent) 20%,transparent) 0%,transparent 62%);opacity:0;transition:opacity .35s ease}.project-card--interactive:hover:after{opacity:1}@media (prefers-reduced-motion: reduce){.project-card--interactive:after{display:none}.project-card-media img{transition:none}}.work-filters{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-bottom:28px}.work-subsection-title{margin:0 0 12px;font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.work-subsection-title--spaced{margin-top:clamp(40px,6vw,56px)}.work-subsection-lead{margin-top:0;margin-bottom:20px;max-width:52ch}.work-filters--compact{gap:8px 12px;margin-bottom:20px}.work-filters-label{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.work-filters--compact .work-filters-label{font-size:10px;letter-spacing:.08em}.work-filter-chips{display:flex;flex-wrap:wrap;gap:8px}.work-filters--compact .work-filter-chips{gap:6px}.filter-chip{font-family:var(--font);font-size:13px;font-weight:600;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:var(--bg);color:var(--text-muted);cursor:pointer;transition:color .2s,background .2s,border-color .2s,transform .15s}.work-filters--compact .filter-chip{font-size:11px;font-weight:600;padding:5px 10px;border-radius:999px}.filter-chip:hover{color:var(--heading);border-color:var(--text-muted)}.filter-chip.is-active{color:var(--heading);background:var(--accent);border-color:color-mix(in srgb,var(--accent) 70%,white)}.filter-chip:active{transform:scale(.97)}.work-empty{grid-column:1 / -1;margin:0;padding:32px;text-align:center;color:var(--text-muted);border:1px dashed var(--border);border-radius:var(--radius)}.work-empty-reset{font:inherit;font-weight:600;color:var(--accent);background:none;border:none;cursor:pointer;text-decoration:underline;padding:0}.work-more{display:flex;justify-content:center;margin-top:28px}.work-more-btn{font:inherit;font-size:14px;font-weight:600;color:var(--accent);background:transparent;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));border-radius:999px;padding:10px 20px;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.work-more-btn:hover{background:var(--accent-dim);border-color:color-mix(in srgb,var(--accent) 55%,var(--border));color:var(--heading)}.work-more-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.work-more-link{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.case-carousel{outline:none;max-width:100%;margin-inline:auto}.case-carousel:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:var(--radius-sm)}.case-carousel-stage{position:relative;padding:0 clamp(28px,5vw,40px)}.case-carousel-btn{position:absolute;top:50%;z-index:5;translate:0 -50%;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:999px;border:1px solid color-mix(in srgb,white 22%,transparent);background:color-mix(in srgb,#0a0a0c 72%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#ffffffeb;line-height:0;cursor:pointer;box-shadow:0 4px 20px #00000073,inset 0 1px color-mix(in srgb,white 12%,transparent);transition:border-color .2s,background .2s,color .2s,transform .2s}.case-carousel-btn--prev{left:0}.case-carousel-btn--next{right:0}.case-carousel-btn:hover:not(:disabled){border-color:color-mix(in srgb,white 38%,transparent);background:color-mix(in srgb,#141416 88%,transparent);color:#fff;transform:translateY(-50%) scale(1.04)}.case-carousel-btn:disabled{opacity:.3;cursor:not-allowed}.case-carousel-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.case-carousel-btn-icon{display:block;flex-shrink:0}.case-carousel-viewport{overflow:hidden;min-width:0;perspective:1400px;perspective-origin:50% 45%}.case-carousel-track{display:flex;align-items:center;width:max-content;min-height:1px;transform-style:preserve-3d;will-change:transform}.case-carousel-slide{min-width:0;position:relative;z-index:1;transition:opacity .4s ease,filter .4s ease,flex-basis .5s cubic-bezier(.22,1,.36,1),width .5s cubic-bezier(.22,1,.36,1),transform .45s cubic-bezier(.22,1,.36,1);transform-origin:center center}.case-carousel-slide.is-peek{opacity:.4;z-index:0;filter:saturate(.65) brightness(.72);transform:scale(.88) translateZ(-56px)}.case-carousel-slide.is-peek--left{transform:scale(.88) translateZ(-56px) rotateY(7deg)}.case-carousel-slide.is-peek--right{transform:scale(.88) translateZ(-56px) rotateY(-7deg)}.case-carousel-slide.is-peek .project-card--carousel-hero{box-shadow:0 12px 32px -20px #000000e6,0 0 0 1px color-mix(in srgb,var(--border) 70%,transparent)}.case-carousel-slide.is-active{opacity:1;z-index:3;filter:none;transform:scale(1) translateZ(0)}.case-carousel-slide.is-active .project-card--carousel-hero{box-shadow:0 36px 64px -32px #000000e0,0 0 0 1px color-mix(in srgb,white 10%,transparent)}@media (prefers-reduced-motion: reduce){.case-carousel-viewport{perspective:none}.case-carousel-track{transform-style:flat}.case-carousel-slide{transition:opacity .35s ease,flex-basis .35s ease,width .35s ease}.case-carousel-slide.is-peek{opacity:.55;filter:saturate(.85) brightness(.88);transform:none}.case-carousel-slide.is-active{transform:none}}.case-carousel-footer{margin-top:14px;display:flex;flex-direction:column;align-items:center;gap:8px}.case-carousel-cta{display:none;align-items:center;gap:8px;margin-top:8px;padding:10px 18px;border-radius:999px;background:var(--accent);color:var(--bg);font-weight:600;font-size:14px;text-decoration:none;transition:transform .2s,box-shadow .2s}.case-carousel-cta:hover{transform:translateY(-1px);box-shadow:0 12px 28px -16px color-mix(in srgb,var(--accent) 80%,transparent)}@media (max-width: 639px){.case-carousel-cta{display:inline-flex}}.case-carousel-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.case-carousel-dot{width:7px;height:7px;padding:0;border:none;border-radius:2px;background:color-mix(in srgb,var(--text-muted) 45%,#3f3f46);cursor:pointer;opacity:.55;transition:background .25s,opacity .25s,width .25s,transform .25s}.case-carousel-dot.is-active{width:18px;background:#fff;opacity:1;transform:none}.case-carousel-dot:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.case-carousel-status{margin:0;font-size:12px;color:var(--text-muted);text-align:center}.project-card--carousel-hero{display:block;padding:0;overflow:hidden;border-radius:calc(var(--radius) + 4px);border:none;background:#0a0a0c;transition:border-color .2s,box-shadow .35s ease}.project-card--carousel-hero:hover{transform:none}.project-card-media--carousel-hero{position:relative;aspect-ratio:16 / 9;min-height:min(320px,52vw);max-height:380px;border:none;border-radius:inherit;overflow:hidden;background:#0a0a0c}.project-card--carousel-hero .project-card-cover-img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .2s ease-out}.project-card-hero-gradient{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,#05050626,#05050640 35%,#050506bf 72%,#050506f0)}.project-card-hero-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;pointer-events:none}.project-card-hero-tag{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:6px 11px;border-radius:999px;color:#ffffffeb;background:color-mix(in srgb,#27272a 65%,transparent);border:1px solid color-mix(in srgb,white 12%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 16px #00000059;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.project-card-hero-text{position:absolute;left:0;right:0;bottom:0;padding:20px 22px 22px;z-index:1;pointer-events:none}.project-card-hero-title{margin:0 0 8px;font-size:clamp(1.25rem,3.5vw,1.65rem);font-weight:600;letter-spacing:-.03em;line-height:1.15;color:#fff;text-shadow:0 2px 24px rgba(0,0,0,.5)}.project-card-hero-desc{margin:0 0 12px;font-size:14px;line-height:1.5;color:#ffffffd1;max-width:42ch;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 16px rgba(0,0,0,.45)}.project-card-hero-cta{font-size:13px;font-weight:600;color:#fffffff2;letter-spacing:.02em}.project-card--carousel-hero.project-card--interactive:after{opacity:0}.project-card--carousel-hero.project-card--interactive:hover:after{opacity:.35}@media (max-width: 520px){.case-carousel-stage{padding:0 clamp(34px,10vw,44px)}.case-carousel-btn{width:32px;height:32px}.case-carousel-btn-icon{width:16px;height:16px}.case-carousel-btn:hover:not(:disabled){transform:translateY(-50%) scale(1.02)}.project-card-media--carousel-hero{min-height:min(260px,58vw);max-height:300px}.project-card-hero-tags{top:12px;right:12px;gap:6px}.project-card-hero-tag{font-size:9px;padding:5px 9px}.project-card-hero-text{padding:16px 16px 18px}.project-card-hero-desc{font-size:13px;-webkit-line-clamp:3}}.work-index{padding-bottom:64px}.work-index-head{margin-bottom:28px}.work-index-title{margin:0 0 12px}.work-index-filters{margin-bottom:24px}.work-index-grid{margin-top:0}.project-card-body h3{margin:0 0 10px;font-size:1.125rem;font-weight:600;color:var(--heading);letter-spacing:-.02em}.project-card-body p{margin:0 0 20px;flex:1;font-size:14px;line-height:1.55;color:var(--text-muted)}.project-tags{display:flex;flex-wrap:wrap;gap:8px}.project-tags span{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:6px 11px;border-radius:999px;color:#ffffffeb;background:color-mix(in srgb,#27272a 65%,transparent);border:1px solid color-mix(in srgb,white 12%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 16px #00000059;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.project-link{margin-top:18px;font-size:14px;font-weight:600;color:var(--accent);display:inline-flex;align-items:center;gap:6px}.project-link:after{content:"→";transition:transform .2s}.project-card:hover .project-link:after{transform:translate(4px)}.about-grid{display:grid;gap:32px}@media (min-width: 800px){.about-grid{grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}}.about-copy p{margin:0 0 16px;color:var(--text)}.about-copy p:last-child{margin-bottom:0}.about-panel{padding:28px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface)}.about-panel h3{margin:0 0 16px;font-size:15px;font-weight:600;color:var(--heading)}.stat-row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--border-subtle);font-size:14px}.stat-row:last-child{border-bottom:none;padding-bottom:0}.stat-row:first-of-type{padding-top:0}.stat-label{color:var(--text-muted)}.stat-value{color:var(--heading);font-weight:500}.about-panel--interactive{transition:border-color .25s ease,box-shadow .25s ease}.about-panel--interactive:hover{border-color:color-mix(in srgb,var(--accent) 32%,var(--border));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent)}.contact-card{padding:clamp(28px,5vw,40px);border-radius:var(--radius);border:1px solid var(--border);background:linear-gradient(135deg,var(--accent-dim) 0%,transparent 45%),var(--surface);display:flex;flex-direction:column;gap:20px}@media (min-width: 640px){.contact-card{flex-direction:row;align-items:center;justify-content:space-between}}.contact-card h2{margin:0 0 8px;font-size:1.5rem;font-weight:600;color:var(--heading);letter-spacing:-.02em}.contact-card p{margin:0;color:var(--text-muted);font-size:15px}.contact-actions{display:flex;flex-wrap:wrap;gap:10px}.section--contact-split{position:relative;margin-top:64px;padding-top:clamp(40px,6vw,72px);padding-bottom:clamp(40px,6vw,72px);border-top:0}.site-footer{position:relative;z-index:1;max-width:1140px;margin:0 auto;padding-left:clamp(16px,4vw,56px);padding-right:clamp(16px,4vw,56px)}.section--contact-split:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:100vw;height:1px;background:var(--border-subtle);pointer-events:none}.contact-split{display:grid;gap:clamp(40px,6vw,64px);align-items:stretch}.contact-split-col--details{display:flex;flex-direction:column;align-items:flex-start}.contact-split-col--intro{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.contact-split-copy{margin:auto 0 0;padding-top:16px;font-size:12px;color:var(--text-muted);letter-spacing:.02em}@media (min-width: 768px){.contact-split{grid-template-columns:7fr 3fr;column-gap:0;row-gap:48px}}.contact-split-avatar-wrap{width:112px;border-radius:16px;padding:3px;background:linear-gradient(135deg,var(--violet),var(--nav-purple));box-shadow:0 0 32px color-mix(in srgb,var(--nav-purple) 42%,transparent);margin-bottom:8px}.contact-split-avatar{display:block;width:100%;height:auto;border-radius:13px;background:#0a0a0c}.contact-split-tagline{margin:0;font-size:16px;line-height:1.55;color:var(--heading);max-width:36ch}.contact-split-region{margin:0 0 8px;font-size:14px;line-height:1.5;color:var(--text-muted);max-width:36ch}.contact-split-socials{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}.contact-social-pill{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:999px;font-size:12px;font-weight:600;color:var(--heading);text-decoration:none;border:1px solid var(--border);background:var(--surface);transition:border-color .2s,background .2s,color .2s}.contact-social-pill:hover{border-color:color-mix(in srgb,var(--violet) 55%,var(--border));background:var(--surface-hover)}.contact-social-pill--soon{display:inline-flex;align-items:center;gap:8px;cursor:default;border-style:dashed;color:var(--text-muted);background:transparent}.contact-social-pill--soon:hover{border-color:var(--border);background:transparent}.contact-social-pill-badge{font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:2px 6px;border-radius:999px;border:1px solid var(--border-subtle);color:var(--text-muted);background:transparent}.contact-methods{margin:0}.contact-method{display:grid;gap:8px;margin-bottom:36px}.contact-method:last-child{margin-bottom:0}.contact-method-label{margin:0;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.contact-method-value{margin:0;font-size:clamp(16px,2.5vw,18px);font-weight:500;color:var(--heading);line-height:1.5}.contact-phone-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.contact-phone-list a,.contact-method-value a{color:inherit;text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--accent) 45%,transparent);transition:color .2s,border-color .2s}.contact-phone-list a:hover,.contact-method-value a:hover{color:var(--accent);border-bottom-color:var(--accent)}.contact-split-cta-note{margin:28px 0 0;font-size:14px;color:var(--text-muted);line-height:1.6;max-width:none}.contact-split-cta-strong{font-weight:600;color:color-mix(in srgb,var(--heading) 88%,var(--text-muted))}.contact-split-cv{display:inline-block;margin-top:18px;font-size:14px;font-weight:600;color:var(--accent);text-decoration:none}.contact-split-cv:hover{text-decoration:underline}.footer{position:relative;margin-top:72px;padding:32px 0 8px;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:20px;isolation:isolate}.footer:before{content:"";position:absolute;top:0;bottom:-96px;left:50%;transform:translate(-50%);width:100vw;background-image:linear-gradient(var(--border-subtle) 1px,transparent 1px),linear-gradient(90deg,var(--border-subtle) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 90% 80% at 50% 100%,black 20%,transparent 75%);mask-image:radial-gradient(ellipse 90% 80% at 50% 100%,black 20%,transparent 75%);opacity:.45;z-index:-2;pointer-events:none}@media (min-width: 640px){.footer{flex-direction:row;align-items:center;justify-content:space-between}}.footer-copy{font-size:14px;color:var(--text-muted)}.footer-right{display:flex;flex-direction:column;align-items:flex-start;gap:12px}@media (min-width: 640px){.footer-right{align-items:flex-end}}.footer-hint{margin:0;font-size:13px;color:var(--text-muted)}.footer-links{display:flex;flex-wrap:wrap;gap:8px 20px}.footer-links a{font-size:14px;font-weight:500;color:var(--text);text-decoration:none}.footer-links a:hover{color:var(--accent)}.inline-code{font-family:var(--mono);font-size:.88em;padding:2px 6px;border-radius:4px;background:var(--surface-hover);border:1px solid var(--border-subtle);color:var(--accent)}.hero-marquee{position:relative;z-index:0;overflow:hidden;margin-bottom:28px;padding:10px 0;border:0;background:transparent;-webkit-mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent);mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent)}.hero-marquee-parallax{width:100%;overflow:hidden;will-change:transform}.hero-avatar-tilt{will-change:transform}.hero-marquee-inner{display:flex;gap:48px;width:max-content;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.hero-marquee--animate .hero-marquee-inner{animation:heroMarquee 28s linear infinite}@keyframes heroMarquee{0%{transform:translate(0)}to{transform:translate(-33.333%)}}@media (prefers-reduced-motion: reduce){.hero-marquee--animate .hero-marquee-inner{animation:none}}.hero-badge-sep{opacity:.45}.hero-intro{font-style:normal;font-family:var(--mono);color:var(--heading)}#hero-heading em{font-family:var(--mono);font-style:normal}.hero-links{margin-top:20px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:14px}.hero-links a{color:var(--accent);font-weight:600;text-decoration:none}.hero-links a:hover{text-decoration:underline}.hero-links-sep{color:var(--text-muted);opacity:.5}.btn-cv{border-color:color-mix(in srgb,var(--violet) 40%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--violet) 18%,var(--accent)) 0%,var(--accent) 100%);color:var(--heading)}.btn-cv:hover{filter:brightness(1.08)}.skills-panel{padding:clamp(22px,4vw,28px);border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--heading) 12%,var(--border));background:color-mix(in srgb,var(--surface) 92%,var(--bg-deep));box-shadow:0 24px 48px -32px #000000bf}.skills-accordion{display:flex;flex-direction:column;gap:10px}.skills-acc-item{border-radius:var(--radius-sm);border:1px solid var(--border);background:color-mix(in srgb,var(--bg-deep) 55%,var(--surface));overflow:hidden}.skills-acc-item-title{margin:0;font-size:1rem;font-weight:600}.skills-acc-trigger{display:flex;align-items:center;gap:12px;width:100%;min-width:0;padding:12px 12px 12px 10px;border:none;background:transparent;cursor:pointer;font:inherit;text-align:left;color:var(--heading);transition:background .2s}.skills-acc-trigger:hover{background:color-mix(in srgb,var(--heading) 4%,transparent)}.skills-acc-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.skills-acc-toggle{flex-shrink:0;width:36px;height:36px;padding:2px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--violet) 0%,var(--accent) 42%,var(--teal) 100%);box-shadow:0 2px 16px color-mix(in srgb,var(--nav-purple) 24%,transparent),0 2px 18px var(--teal-glow),0 4px 20px var(--accent-glow);transition:transform .35s cubic-bezier(.34,1.35,.64,1),box-shadow .3s ease}.skills-acc-toggle-inner{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:calc(var(--radius-sm) - 2px);background:var(--bg-deep);color:var(--heading);font-size:1.1rem;font-weight:400;line-height:1;box-shadow:inset 0 1px color-mix(in srgb,var(--heading) 8%,transparent);transition:background .3s ease,color .3s ease}.skills-acc-item.is-open .skills-acc-toggle-inner{background:color-mix(in srgb,var(--accent) 9%,var(--bg-deep));color:var(--accent)}.skills-acc-item.is-open .skills-acc-toggle{transform:scale(1.06);box-shadow:0 3px 22px color-mix(in srgb,var(--nav-purple) 32%,transparent),0 6px 28px var(--accent-glow)}.skills-acc-label{flex:1 1 auto;min-width:0;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--heading) 92%,var(--text-muted));overflow-wrap:anywhere;line-height:1.35}.skills-acc-panel{display:grid;grid-template-rows:0fr;border-top:1px solid transparent;transition:grid-template-rows .45s cubic-bezier(.22,1,.36,1),border-color .35s ease}.skills-acc-item.is-open .skills-acc-panel{grid-template-rows:1fr;border-top-color:color-mix(in srgb,var(--border) 80%,transparent)}.skills-acc-panel-inner{overflow:hidden;min-height:0;min-width:0;padding:0 12px 0 10px;opacity:0;transform:translateY(-8px);transition:opacity .28s ease,transform .28s ease,padding-bottom .35s ease}.skills-acc-item.is-open .skills-acc-panel-inner{opacity:1;transform:translateY(0);padding-top:14px;padding-bottom:18px;transition:opacity .4s ease .06s,transform .45s cubic-bezier(.22,1,.36,1) .04s,padding-top .45s cubic-bezier(.22,1,.36,1),padding-bottom .45s cubic-bezier(.22,1,.36,1)}.skills-acc-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-start;align-items:flex-start;min-width:0}.skills-acc-tag{margin:0;flex:0 1 auto;min-width:0;max-width:100%}.skills-acc-tag:hover .skills-pill{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));color:var(--heading);background:color-mix(in srgb,var(--accent) 10%,var(--surface))}@keyframes skills-acc-tag-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.skills-acc-item.is-open .skills-acc-tag{animation:skills-acc-tag-in .42s cubic-bezier(.22,1,.36,1) backwards}.skills-acc-item.is-open .skills-acc-tag:nth-child(1){animation-delay:.05s}.skills-acc-item.is-open .skills-acc-tag:nth-child(2){animation-delay:.09s}.skills-acc-item.is-open .skills-acc-tag:nth-child(3){animation-delay:.13s}.skills-acc-item.is-open .skills-acc-tag:nth-child(4){animation-delay:.17s}.skills-acc-item.is-open .skills-acc-tag:nth-child(5){animation-delay:.21s}.skills-acc-item.is-open .skills-acc-tag:nth-child(6){animation-delay:.25s}.skills-acc-item.is-open .skills-acc-tag:nth-child(7){animation-delay:.29s}.skills-acc-item.is-open .skills-acc-tag:nth-child(8){animation-delay:.33s}.skills-acc-item.is-open .skills-acc-tag:nth-child(9){animation-delay:.37s}.skills-acc-item.is-open .skills-acc-tag:nth-child(10){animation-delay:.41s}.skills-acc-item.is-open .skills-acc-tag:nth-child(11){animation-delay:.45s}.skills-acc-item.is-open .skills-acc-tag:nth-child(12){animation-delay:.49s}@media (prefers-reduced-motion: reduce){.skills-acc-panel,.skills-acc-panel-inner{transition:none}.skills-acc-item:not(.is-open) .skills-acc-panel-inner{opacity:0;transform:none;padding-top:0;padding-bottom:0}.skills-acc-item.is-open .skills-acc-panel-inner{opacity:1;transform:none;padding-top:14px;padding-bottom:18px}.skills-acc-item.is-open .skills-acc-toggle{transform:none}.skills-acc-item.is-open .skills-acc-tag{animation:none}}.skills-pill{display:flex;align-items:center;justify-content:center;min-height:44px;width:100%;max-width:100%;box-sizing:border-box;padding:10px 14px;border-radius:10px;border:1px solid color-mix(in srgb,var(--heading) 14%,var(--border));background:color-mix(in srgb,var(--bg-deep) 40%,transparent);font-size:13px;font-weight:500;color:color-mix(in srgb,var(--heading) 94%,var(--text));text-align:center;line-height:1.35;overflow-wrap:break-word;word-break:break-word;transition:border-color .2s,color .2s,background .2s}@media (max-width: 639px){.skills-acc-tags{flex-direction:column;align-items:stretch}.skills-pill{justify-content:flex-start;text-align:left}}.experience-timeline{list-style:none;margin:0;padding:0;position:relative}.experience-timeline:before{content:"";position:absolute;left:11px;top:8px;bottom:8px;width:2px;background:linear-gradient(180deg,var(--accent),var(--violet));opacity:.45;border-radius:2px}.experience-item{position:relative;padding-left:40px;margin-bottom:28px}.experience-item:last-child{margin-bottom:0}.experience-timeline--stack{--experience-stack-pad-bottom: min(12vh, 72px);padding-top:clamp(16px,3vh,32px);padding-bottom:var(--experience-stack-pad-bottom)}.experience-timeline--stack .experience-item{position:sticky;top:calc(var(--nav-h) + var(--experience-stack-top-gap));margin-bottom:clamp(20px,3.5vh,40px);z-index:0}.experience-timeline--stack .experience-item:last-child{margin-bottom:0}.experience-timeline--stack .experience-item:nth-child(1){z-index:1}.experience-timeline--stack .experience-item:nth-child(2){z-index:2}.experience-timeline--stack .experience-item:nth-child(3){z-index:3}.experience-timeline--stack .experience-item:nth-child(4){z-index:4}.experience-timeline--stack .experience-item:nth-child(5){z-index:5}.experience-timeline--stack .experience-item:nth-child(6){z-index:6}.experience-timeline--stack .experience-item:nth-child(7){z-index:7}.experience-timeline--stack .experience-item:nth-child(8){z-index:8}.experience-timeline--stack .experience-card{box-shadow:0 20px 48px -28px #000000d9,0 0 0 1px color-mix(in srgb,var(--border) 80%,transparent)}@media (prefers-reduced-motion: reduce){.experience-timeline--stack .experience-item{position:relative;top:auto;z-index:auto}.experience-timeline--stack .experience-card{box-shadow:none}.experience-timeline--stack{padding-bottom:0;--experience-stack-pad-bottom: 0}}.experience-timeline--stack:before{opacity:.22;bottom:calc(8px + var(--experience-stack-pad-bottom))}.experience-marker{position:absolute;left:4px;top:8px;width:16px;height:16px;border-radius:50%;background:var(--bg-deep);border:2px solid var(--accent);box-shadow:0 0 14px color-mix(in srgb,var(--accent) 45%,transparent)}.experience-card{padding:22px 24px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface)}.experience-meta-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px;margin-bottom:10px}.experience-period{margin:0;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.experience-role{margin:0 0 10px;font-size:1.1rem;font-weight:600;color:var(--heading);letter-spacing:-.02em}.experience-company{margin:0;font-size:14px;color:var(--text-muted);text-align:right;flex:1;min-width:min(100%,14rem)}.experience-loc{opacity:.85}.experience-summary{margin:0 0 14px;font-size:15px;line-height:1.6;color:var(--text)}.ventures-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}@media (max-width: 880px){.ventures-grid{grid-template-columns:1fr}}.venture-card{display:flex;flex-direction:column;padding:22px 24px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface)}.venture-card-meta{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.venture-card-period{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.venture-card-company{font-size:14px;color:var(--text-muted)}.venture-card-role{margin:0 0 10px;font-size:1.1rem;font-weight:600;color:var(--heading);letter-spacing:-.02em}.venture-card-summary{margin:0 0 14px;font-size:14px;line-height:1.6;color:var(--text);flex:1}.venture-links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 16px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.venture-links a{color:var(--accent);text-decoration:none;transition:color .15s ease}.venture-links a:hover,.venture-links a:focus-visible{color:var(--heading)}.experience-highlights{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(16px,3vw,28px);row-gap:10px;color:var(--text-muted);font-size:14px;line-height:1.5}.experience-highlights li{margin:0;padding-left:1rem;position:relative}.experience-highlights li:before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;border:1px solid color-mix(in srgb,var(--text-muted) 65%,var(--border));background:transparent;opacity:.85}@media (max-width: 560px){.experience-meta-row{flex-direction:column;align-items:flex-start}.experience-company{text-align:left;min-width:0}.experience-highlights{grid-template-columns:1fr}}.about-content{max-width:min(1140px,100%)}.about-dual{display:flex;flex-direction:column;gap:20px}.about-lens-stack{display:flex;flex-direction:column;gap:clamp(22px,4vw,32px)}@media (min-width: 860px){.about-lens-stack{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,38%);gap:clamp(24px,4vw,40px);align-items:center}}.about-lens-copy{min-width:0}.about-lens-art{width:100%;max-width:420px;margin-inline:auto}@media (min-width: 860px){.about-lens-art{margin-inline:0;max-width:none}}.about-lens-art-inner{transform:translateZ(0)}.about-lens-art--motion .about-lens-art-inner{animation:about-lens-art-float 5.5s ease-in-out infinite}@keyframes about-lens-art-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (prefers-reduced-motion: reduce){.about-lens-art--motion .about-lens-art-inner{animation:none}}.about-lens-art-frame{position:relative;aspect-ratio:482 / 450;border-radius:calc(var(--radius) + 4px);padding:clamp(10px,2vw,14px);background:radial-gradient(ellipse 85% 75% at 50% 85%,color-mix(in srgb,var(--nav-purple) 14%,transparent),transparent),radial-gradient(ellipse 70% 60% at 20% 20%,color-mix(in srgb,var(--accent) 10%,transparent),transparent),var(--bg-deep);border:1px solid color-mix(in srgb,var(--border) 88%,transparent);box-shadow:0 20px 48px #0000006b,inset 0 1px color-mix(in srgb,var(--heading) 6%,transparent);overflow:hidden}.about-lens-art-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;object-position:center;opacity:0;transition:opacity .45s ease;pointer-events:none}.about-lens-art-img.is-visible{opacity:1}@media (prefers-reduced-motion: reduce){.about-lens-art-img{transition:opacity .25s ease}}.about-tabs{display:flex;flex-wrap:wrap;gap:10px}.about-tab{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:11px 18px;border-radius:999px;border:1px solid var(--border);background:var(--bg);color:var(--text-muted);cursor:pointer;transition:color .2s,border-color .2s,background .2s}.about-tab:hover{color:var(--heading)}.about-tab.is-active{color:var(--heading);background:var(--accent);border-color:color-mix(in srgb,var(--accent) 70%,white)}.about-panel--lens{padding:28px;border-radius:var(--radius);border:1px solid var(--border);background:linear-gradient(145deg,var(--surface) 0%,var(--bg) 100%)}.about-lens-title{margin:0 0 12px;font-size:clamp(1.75rem,3vw,2.125rem);font-weight:600;letter-spacing:-.03em;line-height:1.2;color:var(--heading)}.about-lens-lead{margin:0 0 18px;max-width:48ch;font-size:1rem;line-height:1.65;color:var(--text-muted)}.about-lens-kicker{margin:0 0 10px;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.about-lens-list{margin:0;padding-left:1.15rem;font-size:1rem;line-height:1.65;color:var(--text-muted)}.contact-grid{display:grid;gap:20px}@media (min-width: 720px){.contact-grid{grid-template-columns:1.2fr .8fr;align-items:stretch}}.contact-card--primary{padding:clamp(28px,5vw,40px);border-radius:var(--radius);border:1px solid var(--border);background:linear-gradient(135deg,var(--accent-dim) 0%,transparent 50%),var(--surface)}.contact-card--primary h2{margin:0 0 8px;font-size:1.5rem;font-weight:600;color:var(--heading);letter-spacing:-.02em}.contact-card--primary p{margin:0 0 20px;color:var(--text-muted);font-size:15px;line-height:1.55}.contact-card--side{padding:28px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface)}.contact-card--side h3{margin:0 0 12px;font-size:15px;font-weight:600;color:var(--heading)}.section--contact .contact-phone{margin:0 0 16px;font-size:14px;color:var(--text);line-height:1.5}.contact-links{list-style:none;margin:0;padding:0}.contact-links li{margin-bottom:8px}.contact-links a{font-size:14px;font-weight:600;color:var(--accent);text-decoration:none}.contact-links a:hover{text-decoration:underline}.cv-page{max-width:720px}.cv-header{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--border-subtle)}.cv-kicker{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 8px}.cv-name{margin:0 0 6px;font-size:clamp(1.75rem,4vw,2.25rem);font-weight:700;letter-spacing:-.03em;color:var(--heading)}.cv-role{margin:0 0 8px;font-size:1.05rem;font-weight:600;color:var(--text)}.cv-headline{margin:0;max-width:42ch;font-size:14px;color:var(--text-muted);line-height:1.5}.cv-contact-block{margin-top:14px;font-size:14px;line-height:1.6;color:var(--text-muted)}.cv-contact-block p{margin:0}.cv-contact-email{margin-bottom:10px}.cv-contact-phones{margin-bottom:10px;color:var(--heading);font-weight:500;letter-spacing:.01em}.cv-contact-phone-line{display:block}.cv-contact-phone-line+.cv-contact-phone-line{margin-top:3px}.cv-contact-links{font-weight:500}.cv-contact-links-sep{margin:0 .4em;opacity:.4}.cv-contact-block a{color:var(--accent);font-weight:600;text-decoration:none}.cv-contact-block a:hover{text-decoration:underline}.cv-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.cv-print-hint{margin:0 0 32px;font-size:14px;color:var(--text-muted)}.cv-section{margin-bottom:32px}.cv-section-title{margin:0 0 14px;font-size:1.1rem;font-weight:700;color:var(--heading);letter-spacing:-.02em}.cv-prose{margin:0 0 20px;font-size:15px;line-height:1.65;color:var(--text)}.cv-dual-mini{display:grid;gap:20px}@media (min-width: 600px){.cv-dual-mini{grid-template-columns:1fr 1fr}}.cv-dual-mini h3{margin:0 0 8px;font-size:14px;font-weight:700;color:var(--heading)}.cv-dual-mini p{margin:0;font-size:13px;line-height:1.55;color:var(--text-muted)}.cv-years{margin:0 0 16px;font-size:14px;color:var(--text-muted)}.cv-timeline-print{list-style:none;margin:0;padding:0}.cv-timeline-print>li{margin-bottom:22px;padding-bottom:22px;border-bottom:1px solid var(--border-subtle)}.cv-timeline-print>li:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.cv-job-head{display:flex;flex-wrap:wrap;gap:8px 12px;margin-bottom:8px;font-size:14px}.cv-job-period{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.cv-job-role{font-weight:600;color:var(--heading)}.cv-job-loc{color:var(--text-muted);font-size:13px}.cv-job-summary{margin:0 0 8px;font-size:14px;line-height:1.55;color:var(--text)}.cv-job-bullets{margin:0;padding-left:1.1rem;font-size:13px;color:var(--text-muted);line-height:1.5}.cv-skills-print>div{margin-bottom:14px}.cv-skills-print h3{margin:0 0 4px;font-size:13px;font-weight:700;color:var(--heading)}.cv-skills-print p{margin:0;font-size:13px;line-height:1.5;color:var(--text-muted)}.cv-projects-print{margin:0;padding-left:1.1rem;font-size:14px;line-height:1.55;color:var(--text)}.cv-tags{color:var(--text-muted);font-size:13px}@media print{.no-print,.site-header--floating,.footer,.scroll-progress,.back-to-top{display:none!important}.cv-page{max-width:none;padding:0}body{background:#fff;color:#111}.cv-page,.cv-name,.cv-section-title,.cv-job-role{color:#111}}.section--upcoming{padding-top:clamp(40px,6vw,72px)}.upcoming-scroll{position:relative}.upcoming-scroll-hint{display:none}.upcoming-list{list-style:none;margin:0;padding:40px 0 8px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 0;position:relative;isolation:isolate}.upcoming-list:before{content:none}.upcoming-card{position:relative;flex:0 0 280px;min-width:0;display:flex;flex-direction:column;gap:12px;margin:0 16px;padding:56px 20px 20px;scroll-snap-align:start;background-color:transparent;background-image:repeating-linear-gradient(to right,color-mix(in srgb,var(--accent) 55%,transparent) 0 6px,transparent 6px 12px);background-size:100% 2px;background-repeat:no-repeat;background-position:0 24px;border:0;border-radius:0;transition:transform .2s}.upcoming-card:before{content:"";position:absolute;top:18px;left:50%;transform:translate(-50%);width:14px;height:14px;border-radius:999px;background:var(--bg);border:2px solid var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent);z-index:1;transition:transform .2s,box-shadow .2s,background .2s}.upcoming-card:after{content:"";position:absolute;top:32px;left:50%;transform:translate(-50%);width:1px;height:16px;background:color-mix(in srgb,var(--accent) 45%,transparent);z-index:0}.upcoming-card:hover{transform:translateY(-2px)}.upcoming-card:hover:before{background:var(--accent);box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 22%,transparent)}.upcoming-list .upcoming-card[data-status=in-progress]:before{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 22%,transparent)}.upcoming-list .upcoming-card[data-status=beta]:before{border-color:var(--violet);box-shadow:0 0 0 4px color-mix(in srgb,var(--violet) 22%,transparent)}.upcoming-list .upcoming-card[data-status=planning]:before{border-color:var(--text-muted);box-shadow:0 0 0 4px color-mix(in srgb,var(--text-muted) 18%,transparent)}@media (min-width: 720px){.upcoming-card{flex:0 0 300px}}.upcoming-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.upcoming-card-title{margin:0;font-size:1.125rem;font-weight:600;letter-spacing:-.02em;color:var(--heading);line-height:1.25}.upcoming-card-status{flex-shrink:0;font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:4px 8px;border-radius:4px;white-space:nowrap}.upcoming-card-status--in-progress{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}.upcoming-card-status--planning{color:var(--text-muted);background:var(--surface-hover);border:1px solid var(--border)}.upcoming-card-status--beta{color:var(--violet);background:var(--violet-dim);border:1px solid color-mix(in srgb,var(--violet) 35%,transparent)}.upcoming-card-desc{margin:0;font-size:14px;line-height:1.6;color:var(--text)}.upcoming-card-tags{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.upcoming-card-tags li{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:999px;color:#ffffffd9;background:color-mix(in srgb,#27272a 65%,transparent);border:1px solid color-mix(in srgb,white 12%,transparent)}.upcoming-card-title-link{color:inherit;text-decoration:none;transition:color .15s ease}.upcoming-card-title-link>.upcoming-card-title-text{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:#fff6;transition:text-decoration-color .15s ease}.upcoming-card-title-link:hover,.upcoming-card-title-link:focus-visible{color:#fff}.upcoming-card-title-link:hover>.upcoming-card-title-text,.upcoming-card-title-link:focus-visible>.upcoming-card-title-text{text-decoration-color:#fff}.upcoming-card-title-icon{font-size:.6em;vertical-align:super;margin-left:4px;color:#fff9;text-decoration:none}.upcoming-card-title-link:hover .upcoming-card-title-icon,.upcoming-card-title-link:focus-visible .upcoming-card-title-icon{color:#fff}.studio-suffix-gradient{background:linear-gradient(120deg,var(--accent) 0%,var(--violet) 45%,var(--accent) 90%);background-size:220% 220%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:heroGradientShift 10s ease-in-out infinite}.creativekat-mark{font-family:inherit;font-weight:inherit;letter-spacing:inherit;white-space:nowrap}.creativekat-mark__prefix,.creativekat-mark__suffix{color:inherit}.case-study{padding-bottom:48px}.case-study--editorial{max-width:none;padding-left:0;padding-right:0;padding-bottom:0}.case-study--editorial .main-pad{max-width:1140px;margin:0 auto;padding-left:clamp(16px,3.5vw,40px);padding-right:clamp(16px,3.5vw,40px)}.case-edit-top .case-breadcrumb{margin-bottom:32px}.case-edit-header{display:grid;gap:18px;padding:8px 0 40px}.case-edit-eyebrow{margin:0;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted)}.case-edit-header-row{display:contents}.case-edit-header-row--with-avatar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:clamp(16px,3vw,32px)}.case-edit-header-row--with-avatar>.case-edit-header-main{display:flex;flex-direction:column;gap:12px;min-width:0}.case-edit-header-main{display:flex;flex-direction:column;gap:12px;min-width:0}.case-edit-title-avatar{align-self:center;width:250px;height:250px;flex:0 0 250px;object-fit:cover;border-radius:16px;border:1px solid var(--border-subtle);background:var(--bg-deep)}.case-edit-title{margin:0;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;letter-spacing:-.045em;line-height:1.05;color:var(--heading);max-width:18ch}.case-edit-tagline{margin:0;font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.55;color:var(--text);max-width:56ch}.case-edit-tagline-row{display:flex;flex-direction:column;align-items:flex-start;gap:16px}@media (min-width: 720px){.case-edit-tagline-row{flex-direction:row;align-items:center;justify-content:space-between;gap:24px}}.case-edit-tagline-cta{flex-shrink:0;white-space:nowrap}.case-edit-coming-soon{display:inline-flex;align-items:center;padding:8px 16px;border-radius:999px;border:1px dashed var(--border);color:var(--text-muted);font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;background:transparent;cursor:default}.case-edit-meta{list-style:none;margin:12px 0 0;padding:18px 0 0;display:flex;flex-wrap:wrap;gap:28px 36px;border-top:1px solid var(--border-subtle)}.case-edit-meta li{display:flex;flex-direction:column;gap:4px;min-width:120px}.case-edit-meta-key{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.case-edit-meta-val{font-size:14px;font-weight:500;color:var(--heading)}.case-edit-meta--stack{flex:1 1 100%;min-width:0}@media (min-width: 720px){.case-edit-meta--stack{flex:1 1 320px}}.case-edit-meta-stack{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.case-edit-meta-chip{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.04em;padding:4px 9px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--heading);text-align:center;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.case-edit-disciplines{list-style:none;margin:-4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.case-edit-disciplines li{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:5px 10px;border-radius:4px;background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);color:var(--accent)}.case-edit-trio{display:grid;grid-template-columns:1fr;gap:32px;padding-top:8px;padding-bottom:56px}@media (min-width: 760px){.case-edit-trio{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}}.case-edit-trio-cell{display:grid;gap:10px;padding-top:18px;border-top:1px solid var(--border)}.case-edit-trio-key{margin:0;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted)}.case-edit-trio-val{margin:0;font-size:clamp(1rem,1.4vw,1.125rem);line-height:1.55;color:var(--heading)}.case-edit-decisions{padding-top:32px;padding-bottom:80px}.case-edit-decisions-eyebrow{margin:0 0 6px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted)}.case-edit-decisions-title{margin:0 0 32px;font-size:clamp(1.4rem,2.4vw,1.85rem);font-weight:600;letter-spacing:-.025em;color:var(--heading)}.case-edit-decision-grid{display:grid;grid-template-columns:1fr;gap:20px}@media (min-width: 760px){.case-edit-decision-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}.case-edit-decision{display:grid;gap:14px;padding:22px 24px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.case-edit-decision-lens{margin:0;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}.case-edit-decision-row{display:grid;gap:8px}.case-edit-decision-tag{display:inline-block;margin-right:8px;font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:2px 6px;border-radius:3px;vertical-align:1px}.case-edit-decision-chose{margin:0;font-size:1rem;line-height:1.5;color:var(--heading);font-weight:500}.case-edit-decision-chose .case-edit-decision-tag{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.case-edit-decision-rejected{margin:0;font-size:.95rem;line-height:1.5;color:var(--text-muted)}.case-edit-decision-rejected .case-edit-decision-tag{background:var(--surface-hover);color:var(--text-muted)}.case-edit-decision-rationale{margin:0;font-size:14px;line-height:1.6;color:var(--text);padding-top:12px;border-top:1px solid var(--border-subtle)}.case-edit-reflection-wrap{padding-top:64px;padding-bottom:80px;display:grid;gap:14px;max-width:760px}.case-edit-reflection-eyebrow{margin:0;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted)}.case-edit-reflection-body{margin:0;font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.6;color:var(--heading);font-style:italic}.case-edit-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.case-edit-hero{margin:0 0 64px;width:100%;background:var(--bg-deep);overflow:hidden}.case-edit-hero-img{display:block;width:100%;height:auto;max-height:48vh;object-fit:cover}.case-edit-problem-wrap{padding-top:16px;padding-bottom:56px}.case-edit-problem{margin:0;padding:0;border:none;border-left:2px solid var(--accent);padding-left:clamp(16px,3vw,28px)}.case-edit-problem p{margin:0;font-size:clamp(1.35rem,2.6vw,2rem);font-weight:500;letter-spacing:-.02em;line-height:1.3;color:var(--heading);max-width:32ch}.case-edit-impact-band{background:var(--surface);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);padding:56px 0;margin-bottom:72px}.case-edit-impact-grid{display:grid;grid-template-columns:1fr;gap:32px}@media (min-width: 720px){.case-edit-impact-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:48px}}.case-edit-impact-stat{display:grid;gap:8px}.case-edit-impact-value{margin:0;font-size:clamp(2rem,4.5vw,3.25rem);font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--heading)}.case-edit-impact-label{margin:0;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.case-edit-section-image{grid-column:1 / -1;margin:24px 0 0;padding:0}@media (min-width: 880px){.case-edit-section-image{grid-column:2;max-width:64ch}.case-edit-section-image--wide{grid-column:1 / -1;max-width:none}}.case-edit-section-image img{display:block;width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-deep)}.case-edit-section-image figcaption{margin-top:10px;font-size:13px;color:var(--text-muted);line-height:1.55}.case-edit-body{display:grid;gap:12px;padding-top:24px;padding-bottom:96px}.case-edit-section-nav{padding-top:56px;padding-bottom:0}.case-edit-section-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.case-edit-section-nav-link{display:inline-flex;align-items:baseline;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--border-subtle);background:transparent;color:var(--text-muted);font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s,border-color .2s}.case-edit-section-nav-link:hover{color:var(--text);border-color:var(--border)}.case-edit-section-nav-link.is-active{color:var(--bg);background:var(--text);border-color:var(--text)}.case-edit-section-nav-num{opacity:.7}.case-edit-section-nav-link.is-active .case-edit-section-nav-num{opacity:.9}.case-edit-section{display:block;background:var(--bg-deep, #0a0a0c);border:1px solid var(--border-subtle);border-radius:16px;overflow:hidden}.case-edit-section-header{display:flex;align-items:center;gap:16px;width:100%;padding:clamp(16px,2.4vw,24px) clamp(20px,3vw,32px);background:transparent;border:0;color:inherit;font:inherit;text-align:left;cursor:pointer}.case-edit-section-header .case-edit-section-num{margin:0;flex:0 0 auto}.case-edit-section-header .case-edit-section-title{margin:0;flex:1 1 auto}.case-edit-section-chevron{flex:0 0 auto;font-size:22px;line-height:1;color:var(--text-muted);transition:transform .25s ease}.case-edit-section--active .case-edit-section-chevron{transform:rotate(180deg);color:var(--text)}.case-edit-section-collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}.case-edit-section--active .case-edit-section-collapse{grid-template-rows:1fr}.case-edit-section-collapse-inner{overflow:hidden;min-height:0}.case-edit-section--active .case-edit-section-collapse-inner{padding:0 clamp(20px,3vw,32px) clamp(20px,3vw,32px)}@media (prefers-reduced-motion: reduce){.case-edit-section-collapse{transition:none}}@media (min-width: 880px){.case-edit-section{grid-template-columns:160px minmax(0,1fr);column-gap:48px;align-items:start}.case-edit-section-num{grid-row:1 / span 2}.case-edit-section-title,.case-edit-section-copy,.case-edit-highlights{grid-column:2}}.case-edit-section-num{margin:0 0 4px;font-family:var(--mono);font-size:clamp(.95rem,1.4vw,1.1rem);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);line-height:1.2;padding-top:0}.case-edit-section-title{margin:0;font-family:var(--mono);font-size:clamp(.95rem,1.4vw,1.1rem);font-weight:600;letter-spacing:.06em;text-transform:uppercase;line-height:1.2;color:var(--heading)}.case-edit-section-copy{width:100%}.case-edit-section-copy p{margin:0 0 14px;font-size:1.0625rem;line-height:1.7;color:var(--text);text-align:justify;text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto}.case-edit-section-copy p:last-child{margin-bottom:0}.case-edit-features{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:14px 40px}@media (min-width: 760px){.case-edit-features--two-col{grid-template-columns:repeat(2,minmax(0,1fr))}}.case-edit-features li{position:relative;padding-left:36px;font-family:var(--font);font-size:1.0625rem;line-height:1.7;color:var(--text)}.case-edit-features li:before{content:"";position:absolute;left:0;top:.78em;width:24px;height:2px;background:var(--accent);border-radius:1px}@media (min-width: 880px){.case-edit-features{grid-column:2}}.case-edit-highlights{list-style:none;margin:0;padding:0;display:grid;gap:10px}.case-edit-highlights li{position:relative;padding-left:22px;font-size:1rem;line-height:1.6;color:var(--text)}.case-edit-highlights li:before{content:"";position:absolute;left:0;top:.7em;width:12px;height:1px;background:var(--accent)}.case-edit-featured{margin:32px auto 0;padding:0 clamp(16px,4vw,56px);width:min(1140px,100%);display:flex;flex-direction:column;gap:12px}.case-edit-featured-media{border-radius:12px;overflow:hidden;background:transparent;margin-inline:auto;width:100%;border:0}.case-edit-featured-media .case-gallery-frame{border:0;border-radius:12px;background:transparent;overflow:hidden}.case-edit-featured-media .case-gallery-media,.case-edit-featured-media img,.case-edit-featured-media video{width:100%;height:auto;display:block}.case-edit-featured-caption{margin:0;font-size:14px;color:var(--text-dim);text-align:center}.case-edit-gallery-section{width:100%}.case-edit-gallery-header-row{display:flex;align-items:center;gap:16px;width:min(1140px,100%);margin-inline:auto;padding:48px 0 12px}.case-edit-brand{display:grid;gap:32px}.case-edit-brand-desc{margin:0;font-size:1rem;line-height:1.6;color:var(--text);max-width:60ch}.case-edit-brand-block{display:grid;gap:14px}.case-edit-brand-h{margin:0;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.case-edit-brand-logos{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.case-edit-brand-logo{margin:0;display:flex;align-items:center;justify-content:center;aspect-ratio:4 / 3;border-radius:12px;overflow:hidden;border:1px solid var(--border-subtle);background:var(--bg-deep)}.case-edit-brand-logo--light{background:#fafafa;border-color:#00000014}.case-edit-brand-logo--dark{background:#0a0a0c}.case-edit-brand-logo img{max-width:70%;max-height:70%;object-fit:contain}.case-edit-brand-logo-placeholder{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);opacity:.7}.case-edit-brand-logo--light .case-edit-brand-logo-placeholder{color:#555}.case-edit-brand-type{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.case-edit-brand-type li{display:grid;gap:4px;padding:16px;border-radius:12px;border:1px solid var(--border-subtle);background:var(--bg-deep)}.case-edit-brand-type-name{margin:0;font-size:1rem;font-weight:600;color:var(--text)}.case-edit-brand-type-role{margin:0;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.case-edit-brand-type-sample{margin:6px 0 0;font-size:13px;letter-spacing:.04em;color:var(--text-muted);word-break:break-all}.case-edit-brand-colors{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.case-edit-brand-colors li{display:grid;gap:6px}.case-edit-brand-swatch{display:block;width:100%;aspect-ratio:1 / 1;border-radius:10px;border:1px solid var(--border-subtle)}.case-edit-brand-color-meta{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--text-muted)}.case-edit-brand-color-meta strong{color:var(--text);font-weight:600;font-size:13px}.case-edit-brand-color-meta code{font-family:var(--mono);font-size:11px;letter-spacing:.04em}.case-edit-gallery--inset,.case-edit-section-collapse-inner .case-edit-gallery{width:100%;padding:0;border-radius:0;border-top:0;border-right:0;border-bottom:0;border-left:0;background:transparent}.case-edit-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:24px 16px 48px;width:100%;margin-inline:auto;background:var(--bg-deep);border-radius:16px 16px 0 0;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.case-edit-gallery>.case-edit-shot .case-edit-shot-media{aspect-ratio:16 / 10}.case-edit-gallery>.case-edit-shot--featured .case-edit-shot-media{aspect-ratio:16 / 10}@media (min-width: 560px){.case-edit-gallery{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:20px;padding:32px clamp(16px,4vw,56px) 56px;width:min(1140px,100%)}}@media (min-width: 880px){.case-edit-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1100px){.case-edit-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}}.case-edit-shot{margin:0;display:flex;flex-direction:column;gap:8px;min-width:0;align-self:start}.case-edit-shot .case-edit-shot-media{display:block;overflow:hidden;border-radius:12px;width:100%;background:var(--bg-deep)}.case-edit-shot .case-gallery-frame,.case-edit-shot .case-gallery-frame--plain{width:100%;height:100%;border:0;border-radius:0;background:transparent}.case-edit-shot .case-gallery-media,.case-edit-shot img.case-gallery-media,.case-edit-shot video.case-gallery-media{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.case-edit-shot-media{position:relative}.case-edit-shot-zoom{position:absolute;top:10px;right:10px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:999px;border:1px solid color-mix(in srgb,white 22%,transparent);background:color-mix(in srgb,#0a0a0c 72%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#ffffffeb;cursor:pointer;opacity:0;transition:opacity .2s,background .2s,border-color .2s,transform .2s}.case-edit-shot-media:hover .case-edit-shot-zoom,.case-edit-shot-zoom:focus-visible{opacity:1}.case-edit-shot-zoom:hover{background:color-mix(in srgb,#141416 88%,transparent);border-color:color-mix(in srgb,white 38%,transparent);transform:scale(1.05)}.case-edit-shot-zoom:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (hover: none){.case-edit-shot-zoom{opacity:1}}.case-edit-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vw,48px);background:#050506eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:lightboxFade .2s ease-out}@keyframes lightboxFade{0%{opacity:0}to{opacity:1}}.case-edit-lightbox-stage{position:relative;display:flex;flex-direction:column;align-items:center;gap:16px;max-width:min(1400px,100%);max-height:100%}.case-edit-lightbox-media{display:block;width:auto;height:auto;max-width:min(1400px,100%);max-height:88vh;min-width:min(640px,100%);min-height:min(60vh,720px);object-fit:contain;border-radius:14px;overflow:hidden;background:var(--bg-deep);box-shadow:0 24px 64px #0009}.case-edit-lightbox-caption{margin:0;font-size:13px;color:#ffffffbf;text-align:center;max-width:64ch}.case-edit-lightbox-close{position:fixed;top:16px;right:16px;z-index:10;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;font-size:28px;line-height:1;border-radius:999px;border:1px solid color-mix(in srgb,white 22%,transparent);background:color-mix(in srgb,#0a0a0c 72%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#ffffffeb;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.case-edit-lightbox-close:hover{background:color-mix(in srgb,#141416 88%,transparent);border-color:color-mix(in srgb,white 38%,transparent);transform:scale(1.05)}.case-edit-lightbox-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.case-edit-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:1;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;font-size:32px;line-height:1;border-radius:999px;border:1px solid color-mix(in srgb,white 22%,transparent);background:color-mix(in srgb,#0a0a0c 72%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#ffffffeb;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.case-edit-lightbox-nav--prev{left:clamp(8px,2vw,24px)}.case-edit-lightbox-nav--next{right:clamp(8px,2vw,24px)}.case-edit-lightbox-nav:hover{background:color-mix(in srgb,#141416 88%,transparent);border-color:color-mix(in srgb,white 38%,transparent);transform:translateY(-50%) scale(1.05)}.case-edit-lightbox-nav:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.case-edit-lightbox-counter{margin:0;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#fff9;text-align:center}@media (min-width: 560px){.case-edit-shot--featured{grid-column:span 2;grid-row:span 2}}.case-edit-shot--featured .case-gallery-media{width:100%;height:100%}.case-edit-shot-label{margin:0;font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted)}.case-edit-shot-caption{margin:4px 0 0;font-size:13px;line-height:1.55;color:var(--text-muted);max-width:64ch}.case-edit-cta{background:var(--bg-deep)}.case-edit-cta-inner{display:grid;gap:14px;padding-top:56px;padding-bottom:56px;max-width:760px}.case-edit-cta-eyebrow{margin:0;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted)}.case-edit-cta-title{margin:0;font-size:clamp(1.5rem,3vw,2.25rem);font-weight:600;letter-spacing:-.03em;line-height:1.2;color:var(--heading)}.case-edit-cta-body{margin:4px 0 0;font-size:1rem;line-height:1.65;color:var(--text);max-width:56ch}.case-edit-cta-actions{margin-top:12px;display:flex;flex-wrap:wrap;align-items:center;gap:18px 24px}.case-edit-cta-secondary{font-size:14px;font-weight:600;color:var(--accent);text-decoration:none;transition:color .2s}.case-edit-cta-secondary:hover{color:var(--heading)}.case-edit-footer{padding:0 0 64px}.case-edit-pager{display:grid;grid-template-columns:1fr 1fr;gap:24px;width:min(1140px,100%);margin-inline:auto;padding:32px clamp(16px,4vw,56px) 0}.case-edit-toprow{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:12px}.case-edit-pager--top{display:flex;gap:24px;width:auto;padding:0;margin:0;font-size:12px}.case-edit-pager--top .case-edit-pager-link{flex-direction:row;align-items:center;gap:8px;max-width:240px}.case-edit-pager--top .case-edit-pager-key{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.case-edit-pager--top .case-edit-pager-title{font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.case-edit-pager--top .case-edit-pager-link--next{text-align:left}@media (max-width: 640px){.case-edit-pager--top{width:100%;justify-content:space-between}.case-edit-pager--top .case-edit-pager-title{display:none}}.case-edit-pager-link{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:var(--heading);transition:opacity .2s}.case-edit-pager-link:hover{opacity:.7}.case-edit-pager-link--next{text-align:right}.case-edit-pager-key{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted)}.case-edit-pager-title{font-size:clamp(1.1rem,2vw,1.4rem);font-weight:600;letter-spacing:-.02em}.case-breadcrumb{margin-bottom:28px}.case-back{font-size:14px;font-weight:600;color:var(--accent);text-decoration:none}.case-back:hover{text-decoration:underline}.case-hero{display:grid;gap:32px;margin-bottom:40px}@media (min-width: 880px){.case-hero{grid-template-columns:1fr 1fr;gap:48px;align-items:start}}.case-title{margin:0 0 16px;font-size:clamp(1.85rem,3.5vw,2.5rem);font-weight:700;letter-spacing:-.04em;line-height:1.1;color:var(--heading)}.case-lead{margin:0 0 24px;font-size:1.0625rem;line-height:1.65;color:var(--text);max-width:60ch}.case-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.case-placeholder-hint{font-size:14px;color:var(--text-muted);max-width:36ch}.case-code{font-family:var(--mono);font-size:12px;padding:2px 6px;border-radius:4px;background:var(--surface-hover);border:1px solid var(--border-subtle);color:var(--heading)}.case-hero-media{border-radius:var(--radius);border:1px solid var(--border);overflow:hidden;background:var(--bg-deep)}.case-hero-thumb{display:block;width:100%;height:auto;vertical-align:middle}.case-meta{display:grid;gap:20px;padding:24px 28px;margin:0;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);grid-template-columns:1fr}.case-meta dt{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0 0 6px}.case-meta dd{margin:0;font-size:15px;font-weight:500;color:var(--heading)}.case-meta dd ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}.case-meta dd li{font-size:13px;font-weight:500;padding:4px 10px;border-radius:6px;background:var(--violet-dim);border:1px solid color-mix(in srgb,var(--violet) 35%,transparent);color:var(--text)}.case-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:40px}.case-tag{font-family:var(--mono);font-size:11px;font-weight:500;padding:4px 10px;border-radius:6px;color:var(--text);background:var(--bg);border:1px solid var(--border)}.case-body{max-width:100%}.case-meta--row{grid-template-columns:1fr;gap:16px 28px;padding:16px 22px;margin:0 0 28px}@media (min-width: 720px){.case-meta--row{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.case-meta--row dt{margin-bottom:4px}.case-meta--row dd{font-size:14px}}.case-intro-row{display:grid;grid-template-columns:1fr;gap:32px;margin-bottom:40px}@media (min-width: 760px){.case-intro-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}}.case-intro-row>.case-section{margin-bottom:0}.case-gallery--grid{grid-template-columns:1fr}@media (min-width: 640px){.case-gallery--grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 960px){.case-gallery--grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.case-section{margin-bottom:40px}.case-section:last-child{margin-bottom:0}.case-section-title{margin:0 0 16px;font-size:1.25rem;font-weight:600;letter-spacing:-.02em;color:var(--heading)}.case-section p{margin:0 0 14px;color:var(--text);font-size:1rem;line-height:1.65}.case-section p:last-child{margin-bottom:0}.case-outcomes{padding:28px;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));background:linear-gradient(135deg,var(--accent-dim) 0%,transparent 55%),var(--surface)}.case-outcome-list{margin:0;padding-left:1.15rem;color:var(--text);line-height:1.65}.case-outcome-list li{margin-bottom:10px}.case-outcome-list li:last-child{margin-bottom:0}.case-gallery-section{margin-top:56px;padding-top:48px;border-top:1px solid var(--border-subtle)}.case-gallery-heading{margin:0 0 12px;font-size:1.25rem;font-weight:600;color:var(--heading);letter-spacing:-.02em}.case-gallery-intro{margin:0 0 28px;max-width:62ch;font-size:15px;color:var(--text-muted);line-height:1.55}.case-gallery{display:grid;gap:32px}.case-gallery-item{margin:0}.case-gallery-frame{border-radius:var(--radius);border:1px solid var(--border);overflow:hidden;background:var(--bg-deep);line-height:0}.case-gallery-frame--plain .case-gallery-media{display:block;width:100%;height:auto;vertical-align:top}.device--phone .case-gallery-media,.device-macbook-screen .case-gallery-media{display:block;width:100%;height:100%;object-fit:contain;object-position:center center}.device--phone{display:flex;justify-content:center;padding:12px 0}.device-phone-bezel{width:min(100%,280px);max-height:min(78vh,560px);aspect-ratio:9 / 19.5;display:flex;flex-direction:column;padding:10px;border-radius:40px;background:linear-gradient(155deg,color-mix(in srgb,var(--heading) 22%,#1a1a1e),#0a0a0c 48%,#121214);box-shadow:0 0 0 1px color-mix(in srgb,var(--heading) 12%,transparent),0 24px 48px -20px #000000d9,inset 0 1px color-mix(in srgb,var(--heading) 8%,transparent)}.device-phone-earpiece{flex-shrink:0;display:flex;justify-content:center;padding:4px 0 8px}.device-phone-island{display:block;width:34%;max-width:96px;height:26px;border-radius:999px;background:#0a0a0c;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--heading) 8%,transparent)}.device-phone-screen{flex:1;min-height:0;border-radius:28px;overflow:hidden;background:#000;border:1px solid color-mix(in srgb,var(--border) 80%,transparent)}.device-macbook{position:relative;width:100%;max-width:960px;margin:0 auto;aspect-ratio:1200 / 752;filter:drop-shadow(0 22px 36px rgba(0,0,0,.55))}.device-macbook-chassis-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.device-macbook-chassis-svg{width:100%;height:100%;display:block}.device-macbook-screen{position:absolute;z-index:1;left:calc(122 / 1200 * 100%);top:calc(66 / 752 * 100%);width:calc(956 / 1200 * 100%);height:calc(572 / 752 * 100%);border-radius:11px;overflow:hidden;background:#000;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--border) 45%,transparent)}.case-gallery-caption{margin-top:12px;font-size:14px;color:var(--text-muted);line-height:1.5}.case-footer{margin-top:56px;padding-top:32px;border-top:1px solid var(--border-subtle)}.case-jump{display:flex;flex-wrap:wrap;gap:8px;position:sticky;top:calc(var(--nav-h) + 4px);z-index:40;padding:14px 0 18px;margin:0 0 4px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-deep) 96%,transparent) 40%,color-mix(in srgb,var(--bg-deep) 85%,transparent));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle)}.case-jump-link{font-size:12px;font-weight:600;color:var(--text-muted);text-decoration:none;padding:7px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);transition:color .2s,border-color .2s,background .2s;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.case-jump-link:hover{color:var(--heading);border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.case-study .case-section,.case-study .case-outcomes,.case-study .case-gallery-section{scroll-margin-top:calc(var(--nav-h) + 88px)}.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:200;pointer-events:none;background:transparent}.scroll-progress-bar{height:100%;width:100%;transform-origin:0 50%;background:linear-gradient(90deg,var(--accent),var(--violet));box-shadow:0 0 12px color-mix(in srgb,var(--accent) 40%,transparent)}.back-to-top{position:fixed;bottom:28px;right:clamp(16px,4vw,40px);z-index:90;width:48px;height:48px;border-radius:50%;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--heading);font-size:18px;font-weight:700;cursor:pointer;box-shadow:0 12px 32px -12px #0000008c;transition:transform .2s,border-color .2s,background .2s}.back-to-top:hover{border-color:var(--accent);transform:translateY(-2px)}.command-palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px 16px}.command-palette{width:min(520px,100%);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);box-shadow:0 32px 64px -24px #000000bf;overflow:hidden}.command-palette-head{padding:16px 16px 12px;border-bottom:1px solid var(--border-subtle)}.command-palette-input{width:100%;font-family:var(--font);font-size:16px;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--heading);margin-bottom:8px}.command-palette-input:focus{outline:2px solid var(--accent);outline-offset:2px}.command-palette-hint{margin:0;font-size:12px;color:var(--text-muted)}.command-palette-list{list-style:none;margin:0;padding:8px;max-height:min(52vh,360px);overflow-y:auto}.command-palette-empty{margin:0;padding:20px;text-align:center;color:var(--text-muted);font-size:14px}.command-palette-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;font-family:var(--font);font-size:14px;padding:10px 12px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--heading);cursor:pointer;transition:background .15s}.command-palette-item:hover,.command-palette-item.is-active{background:var(--surface-hover)}.command-palette-label{font-weight:600}.command-palette-meta{font-size:12px;color:var(--text-muted);flex-shrink:0}.contact-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:320;background:#0009;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:20px 16px}.contact-modal{width:min(440px,100%);max-height:min(90vh,640px);overflow-y:auto;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);box-shadow:0 32px 64px -20px #000000d9;padding:clamp(20px,4vw,28px)}.contact-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.contact-modal-title{margin:0;font-size:1.35rem;font-weight:600;letter-spacing:-.02em;color:var(--heading)}.contact-modal-close{flex-shrink:0;width:36px;height:36px;margin:-6px -6px 0 0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font-size:1.5rem;line-height:1;cursor:pointer;transition:color .2s,background .2s}.contact-modal-close:hover{color:var(--heading);background:var(--surface-hover)}.contact-modal-lead{margin:0 0 20px;font-size:14px;line-height:1.5;color:var(--text-muted)}.contact-modal-form{display:flex;flex-direction:column;gap:16px}.contact-modal-field{display:flex;flex-direction:column;gap:6px}.contact-modal-label{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.contact-modal-input,.contact-modal-textarea{font:inherit;font-size:15px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--heading);resize:vertical}.contact-modal-input:focus,.contact-modal-textarea:focus{outline:2px solid var(--accent);outline-offset:2px}.contact-modal-textarea{min-height:120px}.contact-modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:4px}.contact-modal-success{color:color-mix(in srgb,var(--heading) 88%,var(--text-muted))}.contact-modal-error{margin:0;font-size:13px;line-height:1.4;color:#f87171}.contact-modal-error--form{padding:10px 12px;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,#f87171 45%,var(--border));background:color-mix(in srgb,#f87171 12%,transparent)}.kbd{display:inline-block;font-family:var(--mono);font-size:11px;font-weight:600;padding:3px 7px;border-radius:5px;border:1px solid var(--border);background:var(--bg);color:var(--text-muted);box-shadow:0 1px 0 var(--border-subtle)}.kbd--footer{margin-right:4px}.kbd--inline{margin:0 2px;font-size:10px;vertical-align:middle}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.studio{min-height:100svh;background:var(--bg-deep);color:var(--text)}.studio-shell{max-width:920px;margin:0 auto;padding:24px clamp(20px,4vw,48px) 80px}.studio-gate{max-width:420px;padding-top:clamp(48px,12vh,120px)}.studio-topbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;padding:20px clamp(20px,4vw,48px) 16px;border-bottom:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-deep) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:10}.studio-topbar-actions{display:flex;gap:10px}.studio-kicker{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 8px}.studio-title{margin:0;font-size:clamp(1.5rem,3vw,2rem);font-weight:700;letter-spacing:-.03em;color:var(--heading)}.studio-title--sm{font-size:1.25rem;font-weight:600}.studio-hint{margin:0 0 20px;font-size:14px;color:var(--text-muted);line-height:1.55}.studio-lead{margin:0 0 28px;font-size:15px;color:var(--text-muted);line-height:1.6;max-width:72ch}.studio-lead strong{color:var(--heading);font-weight:600}.studio-form{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}.studio-label{font-size:13px;font-weight:600;color:var(--heading)}.studio-input{font-family:var(--font);font-size:15px;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--heading)}.studio-input:focus{outline:2px solid var(--accent);outline-offset:2px}.studio-submit{margin-top:8px;align-self:flex-start}.studio-msg{margin:0;font-size:14px}.studio-msg--err{color:#f87171}.studio-back{font-size:14px;font-weight:600;color:var(--accent);text-decoration:none}.studio-back:hover{text-decoration:underline}.studio-banner{margin:0 0 24px;padding:14px 18px;border-radius:var(--radius-sm);font-size:14px;line-height:1.5}.studio-banner--ok{background:var(--accent-dim);border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));color:var(--heading)}.studio-banner--err{background:#f871711a;border:1px solid rgba(248,113,113,.35);color:#fecaca}.studio-section{margin-bottom:36px}.studio-section-title{margin:0 0 8px;font-size:1.1rem;font-weight:600;color:var(--heading);letter-spacing:-.02em}.studio-section-desc{margin:0 0 12px;font-size:14px;color:var(--text-muted);line-height:1.55;max-width:70ch}.studio-textarea{display:block;width:100%;font-family:var(--mono);font-size:13px;line-height:1.5;padding:16px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);resize:vertical;min-height:120px}.studio-textarea:focus{outline:2px solid var(--accent);outline-offset:2px}.studio-textarea--skills{min-height:160px}.studio-textarea--json{min-height:420px}.studio-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.studio-code{font-family:var(--mono);font-size:12px;padding:2px 6px;border-radius:4px;background:var(--bg);border:1px solid var(--border-subtle);color:var(--accent)}.studio-file-label{cursor:pointer;position:relative}.studio-file-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}
