@import"https://fonts.googleapis.com/css2?family=Outfit:wght@100;200;300;400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&display=swap";:root,[data-theme=light]{--color-midnight: #2a2d43;--color-frost: #f5fcf7;--color-ocean: #1e6db8;--color-violet: #754dd1;--color-jade: #05b68b;--color-sky: #59bbf7;--color-aqua: #0ed3db;--color-ocean-tint: #ddeaf7;--color-violet-tint: #ede8f8;--color-jade-tint: #e1f7f0;--color-sky-tint: #e7f3fd;--color-aqua-tint: #e1fafb;--color-mid-tint: #eaebee;--color-ocean-dk: #1a5fa0;--color-violet-dk: #5b3ab0;--color-jade-dk: #037050;--color-sky-dk: #1a5fa0;--color-aqua-dk: #0a6e76;--color-rose-tint: #fdf0f0;--color-rose-line: #f2d5d5;--color-rose-dk: #c0392b;--color-rose-lt: #ff9c90;--color-violet-line: #cfc0f0;--chip-dark-violet-bg: rgba(117, 77, 209, .22);--chip-dark-violet-fg: #b09ae4;--chip-dark-sky-bg: rgba(89, 187, 247, .22);--chip-dark-sky-fg: #7dcfff;--chip-dark-aqua-bg: rgba(14, 211, 219, .22);--chip-dark-aqua-fg: #3de0e7;--color-bg: #f4f5f7;--color-nav-bg: #f8f8fa;--color-surface: #ffffff;--color-text: #16181d;--color-text-muted: #52576b;--color-border: #e0e3ea;--color-border-strong: #d0d3de;--color-fill-subtle: #f0f1f5;--color-midnight-deep: #1e2035;--color-violet-wash: #f8f6ff;--color-violet-hairline: #e8e3f5;--color-violet-border: #ddd5f5;--fg-primary: var(--color-text);--fg-secondary: var(--color-text-muted);--fg-on-dark: var(--color-frost);--fg-on-dark-muted: rgba(245, 252, 247, .65);--fg-on-dark-faint: rgba(245, 252, 247, .4);--fg-link: var(--color-violet);--fg-link-dark: var(--color-sky);--bg-page: var(--color-bg);--bg-card: var(--color-surface);--bg-dark: var(--color-midnight);--interactive-primary: var(--color-violet);--interactive-light: var(--color-ocean);--interactive-dark: var(--color-sky);--status-success: var(--color-jade);--status-success-bg: var(--color-jade-tint);--status-success-fg: var(--color-jade-dk);--color-focus-ring: var(--color-violet);--color-focus-ring-inner: var(--color-frost);--fg-eyebrow: var(--color-violet-dk);--fg-eyebrow-dark: var(--color-aqua);--overlay-scrim: rgba(22, 24, 29, .92);--shadow-xs: 0 1px 2px rgba(42, 45, 67, .06);--shadow-sm: 0 2px 8px rgba(42, 45, 67, .08);--shadow-md: 0 4px 16px rgba(42, 45, 67, .1);--shadow-lg: 0 8px 32px rgba(42, 45, 67, .12);--shadow-xl: 0 16px 56px rgba(42, 45, 67, .16);--shadow-focus: 0 0 0 2px #f5fcf7}:root{--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 2.5rem;--space-8: 3.5rem;--space-9: 5rem;--space-10: 7rem;--space-11: 10rem;--max-width: 1200px;--content-width: 720px;--gutter-mobile: 1.5rem;--gutter-tablet: 2rem;--gutter-desktop: 3rem;--target-min: 44px;--focus-width: 2px;--focus-offset: 2px;--border-thin: 1px;--border-thick: 1.5px;--border-accent: 3px;--icon-size: 1.25rem;--pin-size: 1.5rem;--frame-phone-width: 15rem;--frame-tablet-width: 28rem;--frame-tablet-landscape-width: 40rem;--radius-none: 0px;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 20px;--radius-pill: 100px;--radius-circle: 50%;--bp-mobile: 320px;--bp-split: 600px;--bp-tablet: 768px;--bp-desktop: 1100px;--dur-instant: 80ms;--dur-fast: .15s;--dur-medium: .25s;--dur-slow: .35s;--dur-xslow: .5s;--ease: ease;--ease-out: cubic-bezier(.2, 0, 0, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--font-sans: "Outfit", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", monospace}.display{font-family:var(--font-sans);font-size:6rem;line-height:.95;letter-spacing:-.025em;font-weight:700}.h1{font-family:var(--font-sans);font-size:3.5rem;line-height:1.1;letter-spacing:-.015em;font-weight:700}.h2{font-family:var(--font-sans);font-size:2.5rem;line-height:1.1;letter-spacing:-.012em;font-weight:700}.h3{font-family:var(--font-sans);font-size:1.875rem;line-height:1.25;letter-spacing:-.005em;font-weight:500}.h4{font-family:var(--font-sans);font-size:1.375rem;line-height:1.25;letter-spacing:0;font-weight:500}.lead{font-family:var(--font-sans);font-size:1.25rem;line-height:1.6;font-weight:400}.body{font-family:var(--font-sans);font-size:1rem;line-height:1.75;letter-spacing:0;font-weight:400}.small{font-family:var(--font-sans);font-size:.875rem;line-height:1.6}.caption{font-family:var(--font-sans);font-size:.75rem;line-height:1.5;letter-spacing:.01em}.eyebrow{font-family:var(--font-sans);font-size:.875rem;line-height:1.4;letter-spacing:.02em;font-weight:500}:root{--gradient-arc: linear-gradient(to right, var(--color-violet), var(--color-ocean), var(--color-sky), var(--color-aqua), var(--color-jade));--gradient-two: linear-gradient(to right, var(--color-violet), var(--color-aqua));--bg-mist: radial-gradient(ellipse at 80% -10%, oklch(92% .04 295) 0%, var(--color-bg) 55%);--bg-aurora: radial-gradient(ellipse at 95% 0%, oklch(92% .04 295) 0%, transparent 50%), radial-gradient(ellipse at 5% 100%, oklch(92% .04 185) 0%, transparent 50%), var(--color-bg);--bg-drift: linear-gradient(135deg, oklch(94% .03 295) 0%, var(--color-bg) 45%, oklch(95% .025 185) 100%);--bg-night: radial-gradient(ellipse at 10% 100%, oklch(28% .08 295) 0%, var(--color-midnight) 60%);--bg-jade-haze: radial-gradient(ellipse at 95% 100%, oklch(93% .04 155) 0%, var(--color-bg) 55%);--btn-radius: var(--radius-pill);--type-display: 6rem;--type-h1: 3.5rem;--type-h2: 2.5rem;--type-h3: 1.875rem;--type-h4: 1.375rem;--type-lead: 1.25rem;--type-body: 1rem;--type-small: .875rem;--type-caption: .75rem;--weight-thin: 100;--weight-extralight: 200;--weight-light: 300;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--lh-display: .95;--lh-heading: 1.1;--lh-subhead: 1.25;--lh-lead: 1.6;--lh-body: 1.75;--lh-caption: 1.5;--ls-display: -.025em;--ls-h1: -.015em;--ls-h2: -.012em;--ls-h3: -.005em;--ls-h4: 0;--ls-body: 0;--ls-caption: .01em;--ls-eyebrow: .02em;--ls-nav: .02em}*,*:before,*:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{margin:0;font-family:var(--font-sans);font-size:var(--type-body);font-weight:var(--weight-regular);line-height:var(--lh-body);color:var(--color-text);background:var(--color-bg);text-wrap:pretty}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);color:var(--color-midnight);font-weight:var(--weight-bold);line-height:var(--lh-heading)}h1{font-size:var(--type-h1);letter-spacing:var(--ls-h1)}h2{font-size:var(--type-h2);letter-spacing:var(--ls-h2)}h3{font-size:var(--type-h3);font-weight:var(--weight-medium);letter-spacing:var(--ls-h3);line-height:var(--lh-subhead)}h4{font-size:var(--type-h4);font-weight:var(--weight-medium);letter-spacing:var(--ls-h4);line-height:var(--lh-subhead)}h5,h6{font-size:var(--type-body);font-weight:var(--weight-medium)}p{line-height:var(--lh-body)}p+p{margin-top:var(--space-4)}a{color:var(--fg-link);text-underline-offset:3px;text-decoration-thickness:1px}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.875em}code{background:var(--color-mid-tint);padding:0 var(--space-1);border-radius:var(--radius-xs)}:focus-visible,[data-state~=focus]{outline:var(--focus-width) solid var(--color-focus-ring);outline-offset:var(--focus-offset);box-shadow:var(--shadow-focus)}.lead{color:var(--color-text-muted)}.eyebrow{display:block;margin:0 0 var(--space-2);color:var(--fg-eyebrow)}.on-dark .eyebrow,.eyebrow-dark,.eyebrow-accent{font-family:var(--font-sans);font-size:var(--type-small);font-weight:var(--weight-medium);letter-spacing:var(--ls-eyebrow);line-height:1.4;color:var(--fg-eyebrow-dark)}.text-muted{color:var(--color-text-muted)}.text-violet{color:var(--color-violet)}.text-ocean{color:var(--color-ocean)}.text-jade{color:var(--color-jade-dk)}.text-sky{color:var(--color-sky)}.text-aqua{color:var(--color-aqua)}.on-dark{color:var(--color-frost)}.on-dark-muted{color:var(--fg-on-dark-muted)}.on-dark-faint{color:var(--fg-on-dark-faint)}.chip{display:inline-block;font-size:var(--type-caption);font-weight:var(--weight-medium);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);line-height:1.5}.chip-violet{background:var(--color-violet-tint);color:var(--color-violet-dk)}.chip-ocean{background:var(--color-ocean-tint);color:var(--color-ocean-dk)}.chip-jade{background:var(--color-jade-tint);color:var(--color-jade-dk)}.chip-sky{background:var(--color-sky-tint);color:var(--color-sky-dk)}.chip-aqua{background:var(--color-aqua-tint);color:var(--color-aqua-dk)}.chip-neutral{background:var(--color-mid-tint);color:var(--color-midnight)}.chip-dark-violet{background:var(--chip-dark-violet-bg);color:var(--chip-dark-violet-fg)}.chip-dark-sky{background:var(--chip-dark-sky-bg);color:var(--chip-dark-sky-fg)}.chip-dark-aqua{background:var(--chip-dark-aqua-bg);color:var(--chip-dark-aqua-fg)}.btn{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-sans);font-size:var(--type-small);font-weight:var(--weight-bold);line-height:1.3;letter-spacing:-.01em;min-height:var(--target-min);min-width:var(--target-min);justify-content:center;padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);border:none;cursor:pointer;text-decoration:none;transition:opacity var(--dur-fast) var(--ease)}.btn:hover,.btn[data-state~=hover]{opacity:.82}.btn-primary{background:var(--color-violet);color:var(--color-frost)}.btn-midnight{background:var(--color-midnight);color:var(--color-frost)}.btn-frost{background:var(--color-frost);color:var(--color-midnight)}.btn-ocean{background:var(--color-ocean);color:var(--color-frost)}.btn-jade{background:var(--color-jade);color:var(--color-midnight)}.btn-ghost-dark{background:transparent;border:var(--border-thick) solid var(--fg-on-dark-faint);color:var(--color-frost)}.btn-ghost-light{background:transparent;border:var(--border-thick) solid var(--color-midnight);color:var(--color-midnight)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root{--gutter: var(--gutter-mobile);--type-display: 3rem;--type-h1: 2.25rem;--type-h2: 1.75rem;--type-h3: 1.5rem;--type-h4: 1.25rem;--type-lead: 1.125rem}@media(min-width:768px){:root{--gutter: var(--gutter-tablet);--type-display: 4.5rem;--type-h1: 2.75rem;--type-h2: 2rem;--type-h3: 1.625rem;--type-h4: 1.3125rem;--type-lead: 1.25rem}}@media(min-width:1100px){:root{--gutter: var(--gutter-desktop);--type-display: 6rem;--type-h1: 3.5rem;--type-h2: 2.5rem;--type-h3: 1.875rem;--type-h4: 1.375rem}}.display{font-size:var(--type-display)}.h1{font-size:var(--type-h1)}.h2{font-size:var(--type-h2)}.h3{font-size:var(--type-h3)}.h4{font-size:var(--type-h4)}.lead{font-size:var(--type-lead)}.ph{color:var(--color-violet-dk);background:var(--color-violet-wash);border-radius:var(--radius-xs)}.on-dark .ph{color:inherit;background:none}body{overflow-wrap:break-word}img,video{max-width:100%}.container{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:var(--gutter)}.prose{max-width:var(--content-width)}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.icon-btn{display:inline-grid;place-items:center;inline-size:var(--target-min);block-size:var(--target-min);padding:0;border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-circle);background:var(--color-surface);color:var(--color-midnight);box-shadow:var(--shadow-sm);cursor:pointer;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.icon-btn svg{inline-size:var(--icon-size);block-size:var(--icon-size)}.icon-btn:hover,.icon-btn[data-state~=hover]{background:var(--color-violet);border-color:var(--color-violet);color:var(--color-frost)}.icon-btn--dark{background:var(--color-midnight);border-color:var(--fg-on-dark-faint);color:var(--color-frost)}@media(prefers-reduced-motion:reduce){:root{--dur-instant: .01ms;--dur-fast: .01ms;--dur-medium: .01ms;--dur-slow: .01ms;--dur-xslow: .01ms}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.card:hover,.card[data-state~=hover],.ba__side:hover img,.next-study:hover,.next-study[data-state~=hover]{transform:none!important}}.card{display:flex;flex-direction:column;background:var(--color-surface);border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-5);color:var(--color-text);text-decoration:none;transition:box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}a.card:hover,.card[data-state~=hover]{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card__title{font-family:var(--font-sans);font-size:var(--type-h4);font-weight:var(--weight-bold);letter-spacing:var(--ls-h4);line-height:var(--lh-subhead);color:var(--color-midnight);margin:0 0 var(--space-2)}.card__desc{font-size:var(--type-small);line-height:var(--lh-lead);color:var(--color-text-muted);margin:0 0 var(--space-4)}.card__chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.card__cta{margin-top:auto;font-size:var(--type-small);font-weight:var(--weight-medium);color:var(--color-violet)}a.card:hover .card__cta,.card[data-state~=hover] .card__cta{text-decoration:underline;text-underline-offset:3px}.cs-block{container-type:inline-size;margin:0}.cs-caption{margin-top:var(--space-3);font-size:var(--type-small);line-height:var(--lh-lead);color:var(--color-text-muted)}.cs-caption__label{font-weight:var(--weight-bold);color:var(--color-text)}.cs-img{display:block;width:100%;height:auto;background:var(--color-surface);border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-md)}.tag-label{display:inline-flex;align-items:center;gap:var(--space-1);width:fit-content;font-family:var(--font-sans);font-size:var(--type-caption);font-weight:var(--weight-medium);line-height:var(--lh-caption);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);color:var(--color-frost);background:var(--color-text-muted)}.tag-label--accent{background:var(--color-violet)}.figure{margin:0}.figure__media{position:relative}.figure__zoom{position:absolute;inset-block-start:var(--space-3);inset-inline-end:var(--space-3)}.image-group__grid{display:grid;grid-template-columns:1fr;gap:var(--space-5);margin:0;padding:0;list-style:none}.image-group__item{margin:0;min-width:0}.image-group__item .cs-caption{margin-top:var(--space-2)}@container (min-width: 600px){.image-group--2 .image-group__grid,.image-group--4 .image-group__grid{grid-template-columns:repeat(2,1fr)}.image-group--3 .image-group__grid{grid-template-columns:repeat(3,1fr)}}@container (min-width: 900px){.image-group--4 .image-group__grid{grid-template-columns:repeat(4,1fr)}}.image-group--align-end .image-group__grid{align-items:end}.device{margin-inline:auto;width:100%}.device__screen{display:block;overflow:hidden;background:var(--color-surface)}.device__screen img{display:block;width:100%;height:auto}.device--laptop .device__bezel{padding:var(--space-2);padding-block-start:var(--space-4);background:var(--color-midnight);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.device--laptop .device__screen{border-radius:var(--radius-xs)}.device--laptop .device__base{height:var(--space-3);margin-inline:calc(-1 * var(--space-5));background:var(--color-text-muted);border:var(--border-thin) solid var(--color-text-muted);border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:var(--shadow-sm)}.device--laptop{padding-inline:var(--space-5)}.device--tablet .device__bezel,.device--tablet-landscape .device__bezel,.device--phone .device__bezel{background:var(--color-midnight);box-shadow:var(--shadow-md)}.device--tablet .device__screen,.device--tablet-landscape .device__screen,.device--phone .device__screen{position:relative}.device--tablet .device__screen img,.device--tablet-landscape .device__screen img,.device--phone .device__screen img{width:100%;height:auto}.device--tablet{max-width:var(--frame-tablet-width)}.device--tablet .device__bezel{padding:var(--space-2) var(--space-2) var(--space-6);border-radius:var(--radius-xl)}.device--tablet .device__screen{aspect-ratio:3 / 4;border-radius:var(--radius-sm)}.device--tablet-landscape{max-width:var(--frame-tablet-landscape-width)}.device--tablet-landscape .device__bezel{padding:var(--space-2) var(--space-6) var(--space-2) var(--space-2);border-radius:var(--radius-xl)}.device--tablet-landscape .device__screen{aspect-ratio:4 / 3;border-radius:var(--radius-sm)}.device--phone{max-width:var(--frame-phone-width)}.device--phone .device__bezel{padding:var(--space-2) var(--space-2) var(--space-5);border-radius:var(--radius-xl)}.device--phone .device__screen{aspect-ratio:9 / 19.5;border-radius:var(--radius-lg)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--gutter) var(--space-5);background:var(--color-midnight-deep);color:var(--color-frost);animation:lightbox-in var(--dur-medium) var(--ease-out)}.lightbox__bar{display:flex;justify-content:flex-end;flex:none}.lightbox__stage{position:relative;flex:1 1 auto;min-height:0;container-type:size}.lightbox__frame{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:min(100cqw,100cqh * var(--ar, 1.333));aspect-ratio:var(--ar, 1.333);border-radius:var(--radius-md);overflow:hidden}.lightbox__frame--surface{background:var(--color-surface)}.lightbox__frame--transparent{background:var(--color-bg)}.lightbox__frame--midnight{background:var(--color-midnight)}.lightbox__img{display:block;width:100%;height:100%;object-fit:contain}.lightbox__frame .motion__toggle{position:absolute;inset-block-end:var(--space-3);inset-inline-start:var(--space-3)}.lightbox__frame .icon-btn:focus-visible{outline-offset:calc(-2 * var(--focus-width));box-shadow:inset 0 0 0 var(--focus-offset) var(--color-focus-ring-inner)}.lightbox__caption{flex:none;width:100%;max-width:var(--content-width);max-height:30vh;margin:0 auto;overflow-y:auto;font-size:var(--type-small);line-height:var(--lh-lead);color:var(--color-frost);text-align:start}.lightbox__caption .cs-caption__label,.lightbox__caption .cap-sec__title{color:var(--color-frost)}.lightbox__caption li::marker{color:var(--color-sky)}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}.table-wrap{overflow-x:auto;border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.data-table{width:100%;border-collapse:collapse;font-size:var(--type-small);line-height:var(--lh-lead)}.table-title{margin:0 0 var(--space-2);font-size:var(--type-small);font-weight:var(--weight-medium);color:var(--color-text)}.data-table th,.data-table td{min-width:var(--space-10);padding:var(--space-3) var(--space-4);text-align:start;vertical-align:top;border-bottom:var(--border-thin) solid var(--color-border)}.data-table thead th{background:var(--color-midnight);border-bottom-color:var(--color-midnight);font-weight:var(--weight-bold);color:var(--color-frost)}.data-table tbody th{font-weight:var(--weight-medium);color:var(--color-midnight)}.data-table td{color:var(--color-text-muted)}.data-table tbody tr:last-child>*{border-bottom:0}.motion__media{position:relative}.motion__video{display:block;width:100%;height:auto;background:var(--color-mid-tint);border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-md)}.motion__toggle{position:absolute;inset-block-end:var(--space-3);inset-inline-start:var(--space-3)}.video-embed__frame{position:relative;aspect-ratio:16 / 9;overflow:hidden;background:var(--color-midnight);border-radius:var(--radius-md)}.video-embed__frame iframe,.video-embed__poster{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.video-embed__poster{object-fit:cover}.video-embed__play{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;width:100%;padding:0;border:0;border-radius:var(--radius-md);background:transparent;cursor:pointer}.video-embed__play .icon-btn{pointer-events:none}.video-embed__play:hover .icon-btn,.video-embed__play[data-state~=hover] .icon-btn{background:var(--color-violet);border-color:var(--color-violet);color:var(--color-frost)}.video-embed__title{margin:var(--space-3) 0 0;font-size:var(--type-small);font-weight:var(--weight-medium);color:var(--color-text)}.ba__grid{display:grid;grid-template-columns:1fr;gap:var(--space-4);align-items:start}.ba__side{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.ba__side img{transition:box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.ba__side:hover img,.ba__side[data-state~=hover] img{box-shadow:var(--shadow-md);transform:translateY(-2px)}.ba__arrow{display:grid;place-items:center;justify-self:center;inline-size:var(--space-7);block-size:var(--space-7);border-radius:var(--radius-circle);background:var(--color-violet-tint);border:var(--border-thick) solid var(--color-violet-line);color:var(--color-violet);rotate:90deg}.ba__arrow svg{inline-size:var(--icon-size);block-size:var(--icon-size)}@container (min-width: 600px){.ba__grid{grid-template-columns:1fr auto 1fr;gap:var(--space-4)}.ba__arrow{rotate:none;align-self:center;margin-top:var(--space-7)}}.copy-cmp__grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@container (min-width: 600px){.copy-cmp__grid{grid-template-columns:1fr 1fr}}.copy-cmp__side{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-lg);min-width:0}.copy-cmp__side--before{background:var(--color-rose-tint);border:var(--border-thick) solid var(--color-rose-line)}.copy-cmp__side--after{background:var(--color-violet-tint);border:var(--border-thick) solid var(--color-violet-line)}.copy-cmp__label{display:flex;align-items:center;gap:var(--space-2);margin:0;font-family:var(--font-sans);font-size:var(--type-small);font-weight:var(--weight-bold);line-height:var(--lh-caption)}.copy-cmp__label svg{inline-size:var(--space-3);block-size:var(--space-3);flex:none}.copy-cmp__side--before .copy-cmp__label{color:var(--color-rose-dk)}.copy-cmp__side--after .copy-cmp__label{color:var(--color-violet-dk)}.copy-cmp__text{margin:0;font-size:var(--type-body);line-height:var(--lh-body);color:var(--color-midnight)}.copy-cmp__shot{margin:auto 0 0}.copy-cmp__shot .cs-img{border-radius:var(--radius-sm)}.copy-cmp__context{margin:var(--space-3) 0 0;font-family:var(--font-sans);font-size:var(--type-caption);color:var(--color-text-muted);text-align:center}.cbar{container-type:inline-size}.constraints{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4) var(--space-6);margin:0;padding:var(--space-5);background:var(--color-bg);border-radius:var(--radius-md);border-left:var(--border-accent) solid var(--color-violet)}.constraints__item{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.constraints dt{font-family:var(--font-sans);font-size:var(--type-caption);font-weight:var(--weight-medium);color:var(--color-text-muted)}.constraints dd{margin:0;font-size:var(--type-small);font-weight:var(--weight-medium);line-height:var(--lh-subhead);color:var(--color-midnight);text-wrap:pretty}@container (min-width: 17rem){.constraints{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (min-width: 30rem){.constraints--row3{grid-template-columns:repeat(3,minmax(0,1fr))}}.annot__body{display:grid;grid-template-columns:1fr;gap:var(--space-5);align-items:start}@container (min-width: 600px){.annot--vertical .annot__body{grid-template-columns:minmax(0,2fr) minmax(var(--space-11),1fr);gap:var(--space-6)}}.annot__media{position:relative}.annot__pin{position:absolute;translate:-50% -50%}.pin{display:inline-grid;place-items:center;flex:none;inline-size:var(--pin-size);block-size:var(--pin-size);border-radius:var(--radius-circle);font-family:var(--font-sans);font-size:var(--type-caption);font-weight:var(--weight-bold);line-height:1}.pin--filled{background:var(--color-violet);color:var(--color-frost);border:var(--focus-width) solid var(--color-surface);box-shadow:var(--shadow-sm)}.pin--outline{background:var(--color-violet-tint);color:var(--color-violet-dk);border:var(--border-thick) solid var(--color-violet)}.annot__legend{display:flex;flex-direction:column;gap:var(--space-3);margin:0;padding:0;list-style:none}.annot__legend li{display:flex;gap:var(--space-3);align-items:flex-start}.annot__legend p{margin:0;font-size:var(--type-small);line-height:var(--lh-lead);color:var(--color-text-muted)}.annot--horizontal .annot__row{display:grid}.annot--horizontal .annot__gutter{position:relative}.annot--horizontal .annot__gutter .annot__pin{left:0;translate:0 -50%}.annot--horizontal .annot__legend{padding:var(--space-3) var(--space-4);background:var(--color-violet-tint);border-radius:var(--radius-md)}.annot--horizontal .annot__legend p{color:var(--color-midnight)}.snapshot{display:grid;grid-template-columns:1fr;gap:var(--space-5);padding:var(--space-5);background:var(--color-surface);border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-lg)}@container (min-width: 600px){.snapshot{grid-template-columns:1fr 1fr;gap:var(--space-5) var(--space-6);padding:var(--space-5) var(--space-6)}.snapshot__part:nth-child(n+3){padding-top:var(--space-5);border-top:var(--border-thin) solid var(--color-border)}}.snapshot__part{min-width:0}.snapshot__part :is(h2,h3,h4){margin:0 0 var(--space-2);font-weight:var(--weight-bold)}.snapshot__part p{margin:0;font-size:var(--type-small);line-height:var(--lh-lead);color:var(--color-text)}.snapshot__impact{margin:0;padding-left:var(--space-4)}.snapshot__impact li{font-size:var(--type-small);line-height:var(--lh-lead);color:var(--color-text)}.snapshot__impact li+li{margin-top:var(--space-2)}.snapshot__impact li::marker{color:var(--color-violet)}.snapshot strong{font-weight:var(--weight-bold);color:var(--color-midnight)}.seg__list{display:flex;margin:0;padding:0;list-style:none}.seg__item{flex:1 1 0;min-width:0}.seg__link{display:grid;place-items:center;min-height:var(--target-min);padding:var(--space-2) var(--space-4);font-family:var(--font-sans);font-size:var(--type-small);font-weight:var(--weight-medium);line-height:1.3;color:var(--color-text-muted);text-align:center;text-decoration:none;text-wrap:balance;transition:color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.seg__link:after{content:attr(data-text);height:0;overflow:hidden;visibility:hidden;font-weight:var(--weight-bold)}.seg__link>span,.seg__link:after{grid-area:1 / 1}.seg__link[aria-current=page]{font-weight:var(--weight-bold);color:var(--color-midnight)}.seg .seg__list{gap:var(--space-1);padding:var(--space-1);background:var(--color-surface);border:var(--border-thin) solid var(--color-text-muted);border-radius:var(--radius-md)}.seg .seg__link{border-radius:var(--radius-sm)}.seg .seg__link:hover,.seg .seg__link[data-state~=hover]{color:var(--color-midnight);background:var(--color-mid-tint)}.seg .seg__link[aria-current=page]{background:var(--color-midnight);color:var(--color-frost)}@media(min-width:768px){.seg{display:flex}.seg__item{flex:0 0 auto}.seg__link{white-space:nowrap}}.next-study{display:grid;gap:var(--space-4)}.next-study__thumb{display:block;width:100%;height:auto;border-radius:var(--radius-sm);border:var(--border-thin) solid var(--color-border)}@container (min-width: 600px){.next-study--with-thumb{grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:center;gap:var(--space-6)}}.next-study .card__desc{margin-bottom:var(--space-3)}.next-study__text{display:flex;flex-direction:column}.next-study .card__title,.next-study .card__desc{display:block}.annot--horizontal .annot__row{grid-template-columns:minmax(0,1fr)}.annot--horizontal .annot__gutter{display:none}@container (min-width: 600px){.annot--horizontal .annot__row{grid-template-columns:var(--space-7) minmax(0,1fr)}.annot--horizontal .annot__gutter{display:block}}.video-embed__play:focus-visible,.video-embed__play[data-state~=focus]{outline-offset:calc(-2 * var(--focus-width));box-shadow:inset 0 0 0 var(--focus-offset) var(--color-focus-ring-inner)}.cs-surface--transparent .cs-img{background:transparent}.cs-surface--midnight .cs-img{background:var(--color-midnight);border-color:var(--color-midnight)}@container (min-width: 600px){.figure-wrap--half>.figure{max-width:50%}.figure-wrap--third>.figure{max-width:33.333%}}.cs-caption__label--block{display:block}:is(.cs-caption,.lightbox__caption) p{margin:0;line-height:var(--lh-lead)}:is(.cs-caption,.lightbox__caption) p+p,:is(.cs-caption,.lightbox__caption)>.cap-sec,:is(.cs-caption,.lightbox__caption)>p+.cap-sec{margin-top:var(--space-3)}.cs-caption__label--block+.cap-sec{margin-top:var(--space-2)}.cap-sec__title{margin:0 0 var(--space-1);font-size:var(--type-small);font-weight:var(--weight-bold);line-height:var(--lh-lead);letter-spacing:0;color:var(--color-text)}:is(.cs-caption,.lightbox__caption) ul{margin:var(--space-1) 0 0;padding-left:var(--space-5)}:is(.cs-caption,.lightbox__caption) li+li{margin-top:var(--space-1)}.cs-caption li::marker{color:var(--color-violet)}@container (min-width: 600px){.image-group .image-group__grid--cols{grid-template-columns:var(--cols)}.image-group--bottom .image-group__grid{grid-template-rows:auto auto;align-items:stretch;row-gap:0}.image-group--bottom .image-group__item,.image-group--bottom .image-group__item>.figure{display:grid;grid-row:span 2;grid-template-rows:subgrid}.image-group--bottom .figure__media{align-self:end}}.media-hit{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;padding:0;border:0;border-radius:var(--radius-md);background:transparent;cursor:zoom-in}.motion__toggle{z-index:2}.media-hit__badge{position:absolute;inset-block-start:var(--space-2);inset-inline-end:var(--space-2);display:none;place-items:center;inline-size:var(--space-6);block-size:var(--space-6);border-radius:var(--radius-circle);background:var(--color-midnight);color:var(--color-frost);opacity:.85}.media-hit__badge svg{inline-size:var(--space-4);block-size:var(--space-4)}@media(hover:none){.media-hit__badge{display:grid}}.device--motion .device__screen{overflow:visible}.device--motion .motion__video{border:0;border-radius:var(--radius-xs);background:var(--color-surface)}.device--motion.device--laptop{padding-inline:0}.device--motion.device--laptop .device__base{margin-inline:calc(-1 * var(--space-3))}@container (min-width: 600px){.device--motion.device--laptop{padding-inline:var(--space-5)}.device--motion.device--laptop .device__base{margin-inline:calc(-1 * var(--space-5))}}.ba__caption{margin-top:0}.site-header{--header-bar-h: calc(var(--target-min) + 2 * var(--space-1));block-size:calc(var(--space-4) + var(--header-bar-h));padding-top:var(--space-4)}html:has(.site-header){scroll-padding-top:calc(2 * var(--space-4) + var(--target-min) + 2 * var(--space-1))}.dark-band:has(.site-header){z-index:100}.site-header__bar{position:fixed;top:var(--space-4);inset-inline:var(--gutter);z-index:100;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);max-width:calc(var(--max-width) - 2 * var(--gutter));margin-inline:auto;padding:var(--space-1) var(--space-5);border-radius:var(--radius-pill);background:var(--color-nav-bg);box-shadow:var(--shadow-md);transition:transform var(--dur-medium) var(--ease-out)}.site-header[data-hidden] .site-header__bar{transform:translateY(calc(-100% - var(--space-7)));transition-duration:var(--dur-slow)}.site-header__home{display:inline-flex;align-items:center;min-height:var(--target-min)}.site-header__home img{display:block;height:14px;width:auto}.site-nav ul{display:flex;gap:var(--space-2);margin:0;padding:0;list-style:none}.site-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:var(--target-min);min-width:var(--target-min);padding:0 var(--space-1);font-size:var(--type-small);font-weight:var(--weight-semibold);letter-spacing:var(--ls-nav);color:var(--color-text-muted);text-decoration:none;transition:color var(--dur-fast) var(--ease)}.site-nav a:hover{color:var(--color-midnight)}.site-nav a[aria-current]{color:var(--color-midnight);text-decoration:underline;text-decoration-color:var(--color-violet);text-decoration-thickness:var(--focus-width);text-underline-offset:.4em}@media(max-width:375px){.site-header__bar{padding-inline:var(--space-4)}.site-header__home{flex-shrink:0}.site-header__home img{height:16px}.site-nav ul{gap:var(--space-1)}}@media(min-width:768px){.site-header__home img{height:18px}.site-nav ul{gap:var(--space-5)}}.site-footer{background:var(--color-midnight-deep);color:var(--fg-on-dark-muted);padding-block:var(--space-7)}.site-footer__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4)}.site-footer ul{display:flex;flex-wrap:wrap;gap:var(--space-5);margin:0;padding:0;list-style:none}.site-footer a{display:inline-flex;align-items:center;min-height:var(--target-min);color:var(--color-frost);font-size:var(--type-small);font-weight:var(--weight-medium);text-decoration:none}.site-footer a:hover{color:var(--fg-link-dark);text-decoration:underline}.site-footer :focus-visible{outline-color:var(--color-frost);box-shadow:0 0 0 2px var(--color-midnight-deep)}.site-footer small{font-family:var(--font-sans);font-size:var(--type-caption);color:var(--fg-on-dark-faint)}.skip-link{position:absolute;left:var(--space-4);top:var(--space-4);z-index:200;display:inline-flex;align-items:center;min-height:var(--target-min);padding:0 var(--space-4);border-radius:var(--radius-md);background:var(--color-midnight);color:var(--color-frost);font-size:var(--type-small);font-weight:var(--weight-bold);transform:translateY(-200%)}.skip-link:focus{transform:none}.back-link{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--target-min);font-size:var(--type-small);font-weight:var(--weight-medium);color:var(--fg-link)}.cs-article{margin-inline:auto;padding-block:var(--space-6) var(--space-9)}.cs-article h1{margin:var(--space-4) 0}.cs-article .lead{margin:0 0 var(--space-6)}.cs-article>*+*{margin-top:var(--space-6)}.cs-article>h2{margin-top:var(--space-10);padding-top:var(--space-8);border-top:var(--border-thin) solid var(--color-border-strong);margin-bottom:0}.cs-article>h3{margin-top:var(--space-8);margin-bottom:0}.cs-article>h4{margin-top:var(--space-7);margin-bottom:0}.cs-article h4{color:var(--color-ocean)}.cs-article>:is(h2,h3,h4)+*{margin-top:var(--space-4)}.cs-article p{margin-bottom:0}.cs-article>ul{padding-left:var(--space-5);margin-bottom:0}.cs-article>ul li+li{margin-top:var(--space-2)}.cs-article>ul li::marker{color:var(--color-violet)}.cs-article>.cs-caption{margin-top:var(--space-3)}.chip-arc{background:linear-gradient(var(--color-surface),var(--color-surface)) padding-box,var(--gradient-arc) border-box;border:var(--border-thick) solid transparent;color:var(--color-midnight);padding-block:calc(var(--space-1) - var(--border-thick))}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:var(--space-5);margin:0;padding:0;list-style:none}@media(min-width:1100px){.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.project-grid>li{display:flex}.project-card{position:relative;width:100%;padding:0;overflow:hidden}.project-card__thumb{display:block;width:100%;height:auto;aspect-ratio:1 / 1;object-fit:cover;border-bottom:var(--border-thin) solid var(--color-border)}.project-card__thumb--empty{display:grid;place-items:center;background:var(--color-mid-tint);color:var(--color-text-muted);font-family:var(--font-sans);font-size:var(--type-caption)}.project-card__body{display:flex;flex-direction:column;flex:1;padding:var(--space-5)}.project-card .card__chips{margin:0 0 var(--space-3);padding:0;list-style:none}.project-card .card__title{display:block}.project-card .card__desc{margin-bottom:var(--space-4)}.project-card .card__cta{align-self:flex-start;display:block;min-height:var(--target-min);padding-block:.6875rem;text-decoration:none}.project-card .card__cta:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-md)}.project-card .card__cta:hover{text-decoration:underline;text-underline-offset:3px}.project-card:has(.card__cta:hover){box-shadow:var(--shadow-md);transform:translateY(-2px)}@media(prefers-reduced-motion:reduce){.project-card:has(.card__cta:hover){transform:none}}.dark-band{position:relative;overflow:hidden;background:var(--color-midnight)}.dark-band>*{position:relative;z-index:1}.dark-band--glow-violet:before,.dark-band--glow-aqua:after{content:"";position:absolute;border-radius:var(--radius-circle);pointer-events:none}.dark-band--glow-violet:before{top:-100px;right:-60px;width:520px;height:520px;background:radial-gradient(circle,rgba(117,77,209,.12) 0%,transparent 70%)}.dark-band--glow-aqua:after{bottom:-60px;left:10%;width:380px;height:380px;background:radial-gradient(circle,rgba(14,211,219,.07) 0%,transparent 70%)}.home-hero{padding-block:var(--space-6) var(--space-8)}.home-hero__grid{display:grid;gap:var(--space-5);margin-top:var(--space-7)}.home-hero h1{margin:0 0 var(--space-4);color:var(--color-frost);max-width:16ch}.home-hero .lead{margin:0;color:var(--fg-on-dark-muted);max-width:36rem}@media(min-width:768px){.home-hero__grid{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-8)}.home-hero .headshot{order:2}}.headshot{position:relative;width:6rem;aspect-ratio:3 / 4;margin:0;overflow:hidden;border-radius:var(--radius-lg);border:var(--border-thin) solid rgba(245,252,247,.16);box-shadow:var(--shadow-md)}.headshot img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;filter:grayscale(100%) brightness(.88) contrast(1.05)}.headshot:before,.headshot:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.headshot:before{background:var(--color-midnight);mix-blend-mode:multiply}.headshot:after{background:var(--color-aqua);mix-blend-mode:screen;opacity:.65}@media(min-width:768px){.headshot{width:10.5rem}}.closing{padding-block:var(--space-8);border-top:var(--border-thin) solid var(--color-border)}.closing p{margin:0;font-size:var(--type-lead);color:var(--color-midnight)}.closing a{font-weight:var(--weight-medium)}.form-field{display:grid;gap:var(--space-2)}.form-field__label{font-size:var(--type-small);font-weight:var(--weight-medium)}.form-field__control{box-sizing:border-box;width:100%;min-height:var(--target-min);padding:var(--space-2) var(--space-3);font:inherit;font-size:var(--type-body);border-radius:var(--radius-sm)}textarea.form-field__control{min-height:9rem;resize:vertical;line-height:var(--lh-body)}.form-field__error{margin:0;font-size:var(--type-small)}.form-field__error:before{content:"Error: ";font-weight:var(--weight-bold)}.form-note{margin:0;font-size:var(--type-small)}.form-status{margin:0;padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);font-size:var(--type-small)}.form-status h3{margin:0 0 var(--space-1);font-size:var(--type-body);color:inherit}.on-dark .form-field__label{color:var(--color-frost)}.on-dark .form-field__control{color:var(--color-frost);background:#f5fcf70f;border:var(--border-thick) solid var(--fg-on-dark-muted)}.on-dark .form-field__control[aria-invalid=true]{border-color:var(--color-rose-lt, #ff9c90);box-shadow:0 0 0 3px #ff9c9040}.on-dark .form-field__error{color:var(--color-rose-lt, #ff9c90)}.on-dark .form-note{color:var(--fg-on-dark-muted)}.on-dark a:not(.btn){color:var(--fg-link-dark)}.on-dark :focus-visible{outline-color:var(--color-frost);box-shadow:0 0 0 2px var(--color-midnight)}.on-dark .form-status--ok{background:#05b68b24;border:var(--border-thin) solid var(--color-jade);color:var(--color-frost)}.on-dark .form-status--fail{background:#ff9c901f;border:var(--border-thin) solid var(--color-rose-lt, #ff9c90);color:var(--color-frost)}.credential-card{gap:var(--space-2)}.credential-card .card__title{margin:0}.credential-card__issuer{margin:0;font-size:var(--type-small);color:var(--color-text-muted)}.credential-card .card__chips{margin:var(--space-2) 0 0;padding:0;list-style:none}.credential-card__link{margin-top:auto;padding-top:var(--space-3);display:block;min-height:var(--target-min);font-size:var(--type-small);font-weight:var(--weight-medium);line-height:1.5}.credential-card__note{color:var(--color-text-muted);font-weight:var(--weight-regular)}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5) var(--space-4);margin:0;padding:0;list-style:none}@media(min-width:1100px){.gallery{grid-template-columns:repeat(4,minmax(0,1fr))}}.gallery .cs-img{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:var(--radius-md)}.gallery .cs-caption{margin-top:var(--space-2)}main{display:block}main:focus{outline:none;box-shadow:none}.work{padding-top:var(--space-8)}.work__switch{margin-bottom:var(--space-6)}.home-other{margin:var(--space-8) 0}.home-other a{font-weight:var(--weight-medium)}
