@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,p,ul,ol,dl,dd,blockquote{margin:0}button,input,textarea{font:inherit}button{color:inherit}}@layer base{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#202020;--muted:#666;--line:#dedede;--surface:#f5f5f5;--link-underline-size:2px}html{color:var(--ink);-webkit-text-size-adjust:100%;background:#fff;scroll-padding-top:2rem;font-family:Arial,Helvetica,sans-serif}body{-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.55}::selection{color:#fff;background:#222}a{color:inherit;text-decoration-thickness:var(--link-underline-size);text-underline-offset:.22em}a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}:focus-visible{outline-offset:5px;border-radius:1px;outline:2px solid #111}main:focus{outline:none}h1,h2,h3{font-weight:400}h1{letter-spacing:-.045em;text-wrap:balance;max-width:19ch;font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.12}h2{font-size:1rem;line-height:1.5}h3{letter-spacing:-.02em;font-size:1.2rem;line-height:1.4}p{text-wrap:pretty}p+p{margin-top:1.1rem}img{filter:grayscale();max-width:100%;height:auto}button{cursor:pointer}a,button{-webkit-tap-highlight-color:#ddd}[id]{scroll-margin-top:2rem}}@layer components{.site-shell{max-width:1120px;margin:0 auto;padding:0 48px}.site-header{justify-content:space-between;align-items:center;gap:24px;padding:30px 0;display:flex;position:relative}.wordmark{flex-shrink:0;align-items:center;margin:8px 0;text-decoration:none;display:inline-flex}.brand-logo{width:177.6px;height:auto;display:block}.site-header nav ul{gap:32px;padding:0;list-style:none;display:flex}.site-header nav a{align-items:center;margin:14px 0;font-size:15px;line-height:1;text-decoration:none;display:inline-flex}.mobile-navigation{display:none}.menu-toggle{cursor:pointer;align-items:center;gap:10px;padding:12px 0 12px 12px;font-size:16px;line-height:20px;list-style:none;display:flex}.menu-toggle::-webkit-details-marker{display:none}.menu-close,.mobile-navigation[open] .menu-bars{display:none}.mobile-navigation[open] .menu-close{display:block}.mobile-menu-panel{z-index:5;border:1px solid var(--line);background:#fff;padding:12px 24px;position:absolute;top:100%;left:0;right:0}.skip-link{color:#fff;z-index:10;background:#111;padding:12px 20px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.home-intro{padding:75px 0 80px}.home-intro h1{max-width:20ch}.home-intro .text-link{margin-top:44px}.home-about{letter-spacing:-.015em;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:32px;margin-bottom:96px;font-size:20px;line-height:1.5;display:grid}.home-about>p{grid-column:2;max-width:680px}.text-link{align-items:center;gap:6px;margin:34px 0 14px;line-height:1;display:inline-flex}.home-about .text-link{margin:0}.link-arrow,.link-location{width:12px;height:14px;color:inherit;vertical-align:-.125em;flex-shrink:0;transition:transform .16s ease-out;display:inline-block;transform:translateY(1px)}a:is(:hover,:focus-visible) .link-arrow{transform:translate(1px)}.link-location{width:14px;height:16px;margin-left:-1px;transform:translateY(0)}.section-grid{border-top:1px solid var(--line);grid-template-columns:1fr 2fr;gap:32px;padding:40px 0 64px;display:grid}.section-grid>h2{padding-top:4px}.section-content{min-width:0;max-width:680px}.section-content>p{max-width:61ch}.record-list{padding:0;list-style:none}.record-list li+li{border-top:1px solid var(--line)}.record-list li{padding:23px 0}.record-list li:first-child{padding-top:0}.record-link{justify-content:space-between;gap:24px;text-decoration:none;display:flex}.record-list li:first-child .record-link{padding-top:0}.record-link>.link-arrow{margin-top:5px}.record-link h3{background-image:linear-gradient(currentColor, currentColor), linear-gradient(var(--line), var(--line));background-position:0 100%;background-repeat:no-repeat;background-size:0% var(--link-underline-size), 100% var(--link-underline-size);transition:background-size .16s ease-out;display:inline}.record-link:is(:hover,:focus-visible) h3{background-size:100% var(--link-underline-size), 100% var(--link-underline-size)}.record-link p{color:var(--muted);max-width:56ch;margin-top:8px;font-size:16px}.record-meta{color:var(--muted);margin:8px 0;font-size:13px;display:block}.record-meta:first-child{margin:0 0 7px}.definition-list>div+div{margin-top:26px}.owned-app-description{margin-top:16px}.app-facts{flex-wrap:wrap;gap:20px 48px;margin-top:48px;display:flex}.app-facts dt{margin-bottom:4px}.app-links{flex-wrap:wrap;gap:0 32px;display:flex}.definition-list dt{margin-bottom:7px;font-size:18px}.definition-list dd{color:var(--muted);max-width:60ch}.questions h3{letter-spacing:0;font-size:17px}.question{border-bottom:1px solid var(--line)}.question:first-child{margin-top:-14px}.question-trigger{text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:24px;width:100%;min-height:56px;padding:17px 0;display:flex}.question-trigger:hover{text-underline-offset:4px;text-decoration:underline}.question-icon{flex-shrink:0;width:12px;height:12px;position:relative}.question-icon:before,.question-icon:after{content:"";background:currentColor;position:absolute}.question-icon:before{width:12px;height:1px;top:5px}.question-icon:after{width:1px;height:12px;left:5px}[data-panel-open] .question-icon:after{display:none}.question-panel{color:var(--muted);font-size:16px}.question-panel p{padding:0 30px 20px 0}.question-panel[hidden]:not([hidden=until-found]){display:none}.page-intro{padding:60px 0 80px}.eyebrow{color:var(--muted);margin-bottom:22px;font-size:14px}.intro-copy{max-width:660px;margin-top:30px;font-size:19px}.breadcrumbs{color:var(--muted);padding-top:22px;font-size:13px}.breadcrumbs ol{flex-wrap:wrap;gap:6px 12px;padding:0;list-style:none;display:flex}.breadcrumbs li+li:before{content:"/";color:#888;padding-right:12px}.breadcrumbs a{margin:8px 0;display:inline-block}.breadcrumbs span{padding:8px 0;display:inline-block}.reading-layout{grid-template-columns:1fr 2fr;gap:32px;padding-bottom:80px;display:grid}.article-info{color:var(--muted);font-size:14px}.article-info a{margin:5px 0;display:inline-block}.article-date{margin-top:16px;font-size:13px}.prose{overflow-wrap:anywhere;min-width:0;max-width:680px;line-height:1.75}.prose h2{letter-spacing:-.025em;margin:40px 0 14px;font-size:26px;line-height:1.3}.prose h3{margin:30px 0 12px;font-size:21px}.prose h4,.prose h5,.prose h6{margin:24px 0 10px;font-size:18px}.prose>:first-child{margin-top:0}.prose ul,.prose ol{margin:20px 0;padding-left:24px}.prose li+li{margin-top:10px}.prose blockquote{border-left:2px solid #222;margin:32px 0;padding-left:24px}.prose pre{background:var(--surface);padding:20px;font-size:14px;overflow-x:auto}.prose code{font-size:.9em}.prose img{margin:28px 0;display:block}.blog-article .prose img{filter:none;width:100%;height:auto}.topic-links{flex-wrap:wrap;gap:8px 20px;margin-top:24px;font-size:14px;display:flex}.topic-links a{align-items:center;margin:14px 0;line-height:1;display:inline-flex}.project-facts>div{margin-bottom:22px}.project-body{min-width:0}.project-gallery{max-width:680px;margin-bottom:40px}.gallery-track{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;display:flex;overflow-x:auto}.gallery-slide{aspect-ratio:16/10;scroll-snap-align:start;background:var(--surface);flex:0 0 100%;min-width:0;margin:0}.gallery-slide img{object-fit:contain;filter:none;width:100%;height:100%;display:block}.gallery-controls{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;font-size:14px;display:flex}.gallery-controls button{border:1px solid var(--line);background:#fff;padding:6px 12px}.gallery-controls button:hover:not(:disabled){border-color:var(--ink)}.gallery-controls button:disabled{color:var(--muted);cursor:default}.project-facts dt{color:var(--muted);font-size:13px}.project-facts dd{margin-top:4px}.quote{border-top:1px solid var(--line);margin-top:48px;padding-top:28px}.quote blockquote{letter-spacing:-.02em;font-size:22px;line-height:1.5}.quote figcaption{color:var(--muted);margin-top:20px;font-size:14px}.contact-email{letter-spacing:-.035em;overflow-wrap:anywhere;font-size:clamp(1.4rem,4vw,2.2rem)}.site-footer{border-top:1px solid var(--line);grid-template-columns:1fr 2fr;gap:32px;padding:38px 0 44px;font-size:14px;display:grid}.footer-brand{align-items:center;margin:8px 0;text-decoration:none;display:inline-flex}.footer-brand .brand-logo{width:148.8px}.site-footer p{color:var(--muted)}.footer-company{color:var(--muted);grid-template-columns:max-content max-content;gap:16px 32px;margin-top:16px;padding-top:8px;display:grid}.footer-company address{font-style:normal}.footer-company strong{color:inherit;grid-column:1/-1;font-weight:400}.site-footer .copyright{margin-top:24px;font-size:12px}.site-footer nav{flex-wrap:wrap;align-content:flex-start;gap:4px 28px;display:flex}.site-footer nav a{align-items:center;gap:6px;margin:14px 0;line-height:1;display:inline-flex}:is(.text-link,.site-header nav a,.site-footer nav a){text-decoration:none;position:relative}:is(.text-link,.site-header nav a,.site-footer nav a):before,:is(.text-link,.site-header nav a,.site-footer nav a):after{content:"";width:100%;height:var(--link-underline-size);pointer-events:none;position:absolute;bottom:-3px;left:0}:is(.text-link,.site-header nav a,.site-footer nav a):before{background:var(--line)}:is(.text-link,.site-header nav a,.site-footer nav a):after{z-index:1;background:currentColor;width:0;transition:width .16s ease-out}:is(.text-link,.site-header nav a,.site-footer nav a):is(:hover,:focus-visible,[aria-current]):after{width:100%}.home-page{font-size:1rem;line-height:1.5}.home-page :is(h2,h3,.record-link p){font-size:inherit;line-height:inherit;letter-spacing:normal;color:inherit}.home-page :is(h3,dt){font-weight:600}.home-page .owned-app h3{letter-spacing:-.02em;font-size:22px;font-weight:400;line-height:1.2;position:relative}.whisk-icon{filter:none;width:28px;height:28px;transition:rotate .18s ease-out;position:absolute;top:50%;right:calc(100% + 12px);transform:translateY(-50%)}@media (hover:hover) and (prefers-reduced-motion:no-preference){.whisk-icon:hover{rotate:-6deg}}.home-page .section-grid{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.home-page .section-grid>h2{font-size:inherit;color:inherit;padding-top:0}.home-page :is(.section-content>p,.record-link p){max-width:none}.site-shell:has(.home-page) :is(.site-header nav a,.site-footer,.copyright){color:var(--ink);font-size:1rem;line-height:1.5}.site-shell:has(.home-page) .site-footer p{color:inherit}.site-shell:has(.home-page) :is(.site-header nav a,.site-footer nav a){line-height:1}@media (min-width:761px){.site-footer{row-gap:16px}.footer-identity{display:contents}.footer-brand{justify-self:start}.site-footer nav{grid-area:1/2}.footer-company{grid-column:1/-1;grid-template-columns:1fr max-content;margin-top:0}.site-footer .copyright{grid-column:1/-1;margin-top:8px}}@media (max-width:760px){.site-shell{padding:0 24px}.site-header{align-items:center;column-gap:16px;padding:20px 0}.site-header nav .desktop-navigation{display:none}.mobile-navigation{display:block}.site-header .mobile-menu-panel ul{flex-direction:column;gap:0}.home-intro{padding:39px 0 46px}.home-about{grid-template-columns:1fr;margin:0 0 60px;font-size:19px}.home-about>p{grid-column:1}.home-page .section-grid{grid-template-columns:1fr}.home-page .owned-app h3{align-items:center;gap:12px;display:flex}.whisk-icon{flex-shrink:0;position:static;transform:none}.section-grid,.reading-layout{grid-template-columns:1fr;gap:28px}.section-grid{padding:28px 0 44px}.section-grid>h2{color:var(--muted);font-size:14px}.page-intro{padding:40px 0 48px}.intro-copy{font-size:18px}.article-info{border-bottom:1px solid var(--line);padding-bottom:22px}.site-footer{grid-template-columns:1fr;gap:24px}.site-footer nav{gap:2px 24px}.project-facts{flex-wrap:wrap;gap:12px 32px;display:flex}.breadcrumbs{padding-top:10px}}@media (max-width:480px){.footer-company{grid-template-columns:1fr}}@media (max-width:360px){.wordmark .brand-logo{width:134.4px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (forced-colors:active){:is(.text-link,.site-header nav a,.site-footer nav a),.record-link h3{text-decoration:underline}.question-icon:before,.question-icon:after{background:buttontext}}@media print{.site-header,.site-footer,.skip-link,.breadcrumbs{display:none}.site-shell{padding:0}.reading-layout{display:block}.article-info{margin-bottom:24px}.prose{max-width:none}.question-panel[hidden]{display:block}}}
