/* map your font CSS variables to the real families you already declared */
:root {
  --font-p22-mackinac-pro: 'P22 Mackinac Pro', serif;
  --font-avenir-next: 'Avenir Next', sans-serif;
  --primary: #333f5b;
  --Primary-Colors-Background: #fcf9f8;
  --Primary-Colors-Heading: #333f5b;
}

/* Optional: scope styles only to this template to avoid conflicts */
body.page-template-page-newlanding {
  /* nothing here; just a scoping anchor if you want later rules */
}


/* About Section - Exact Figma Layout */
.aboutSection {
  align-self: stretch;
}

/* Background ellipse - positioned as in Figma */
.ellipse13 {
  position: absolute;
  left: calc(50% - 171.106px);
  top: 477px;
  width: 806.877px;
  height: 806.877px;
  transform: translateX(-50%);
  z-index: 0;
  pointer-events: none;
}

.ellipse13 img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: scale(1.4);
}

/* Left Main container */
.aboutContainer {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 64px;
}

/* Left Header Area - Top Left (Eyebrow + Heading) */
.leftHeader {
  display: flex;
  padding-right: 80px;
  flex-direction: column;
  align-items: flex-start;
  gap: 64px;
}

.heading {
  /* Exact Figma specs: P22 Mackinac Pro Medium, 64px */
  font-family: var(--font-p22-mackinac-pro), serif !important;
  font-weight: 500 !important;
  font-size: 64px !important;
  line-height: 1.1 !important;
  letter-spacing: -1.92px !important;
  color: var(--primary, #333f5b) !important;
  text-transform: capitalize !important;
  width: 433.917px;
  margin: 0 !important;
}

/* Quote Wrapper - Overlapping with image (key part!) */
.quoteWrapper {
  display: flex;
  padding: 12px;
  align-items: center;
  gap: 10px;
  z-index: 4;
}

.quoteContent {
  display: flex;
  width: 771px;
  padding: 64px;
  flex-direction: column;
  align-items: flex-start;
  gap: 60px;
  border-radius: 18px;
  background: var(--Primary-Colors-Background, #fcf9f8);
}

/* Quote Component - Exact Figma design */

.quoteText {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.paragraph {
  /* P22 Mackinac Pro Medium, 30px - exact Figma specs */
  padding: 0;
  margin: 0;
  color: rgba(51, 63, 91, 0.4);
  font-kerning: none;
  font-feature-settings: "liga" off;
  font-family: var(--font-p22-mackinac-pro), serif !important;
  font-size: 25px;
  font-style: normal;
  font-weight: 500;
  line-height: 135%;
  letter-spacing: -0.7px;
}

.primaryText {
  color: var(--Primary-Colors-Heading, #333f5b);
}

.secondaryText {
  color: rgba(51, 63, 91, 0.5);
}

/* Attribution */
.attribution {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
}

.authorName {
  /* Avenir Next Demi, 24px - exact Figma specs */
  font-family: var(--font-avenir-next), sans-serif;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: -0.72px;
  color: #3495ff;
  text-align: left;
}

.authorTitle {
  /* Avenir Next Medium, 18px - exact Figma specs */
  font-family: var(--font-avenir-next), sans-serif;
  font-weight: 450;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: -0.36px;
  color: #6d717b;
  text-align: left;
}

/* Fred Martin's image */
.fredImageContainer {
  position: absolute;
  right: 420px;
  top: 107px;
  transform: translateX(50%);
  width: fit-content;
  height: fit-content;
  flex-shrink: 0;
}

.fredImage {
  width: 826px;
  height: 807px;
  object-fit: contain;
  border-radius: 24px;
}

/* Mobile: 320px - 767px */
@media (max-width: 767px) {
  .aboutSection {
    padding: 24px;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
    align-self: stretch;
    height: 800px;
  }

  .aboutContainer {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 28px;
    align-self: stretch;
  }

  .leftHeader {
    align-items: center !important;
    max-width: 100%;
    padding: 0;
    gap: 32px;
  }

  .heading {
    width: 100% !important;
    text-align: center !important;
    font-size: 30px !important;
    letter-spacing: -2px !important;
    width: 100% !important;
  }

  .fredImageContainer {
    position: absolute;
    left: 50%;
    top: 134px;
    transform: translateX(-50%);
  }

  .fredImage {
    width: 345px;
    height: 337.921px;
  }

  .quoteWrapper {
    position: relative;
    left: 0;
    top: 354px;
    width: 348px;
    height: auto;
    padding: 0;
  }

  .ellipse13 {
    display: none;
  }

  .quoteContent {
    background-color: transparent !important;
    padding: 0px;
    width: 345px;
    flex-direction: column;
    align-items: center;
    gap: 48px;
    border-radius: 0px;
  }

  .paragraph {
    color: var(--Primary-Colors-Heading, #333f5b);
    text-align: center;
    font-kerning: none;
    font-feature-settings: "liga" off;
    font-family: var(--font-p22-mackinac-pro), serif !important;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%; /* 22.8px */
    letter-spacing: -0.57px;
  }

  .attribution {
    align-items: center;
    gap: 10px;
  }

  .authorName {
    font-size: 18px;
    letter-spacing: -0.54px;
  }

  .authorTitle {
    font-size: 16px;
    letter-spacing: -0.32px;
  }
}

/* Tablet: 768px - 1024px */
@media (min-width: 768px) and (max-width: 1024px) {
  .aboutSection {
    padding: 0px 120px;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
    align-self: stretch;
    height: 1320px;
  }

  .aboutContainer {
    width: 100%;
    max-width: 1000px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 38px;
    align-self: stretch;
  }

  .leftHeader {
    align-items: center !important;
    max-width: 100%;
    padding: 0;
    gap: 32px;
  }

  .heading {
    text-align: center !important;
    font-size: 38px !important;
    letter-spacing: -1px !important;
  }

  .fredImageContainer {
    position: absolute;
    left: 50%;
    top: 154px;
    transform: translateX(-50%);
  }

  .fredImage {
    width: 545px;
    height: 533px;
  }

  .quoteWrapper {
    position: relative;
    left: 0;
    top: 554px;
    width: 550px;
    height: auto;
    padding: 0;
  }

  .ellipse13 {
    display: none;
  }

  .quoteContent {
    background-color: transparent !important;
    padding: 0px;
    width: 100%;
    flex-direction: column;
    align-items: center;
    gap: 48px;
    border-radius: 0px;
  }

  .paragraph {
    color: var(--Primary-Colors-Heading, #333f5b);
    text-align: justify;
    font-kerning: none;
    font-feature-settings: "liga" off;
    font-family: var(--font-p22-mackinac-pro), serif !important;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%; /* 22.8px */
    letter-spacing: -0.57px;
  }

  .attribution {
    align-items: center;
    gap: 10px;
  }

  .authorName {
    font-size: 18px;
    letter-spacing: -0.54px;
  }

  .authorTitle {
    font-size: 16px;
    letter-spacing: -0.32px;
  }
}

/* Laptop: 1025px - 1366px */
@media (min-width: 1025px) and (max-width: 1365px) {
  .aboutSection {
    padding: 0px;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
    align-self: stretch;
  }

  .aboutContainer {
    width: 100%;
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 28px;
    align-self: stretch;
  }

  .leftHeader {
    align-items: flex-start !important;
    max-width: 100%;
    padding: 0;
    gap: 22px;
  }

  .heading {
    width: 60% !important;
    font-size: 4.444vw !important;
  }

  .fredImageContainer {
    position: absolute;
    right: 22vw;
    top: 6vw;
    transform: translateX(50%);
  }

  .fredImage {
    width: 45vw;
    height: 57vw;
  }

  .ellipse13 {
    display: none;
  }

  .quoteWrapper {
    position: relative;
    display: flex;
    padding: 0;
    align-items: center;
    gap: 10px;
    z-index: 4;
  }

  .quoteContent {
    display: flex;
    width: 50vw;
    padding: 5vw;
    flex-direction: column;
    align-items: flex-start;
    gap: 30px;
    border-radius: 18px;
    background: var(--Primary-Colors-Background, #fcf9f8);
  }

  .paragraph {
    color: var(--Primary-Colors-Heading, #333f5b);
    text-align: center;
    font-kerning: none;
    font-feature-settings: "liga" off;
    font-family: var(--font-p22-mackinac-pro), serif !important;
    font-size: 1.5vw;
    font-style: normal;
    font-weight: 500;
    line-height: 120%; /* 22.8px */
    letter-spacing: -0.2px;
    text-align: left;
  }

  .attribution {
    align-items: flex-start;
    gap: 5px;
  }

  .authorName {
    font-size: 16px;
    letter-spacing: -0.54px;
  }

  .authorTitle {
    font-size: 16px;
    letter-spacing: -0.32px;
  }
}

/* Laptop: 1366px - 1727px */
@media (min-width: 1366px) and (max-width: 1727px) {
  /* Background ellipse - positioned as in Figma */
  .ellipse13 {
    position: absolute;
    left: 40%;
    top: 377px;
    width: 806.877px;
    height: 806.877px;
    transform: translateX(-50%);
    pointer-events: none;
  }

  .ellipse13 img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform: scale(1.4);
  }

  /* Left Header Area - Top Left (Eyebrow + Heading) */
  .leftHeader {
    display: flex;
    padding-right: 80px;
    flex-direction: column;
    align-items: flex-start;
    gap: 64px;
  }

  .heading {
    /* Exact Figma specs: P22 Mackinac Pro Medium, 64px */
    font-family: var(--font-p22-mackinac-pro), serif !important;
    font-weight: 500 !important;
    font-size: 64px !important;
    line-height: 1.1 !important;
    letter-spacing: -1.92px !important;
    color: var(--primary, #333f5b) !important;
    text-transform: capitalize !important;
    width: 433.917px;
    margin: 0 !important;
  }

  /* Quote Wrapper - Overlapping with image (key part!) */
  .quoteWrapper {
    display: flex;
    padding: 12px;
    align-items: center;
    gap: 10px;
    z-index: 4;
  }

  .quoteContent {
    display: flex;
    width: 650px;
    padding: 64px;
    flex-direction: column;
    align-items: flex-start;
    gap: 60px;
    border-radius: 18px;
  }

  /* Quote Component - Exact Figma design */

  .quoteText {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }

  .paragraph {
    /* P22 Mackinac Pro Medium, 30px - exact Figma specs */
    padding: 0;
    margin: 0;
    color: rgba(51, 63, 91, 0.4);
    font-kerning: none;
    font-feature-settings: "liga" off;
    font-family: var(--font-p22-mackinac-pro), serif !important;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 135%;
    letter-spacing: -0.6px;
  }

  /* Attribution */
  .attribution {
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: flex-start;
  }

  .authorName {
    /* Avenir Next Demi, 24px - exact Figma specs */
    font-family: var(--font-avenir-next), sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: -0.72px;
    color: #3495ff;
    text-align: left;
  }

  .authorTitle {
    /* Avenir Next Medium, 18px - exact Figma specs */
    font-family: var(--font-avenir-next), sans-serif;
    font-weight: 450;
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: -0.36px;
    color: #6d717b;
    text-align: left;
  }

  /* Fred Martin's image */
  .fredImageContainer {
    position: absolute;
    right: 420px;
    top: 120px;
    transform: translateX(50%);
    width: fit-content;
    height: fit-content;
    flex-shrink: 0;
  }

  .fredImage {
    width: 800px;
    height: 781px;
    object-fit: contain;
    border-radius: 24px;
    box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.1);
  }
}

.infoCard {
  background-color: #ebf4ff;
  border-radius: 1.5rem;
  padding: 3rem;
  // width: 100%;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
  // height: 859px;
}

.cardTitle {
  font-size: 48px;
  font-weight: 500;
  color: #2c3e50;
  margin-bottom: 2.5rem;
  font-family: 'P22 Mackinac Pro';
}

.registration-form
{
  font-family: 'P22 Mackinac Pro' !important;
}

.registration-form .mp_wrapper label {
    color: #1C2954;
    opacity: 1;
    font-size: 16px;
    line-height: 20px;
    font-weight: 300;
    font-family: 'P22 Mackinac Pro' !important;
}

.ourBoldGoal {
  font-family: 'Avenir Next';
  color: #f37f54;
}

.fredMartin {
  font-family: 'Avenir Next';
  color: #3495ff;
}

.mepr-submit, .button-primary {
  position: relative;
  border-radius: 24px !important;
  background-color: #3495ff !important;
  height: 64px !important;
  display: flex !important;
  align-items: center !important;
  padding: 24px 48px !important;
  box-sizing: border-box !important;
  gap: 10px !important;
  text-align: left !important;
  font-size: 16px !important;
  color: #fff !important;
  font-family: 'PP Neue Montreal' !important;
  border: none !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: all 0.2s ease-in-out !important;
}

.logoContainer
{
	text-align: center;
    margin-bottom: 20px;
}