@layer base {
*,:before,:after{box-sizing:border-box}*{margin:0}html{-moz-text-size-adjust:100%;text-size-adjust:100%;scrollbar-gutter:stable;overflow-x:hidden}body{min-height:100vh;line-height:1.5;overflow-x:clip}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;text-wrap:balance}p{text-wrap:pretty}ul[role=list],ol[role=list]{padding-inline-start:0;list-style:none}
}

@layer base {
html{font-optical-sizing:auto}body{background-color:var(--bg-surface);color:var(--text-body);font-family:var(--font-body);font-size:var(--step-0)}h1,h2,h3,h4,h5,h6{color:var(--text-strong);font-family:var(--font-display);font-variation-settings:"opsz" var(--opsz-display);font-weight:var(--weight-display);letter-spacing:var(--tracking-display);max-width:var(--max-heading);line-height:1.15}p,ul:not([role=list]),ol:not([role=list]),dl,blockquote{max-width:var(--max-prose)}h1{font-size:var(--step-5)}h2{font-size:var(--step-4)}h3{font-size:var(--step-3)}h4{font-size:var(--step-2)}h5{font-size:var(--step-0)}h6{font-size:var(--step--1)}small{font-size:var(--step--2);color:var(--text-muted)}a:not([class]){color:inherit;text-underline-offset:.15em;transition:text-decoration-thickness var(--duration-base) var(--ease-standard);text-decoration-line:underline;text-decoration-thickness:.0625rem}a:not([class]):hover,a:not([class]):focus-visible{text-decoration-thickness:.125rem}a:not([class]):focus-visible{outline-offset:var(--focus-offset);outline:.125rem solid}
}

@layer base {
@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
}

@layer base {

}

@layer tokens {
:root{--colour-cream:#fffcf7;--colour-ink:#171310;--colour-charcoal:#4c433a;--colour-muted:#8a8681;--colour-black:#000;--colour-white:#fff;--colour-red:#e12c2c;--colour-blue:#2434e8;--colour-amber:#a15d0c;--colour-red-tint:#ffe6e4;--colour-blue-tint:#e4e7ff;--colour-amber-tint:#fdeeda;--colour-parchment:#cfc4bb;--colour-cta-red:#d42a2a;--bg-surface:var(--colour-cream);--bg-sun:#ffc929;--bg-contact:#2435c6;--bg-inverse:var(--colour-black);--bg-cta:var(--colour-cta-red);--text-strong:var(--colour-ink);--text-body:var(--colour-charcoal);--text-muted:var(--colour-muted);--text-on-accent:var(--colour-white);--text-on-inverse:var(--colour-parchment);--text-on-cta:var(--colour-white);--text-on-contact:var(--colour-white);--border-strong:var(--colour-black);--shadow-colour:var(--colour-black);--accent-red:var(--colour-red);--accent-blue:var(--colour-blue);--accent-amber:var(--colour-amber);--accent-red-fill:var(--colour-red-tint);--accent-blue-fill:var(--colour-blue-tint);--accent-amber-fill:var(--colour-amber-tint)}
}

@layer tokens {
:root{--font-display:var(--font-bricolage-grotesque), Avenir, Montserrat, Corbel, "URW Gothic", source-sans-pro, sans-serif;--font-body:var(--font-figtree), Seravek, "Gill Sans Nova", Ubuntu, Calibri, "DejaVu Sans", source-sans-pro, sans-serif;--tracking-display:-.02em;--weight-display:800;--opsz-display:36;--step-1-5-ratio:1.1732;--step--2:clamp(.8174rem, .7307rem + .4335vw, 1.0081rem);--step--1:clamp(.9589rem, .8572rem + .5085vw, 1.1827rem);--step-0:clamp(1.125rem, 1.0057rem + .5966vw, 1.3875rem);--step-1:clamp(1.3198rem, 1.1829rem + .6844vw, 1.6209rem);--step-2:clamp(1.5483rem, 1.2323rem + 1.5801vw, 2.2435rem);--step-3:clamp(1.8165rem, 1.3419rem + 2.373vw, 2.8606rem);--step-4:clamp(2.131rem, 1.439rem + 3.4602vw, 3.6535rem);--step-5:clamp(2.5rem, 1.512rem + 4.9398vw, 4.6735rem);--step-hero-min:3.45rem;--step-hero-max:5.7rem;--step-hero-base:1rem;--step-hero-slope:10vw;--step-hero:clamp(var(--step-hero-min), calc(var(--step-hero-base) + var(--step-hero-slope)), var(--step-hero-max));--step-wordmark-min:3.5rem;--step-wordmark-max:10.75rem;--step-wordmark-base:1rem;--step-wordmark-slope:13.75vw;--step-wordmark:clamp(var(--step-wordmark-min), calc(var(--step-wordmark-base) + var(--step-wordmark-slope)), var(--step-wordmark-max))}
}

@layer tokens {
:root{--space-3xs:clamp(.2813rem, .2679rem + .067vw, .3281rem);--space-2xs:clamp(.5625rem, .5357rem + .1339vw, .6563rem);--space-xs:clamp(.8438rem, .8036rem + .2009vw, .9844rem);--space-s:clamp(1.125rem, 1.0714rem + .2679vw, 1.3125rem);--space-m:clamp(1.6875rem, 1.6071rem + .4018vw, 1.9688rem);--space-l:clamp(2.25rem, 2.1429rem + .5357vw, 2.625rem);--space-xl:clamp(3.375rem, 3.2143rem + .8036vw, 3.9375rem);--space-2xl:clamp(4.5rem, 4.2857rem + 1.0714vw, 5.25rem);--space-3xl:clamp(6.75rem, 6.4286rem + 1.6071vw, 7.875rem);--space-4xl:clamp(9rem, 8.5714rem + 2.1429vw, 10.5rem)}
}

@layer tokens {
:root{--radius-s:.75rem;--radius-m:1.125rem;--radius-l:1.4375rem;--radius-pill:999px;--border-width:.375rem;--pill-border-width:.1875rem;--stroke-width:.1875rem;--shadow-offset:.5625rem;--shadow-hard:var(--shadow-offset) var(--shadow-offset) 0 0 var(--shadow-colour);--shadow-hard-lift:calc(var(--shadow-offset) * 1.2) calc(var(--shadow-offset) * 1.2) 0 0 var(--shadow-colour);--shadow-hard-flat:0 0 0 0 var(--shadow-colour);--pill-shadow-offset:.2rem;--shadow-hard-pill:var(--pill-shadow-offset) var(--pill-shadow-offset) 0 0 var(--shadow-colour);--focus-offset:.1875rem}
}

@layer tokens {
:root{--duration-fast:.15s;--duration-base:.3s;--duration-sweep:.6s;--ease-playful:cubic-bezier(.34, 1.56, .64, 1);--ease-standard:cubic-bezier(.4, 0, .2, 1)}
}

@layer tokens {
:root{--max-bleed:95ch;--max-page:80ch;--max-prose:60ch;--max-lead:45ch;--max-heading:20ch;--gutter:var(--space-s)}
}

@layer tokens {
:root{--doodle-opacity:.07;--doodle-size-min:20px;--doodle-size-max:100px;--doodle-travel:170px;--emphasis-underline:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 22' preserveAspectRatio='none'%3E%3Cpath d='M3 7c34-5 70-6 104-3 30 2 58 4 90 1' stroke='%23000' stroke-width='4' fill='none' stroke-linecap='round'/%3E%3Cpath d='M10 17c30-4 66-5 98-3 26 1 52 3 84 1' stroke='%23000' stroke-width='3' fill='none' stroke-linecap='round'/%3E%3C/svg%3E")}
}

@layer tokens {

}

@layer compositions {
[class*=flow]{flex-direction:column;justify-content:flex-start;display:flex}[class*=flow]>:not([hidden])+:not([hidden]){margin-block-start:var(--flow-space,var(--space-l))}.flow-3xs>:not([hidden])+:not([hidden]){--flow-space:var(--space-3xs)}.flow-2xs>:not([hidden])+:not([hidden]){--flow-space:var(--space-2xs)}.flow-xs>:not([hidden])+:not([hidden]){--flow-space:var(--space-xs)}.flow-s>:not([hidden])+:not([hidden]){--flow-space:var(--space-s)}.flow-m>:not([hidden])+:not([hidden]){--flow-space:var(--space-m)}.flow-l>:not([hidden])+:not([hidden]){--flow-space:var(--space-l)}.flow-xl>:not([hidden])+:not([hidden]){--flow-space:var(--space-xl)}.flow-2xl>:not([hidden])+:not([hidden]){--flow-space:var(--space-2xl)}
}

@layer compositions {
.cluster{--cluster-gap:var(--space-m);--cluster-gap-x:var(--cluster-gap);--cluster-gap-y:var(--cluster-gap);gap:var(--cluster-gap-y) var(--cluster-gap-x);justify-content:var(--cluster-align-x,flex-start);align-items:var(--cluster-align-y,center);flex-wrap:wrap;display:flex}
}

@layer compositions {
.grid-auto{grid-template-columns:repeat(var(--grid-placement,auto-fill), minmax(var(--grid-item-min,16rem), 1fr));gap:var(--grid-gap,var(--space-l));align-items:var(--grid-align-items,stretch);display:grid}
}

@layer compositions {
.wrapper{--wrapper-max-width:var(--max-page);width:100%;max-width:var(--wrapper-max-width);padding-inline:var(--gutter,var(--space-m));margin-inline:auto;position:relative}
}

@layer compositions {
[class*=region]{padding-block:var(--region-space,var(--space-2xl))}.region-l{--region-space:var(--space-l)}.region-xl{--region-space:var(--space-xl)}.region-2xl{--region-space:var(--space-2xl)}.region-3xl{--region-space:var(--space-3xl)}
}

@layer compositions {
:has(>.sidebar){gap:var(--sidebar-gap,var(--space-l));align-items:var(--sidebar-align,flex-start);flex-wrap:wrap;display:flex}.sidebar{flex-basis:var(--sidebar-size,20rem);flex-grow:1}:has(>.sidebar)>:not(.sidebar){min-inline-size:var(--sidebar-wrap-at,50%);flex-grow:999;flex-basis:0}
}

@layer compositions {
.switcher{gap:var(--switcher-gap,var(--space-l));align-items:var(--switcher-vertical-alignment,flex-start);justify-content:var(--switcher-justify,space-between);flex-wrap:wrap;display:flex}:where(.switcher>*){flex-grow:1;flex-basis:calc((var(--switcher-inline-at,40rem) - 100%) * 999)}:where(.switcher>:nth-child(n+3)){flex-basis:100%}
}

@layer compositions {
.repel{flex-flow:var(--repel-direction,row) wrap;justify-content:space-between;align-items:var(--repel-y-alignment,center);gap:var(--repel-gap,var(--space-m));display:flex}
}

@layer compositions {

}

@layer utilities {
.dot-grid{background-image:radial-gradient(var(--dot-grid-colour,color-mix(in srgb, var(--colour-black) 10%, transparent)) var(--dot-grid-radius,.0625rem), transparent var(--dot-grid-fade,.0625rem));background-size:var(--dot-grid-size,1.5rem) var(--dot-grid-size,1.5rem)}.dot-grid-edge-fade{margin-block:calc(var(--space-xs) * -1);background-color:var(--dot-grid-bg-color,transparent);background-image:linear-gradient(to bottom, var(--dot-grid-bg-color,transparent) 0, transparent var(--dot-grid-edge-fade,var(--space-xl)), transparent calc(100% - var(--dot-grid-edge-fade,var(--space-xl))), var(--dot-grid-bg-color,transparent) 100%), radial-gradient(var(--dot-grid-colour,color-mix(in srgb, var(--colour-black) 10%, transparent)) var(--dot-grid-radius,.0625rem), transparent var(--dot-grid-fade,.0625rem));background-repeat:no-repeat,repeat;background-size:100% 100%, var(--dot-grid-size,1.5rem) var(--dot-grid-size,1.5rem)}
}

@layer utilities {
.max-bleed{max-width:var(--max-bleed)}.max-page{max-width:var(--max-page)}.max-prose{max-width:var(--max-prose)}.max-lead{max-width:var(--max-lead)}.max-heading{max-width:var(--max-heading)}
}

@layer utilities {

}

@layer base,tokens,compositions,utilities;
