:root{--color-primary:var(--color-purple-500);--color-black-100:#000;--color-black-40:#0006;--color-black-8:#00000014;--color-blue-100:#b5c5ff;--color-blue-300:#7ba1ff;--color-blue-500:#0080ff;--color-blue-700:#1f59af;--color-blue-900:#204789;--color-charcoal-100:#dbdcdd;--color-charcoal-300:#979a9c;--color-charcoal-500:#595c5f;--color-charcoal-700:#3c3f43;--color-charcoal-900:#212529;--color-green-100:#eaffe3;--color-green-300:#bdffaa;--color-green-500:#0f0;--color-green-700:#226619;--color-green-900:#1c4415;--color-orange-100:#ffc99c;--color-orange-300:#ffa55b;--color-orange-500:#ff8000;--color-orange-700:#b05b10;--color-orange-900:#673811;--color-pink-100:#ffb3ff;--color-pink-300:#ff78ff;--color-pink-500:#f0f;--color-pink-700:#b01daf;--color-pink-900:#671d66;--color-purple-100:#f2e0ff;--color-purple-200:#d3a2ff;--color-purple-500:#8000ff;--color-purple-700:#4b158a;--color-purple-900:#2a1244;--color-surface-0:var(--color-white-100);--color-surface-1:#f6f6f6;--color-surface-2:#e6e6e6;--color-surface-3:#d6d6d6;--color-text-link:var(--color-blue-500);--color-text-subtle:var(--color-charcoal-500);--color-text-default:var(--color-charcoal-900);--color-white-100:#fff;--color-white-12:#ffffff1f;--color-white-24:#ffffff3d;--color-white-48:#ffffff7a;--color-white-64:#ffffffa3;--color-hero-bg-start:#232731;--color-hero-bg-mid:#303540;--color-hero-bg-end:#262b34;--color-hero-text-primary:var(--color-white-100);--color-hero-text-secondary:#ffffffe6;--color-hero-text-emphasis:var(--color-purple-100);--color-hero-cursor-fill:var(--color-white-100);--color-hero-cursor-outline:var(--color-purple-500);--color-bg:var(--color-surface-1);--color-fg:#222;--color-accent:var(--color-orange-500);--color-muted:#666;--max-width:1152px;--type-font-family:var(--font-plex-sans);--type-weight-light:300;--type-weight-regular:400;--type-weight-medium:500;--type-weight-bold:700;--type-body-1-size:1rem;--type-body-1-ls:.0312rem;--type-body-2-size:.875rem;--type-body-2-ls:.0156rem;--type-case-study-body-size:1.125rem;--type-case-study-body-ls:var(--type-body-1-ls);--type-body-line-height:1.5;--featured-card-text:1.25rem;--type-button-size:.75rem;--type-button-ls:.0781rem;--type-button-line-height:1;--type-caption-size:.6875rem;--type-caption-ls:.025rem;--type-caption-line-height:1.2;--type-h1-size:5.3125rem;--type-h1-ls:-.0938rem;--type-h1-line-height:1.05;--type-h2-size:3.3125rem;--type-h2-ls:-.0312rem;--type-h2-line-height:1.08;--type-h3-size:2.625rem;--type-h3-ls:0rem;--type-h3-line-height:1.1;--type-h4-size:1.875rem;--type-h4-ls:.0156rem;--type-h4-line-height:1.2;--type-h5-size:1.3125rem;--type-h5-ls:0rem;--type-h5-line-height:1.25;--type-h6-size:1.125rem;--type-h6-ls:.0094rem;--type-h6-line-height:1.3;--type-subtitle-1-size:.875rem;--type-subtitle-1-ls:.0094rem;--type-subtitle-2-size:.75rem;--type-subtitle-2-ls:.0063rem;--type-hero-body-size:clamp(1.5rem, 3.1vw, 2.65rem);--type-hero-body-ls:.01em;--spacing-hero-padding-y:clamp(1.5rem, 4vh, 2.5rem);--spacing-hero-min-height:min(60vh, 50vw);--type-button-height:40px;--type-button-hover-bg:var(--color-purple-100);--card-case-min-width:18.75rem;--card-case-max-width:47.6875rem;--card-case-min-height:27.0625rem;--card-case-bg:var(--color-white-100);--card-case-pad-x:1.5rem;--card-case-pad-top:1.5rem;--card-case-pad-bottom:1.5rem;--card-case-gap-top:1.5rem;--card-case-gap-body:1.5rem;--card-case-brand-size:5.375rem;--card-case-brand-hole:2.9rem;--card-case-brand-tail-width:.95rem;--card-case-brand-tail-height:2.85rem;--card-case-tag-gap:.875rem;--card-case-tag-pad-x:.75rem;--card-case-tag-pad-y:.35rem;--card-case-tag-bg:var(--color-purple-100);--card-case-tag-text:var(--color-primary);--card-case-tag-size:.625rem;--card-case-tag-ls:.09em;--card-tag-compact-gap:var(--spacing-gap-4);--card-tag-compact-pad-x:.35rem;--card-tag-compact-pad-y:.15rem;--card-case-title-size:3.5rem;--card-case-title-line:1.1;--card-case-body-size:2.625rem;--card-case-body-line:1.35;--card-case-body-max-width:57.5rem;--card-case-body-lines:6;--card-case-link-size:2.875rem;--card-case-link-color:var(--color-blue-500);--card-case-title-size-tablet:2.6rem;--card-case-body-size-tablet:2rem;--card-case-tag-size-tablet:1.15rem;--card-case-link-size-tablet:2rem;--card-case-title-size-mobile:1.8rem;--card-case-body-size-mobile:1.3rem;--card-case-tag-size-mobile:.7rem;--card-case-link-size-mobile:1.4rem;--card-full-bg:var(--color-white-100);--card-full-border:var(--color-charcoal-100);--card-full-radius:.875rem;--card-full-min-height:20rem;--card-full-gap:2rem;--card-full-pad:2rem;--card-full-media-min:16rem;--card-full-title-size:var(--type-h4-size);--card-full-title-line:var(--type-h4-line-height);--card-full-text-size:var(--type-body-1-size);--card-full-text-line:var(--type-body-line-height);--card-full-link-size:var(--type-body-1-size);--type-case-studies-title-size:var(--type-h3-size);--font-family:"IBM Plex Sans";--light:Light;--normal:Regular;--medium:Medium;--bold:Bold;--spacing-page-padding-x:1.5rem;--spacing-page-margin:0;--spacing-section-padding-x:1.5rem;--spacing-section-margin-y:4rem;--spacing-component-padding-x:1rem;--spacing-component-margin-y:1rem;--spacing-gap:1rem;--spacing-gap-4:.25rem;--spacing-gap-8:.5rem;--spacing-gap-16:1rem;--spacing-gap-24:1.5rem;--spacing-gap-32:2rem;--spacing-gap-40:2.5rem;--spacing-gap-48:3rem;--spacing-gap-64:4rem;--spacing-gap-128:8rem;--spacing-cs-section-content:1.5rem;--spacing-cs-section-padding:2rem;--detail-content-max-width:var(--card-case-max-width);--sketch-content-max-width:47.5rem}@media (width>=844px){:root{--spacing-page-padding-x:2rem;--spacing-page-margin:0;--spacing-section-padding-x:2.5rem;--spacing-section-margin-y:7.5rem;--spacing-component-padding-x:1.5rem;--spacing-component-margin-y:1.5rem;--spacing-gap:1.5rem}}@media (width>=1400px){:root{--spacing-page-padding-x:9rem;--spacing-page-margin:0;--spacing-section-padding-x:4rem;--spacing-section-margin-y:10rem;--spacing-component-padding-x:2rem;--spacing-component-margin-y:2rem;--spacing-gap:2rem}}*{box-sizing:border-box}html,body{height:100%}html{scrollbar-gutter:stable;scroll-behavior:smooth;scroll-padding-top:4rem}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--type-font-family);font-size:var(--type-body-1-size);letter-spacing:var(--type-body-1-ls);color:var(--color-fg);background:var(--color-bg);line-height:var(--type-body-line-height);margin:0;padding-top:48px}.container{max-width:var(--max-width);margin:0 auto;padding:0}.header-inner{justify-content:space-between;align-items:center;padding:1rem 0;display:flex}.logo{color:var(--color-accent);align-items:center;font-weight:700;text-decoration:none;display:flex}.logo img{display:block}.main-nav a{color:var(--color-muted);margin-left:1rem;text-decoration:none}.main-nav a:hover{color:var(--color-fg)}.hero{isolation:isolate;padding:var(--spacing-hero-padding-y) var(--spacing-section-padding-x);min-height:var(--spacing-hero-min-height);color:var(--color-hero-text-primary);background:radial-gradient(120% 70% at 68% 48%, #6e7a8b2e 0%, transparent 65%), radial-gradient(95% 115% at 8% -8%, #6772855c 0%, transparent 64%), linear-gradient(132deg, var(--color-hero-bg-start) 0%, var(--color-hero-bg-mid) 44%, var(--color-hero-bg-end) 100%);flex-direction:column;justify-content:center;margin:0;display:flex;position:relative;overflow:hidden}.hero-noise-svg{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.hero:after{content:"";z-index:1;pointer-events:none;background:radial-gradient(100% 55% at 50% 0,#00000061 0%,#0000 100%),radial-gradient(100% 55% at 50% 100%,#00000052 0%,#0000 100%),radial-gradient(30% 100% at 0%,#00000038 0%,#0000 100%),radial-gradient(30% 100% at 100%,#00000038 0%,#0000 100%);position:absolute;inset:0}.hero .container{max-width:var(--max-width);z-index:2;position:relative}.hero-copy{z-index:2;position:relative}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.lead-hero{max-width:none;font-family:var(--type-font-family);font-size:var(--type-hero-body-size);letter-spacing:var(--type-hero-body-ls);line-height:1.3;font-weight:var(--type-weight-light);color:var(--color-hero-text-secondary);margin:0}.lead-hero+.lead-hero{margin-top:clamp(1rem,2vw,1.5rem)}.lead-hero em{font-style:italic;font-weight:var(--type-weight-medium);color:var(--color-hero-text-emphasis)}.hero-note{max-width:none;font-family:var(--type-font-family);font-size:var(--type-hero-body-size);font-style:italic;line-height:1.4;font-weight:var(--type-weight-light);color:var(--color-hero-text-secondary);margin:clamp(.75rem,1.5vw,1.25rem) 0 0}.hero--wave-cursor{cursor:none}.hero--wave-cursor a{cursor:pointer}.hero-cursor{--hero-cursor-size:4rem;--hero-cursor-anchor-x:67%;--hero-cursor-anchor-y:99%;z-index:3;width:var(--hero-cursor-size);aspect-ratio:75.64/96.13;pointer-events:none;opacity:0;transform:translate(calc(-1 * var(--hero-cursor-anchor-x)), calc(-1 * var(--hero-cursor-anchor-y)));will-change:translate;transition:opacity .15s;position:absolute;top:0;left:0}.hero-cursor.is-visible{opacity:1}.hero-cursor__hand{width:100%;height:100%;transform-origin:var(--hero-cursor-anchor-x) var(--hero-cursor-anchor-y);will-change:rotate;display:block;overflow:visible}.hero-cursor__fill{fill:var(--color-hero-cursor-fill)}.hero-cursor__outline{fill:var(--color-hero-cursor-outline)}.caption{font-size:var(--type-caption-size);letter-spacing:var(--type-caption-ls);line-height:var(--type-caption-line-height);color:var(--color-text-subtle)}h1{font-family:var(--type-font-family);font-weight:var(--type-weight-bold);font-size:var(--type-h1-size);letter-spacing:var(--type-h1-ls);line-height:var(--type-h1-line-height);margin:.67em 0}h2{font-family:var(--type-font-family);font-weight:var(--type-weight-bold);font-size:var(--type-h2-size);letter-spacing:var(--type-h2-ls);line-height:var(--type-h2-line-height);margin:.75em 0}h3{font-family:var(--type-font-family);font-weight:var(--type-weight-bold);font-size:var(--type-h3-size);letter-spacing:var(--type-h3-ls);line-height:var(--type-h3-line-height);margin:.83em 0}h4{font-family:var(--type-font-family);font-weight:var(--type-weight-medium);font-size:var(--type-h4-size);letter-spacing:var(--type-h4-ls);line-height:var(--type-h4-line-height);margin:.83em 0}h5{font-family:var(--type-font-family);font-weight:var(--type-weight-medium);font-size:var(--type-h5-size);letter-spacing:var(--type-h5-ls);line-height:var(--type-h5-line-height);margin:1em 0}h6{font-family:var(--type-font-family);font-weight:var(--type-weight-medium);font-size:var(--type-h6-size);letter-spacing:var(--type-h6-ls);line-height:var(--type-h6-line-height);margin:1em 0}.subtitle-1{font-size:var(--type-subtitle-1-size);letter-spacing:var(--type-subtitle-1-ls)}.subtitle-2{font-size:var(--type-subtitle-2-size);letter-spacing:var(--type-subtitle-2-ls)}.content{padding:2rem 0}.site-footer{color:var(--color-muted);border-top:1px solid #eee;padding:1rem 0}.about{background-color:var(--color-surface-1);padding:var(--spacing-section-margin-y) var(--spacing-section-padding-x);margin:0}.about__inner{flex-direction:column;flex:1 0 0;justify-content:center;align-items:flex-start;gap:0;display:flex}.about__title{font-family:var(--type-font-family);font-size:var(--type-case-studies-title-size);line-height:var(--type-h3-line-height);letter-spacing:var(--type-h3-ls);font-weight:var(--type-weight-light);color:var(--color-primary);background:var(--color-purple-100);border-bottom:1px solid var(--color-primary);margin:0 0 3rem;padding:0;display:inline-block}.about__layout{gap:var(--spacing-gap-24);grid-template-columns:1fr;width:100%;display:grid}.about__body{gap:var(--spacing-gap-16);flex-direction:column;display:flex}.about__tldr{margin:0 0 var(--spacing-gap-16);width:100%;padding:var(--spacing-gap-24);background:var(--color-white-64);border:none;border-bottom:1px solid var(--color-purple-100);font-size:var(--type-body-1-size);letter-spacing:var(--type-body-1-ls);color:var(--color-text-default);justify-content:center;align-items:center;line-height:normal;display:flex}.about__tldr p{flex:1 0 0;margin:0}.about__body p{font-size:var(--type-body-1-size);line-height:var(--type-body-line-height);letter-spacing:var(--type-body-1-ls);color:var(--color-text-default);margin:0}.about__timeline{align-items:flex-start;gap:var(--spacing-gap-16);flex-direction:column;width:367px;display:flex}.about__timeline-title{height:28px;font-family:"IBM Plex Mono", var(--type-font-family);letter-spacing:var(--type-h4-ls);font-size:1.5rem;line-height:1;font-weight:var(--type-weight-bold);color:var(--color-primary);margin:0;padding:0 12px 0 2px}.timeline{flex-direction:column;gap:0;width:100%;margin:0;padding:0;display:flex}.timeline__item{flex-direction:column;justify-content:flex-start;align-self:stretch;align-items:flex-start;height:59px;display:flex;position:relative;overflow:clip}.timeline__item:not(:last-child):after{content:"";background:var(--color-purple-200);opacity:.6;width:1px;height:35px;position:absolute;top:20px;left:20px;transform:translate(-50%)}.timeline__year{width:40px;font-size:var(--type-body-2-size);line-height:1.2;font-weight:var(--type-weight-bold);color:var(--color-purple-200);text-align:center;margin:0;padding:0;position:absolute;top:0;left:0}.timeline__event{margin-left:calc(40px + var(--spacing-gap-24));font-size:var(--type-body-2-size);line-height:var(--type-body-line-height);letter-spacing:var(--type-body-1-ls);color:var(--color-text-default);margin-top:0;margin-bottom:0}.timeline__year,.timeline__event{align-self:start}@media (width<=844px){.about__timeline{width:100%}}@media (width>=844px){.about__layout{grid-template-columns:1fr 367px;align-items:start}}@media (width<=600px){.header-inner{flex-direction:row}.main-nav{display:none}.lead-hero{max-width:34ch;line-height:1.34}.hero-note{max-width:34ch;line-height:1.42}}.btn{font-family:var(--type-font-family);font-weight:var(--type-weight-medium);font-size:var(--type-button-size);letter-spacing:.18em;line-height:var(--type-button-line-height);border:0;border-bottom:1px solid var(--color-primary);cursor:pointer;color:var(--color-primary);text-transform:uppercase;min-height:var(--type-button-height);height:var(--type-button-height);background:0 0;border-radius:0;justify-content:center;align-items:center;gap:.5rem;padding:0 1rem;text-decoration:none;transition:background .5s,opacity .5s,transform .5s;display:inline-flex}.btn:focus{outline:none;box-shadow:0 0 0 4px #0000000f}.btn:hover{opacity:1;background:var(--type-button-hover-bg);transform:translateY(-4px)}.btn:active{transform:translateY(1px)}.btn[disabled],.btn[aria-disabled=true],.btn.btn--disabled{opacity:.5;pointer-events:none}.btn--primary{background:var(--color-primary);color:#fff;border-color:#0000;border-radius:6px;padding:.6rem 1rem}.btn--secondary{background:var(--color-surface-1);color:var(--color-text-default);border-color:var(--color-charcoal-300);border-radius:6px}.btn--outline{color:var(--color-primary);border-color:var(--color-primary);background:0 0;border-bottom:none}.btn--ghost{color:var(--color-text-default);background:0 0;border-color:#0000 #0000 currentColor;border-bottom-style:none;border-bottom-width:medium}.btn--sm{font-size:calc(var(--type-button-size) * .9);padding:.4rem .75rem}.btn--lg{padding:.9rem 1.25rem;font-size:1rem}.banner{background:var(--color-surface-1);border-bottom:1px solid var(--color-charcoal-100);padding:0 var(--spacing-section-padding-x);z-index:100;width:100%;height:56px;position:fixed;top:0;left:0;right:0;overflow:visible}.banner-inner{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:1rem;height:100%;display:flex;overflow:visible}.banner-nav{white-space:nowrap;flex:auto;align-items:center;gap:2rem;min-width:0;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.banner-nav a{color:var(--color-text-default);font-size:var(--type-body-1-size);white-space:nowrap;flex-shrink:0;text-decoration:none;transition:opacity .2s;display:inline-block}.banner-nav a:hover{opacity:.7}.banner-nav--right{flex:none;margin-left:auto}.banner-nav--right a{color:var(--color-text-subtle);text-decoration:underline}.banner-nav--right a.banner-nav__page{color:var(--color-text-default);text-decoration:none}.icon-btn,.banner-overflow-btn{cursor:pointer;background:0 0;border:none;border-radius:.35rem;justify-content:center;align-items:center;margin-left:auto;padding:.5rem;transition:background .2s;display:none}.icon-btn:hover,.banner-overflow-btn:hover{background:#0000000f}.banner-overflow-btn:focus{outline:none}.banner-overflow-btn:focus-visible,.banner-overflow-btn.focus-ring{outline:2px solid var(--color-primary);outline-offset:2px}.menu-icon{width:24px;height:24px;color:var(--color-text-default)}.banner-overflow-menu{background:var(--color-surface-1);border:1px solid var(--color-charcoal-100);z-index:999;opacity:0;visibility:hidden;pointer-events:none;border-top:none;width:100%;max-height:0;transition:max-height .46s cubic-bezier(.22,1,.36,1),opacity .26s,transform .46s cubic-bezier(.22,1,.36,1),visibility 0s linear .46s;position:absolute;top:100%;left:0;overflow:hidden;transform:translateY(-6px)}.banner-overflow-menu a{padding:.5rem var(--spacing-section-padding-x);color:var(--color-text-default);border-bottom:1px solid var(--color-surface-2);text-decoration:none;display:block}.banner-overflow-menu a:last-child{border-bottom:none}.banner-overflow-menu a:hover{background:var(--color-surface-2)}.banner-overflow-menu.open{opacity:1;visibility:visible;pointer-events:auto;max-height:320px;transition:max-height .46s cubic-bezier(.22,1,.36,1),opacity .42s,transform .46s cubic-bezier(.22,1,.36,1),visibility;transform:translateY(0);box-shadow:0 10px 12px -12px #00000038}@media (width<=1099px){.banner-nav--right{display:none}.banner-overflow-btn{margin-right:-.5rem;display:flex}}@media (width>=844px){.banner-overflow-menu a.banner-overflow-menu__section{display:none}}@media (width<=843px){.banner-nav{display:none}}@media (width>=1100px){.banner-overflow-menu{display:none}}.sampler-page{background-color:var(--color-surface-1)}.card-grid{grid-template-columns:1fr;gap:1rem;margin-top:1.25rem;display:grid}.card{border:1px solid var(--color-charcoal-100);background:var(--color-white-100);color:var(--color-text-default);border-radius:12px;flex-direction:column;min-height:100%;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;overflow:hidden;box-shadow:0 1px 2px #0000000f}.card:hover,.card:focus-within{border-color:var(--color-charcoal-300);transform:translateY(-3px);box-shadow:0 10px 22px -16px #00000059}.card__media{aspect-ratio:16/9;background:linear-gradient(135deg,var(--color-purple-100),var(--color-blue-100))}.card__media img{object-fit:cover;width:100%;height:100%;display:block}.card__body{flex-direction:column;gap:.6rem;padding:1rem;display:flex}.card__eyebrow{font-size:var(--type-caption-size);line-height:var(--type-caption-line-height);letter-spacing:var(--type-caption-ls);text-transform:uppercase;color:var(--color-text-subtle);font-weight:var(--type-weight-medium);margin:0}.card__title{font-size:var(--type-h4-size);line-height:var(--type-h4-line-height);letter-spacing:var(--type-h4-ls);font-weight:var(--type-weight-medium);margin:0}.card__text{font-size:var(--type-body-1-size);line-height:var(--type-body-line-height);letter-spacing:var(--type-body-1-ls);color:var(--color-text-subtle);margin:0}.card__footer{justify-content:space-between;align-items:center;gap:.75rem;margin-top:auto;padding:0 1rem 1rem;display:flex}.card__meta{font-size:var(--type-caption-size);color:var(--color-text-subtle);margin:0}.card__action{font-size:var(--type-body-2-size);color:var(--color-primary);text-underline-offset:2px;margin:0;text-decoration:underline}.card__top{align-items:flex-start;gap:var(--card-case-gap-top);flex-direction:column;display:flex}.card__brand{width:var(--card-case-brand-size);height:var(--card-case-brand-size);background:url(/assets/images/placeholder-image.svg) 50%/cover no-repeat;border-radius:0;flex:none;position:relative}.card__tags{align-items:center;gap:var(--card-case-tag-gap);flex-wrap:wrap;justify-content:flex-end;width:100%;margin:0;padding:0;list-style:none;display:flex}.card__tag{padding:var(--card-case-tag-pad-y) var(--card-case-tag-pad-x);background:var(--card-case-tag-bg);color:var(--card-case-tag-text);font-size:var(--card-case-tag-size);line-height:var(--type-button-line-height);text-transform:uppercase;letter-spacing:var(--card-case-tag-ls);font-weight:var(--type-weight-medium);margin:0}.card__tags--compact{gap:var(--card-tag-compact-gap);flex-shrink:0;width:auto}.card__tags--compact .card__tag{padding:var(--card-tag-compact-pad-y) var(--card-tag-compact-pad-x)}.card--case-study{width:100%;min-width:var(--card-case-min-width);max-width:var(--card-case-max-width);min-height:var(--card-case-min-height);border-style:solid;border-width:0 0 1px;border-color:transparent transparent var(--color-primary);box-shadow:none;padding:var(--card-case-pad-top) var(--card-case-pad-x) var(--card-case-pad-bottom);background:var(--card-case-bg);cursor:pointer;border-radius:0;margin:0 auto;transition:box-shadow .35s,border-bottom-color .35s;position:relative}.card--case-study:hover,.card--case-study:focus-within{border-color:transparent transparent var(--color-primary);transform:none;box-shadow:0 0 6px #0000001a,0 8px 15px #00000026}.card--case-study .card__body{gap:var(--card-case-gap-body);min-height:0;padding:var(--card-case-gap-top) 0 0;flex-direction:column;flex:auto;display:flex}.card--case-study .card__title{font-size:var(--type-h4-size);line-height:var(--type-h4-line-height);letter-spacing:var(--type-h4-ls);font-weight:var(--type-weight-medium);color:var(--color-text-default);margin:0}.card--case-study .card__text{min-height:0;max-width:var(--card-case-body-max-width);max-height:calc(var(--type-body-1-size) * var(--type-body-line-height) * 5);font-size:var(--type-body-1-size);line-height:var(--type-body-line-height);letter-spacing:var(--type-body-1-ls);font-weight:var(--type-weight-regular);color:var(--color-text-subtle);line-clamp:5;-webkit-line-clamp:5;text-overflow:ellipsis;-webkit-box-orient:vertical;flex:auto;margin:0;display:-webkit-box;overflow:hidden}.card--case-study .card__footer{justify-content:flex-start;margin-top:1rem;padding:0}.card--case-study .card__action{font-size:var(--type-body-1-size);line-height:var(--type-body-line-height);letter-spacing:var(--type-body-1-ls);color:var(--card-case-link-color);font-weight:var(--type-weight-regular);text-decoration:none}.card--case-study .card__action:hover,.card--case-study .card__action:focus-visible{text-decoration:underline}.card--case-study .card__action:after{content:"";position:absolute;inset:0}.card--case-study .card__action:focus-visible:after{outline:2px solid var(--color-primary);outline-offset:-2px}.card--feature{border-color:var(--color-purple-200);background:linear-gradient(#fff 0%,#faf5ff 100%)}.card--compact .card__body{padding:.8rem}.card--compact .card__title{font-size:1.05rem}.card--link{cursor:pointer}.card--link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.card--full-width{width:100%;min-width:300px;max-width:100%;min-height:var(--card-full-min-height);padding:var(--card-full-pad);align-items:stretch;gap:var(--card-full-gap);border:1px solid var(--color-purple-100);background:var(--color-white-64);box-shadow:0 -4px 0 0 var(--color-purple-100) inset;border-radius:0;flex-direction:row;display:flex;overflow:hidden;transform:rotate(-.199deg)}.card--full-width:hover{box-shadow:0 -4px 0 0 var(--color-purple-100) inset;border-color:var(--color-purple-100);transform:rotate(-.199deg)}.card--full-width:focus-within{box-shadow:0 -4px 0 0 var(--color-purple-100) inset, 0 12px 28px -22px #00000059;border-color:var(--color-purple-100);transform:rotate(-.199deg)translateY(-2px)}.card--full-width .card__media{aspect-ratio:1;background:#d5d5d7;border-radius:32px;flex:none;align-self:flex-start;width:clamp(175px,22vw,225px);min-width:175px;max-width:225px;height:clamp(175px,22vw,225px);min-height:175px;max-height:225px;overflow:hidden}.card--full-width .card__media img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.card--full-width .card__body{flex-direction:column;flex:auto;justify-content:flex-start;gap:1.6rem;min-width:300px;padding:0;display:flex}.card--full-width .card__tags{justify-content:flex-start;gap:.625rem}.card--full-width .card__tag{background:var(--color-purple-100);color:var(--color-primary);font-size:.6875rem;font-weight:var(--type-weight-medium);letter-spacing:.08em;text-transform:uppercase;padding:.32rem .5rem}.card--full-width .card__eyebrow,.card--full-width .card__tags+.card__eyebrow{color:var(--color-primary);font-size:var(--type-caption-size);letter-spacing:.12em;text-transform:uppercase;margin:0}.card--full-width .card__title{font-size:var(--type-h3-size);line-height:var(--type-h3-line-height);font-weight:var(--type-weight-regular);letter-spacing:var(--type-h3-ls);color:var(--color-text-default);margin:0}.card--full-width .card__text{font-size:var(--featured-card-text);color:var(--color-text-subtle);max-width:58ch;margin:0;line-height:1.45}.card--full-width .card__footer{justify-content:flex-start;margin-top:.25rem;padding:0}.card--full-width .card__action{font-size:var(--featured-card-text);color:var(--color-text-link);text-underline-offset:2px;text-decoration:none}.card--full-width .card__action:hover,.card--full-width .card__action:focus-visible{text-decoration:underline}@media (width<=600px){.card-grid{grid-template-columns:1fr}.card--case-study .card__text{max-width:100%}.card--full-width{flex-direction:column;min-width:0}.card--full-width .card__body{min-width:0}.card--full-width .card__media{flex:none;width:clamp(175px,52vw,225px);min-width:175px;max-width:225px;height:clamp(175px,52vw,225px);min-height:175px;max-height:225px}}@media (width<=640px){.card--case-study{min-width:100%;max-width:100%}.card--full-width .card__body{padding:0}}.case-studies{background:var(--color-surface-1);padding:var(--spacing-section-margin-y) var(--spacing-section-padding-x);margin:0}.case-studies__inner{align-items:flex-start;gap:var(--spacing-gap-medium);flex-direction:column;display:flex}.case-studies__title{font-family:var(--type-font-family);font-size:var(--type-case-studies-title-size);line-height:var(--type-h3-line-height);letter-spacing:var(--type-h3-ls);font-weight:var(--type-weight-light);color:var(--color-primary);background:var(--color-purple-100);border-bottom:1px solid var(--color-primary);margin:0 0 3rem;padding:0;display:inline-block}.case-studies__grid{gap:var(--card-case-gap-body);grid-template-columns:1fr;display:grid}.featured-projects{background:var(--color-surface-0);padding:var(--spacing-section-margin-y) var(--spacing-section-padding-x);margin:0}.featured-projects__inner{flex-direction:column;align-items:flex-start;gap:0;display:flex}.featured-projects__title{font-family:var(--type-font-family);font-size:var(--type-case-studies-title-size);line-height:var(--type-h3-line-height);letter-spacing:var(--type-h3-ls);font-weight:var(--type-weight-light);color:var(--color-primary);background:var(--color-purple-100);border-bottom:1px solid var(--color-primary);margin:0 0 3rem;padding:0;display:inline-block}.featured-projects__list{gap:var(--spacing-component-margin-y);flex-direction:column;width:100%;display:flex}.design-principles{padding:var(--spacing-section-margin-y) var(--spacing-section-padding-x);background:linear-gradient(0deg, #fffffff7 0%, #fffffff7 100%), var(--color-purple-500);isolation:isolate;margin:0;position:relative;overflow:hidden}.design-principles:before{content:"";pointer-events:none;z-index:1;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #8000ff14,inset 0 8px 140px #8000ff2e}.design-principles .hero-noise-svg{z-index:1;opacity:.5;mix-blend-mode:multiply}.design-principles__inner{max-width:var(--max-width);z-index:2;flex-direction:column;flex:1 0 0;justify-content:center;align-items:flex-start;gap:0;display:flex;position:relative}.design-principles__title{font-family:var(--type-font-family);font-size:var(--type-case-studies-title-size);line-height:var(--type-h3-line-height);letter-spacing:var(--type-h3-ls);font-weight:var(--type-weight-light);color:var(--color-primary);background:var(--color-purple-100);border-bottom:1px solid var(--color-primary);margin:0 0 3rem;padding:0;display:inline-block}.design-principles__grid{gap:var(--spacing-gap-24);grid-template-columns:1fr;width:100%;display:grid}.design-principles__item{flex-direction:column;align-items:flex-start;gap:0;display:flex}.design-principles__index{margin:0 0 var(--spacing-gap-16) 0;height:28px;font-size:var(--type-h6-size);line-height:var(--type-h6-line-height);letter-spacing:var(--type-h6-ls);font-weight:var(--type-weight-medium);color:var(--color-primary);border-bottom:1px solid var(--color-primary);background:var(--color-purple-100);flex-direction:column;justify-content:center;align-items:center;padding:0 12px 0 2px;display:flex}.design-principles__item-title{margin:0 0 var(--spacing-gap-16) 0;font-size:var(--type-h4-size);line-height:var(--type-h4-line-height);letter-spacing:var(--type-h4-ls);font-weight:var(--type-weight-regular);color:var(--color-text-default);padding:0}.design-principles__text{font-size:var(--type-body-1-size);line-height:var(--type-body-line-height);letter-spacing:var(--type-body-1-ls);color:var(--color-text-subtle);margin:0;padding:0}@media (width>=844px){.case-studies__grid,.design-principles__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1200px){.design-principles__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.footer{border-top:4px solid var(--color-primary);background:linear-gradient(90deg, #fffffff2 0%, #fffffff2 100%), linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary) 100%);padding:var(--type-button-height) 9rem;margin-top:0}.footer__content{max-width:var(--max-width);flex-direction:column;justify-content:center;align-items:center;gap:0;margin:0 auto;display:flex}.footer__copyright{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;width:100%;display:flex}.footer__headline{font-family:var(--type-font-family);font-size:var(--type-h6-size);line-height:var(--type-h6-line-height);letter-spacing:var(--type-h6-ls);font-weight:var(--type-weight-medium);color:var(--color-text-default);margin:0;padding:0}.footer__message{font-family:var(--type-font-family);font-size:var(--type-body-1-size);line-height:var(--type-body-line-height);letter-spacing:var(--type-body-1-ls);font-weight:var(--type-weight-regular);color:var(--color-text-default);max-width:100%;margin:0;padding:0}.footer__link{color:var(--color-text-link);text-decoration:none;transition:opacity .2s}.footer__link:hover{opacity:.8;text-decoration:underline}.footer__link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (width<=600px){.footer{padding:2rem 1rem}}.case-study-intro{background:var(--color-surface-0);padding:var(--spacing-gap-48) 0;margin:0}.case-study-intro__inner{align-items:center;gap:var(--spacing-gap-24);width:100%;padding:0 var(--spacing-section-padding-x);flex-direction:column;display:flex}.case-study-intro__back{font-size:var(--type-body-2-size);line-height:var(--type-body-line-height);letter-spacing:var(--type-body-2-ls);color:var(--color-text-subtle);align-self:flex-start;margin:0;padding:0;text-decoration:none}.case-study-intro__back:hover,.case-study-intro__back:focus-visible{color:var(--color-text-default);text-decoration:underline}.case-study-intro__nav{flex-wrap:wrap;justify-content:center;gap:0;margin:0;padding:0;display:flex}.case-study-intro__nav a{min-height:var(--spacing-gap-24);padding:0 var(--spacing-gap-16);font-size:var(--type-button-size);line-height:var(--type-button-line-height);letter-spacing:var(--type-button-ls);font-weight:var(--type-weight-medium);text-transform:uppercase;color:var(--color-text-link);align-items:center;margin:0;text-decoration:none;display:inline-flex}.case-study-intro__nav a+a{border-left:1px solid var(--color-blue-100)}.case-study-intro__nav a:hover,.case-study-intro__nav a:focus-visible{text-decoration:underline}.case-study-intro__title{text-align:center;max-width:16ch;font-size:var(--type-h2-size);line-height:var(--type-h2-line-height);letter-spacing:var(--type-h2-ls);font-weight:var(--type-weight-regular);color:var(--color-text-default);margin:0;padding:0}.case-study-intro__figure{width:100%;max-width:var(--detail-content-max-width);background:var(--color-white-100);border:1px solid var(--color-charcoal-100);margin:0;padding:0}.case-study-intro__figure img{width:100%;height:auto;display:block}.case-study-intro__figure--plain{background:0 0;border:0}.case-study-intro__figure--rounded img{border-radius:12px}.case-study-intro__summary{width:100%;max-width:var(--detail-content-max-width);text-align:center;font-size:var(--type-h5-size);line-height:var(--type-h5-line-height);letter-spacing:var(--type-h5-ls);font-weight:var(--type-weight-regular);color:var(--color-text-subtle);margin:0;padding:0}@media (width<=843px){.case-study-intro__title{font-size:var(--type-h3-size);line-height:var(--type-h3-line-height);letter-spacing:var(--type-h3-ls)}.case-study-intro__summary{font-size:var(--type-body-1-size);line-height:var(--type-body-line-height);letter-spacing:var(--type-body-1-ls);max-width:48ch}}@media (width<=600px){.case-study-intro__nav a{padding:0 var(--spacing-component-padding-x)}}.case-study-stats{align-items:center;gap:var(--spacing-gap-24);background:var(--color-purple-500);padding:var(--spacing-gap-48) var(--spacing-section-padding-x);flex-direction:column;width:100%;margin:0;display:flex}.case-study-stats__inner{justify-content:center;align-items:flex-start;gap:var(--spacing-gap-64);width:100%;max-width:var(--detail-content-max-width);flex-wrap:wrap;display:flex}.case-study-stats__item{justify-content:center;align-items:center;gap:var(--spacing-gap-16);text-align:center;flex-direction:column;flex:1 0 0;min-width:125px;max-width:225px;display:flex}.case-study-stats__icon{flex:none;width:3rem;height:3rem;display:block}.case-study-stats__label{font-size:var(--type-button-size);line-height:var(--type-button-line-height);letter-spacing:.15em;font-weight:var(--type-weight-medium);text-transform:uppercase;color:var(--color-white-64);margin:0}.case-study-stats__value{font-size:var(--type-h6-size);line-height:var(--type-h6-line-height);letter-spacing:var(--type-h6-ls);font-weight:var(--type-weight-bold);color:var(--color-white-100);margin:0}@media (width<=600px){.case-study-stats__inner{gap:var(--spacing-gap-40)}}.case-study-section{padding:var(--spacing-gap-48) var(--spacing-section-padding-x);background:var(--color-surface-1);margin:0}.case-study-section--plain{background:var(--color-surface-0)}.case-study-section--accent{background:linear-gradient(0deg, #fffffff7 0%, #fffffff7 100%), var(--color-purple-500);isolation:isolate;position:relative;overflow:hidden}.case-study-section--accent:before{content:"";pointer-events:none;z-index:1;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #8000ff14,inset 0 8px 140px #8000ff2e}.case-study-section--accent .hero-noise-svg{z-index:0;opacity:.5;mix-blend-mode:multiply}.case-study-section__inner{width:100%;max-width:var(--detail-content-max-width);align-items:flex-start;gap:var(--spacing-gap-24);z-index:2;flex-direction:column;margin:0 auto;display:flex;position:relative}.case-study-section__title,.sketch__body>h2{font-size:var(--type-h3-size);line-height:var(--type-h3-line-height);letter-spacing:var(--type-h3-ls);font-weight:var(--type-weight-regular);color:var(--color-text-default);margin:0;padding:0}.case-study-section__title--light{font-weight:var(--type-weight-light)}.case-study-section__subtitle,.sketch__body>h3{font-size:var(--type-h5-size);line-height:var(--type-h5-line-height);letter-spacing:var(--type-h5-ls);font-weight:var(--type-weight-medium);color:var(--color-text-default);margin:0}.case-study-section__subtitle--group,.sketch__body>h3{margin-top:var(--spacing-gap-16)}.case-study-section__title+.case-study-section__subtitle--group{margin-top:0}.case-study-section__subtitle--spaced{margin-top:var(--spacing-gap-24)}.case-study-section__label,.sketch__body>h4{font-size:var(--type-h6-size);line-height:var(--type-h6-line-height);letter-spacing:var(--type-h6-ls);font-weight:var(--type-weight-medium);color:var(--color-text-default);margin:0}.case-study-section__body,.sketch__body>p{max-width:68ch;font-size:var(--type-case-study-body-size);line-height:var(--type-body-line-height);letter-spacing:var(--type-case-study-body-ls);color:var(--color-text-subtle);margin:0}.case-study-section__body--spaced{margin-top:var(--spacing-gap-16)}.case-study-section__note{font-size:var(--type-case-study-body-size);line-height:var(--type-body-line-height);letter-spacing:var(--type-case-study-body-ls);color:var(--color-charcoal-300);margin:0}@media (width<=843px){.case-study-section__title,.sketch__body>h2{font-size:var(--type-h4-size);line-height:var(--type-h4-line-height);letter-spacing:var(--type-h4-ls)}.case-study-section__subtitle,.sketch__body>h3{font-size:var(--type-h6-size);line-height:var(--type-h6-line-height);letter-spacing:var(--type-h6-ls)}}.case-study-cards{gap:var(--spacing-gap-16);flex-direction:column;width:100%;display:flex}.case-study-card{width:100%;padding:var(--spacing-gap-16);background:var(--color-surface-0);border:0;margin:0;box-shadow:0 -3px 8px #8000ff17}.case-study-card__title{margin:0 0 var(--spacing-gap-16) 0;font-size:var(--type-h4-size);line-height:var(--type-h4-line-height);letter-spacing:var(--type-h4-ls);font-weight:var(--type-weight-regular);color:var(--color-text-default);padding:0}.case-study-card__list{padding:0 0 0 var(--spacing-gap-24);gap:var(--spacing-gap-16);flex-direction:column;margin:0;display:flex}.case-study-card__list li{font-size:var(--type-case-study-body-size);line-height:var(--type-body-line-height);letter-spacing:var(--type-case-study-body-ls);color:var(--color-text-subtle)}@media (width<=843px){.case-study-card__title{font-size:var(--type-h5-size);line-height:var(--type-h5-line-height);letter-spacing:var(--type-h5-ls)}}.case-study-list,.sketch__body>ul,.sketch__body>ol{width:100%;max-width:68ch;font-size:var(--type-case-study-body-size);line-height:var(--type-body-line-height);letter-spacing:var(--type-case-study-body-ls);color:var(--color-text-subtle);flex-direction:column;gap:.35rem;margin:0;padding:0 0 0 1.25rem;display:flex}.case-study-list--numbered,.sketch__body>ol{list-style:decimal}.case-study-list--emphasis{padding-left:var(--spacing-gap-24);gap:var(--spacing-gap-16);color:var(--color-text-default)}.case-study-list strong,.sketch__body>ul strong,.sketch__body>ol strong{font-weight:var(--type-weight-medium)}.case-study-callout,.sketch__body>blockquote{width:100%;padding:var(--spacing-gap-16);border:0;border-left:2px solid var(--color-primary);background:var(--color-purple-100);border-radius:0;margin:0}.case-study-callout--spaced{margin-top:var(--spacing-gap-16)}.case-study-callout__title{margin:0 0 var(--spacing-gap-16) 0;font-size:var(--type-h4-size);line-height:var(--type-h4-line-height);letter-spacing:var(--type-h4-ls);font-weight:var(--type-weight-regular);color:var(--color-primary)}.case-study-callout__text{font-size:1.25rem;line-height:var(--type-body-line-height);letter-spacing:var(--type-body-1-ls);color:var(--color-primary);margin:0}.case-study-icon-cards{gap:var(--spacing-gap-16);grid-template-columns:1fr;width:100%;display:grid}.case-study-icon-card{box-sizing:border-box;border:1px solid var(--color-purple-200);background:var(--color-surface-1);text-align:center;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:242.333px;height:170px;margin:0;padding:16px;display:flex;overflow:hidden}.case-study-icon-card__icon{object-fit:contain;flex:none;width:48px;height:48px;margin:0;display:block}.case-study-icon-card__title{color:var(--color-text-default);text-align:center;font-family:var(--type-font-family);letter-spacing:var(--type-body-1-ls);margin:0;font-size:20px;font-style:normal;font-weight:700;line-height:1.1}.case-study-icon-card__text{color:var(--color-text-default);text-align:center;font-family:var(--type-font-family);letter-spacing:var(--type-body-1-ls);overflow-wrap:anywhere;margin:0;font-size:20px;font-style:normal;font-weight:400;line-height:1.1}@media (width>=844px){.case-study-icon-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}.case-study-feature-list{gap:var(--spacing-gap-16);flex-direction:column;width:100%;display:flex}.case-study-feature{width:100%;padding:var(--spacing-gap-16);border:1px solid var(--color-charcoal-100);background:var(--color-surface-0);align-items:flex-start;gap:var(--spacing-gap-16);margin:0;display:flex}.case-study-feature__image{object-fit:contain;width:auto;min-width:0;max-width:min(100%,13.625rem);height:auto;box-shadow:none;background:0 0;border:0;border-radius:8px;flex:none;align-self:flex-start;margin:0;padding:0;display:block}.case-study-feature__content{gap:var(--spacing-gap-16);flex-direction:column;flex:1 1 0;min-width:0;display:flex}.case-study-feature__title{font-size:var(--type-h5-size);line-height:var(--type-h5-line-height);letter-spacing:var(--type-h5-ls);font-weight:var(--type-weight-medium);color:var(--color-text-default);margin:0}.case-study-feature__body{max-width:52ch;font-size:var(--type-case-study-body-size);line-height:var(--type-body-line-height);letter-spacing:var(--type-case-study-body-ls);color:var(--color-text-subtle);margin:0}.case-study-feature__list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.case-study-feature__list li{min-height:24px;font-size:var(--type-case-study-body-size);line-height:var(--type-body-line-height);letter-spacing:var(--type-case-study-body-ls);color:var(--color-text-default);align-items:center;padding:0 0 0 calc(24px + .75rem);display:flex;position:relative}.case-study-feature__list-icon{object-fit:contain;width:24px;height:24px;position:absolute;top:50%;left:0;transform:translateY(-50%)}@media (width<=600px){.case-study-feature{flex-direction:column}.case-study-feature__image{width:auto;max-width:min(100%,13.625rem);height:auto}}.case-study-figure{width:100%;margin:0;padding:0}.case-study-figure__media{border:1px solid var(--color-charcoal-100);background:var(--color-surface-0);width:100%}.case-study-figure__media img,.case-study-figure__media video{width:100%;height:auto;display:block}.case-study-figure--crop .case-study-figure__media{border:0}.case-study-figure--crop .case-study-figure__media img{object-fit:cover;height:16rem}.case-study-figure--plain .case-study-figure__media,.case-study-plain-images .case-study-figure__media{background:0 0;border:0}.case-study-figure--padded .case-study-figure__media{padding:var(--spacing-gap-24)}.case-study-figure--natural-size .case-study-figure__media{justify-content:center;display:flex}.case-study-figure--natural-size .case-study-figure__media img{width:auto;max-width:100%}.case-study-figure__caption{margin:var(--spacing-gap-16) 0 0;font-size:var(--type-caption-size);line-height:var(--type-caption-line-height);letter-spacing:var(--type-caption-ls);color:var(--color-text-subtle);text-align:center;width:100%}.case-study-image-grid{gap:var(--spacing-gap-16);grid-template-columns:1fr;width:100%;display:grid}.case-study-image-grid__item{border:1px solid var(--color-charcoal-100);background:var(--color-surface-0);width:100%;margin:0;padding:0}.case-study-image-grid--plain .case-study-image-grid__item,.case-study-plain-images .case-study-image-grid__item{background:0 0;border:none}.case-study-image-grid__item img{width:100%;height:auto;display:block}.case-study-image-grid__caption{font-size:var(--type-caption-size);line-height:var(--type-caption-line-height);letter-spacing:var(--type-caption-ls);color:var(--color-text-subtle);text-align:center;grid-column:1/-1;width:100%;margin:0}.case-study-image-grid__caption--spaced{margin-bottom:.5rem}.case-study-image-grid__note{font-size:var(--type-caption-size);line-height:var(--type-caption-line-height);letter-spacing:var(--type-caption-ls);color:var(--color-text-subtle);margin:.5rem 0 0;position:relative}.case-study-image-grid__note-text{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.case-study-image-grid__note p{margin:0}.case-study-image-grid__note p+p{margin-top:.5rem}.case-study-image-grid__note strong{font-weight:var(--type-weight-bold);color:var(--color-text-default)}.case-study-image-grid__note[data-tooltip]:before,.case-study-image-grid__note[data-tooltip]:after{z-index:10;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s,visibility .15s;position:absolute}.case-study-image-grid__note[data-tooltip]:after{content:attr(data-tooltip);background:var(--color-charcoal-900);color:var(--color-white-100);white-space:pre-line;border-radius:4px;padding:.5rem .75rem;bottom:calc(100% + .5rem);left:-.5rem;right:-.5rem;box-shadow:0 6px 16px -8px #00000059}.case-study-image-grid__note[data-tooltip]:before{content:"";border:5px solid #0000;border-bottom-width:0;border-top-color:var(--color-charcoal-900);bottom:calc(100% + .5rem - 5px);left:1rem}.case-study-image-grid__note[data-tooltip]:hover:before,.case-study-image-grid__note[data-tooltip]:hover:after,.case-study-image-grid__item:focus-within .case-study-image-grid__note[data-tooltip]:before,.case-study-image-grid__item:focus-within .case-study-image-grid__note[data-tooltip]:after{opacity:1;visibility:visible}@media (width>=600px){.case-study-image-grid--cols-3,.case-study-image-grid--cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=844px){.case-study-image-grid--cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.case-study-image-grid--cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.case-study-image-grid--cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=600px){.case-study-image-grid--row{grid-template-columns:none;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}}@media (width>=844px){.case-study-image-grid--row{gap:var(--spacing-gap-32)}}.case-study-divider,.sketch__body>hr{width:100%;margin:var(--spacing-gap-24) 0;border:0;border-top:1px solid var(--color-charcoal-100)}.case-study-related{gap:var(--spacing-gap-16);flex-direction:column;width:100%;margin:0;padding:0;list-style:none;display:flex}.case-study-related__link{align-items:center;gap:var(--spacing-gap-16);padding:var(--spacing-gap-16) var(--spacing-gap-24);background:var(--color-surface-0);color:var(--color-text-default);text-decoration:none;display:flex}.case-study-related__thumb{object-fit:cover;flex:none;width:3.5rem;height:3.5rem;display:block}.case-study-related__title{font-size:var(--type-h6-size);line-height:var(--type-h6-line-height);letter-spacing:var(--type-h6-ls);font-weight:var(--type-weight-bold);flex:auto;margin:0}.case-study-related__arrow{font-size:var(--type-h6-size);flex:none}.case-study-related__link:hover .case-study-related__title,.case-study-related__link:focus-visible .case-study-related__title{text-decoration:underline}.js-lightbox-image{cursor:zoom-in}.image-modal{z-index:2000;justify-content:center;align-items:center;padding:clamp(2rem,5vw,4rem) clamp(1rem,3vw,2rem);display:none;position:fixed;inset:0}.image-modal.is-open{display:flex}.image-modal__backdrop{background:#000000d1;position:absolute;inset:0}.image-modal__content{z-index:1;flex-direction:column;gap:.75rem;width:min(96vw,1200px);max-height:90vh;margin:0;display:flex;position:relative}.image-modal__content img{object-fit:contain;background:var(--color-surface-0);width:100%;max-height:calc(90vh - 3rem)}.image-modal__caption{text-align:center;width:100%;font-size:var(--type-caption-size);line-height:var(--type-caption-line-height);letter-spacing:var(--type-caption-ls);color:var(--color-surface-0);margin:0}.image-modal__close{z-index:2;color:#fff;font-size:var(--type-caption-size);cursor:pointer;background:#00000073;border:1px solid #fff6;padding:.45rem .7rem;line-height:1;position:absolute;top:clamp(.75rem,2vw,1.25rem);right:clamp(.75rem,2vw,1.25rem)}.image-modal__close:hover,.image-modal__close:focus-visible{background:#ffffff26;outline:none}body.image-modal-open{overflow:hidden}.password-gate{padding:var(--spacing-gap-64) 0}.password-gate__page{font-size:var(--type-button-size);line-height:var(--type-button-line-height);letter-spacing:var(--type-button-ls);font-weight:var(--type-weight-medium);text-transform:uppercase;color:var(--color-primary);margin:0}.password-gate__link{color:var(--color-text-link)}.password-gate__link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.password-gate__form{flex-direction:column;gap:.5rem;width:100%;max-width:24rem;display:flex}.password-gate__label{font-size:var(--type-body-2-size);line-height:var(--type-body-line-height);letter-spacing:var(--type-body-2-ls);font-weight:var(--type-weight-medium);color:var(--color-text-default)}.password-gate__row{gap:.5rem;display:flex}.password-gate__input{min-width:0;height:var(--type-button-height);font:inherit;font-size:var(--type-body-1-size);color:var(--color-text-default);background:var(--color-surface-0);border:1px solid var(--color-charcoal-300);border-radius:6px;flex:auto;padding:0 .75rem}.password-gate__input:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.password-gate__input[aria-invalid=true]{border-color:var(--color-pink-700)}.password-gate__submit:hover,.password-gate__submit:active{background:var(--color-purple-700);transform:none}.password-gate__error{font-size:var(--type-body-2-size);line-height:var(--type-body-line-height);letter-spacing:var(--type-body-2-ls);color:var(--color-pink-700);margin:0}.sketch{padding-top:var(--spacing-gap-48)}.sketch__back{margin-bottom:var(--spacing-gap-24);font-size:var(--type-body-2-size);line-height:var(--type-body-line-height);display:flex}@media (width>=844px){.sketch__back{margin-bottom:calc(var(--spacing-gap-128) - var(--spacing-gap-48) - 1lh)}}.sketch__back,.sketch__header,.sketch__cover,.sketch__body{max-width:var(--sketch-content-max-width);margin-left:auto;margin-right:auto}.sketch__header{gap:var(--spacing-gap-4);flex-direction:column;display:flex}.sketch__date{font-size:var(--type-body-2-size);line-height:var(--type-body-line-height);letter-spacing:var(--type-body-2-ls);color:var(--color-text-subtle)}.sketch__cover{margin-top:var(--spacing-gap-16)}.sketch__body{align-items:flex-start;gap:var(--spacing-gap-24);margin-top:var(--spacing-gap-40);flex-direction:column;display:flex}.sketch__body>.case-study-figure,.sketch__body>.case-study-image-grid{margin:var(--spacing-gap-8) 0}.sketch__body>:is(.case-study-figure,.case-study-image-grid)+:is(.case-study-figure,.case-study-image-grid){margin-top:0}.sketch__body>.case-study-image-grid{gap:var(--spacing-gap-32)}.sketch__body>blockquote>p{margin:0}.sketch__body a{color:var(--color-primary)}.sketch__body code{background:var(--color-black-8);border-radius:4px;padding:.1em .3em;font-size:.9em}.sketch__body>pre{width:100%;padding:var(--spacing-gap-16);background:var(--color-black-8);border-radius:8px;margin:0;overflow-x:auto}.sketch__body>pre code{background:0 0;padding:0}.sketch-grid{gap:var(--spacing-gap-32);grid-template-columns:repeat(6,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.sketch-card{grid-column:span 6;min-width:0}@media (width>=844px){.sketch-card--half{grid-column:span 3}.sketch-card--third{grid-column:span 2}}.sketch-card__link{gap:var(--spacing-gap-8);color:var(--color-text-default);flex-direction:column;text-decoration:none;display:flex}.sketch-card__media{aspect-ratio:3/2;background:var(--color-surface-2);display:block;overflow:hidden}.sketch-card__media img{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.sketch-card__link:hover .sketch-card__media img{transform:scale(1.03)}
