/* ==== FONTS ==== */
@font-face {
	src:url("../fonts/albert-var.woff2") format("woff2");
	font-family:"Albert Sans";
	font-weight:400 600;
	font-style:normal;
	font-display:swap;
	unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	src:local("Arial");
	font-family:"Albert Sans Fallback";
	ascent-override:91.5%;
	descent-override:24.1%;
	line-gap-override:0%;
	size-adjust:103.9%;
}
@font-face {
	src:url("../fonts/fraunces-var.woff2") format("woff2");
	font-family:"Fraunces";
	font-weight:400 600;
	font-style:normal;
	font-display:swap;
	unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	src:local("Georgia");
	font-family:"Fraunces Fallback";
	ascent-override:92.7%;
	descent-override:24.6%;
	line-gap-override:0%;
	size-adjust:105.7%;
}
/* ==== TOKENS ==== */
:root {
	--color-stage:#121318;
	--color-stage-2:#1C1D24;
	--color-light:#F3F4F7;
	--color-tint:#E7E8EE;
	--color-muted:#8D8F9C;
	--color-text:#17181D;
	--color-text-inv:#ECEDF2;
	--color-plum:#6A2C7A;
	--color-plum-soft:#EFE6F2;
	--color-signal:#E0457B;
	--color-signal-hover:#C7336A;
	--color-on-signal:#FFFFFF;
	--color-signal-deep:#A3285A;
	--color-glow:#6A2C7A66;
	--color-glow-hot:#E0457B26;
	--color-veil:#121318B8;
	--color-clear:#12131800;
	--space-xs:.5rem;
	--space-s:1rem;
	--space-m:1.5rem;
	--space-l:2.5rem;
	--space-xl:4rem;
	--space-band:clamp(4.5rem, 8vw, 6.5rem);
	--space-gutter:clamp(1.25rem, 4vw, 3rem);
	--width-page:1240px;
	--radius-soft:3px;
	--font-body:"Albert Sans", "Albert Sans Fallback", Arial, sans-serif;
	--font-head:"Fraunces", "Fraunces Fallback", Georgia, serif;
	--grain-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
/* ==== RESET ==== */
*,
*::before,
*::after {
	box-sizing:border-box;
}
html {
	scroll-padding-top:88px;
	-webkit-text-size-adjust:100%;
}
body {
	min-height:100vh;
	margin:0;
	font-family:var(--font-body);
	font-size:1.0625rem;
	line-height:1.6;
	color:var(--color-text);
	background:var(--color-light);
}
img {
	display:block;
	max-width:100%;
	height:auto;
}
svg {
	display:block;
}
[hidden] {
	display:none;
}
h1,
h2,
h3,
h4,
p,
ul,
ol,
dl,
dd,
figure {
	margin:0;
}
ul,
ol {
	padding:0;
	list-style:none;
}
a {
	color:inherit;
}
button,
input,
textarea {
	font:inherit;
	color:inherit;
}
button {
	cursor:pointer;
}
table {
	border-collapse:collapse;
}
/* ==== TYPE ==== */
h1,
h2,
h3 {
	font-family:var(--font-head);
	font-weight:500;
	line-height:1.1;
	letter-spacing:-.01em;
}
h2 {
	font-size:clamp(2rem, 3.6vw, 2.9rem);
}
h3 {
	font-size:1.3rem;
	line-height:1.25;
}
.lbl {
	display:inline-flex;
	align-items:center;
	gap:.6rem;
	margin-bottom:var(--space-s);
	font-size:.78rem;
	font-weight:600;
	letter-spacing:.2em;
	text-transform:uppercase;
	color:var(--color-plum);
}
.lbl::before {
	width:28px;
	height:1px;
	content:"";
	background:currentColor;
}
.dk .lbl,
.stg .lbl,
.phd .lbl {
	color:var(--color-plum-soft);
}
.ld {
	max-width:60ch;
	margin-top:var(--space-s);
	font-size:1.15rem;
	color:inherit;
}
.skp {
	position:absolute;
	top:-80px;
	left:var(--space-s);
	z-index:60;
	padding:.75rem 1rem;
	color:var(--color-text);
	background:var(--color-light);
}
.skp:focus {
	top:var(--space-s);
}
/* ==== BUTTONS ==== */
.bt {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:.5rem;
	min-height:48px;
	padding:.7rem 1.4rem;
	font-size:1rem;
	font-weight:600;
	letter-spacing:.02em;
	text-decoration:none;
	color:inherit;
	background:transparent;
	border:1.5px solid currentColor;
	border-radius:var(--radius-soft);
	transition:background-color .2s, color .2s, border-color .2s;
}
.bt:hover {
	color:var(--color-text);
	background:var(--color-tint);
	border-color:var(--color-tint);
}
.bt-go {
	color:var(--color-on-signal);
	background:var(--color-signal-hover);
	border-color:var(--color-signal-hover);
}
.bt-go:hover,
.bt-go:active {
	color:var(--color-on-signal);
	background:var(--color-signal-deep);
	border-color:var(--color-signal-deep);
}
.bt:focus-visible,
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
summary:focus-visible {
	outline:2px solid var(--color-signal);
	outline-offset:3px;
}
.bt[disabled] {
	cursor:not-allowed;
	color:var(--color-muted);
	border-color:var(--color-muted);
	background:transparent;
}
