/**
 * @description: Translation of pixel values into rems
 */
/**
 * @mixin reset-list
 * @description Reset list styles by removing bullets and margins/paddings
 */
:root {
  --page-width: 120ch;
  --line-height: 1.6;
  --font-body: "Source Serif 4", Georgia, "Times New Roman", serif;
  --font-display: "Archivo", Arial, system-ui, sans-serif;
  --font-size-brand-name: 1.1875rem;
  --body-weight: 400;
  --display-weight: 600;
  --display-width: 100%;
  --color-black: #000000;
  --color-white: #ffffff;
  --color-grey--50: #16130f;
  --color-grey--300: #4d4842;
  --color-grey--700: #ded8ce;
  --color-grey--800: #e7e3db;
  --color-grey--900: #f1eee8;
  --color-grey--950: #faf8f4;
  --color-orange--600: #f2c53d;
  --color-brown--700: #6b5a1f;
  --color-background-stripe-light: var(--color-grey--900);
  --color-background-stripe-dark: var(--color-grey--800);
  --color-background-content: var(--color-grey--950);
  --color-background-footer: var(--color-grey--950);
}

@font-face {
  font-family: "Archivo";
  src: url("../fonts/Archivo-VariableFont_wdth,wght.b2e84cadd56f.ttf") format("truetype-variations");
  font-weight: 100 900;
  font-stretch: 62% 125%;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Archivo";
  src: url("../fonts/Archivo-Italic-VariableFont_wdth,wght.5cb9c3739999.ttf") format("truetype-variations");
  font-weight: 100 900;
  font-stretch: 62% 125%;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Source Serif 4";
  src: url("../fonts/SourceSerif4-VariableFont_opsz,wght.1144ec0f9f8b.ttf") format("truetype-variations");
  font-weight: 200 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Source Serif 4";
  src: url("../fonts/SourceSerif4-Italic-VariableFont_opsz,wght.b49291a2b0e9.ttf") format("truetype-variations");
  font-weight: 200 900;
  font-style: italic;
  font-display: swap;
}
body {
  font-family: var(--font-body);
  font-weight: var(--body-weight);
  line-height: var(--line-height);
  font-optical-sizing: auto;
  background-image: linear-gradient(135deg, var(--color-background-stripe-dark) 25%, var(--color-background-stripe-light) 25%, var(--color-background-stripe-light) 50%, var(--color-background-stripe-dark) 50%, var(--color-background-stripe-dark) 75%, var(--color-background-stripe-light) 75%, #f1eee8 100%);
  background-size: 16.97px 16.97px;
}

h1,
h2,
h3 {
  font-family: var(--font-display);
  font-weight: var(--display-weight);
  font-stretch: var(--display-width);
}

body {
  margin: 0;
}

.a-tag {
  padding-block: 0.25rem 0.1875rem;
  padding-inline: 0.5rem;
  font-family: monospace;
  font-size: 0.75rem;
  color: var(--color-grey--950);
  text-transform: uppercase;
  text-decoration: none;
  background-color: var(--color-grey--50);
}
.a-tag:hover {
  color: var(--color-orange--600);
  text-decoration: underline;
}

.brand__name {
  margin: 0;
  font-family: var(--font-display), sans-serif;
  font-size: var(--font-size-brand-name, 1.1875rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1;
}

.brand__claim {
  font-family: var(--font-body), serif;
  font-size: 1.125rem;
  font-style: italic;
  line-height: 1.2;
  color: var(--color-grey--300);
}

.navigation__list {
  padding: 0;
  margin: 0;
  list-style: none;
  text-indent: 0;
  display: flex;
  flex-direction: row;
  justify-content: end;
  column-gap: 1rem;
  font-family: var(--font-display), sans-serif;
  font-weight: 300;
  font-size: 0.8125rem;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.125rem;
}

.navigation__item a {
  color: inherit;
  text-decoration: none;
}
.navigation__item a:hover {
  color: var(--color-grey--50);
}

.o-card {
  padding: 2rem;
  background-color: var(--color-background-content);
  border: 0.0625rem solid var(--color-grey--700);
}

.card__meta {
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: center;
  column-gap: 1rem;
}

.card__tags {
  padding: 0;
  margin: 0;
  list-style: none;
  text-indent: 0;
  display: flex;
  flex-direction: row;
  justify-content: start;
  column-gap: 0.25rem;
}

.card__date {
  font-family: monospace;
}

.card__title {
  margin-block: 0.5rem 0;
  font-family: var(--font-display), sans-serif;
  font-size: 1.5rem;
  line-height: 1.15;
  color: var(--color-grey--50);
}
.card__title a {
  color: inherit;
  text-decoration: none;
}
.card__title a:hover {
  text-decoration: underline;
}

.card__text {
  margin-top: 1rem;
  font-size: 1rem;
  line-height: 1.6;
}
.card__text * {
  margin-bottom: 0;
  padding-bottom: 0;
}

.o-card:first-child {
  grid-column: 1/-1;
}
.o-card:first-child .card__text {
  font-size: 1.1875rem;
}

.entry__hero {
  width: 100%;
  aspect-ratio: 21 / 9;
  object-fit: cover;
}

.o-footer {
  margin-top: 3.5rem;
  padding: 2rem 3.5rem;
  background-color: var(--color-background-footer);
  border-top: 0.0625rem solid var(--color-black);
}

.o-header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding: 2rem 3.5rem 3.5rem;
  background-color: var(--color-orange--600);
  border-bottom: 0.0625rem solid var(--color-black);
}

.header--full .brand__name {
  --font-size-brand-name: 2.875rem;
}

.header--compact {
  align-items: center;
  padding: 1.125rem 3.5rem;
}
.header--compact .m-brand {
  display: flex;
  flex-direction: row;
  align-items: center;
  column-gap: 0.75rem;
}
.header--compact .brand__logo {
  width: 1rem;
  height: 1rem;
  background-color: var(--color-grey--50);
}
.header--compact .m-navigation {
  align-self: center;
}
.header--compact .navigation__list {
  column-gap: 1.375rem;
  font-weight: 400;
  font-size: 0.75rem;
  letter-spacing: 0.14em;
  color: var(--color-brown--700);
}

.header__navigation {
  display: flex;
  flex-direction: row;
  justify-content: end;
  align-self: end;
  column-gap: 1rem;
}
.header__navigation ul {
  padding: 0;
  margin: 0;
  list-style: none;
  text-indent: 0;
  display: flex;
  flex-direction: row;
  justify-content: end;
  align-self: end;
  column-gap: 1rem;
  font-family: var(--font-display), sans-serif;
  font-weight: 300;
  font-size: 0.8125rem;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.125rem;
}

.o-main {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  max-width: var(--page-width);
  margin-top: 3.5rem;
  margin-inline: auto;
  background-color: var(--color-background-content);
}
