@layer reset,base,layouts,components,utilities;@layer reset{/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}}@layer base{.Icon{display:inline-block;width:1em;height:1em;stroke-width:0;stroke:currentColor;fill:currentColor}.Icon-moon-o{width:.8232421875em}.Icon-Middleman{width:1.1767578125em}.Icon-Passenger{width:1.185546875em}.Icon-Ruby-on-Rails{width:2.6513671875em}}:root{color-scheme:light dark;--colour-scheme-anim-duration: 1.7s;--colour-scheme-anim-timing: ease;--content-width: 54rem;--copy-width: 50ch;--nav-mobile-width: 10rem;--step--2: clamp(.6252rem, .7185rem + -.1204vi, .6944rem);--step--1: clamp(.8333rem, .8157rem + .0881vi, .884rem);--step-0: clamp(1rem, .913rem + .4348vi, 1.25rem);--step-1: clamp(1.2rem, 1.0026rem + .987vi, 1.7675rem);--step-2: clamp(1.44rem, 1.0716rem + 1.8422vi, 2.4992rem);--step-3: clamp(1.728rem, 1.0998rem + 3.1408vi, 3.5339rem);--space-4xs: clamp(.125rem, .0994rem + .1136vi, .1875rem);--space-3xs: clamp(.25rem, .2244rem + .1136vi, .3125rem);--space-2xs: clamp(.5rem, .4489rem + .2273vi, .625rem);--space-xs: clamp(.75rem, .6733rem + .3409vi, .9375rem);--space-s: clamp(1rem, .8977rem + .4545vi, 1.25rem);--space-m: clamp(1.5rem, 1.3466rem + .6818vi, 1.875rem);--space-l: clamp(2rem, 1.7955rem + .9091vi, 2.5rem);--space-xl: clamp(3rem, 2.6932rem + 1.3636vi, 3.75rem);--space-2xl: clamp(4rem, 3.5909rem + 1.8182vi, 5rem);--space-3xl: clamp(6rem, 5.3864rem + 2.7273vi, 7.5rem);--space-4xs-3xs: clamp(.125rem, .0483rem + .3409vi, .3125rem);--space-3xs-2xs: clamp(.25rem, .0966rem + .6818vi, .625rem);--space-2xs-xs: clamp(.5rem, .321rem + .7955vi, .9375rem);--space-xs-s: clamp(.75rem, .5455rem + .9091vi, 1.25rem);--space-s-m: clamp(1rem, .642rem + 1.5909vi, 1.875rem);--space-m-l: clamp(1.5rem, 1.0909rem + 1.8182vi, 2.5rem);--space-l-xl: clamp(2rem, 1.2841rem + 3.1818vi, 3.75rem);--space-xl-2xl: clamp(3rem, 2.1818rem + 3.6364vi, 5rem);--space-2xl-3xl: clamp(4rem, 2.5682rem + 6.3636vi, 7.5rem);--space-s-l: clamp(1rem, .3864rem + 2.7273vi, 2.5rem);--space-side: var(--space-s-m);--system-font-stack: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--type-text-font: "Inter V", var(--system-font-stack);--type-display-font: "Inter V", var(--system-font-stack);--type-display-weight: 700;--type-mark-weight: 500;--type-weight: var(--theme-type-text-weight);--type-weight-dark-on-light: 300;--type-slant: 0;--pink-hex: #ff3ef4;--pink-accessible: #ec41e1;--pink-hottest: rgb(255, 62, 244);--pink-bright: rgb(255, 116, 244);--pink-light: rgb(250, 168, 241);--white: #fff;--black: #000;--bluegreen: lch(18% 18 207deg);--orange: lch(66% 84 60deg);--chart-01: #e6194B;--chart-02: #3cb44b;--chart-03: #ffe119;--chart-04: #4363d8;--chart-05: #f58231;--chart-06: #911eb4;--chart-07: #42d4f4;--chart-08: #f032e6;--chart-09: #bfef45;--chart-10: #fabed4;--chart-11: #469990;--chart-12: #dcbeff;--chart-13: #9A6324;--chart-14: #fffac8;--chart-15: #800000;--chart-16: #aaffc3;--chart-17: #808000;--chart-18: #ffd8b1;--chart-19: #000075;--chart-20: #a9a9a9;--chart-21: #ffffff;--chart-22: #000000;--translucent-backdrop: rgba(0, 0, 0, .7);--colour-primary: var(--grayscale-700);--grayscale-50: #f7f7f7;--grayscale-100: #efefef;--grayscale-200: #dfdfdf;--grayscale-300: #cacaca;--grayscale-400: #a8a8a8;--grayscale-500: #878787;--grayscale-600: #747474;--grayscale-700: #636363;--grayscale-800: #515151;--grayscale-900: #404040;--grayscale-1000: #292929}@supports (color: color(display-p3 0 0 0%)){:root{--pink-hottest: color(display-p3 .98046 .00501 .99723)}}@supports (color: oklab(0% 0 0%)){:root{--pink-hottest: oklch(71.7% .357 330.57)}}@supports (color: color(display-p3 0 0 0%)){:root{--pink-bright: color(display-p3 .9899 .38889 .99624)}}@supports (color: oklab(0% 0 0%)){:root{--pink-bright: oklch(76.76% .286 330.57);--pink-light: oklch(83.53% .133 330.57)}}@layer base{*{font-family:inherit;line-height:inherit;color:inherit;margin:0;accent-color:var(--theme-accent-colour);font-variation-settings:"wght" var(--type-weight),"slnt" var(--type-slant)}html{font-family:var(--type-text-font);font-size:var(--step-0);line-height:1.5;background:var(--theme-bg-colour);color:var(--theme-fg-colour)}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}body{transition:color var(--colour-scheme-anim-duration) var(--colour-scheme-anim-timing),background-color var(--colour-scheme-anim-duration) var(--colour-scheme-anim-timing)}h1,h2,h3{line-height:1.2;text-wrap:balance}h1,h2{max-width:20ch}h1,h2,h3,h4,h5,h6{--type-weight: var(--type-display-weight)}h1{font-size:var(--step-3)}h2{font-size:var(--step-2)}h3{font-size:var(--step-1)}h4{font-size:var(--step-0)}h5{--type-weight: 600;font-size:var(--step--1);text-transform:uppercase;letter-spacing:.03em;color:var(--theme-fg-colour-tertiary)}h1+p{margin-block-start:var(--space-l-xl)}strong{--type-weight: 500}mark{--type-weight: var(--type-mark-weight);background-color:transparent;color:var(--theme-mark-colour)}p:not([class]),li:not([class]),blockquote:not([class]){max-width:var(--copy-width)}code,pre{font-family:monospace}img{width:100%;max-width:100%;height:auto}figcaption:not([class]){margin-block-start:1em;font-size:var(--step--1);color:var(--theme-fg-colour-tertiary);text-align:center}a{color:currentColor;text-decoration-color:var(--theme-link-colour);text-decoration-thickness:.125ex;text-underline-offset:.3ex}a:hover figcaption:not([class]),a:hover{color:var(--theme-link-hover-colour);text-decoration:none}a:active{color:var(--theme-link-active-colour)}button{--type-weight: 400;--theme-button-fg-colour: var(--white);--theme-button-bg-colour: var(--theme-accent-colour);--theme-button-radius: calc(var(--space-xs) + (1rem * 1.5 / 2));--theme-button-padding-block: var(--space-xs);--theme-button-padding-inline: var(--space-s);--theme-button-font: var(--type-text-font);font-family:var(--theme-button-font);background-color:var(--theme-button-bg-colour);color:var(--theme-button-fg-colour);border-radius:var(--theme-button-radius);border:none;padding:var(--theme-button-padding-block) var(--theme-button-padding-inline);transition:transform .1s ease-in-out}button:active{transform:scale(.98)}button{cursor:pointer}::selection{color:var(--grayscale-50);background:var(--theme-accent-colour)}:focus-visible{outline:1px dashed var(--theme-accent-colour);outline-offset:var(--space-xs)}p a:focus-visible{outline-offset:var(--space-4xs)}:focus:not(:focus-visible){outline:none}@view-transition{navigation: auto;}}@layer base{@font-face{font-family:Inter V;src:local("Inter V"),url(/vite/assets/Inter-subset-SpsoGPcP.woff2) format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}html{font-feature-settings:"cv02" on,"cv03" on,"cv04" on,"cv09" on,"zero" on}}@layer base{input[type=email]{width:100%;padding:var(--space-xs) var(--space-s);background-color:var(--theme-bg-colour-secondary);border:2.4px solid var(--theme-fg-colour-tertiary);border-radius:calc(var(--space-xs) + 2.4px + (1rem * 1.5 / 2));line-height:1.5}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus,select:-webkit-autofill,select:-webkit-autofill:hover,select:-webkit-autofill:focus{border:1px solid initial;-webkit-text-fill-color:var(--theme-fg-colour);-webkit-box-shadow:0 0 0px 1000px initial inset;transition:background-color 5000s ease-in-out 0s}}@layer base{table{--table-row-padding: var(--space-2xs);border-collapse:collapse}thead{border-bottom:1px solid var(--theme-bg-colour-secondary)}thead th{color:var(--theme-fg-colour-secondary)}tbody tr:hover{background-color:var(--theme-bg-colour-secondary)}th,td{padding:var(--table-row-padding);font-size:var(--step--1)}th{--type-weight: 500;text-align:left;white-space:nowrap}}@layer layouts{body{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto;grid-template-areas:"header" "main" "footer"}header{grid-area:header}main{grid-area:main}footer{grid-area:footer}}@layer layouts{.Inset{width:100%;max-width:var(--content-width);margin-inline:auto;padding-inline:var(--space-side)}.Inset-img{width:100%;height:auto}}@layer components{.Author-link{font-size:var(--step--1);display:flex;align-items:center;text-decoration:none}.Author-pic{margin-right:.42em}}@layer components{.Backdrop{--theme-pattern-cube-1: var(--grayscale-400);--theme-pattern-cube-2: var(--grayscale-900);--theme-pattern-cube-3: var(--theme-bg-colour);display:grid;grid-template-columns:1fr 1fr 1fr;padding-block:var(--space-m-l)}.Backdrop-cubes{transform:rotate(30deg);margin-left:-2px;overflow:hidden}}@layer components{.Bleed{aspect-ratio:3/1}}@layer components{.BlogPost-subtitle{display:none}.BlogPost-main h1{--step-3: var(--step-2)}.BlogPost-content>*+*{margin-block-start:var(--flow-space, 1lh)}.BlogPost-content>h5+h1{margin-block-start:0}.BlogPost-content>h1+p{margin-block-start:var(--space-l-xl)}.BlogPost-content li:not([class]){margin-block-start:var(--flow-space, 1lh)}.BlogPost-content a[href^=http]:not([class]){display:inline-block;padding-right:var(--step--1)}.BlogPost-content a[href^=http]:not([class]):after{--type-weight: 400;font-variation-settings:"wght" var(--type-weight),"slnt" var(--type-slant);content:"↗";font-size:var(--step--1);width:var(--step--1);color:var(--theme-hl-colour-absolute);margin-right:-1em;display:inline-block;position:relative}.BlogPost-content{margin-top:var(--space-m-l)}.BlogPost-content ul:not([class]){padding-inline:0;list-style-type:none;list-style-position:outside}:is(.BlogPost-content ul:not([class])) li{padding-inline-start:1.9rem;background-image:url("data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='m12.602%2017-.875-.864%203.602-3.602H6v-1.25h9.33l-3.603-3.59.875-.876%205.091%205.091L12.603%2017Z'%20fill='%23FF3EF4'/%3e%3c/svg%3e");background-position:0 -1px;background-size:1.6rem 1.6rem;background-repeat:no-repeat}:is(.BlogPost-content ul:not([class])) li+li{margin-block-start:var(--space-3xs-2xs)}@media (min-width: 42em){.BlogPost{display:grid;grid-template-columns:10rem 1fr;gap:var(--space-s-m)}.BlogPost-sidebar{text-align:right}.BlogPost-subtitle{display:block}}}@layer components{.BlogPostCard+.BlogPostCard{margin-top:var(--space-xl-2xl)}.BlogPostCard-title{max-width:30ch}.BlogPostCard-titleLink{text-decoration:none}.BlogPostCard-summary{margin-block-start:var(--flow-space, 1em);max-width:var(--copy-width)}.BlogPostCard-publishDate{margin-block-start:var(--flow-space, 1em);font-size:var(--step--1);font-weight:300;color:var(--theme-fg-colour-tertiary)}}@layer components{.BlogPostCards{list-style-type:none;padding-left:0;margin-top:var(--space-l-xl)}}@layer components{.BlogPostSocialCard{display:grid;grid-template-columns:1fr 1fr}.BlogPostSocialCard-sidebar{padding:var(--step--1) var(--space-m-l) 0 var(--space-m-l)}.BlogPostSocialCard-netsignLogo{padding:var(--step--1) var(--space-xl-2xl)}}@layer components{.Blurb a[href^=http]:not([class]){display:inline-block;padding-right:var(--step--1)}.Blurb a[href^=http]:not([class]):after{--type-weight: 400;font-variation-settings:"wght" var(--type-weight),"slnt" var(--type-slant);content:"↗";font-size:var(--step--1);width:var(--step--1);color:var(--theme-hl-colour-absolute);margin-right:-1em;display:inline-block;position:relative}}@layer components{.Button{--type-weight: 400;--theme-button-fg-colour: var(--white);--theme-button-bg-colour: var(--theme-accent-colour);--theme-button-radius: calc(var(--space-xs) + (1rem * 1.5 / 2));--theme-button-padding-block: var(--space-xs);--theme-button-padding-inline: var(--space-s);--theme-button-font: var(--type-text-font);font-family:var(--theme-button-font);background-color:var(--theme-button-bg-colour);color:var(--theme-button-fg-colour);border-radius:var(--theme-button-radius);border:none;padding:var(--theme-button-padding-block) var(--theme-button-padding-inline);transition:transform .1s ease-in-out}.Button:active{transform:scale(.98)}.Button{display:inline-block}}@layer components{.Byline{--byline-gap: var(--space-3xs);margin-block-start:var(--flow-space, 1em);display:flex;flex-wrap:wrap-reverse;gap:var(--byline-gap);flex-direction:row;align-items:center}.Byline-publishDate,.Byline-readTime{font-size:var(--step--1);font-weight:300;color:var(--theme-fg-colour-tertiary)}.Byline-status{--type-weight: 500;color:var(--theme-accent-colour)}.Byline-item+.Byline-item:before{content:"•";margin-inline-end:var(--byline-gap)}}@layer components{.Capabilities{list-style-type:none;padding-left:0}}@layer components{.Capability{--type-weight: 600;font-size:var(--step--1);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.Capability--inline{font-size:var(--step--2);display:inline-block;padding-inline-end:var(--space-3xs);color:var(--theme-fg-colour-secondary)}}@layer components{.CategoryBlogPosts-category{display:none}@media (min-width: 42em){.CategoryBlogPosts-category{display:block}}}@layer components{.CompactTable{--table-row-padding: var(--space-3xs)}}@layer components{dark-mode-toggle.Slider::part(toggleLabel){display:inline-block;position:relative;height:calc(var(--dark-mode-toggle-icon-size, 1rem) * 2);width:calc(var(--dark-mode-toggle-icon-size, 1rem) * 3.5);background-color:var(--grayscale-300);border-radius:var(--dark-mode-toggle-icon-size, 1rem);transition:.4s}dark-mode-toggle.Slider::part(toggleLabel):before{display:flex;align-items:center;justify-content:center;position:absolute;top:calc(var(--dark-mode-toggle-icon-size, 1rem) * .25);left:calc(var(--dark-mode-toggle-icon-size, 1rem) * .25);height:calc(var(--dark-mode-toggle-icon-icon-size, 1rem) * 1.5);width:calc(var(--dark-mode-toggle-icon-icon-size, 1rem) * 1.5);border-radius:100%;box-shadow:0 .15em .3em #00000026,0 .2em .5em #0000004d;background-color:var(--grayscale-50);color:var(--grayscale-900);transition:.4s;content:"";background-position:center;background-size:var(--dark-mode-toggle-icon-icon-size, 1rem);background-image:var(--dark-mode-toggle-icon-light-icon, url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M19.714%2012c0-4.259-3.455-7.714-7.714-7.714S4.286%207.741%204.286%2012%207.741%2019.714%2012%2019.714s7.714-3.455%207.714-7.714zm3.697%203.71a.41.41%200%200%201-.268.268l-3.911%201.286v4.098a.443.443%200%200%201-.174.348.408.408%200%200%201-.388.054l-3.911-1.259-2.411%203.321c-.08.107-.214.174-.348.174s-.268-.067-.348-.174l-2.411-3.321-3.911%201.259a.403.403%200%200%201-.388-.054.443.443%200%200%201-.174-.348v-4.098L.857%2015.978c-.121-.04-.228-.134-.268-.268s-.027-.281.054-.388l2.411-3.321L.643%208.68c-.08-.121-.094-.254-.054-.388s.147-.228.268-.268l3.911-1.286V2.64c0-.134.067-.268.174-.348a.408.408%200%200%201%20.388-.054l3.911%201.259L11.652.176c.161-.214.536-.214.696%200l2.411%203.321%203.911-1.259a.403.403%200%200%201%20.388.054c.107.08.174.214.174.348v4.098l3.911%201.286c.121.04.228.134.268.268s.027.268-.054.388l-2.411%203.321%202.411%203.321a.44.44%200%200%201%20.054.388z'/%3e%3c/svg%3e"));box-sizing:border-box}dark-mode-toggle.Slider[mode=dark]::part(toggleLabel){background-color:var(--theme-bg-colour-secondary)}dark-mode-toggle.Slider[mode=dark]::part(toggleLabel):before{left:calc(100% - var(--dark-mode-toggle-icon-size, 1rem) * 1.75);border-color:#000;background-color:var(--grayscale-300);color:var(--grayscale-1000);background-size:var(--dark-mode-toggle-icon-size, 1rem);background-image:var(--dark-mode-toggle-dark-icon, url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%3e%3ctitle%3e%20moon%20%3c/title%3e%3cpath%20d='M17.39%2015.14A7.33%207.33%200%200%201%2011.75%201.6c.23-.11.56-.23.79-.34a8.19%208.19%200%200%200-5.41.45%209%209%200%201%200%207%2016.58%208.42%208.42%200%200%200%204.29-3.84%205.3%205.3%200%200%201-1.03.69z'/%3e%3c/svg%3e"));filter:var(--dark-mode-toggle-icon-filter, invert(100%));box-shadow:0 .5px #ffffff29}dark-mode-toggle.Slider::part(toggleLabel):after{display:flex;align-items:center;justify-content:center;position:absolute;top:calc(var(--dark-mode-toggle-icon-size, 1rem) * .25);left:calc(100% - var(--dark-mode-toggle-icon-size, 1rem) * 1.75);height:calc(var(--dark-mode-toggle-icon-size, 1rem) * 1.5);width:calc(var(--dark-mode-toggle-icon-size, 1rem) * 1.5);border-radius:100%;color:#333;content:"";background-position:center;background-size:var(--dark-mode-toggle-icon-size, 1rem);background-image:var(--dark-mode-toggle-dark-icon, url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%3e%3ctitle%3e%20moon%20%3c/title%3e%3cpath%20d='M17.39%2015.14A7.33%207.33%200%200%201%2011.75%201.6c.23-.11.56-.23.79-.34a8.19%208.19%200%200%200-5.41.45%209%209%200%201%200%207%2016.58%208.42%208.42%200%200%200%204.29-3.84%205.3%205.3%200%200%201-1.03.69z'/%3e%3c/svg%3e"));background-repeat:no-repeat;box-sizing:border-box;opacity:.5}dark-mode-toggle.Slider[mode=dark]::part(toggleLabel):after{left:calc(var(--dark-mode-toggle-icon-size, 1rem) * .25);background-image:var(--dark-mode-toggle-light-icon, url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M19.714%2012c0-4.259-3.455-7.714-7.714-7.714S4.286%207.741%204.286%2012%207.741%2019.714%2012%2019.714s7.714-3.455%207.714-7.714zm3.697%203.71a.41.41%200%200%201-.268.268l-3.911%201.286v4.098a.443.443%200%200%201-.174.348.408.408%200%200%201-.388.054l-3.911-1.259-2.411%203.321c-.08.107-.214.174-.348.174s-.268-.067-.348-.174l-2.411-3.321-3.911%201.259a.403.403%200%200%201-.388-.054.443.443%200%200%201-.174-.348v-4.098L.857%2015.978c-.121-.04-.228-.134-.268-.268s-.027-.281.054-.388l2.411-3.321L.643%208.68c-.08-.121-.094-.254-.054-.388s.147-.228.268-.268l3.911-1.286V2.64c0-.134.067-.268.174-.348a.408.408%200%200%201%20.388-.054l3.911%201.259L11.652.176c.161-.214.536-.214.696%200l2.411%203.321%203.911-1.259a.403.403%200%200%201%20.388.054c.107.08.174.214.174.348v4.098l3.911%201.286c.121.04.228.134.268.268s.027.268-.054.388l-2.411%203.321%202.411%203.321a.44.44%200%200%201%20.054.388z'/%3e%3c/svg%3e"));filter:var(--dark-mode-toggle-icon-filter, invert(100%))}dark-mode-toggle.Slider::part(permanentCheckbox){opacity:1}dark-mode-toggle.Slider::part(aside){margin-block-start:0;display:flex;align-items:center}dark-mode-toggle.Slider::part(permanentLabel){color:var(--theme-fg-colour-tertiary);font-size:var(--step--1)}dark-mode-toggle.Slider::part(permanentLabel):before{background-image:none;margin-inline-end:.25rem}dark-mode-toggle.Slider::part(fieldset){display:flex;gap:.5em}}@layer components{.DataCell{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.DataCell--center{text-align:center}}@layer components{.DataPoints{border-bottom:1px solid var(--theme-fg-colour-tertiary);max-width:var(--copy-width)}.DataPoints-data{border-top:1px solid var(--theme-fg-colour-tertiary);padding-block-start:var(--space-xs-s);font-size:var(--step-2);color:var(--pink-hottest);line-height:1.2}.DataPoints-label{--type-weight: 500;font-size:var(--step--1);color:var(--theme-fg-colour-secondary);padding-block-end:var(--space-xs-s)}.DataPoints-supplement{margin-block-start:var(--space-xs-s)}}@layer components{.Definition{font-size:var(--step--1);background-color:var(--theme-bg-colour-near-absolute);margin-inline:var(--space-xs-s);padding:var(--space-m-l);border-top-left-radius:var(--space-s);border-bottom-right-radius:var(--space-s)}.Definition-term{display:inline-flex;align-items:center;gap:var(--space-3xs)}}@layer components{.FooterBar{margin-top:var(--space-2xl-3xl);margin-bottom:var(--space-s-m);display:flex;flex-direction:row;justify-content:space-between;align-items:center}.FooterBar-copyright{font-size:var(--step--1);color:var(--theme-fg-colour-tertiary);text-transform:uppercase}}@layer components{.Footnote{font-size:var(--step--1);color:var(--theme-fg-colour-tertiary);font-size:var(--step--2)}}@layer components{.Header-content{display:flex;justify-content:space-between;align-items:center;height:var(--space-2xl-3xl);margin-bottom:var(--space-l-xl)}.Header-logo{display:inline-block;line-height:0}}@layer components{.Illustration--napkin{padding:var(--space-xs-s)}}@layer components{.Legal>*+*{margin-block-start:var(--flow-space, 1lh)}.Legal>h5+h1{margin-block-start:0}.Legal>h1+p{margin-block-start:var(--space-l-xl)}.Legal li:not([class]){margin-block-start:var(--flow-space, 1lh)}.Legal{font-size:var(--step--1)}}@layer components{.Mantra{margin-top:var(--space-xl-2xl)}.Mantra-part+.Mantra-part{margin-top:var(--space-l-xl)}.Mantra-part>*+*{margin-block-start:var(--flow-space, 1lh)}.Mantra-part>h5+h1{margin-block-start:0}.Mantra-part>h1+p{margin-block-start:var(--space-l-xl)}.Mantra-part li:not([class]){margin-block-start:var(--flow-space, 1lh)}@media (min-width: 42em){.Mantra{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:var(--space-l-xl)}.Mantra-part+.Mantra-part{margin-top:0}}}@layer components{.Menu{--menu-size: 2.5rem ;display:none;padding:0;position:fixed;top:1rem;right:1rem;z-index:3000;border:none;background-color:inherit;width:var(--menu-size);height:var(--menu-size)}@media (max-width: 38em){.Menu{display:inline-block}}.Menu-icon{fill:var(--theme-fg-colour);width:1.25rem;height:1.25rem;margin:auto}.Menu.is-open .Menu-icon{fill:var(--theme-fg-colour-secondary)}.Menu-line{opacity:1;transform:rotate(0) translateY(0) translate(0);transition:all .6s cubic-bezier(.785,.135,.15,.86)}.Menu-lineTop{transform-origin:0 0}.Menu-lineMiddle{transform-origin:0 50%}.Menu-lineBottom{transform-origin:0 100%}.Menu.is-open .Menu-lineTop{transform:translate(26.5%) translateY(1.675%) rotate(45deg)}.Menu.is-open .Menu-lineMiddle{opacity:0;transform:translate(100%) scaleX(0)}.Menu.is-open .Menu-lineBottom{transform:translate(26.5%) translateY(-1.675%) rotate(-45deg)}}@layer components{.MoreLink-link{--type-weight: 400;text-decoration:none;display:inline-flex;margin-block-start:1em;align-items:center;gap:.5rem;color:var(--theme-link-colour);text-shadow:var(--theme-link-shadow)}.MoreLink-arrow{transition:all 1.1s cubic-bezier(.19,1,.22,1)}.MoreLink:hover .MoreLink-arrow{transform:translate(5px)}.MoreLink-link:active{color:var(--theme-link-active-colour)}}@layer components{.Nav-list{list-style-type:none;padding-left:0;display:flex;align-items:center;gap:var(--space-m-l)}.Nav-link{--type-weight: 500;position:relative;text-decoration:none}.Nav-link.is-active{color:var(--theme-link-colour);text-decoration:underline;text-decoration-color:var(--theme-link-colour);text-decoration-thickness:.3ex}@media (min-width: 38em){.Nav-link.is-active{text-underline-offset:2.1ex}}@media (max-width: 38em){.Nav{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:100;background:var(--translucent-backdrop);opacity:0;visibility:hidden;pointer-events:none;transition:.5s}.Nav.is-open{opacity:1;visibility:visible;pointer-events:auto}.Nav-list{flex-direction:column;align-items:start;background:var(--theme-bg-colour);margin:0;padding-top:5rem;padding-left:var(--space-l-xl);position:absolute;top:0;right:-100%;height:100%;width:var(--nav-mobile-width);transition:1s}.Nav-list li{font-size:var(--step-1)}.Nav.is-open .Nav-list{right:0}.Nav-link.is-active{text-underline-offset:1ex}}}@layer components{.Pagination{margin-block-start:var(--space-m-l);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:self-start;font-size:var(--step--1)}.Pagination-older{text-align:right}.Pagination-newer{text-align:left}.Pagination-pages{margin-block-start:1em;text-align:center;color:var(--theme-fg-colour-tertiary)}}@layer components{.ProgressMeter{position:fixed;right:var(--space-2xl);bottom:var(--space-2xl);width:58px;height:58px;z-index:99;opacity:0;cursor:pointer}.ProgressMeter-arrow{font-size:24px;position:absolute;left:17px;top:16px;fill:var(--theme-accent-colour)}.ProgressMeter-progress{width:58px;height:58px}.ProgressMeter circle{fill:var(--theme-bg-colour-tertiary);stroke:var(--theme-bg-colour-tertiary)}.ProgressMeter path{stroke:var(--theme-accent-colour)}}@layer components;@layer components{.SocialCard{padding-block:var(--space-m-l)}.SocialCard--hidden{display:none}}@layer components{.SiteMap>*+*{margin-block-start:var(--flow-space, 1lh)}.SiteMap>h5+h1{margin-block-start:0}.SiteMap>h1+p{margin-block-start:var(--space-l-xl)}.SiteMap li:not([class]){margin-block-start:var(--flow-space, 1lh)}}@layer components{.Swatch{height:var(--space-3xl);width:var(--space-3xl);padding:var(--space-xs);color:var(--theme-fg-colour)}.Swatch--mini{height:var(--space-xl);width:var(--space-xl);padding:var(--space-2xs);font-size:var(--step--2);color:var(--theme-fg-colour-absolute)}.Swatch--bgAbsolute{background-color:var(--theme-bg-colour-absolute)}.Swatch--bg{background-color:var(--theme-bg-colour)}.Swatch--bgSecondary{background-color:var(--theme-bg-colour-secondary)}.Swatch--bgTertiary{background-color:var(--theme-bg-colour-tertiary)}.Swatch--bgQuaternary{background-color:var(--theme-bg-colour-quaternary)}.Swatch--fgAbsolute{background-color:var(--theme-fg-colour-absolute);color:var(--theme-bg-colour)}.Swatch--fg{background-color:var(--theme-fg-colour);color:var(--theme-bg-colour)}.Swatch--fgSecondary{background-color:var(--theme-fg-colour-secondary);color:var(--theme-bg-colour)}.Swatch--fgTertiary{background-color:var(--theme-fg-colour-tertiary);color:var(--theme-bg-colour)}.Swatch--hlSecondary{background-color:var(--theme-hl-colour-secondary);color:var(--theme-bg-colour)}.Swatch--hl{background-color:var(--theme-hl-colour);color:var(--theme-bg-colour)}.Swatch--hlAbsolute{background-color:var(--theme-hl-colour-absolute);color:var(--theme-bg-colour)}}@layer components{.Swatches{display:flex;gap:var(--space-s-m)}.Swatches--mini{gap:0}}@layer components{.Tag{color:var(--theme-fg-colour-secondary);text-decoration:none}.Tag:hover{color:var(--theme-link-hover-colour)}.Tag:active{color:var(--theme-link-active-colour)}}@layer components{.Tool{font-size:2.75em;filter:grayscale(100%);fill:var(--theme-tool-logo-colour);text-align:center}.Tool-label{font-size:var(--step--1);color:var(--theme-fg-colour-tertiary)}.Tool--ruby-on-rails{--color5: var(--theme-tool-logo-colour)}.Tool--middleman{--color1: var(--theme-middleman-color1);--color2: var(--theme-middleman-color2)}.Tool--JavaScriptColour{fill:#f7df1e;background-color:#000}}@layer components{.Tools{display:flex;max-width:var(--copy-width);justify-content:space-evenly;margin-block:var(--space-l-xl);list-style-type:none;padding-left:0}.Tools--max3 .Tools-item:nth-of-type(2n){display:none}@media (min-width: 34rem){.Tools--max3 .Tools-item:nth-of-type(2n){display:initial}}}@layer components{.UnicodeChar{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.UnicodeChar-char{font-size:var(--step-3)}.UnicodeChar-label{font-size:var(--step--1)}}@layer components{.UnicodeChars{display:grid;grid-template-columns:repeat(auto-fit,20%)}}@layer utilities{.u-fadeIn{animation:fadeIn ease 1s;animation-fill-mode:forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.u-fadeOut{animation:fadeOut ease .5s;animation-fill-mode:forwards}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}}@layer utilities{.u-border-round{border-radius:var(--step--2);overflow:hidden}}@layer utilities{.grayscale-50{background-color:var(--grayscale-50)}.grayscale-100{background-color:var(--grayscale-100)}.grayscale-200{background-color:var(--grayscale-200)}.grayscale-300{background-color:var(--grayscale-300)}.grayscale-400{background-color:var(--grayscale-400)}.grayscale-500{background-color:var(--grayscale-500)}.grayscale-600{background-color:var(--grayscale-600)}.grayscale-700{background-color:var(--grayscale-700)}.grayscale-800{background-color:var(--grayscale-800)}.grayscale-900{background-color:var(--grayscale-900)}.grayscale-1000{background-color:var(--grayscale-1000)}.black{background-color:var(--black)}.white{background-color:var(--white)}}@layer utilities{.u-invert{filter:var(--theme-filter-invert)}.u-fade{opacity:.8}.u-grayscale{filter:grayscale(100%)}}@layer utilities{.u-flow>*+*{margin-block-start:var(--flow-space, 1lh)}.u-flow>h5+h1{margin-block-start:0}.u-flow>h1+p{margin-block-start:var(--space-l-xl)}.u-flow li:not([class]){margin-block-start:var(--flow-space, 1lh)}.u-copy-width{max-width:var(--copy-width)}}@layer utilities{.pattern-cubes{--s: 20vmax;--c1: var(--theme-pattern-cube-1);--c2: var(--theme-pattern-cube-2);--c3: var(--theme-pattern-cube-3);background:repeating-conic-gradient(from 30deg,#0000 0 120deg,var(--c3) 0 180deg) calc(.5*var(--s)) calc(.5*var(--s)*.577),repeating-conic-gradient(from 30deg,var(--c1) 0 60deg,var(--c2) 0 120deg,var(--c3) 0 180deg);background-size:var(--s) calc(var(--s)*.577)}.pattern-circles{--s: 150px;--c1: var(--theme-pattern-cube-2);--c2: var(--theme-pattern-cube-3);--_g: var(--c1) 0% 5% ,var(--c2) 6% 15%,var(--c1) 16% 25%,var(--c2) 26% 35%,var(--c1) 36% 45%, var(--c2) 46% 55%,var(--c1) 56% 65%,var(--c2) 66% 75%,var(--c1) 76% 85%,var(--c2) 86% 95%, #0000 96%;background:radial-gradient(50% 50% at 100% 0,var(--_g)),radial-gradient(50% 50% at 0 100%,var(--_g)),radial-gradient(50% 50%,var(--_g)),radial-gradient(50% 50%,var(--_g)) calc(var(--s)/2) calc(var(--s)/2) var(--c1);background-size:var(--s) var(--s)}.pattern-op-art{--s: 70px;--c1: var(--theme-cube-2);--c2: var(--theme-cube-3);--g:,var(--c1) 25%,var(--c2) 0 50%,#0000 0;background:repeating-conic-gradient(var(--c1) 0 30deg,#0000 0 150deg,var(--c2) 0 50%) calc(1.5*var(--s)) calc(.865*var(--s)),conic-gradient(from 30deg at 75% 75%var(--g)),conic-gradient(from -30deg at 75% 25%var(--g)),conic-gradient(from 150deg at 25% 75%var(--g)),conic-gradient(from 210deg at 25% 25%var(--g)),repeating-conic-gradient(var(--c1) 0 30deg,var(--c2) 0 60deg);background-size:calc(3*var(--s)) calc(1.73*var(--s))}.pattern-hexagons{--s: 37px;--c:#0000, var(--theme-bg-colour-quaternary) .5deg 119.5deg,#0000 120deg;--g1:conic-gradient(from 60deg at 56.25% calc(425%/6),var(--c));--g2:conic-gradient(from 180deg at 43.75% calc(425%/6),var(--c));--g3:conic-gradient(from -60deg at 50% calc(175%/12),var(--c));background:var(--g1),var(--g1) var(--s) calc(1.73*var(--s)),var(--g2),var(--g2) var(--s) calc(1.73*var(--s)),var(--g3) var(--s) 0,var(--g3) 0 calc(1.73*var(--s)) var(--theme-fg-colour-tertiary);background-size:calc(2*var(--s)) calc(3.46*var(--s))}.pattern-zig-zag{--s: var(--step--1);--c3: var(--theme-bg-colour-quaternary);--c2: var(--theme-bg-colour-secondary);--c1: var(--theme-bg-colour-tertiary);--g1: conic-gradient(at calc(250%/3) calc(50%/3),var(--c2) 60deg,#0000 0 300deg,var(--c1) 0);--g2: conic-gradient(at calc(50%/3) 50%,#0000 75%,var(--c1) 0);--g3: conic-gradient(at calc(100%/3) 50%,#0000 75%,var(--c2) 0);--g4: conic-gradient(from 59deg at calc(200%/3) calc(249%/9),var(--c3) 61deg,#0000 62deg);--g5: conic-gradient(from 60deg at 50% calc(250%/3), var(--theme-fg-colour-tertiary) 60deg,var(--c1) 0 120deg,#0000 0);--_p: calc(9*tan(30deg)*var(--s));background:var(--g1) calc(-1*var(--s)) 0,var(--g1) calc(2*var(--s)) var(--_p),var(--g2),var(--g2) calc(3*var(--s)) var(--_p),var(--g3),var(--g3) calc(3*var(--s)) var(--_p),var(--g4),var(--g4) calc(3*var(--s)) var(--_p),var(--g5) calc(3*var(--s)) 0,var(--g5) 0 var(--_p) var(--c3);background-size:calc(6*var(--s)) calc(2*var(--_p))}}@layer utilities{.u-line-through{text-decoration-line:line-through}}@layer components{.Callout{border-top-left-radius:var(--space-s);border-bottom-right-radius:var(--space-s);text-wrap:balance;padding:var(--space-m-l);background-color:var(--theme-bg-colour-tertiary);margin:var(--step-0) 0 0}.Callout--alt{background-color:var(--grayscale-100)}.Callout-title{display:flex;gap:var(--space-2xs);align-items:center;margin-bottom:var(--space-2xs)}.Callout-icon{font-size:1.5em;display:block}.Callout-content{--type-weight: 400;--type-slant: -10}@media screen and (min-width: 40rem){.Callout{max-width:25ch;margin:var(--step-0) 0 var(--space-s-m) var(--space-s-m);float:right}}}@layer components{.CaseStudy-logoWrapper{padding:var(--space-m-l);margin-block:calc(.1 * var(--step-3)) var(--space-m-l);border-radius:var(--step--2)}.CaseStudy-content>*+*{margin-block-start:var(--flow-space, 1lh)}.CaseStudy-content>h5+h1{margin-block-start:0}.CaseStudy-content>h1+p{margin-block-start:var(--space-l-xl)}.CaseStudy-content li:not([class]){margin-block-start:var(--flow-space, 1lh)}.CaseStudy-content a[href^=http]:not([class]){display:inline-block;padding-right:var(--step--1)}.CaseStudy-content a[href^=http]:not([class]):after{--type-weight: 400;font-variation-settings:"wght" var(--type-weight),"slnt" var(--type-slant);content:"↗";font-size:var(--step--1);width:var(--step--1);color:var(--theme-hl-colour-absolute);margin-right:-1em;display:inline-block;position:relative}.CaseStudy-content h1+p{margin-block-start:var(--flow-space, 1em)}.CaseStudy-content ul:not([class]){padding-inline:0;list-style-type:none;list-style-position:outside}:is(.CaseStudy-content ul:not([class])) li{padding-inline-start:1.9rem;background-image:url("data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='m12.602%2017-.875-.864%203.602-3.602H6v-1.25h9.33l-3.603-3.59.875-.876%205.091%205.091L12.603%2017Z'%20fill='%23FF3EF4'/%3e%3c/svg%3e");background-position:0 -1px;background-size:1.6rem 1.6rem;background-repeat:no-repeat}:is(.CaseStudy-content ul:not([class])) li+li{margin-block-start:var(--space-3xs-2xs)}@media (min-width: 42em){.CaseStudy{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-m-l)}.CaseStudy-sidebar{text-align:right;grid-column:span 1}.CaseStudy-content{grid-column:span 2}}}@layer components{.CaseStudyCard{font-size:1rem;background-color:var(--theme-bg-colour-secondary);position:relative;display:flex;flex-direction:column;overflow:hidden;border-top-left-radius:var(--space-s);border-bottom-right-radius:var(--space-s)}.CaseStudyCard-logoWrapper{margin-bottom:auto;display:grid;place-items:center;padding:var(--space-m-l);background:var(--theme-bg-colour-tertiary)}.CaseStudyCard-details{padding:var(--space-xs-s) var(--space-s-m) var(--space-s-m)}.CaseStudyCard-excerpt{--type-weight: var(--type-weight-dark-on-light);margin-block-start:1em;color:var(--theme-fg-colour)}.CaseStudyCard-title{--step-2: var(--step-4)}.CaseStudyCard-capabilities{margin-block-start:var(--space-xs-s)}.CaseStudyCard-link{text-decoration:none}}@layer components{.CaseStudyCardLogo{filter:grayscale(1);width:100%;height:auto}.CaseStudyCardLogo polygon,.CaseStudyCardLogo path{fill:var(--theme-case-study-card-logo)!important;transition:fill var(--colour-scheme-anim-duration) var(--colour-scheme-anim-timing)}.CaseStudyCardLogo path.AllInFlag{stroke:var(--theme-case-study-card-logo)!important;fill:none!important}.CaseStudyCardLogo g path.CloudClinicCloud{stroke:var(--theme-case-study-card-logo)!important;fill:none!important;transition:stroke var(--colour-scheme-anim-duration) var(--colour-scheme-anim-timing)}}@layer components{.CaseStudyCardStatus{--type-weight: 500;position:absolute;top:0;right:0;text-align:center;opacity:.5;background-color:var(--theme-fg-colour);border-bottom-left-radius:12px;color:var(--theme-bg-colour);font-size:12px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;padding:.5em 1em .5em 1.2em;z-index:70}.CaseStudyCardStatus--draft{background-color:var(--pink-hottest);opacity:1}}@layer components{.CaseStudyCards{list-style-type:none;padding-left:0;margin-block-start:var(--flow-space, 1em);display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-auto-rows:1fr;grid-gap:1em}.CaseStudyCards--capability{margin-block-start:var(--space-l-xl)}}@layer components{.Contact-cta{margin-block:var(--space-l-xl);font-size:var(--step-1)}}@layer components{.ContactUs{display:flex;flex-direction:column;align-items:center;gap:var(--space-s-m);margin-block:var(--space-xl-2xl)}.ContactUs--about{margin-block:var(--space-xl-2xl) 0}}@layer components{@supports (animation-range: entry 100% exit 0%){.CrissCross{height:200vh;view-timeline:--criss-cross}}.CrissCross{background-color:var(--theme-bg-colour-quaternary)}.CrissCross-block{position:sticky;top:calc(50% - 30vh);height:60vh;width:100%;display:grid;overflow:hidden;line-height:0}.CrissCross-grid{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(29deg);display:grid;grid-template-columns:repeat(7,1fr)}.CrissCross-item{aspect-ratio:1 / 1;width:20vmax}.CrissCross-item img{width:100%;height:100%;object-fit:cover}.CrissCross-item:nth-of-type(7n+1):nth-of-type(2n),.CrissCross-item:nth-of-type(7n+3):nth-of-type(2n),.CrissCross-item:nth-of-type(7n+5):nth-of-type(2n),.CrissCross-item:nth-of-type(7n+7):nth-of-type(2n){--vertical: -100%;--horizontal: 100%}.CrissCross-item:nth-of-type(7n+1):nth-of-type(odd),.CrissCross-item:nth-of-type(7n+3):nth-of-type(odd),.CrissCross-item:nth-of-type(7n+5):nth-of-type(odd),.CrissCross-item:nth-of-type(7n+7):nth-of-type(odd){--vertical: -100%;--horizontal: -100%}.CrissCross-item:nth-of-type(7n+2):nth-of-type(2n),.CrissCross-item:nth-of-type(7n+4):nth-of-type(2n),.CrissCross-item:nth-of-type(7n+6):nth-of-type(2n){--vertical: 100%;--horizontal: -100%}.CrissCross-item:nth-of-type(7n+2):nth-of-type(odd),.CrissCross-item:nth-of-type(7n+4):nth-of-type(odd),.CrissCross-item:nth-of-type(7n+6):nth-of-type(odd){--vertical: 100%;--horizontal: 100%}.CrissCross-item{animation-name:travel;animation-fill-mode:both;animation-timing-function:linear;animation-timeline:--criss-cross;animation-range:entry 100% exit 0%}@keyframes travel{0%{translate:0 0}50%{translate:0 var(--vertical)}to{translate:var(--horizontal) var(--vertical)}}}@layer components{.Curtains{position:relative}.Curtain:first-child{padding-top:0}.Curtain>*+*{margin-block-start:var(--flow-space, 1lh)}.Curtain>h5+h1{margin-block-start:0}.Curtain>h1+p{margin-block-start:var(--space-l-xl)}.Curtain li:not([class]){margin-block-start:var(--flow-space, 1lh)}.Curtain{--max-width: calc(var(--content-width) - (2 * var(--space-side)));padding:3em clamp(var(--space-side),calc((100vw - var(--max-width)) / 2),calc((100vw - var(--max-width)) / 2));background-color:var(--theme-bg-colour);border-bottom-right-radius:var(--step-0);position:relative;overflow:hidden}.Curtain h2{--step-2: clamp(1.44rem, 1.12rem + 1.42vw, 2.22rem);margin-block-end:var(--flow-space, 1em)}.Curtain--1{z-index:8}.Curtain--2{z-index:6}.Curtain--3{z-index:4}.Curtain--4{z-index:2}.Curtain:last-child{padding-block-end:0}}@layer components{.CurtainHero{--max-width: var(--content-width);position:sticky;bottom:0;height:100vh;overflow:hidden;margin-top:1px;background-color:var(--theme-curtain-hero-bg-colour);color:var(--theme-curtain-hero-fg-colour);display:grid;place-items:center;padding:0 var(--space-m-l)}.CurtainHero-premise{max-inline-size:20ch;text-wrap:balance;margin-inline:auto}.CurtainHero--1{--theme-curtain-hero-bg-colour: var(--pink-light);--theme-curtain-hero-fg-colour: var(--grayscale-1000);z-index:7}.CurtainHero--2{z-index:5;background-color:#87ceeb}.CurtainHero--3{z-index:3;background-color:#98fb98}.CurtainHero--4{z-index:1;background-color:#d8bfd8}}@layer components{.CustomerLogo{width:100%}}@layer components{.CustomerLogos{margin-block:var(--space-l-xl);text-align:center}.CustomerLogos-list{list-style-type:none;padding-left:0;padding-block-start:var(--space-xs-s)}.CustomerLogos-logoLink{display:inline-block;padding:var(--space-2xs-xs) var(--space-2xl-3xl)}@media screen and (min-width: 32em){.CustomerLogos-list{display:flex;align-items:center;gap:var(--space-xs-s)}.CustomerLogos-logoLink{display:inline-block;padding:var(--space-2xs-xs)}}}@layer components{.Intro{margin-block:var(--space-m-l) var(--space-xl-2xl)}.Intro-blurb{padding:0 0 var(--space-m-l)}.Intro-blurb>*+*{margin-block-start:var(--flow-space, 1lh)}.Intro-blurb>h5+h1{margin-block-start:0}.Intro-blurb>h1+p{margin-block-start:var(--space-l-xl)}.Intro-blurb li:not([class]){margin-block-start:var(--flow-space, 1lh)}@media screen and (min-width: 32em){.Intro{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-m-l);align-items:start}.Intro-blurb{padding:var(--space-s-m) 0}}.Intro--screenshot h2{font-size:44px}.Intro-noWrap{white-space:nowrap;color:var(--pink-hottest)}}@layer components{.Logo{--logo-width: 197;--logo-height: 45;--responsive-height: clamp(1.6rem, calc(1.08rem + 2.6vw) , 2.7rem);display:inline-block;height:var(--responsive-height);width:calc(var(--logo-width)/var(--logo-height) * var(--responsive-height))}.Logo:hover{color:var(--theme-link-hover-colour);transition:none}}@layer components{.LogoAnim{margin-block-start:var(--space-s-m);display:grid;place-items:center}.LogoAnim--light img{width:60%;max-width:480px;max-height:380px}.LogoAnim--dark{display:none}body.Dark .LogoAnim--dark{display:grid}body.Dark .LogoAnim--light{display:none}}@layer components{.LogoCard{padding:var(--space-m-l)}.LogoCard--allinpictures{background-color:#151515}.LogoCard--carddecks{background-color:#fb5752}.LogoCard--cbsm{background-color:#296909}.LogoCard--cbsm path{fill:#fefcf6!important}.LogoCard--checkup{background-color:#419ec3}.LogoCard--climatesmart{background-color:#00a8cb}.LogoCard--cloudclinic{background-color:#fff}.LogoCard--interfacehealth{background-color:#53b33d}.LogoCard--grn,.LogoCard--localorbit,.LogoCard--mybesthelper,.LogoCard--radicle,.LogoCard--visioncritical{background-color:#fff}.LogoCard--powershifter{background-color:#0060ff}.LogoCard--unbounce{background-color:#2379b3}.LogoCard--checkup path,.LogoCard--unbounce path{fill:var(--white)}.LogoCard-logo{width:100%;height:auto}}@layer components{.LogoManicule--previous,.LogoManicule{height:auto}.LogoManicule{stroke:var(--theme-fg-colour)}}@layer components{.LogoMark{stroke:var(--theme-fg-colour);height:auto}}@layer components{.Map{height:clamp(300px,33vw,420px);margin:var(--space-s-m) 0}}@layer components{.Organization{font-size:2.75em;text-align:center}.Organization-label{font-size:var(--step--1);color:var(--theme-fg-colour-tertiary)}}@layer components{.Organizations{display:flex;max-width:var(--copy-width);justify-content:space-evenly;margin-block:var(--space-m-l) var(--space-xs-s);list-style-type:none;padding-left:0}}@layer components{.Portrait{margin-bottom:var(--space-s-m);border-radius:50%;line-height:0;display:block;background-color:var(--theme-portrait-bg-colour)}.Portrait img{max-width:42vw}.Portrait--author{margin-bottom:0}.Portrait--author img{width:var(--space-m-l)}}@layer components{.PortraitLink{line-height:0}.PortraitLink img{will-change:filter;filter:var(--theme-filter-grayscale);transition:filter .5s cubic-bezier(.1,.46,.32,.9)}.PortraitLink:hover img{filter:none}}@layer components{.Process{width:100%;color:var(--theme-fg-colour-secondary)}.Process--thirds .Process-pictureSet img,.Process--thirds .Process-pictureSet svg{flex-basis:33%}.Process-pictureSet{display:flex;align-items:center;gap:var(--space-xs-s);line-height:0}.Process-iconSet{display:flex;align-items:center;justify-content:space-evenly;gap:var(--space-xs-s);font-size:2.6rem}.Process-arrow{font-size:var(--step-2)}}@layer components{.Quote{--type-weight: 400;--type-slant: -10;border-top-left-radius:var(--space-s);border-bottom-right-radius:var(--space-s);text-wrap:balance;padding:var(--space-m-l);background-color:var(--theme-bg-colour-tertiary);margin:var(--step-0) 0 0;display:inline-block}.Quote-attribution{margin-block-start:1em;font-size:var(--step--1);color:var(--theme-fg-colour-tertiary)}}@layer components{.Screenshots{--space-screenshots: var(--space-l-xl);margin-block:var(--space-screenshots);display:grid;gap:var(--space-screenshots);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));padding:var(--space-screenshots);background-color:var(--theme-bg-colour)}.Screenshots--climatesmart{--cs-turquoise-dark: #007886;background-color:var(--cs-turquoise-dark)}.Screenshots--allInPictures{background-color:#b5b1b2}.Screenshots--cardDecks{padding:var(--space-xs-s);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:0;background-color:var(--white)}.Screenshots--GRN{background-color:#5a5e9d}.Screenshots--CBSM{background-color:#143f00}}@layer components{.Stores{margin-block:var(--space-l-xl);display:flex;justify-content:space-evenly}.Stores-appStoreBadge{fill:var(--theme-fg-colour-absolute)}.Stores-appStoreBadgeBackground{fill:var(--theme-bg-colour-absolute)}}@layer components{.Subscribe{border-top-left-radius:var(--space-s);border-bottom-right-radius:var(--space-s);background-color:var(--theme-bg-colour-tertiary);padding:var(--space-m-l);margin-block:var(--space-xl-2xl) var(--space-2xl-3xl)}.Subscribe-pitch>*+*{margin-block-start:var(--flow-space, 1lh)}.Subscribe-pitch>h5+h1{margin-block-start:0}.Subscribe-pitch>h1+p{margin-block-start:var(--space-l-xl)}.Subscribe-pitch li:not([class]){margin-block-start:var(--flow-space, 1lh)}.Subscribe-form{margin-block-start:var(--space-s-m);display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:calc(var(--space-xs) + 2px);max-width:36rem}.Subscribe-email{flex-grow:52}.Subscribe-submit{flex-grow:1}.Subscribe-submitButton{width:100%}}@layer components{.TeamMember-details>*+*{margin-block-start:var(--flow-space, 1lh)}.TeamMember-details>h5+h1{margin-block-start:0}.TeamMember-details>h1+p{margin-block-start:var(--space-l-xl)}.TeamMember-details li:not([class]){margin-block-start:var(--flow-space, 1lh)}.TeamMember-links{display:flex;gap:var(--space-s-m);font-size:2.75rem}.TeamMember-link{filter:grayscale(1) contrast(1.2)}.TeamMember-link:hover{filter:none}.TeamMember-portrait{max-width:50%;margin-block-end:var(--space-m-l);filter:var(--theme-filter-grayscale)}@media (min-width: 42em){.TeamMember{display:grid;grid-template-columns:minmax(287px,1fr) 2fr;gap:var(--space-l-xl);align-items:flex-start}.TeamMember-portrait{max-width:100%;margin-inline-start:var(--space-s-m)}}}@layer components{.TeamMembers{margin-top:var(--space-l-xl);display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-auto-rows:1fr;gap:var(--space-m-l)}.TeamMembers-member{text-align:center}.TeamMembers-memberBackground{transition:background-color .9s ease}.TeamMembers-memberBackground:hover{background-color:#faa8f15e}.TeamMembers-memberLink{text-decoration:none}}@layer components{.TeamWall{display:grid;grid-template-columns:1fr 1fr;gap:0;overflow:hidden;border-top-left-radius:clamp(0px,calc(100vw - 100%) * 1e5,var(--space-s));border-bottom-right-radius:clamp(0px,calc(100vw - 100%) * 1e5,var(--space-s))}.TeamWall-member{aspect-ratio:1 / 1;overflow:hidden}.TeamWall-member img{margin-block-start:calc(var(--space-xs) * -1)}.TeamWall-member:nth-child(1),.TeamWall-member:nth-child(4){background-color:var(--theme-bg-colour-secondary)}.TeamWall-member:nth-child(2),.TeamWall-member:nth-child(3){background-color:var(--theme-bg-colour-tertiary)}}@layer components{.Testimonial{--type-weight: var(--type-weight-dark-on-light);width:100%;max-width:var(--content-width);background-color:var(--pink-light);margin-inline:auto;border-top-left-radius:clamp(0px,calc(100vw - 100%) * 1e5,var(--space-s));border-bottom-right-radius:clamp(0px,calc(100vw - 100%) * 1e5,var(--space-s));padding:var(--space-l-xl) var(--space-l-xl) 5em;text-align:left;display:flex;flex-direction:column}.Testimonial-quote{color:var(--grayscale-1000);font-size:var(--step-1);margin-top:var(--space-xs-s);max-width:50ch}.Testimonial-quote:before{content:"“";margin-inline-start:-.357em}.Testimonial-quote:after{content:"”"}.Testimonial-attribution{margin-top:var(--space-xs-s);color:var(--grayscale-800)}.Testimonial-quotee{--type-weight: var(--type-weight-dark-on-light);display:block;font-size:var(--step-0)}.Testimonial-role{--type-weight: 400;font-size:var(--step--1);text-transform:uppercase;color:var(--grayscale-700)}}@layer components{.Testimonials{margin-block:var(--space-xl-2xl) 0}.Testimonials-wrapper{overflow:hidden;max-width:100vw}.Testimonials--fullBleed{background-color:var(--pink-light)}}@layer components{.Tile{width:100%;height:100%;display:grid;place-items:center}.Tile--logo{stroke:var(--theme-fg-colour-secondary);transform:rotate(-29deg)}.Tile--rails{--color5: var(--theme-fg-colour-secondary);font-size:5vmax;display:grid;place-items:center}.Tile--ansible,.Tile--javascript,.Tile--ruby{font-size:10vmax;color:var(--theme-fg-colour-secondary)}.Tile--char{font-size:10vmax;color:var(--theme-accent-colour)}.Tile--number{font-size:8vmax;color:var(--theme-bg-colour)}}
