*,:before,:after{box-sizing:border-box}*{margin:0}:root{color-scheme:dark;--font-sans:"Hanken Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--color-bg:oklch(22% 0 0);--color-surface:oklch(27% 0 0);--color-text:oklch(92% 0 0);--color-muted:oklch(72% 0 0);--color-subtle:oklch(62% 0 0);--color-line:oklch(33% 0 0);--color-line-strong:oklch(72% 0 0);--color-link:oklch(80% .12 165);--color-link-strong:oklch(84% .13 165);--color-accent:var(--color-link-strong);--color-focus:oklch(84% .13 165);--severity-high:oklch(72% .15 28);--severity-medium:oklch(78% .12 72);--severity-low:oklch(78% .12 155);--step--2:clamp(.75rem, .73rem + .09vw, .825rem);--step--1:clamp(.9375rem, .9rem + .2vw, 1.0625rem);--step-0:clamp(1.0625rem, 1rem + .38vw, 1.25rem);--step-1:clamp(1.2rem, 1.13rem + .36vw, 1.41rem);--step-2:clamp(1.44rem, 1.33rem + .55vw, 1.76rem);--step-3:clamp(1.73rem, 1.57rem + .82vw, 2.2rem);--step-4:clamp(2.07rem, 1.84rem + 1.17vw, 2.75rem);--step-5:clamp(2.49rem, 2.16rem + 1.64vw, 3.43rem);--step-6:clamp(2.99rem, 2.53rem + 2.27vw, 4.29rem);--step-7:clamp(3.58rem, 2.96rem + 3.1vw, 5.37rem);--leading-display:1.04;--leading-heading:1.12;--leading-snug:1.4;--leading-body:1.6;--tracking-display:-.028em;--tracking-heading:-.018em;--tracking-caps:.08em;--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.75rem;--space-s:clamp(1rem, .96rem + .22vw, 1.125rem);--space-m:clamp(1.5625rem, 1.47rem + .45vw, 1.875rem);--space-l:clamp(1.75rem, 1.61rem + .71vw, 2.25rem);--space-xl:clamp(2.8125rem, 2.72rem + .45vw, 3.125rem);--space-2xl:clamp(2.75rem, 2.25rem + 2.5vw, 4.5rem);--space-3xl:clamp(4rem, 3.21rem + 3.93vw, 6.75rem);--space-4xl:clamp(5.5rem, 4.5rem + 5vw, 9rem);--space-media:clamp(2.25rem, 1.9rem + 1.75vw, 3.5rem);--gutter:clamp(1.25rem, 6vw, 5.375rem);--w-lead:82.7%;--w-prose:65.4%;--grid-gap:clamp(1.25rem, 3vw, 3rem);--ease-out:cubic-bezier(.22, 1, .36, 1);--duration-fast:.15s;--duration-base:.22s}html{scroll-behavior:smooth;min-width:320px}body{min-width:320px;color:var(--color-text);background:var(--color-bg);font-family:var(--font-sans);font-size:var(--step-0);font-weight:400;line-height:var(--leading-body);letter-spacing:-.15px;font-optical-sizing:auto;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}::selection{color:var(--color-bg);background:var(--color-link)}img,video{max-width:100%;height:auto;display:block}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:.06em;text-decoration-color:var(--color-subtle);transition:color var(--duration-fast) var(--ease-out), text-decoration-color var(--duration-fast) var(--ease-out)}a:hover{color:var(--color-link);text-decoration-color:currentColor}a:focus-visible,button:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px;border-radius:2px}p,li,dd,figcaption{text-wrap:pretty}h1,h2,h3{font-family:var(--font-sans);letter-spacing:var(--tracking-heading);text-wrap:balance;font-weight:500}h1{font-size:var(--step-6);line-height:var(--leading-display);letter-spacing:var(--tracking-display)}h2{font-size:var(--step-4);line-height:var(--leading-heading)}h3{font-size:var(--step-2);line-height:var(--leading-heading)}ul,ol{padding-left:1.25rem}li+li{margin-top:var(--space-2xs)}li::marker{color:var(--color-subtle)}blockquote{margin:0}.severity-label{font-weight:600}.severity-label-high{color:var(--severity-high)}.severity-label-medium{color:var(--severity-medium)}.severity-label-low{color:var(--severity-low)}.container{width:100%;max-width:calc(12% + 1500px);padding-inline:var(--gutter);margin-inline:auto}.site-header{align-items:baseline;gap:var(--space-2xs);padding:var(--space-m) 0;border-bottom:1px solid var(--color-line);font-size:var(--step--1);line-height:var(--leading-snug);display:flex}.site-home-link{color:var(--color-text);font-weight:600;text-decoration:none}.site-home-link:hover{color:var(--color-link)}.site-role{color:var(--color-subtle);font-weight:400}.home-page{padding-bottom:var(--gutter)}.home-hero{padding:var(--space-xl) 0}.home-hero .hero-title,.home-hero .hero-intro{width:var(--w-lead)}.home-hero>*+*{margin-top:var(--space-m)}.hero-title{font-size:var(--step-7);line-height:var(--leading-display);letter-spacing:var(--tracking-display);text-wrap:pretty}.hero-title span{color:var(--color-accent)}.hero-intro{color:var(--color-muted);font-size:var(--step-1);line-height:1.6}.hero-intro a,.case-study-content a{color:var(--color-link);text-decoration-color:color-mix(in oklch, var(--color-link) 40%, transparent);font-weight:600}.hero-intro a:hover,.case-study-content a:hover{color:var(--color-link-strong);text-decoration-color:currentColor}.case-studies{display:grid}.case-study-shell{padding-bottom:var(--gutter)}.case-study-hero{padding-top:var(--space-xl)}.case-study-hero>*+*{margin-top:var(--space-m)}.case-study-hero h1,.case-study-hero .project-summary{width:var(--w-lead)}.case-study-content{padding-top:var(--space-media)}.case-study-content>:is(h2,h3,h4,p,ul,ol,blockquote){width:var(--w-prose)}.case-study-content>blockquote{width:var(--w-lead)}.case-study-content>:first-child{margin-top:0}.case-study-content h2{margin-top:var(--space-m)}.case-study-content :is(figure,.image-pair,div:has(video),blockquote)+h2,.case-study-content h3{margin-top:var(--space-xl)}.case-study-content p,.case-study-content ul,.case-study-content ol{margin-top:var(--space-m)}.case-study-content p,.case-study-content li{color:var(--color-text);font-size:var(--step-0);line-height:var(--leading-body)}.case-study-content strong{font-weight:600}.case-study-content figure:has(.is-portrait){width:var(--w-prose)}.case-study-content figure.figure-lead{width:var(--w-lead)}.case-study-content figure,.case-study-content .image-pair,.case-study-content>div:has(video){width:100%;margin-top:var(--space-media)}.case-study-content figure{gap:var(--space-xs);display:grid}.case-study-content figure img,.case-study-content video{background:0 0;border:0;width:100%;margin:0}.case-study-content figcaption,figcaption{color:var(--color-muted);font-size:var(--step--1);line-height:1.55}.case-study-content>figcaption{width:var(--w-prose);margin-top:var(--space-2xs)}.case-study-content figure figcaption{max-width:none}.case-study-content h2+h3{margin-top:var(--space-m)}.case-study-content h2+:is(p,ul,ol,blockquote){margin-top:var(--space-s)}.case-study-content h3+:is(p,ul,ol,blockquote){margin-top:var(--space-xs)}.case-study-content h2+:is(figure,.image-pair,div:has(video)){margin-top:var(--space-m)}.case-study-content h3+:is(figure,.image-pair,div:has(video)){margin-top:var(--space-s)}.case-study-content :is(figure,.image-pair,div:has(video),blockquote,figcaption)+:is(p,ul,ol){margin-top:var(--space-media)}.image-pair{gap:var(--grid-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.image-pair.prism-mobile-comparison{width:var(--w-lead);grid-template-columns:repeat(2,minmax(0,1fr));gap:4.786%}.case-study-content .image-pair.prism-mobile-comparison figure{width:100%}.image-pair figure{grid-column:auto;width:auto;margin:0}.case-study-content blockquote{margin-top:var(--space-xl);padding:var(--space-l) 0;border-top:1px solid var(--color-line-strong);border-bottom:1px solid var(--color-line-strong)}.case-study-content blockquote p{margin-top:var(--space-m);color:var(--color-text);font-family:var(--font-sans);font-size:var(--step-3);letter-spacing:-.012em;font-weight:500;line-height:1.35}.case-study-content blockquote>:first-child{margin-top:0}.case-study-content blockquote p:last-child:not(:only-child){font-family:var(--font-sans);font-size:var(--step--1);font-weight:400;line-height:var(--leading-snug);letter-spacing:0;color:var(--color-muted)}.case-study-content blockquote p:last-child:not(:only-child) strong{color:var(--color-text);font-weight:600}.case-study-content blockquote strong a{font-weight:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sr-only:focus,.skip-link:focus{z-index:10;clip:auto;width:auto;height:auto;color:var(--color-bg);background:var(--color-text);white-space:normal;border-radius:999px;margin:0;padding:.75rem 1rem;position:fixed;top:1rem;left:1rem;overflow:visible}@media (width<=1199px){:root{--w-lead:91.3%;--w-prose:82.6%}}@media (width<=980px){.home-hero{padding:var(--gutter) 0}.image-pair figure{grid-column:auto;width:auto;margin:0}}@media (width<=767px){:root{--w-lead:100%;--w-prose:100%}}@media (width<=575px){:root{--w-lead:100%;--w-prose:100%}}@media (width<=640px){:root{--gutter:1rem}.case-study-content{display:block}.case-study-content figure,.case-study-content .image-pair,.case-study-content>div:has(video),.case-study-content blockquote{width:100%}.image-pair.prism-mobile-comparison{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
