*,*::before,*::after{
		box-sizing: border-box;
		padding: 0;
		margin: 0;
	}html{
		font-family: "Public Sans", "Geist", "Inter", -apple-system, sans-serif;
		font-size: 16px;
		line-height: 1.65;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		text-rendering: optimizeLegibility;
		scroll-behavior: smooth;
		color-scheme: light dark;
	}html[data-theme="light"]{
		color-scheme: light;
	}html[data-theme="dark"]{
		color-scheme: dark;
	}body{
		background-color: var(--colour-base);
		color: var(--colour-text);
		min-height: 100dvh;
	}html[data-theme-transition] body,html[data-theme-transition] body *,html[data-theme-transition] body *::before,html[data-theme-transition] body *::after{
		transition:
			background-color 0.4s ease,
			color 0.4s ease,
			border-color 0.4s ease,
			outline-color 0.4s ease !important;
	}::-webkit-scrollbar-track{
		background: transparent;
	}::-webkit-scrollbar-thumb{
		background: var(--colour-lift);
		border-radius: 9999px;
	}::-webkit-scrollbar-thumb:hover{
		background: #525252;
	}a{
		color: inherit;
		text-decoration: none;
	}button{
		font: inherit;
		border: none;
		background: none;
		cursor: pointer;
		color: inherit;
	}img,svg{
		display: block;
		max-width: 100%;
	}code,pre,kbd{
		font-family: "Iosevka", "Iosevka Custom Web", "Iosevka Custom", ui-monospace, monospace;
	}h1,h2,h3{
		font-weight: 600;
		line-height: 1.25;
		letter-spacing: -0.01em;
		text-wrap: balance;
	}:focus-visible{
		outline: 2px solid var(--colour-accent);
		outline-offset: 2px;
	}[data-x-props]{
		display: contents;
	}@media (max-width: 799px){.only-desktop{
			display: none;
		}}.sr-only{
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}.skip-link{
		position: absolute;
		top: 0.5rem;
		left: 0.5rem;
		z-index: 40;
		padding: 0.5rem 0.75rem;
		border-radius: 8px;
		background: var(--colour-text);
		color: var(--colour-base);
		font-weight: 600;
		transform: translateY(-200%);
		transition: transform 0.15s ease;
	}.skip-link:focus-visible{
		transform: none;
	}@view-transition{
		navigation: auto;
	}body::before{
		content: "";
		position: fixed;
		inset: 0;
		z-index: 9999;
		pointer-events: none;
		opacity: 0.015;
		background-image: url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20256%20256%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%09%3Cfilter%20id%3D%22noise%22%3E%0A%09%09%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%220.9%22%20numOctaves%3D%224%22%20stitchTiles%3D%22stitch%22%20%2F%3E%0A%09%3C%2Ffilter%3E%0A%09%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20filter%3D%22url(%23noise)%22%2F%3E%0A%3C%2Fsvg%3E");
	}body > main{
		max-width: 48rem;
		margin: 0 auto;
		padding: 4rem 1rem 5rem;
		display: flex;
		flex-direction: column;
		gap: 6.4rem;
		overflow-x: hidden;
	}body > main > *{
		position: relative;
		overflow-anchor: none;
		animation: reveal 0.6s cubic-bezier(0.16, 1, 0.3, 1) both;
		animation-delay: calc(var(--reveal-step, 0) * 70ms);
	}@keyframes reveal{
		from {
			opacity: 0;
			top: 1rem;
		}
		to {
			opacity: 1;
			top: 0;
		}
	}@media (max-width: 799px){body > main{
			padding-top: 2.5rem;
			gap: 4rem;
		}}@media (prefers-reduced-motion: reduce){html{
			scroll-behavior: auto;
		}body > main > *{
			animation: reveal-reduced 0.35s ease both;
			animation-delay: 0s;
		}@keyframes reveal-reduced{
			from {
				opacity: 0;
			}
			to {
				opacity: 1;
			}
		}.skip-link{
			transition: none;
		}}@media (pointer: fine){html,body{
			scrollbar-color: var(--colour-accent-border) var(--colour-base);
		}}body > main > :nth-child(1){ --reveal-step: 0; }body > main > :nth-child(2){ --reveal-step: 1; }body > main > :nth-child(3){ --reveal-step: 2; }body > main > :nth-child(4){ --reveal-step: 3; }body > main > :nth-child(5){ --reveal-step: 4; }body > main > :nth-child(6){ --reveal-step: 5; }body > main > :nth-child(7){ --reveal-step: 6; }body > main > :nth-child(8){ --reveal-step: 7; }