@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/literata-cyrillic-ext-opsz-normal.C5tfwALZ.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/literata-cyrillic-opsz-normal.DgmypKXX.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/literata-greek-ext-opsz-normal.DGm64vGR.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/literata-greek-opsz-normal.DFglUmAd.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/literata-vietnamese-opsz-normal.Gqw5JQlq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/literata-latin-ext-opsz-normal.STiTPs0F.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/literata-latin-opsz-normal.BHZsWIlc.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/literata-cyrillic-ext-opsz-italic.5yUt4G_9.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/literata-cyrillic-opsz-italic.Bj0ndbyp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/literata-greek-ext-opsz-italic.DFpO5j-Z.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/literata-greek-opsz-italic.CHERNRFq.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/literata-vietnamese-opsz-italic.BdcrZMcO.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/literata-latin-ext-opsz-italic.4y8iAqqs.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/literata-latin-opsz-italic.CJ93D38p.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/atkinson-hyperlegible-next-latin-ext-wght-normal.C6vrW8VD.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/atkinson-hyperlegible-next-latin-wght-normal.BcXVPD7q.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-ink:#231c33;--color-ink-muted:#5d566c;--color-paper:#fff;--color-tint:#f5f3f8;--color-line:#e2dde9;--color-line-strong:#b9b1c6;--color-control-border:#8a8199;--color-accent:#4b2777;--color-accent-strong:#36195a;--color-accent-soft:#ece6f4;--color-on-accent:#fff;--color-on-accent-muted:#ece6f4;--color-band:oklch(93% .035 300);--color-band-warm:oklch(94.5% .035 61.4);--color-thumb:oklch(94.5% .035 61.4);--color-panel-raspberry:oklch(37% .128 355);--color-panel-raspberry-text:oklch(93% .03 355);--color-panel-teal:oklch(37% .054 205);--color-panel-teal-text:oklch(93% .03 205);--color-panel-green:oklch(37% .086 150);--color-panel-green-text:oklch(93% .03 150);--color-panel-blue:oklch(37% .116 258);--color-panel-blue-text:oklch(93% .03 258);--font-serif:"Literata Variable", "Literata Fallback", Georgia, "Times New Roman", serif;--font-sans:"Atkinson Hyperlegible Next Variable", "Atkinson Fallback", system-ui, -apple-system, "Segoe UI", sans-serif;--text-caption:.875rem;--text-ui:1rem;--text-body:1.125rem;--text-lede:clamp(1.25rem, 1.15rem + .45vw, 1.4375rem);--text-h3:1.375rem;--text-pull:clamp(1.375rem, 1.1rem + 1.1vw, 1.875rem);--text-h2:clamp(1.625rem, 1.4rem + 1vw, 2.125rem);--text-h1:clamp(2.25rem, 1.75rem + 2.25vw, 3.5rem);--leading-tight:1.15;--leading-snug:1.3;--leading-ui:1.45;--leading-body:1.65;--weight-regular:400;--weight-medium:500;--weight-bold:620;--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.75rem;--space-s:1rem;--space-m:1.5rem;--space-l:2rem;--space-xl:3rem;--space-2xl:4.5rem;--space-section:clamp(3.5rem, 2.5rem + 4vw, 6.5rem);--wrap:72rem;--measure:38rem;--gutter:max(clamp(1rem, .5rem + 2.5vw, 2rem), env(safe-area-inset-left,0px), env(safe-area-inset-right,0px));--radius-s:.25rem;--radius-m:.5rem;--focus-ring:3px solid var(--color-accent);--image-outline:1px solid oklch(0% 0 0/.1);--radius-l:.75rem;--radius-pill:999px;--shadow-raised:0 1px 2px oklch(20% .04 300/.06), 0 8px 24px -8px oklch(20% .04 300/.14);--header-height:4.5rem;--duration-fast:.15s;--ease-out:cubic-bezier(.2, 0, 0, 1)}@font-face{font-family:Literata Fallback;src:local(Georgia);size-adjust:108.01%;ascent-override:108.97%;descent-override:28.52%;line-gap-override:0%}@font-face{font-family:Atkinson Fallback;src:local(Arial),local(ArialMT);size-adjust:100.08%;ascent-override:98.32%;descent-override:31.58%;line-gap-override:0%}*,:before,:after{box-sizing:border-box}html{color-scheme:light only;-webkit-tap-highlight-color:transparent;font-synthesis:none;scroll-padding-top:calc(var(--header-height) + var(--space-s));-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-serif);font-size:var(--text-body);line-height:var(--leading-body);font-optical-sizing:auto;margin:0}h1,h2,h3{font-family:var(--font-serif);font-weight:var(--weight-bold);margin:0}h1{font-size:var(--text-h1);line-height:var(--leading-tight);letter-spacing:-.015em}h2{font-size:var(--text-h2);line-height:var(--leading-tight);letter-spacing:-.01em}h3{font-size:var(--text-h3);line-height:var(--leading-snug)}p,ul,ol,dl,figure,blockquote{margin:0}img{max-width:100%;height:auto;display:block}a{color:var(--color-accent);text-underline-position:from-font;text-underline-offset:.12em;text-decoration-line:underline;text-decoration-thickness:from-font}@media (hover:hover) and (pointer:fine){a:hover{color:var(--color-accent-strong);text-decoration-thickness:2px}}:focus-visible{outline:var(--focus-ring);outline-offset:2px}::selection{background:var(--color-accent-soft);color:var(--color-ink)}.skip-link{left:var(--gutter);top:var(--space-2xs);z-index:30;padding:var(--space-2xs) var(--space-s);background:var(--color-accent);color:var(--color-on-accent);font-family:var(--font-sans);font-size:var(--text-ui);position:absolute;transform:translateY(-200%)}.skip-link:focus{transform:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}[hidden]{display:none!important}a,button,input,select,textarea,label{touch-action:manipulation}button,.button{-webkit-user-select:none;user-select:none}.wrap{width:100%;max-width:calc(var(--wrap) + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.measure{max-width:var(--measure)}.wrap.measure{max-width:calc(var(--measure) + 2 * var(--gutter))}.section{padding-block:var(--space-section)}.section:not(.section--tint)+.section:not(.section--tint){padding-top:0}.section--tint{background:var(--color-tint)}.section--band{background:var(--color-band)}.section--band-warm{background:var(--color-band-warm)}.section--flush{padding-top:0}.section__heading{margin-bottom:var(--space-m)}.section__intro{max-width:50rem;margin-top:calc(-1 * var(--space-2xs));margin-bottom:var(--space-l);color:var(--color-ink-muted)}.split{gap:var(--space-xl);display:grid}@media (width>=56rem){.split--image{grid-template-columns:minmax(0, var(--measure)) minmax(14rem, 24rem);justify-content:space-between;align-items:start}}.split__image{border-radius:var(--radius-m);outline:var(--image-outline);outline-offset:-1px}.meta,.breadcrumb{font-family:var(--font-sans);font-size:var(--text-caption);line-height:var(--leading-ui);color:var(--color-ink-muted)}.breadcrumb{margin-bottom:var(--space-xs)}.breadcrumb a{color:inherit;position:relative}.breadcrumb a:before{content:"";position:absolute;inset:-.8rem -.5rem}.lede{font-size:var(--text-lede);text-wrap:pretty;line-height:1.5}.text-link{font-family:var(--font-sans);font-size:var(--text-ui);font-weight:var(--weight-bold);position:relative}.text-link:before{content:"";position:absolute;inset:-.75rem -.25rem}.actions{gap:var(--space-xs);flex-wrap:wrap;display:flex}.button{min-height:2.875rem;padding:var(--space-xs) var(--space-m);border:2px solid var(--color-accent);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-on-accent);font-family:var(--font-sans);font-size:var(--text-ui);font-weight:var(--weight-bold);white-space:nowrap;cursor:pointer;align-items:center;line-height:1.2;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.button:hover{border-color:var(--color-accent-strong);background:var(--color-accent-strong);color:var(--color-on-accent)}.button--quiet:hover{background:var(--color-accent-soft);color:var(--color-accent-strong)}.button--light:hover{border-color:var(--color-accent-soft);background:var(--color-accent-soft);color:var(--color-accent-strong)}}@media (prefers-reduced-motion:no-preference){.button{transition-property:scale;transition-duration:.15s;transition-timing-function:var(--ease-out)}.button:active:not(:disabled){scale:.96}}.button:disabled,.button[aria-disabled=true]{opacity:.6;cursor:progress}.button--quiet{color:var(--color-accent);background:0 0}.button--light{border-color:var(--color-on-accent);background:var(--color-on-accent);color:var(--color-accent-strong)}.plain-list{padding:0;list-style:none}.prose{font-variant-numeric:oldstyle-nums}.prose>*+*{margin-top:1em}.prose h2{margin-top:var(--space-xl)}.prose h3{margin-top:var(--space-l)}.prose h2+*,.prose h3+*{margin-top:var(--space-xs)}.prose ul,.prose ol{padding-inline-start:1.25em}.prose li+li{margin-top:.5em}.prose li::marker{color:var(--color-ink-muted)}.prose li>p{margin:0}.prose a{overflow-wrap:break-word}.prose img{margin-block:var(--space-m);border-radius:var(--radius-m);outline:var(--image-outline);outline-offset:-1px}.prose figure{margin-block:var(--space-m)}.prose figure img{margin-block:0}.prose figcaption{margin-top:var(--space-2xs)}.site-header{z-index:20;background:var(--color-paper);transition-property:border-color,box-shadow;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);border-bottom:1px solid #0000;position:sticky;top:0}@supports (backdrop-filter:blur(1px)){.site-header{backdrop-filter:blur(14px)saturate(1.5);background:oklch(100% 0 0/.82)}}.site-header[data-scrolled]{border-bottom-color:var(--color-line);box-shadow:0 6px 20px -12px oklch(20% .04 300/.18)}.site-header__inner{justify-content:space-between;align-items:center;gap:var(--space-xs) var(--space-l);min-height:var(--header-height);padding-block:var(--space-xs);flex-wrap:wrap;display:flex}.wordmark{color:var(--color-ink);text-decoration:none;display:grid}.wordmark:hover{color:var(--color-ink)}.wordmark__name{font-size:var(--text-h3);font-weight:var(--weight-bold);line-height:var(--leading-snug)}.wordmark__tagline{font-family:var(--font-sans);font-size:var(--text-caption);line-height:var(--leading-ui);color:var(--color-ink-muted)}.site-nav{align-items:center;gap:var(--space-xs) var(--space-m);flex-wrap:wrap;display:flex}.site-nav__list{gap:var(--space-3xs);flex-wrap:wrap;padding:0;list-style:none;display:flex}.site-nav__link{min-height:2.5rem;padding-inline:var(--space-s);border-radius:var(--radius-pill);color:var(--color-ink);font-family:var(--font-sans);font-size:var(--text-ui);transition-property:background-color,color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);align-items:center;line-height:1;text-decoration:none;display:inline-flex}.site-nav__link[aria-current=page]{background:var(--color-accent-soft);color:var(--color-accent-strong);font-weight:var(--weight-bold)}@media (hover:hover) and (pointer:fine){.site-nav__link:hover{background:var(--color-tint);color:var(--color-accent-strong);text-decoration:none}.site-nav__link[aria-current=page]:hover{background:var(--color-accent-soft)}}.site-nav__item--menu{border-radius:var(--radius-pill);transition-property:background-color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);align-items:center;display:flex;position:relative}.site-nav__item--menu>.site-nav__link{background:0 0;padding-inline-end:var(--space-3xs)}.site-nav__item--menu:has(>.site-nav__link[aria-current=page]){background:var(--color-accent-soft)}@media (hover:hover) and (pointer:fine){.site-nav__item--menu:hover{background:var(--color-tint)}.site-nav__item--menu:has(>.site-nav__link[aria-current=page]):hover{background:var(--color-accent-soft)}.site-nav__item--menu>.site-nav__link:hover{background:0 0}}.site-nav__toggle{width:2rem;height:2.5rem;border-radius:var(--radius-pill);color:var(--color-ink-muted);cursor:pointer;background:0 0;border:0;place-items:center;margin-inline-end:var(--space-3xs);padding:0;display:inline-grid;position:relative}.site-nav__toggle:before{content:"";position:absolute;inset:-.125rem 0}.site-nav__toggle svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}@media (prefers-reduced-motion:no-preference){.site-nav__toggle svg{transition-property:rotate;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out)}}.site-nav__toggle[aria-expanded=true] svg{rotate:180deg}.submenu__list{padding:0;list-style:none}.submenu__link{padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-s);color:var(--color-ink);font-family:var(--font-sans);font-size:var(--text-ui);line-height:var(--leading-ui);transition-property:background-color,color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);text-decoration:none;display:block}.submenu__link[aria-current=page]{background:var(--color-accent-soft);color:var(--color-accent-strong);font-weight:var(--weight-bold)}@media (hover:hover) and (pointer:fine){.submenu__link:hover{background:var(--color-tint);color:var(--color-accent-strong)}}@media (width>=48rem){.submenu{top:calc(100% + var(--space-2xs));left:calc(-1 * var(--space-2xs));z-index:30;min-width:19rem;padding:var(--space-2xs);border:1px solid var(--color-line);border-radius:var(--radius-l);background:var(--color-paper);box-shadow:var(--shadow-raised);opacity:0;visibility:hidden;transform-origin:0 0;transition:opacity var(--duration-fast) var(--ease-out) .1s, visibility 0s linear .25s, translate 0s linear .25s, scale 0s linear .25s;position:absolute}@media (prefers-reduced-motion:no-preference){.submenu{translate:0 -4px;scale:.98}}.site-nav__toggle[aria-expanded=true]+.submenu{opacity:1;visibility:visible;transition:none;translate:0;scale:1}[data-instant] .submenu{transition:none}.submenu:before{content:"";inset:calc(-1 * var(--space-2xs) - 1px) 0 auto;height:var(--space-2xs);position:absolute}@media (hover:hover) and (pointer:fine){.site-nav__item--menu:hover .submenu{opacity:1;visibility:visible;transition:opacity var(--duration-fast) var(--ease-out), translate var(--duration-fast) var(--ease-out), scale var(--duration-fast) var(--ease-out), visibility 0s;translate:0;scale:1}.site-nav__item--menu:hover .site-nav__toggle svg{rotate:180deg}}}.button--small{min-height:2.5rem;padding:var(--space-2xs) var(--space-s);border-radius:var(--radius-pill)}.menu-button{align-items:center;gap:var(--space-2xs);min-height:2.75rem;padding:var(--space-2xs) var(--space-s);border:1px solid var(--color-control-border);border-radius:var(--radius-pill);background:var(--color-paper);color:var(--color-ink);font-family:var(--font-sans);font-size:var(--text-ui);cursor:pointer;display:inline-flex}.menu-button__icon{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round}@media (width<=47.99rem){[data-collapsible] .site-nav{align-items:stretch;gap:var(--space-m);max-height:calc(100dvh - var(--header-height));margin-inline:calc(-1 * var(--space-2xs));padding:var(--space-s) var(--space-2xs) calc(var(--space-m) + env(safe-area-inset-bottom,0px));overscroll-behavior:contain;flex-direction:column;flex-basis:100%;overflow-y:auto}[data-collapsible] .menu-button[aria-expanded=false]+.site-nav{display:none}@media (prefers-reduced-motion:no-preference){[data-collapsible] .site-nav{transition:opacity .18s var(--ease-out), translate .18s var(--ease-out), display .18s allow-discrete}[data-collapsible] .menu-button[aria-expanded=false]+.site-nav{opacity:0;transition-duration:.12s}@starting-style{[data-collapsible] .menu-button[aria-expanded=true]+.site-nav{opacity:0;translate:0 -6px}}}[data-collapsible] .site-nav__list{flex-direction:column}[data-collapsible] .site-nav__link{width:100%;min-height:3rem;font-family:var(--font-serif);font-size:var(--text-h3);font-weight:var(--weight-bold);border-radius:var(--radius-m)}[data-collapsible] .site-nav__item--menu{flex-wrap:wrap}[data-collapsible] .site-nav__toggle{display:none}[data-collapsible] .submenu{flex-basis:100%;padding-inline-start:var(--space-s)}.site-header:not([data-collapsible]) .submenu{display:none}[data-collapsible] .site-nav__cta{justify-content:center;min-height:3rem}}@media (width>=48rem){.menu-button{display:none}}.intro{padding-block:var(--space-section)}.intro__grid{gap:var(--space-xl);display:grid}@media (width>=56rem){.intro__grid--image{grid-template-columns:minmax(0,1fr) auto;align-items:end}.intro__grid:has(.cover-stack){align-items:center}}.intro__heading{max-width:18ch}.intro__lede{max-width:var(--measure);margin-top:var(--space-m);font-size:var(--text-lede);text-wrap:pretty;line-height:1.5}.intro__lede--line{max-width:54rem}.intro .actions{margin-top:var(--space-l)}.intro__portrait{border-radius:var(--radius-m);outline:var(--image-outline);outline-offset:-1px;width:auto;max-height:22rem}.intro:not(.intro--fill,.intro--colour)+.section:not(.section--tint){padding-top:0}.cover-stack{aspect-ratio:1;width:min(100%,22rem);margin-inline:auto;position:relative}@media (width>=56rem){.cover-stack{width:26rem;margin-inline:0}}.cover-stack__item{--spread:0;aspect-ratio:3/4;border-radius:var(--radius-s);background:var(--color-paper);width:52%;translate:calc(-50% + (var(--i) - 1.5) * (22% + var(--spread) * 6%)) calc(-50% + (var(--i) - 1.5) * -3%);rotate:calc((var(--i) - 1.5) * (5deg + var(--spread) * 2deg));z-index:calc(4 - var(--i));position:absolute;top:50%;left:50%;overflow:hidden;box-shadow:0 1px 2px oklch(20% .04 300/.12),0 18px 40px -16px oklch(20% .04 300/.35)}.cover-stack__item img{object-fit:cover;object-position:top;width:100%;height:100%}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.cover-stack__item{transition-property:translate,rotate;transition-duration:.4s;transition-timing-function:cubic-bezier(.2,0,0,1)}.cover-stack:hover .cover-stack__item{--spread:1}}.intro--fill{padding-block:var(--space-s) 0}.intro__media{aspect-ratio:3/2;border-radius:var(--radius-l);background:var(--color-tint);overflow:hidden}.intro__media img{object-fit:cover;width:100%;height:100%}.intro--fill .intro__text{padding-block:var(--space-xl) var(--space-l)}@media (width>=56rem){.intro__panel{border-radius:var(--radius-l);align-items:center;min-height:clamp(30rem,100svh - 13rem,42rem);display:grid;position:relative;overflow:hidden}.intro__panel .intro__media{aspect-ratio:auto;border-radius:0;position:absolute;inset:0}.intro--fill .intro__text{z-index:1;max-width:36rem;margin:var(--space-l);padding:var(--space-xl);border-radius:var(--radius-m);box-shadow:var(--shadow-raised);background:oklch(100% 0 0/.94);border:1px solid oklch(100% 0 0/.7);position:relative}@supports (backdrop-filter:blur(1px)){.intro--fill .intro__text{backdrop-filter:blur(24px);background:oklch(100% 0 0/.86)}}.intro__panel .intro__media img{object-position:70% center}.intro--fill .intro__lede{max-width:32rem}}.intro--colour{--panel:var(--color-accent-strong);--panel-text:var(--color-on-accent-muted);padding-block:var(--space-2xl);background:var(--panel);color:var(--color-on-accent)}.intro--colour[data-tone=raspberry]{--panel:var(--color-panel-raspberry);--panel-text:var(--color-panel-raspberry-text)}.intro--colour[data-tone=teal]{--panel:var(--color-panel-teal);--panel-text:var(--color-panel-teal-text)}.intro--colour[data-tone=green]{--panel:var(--color-panel-green);--panel-text:var(--color-panel-green-text)}.intro--colour[data-tone=blue]{--panel:var(--color-panel-blue);--panel-text:var(--color-panel-blue-text)}.intro--colour .breadcrumb{color:var(--panel-text)}.intro--colour .intro__heading{color:var(--color-on-accent)}.intro--colour .intro__lede{color:var(--panel-text)}.intro--colour .button--light{color:var(--panel)}.intro--colour .button--quiet{border-color:var(--color-on-accent);color:var(--color-on-accent)}@media (hover:hover) and (pointer:fine){.intro--colour .button--light:hover{border-color:var(--panel-text);background:var(--panel-text);color:var(--panel)}.intro--colour .button--quiet:hover{border-color:var(--color-on-accent);color:var(--color-on-accent);background:oklch(100% 0 0/.14)}}.intro--colour :focus-visible{outline-color:var(--color-on-accent)}.intro--colour .intro__media--portrait{aspect-ratio:4/5}.intro--colour .intro__media--portrait img{object-position:50% 5%}.intro--colour+.clients--marquee{padding-top:var(--space-xl)}@media (width>=56rem){.intro--colour{padding-bottom:calc(var(--space-2xl) + var(--space-s))}.intro__grid--colour{align-items:center;gap:var(--space-2xl);grid-template-columns:minmax(0,1fr) minmax(0,28rem)}}.clients--marquee{padding-block:var(--space-l) var(--space-section)}.marquee__bar{justify-content:space-between;align-items:center;gap:var(--space-m);margin-bottom:var(--space-s);display:flex}.marquee__heading{color:var(--color-ink-muted);font-family:var(--font-sans);font-size:var(--text-ui);font-weight:var(--weight-bold);line-height:var(--leading-ui)}.marquee__viewport{display:flex;overflow:hidden;mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.marquee__track{align-items:center;gap:var(--space-2xl);padding:var(--space-2xs) var(--space-2xl) var(--space-2xs) 0;flex:none;margin:0;list-style:none;display:flex}.marquee__item{flex:none}.marquee__logo{object-fit:contain;filter:grayscale()contrast(1.2);opacity:.6;width:auto;max-width:12rem;height:2.5rem}.marquee__name{color:var(--color-ink-muted);font-family:var(--font-serif);font-size:var(--text-body);font-weight:var(--weight-bold);white-space:nowrap}.marquee__toggle:not(:focus-visible){clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.marquee__toggle{border:1px solid var(--color-control-border);border-radius:var(--radius-pill);background:var(--color-paper);width:2.5rem;height:2.5rem;color:var(--color-ink);cursor:pointer;flex:none;place-items:center;display:inline-grid}.marquee__toggle svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.marquee__icon-play,.marquee__toggle[aria-pressed=true] .marquee__icon-pause{display:none}.marquee__toggle[aria-pressed=true] .marquee__icon-play{fill:currentColor;display:inline}@media (prefers-reduced-motion:no-preference){.marquee{--marquee-pace:6.5s}@media (width<=47.99rem){.marquee{--marquee-pace:4.75s}}.marquee__track{animation:marquee calc(var(--marquee-items,8) * var(--marquee-pace)) linear infinite}.marquee:focus-within .marquee__track{animation-play-state:paused}@media (hover:hover) and (pointer:fine){.marquee:not([data-enhanced]) .marquee__viewport:hover .marquee__track{animation-play-state:paused}}}@media (prefers-reduced-motion:reduce){.marquee__viewport{mask-image:none}.marquee__track{gap:var(--space-m) var(--space-xl);flex-wrap:wrap;flex:1}.marquee__track[aria-hidden]{display:none}}@keyframes marquee{to{translate:-100%}}.clients__heading,.clients__list,.clients__list li{display:inline}.clients__heading,.clients__list{font-size:var(--text-h3);line-height:1.4}@media (width>=48rem){.clients__heading,.clients__list{font-size:var(--text-h2);letter-spacing:-.01em;line-height:1.35}}.clients__heading{margin-inline-end:.3em}.clients__more{margin-top:var(--space-m)}.client-grid{gap:var(--space-s);grid-template-columns:repeat(auto-fill,minmax(min(100%,12rem),1fr));padding:0;list-style:none;display:grid}.client-grid li{min-height:6.5rem;padding:var(--space-m);border:1px solid var(--color-line);border-radius:var(--radius-m);text-align:center;place-items:center;display:grid}.client-grid__logo{object-fit:contain;filter:grayscale()contrast(1.2);opacity:.7;width:auto;max-width:100%;height:2.5rem;transition-property:filter,opacity;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out)}@media (hover:hover) and (pointer:fine){.client-grid li:hover .client-grid__logo{filter:none;opacity:1}}.client-grid__name{color:var(--color-ink-muted);font-family:var(--font-serif);font-size:var(--text-ui);font-weight:var(--weight-bold);line-height:var(--leading-snug)}.logos{align-items:center;gap:var(--space-l) var(--space-xl);margin-bottom:var(--space-2xl);grid-template-columns:repeat(auto-fit,minmax(min(100%,8.5rem),1fr));padding:0;list-style:none;display:grid}.logos li{place-items:center start;display:grid}.logos__mark{object-fit:contain;filter:grayscale()contrast(1.2);opacity:.6;width:auto;max-width:100%;height:2.25rem;transition-property:filter,opacity;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out)}@media (hover:hover) and (pointer:fine){.logos li:hover .logos__mark{filter:none;opacity:1}}.clients__list{font-weight:var(--weight-regular);color:var(--color-ink-muted);padding:0}.clients__list li:not(:last-child):after{content:" / ";color:var(--color-line-strong)}.service-list{border-top:1px solid var(--color-line);padding:0;list-style:none}.service-list__item{border-bottom:1px solid var(--color-line)}.service-list__link{gap:var(--space-2xs) var(--space-xl);margin-inline:calc(-1 * var(--space-s));padding:var(--space-m) var(--space-s);border-radius:var(--radius-m);color:var(--color-ink);transition-property:background-color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);text-decoration:none;display:grid}@media (width>=48rem){.service-list__link{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}.service-list__title{color:var(--color-accent);text-decoration:underline;text-decoration-color:var(--color-accent-soft);text-underline-offset:.18em;font-size:var(--text-h3);font-weight:var(--weight-bold);line-height:var(--leading-snug);text-decoration-thickness:2px}.service-list__summary{color:var(--color-ink-muted);text-wrap:pretty}@media (hover:hover) and (pointer:fine){.service-list__link:hover{background:var(--color-tint)}.section--tint .service-list__link:hover{background:var(--color-paper)}.service-list__link:hover .service-list__title{text-decoration-color:currentColor}}.service-list--compact .service-list__summary{font-size:var(--text-ui);font-family:var(--font-sans);line-height:var(--leading-ui)}.stretched-link:after{content:"";position:absolute;inset:0}.work-grid{gap:var(--space-xl) var(--space-l);margin-bottom:var(--space-l);grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));padding:0;list-style:none;display:grid}.work-card{position:relative}.work-card__thumb{aspect-ratio:4/3;padding:var(--space-m);border-radius:var(--radius-m);background:var(--color-thumb);transition-property:box-shadow;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out)}.work-card__image{object-fit:contain;filter:drop-shadow(0 1px 1px oklch(20% .04 300/.14))drop-shadow(0 4px 10px oklch(20% .04 300/.12));width:100%;height:100%;transition-property:translate;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out)}.work-card__title{margin-top:var(--space-s);margin-bottom:var(--space-3xs);font-size:var(--text-body);line-height:var(--leading-snug)}.work-card__title a{color:var(--color-ink);text-decoration:none}@media (hover:hover) and (pointer:fine){.work-card:hover .work-card__thumb{box-shadow:var(--shadow-raised)}.work-card:hover .work-card__title a{color:var(--color-accent);text-decoration:underline}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.work-card:hover .work-card__image{translate:0 -3px}}.work-grid--portfolio{gap:var(--space-2xl) var(--space-l)}@media (width>=64rem){.work-grid--portfolio{grid-template-columns:repeat(3,minmax(0,1fr))}}.work-grid--portfolio .work-card__title{font-size:var(--text-h3)}.work-card__summary{margin-top:var(--space-2xs);color:var(--color-ink-muted);font-size:var(--text-ui);line-height:var(--leading-ui);text-wrap:pretty}.project-page .meta{margin-top:calc(-1 * var(--space-2xs))}.project-page__summary{margin-top:var(--space-m)}.project-page__image img{border-radius:var(--radius-m);outline:var(--image-outline);outline-offset:-1px;max-width:min(100%,20rem);box-shadow:var(--shadow-raised)}@media (width>=56rem){.work-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}}.testimonial__quote p:before{content:"“"}.testimonial__quote p:after{content:"”"}.testimonial__quote{text-wrap:pretty}.testimonial__by{align-items:center;gap:var(--space-xs);margin-top:var(--space-m);font-family:var(--font-sans);font-size:var(--text-caption);line-height:var(--leading-ui);color:var(--color-ink-muted);display:flex}.testimonial__who{display:grid}.testimonial__avatar{object-fit:cover;outline:var(--image-outline);outline-offset:-1px;border-radius:50%;flex:none;width:2.75rem;height:2.75rem}.testimonial__avatar--initials{background:var(--color-accent-soft);color:var(--color-accent-strong);font-family:var(--font-sans);font-size:var(--text-caption);font-weight:var(--weight-bold);letter-spacing:.02em;outline:none;place-items:center;display:grid}.testimonial--featured .testimonial__avatar{width:3.5rem;height:3.5rem}.testimonials .testimonial__avatar--initials,.section--band-warm .testimonials>li{background:var(--color-paper)}.section--band-warm .testimonials .testimonial__avatar--initials{background:var(--color-accent-soft)}.testimonial__name{color:var(--color-ink);font-size:var(--text-ui);font-weight:var(--weight-bold)}.testimonial--featured{max-width:46rem}.testimonial--featured .testimonial__quote{font-size:var(--text-pull);letter-spacing:-.005em;line-height:1.35}.testimonials{gap:var(--space-s);margin:var(--space-xl) calc(-1 * var(--gutter)) 0;padding:0 var(--gutter) var(--space-s);overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);grid-auto-columns:min(85%,22rem);grid-auto-flow:column;list-style:none;display:grid;overflow-x:auto}.testimonials>li{scroll-snap-align:start;padding:var(--space-m);border-radius:var(--radius-m);background:var(--color-tint)}@media (width>=56rem){.testimonials{gap:var(--space-l);grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;margin-inline:0;padding:0;overflow:visible}.testimonials>li:last-child:nth-child(odd){width:calc((100% - var(--space-l)) / 2);grid-column:1/-1;justify-self:center}.testimonials .testimonial{flex-direction:column;height:100%;display:flex}.testimonials .testimonial__quote{flex:1}}.offers{gap:var(--space-s) var(--space-xl);padding:0;list-style:none;display:grid}@media (width>=48rem){.offers{grid-template-columns:repeat(2,minmax(0,1fr))}}.offers li{padding-top:var(--space-s);border-top:2px solid var(--color-line);text-wrap:pretty}.offers__more{margin-top:var(--space-l)}.facts{gap:var(--space-s);grid-template-columns:minmax(0,1fr);display:grid}.facts__item{padding:var(--space-m);border-radius:var(--radius-m);background:var(--color-tint)}@media (width>=40rem){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=64rem){.facts{grid-template-columns:repeat(4,minmax(0,1fr))}}.facts dt{font-family:var(--font-sans);font-size:var(--text-caption);font-weight:var(--weight-bold);line-height:var(--leading-ui);color:var(--color-ink-muted)}.facts dd{margin:var(--space-3xs) 0 0;white-space:pre-line;text-wrap:pretty}.post-card{gap:var(--space-s);align-content:start;display:grid;position:relative}.post-card__media{aspect-ratio:3/2;border-radius:var(--radius-m);background:var(--color-tint);transition-property:box-shadow,translate;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);overflow:hidden}.post-card__image{object-fit:cover;outline:var(--image-outline);outline-offset:-1px;border-radius:var(--radius-m);width:100%;height:100%}.post-card__media--whole{padding:var(--space-m);background:var(--color-thumb)}.post-card__media--whole .post-card__image{object-fit:contain;filter:drop-shadow(0 1px 1px oklch(20% .04 300/.14))drop-shadow(0 4px 10px oklch(20% .04 300/.12));border-radius:0;outline:none}.post-card__title{margin-top:var(--space-3xs);font-size:var(--text-h3);line-height:var(--leading-snug)}.post-card__title a{color:var(--color-ink);text-decoration:none}.post-card__excerpt{margin-top:var(--space-2xs);color:var(--color-ink-muted);text-wrap:pretty}.post-card--featured{margin-bottom:var(--space-2xl)}@media (width>=56rem){.post-card--featured{gap:var(--space-xl);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center}.post-card--featured .post-card__title{font-size:var(--text-h2);line-height:var(--leading-tight)}.post-card--featured .post-card__excerpt{font-size:var(--text-lede);line-height:1.5}}.post-grid{gap:var(--space-2xl) var(--space-l);grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));display:grid}@media (width>=56rem){.post-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}}.post-grid__more{margin-top:var(--space-xl)}@media (hover:hover) and (pointer:fine){.post-card:hover .post-card__title a{color:var(--color-accent);text-underline-offset:.15em;text-decoration:underline 2px}.post-card:hover .post-card__media{box-shadow:var(--shadow-raised)}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.post-card:hover .post-card__media{translate:0 -3px}}.post__title{margin-bottom:var(--space-s)}.post__standfirst{color:var(--color-ink-muted)}.post__meta{margin-top:var(--space-s)}.page-intro__heading{margin-bottom:var(--space-s)}.page-intro .lede{max-width:var(--measure)}.post__figure{margin-block:var(--space-l)}.post__figure img{border-radius:var(--radius-m)}.post__figure figcaption{margin-top:var(--space-2xs)}.post__body{margin-bottom:var(--space-xl)}.faqs{margin-top:var(--space-2xl);padding-top:var(--space-xl);border-top:1px solid var(--color-line)}.faq+.faq{margin-top:var(--space-l)}.faq__question{margin-bottom:var(--space-2xs)}.cta{padding-block:var(--space-2xl);background:var(--color-accent-strong);color:var(--color-on-accent)}.cta__inner>*+*{margin-top:var(--space-s)}.cta__heading{max-width:24ch}.cta__text{max-width:var(--measure);color:var(--color-on-accent-muted)}.cta p:last-child{margin-top:var(--space-l)}.cta :focus-visible{outline-color:var(--color-on-accent)}.contact{gap:var(--space-2xl);display:grid}@media (width>=56rem){.contact--form{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}}.contact__details{max-width:var(--measure)}.contact__list{align-items:baseline;gap:var(--space-2xs) var(--space-m);margin-top:var(--space-l);grid-template-columns:max-content 1fr;display:grid}.contact__list dt{font-family:var(--font-sans);font-size:var(--text-ui);line-height:var(--leading-body);color:var(--color-ink-muted)}.contact__list dd{overflow-wrap:anywhere;margin:0}.contact-form{gap:var(--space-2xs);font-family:var(--font-sans);display:grid}.contact-form__heading{font-size:var(--text-h3);line-height:var(--leading-snug)}.contact-form label{margin-top:var(--space-xs);font-size:var(--text-ui);font-weight:var(--weight-bold)}.contact-form input,.contact-form textarea{width:100%;padding:var(--space-xs);border:1px solid var(--color-control-border);border-radius:var(--radius-s);background:var(--color-paper);color:var(--color-ink);font:inherit;font-size:var(--text-ui);line-height:var(--leading-ui)}.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:var(--focus-ring);outline-offset:0;border-color:var(--color-accent)}.contact-form{container-type:inline-size}.contact-form__captcha{min-height:86px;margin-top:var(--space-m)}@container (width<=302px){.contact-form__captcha{min-height:148px}}.contact-form .button{margin-top:var(--space-s);justify-self:start}.contact-form__status{font-size:var(--text-ui);min-height:3em}.site-footer{padding-top:var(--space-2xl);background:var(--color-tint);font-family:var(--font-sans);font-size:var(--text-ui);line-height:var(--leading-ui)}.site-footer__grid{gap:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));display:grid}.site-footer__grid>div>*+*{margin-top:var(--space-xs)}.site-footer__name{font-family:var(--font-serif);font-size:var(--text-h3);font-weight:var(--weight-bold);line-height:var(--leading-snug)}.site-footer__heading{font-family:var(--font-sans);font-size:var(--text-ui);line-height:var(--leading-ui)}.site-footer .plain-list li+li{margin-top:var(--space-2xs)}@media (pointer:coarse){.site-footer .plain-list a{padding-block:calc((2.75rem - 1em * var(--leading-ui)) / 2);display:inline-block}.site-footer .plain-list li:has(>a)+li:has(>a){margin-top:0}.site-footer .plain-list li:has(>a):first-child{margin-top:calc(-1 * (2.75rem - 1em * var(--leading-ui)) / 2)}}.site-footer__base{gap:var(--space-3xs) var(--space-m);margin-top:var(--space-2xl);padding-block:var(--space-m) max(var(--space-m), env(safe-area-inset-bottom,0px));border-top:1px solid var(--color-line);color:var(--color-ink-muted);font-size:var(--text-caption);flex-wrap:wrap;display:flex}.site-footer__base a{color:inherit}.toast{inset-inline:0;bottom:max(var(--space-m), env(safe-area-inset-bottom));z-index:40;width:fit-content;max-width:calc(100% - 2 * var(--space-m));padding:var(--space-xs) var(--space-m);border-radius:var(--radius-pill);background:var(--color-ink);color:var(--color-on-accent);font-family:var(--font-sans);font-size:var(--text-ui);font-weight:var(--weight-bold);line-height:var(--leading-ui);opacity:0;pointer-events:none;transition-property:opacity,transform;transition-duration:.2s;transition-timing-function:var(--ease-out);margin-inline:auto;position:fixed;transform:translateY(.5rem);box-shadow:0 1px 2px oklch(0% 0 0/.12),0 6px 20px oklch(0% 0 0/.16)}.toast[data-open]{opacity:1;transform:none}.toast:empty{visibility:hidden}@media (prefers-reduced-motion:reduce){.toast{transform:none}}a:active{color:var(--color-accent-strong)}.button:active{border-color:var(--color-accent-strong);background:var(--color-accent-strong);color:var(--color-on-accent)}.button--quiet:active{background:var(--color-accent-soft);color:var(--color-accent-strong)}.button--light:active{border-color:var(--color-accent-soft);background:var(--color-accent-soft);color:var(--color-accent-strong)}.intro--colour .button--light:active{border-color:var(--panel-text);background:var(--panel-text);color:var(--panel)}.intro--colour .button--quiet:active{border-color:var(--color-on-accent);color:var(--color-on-accent);background:oklch(100% 0 0/.14)}.site-nav__link:active,.submenu__link:active,.menu-button:active,.site-nav__toggle:active{background:var(--color-tint);color:var(--color-accent-strong)}.site-nav__link[aria-current=page]:active{background:var(--color-accent-soft)}.service-list__link:active{background:var(--color-tint)}.section--tint .service-list__link:active{background:var(--color-paper)}.work-card:has(.stretched-link:active) .work-card__thumb,.post-card:has(.stretched-link:active) .post-card__media{box-shadow:var(--shadow-raised)}@media (height<=30rem){:root{--header-height:3.5rem}.site-header__inner{padding-block:var(--space-3xs)}}
