/* =========================================================
   Typography – Base / Global
========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:wght@500;600;700&family=Luckiest+Guy&display=swap');

/* =========================
   Display Font – Luckiest Guy
========================= */

.display-font,
.font-luckiest {
  font-family: 'Luckiest Guy', cursive;
  letter-spacing: 1px;
  text-transform: uppercase;
}


/* =========================
   ROOT ELEMENTS
========================= */

html {
  font-size: 16px;
}

body {
  margin: 0;
  font-family: var(--vcom-font);
  color: var(--vcom-text);
  background: var(--vcom-bg);
  line-height: 1.6;
}


/* =========================
   HEADINGS
========================= */

h1, h2, h3 {
  font-family: 'Luckiest Guy', cursive;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 1px;
  margin: 0 0 .5em;
}


h4, h5, h6 {
  font-family: var(--vcom-font);
  font-weight: 600;
  line-height: 1.25;
  margin: 0 0 .5em;
}

h1 { font-size: clamp(1.8rem, 2.2vw + 1rem, 2.4rem); }
h2 { font-size: clamp(1.4rem, 1.2vw + 1rem, 1.8rem); }
h3 { font-size: 1.125rem; }


/* =========================
   TEXT ELEMENTS
========================= */

p,
ul,
ol {
  margin: 0 0 1rem;
}

a {
  color: var(--vcom-accent);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}


/* =========================
   MEDIA
========================= */

img,
video {
  max-width: 100%;
  height: auto;
  display: block;
}


/* =========================
   GENERIC UI
========================= */

.card {
  background: var(--vcom-bg);
  border: 1px solid var(--vcom-border);
  border-radius: var(--vcom-radius);
  box-shadow: var(--vcom-shadow);
}

.card--flat {
  box-shadow: none;
}