@import url("https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,200..800&display=swap");
/* sans serif */
@font-face {
  font-family: "Inter Variable";
  src: url("/fonts/inter/InterVariable.woff2") format("woff2");
  font-weight: 300 900;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: "DM Sans Variable";
  src: url("/fonts/dm-sans/DMSans-VariableFont.ttf") format("truetype-variations"); /* Key change for TTF */
  font-weight: 100 1000; /* Weight axis range */
  font-style: normal;
  font-stretch: 75% 125%; /* Optional, if your font supports the width axis */
  font-display: swap; /* Recommended: improves loading performance */
}
@font-face {
  font-family: "CrimsonPro";
  src: url("/fonts/crimson-pro/CrimsonPro-Variable.woff2") format("woff2"), url("/fonts/crimson-pro/CrimsonPro-Variable.woff") format("woff");
  font-weight: 300 900;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: "CrimsonPro Italic";
  src: url("/fonts/crimson-pro/CrimsonPro-VariableItalic.woff2") format("woff2"), url("/fonts/crimson-pro/CrimsonPro-VariableItalic.woff") format("woff");
  font-weight: 300 900;
  font-display: swap;
  font-style: normal;
}
/* serif display */
@font-face {
  font-family: "Literata";
  src: url("/fonts/literata/Literata-Variable.woff2") format("woff2"), url("/fonts/literata/Literata-Variable.woff") format("woff");
  font-weight: 300 900;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: "Literata Italic";
  src: url("/fonts/literata/Literata-VariableItalic.woff2") format("woff2"), url("/fonts/literata/Literata-VariableItalic.woff") format("woff");
  font-weight: 300 900;
  font-display: swap;
  font-style: normal;
}
@font-face {
  font-family: "Recia";
  src: url("/fonts/recia/Recia-Variable.woff2") format("woff2"), url("/fonts/recia/Recia-Variable.woff") format("woff");
  font-weight: 300 900;
  font-display: swap;
  font-style: normal;
}
/* sans display */
@font-face {
  font-family: "sharpie";
  src: url("/fonts/sharpie/Sharpie-Variable.woff2") format("woff2"), url("/fonts/sharpie/Sharpie-Variable.woff") format("woff");
  font-weight: 300 900;
  font-display: swap;
  font-style: normal;
}
:root {
  --sans: "Bricolage Grotesque", sans-serif;
  --serif: "Recia", serif;
  --display-sans: "Sharpie", sans-serif;
  --display-serif: "Literata", serif;
  /* html text styles */
  /* this set is little small in size, use for more conservative designs */
  --h1: clamp(1.5rem, -2.25rem + 12vw, 4.5rem);
  --h2: clamp(1.25rem, -2.1875rem + 11vw, 4rem);
  --h3: clamp(1.125rem, -1.8438rem + 9.5vw, 3.5rem);
  --h4: clamp(1rem, -1.5rem + 8vw, 3rem);
  --h5: clamp(0.875rem, -1.1563rem + 6.5vw, 2.5rem);
  --h6: clamp(1rem, 0.8725rem + 0.5229vw, 1.5rem);
  --p: clamp(1rem, 0.9363rem + 0.2614vw, 1.25rem);
  /* display title styles */
  --d1: clamp(var(--size-48), var(--size-8) + 10vw, var(--size-160));
  --d2: clamp(var(--size-32), var(--size-8) + 8vw, var(--size-100));
  --d3: clamp(var(--size-24), var(--size-8) + 6vw, var(--size-60));
}

:root {
  /* colors */
  --white: #fcfcfc;
  --black: #09090b;
  --transparent: rgba(0, 0, 0, 0);
  /* primary */
  --primary-200: #ffc9c5;
  --primary-300: #ffa39d;
  --primary-500: #fe4235;
  --primary-700: #C71A0E;
  --primary-950: #4a0905;
  /* secondary */
  --secondary-200: #9af5e2;
  --secondary-300: #2ed3bc;
  --secondary-500: #15b7a3;
  --secondary-700: #10756c;
  --secondary-950: #064240;
  /* brand */
  --brand-900: #4A4A4A;
  --brand-500: #CCC4B8;
  --brand-300: #ebe1da;
  --brand-200: #FCF2EA;
  /* zinc */
  --gray-50: #fafafa;
  --gray-100: #f4f4f5;
  --gray-200: #e4e4e7;
  --gray-300: #d4d4d8;
  --gray-400: #a1a1aa;
  --gray-500: #71717a;
  --gray-600: #52525b;
  --gray-700: #3f3f46;
  --gray-800: #27272a;
  --gray-900: #18181b;
  /* white opacity */
  --white-opacity-10: rgba(255, 255, 255, 0.1);
  --white-opacity-20: rgba(255, 255, 255, 0.2);
  --white-opacity-30: rgba(255, 255, 255, 0.3);
  --white-opacity-40: rgba(255, 255, 255, 0.4);
  --white-opacity-50: rgba(255, 255, 255, 0.5);
  --white-opacity-60: rgba(255, 255, 255, 0.6);
  --white-opacity-70: rgba(255, 255, 255, 0.7);
  --white-opacity-80: rgba(255, 255, 255, 0.8);
  --white-opacity-90: rgba(255, 255, 255, 0.9);
  /* black opacity */
  --black-opacity-10: rgba(0, 0, 0, 0.1);
  --black-opacity-20: rgba(0, 0, 0, 0.2);
  --black-opacity-30: rgba(0, 0, 0, 0.3);
  --black-opacity-40: rgba(0, 0, 0, 0.4);
  --black-opacity-50: rgba(0, 0, 0, 0.5);
  --black-opacity-60: rgba(0, 0, 0, 0.6);
  --black-opacity-70: rgba(0, 0, 0, 0.7);
  --black-opacity-80: rgba(0, 0, 0, 0.8);
  --black-opacity-90: rgba(0, 0, 0, 0.9);
}

:root {
  /*  sizes  */
  --size-0: 0;
  --size-1: 0.0625rem;
  --size-1half: 0.09375rem;
  --size-2: 0.125rem;
  --size-4: 0.25rem;
  --size-8: 0.5rem;
  --size-14: 0.875rem;
  --size-16: 1rem;
  --size-18: 1.125rem;
  --size-20: 1.25rem;
  --size-24: 1.5rem;
  --size-32: 2rem;
  --size-40: 2.5rem;
  --size-48: 3rem;
  --size-60: 3.75rem;
  --size-72: 4.5rem;
  --size-80: 5rem;
  --size-100: 6.25rem;
  --size-120: 7.5rem;
  --size-160: 10rem;
  /* space */
  --space-xsmall: clamp(var(--size-4), var(--size-4) + 2vw, var(--size-16));
  --space-small: clamp(var(--size-8), var(--size-4) + 2vw, var(--size-24));
  --space-medium: clamp(var(--size-16), var(--size-8) + 2vw, var(--size-32));
  --space-large: clamp(var(--size-24), var(--size-8) + 2.2vw, var(--size-48));
  --space-xlarge: clamp(var(--size-32), var(--size-8) + 2.2vw, var(--size-60));
  --space-grande: clamp(var(--size-60), var(--size-8) + 2.2vw, var(--size-80));
  --space-jumbo: clamp(var(--size-80), var(--size-8) + 2.2vw, var(--size-120));
  --space-giant: clamp(var(--size-100), var(--size-8) + 2.2vw, var(--size-160));
  --space-mega: clamp(calc(var(--size-120) * 1.25), var(--size-8) + 2.8vw, calc(var(--size-160) * 1.25));
  --space-cosmic: clamp(calc(var(--size-120) * 1.5), var(--size-8) + 3.2vw, calc(var(--size-160) * 1.5));
  /* border radius */
  --radius: clamp(var(--size-2), var(--size-4) + 2vw, var(--size-8));
}

* {
  margin: 0;
  padding: 0;
  list-style: none;
  box-sizing: border-box;
  text-decoration: none;
  outline: none;
  font-family: var(--sans);
  font-feature-settings: "ss01" on;
}

html,
body {
  width: 100%;
  height: 100%;
}

img,
video,
picture {
  display: block;
  width: 100%;
}

.img-width-auto {
  width: auto;
  height: 100vh;
}

a {
  text-decoration: none;
  color: inherit;
  font-weight: 500;
  font-size: var(--p);
}

.background-900 {
  background: var(--brand-900);
  color: var(--white);
}

.background-500 {
  background: var(--brand-500);
}

.background-300 {
  background: var(--brand-300);
}

.background-200 {
  background: var(--brand-200);
}

.background-white {
  background: var(--white);
}

.overflow-hidden {
  overflow: hidden;
}

.border-radius {
  border-radius: clamp(0.25rem, 0.1863rem + 0.2614vw, 0.5rem);
}

.border-radius-top {
  border-top-left-radius: clamp(0.25rem, 0.1863rem + 0.2614vw, 0.5rem);
  border-top-right-radius: clamp(0.25rem, 0.1863rem + 0.2614vw, 0.5rem);
}

.border-radius-bottom {
  border-bottom-left-radius: clamp(0.25rem, 0.1863rem + 0.2614vw, 0.5rem);
  border-bottom-right-radius: clamp(0.25rem, 0.1863rem + 0.2614vw, 0.5rem);
}

.border-radius-left {
  border-top-left-radius: clamp(0.25rem, 0.1863rem + 0.2614vw, 0.5rem);
  border-bottom-left-radius: clamp(0.25rem, 0.1863rem + 0.2614vw, 0.5rem);
}

.border-radius-right {
  border-top-right-radius: clamp(0.25rem, 0.1863rem + 0.2614vw, 0.5rem);
  border-bottom-right-radius: clamp(0.25rem, 0.1863rem + 0.2614vw, 0.5rem);
}

.font-serif {
  font-family: var(--serif);
}

.font-sans {
  font-family: var(--sans);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--sans);
  letter-spacing: -0.01rem;
  line-height: 120%;
}

h1, .h1 {
  font-size: var(--h1);
}

h2, .h2 {
  font-size: var(--h2);
}

h3, .h3 {
  font-size: var(--h3);
}

h4, .h4 {
  font-size: var(--h4);
}

h5, .h5 {
  font-size: var(--h5);
}

h6, .h6 {
  font-size: var(--h6);
}

p, .p {
  font-size: var(--p);
  line-height: 160%;
  font-weight: 400;
  letter-spacing: -0.01rem;
}

.fw-100 {
  font-weight: 100;
}

.fw-200 {
  font-weight: 200;
}

.fw-300 {
  font-weight: 300;
}

.fw-400 {
  font-weight: 400;
}

.fw-500 {
  font-weight: 500;
}

.fw-600 {
  font-weight: 600;
}

.fw-700 {
  font-weight: 700;
}

.fw-800 {
  font-weight: 800;
}

.fw-900 {
  font-weight: 900;
}

.card-title {
  font-family: var(--sans);
  font-size: var(--h6);
  line-height: 120%;
  letter-spacing: -0.04rem;
}

/* display title default styles */
.display-title {
  font-family: var(--display-serif);
}

.display-title-large {
  font-size: var(--d1);
}

.display-title-medium {
  font-size: var(--d2);
}

.display-title-small {
  font-size: var(--d3);
}

/* display text defaults styles */
.display-text {
  line-height: 120%;
  letter-spacing: -0.06rem;
}

.display-text-grande {
  font-size: var(--h2);
}

.display-text-large {
  font-size: var(--h3);
}

.display-text-medium {
  font-size: var(--h4);
}

.display-text-small {
  font-size: var(--h5);
}

.text-align-center {
  text-align: center;
}

.text-uppercase {
  text-transform: uppercase;
  letter-spacing: 0.05rem;
}

.white {
  color: var(--white);
}

.black {
  color: var(--black);
}

.brand-200 {
  color: var(--brand-200);
}

.brand-500 {
  color: var(--brand-500);
}

.brand-900 {
  color: var(--brand-900);
}

.primary-200 {
  color: var(--primary-200);
}

.primary-300 {
  color: var(--primary-300);
}

.primary-500 {
  color: var(--primary-500);
}

.primary-700 {
  color: var(--primary-700);
}

.secondary-200 {
  color: var(--secondary-200);
}

.secondary-300 {
  color: var(--secondary-300);
}

.secondary-500 {
  color: var(--secondary-500);
}

.secondary-700 {
  color: var(--secondary-700);
}

.secondary-900 {
  color: var(--secondary-900);
}

.gray100 {
  color: var(--gray-100);
}

.gray200 {
  color: var(--gray-200);
}

.gray300 {
  color: var(--gray-300);
}

.gray400 {
  color: var(--gray-400);
}

.gray500 {
  color: var(--gray-500);
}

.gray600 {
  color: var(--gray-600);
}

.gray700 {
  color: var(--gray-700);
}

.gray800 {
  color: var(--gray-800);
}

.gray900 {
  color: var(--gray-900);
}

/* button(s) */
.button-base {
  display: inline-flex;
  align-self: flex-start;
  padding: var(--space-small) var(--space-medium);
  font-size: var(--p);
  background: var(--transparent);
  border: var(--size-1half) solid var(--transparent);
  border-width: var(--size-1half);
  border-style: solid;
  border-color: var(--transparent);
  border-radius: var(--size-0);
  color: inherit;
}

.button-solid {
  border-width: var(--size-1half);
  border-style: solid;
  background: var(--primary-700);
  border-color: var(--primary-700);
  border-radius: var(--space-xsmall);
  color: var(--white);
}

.button-ghost {
  border-width: var(--size-1half);
  border-style: solid;
  background: var(--transparent);
  border-color: var(--primary);
  border-radius: var(--space-xsmall);
}

.grid {
  display: grid;
}

.auto-fit {
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
}

.col2-dynamic {
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
}

.col3-dynamic {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.col4-dynamic {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.col5-dynamic {
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
}

.row2-dynamic {
  grid-template-rows: repeat(2, min-content);
}

.row3-dynamic {
  grid-template-rows: repeat(3, min-content);
}

.row4-dynamic {
  grid-template-rows: repeat(4, min-content);
}

.col5-static {
  grid-template-columns: repeat(5, 1fr);
}

.col4-static {
  grid-template-columns: repeat(4, 1fr);
}

.col3-static {
  grid-template-columns: repeat(3, 1fr);
}

.col2-static {
  grid-template-columns: repeat(2, 1fr);
}

.col1-static {
  grid-template-columns: 1fr;
}

.span1 {
  grid-column: span 1;
  grid-row: span 1;
}

.span2 {
  grid-column: span 2;
  grid-row: span 1;
}

.span3 {
  grid-column: span 3;
  grid-row: span 1;
}

.span4 {
  grid-column: span 4;
  grid-row: span 1;
}

.span-start2-span-all {
  grid-column: 2/-1;
  grid-row: span 1;
}

.span-start2-span2 {
  grid-column: 2/span 2;
  grid-row: span 1;
}

.span-start2-span3 {
  grid-column: 2/span 3;
  grid-row: span 1;
}

.span-indent {
  grid-column: 2/-1;
}

.span-all {
  grid-column: 1/-1;
  grid-row: span 1;
}

.flex {
  display: flex;
}

.flex-direction-column {
  flex-direction: column;
}

.flex-direction-row {
  flex-direction: row;
}

.align-start {
  align-items: flex-start;
}

.align-end {
  align-items: flex-end;
}

.align-center {
  align-items: center;
}

.align-self-start {
  align-self: start;
}

.align-self-center {
  align-self: center;
}

.align-content-center {
  align-content: center;
}

.align-self-end {
  align-self: flex-end;
}

.align-end {
  align-content: end;
}

.justify-center {
  justify-content: center;
}

.justify-end {
  justify-content: flex-end;
}

.justify-content-end {
  justify-content: end;
}

.space-between {
  justify-content: space-between;
}

.justify-self-center {
  justify-self: center;
}

.order-1 {
  order: -1;
}

.order1 {
  order: 1;
}

@media (max-width: 767px) {
  .order-1 {
    order: 1;
  }
  .order1 {
    order: -1;
  }
}
.gap-40 {
  gap: clamp(0.5rem, -2rem + 8vw, 2.5rem);
}

.gap-32 {
  gap: clamp(0.5rem, -1.375rem + 6vw, 2rem);
}

.gap-24 {
  gap: clamp(0.5rem, -0.75rem + 4vw, 1.5rem);
}

.gap-20 {
  gap: clamp(0.5rem, -0.4375rem + 3vw, 1.25rem);
}

.gap-16 {
  gap: clamp(0.25rem, -0.6875rem + 3vw, 1rem);
}

.gap-8 {
  gap: clamp(0.125rem, -0.3438rem + 1.5vw, 0.5rem);
}

.padding-8 {
  padding: clamp(0.125rem, -0.3438rem + 1.5vw, 0.5rem);
}

.padding-16 {
  padding: clamp(0.25rem, -0.6875rem + 3vw, 1rem);
}

.padding-20 {
  padding: clamp(0.5rem, -0.4375rem + 3vw, 1.25rem);
}

.padding-24 {
  padding: clamp(0.5rem, -0.75rem + 4vw, 1.5rem);
}

.padding-32 {
  padding: clamp(0.75rem, -0.8125rem + 5vw, 2rem);
}

.padding-40 {
  padding: clamp(0rem, -0.6373rem + 2.6144vw, 2.5rem);
}

.padding-left-16 {
  padding-left: clamp(0rem, -0.3824rem + 1.5686vw, 1.5rem);
}

.padding-right-16 {
  padding-right: clamp(0rem, -0.3824rem + 1.5686vw, 1.5rem);
}

.padding-left-24 {
  padding-left: clamp(0.75rem, 0.5588rem + 0.7843vw, 1.5rem);
}

.padding-right-24 {
  padding-right: clamp(0.75rem, 0.5588rem + 0.7843vw, 1.5rem);
}

.padding-left-32 {
  padding-left: clamp(1rem, 0.7451rem + 1.0458vw, 2rem);
}

.padding-right-32 {
  padding-right: clamp(1rem, 0.7451rem + 1.0458vw, 2rem);
}

.padding-left-40 {
  padding-left: clamp(0rem, -0.6373rem + 2.6144vw, 2.5rem);
}

.padding-right-40 {
  padding-right: clamp(0rem, -0.6373rem + 2.6144vw, 2.5rem);
}

.padding-left-48 {
  padding-left: clamp(0rem, -0.7647rem + 3.1373vw, 3rem);
}

.padding-right-48 {
  padding-right: clamp(0rem, -0.7647rem + 3.1373vw, 3rem);
}

.padding-left-120 {
  padding-left: clamp(1rem, -1.25rem + 5vw, 7.5rem);
}

.padding-top-8 {
  padding-top: clamp(0.125rem, -0.3438rem + 1.5vw, 0.5rem);
}

.padding-bottom-8 {
  padding-bottom: clamp(0.125rem, -0.3438rem + 1.5vw, 0.5rem);
}

.padding-top-16 {
  padding-top: clamp(0.25rem, -0.6875rem + 3vw, 1rem);
}

.padding-bottom-16 {
  padding-bottom: clamp(0.25rem, -0.6875rem + 3vw, 1rem);
}

.padding-top-20 {
  padding-top: clamp(0.5rem, -0.4375rem + 3vw, 1.25rem);
}

.padding-bottom-20 {
  padding-bottom: clamp(0.5rem, -0.4375rem + 3vw, 1.25rem);
}

.padding-top-24 {
  padding-top: clamp(0.5rem, -0.75rem + 4vw, 1.5rem);
}

.padding-bottom-24 {
  padding-bottom: clamp(0.5rem, -0.75rem + 4vw, 1.5rem);
}

.padding-top-32 {
  padding-top: clamp(0.75rem, -0.8125rem + 5vw, 2rem);
}

.padding-bottom-32 {
  padding-bottom: clamp(0.75rem, -0.8125rem + 5vw, 2rem);
}

.padding-top-40 {
  padding-top: clamp(0.5rem, -2rem + 8vw, 2.5rem);
}

.padding-bottom-40 {
  padding-bottom: clamp(0.5rem, -2rem + 8vw, 2.5rem);
}

.padding-top-48 {
  padding-top: clamp(0.5rem, -2.625rem + 10vw, 3rem);
}

.padding-bottom-48 {
  padding-bottom: clamp(0.5rem, -2.625rem + 10vw, 3rem);
}

.padding-top-64 {
  padding-top: clamp(1rem, -2.75rem + 12vw, 4rem);
}

.padding-bottom-64 {
  padding-bottom: clamp(1rem, -2.75rem + 12vw, 4rem);
}

.padding-top-80 {
  padding-top: clamp(1.25rem, -3.4375rem + 15vw, 5rem);
}

.padding-bottom-80 {
  padding-bottom: clamp(1.25rem, -3.4375rem + 15vw, 5rem);
}

.padding-top-96 {
  padding-top: clamp(1.5rem, -4.125rem + 18vw, 6rem);
}

.padding-bottom-96 {
  padding-bottom: clamp(1.5rem, -4.125rem + 18vw, 6rem);
}

.padding-top-120 {
  padding-top: clamp(1rem, -1.25rem + 5vw, 7.5rem);
}

.padding-bottom-120 {
  padding-bottom: clamp(1rem, -1.25rem + 5vw, 7.5rem);
}

main {
  display: flex;
  flex-direction: column;
  padding-top: 40px;
}

.border {
  border: 1px solid deeppink;
}

.section-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.full-width {
  width: 100%;
  max-width: 100%;
}

.dynamic-width-600 {
  width: 88%;
  max-width: 600px;
}

.dynamic-width-800 {
  width: 88%;
  max-width: 800px;
}

.dynamic-width-960 {
  width: 88%;
  max-width: 960px;
}

.dynamic-width-1200 {
  width: 88%;
  max-width: 1200px;
}

.dynamic-width-1400 {
  width: 96%;
  max-width: 1400px;
}

.dynamic-width-1600 {
  width: 96%;
  max-width: 1600px;
}

.w10vw {
  width: 10vw;
}

.w20vw {
  width: 20vw;
}

.w30vw {
  width: 30vw;
}

.w40vw {
  width: 40vw;
}

.w50vw {
  width: 50vw;
}

.w60vw {
  width: 60vw;
}

.w70vw {
  width: 70vw;
}

.w80vw {
  width: 80vw;
}

.w100vw {
  width: 100vw;
}

.w10 {
  width: 10%;
}

.w20 {
  width: 20%;
}

.w30 {
  width: 30%;
}

.w40 {
  width: 40%;
}

.w50 {
  width: 50%;
}

.w60 {
  width: 60%;
}

.w70 {
  width: 70%;
}

.w80 {
  width: 80%;
}

.w100 {
  width: 100%;
}

.h100 {
  height: 100%;
}

.h72 {
  height: 72%;
}

.h50 {
  height: 50%;
}

.h72vh {
  height: 72vh;
}

.h10vh {
  height: 10vh;
}

.h25vh {
  height: 24vh;
}

.h50vh {
  height: 50vh;
}

.h60vh {
  height: 60vh;
}

.h70vh {
  height: 70vh;
}

.h80vh {
  height: 80vh;
}

.h100vh {
  height: 100vh;
}
