.page{isolation:isolate;flex:1 0 auto;padding:0 24px 32px}.column{max-width:var(--column);flex-direction:column;margin:0 auto;display:flex}.skip-link{background:var(--ink);color:var(--ground);z-index:10;padding:8px 16px;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.identity{flex-direction:column;align-items:flex-start;gap:24px;display:flex}.identity__name{letter-spacing:-.025em;color:var(--ink);font-size:32px;font-weight:600;line-height:1.25}.about{text-wrap:pretty;flex-direction:column;gap:12px;margin-top:24px;font-size:15.5px;line-height:1.7;display:flex}.about strong{color:var(--ink);font-weight:500}.inline-brand{color:var(--ink);align-items:baseline;gap:6px;font-weight:500;text-decoration:none;display:inline-flex}.inline-brand img{object-fit:contain;border-radius:3px;align-self:center}.inline-brand:hover{color:var(--link-hover);text-underline-offset:3px;text-decoration:underline}.directory{flex-direction:column;gap:24px;margin-top:32px;display:flex}.directory__tabs{isolation:isolate;border:1px solid var(--rule);background:#f7f7f6;border-radius:12px;flex-wrap:wrap;align-self:flex-start;gap:2px;padding:4px;display:flex;position:relative}.directory__filter{pointer-events:none;width:0;height:0;position:absolute}.directory__highlights{z-index:-1;pointer-events:none;position:absolute;inset:0}.directory__highlight{width:var(--highlight-width);height:var(--highlight-height);transform:translate(var(--highlight-x),var(--highlight-y));background:#fff;border-radius:8px;transition:transform .24s cubic-bezier(.23,1,.32,1),width .24s cubic-bezier(.23,1,.32,1),height .24s cubic-bezier(.23,1,.32,1);position:absolute;top:0;left:0}.directory__tab{font:inherit;color:var(--ink-body);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:500;line-height:18px}.directory__tab[aria-selected=true],.directory__tab:hover{color:var(--ink)}.directory__list{margin:0;padding:0;list-style:none}.entry{color:inherit;border-radius:12px;align-items:flex-start;gap:14px;margin-inline:-8px;padding:16px 8px;text-decoration:none;display:flex}.entry:hover,.entry:focus-visible{background:#f7f7f6}.entry:hover .entry__arrow{transform:translate(2px,-2px)}.entry__logo{flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;padding:6px;display:flex;overflow:hidden}.entry__logo img{object-fit:contain;border-radius:4px;width:100%;height:100%}.entry__logo img[src="/logos/kirkland.png"]{object-fit:cover;object-position:left}.entry__text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.entry__title{color:var(--ink);font-size:14px;font-weight:600;line-height:21px}.entry__institution{color:var(--ink-body);font-size:12px;font-weight:400}.entry__arrow{color:#9d9c98;margin-left:5px;font-size:14px;font-weight:400;transition:transform .15s;display:inline-block}.entry__summary{text-wrap:pretty;font-size:13.5px;line-height:1.6}.entry__date{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;flex-shrink:0;padding-top:2px;font-size:12px;line-height:20px}.contact{flex-direction:column;align-items:flex-start;gap:20px;margin-top:64px;padding-top:32px;display:flex}.contact h2{color:var(--ink);font-size:14px;font-weight:600;line-height:22px}.contact p{text-wrap:pretty;font-size:13.5px;line-height:22px}.contact a{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.contact a:hover{text-decoration-thickness:2px}.site-footer{width:100%;max-width:calc(var(--column) + 48px);padding-inline:24px;color:#7b7b77;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding-top:80px;padding-bottom:40px;font-size:12px;line-height:20px;display:flex}.site-footer nav{gap:20px;display:flex}.site-footer a{color:inherit;text-decoration:none}.site-footer a:hover{color:var(--link-hover)}.site-nav{z-index:10;background:color-mix(in srgb,var(--ground)86%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--rule);margin:0 -24px 32px;padding:14px 24px;font-size:14px;line-height:20px;position:sticky;top:0}.site-nav a{color:var(--ink-body);text-decoration:none}.site-nav a:hover{color:var(--link-hover)}.site-nav__inner{max-width:var(--column);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px;margin:0 auto;display:flex}.site-nav__crumbs{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.site-nav__crumbs [aria-current]{color:var(--ink)}.site-nav__sep{color:#c4c3bf}.site-nav__sections{gap:16px;display:flex}.scroll-top{z-index:10;border:1px solid var(--rule);width:40px;height:40px;color:var(--ink);font:inherit;cursor:pointer;opacity:0;pointer-events:none;background:#fff;border-radius:999px;place-items:center;font-size:16px;transition:opacity .16s,transform .2s cubic-bezier(.23,1,.32,1);display:grid;position:fixed;bottom:24px;right:24px;transform:translateY(8px);box-shadow:0 1px 2px #0000000f,0 8px 20px #00000014}.scroll-top[data-visible=true]{opacity:1;pointer-events:auto;transform:none}.scroll-top:hover{background:var(--hover-bg)}.cs-related{margin-top:var(--step-6);border-top:1px solid var(--rule);padding-top:32px}.cs-related__heading{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-body);margin:0 0 16px;font-size:13px;font-weight:500}.cs-related__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.cs-related__link{border:1px solid var(--rule);border-radius:12px;flex-direction:column;gap:6px;height:100%;padding:14px 16px;text-decoration:none;transition:background-color .12s;display:flex}.cs-related__link:hover{background:var(--hover-bg)}.cs-related__link:hover .cs-related__title{color:var(--link-hover)}.cs-related__type{color:var(--ink-body);font-size:12px}.cs-related__title{color:var(--ink);font-weight:500;transition:color .12s}.cs-related__reason{color:var(--ink-body);font-size:14px;line-height:1.5}@media (max-width:639px){.cs-related__list{grid-template-columns:minmax(0,1fr)}}.cs-pager{margin-top:var(--step-6);border-top:1px solid var(--rule);grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:32px;display:grid}.cs-pager__link{border:1px solid var(--rule);border-radius:12px;flex-direction:column;gap:4px;padding:14px 16px;text-decoration:none;transition:background-color .12s;display:flex}.cs-pager__link:hover{background:var(--hover-bg)}.cs-pager__link:hover .cs-pager__title{color:var(--link-hover)}.cs-pager__link--next{text-align:right}.cs-pager__label{color:var(--ink-body);font-size:13px}.cs-pager__title{color:var(--ink);font-weight:500;transition:color .12s}.cs-pager__all{color:var(--ink-body);align-self:center;margin-top:24px;font-size:14px}.cs-pager__all:hover{color:var(--link-hover)}@media (max-width:639px){.page{padding:0 20px 24px}.identity__name{font-size:26px}.about{font-size:16px}.entry{grid-template-columns:40px minmax(0,1fr);gap:4px 14px;display:grid}.entry__logo{grid-row:1/3}.entry__date{text-align:left;grid-column:2}.entry:not(:has(.entry__logo)){grid-template-columns:minmax(0,1fr)}.entry__summary{font-size:14px}.directory__tab{padding:8px 10px}.contact{margin-top:40px}.site-footer{padding-top:56px;padding-inline:20px}}.case-study-page{padding:0 24px var(--step-6);flex:1 0 auto}.case-study-shell{gap:var(--step-4);max-width:var(--column);flex-direction:column;margin:0 auto;display:flex}.case-studies-hero{flex-direction:column;gap:10px;display:flex}.case-studies-title{letter-spacing:-.02em;color:var(--ink);font-family:PortfolioSerif,Georgia,serif;font-size:40px;font-weight:400;line-height:46px}.case-studies-intro{text-wrap:pretty}.uses-list{flex-direction:column;gap:24px;margin:24px 0 0;padding:0;list-style:none;display:flex}.uses-item{align-items:flex-start;gap:14px;display:flex}.uses-item a{color:var(--ink);text-underline-offset:3px;font-weight:500;-webkit-text-decoration:underline #12121233;text-decoration:underline #12121233}.uses-item a:hover{color:var(--link-hover);text-decoration-color:currentColor}.uses-item p{text-wrap:pretty;margin-top:2px}.uses-item__logo{object-fit:contain;outline:1px solid var(--rule);outline-offset:-1px;border-radius:6px;flex:none;margin-top:1px}.uses-item__text{min-width:0}.case-studies-panels{flex-direction:column;gap:40px;display:flex}.case-study-panel__surface{gap:var(--step-1);border-radius:var(--radius);min-height:48px;color:inherit;background-color:#0000;flex-direction:column;margin-inline:-12px;padding:12px;text-decoration:none;transition:background-color .12s;display:flex}.case-study-panel__surface:hover,.case-study-panel__surface:focus-visible{background-color:var(--hover-bg)}.case-study-panel__surface:active{background-color:var(--active-bg)}.case-study-panel__surface:focus-visible{outline-offset:1px}.case-study-panel__body{gap:var(--step-1);flex-direction:column;display:flex}.case-study-panel__meta{color:var(--ink-body);flex-wrap:wrap;gap:4px 12px;display:flex}.case-study-panel__meta strong{font-weight:500}.case-study-panel__cover{aspect-ratio:2;border-radius:6px;place-items:center;margin-bottom:10px;display:grid;position:relative;overflow:hidden}.case-study-panel__cover img{object-fit:cover;transition:transform .4s cubic-bezier(.23,1,.32,1)}.case-study-panel__surface:hover .case-study-panel__cover img{transform:scale(1.03)}.case-study-panel__title{letter-spacing:-.01em;color:var(--ink);font-family:PortfolioSerif,Georgia,serif;font-size:24px;font-weight:400;line-height:30px}.case-study-panel__summary{text-wrap:pretty}.case-study-panel__read{color:var(--ink);text-underline-offset:3px;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:color .12s,text-decoration-color .12s}.case-study-panel__read-arrow{margin-left:.4em;transition:transform .2s cubic-bezier(.23,1,.32,1);display:inline-block}.case-study-panel__surface:hover .case-study-panel__read,.case-study-panel__surface:focus-visible .case-study-panel__read{color:var(--link-hover);text-decoration-color:currentColor}.case-study-panel__surface:hover .case-study-panel__read .case-study-panel__read-arrow,.case-study-panel__surface:focus-visible .case-study-panel__read .case-study-panel__read-arrow{transform:translate(3px)}.case-studies-panels--grid,.case-studies-panels--rows{align-self:center;width:min(960px,100vw - 48px)}.case-studies-panels--grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px;display:grid}.case-studies-panels--grid .case-study-panel__surface{height:100%}.case-studies-panels--grid .case-study-panel__cover{aspect-ratio:16/10}.case-studies-panels--grid .case-study-panel__title{font-size:21px;line-height:27px}.case-studies-panels--grid .case-study-panel__summary{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.case-studies-panels--grid .case-study-panel__read{margin-top:auto}.case-studies-panels--grid .case-study-panel__body{flex:1}.case-studies-panels--rows{gap:24px}.case-studies-panels--rows .case-study-panel__surface{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:32px;display:grid}.case-studies-panels--rows .case-study-panel__cover{aspect-ratio:4/3;margin-bottom:0}.case-studies-panels--rows .case-study-panel__title{font-size:30px;line-height:36px}@media (max-width:700px){.case-studies-panels--grid{grid-template-columns:minmax(0,1fr)}.case-studies-panels--rows .case-study-panel__surface{grid-template-columns:minmax(0,1fr);gap:12px}.case-study-page{padding:0 20px var(--step-5)}.case-studies-title{font-size:28px;line-height:34px}}.cs-page{--cs-accent:var(--link-hover);--cs-column:640px;--cs-wide:960px;--cs-serif:"PortfolioSerif","Iowan Old Style",Georgia,serif;padding:0 24px var(--step-7);flex:1 0 auto}.cs-rail{flex-direction:column;gap:120px;width:200px;font-size:14px;line-height:20px;display:flex;position:fixed;top:96px;bottom:40px;left:32px}.cs-rail__list{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.cs-rail__link{color:#9d9c98;text-decoration:none;transition:color .16s;display:block;position:relative}.cs-rail__link:hover{color:var(--link-hover)}.cs-rail__link:before{content:"";background:var(--cs-accent);width:5px;height:5px;transition:transform .2s cubic-bezier(.23,1,.32,1);position:absolute;top:50%;left:-12px;transform:translateY(-50%)scale(0)}.cs-rail__link[aria-current=location]{color:var(--cs-accent)}.cs-rail__link[aria-current=location]:before{transform:translateY(-50%)scale(1)}.cs-article{max-width:var(--cs-column);flex-direction:column;margin:0 auto;display:flex}.cs-cover{width:min(var(--cs-wide),100vw - 48px);aspect-ratio:16/9;align-self:center;place-items:center;margin-top:80px;display:grid;position:relative;overflow:hidden}.cs-cover img{object-fit:cover}.cs-cover__title{letter-spacing:-.035em;text-align:center;text-wrap:balance;padding:0 24px;font-size:clamp(32px,6vw,64px);font-weight:600;line-height:1.05;position:relative}.cs-cover--dark .cs-cover__title{color:#fffdfa;text-shadow:0 1px 2px #0000001f,0 2px 40px #00000040}.cs-cover--light .cs-cover__title{color:var(--ink)}.cs-header{flex-direction:column;gap:12px;padding-top:72px;scroll-margin-top:40px;display:flex}.cs-label{color:#8a8986;font-size:14px;line-height:20px}.cs-title,.cs-section__heading{font-family:var(--cs-serif);color:var(--ink);text-wrap:balance;font-weight:400}.cs-title{letter-spacing:-.02em;font-size:46px;line-height:52px}.cs-lede{text-wrap:pretty;max-width:560px;font-size:17px;line-height:28px}.cs-meta{border-bottom:1px solid var(--rule);grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:36px 0 0;padding-bottom:48px;font-size:14px;line-height:21px;display:grid}.cs-meta dt{color:#8a8986}.cs-meta dd{color:var(--ink);text-wrap:pretty;margin:6px 0 0}.cs-meta__links{flex-direction:column;display:flex}.cs-meta__links a{color:var(--ink);text-underline-offset:3px;align-self:flex-start;-webkit-text-decoration:underline #12121233;text-decoration:underline #12121233}.cs-meta__links a:hover{color:var(--link-hover);text-decoration-color:currentColor}.cs-meta__stack{flex-wrap:wrap;gap:2px 12px;display:flex}.brand-mark{color:var(--ink);align-items:center;gap:6px;display:inline-flex}.brand-mark__icon{object-fit:contain;border-radius:3px;flex:none}.cs-highlights{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:40px 0 0;font-size:15px;line-height:23px;display:grid}.cs-highlights dt{color:var(--ink);font-weight:500}.cs-highlights dd{text-wrap:pretty;margin:6px 0 0}.cs-figure{width:min(var(--cs-wide),100vw - 48px);outline:1px solid var(--rule);outline-offset:-1px;background:radial-gradient(120% 90% at 50% 0,#fff 0%,#f1f0ee 100%);border-radius:20px;align-self:center;margin-top:72px;padding:clamp(24px,6vw,64px)}.cs-figure__frame{aspect-ratio:4/3;border-radius:12px;max-width:760px;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 1px 2px #0000000f,0 24px 48px -24px #00000040}.cs-figure__frame img{object-fit:cover}.cs-body{flex-direction:column;gap:96px;margin-top:96px;display:flex}.cs-section{flex-direction:column;scroll-margin-top:40px;display:flex}.cs-section__heading{letter-spacing:-.015em;margin-top:8px;font-size:30px;line-height:38px}.cs-section__body{flex-direction:column;gap:18px;margin-top:24px;display:flex}.cs-section__body p{text-wrap:pretty}.cs-section__body em{color:var(--ink);font-style:italic}.cs-section__body code{color:var(--ink);background:#f1f0ee;border-radius:4px;padding:1px 5px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.86em}.cs-chip{color:#4a473f;white-space:nowrap;-webkit-box-decoration-break:clone;box-decoration-break:clone;background:#efece6;border-radius:6px;padding:1px 7px;font-size:.9em}.cs-chip--good{color:#23663f;background:#dcefe3}.cs-chip--bad{color:#8a3a3a;background:#f3dcdc;-webkit-text-decoration:line-through #8a3a3a80;text-decoration:line-through #8a3a3a80}.cs-media{width:min(var(--cs-wide),100vw - 48px);align-self:center;gap:16px;margin-block:28px;display:grid}.cs-media--pair{grid-template-columns:repeat(2,minmax(0,1fr))}.cs-media__item{flex-direction:column;gap:12px;display:flex}.cs-media__item figcaption{color:#8a8986;text-wrap:pretty;font-size:13px;line-height:20px}.cs-media__item figcaption a{color:inherit;text-underline-offset:3px;-webkit-text-decoration:underline #8a898666;text-decoration:underline #8a898666}.cs-media__item figcaption a:hover{color:var(--link-hover);text-decoration-color:currentColor}.cs-media__frame{aspect-ratio:16/9;background:#f1f0ee;border-radius:10px;position:relative;overflow:hidden}.cs-media__frame img{object-fit:cover}.cs-media--pair .cs-media__frame{aspect-ratio:4/3}.cs-callout{background:#f6f5f2;border-radius:14px;grid-template-columns:160px minmax(0,1fr);align-items:center;gap:24px;margin-block:12px;padding:16px;display:grid}.cs-callout blockquote{margin:0}.cs-callout blockquote p{color:var(--ink);text-wrap:pretty;font-family:PortfolioSerif,Georgia,serif;font-size:21px;line-height:30px}.cs-callout figcaption{color:#8a8986;margin-top:12px;font-size:13px;line-height:20px}.cs-callout figcaption a{color:inherit;text-underline-offset:3px;-webkit-text-decoration:underline #8a898666;text-decoration:underline #8a898666}.cs-callout figcaption a:hover{color:var(--link-hover);text-decoration-color:currentColor}.cs-callout__frame{aspect-ratio:3/4;background:#f1f0ee;border-radius:10px;position:relative;overflow:hidden}.cs-callout__frame img{object-fit:cover}@media (min-width:1240px){.cs-cover,.cs-figure,.cs-media{width:min(var(--cs-wide),100vw - 520px)}}@media (max-width:1239px){.cs-rail{display:none}.cs-cover{margin-top:0}}@media (max-width:700px){.cs-page{padding:0 20px var(--step-5)}.site-nav{margin-inline:-20px;padding-inline:20px}.site-nav__sections{display:none}.site-nav__crumbs{white-space:nowrap;flex-wrap:nowrap}.site-nav__crumbs [aria-current]{text-overflow:ellipsis;overflow:hidden}.cs-cover{aspect-ratio:4/3;width:calc(100vw - 40px)}.cs-title{font-size:34px;line-height:40px}.cs-section__heading{font-size:25px;line-height:32px}.cs-meta{grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:36px}.cs-highlights{grid-template-columns:minmax(0,1fr);gap:20px}.cs-figure{border-radius:14px;width:calc(100vw - 40px)}.cs-media{width:calc(100vw - 40px);margin-block:16px}.cs-media--pair,.cs-callout{grid-template-columns:minmax(0,1fr)}.cs-callout__frame{aspect-ratio:4/3}.cs-body{gap:72px;margin-top:72px}}
