:root{--ff-sans: -apple-system, BlinkMacSystemFont, "SF Pro", "Helvetica Neue", "Helvetica", 
    "Arial", "Roboto", "Ubuntu", "Segoe UI", "Fira Sans", "Droid Sans", 
    sans-serif;--ff-serif: "Ivy Journal", "Adobe Caslon Pro", "Goudy Old Style", 
    "Athelas", "Californian FB", "Georgia Pro", Georgia,
    serif;--ff-disp: "SangBleu Empire", "F37 Bella", "acta-display", "Questa Grande", "QuestaGrande", 
    "Didot", "Didonesque", "Georgia Pro", Georgia, serif;--ff-disp-sm: "SangBleu Kingdom", "Questa", "Georgia Pro", Georgia, serif;--ff-garamond: "Adobe Garamond Pro", "Adobe Garamond", "EB Garamond", Garamond, serif;--ff-helvetica: "Helvetica Neue", "Helvetica", Arial, sans-serif;--f-14: 0.875rem;--f-16:     1rem;--f-20:  1.25rem;--f-24:   1.5rem;--f-32:     2rem;--f-48:     3rem;--f-60:  3.75rem;--f-72:   4.5rem;--f-96:     6rem;--f-sml:  var(--f-14);--f-med:  var(--f-16);--f-semi: var(--f-20);--f-lrg:  var(--f-20);--f-xlg:  var(--f-24);--f-2xl:  var(--f-24);--f-hero: var(--f-24);--f-xhr:  var(--f-32);--f-2xh:  var(--f-32);--unit:  0.625rem;--u2: calc(2 * var(--unit));--u4: calc(4 * var(--unit));--u6: calc(6 * var(--unit));--u8: calc(8 * var(--unit));--u10: calc(10 * var(--unit));--u12: calc(12 * var(--unit));--u16: calc(16 * var(--unit));--s1: var(--u2);--s2: var(--u4);--s3: var(--u4);--s4: var(--u8);--grey0: #111;--grey1: #333;--grey2: #5a5a5a;--grey3: #b2b2b2;--grey4: #d0d0d0;--grey5: #f6f6f6;--greyt: rgba(80,80,80,0.5);--gold-dim:    #3d3300;--gold-dark:   #a58e19;--gold-bright: #FFD81E;--gold-light:  #E5CF67;--fg:    #514841;--fg-en: #352c26;--fg-em: #261f2e;--fg-dm: #e5ded8;--bg:    #f4f0ed;--fc:    #c6a6df;--ac:    #edad6a}@media (min-width: 480px){:root{--f-lrg:  var(--f-24);--f-xlg:  var(--f-32);--f-hero: var(--f-48);--f-xhr:  var(--f-48);--f-2xh:  var(--f-60)}}@media (min-width: 768px){:root{--f-2xl:  var(--f-32)}}@media (min-width: 1044px){:root{--f-hero: var(--f-48);--f-xhr:  var(--f-60);--f-2xh:  var(--f-72)}}@media (min-width: 1440px){:root{--f-2xl:  var(--f-48);--f-hero: var(--f-60);--f-xhr:  var(--f-72);--f-2xh:  var(--f-96)}}@media (min-width: 480px){:root{--s1: var(--u4);--s3: var(--u6)}}@media (min-width: 768px){:root{--s2: var(--u8);--s4: var(--u12)}}@media (min-width: 1044px){:root{--s3: var(--u10)}}@media (min-width: 1440px){:root{--s4: var(--u16)}}@media only screen and (prefers-color-scheme: dark){:root{--fg:    #8c929e;--fg-en: #9b9fa7;--fg-em: #ded1ca;--fg-dm: #26252c;--bg:    #121517;--fc:    #2d3554;--ac:    #326AB3}}*{box-sizing:border-box}*:focus{background-color:var(--fc);box-shadow:0 0 0 var(--unit) var(--fc);outline:none}body,h1,h2,h3,h4,h5,h6,p,blockquote,pre,hr,dl,dd,ol,ul,figure{margin:0;padding:0}html{font-size:16px}@media (min-width: 2000px){html{font-size:18px}}@media (min-width: 2800px){html{font-size:20px}}@media only print{html{font-size:11pt}}body{font-family:var(--ff-sans);line-height:1.5;color:var(--fg);background-color:var(--bg);font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"pnum" 1,"tnum" 0,"onum" 1,"lnum" 0,"dlig" 0;font-kerning:normal;text-rendering:optimizeSpeed;position:relative;max-width:100vw;overflow-x:hidden}@media only screen and (prefers-color-scheme: dark){body::before{content:'';position:absolute;top:0px;right:0px;bottom:0px;left:0px;opacity:0.5;background-image:url("/images/sparkle.webp");background-size:auto}}@media only screen and (prefers-reduced-motion){body::before{background-image:none}}.inverted{color:white;background-color:black}.inverted .inverted{color:black;background-color:white}.hidden{position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip-path:polygon(0% 0%)}@media print{body{color:black !important;background-color:white;background-image:none}.no-print{display:none}}img{max-width:100%;vertical-align:middle;color:transparent}@media only screen and (prefers-color-scheme: dark){img{filter:contrast(0.8)}}.difference{mix-blend-mode:difference}figure{break-inside:avoid}figure>img{display:block;margin:0 auto}figure figcaption{font-size:var(--f-sml);max-width:100%;margin-top:1em}video:focus{background-color:black}.nls{list-style:none;padding:0;margin:0}.sans,article h2,article h3,article h4,article h5,article h6,.title-the-big,.title-the-mead,.title-the-small{font-family:var(--ff-sans)}.serif,.easyread{font-family:var(--ff-serif)}.display{font-family:var(--ff-disp-sm)}@media (min-width: 1044px){.display{font-family:var(--ff-disp)}}.garamond,.byline,.magazine{font-family:var(--ff-garamond)}.helvetica,.logo{font-family:var(--ff-helvetica)}.throwback{font-family:'Comic Sans MS', sans-serif}.thin{font-weight:100}@media (max-width: 768px){.thin{font-weight:300}}.light,.title-the-big,.title-the-mead,.title-the-small{font-weight:200}@media (max-width: 480px){.light,.title-the-big,.title-the-mead,.title-the-small{font-weight:300}}.regular,article h2,article h3,article h4,article h5,article h6{font-weight:400}i,em,.italic,.byline{font-style:italic}.em{color:var(--fg-em)}b,strong,.bold{font-weight:600}.thicc{font-weight:800}.heavy{font-weight:900}small,.small,.smallcaps,.smallcaps-tight,.f-sml{font-size:var(--f-sml)}.f-med{font-size:var(--f-med)}.f-semi,.books figcaption,.albums figcaption{font-size:var(--f-semi)}@media only print{.f-semi,.books figcaption,.albums figcaption{font-size:9pt}}.f-lrg,.title,.quotemarks,.title-the-small,.books figcaption b,.albums figcaption b{font-size:var(--f-lrg)}.f-xlg,.title-the-mead{font-size:var(--f-xlg)}.f-2xl{font-size:var(--f-2xl);line-height:1.25}.f-hero,.title-the-big{font-size:var(--f-hero);line-height:1.25}@media (min-width: 480px){.f-hero,.title-the-big{line-height:1}}@media (orientation: portrait){.f-hero,.title-the-big{font-size:var(--f-xhr)}}@media only print{.f-hero,.title-the-big{font-size:var(--f-60);margin:10pt 0}}.f-xhr{font-size:var(--f-xhr);line-height:1.25}@media (min-width: 480px){.f-xhr{line-height:1}}.f-2xh{font-size:var(--f-2xh);line-height:1.25}@media (min-width: 480px){.f-2xh{line-height:1}}.spaced-sm,.projects p{letter-spacing:0.075em}.spaced,.caps,.smallcaps,.firstline-caps::first-line,.projects h3,nav,footer,article h2,article h3,article h4,article h5,article h6,.title-the-big,.title-the-mead,.title-the-small{letter-spacing:0.125em}.spaced-lg{letter-spacing:0.25em}.tight{letter-spacing:-0.02em}.black{color:black}.white{color:white}.grey{color:var(--grey3)}.text-center{text-align:left}@media (min-width: 480px){.text-center{text-align:center}}.text-justify{text-align:justify}.text-right{text-align:right}.caps,.smallcaps,.firstline-caps::first-line,.projects h3,nav,footer,article h2,article h3,article h4,article h5,article h6,.title-the-big,.title-the-mead,.title-the-small{text-transform:uppercase}.caps-tight{text-transform:uppercase}.smallcaps-tight{text-transform:uppercase}.drop-cap{--x-height-multiplier: 0.33;--baseline-multiplier: 0.22;display:block;position:relative;float:left;font-weight:700;font-family:var(--ff-disp);margin-top:0em;padding-right:0.1em;line-height:0.6;font-size:var(--f-2xh)}@media print{.drop-cap{font-size:4em}}.firstline-caps::first-line{display:inherit}.point{position:relative}.point::before{content:'→';position:absolute;top:0;left:calc(-1 * var(--u4))}h1,h2,h3,h4,blockquote,.display,.drop-cap{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}blockquote{font-family:var(--ff-garamond)}.sneakylink,.logo,.text-ruled,.nav-item,.projects a,footer a{text-decoration:none;background-image:none}.text-col-1,.text-col-2,.text-col-3{column-count:1;line-height:1.7;margin-bottom:0.5em}.text-col-1 p:first-child,.text-col-2 p:first-child,.text-col-3 p:first-child{margin-top:0}@media (min-width: 768px){.text-col-2,.text-col-3{column-count:2}}@media (min-width: 1044px){.text-col-3{column-count:3}}a{color:var(--fg);text-decoration:none;background-color:transparent;background-image:-webkit-linear-gradient(transparent -300%, currentColor 600%);background-image:linear-gradient(transparent -300%, currentColor 600%);text-decoration:none;background-repeat:no-repeat;background-size:100% 1px;background-position:0 100%;transition:all 0.2s ease-in-out}@media only screen and (prefers-reduced-motion){a{transition:none}}a:hover{color:var(--fg-em)}@media print{a[href]:after{content:" (" attr(href) ") ";overflow-wrap:anywhere}}.inverted a{color:var(--grey4)}.inverted a:hover{color:white}.inverted .inverted a{color:var(--grey2)}.inverted .inverted a:hover{color:black}.byline{color:var(--fg-em)}.intro{font-size:var(--f-hero);color:var(--fg-em);margin-top:var(--u4);line-height:1.33}.title{font-family:var(--ff-garamond);font-style:italic;font-weight:500}.title::after{content:'—'}.projects h3{font-size:var(--f-med);font-weight:400}.projects p{line-height:1.75}@media (min-width: 2000px){.projects p{font-weight:300}}.projects em{font-style:normal;color:var(--fg-em)}.nav-item.active{font-weight:900}article{color:var(--fg-en);text-rendering:optimizeLegibility}article h1,article h2,article h3,article h4,article h5,article h6{color:var(--fg-em);break-after:avoid-page}article h2,article h3,article h4,article h5,article h6{margin-top:2em}article p{orphans:2;widows:2}article p.caps,article p.smallcaps,article p.firstline-caps::first-line,article p.title-the-big,article p.title-the-mead,article p.title-the-small{font-family:var(--ff-garamond)}article blockquote{font-size:1.5em}ul,ol{padding-left:var(--u2)}@media (min-width: 1044px){ul,ol{padding-left:var(--u4)}}q::before,q::after{content:''}.easyread p,.easyread ol,.easyread ul,.techblog p,.techblog ol,.techblog ul{line-height:1.7;margin-top:1.25em;margin-bottom:1.25em}.easyread li,.techblog li{margin:0.75em 0 0.75em var(--u2)}.easyread{font-size:var(--f-semi);text-rendering:optimizeLegibility}.easyread blockquote{text-align:center}.easyread blockquote cite{display:block;font-style:normal;font-size:var(--f-semi)}.easyread blockquote cite::before{content:'—'}@media (min-width: 768px){.easyread{margin-left:inherit;margin-right:inherit}.easyread .sidequote:nth-child(even){margin-left:calc(12 * var(--unit))}.easyread .sidequote:nth-child(even) p{margin-left:var(--u2)}.easyread .sidequote:nth-child(odd){margin-right:calc(12 * var(--unit))}.easyread .sidequote:nth-child(odd) p{margin-right:var(--u2)}}@media (min-width: 1440px){.easyread{font-size:calc(1.1 * var(--f-semi))}}.techblog{font-size:var(--f-med)}@media (min-width: 1044px){.techblog{font-size:calc(1.1 * var(--f-semi))}}.magazine{font-size:var(--f-semi)}.magazine p{line-height:1.5;margin-bottom:1em}.magazine .title{line-height:1}.magazine .text-right{text-align:left}@media (min-width: 1044px){.magazine .text-right{text-align:right}}.sidequote{font-style:normal;text-align:left}.sidequote p{border-left:5px solid var(--gold-bright)}.sidequote cite{text-align:right}.quotemarks p{position:relative;text-align:left}.quotemarks p:before{content:'“';position:absolute;font-family:var(--ff-disp);font-size:var(--f-96);top:-0.3em;left:-0.6em;opacity:0.5}.sidequote.f-hero,.sidequote.title-the-big{max-width:80rem}.footnotes p{font-size:var(--f-semi);max-width:calc($measure-width * var(--f-24))}.grid,.twos,.threes,.fours,.fives{display:block}@media (min-width: 480px){.grid,.twos,.threes,.fours,.fives{display:grid;justify-content:space-between}}@media (min-width: 480px){.twos{grid-column-gap:var(--s3);grid-row-gap:var(--s2);grid-template-columns:repeat(auto-fill, minmax(22rem, 1fr))}}@media (min-width: 1044px){.twos{grid-template-columns:repeat(auto-fill, minmax(27rem, 1fr))}}@media (min-width: 480px){.threes{grid-gap:var(--u2);grid-template-columns:repeat(auto-fill, minmax(18rem, 1fr))}}@media (min-width: 1044px){.threes{grid-template-columns:repeat(auto-fill, minmax(20rem, 1fr))}}@media (min-width: 480px){.fours{grid-gap:var(--u2);grid-template-columns:repeat(auto-fill, minmax(12rem, 1fr))}}@media (min-width: 1044px){.fours{grid-template-columns:repeat(auto-fill, minmax(16rem, 1fr))}}@media (min-width: 480px){.fives{grid-gap:var(--u2);grid-template-columns:repeat(auto-fill, minmax(10rem, 1fr))}}@media (min-width: 1044px){.fives{grid-template-columns:repeat(auto-fill, minmax(12.5rem, 1fr))}}.grid-child{width:100%}@media (max-width: 480px){.grid-child{margin:var(--u2) 0}}.flex{display:flex;justify-content:space-between;align-items:center}.flex p{margin-top:0}.flex-row,.alternate .flex:nth-child(even),.alternate a:nth-child(even) .flex,.flex-row-reverse,.alternate .flex:nth-child(odd),.alternate a:nth-child(odd) .flex,.case-list a .flex{flex-direction:column}@media (min-width: 1044px){.flex-row,.alternate .flex:nth-child(even),.alternate a:nth-child(even) .flex{flex-direction:row}}@media (min-width: 1044px){.flex-row-reverse,.alternate .flex:nth-child(odd),.alternate a:nth-child(odd) .flex,.case-list a .flex{flex-direction:row-reverse}}.flex-grow,.post-list-text,.flex-text{flex:1 0 auto}.flex-stay,.imgspace,.flex-img{flex:0 1 auto}.imgspace,.flex-img{display:flex;position:relative;align-items:center;width:100%;min-height:calc(30 * var(--unit));overflow:hidden}.imgspace p,.imgspace figure,.flex-img p,.flex-img figure{position:absolute}.imgspace img,.flex-img img{max-width:100%;height:auto}.post-list-text,.flex-text{display:inline-block;display:flex;flex-direction:column;justify-content:center}@media (max-width: 1044px){.post-list-text,.flex-text{margin-top:var(--u4)}}@media (max-width: 768px){.post-list-text,.flex-text{align-self:flex-start}}hr.clear{clear:both;color:transparent;border:none}.block-center,.easyread blockquote,.constrain,.constrain-wide,article.easyread p,article.easyread ul,article.easyread ol,article.easyread h2,article.easyread h3,article.easyread h4,article.easyread h5,article.easyread h6,.fig-center{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--s1);padding-right:var(--s1)}.constrain{max-width:80rem}.constrain-wide{max-width:120rem}.full{width:100%}.measure,article.easyread p,article.easyread ul,article.easyread ol,article.techblog p,article.techblog ul,article.techblog ol,.case-studies p,.case-studies ul{max-width:35em}.tall{padding:10vh 0 5vh}.side-scroll{width:100%;overflow-x:auto;white-space:nowrap}.side-scroll>img,.side-scroll>div{display:inline-block;vertical-align:top}@media (orientation: landscape){.side-scroll>img{width:80%}}@media (orientation: portrait){.side-scroll>img{max-width:none;max-height:80vh}}.block{display:block}.inline-block{display:inline-block}.anchor-position{position:relative}.float-right{float:none}@media (min-width: 768px){.float-right{float:right}}.sideways{display:inline-block;padding:var(--unit) 0}@media (min-width: 768px){.sideways{transform:rotate(-90deg) translateX(-100%) translateY(-0.25em);transform-origin:0 0;padding:0 var(--unit);white-space:nowrap}}.vertical-center{display:flex;flex-direction:column;justify-content:center}.vp-1,.projects a{padding-top:var(--unit);padding-bottom:var(--unit)}.vp-2,.easyread blockquote{padding-top:var(--u2);padding-bottom:var(--u2)}.vp-4,.projects{padding-top:var(--u4);padding-bottom:var(--u4)}.vp-8{padding-top:var(--s2);padding-bottom:var(--s2)}.vp-16{padding-top:var(--s4);padding-bottom:var(--s4)}hr{margin:var(--s2) 0;color:var(--fg-dm);border-style:solid}hr.thickline{border-width:thick;color:var(--ac);background-color:var(--ac)}@media (min-width: 1044px){hr.thickline{border-width:var(--unit)}}@media (min-width: 1044px){.hp-r-4{padding-right:var(--u4)}}.hp-2{padding-left:var(--u2);padding-right:var(--u2)}.hp-8{padding-left:var(--s2);padding-right:var(--s2)}.inline-icon{position:relative;top:-0.05em;fill:currentColor;width:0.8em;height:0.8em;color:currentColor}.mark{display:inline-block;position:relative;top:-0.25em}@media (min-width: 768px){.mark{top:-1em}}.peekout{margin-left:0;margin-right:0}@media (min-width: 1440px){.peekout{margin-left:calc(-1 * var(--u4));margin-right:calc(-1 * var(--u4))}}.indented{margin-left:0}@media (min-width: 1044px){.indented{margin-left:var(--u4)}}.boxed{outline:1px solid var(--fg);padding:calc(0.1 * var(--unit)) calc(0.5 * var(--unit))}.inverted .boxed{outline:1px solid var(--grey4)}.padded{padding:var(--unit)}.rbr{display:none}@media (min-width: 480px){.rbr{display:inline}}.shadow{box-shadow:0 0 var(--u4) var(--grey4),0 0 0 1px var(--grey5)}@media only screen and (prefers-color-scheme: dark){.shadow{box-shadow:0 0 var(--u4) black,0 0 0 1px var(--grey1)}}@media (min-width: 1044px){.alternate .flex:nth-child(even) .flex-text,.alternate a:nth-child(even) .flex .flex-text{padding-left:var(--u4);padding-right:0}}@media (min-width: 1044px){.alternate .flex:nth-child(odd) .flex-text,.alternate a:nth-child(odd) .flex .flex-text{padding-left:0;padding-right:var(--u4)}}.logo{color:var(--fg-em);text-transform:uppercase;font-weight:400;letter-spacing:0.1em;display:inline-block;outline:1.5px solid var(--fg-em);padding:calc( 0.3 * var(--unit)) calc( 0.5 * var(--unit)) calc( 0.2 * var(--unit));z-index:0;position:relative;left:0}@media (min-width: 768px){.logo{left:calc( -1 * var(--unit))}}@media (min-width: 1440px){.logo{left:0}}.logo::after{content:'';position:absolute;top:0;left:0;height:100%;width:0%;z-index:-1;background:var(--fg-em)}.logo:hover::after,.logo:focus::after{width:100%;transition:all 0.2s ease-in-out}@media only screen and (prefers-reduced-motion){.logo:hover::after,.logo:focus::after{transition:none}}.logo:hover{color:var(--bg)}.logo:hover::after{background:var(--fg-em)}.logo:focus{color:var(--fg-em);box-shadow:none}.logo:focus::after{background:var(--fc)}.inverted .logo{color:white;outline:1.5px solid white}.inverted .logo::after{content:'';position:absolute;top:0;left:0;height:100%;width:0%;z-index:-1;background:#fff}.inverted .logo:hover::after,.inverted .logo:focus::after{width:100%;transition:all 0.2s ease-in-out}@media only screen and (prefers-reduced-motion){.inverted .logo:hover::after,.inverted .logo:focus::after{transition:none}}.inverted .logo:hover{color:#000}.inverted .logo:hover::after{background:#fff}.inverted .logo:focus{color:#fff;box-shadow:none}.inverted .logo:focus::after{background:var(--fc)}@media (min-width: 768px){.byline{padding-left:calc( 0.5 * var(--unit))}}@media print{.logo,.parent{font-size:var(--f-sml)}.logo[href]:after,.parent[href]:after{content:none}}header{padding-top:var(--s3)}.text-ruled,.nav-item{position:relative;display:inline-block;width:100%;padding:1.25em 0}.text-ruled::before,.nav-item::before{content:'';position:absolute;top:0;left:0;top:50%;width:100%;height:0;border-top:1px solid var(--fg-dm);z-index:-1}.text-ruled-span,.nav .nav-span{display:inline-block;background-color:var(--bg);padding-right:var(--unit)}@media only screen and (prefers-reduced-motion){.nav *{transition:none !important}}.nav .grid-child{margin-top:var(--u2)}@media (max-width: 768px){.nav{overflow-x:auto}.nav .grid{display:block;white-space:nowrap}.nav .grid-child{width:inherit;display:inline-block;margin-right:5vw}.nav .nav-item{width:inherit}}.nav .nav-span{transition:all 0.2s ease-in-out}@media only screen and (prefers-reduced-motion){.nav .nav-span{transition:none}}.nav-item{min-height:3em}@media (min-width: 480px){.nav-item{margin-top:0}.nav-item:hover::before{border-top:1px solid var(--fg-em);transition:all 0.3s}}.nav-item:hover,.nav-item:focus{box-shadow:none}@media (min-width: 480px){.nav-item:hover .nav-span,.nav-item:focus .nav-span{transform:translateY(-1em);transition:0.2s ease-in-out}}.nav-item:focus{outline:none;background-color:transparent}.nav-item:focus::before{border-top:var(--unit) solid var(--fc)}@media (min-width: 480px){.nav-item.active::before{border-top:1px solid var(--fg)}.nav-item.active:hover .nav-span,.nav-item.active:focus .nav-span{transform:translateY(0)}.nav-item.active:focus .nav-item.active::before{border-top:var(--unit) solid var(--fc)}}@media (min-width: 480px){footer .nav-item::before,footer .nav-item:hover::before{border:none}}.inverted nav .nav-span{background-color:black}.inverted nav .nav-item:hover::before{border-top:1px solid white}@media (min-width: 480px){.inverted nav .nav-item.active::before{border-top:1px solid white}}.projects a{display:inline-block;position:relative}.projects a:hover{transform:translateY(-0.5rem)}.projects h3{margin-bottom:var(--unit)}#newsletter-signup{--form-height: calc(5 * var(--unit));--button-width: calc(16 * var(--unit));height:auto;margin:var(--u2) 0}@media (min-width: 768px){#newsletter-signup{height:var(--form-height);margin:var(--u4) 0}}#newsletter-signup input,#newsletter-signup button,#newsletter-signup .button{font-family:var(--ff-sans);font-size:var(--f-sml);border-radius:0;-webkit-appearance:none;height:100%;color:var(--fg-em);border:1px solid var(--fg-em);margin:0;position:absolute;top:0}#newsletter-signup input:focus,#newsletter-signup button:focus,#newsletter-signup .button:focus{background-color:var(--bg)}#newsletter-signup input[type="email"]{color:var(--fg-em);background-color:var(--bg);width:100%;padding-left:var(--u2);padding-right:var(--button-width);left:0}#newsletter-signup input[type="email"]:focus:valid{box-shadow:0 0 0 var(--unit) springgreen}#newsletter-signup input[type="email"]:focus:valid:empty{box-shadow:0 0 0 var(--unit) var(--fc)}#newsletter-signup input:-webkit-autofill{-webkit-text-fill-color:var(--ac);-webkit-box-shadow:0 0 0px 1000px var(--fc-dm) inset;transition:background-color 5000s ease-in-out 0s}#newsletter-signup button,#newsletter-signup .button{width:var(--button-width);background-color:var(--bg);right:0;z-index:0}#newsletter-signup button:hover,#newsletter-signup .button:hover{cursor:pointer}#newsletter-signup button::after,#newsletter-signup .button::after{content:'';position:absolute;top:0;left:0;height:100%;width:0%;z-index:-1;background:var(--fg-em)}#newsletter-signup button:hover::after,#newsletter-signup button:focus::after,#newsletter-signup .button:hover::after,#newsletter-signup .button:focus::after{width:100%;transition:all 0.2s ease-in-out}@media only screen and (prefers-reduced-motion){#newsletter-signup button:hover::after,#newsletter-signup button:focus::after,#newsletter-signup .button:hover::after,#newsletter-signup .button:focus::after{transition:none}}#newsletter-signup button:hover,#newsletter-signup .button:hover{color:var(--bg)}#newsletter-signup button:hover::after,#newsletter-signup .button:hover::after{background:var(--fg-em)}#newsletter-signup button:focus,#newsletter-signup .button:focus{color:var(--fg-em);box-shadow:none}#newsletter-signup button:focus::after,#newsletter-signup .button:focus::after{background:var(--fc)}#newsletter-inputs{position:relative;height:var(--form-height);width:100%}footer ul,footer a{padding:0}footer li{display:inline-block;margin-right:var(--s1)}.books img{width:70%;margin:var(--u4) auto var(--u2)}.albums img{width:90%;margin:var(--u4) auto 0}.overlap-square-1 img,.overlap-wide-1 img,.overlap-square-2 img,.overlap-wide-2 img{width:100%}.overlap-square-1,.overlap-wide-1{top:var(--unit);right:0}.overlap-square-1 img,.overlap-wide-1 img{margin-right:0}.overlap-square-2,.overlap-wide-2{bottom:var(--unit);left:0}.overlap-square-2 img,.overlap-wide-2 img{margin-left:0}.overlap-square-1{width:90%}@media (min-width: 480px){.overlap-square-1{width:80%}}.overlap-square-2{width:70%}.overlap-wide-1{width:90%}@media (min-width: 768px){.overlap-wide-1{width:65%}}.overlap-wide-2{width:70%}@media (min-width: 768px){.overlap-wide-2{width:45%}}.overlap-wide-text{width:25em;bottom:var(--u4);right:var(--unit);color:var(--fg-em);background:var(--bg);padding:1rem}.banner{width:100%;height:30vh;min-height:calc(35 * var(--unit))}.bgimg{background-position:center center;background-size:cover}.cover{object-fit:cover}.muted{filter:grayscale(10%) contrast(80%)}.inversion{mix-blend-mode:exclusion}.inversion img{filter:invert(100%)}.inversion a img{transition:2s}.inversion a:hover img{background-color:white;filter:invert(0);transition:1s}.post-item-feature,.post-item-full{grid-column:1 / -1}.post-item-half{grid-column:span 1}.post-item-half .imgspace{max-height:36rem}@media (orientation: landscape){.post-item-half .imgspace{height:30vh}}@media (orientation: portrait){.post-item-half .imgspace{height:36vw}}@media (min-width: 768px){.post-item-half .imgspace{margin-left:2rem;width:calc(100% - 2rem)}}.post-item-full .post-list-text{margin-left:0;max-width:100%}@media (min-width: 768px){.post-item-full .post-list-text{margin-left:var(--u4);max-width:35em}}@media (orientation: landscape){.post-item-full .imgspace{max-height:50vh;height:30vw}}@media (orientation: portrait){.post-item-full .imgspace{max-height:35vh;height:40vw}}.post-item-full-reverse .post-list-text{margin-right:0;max-width:100%}@media (min-width: 768px){.post-item-full-reverse .post-list-text{margin-left:0;margin-right:var(--u4);max-width:35em}}.post-item-feature .flex{flex-direction:column}.post-item-feature .post-list-text{text-align:left;width:100%}@media (min-width: 1044px){.post-item-feature .post-list-text{width:50%;text-align:right}}.post-item-feature .imgspace{width:100%;margin-right:0}@media (orientation: landscape){.post-item-feature .imgspace{height:50vw;max-height:80vh}}@media (orientation: portrait){.post-item-feature .imgspace{max-height:60vh;height:60vw}}.post-item-flex{flex-direction:row-reverse}.post-item-full-reverse .post-item-flex{flex-direction:row}@media (max-width: 768px){.post-item-full .post-item-flex,.post-item-full-reverse .post-item-flex{flex-direction:column}}article.easyread header,article.techblog header{margin-top:var(--u4)}article.easyread h2,article.easyread h3,article.easyread h4,article.easyread h5,article.easyread h6{max-width:calc(35 * var(--f-24))}article.easyread .imgspace{height:50vh}.techblog img{max-height:80vh}.techblog img,.techblog figcaption{margin-left:auto;margin-right:auto}@media print{.imgspace{display:none}}.footnotes{margin-top:var(--u8);padding-top:var(--u4)}body{counter-reset:sidenote-counter}.sidenote,.marginnote{width:var(--notewidth);float:right;clear:right;min-width:20em;max-width:25em;margin-top:0;margin-bottom:0;line-height:1.4;vertical-align:baseline;position:relative;color:var(--fg);font-size:var(--f-sml)}.sidenote-number{counter-increment:sidenote-counter}.sidenote-number:after,.sidenote:before{position:relative;vertical-align:baseline}.sidenote-number:after{content:counter(sidenote-counter);font-size:var(--f-med);top:-0.5rem;left:0.1rem}.sidenote:before{content:counter(sidenote-counter) " ";font-size:1rem;top:-0.5rem}blockquote .sidenote,blockquote .marginnote{margin-right:-82%;min-width:59%;text-align:left}.marginnote>code,.sidenote>code{font-size:1rem}input.margin-toggle{display:none}label.sidenote-number{display:inline}label.margin-toggle:not(.sidenote-number){display:none}@media screen and (max-width: 960px){.techblog label.margin-toggle:not(.sidenote-number){display:inline}.techblog .sidenote,.techblog .marginnote{display:none}.techblog .margin-toggle:checked+.sidenote,.techblog .margin-toggle:checked+.marginnote{display:block;float:none;left:0;clear:both;width:100%;max-width:none;margin:1rem 2.5%;vertical-align:baseline;position:relative}.techblog .margin-toggle{cursor:pointer;padding:var(--unit) var(--u2);margin:calc(-1 * var(--unit)) calc(-1 * var(--u2));color:var(--ac)}.techblog .margin-toggle:hover{color:var(--fg-em);transition:all 0.2s ease-in-out}}@media only screen and (max-width: 960px) and (prefers-reduced-motion){.techblog .margin-toggle:hover{transition:none}}@media print and (max-width: 960px){.techblog .sidenote,.techblog .marginnote{--notewidth: calc((100vw - 35em) / 1.6);margin-right:calc((-1 * var(--notewidth)) - var(--u2));min-width:10em}}@media (min-width: 960px) and (max-width: 1044px){.techblog .sidenote,.techblog .marginnote{--notewidth: calc((100vw - 35em) / 2.5);margin-right:calc((-1 * var(--notewidth)) - 12*var(--unit))}}@media screen and (min-width: 1044px) and (max-width: 1200px){.techblog label.margin-toggle:not(.sidenote-number){display:inline}.techblog .sidenote,.techblog .marginnote{display:none}.techblog .margin-toggle:checked+.sidenote,.techblog .margin-toggle:checked+.marginnote{display:block;float:none;left:0;clear:both;width:100%;max-width:none;margin:1rem 2.5%;vertical-align:baseline;position:relative}.techblog .margin-toggle{cursor:pointer;padding:var(--unit) var(--u2);margin:calc(-1 * var(--unit)) calc(-1 * var(--u2));color:var(--ac)}.techblog .margin-toggle:hover{color:var(--fg-em);transition:all 0.2s ease-in-out}}@media only screen and (min-width: 1044px) and (max-width: 1200px) and (prefers-reduced-motion){.techblog .margin-toggle:hover{transition:none}}@media (min-width: 1200px) and (max-width: 1600px){.techblog .sidenote,.techblog .marginnote{--notewidth: calc((100vw - 35em) / 2.5);margin-right:calc((-1 * var(--notewidth)) - var(--u8))}}@media (min-width: 1600px) and (max-width: 2800px){.techblog .sidenote,.techblog .marginnote{--notewidth: calc((100vw - 2*(35em)) / 2);margin-right:calc(-50% - var(--u8))}}@media (min-width: 2800px){.techblog .sidenote,.techblog .marginnote{--notewidth: calc((100vw - 2*(35em)) / 2);margin-right:-60%}}@media screen and (max-width: 1280px){.easyread label.margin-toggle:not(.sidenote-number){display:inline}.easyread .sidenote,.easyread .marginnote{display:none}.easyread .margin-toggle:checked+.sidenote,.easyread .margin-toggle:checked+.marginnote{display:block;float:none;left:0;clear:both;width:100%;max-width:none;margin:1rem 2.5%;vertical-align:baseline;position:relative}.easyread .margin-toggle{cursor:pointer;padding:var(--unit) var(--u2);margin:calc(-1 * var(--unit)) calc(-1 * var(--u2));color:var(--ac)}.easyread .margin-toggle:hover{color:var(--fg-em);transition:all 0.2s ease-in-out}}@media only screen and (max-width: 1280px) and (prefers-reduced-motion){.easyread .margin-toggle:hover{transition:none}}@media print and (max-width: 1280px){.easyread .sidenote,.easyread .marginnote{--notewidth: 30vw;min-width:10em;margin:0.5cm}}@media (min-width: 1280px) and (max-width: 1440px){.easyread .sidenote,.easyread .marginnote{--notewidth: calc((100vw - 35em) / 3);margin-right:calc((-1 * var(--notewidth)) - var(--u2))}}@media (min-width: 1440px) and (max-width: 2000px){.easyread .sidenote,.easyread .marginnote{font-size:var(--f-med);--notewidth: calc((100vw - 35em) / 4);margin-right:calc(-50% - var(--u2))}}@media (min-width: 2000px){.easyread .sidenote,.easyread .marginnote{margin-right:-70%}}@media only screen{.title-over-img{position:relative;margin:var(--u4) 0}.title-over-img img{z-index:0;height:50vh}.title-over-img h1,.title-over-img h2,.title-over-img h3,.title-over-img h4,.title-over-img h5{z-index:1;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:100%;text-align:center;margin:0;text-shadow:0 0 0.8em var(--bg)}}.fig-float-right{max-width:100%;width:auto;float:none;padding:var(--unit) 0}@media (min-width: 480px){.fig-float-right{float:right;max-width:45vw;margin:0 0 var(--u2) var(--u4);padding:0}}@media (min-width: 1044px){.fig-float-right{max-width:30vw}}@media (min-width: 1440px){.fig-float-right{max-width:40%}}.fig-expand-full{position:relative;height:50vh;overflow-y:hidden}.fig-expand-full img{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);padding:0;width:100vw;max-height:none}.flex-text{width:100%}@media (min-width: 1044px){.flex-text{width:70%}}.flex-img{display:flex;align-items:center;justify-content:center}.flex-img img{max-height:100vh}.case-studies img{max-height:100vh}.case-studies figcaption{text-align:center}.centered figcaption{text-align:center}.ytembed{width:100%}@media (orientation: portrait){.ytembed{min-height:25vh}}@media (orientation: landscape){.ytembed{min-height:calc(60 * var(--unit))}}.blog-image .imgspace{width:100%;height:80vh;max-height:60rem}.blog-image .img-featured{width:100%;max-height:40rem;object-fit:cover}@media print{.blog-image .imgspace{max-height:30rem}}@keyframes fade{0%{opacity:0}100%{opacity:1}}@keyframes fadefrombottom{0%{opacity:0;transform:translateY(4rem)}100%{opacity:1;transform:translateY(0px)}}.enter-frombottom{animation:fadefrombottom 500ms}@media only screen and (prefers-reduced-motion){.enter-frombottom{animation:fade 500ms}}.enter-fade{animation:fade 200ms ease-out}.enter-fade-slow{animation:fade 3800ms}

/*# sourceMappingURL=thebest.css.map */