/*
 * Narrow mobile: max-width 749px
 * Wide mobile: 750px-1023px (mobile PNG shifted down 100px vs narrow mobile)
 * Desktop: 1024px+
 */

/* Mobile wireframe green (#66bb4a); desktop wireframe / art (#76c043). */
:root {
  --green: #66bb4a;
  --green-hover: #5aa83f;
  --text: #000000;
  --surface: #ffffff;
  --font: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --radius-pill: 9999px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
}

body {
  margin: 0;
  min-height: 100vh;
  font-family: var(--font);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--text);
  background-color: var(--surface);
  background-image: url("Eddis-Wholesale_042726_Landing-Page-Mobile-background.png");
  background-repeat: no-repeat;
  background-position: center bottom;
  /* Full-bleed art: wave, e mark, and garden stay visible; bottom-anchored. */
  background-size: cover;
}

/*
 * Mobile / tablet: .page is transparent so the body PNG shows through (white band + lower art).
 * Generous padding-bottom keeps copy/CTA in the upper white area of the image (~65% of its height).
 */
.page {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  padding: 1.25rem clamp(1.75rem, 5vw, 2.75rem)
    calc(clamp(10rem, 48dvh, 24rem) + env(safe-area-inset-bottom, 0px));
  max-width: 100%;
}

/* --- Header: redirect + logo centered (mobile wireframe) --- */

.site-header {
  text-align: left;
  margin-bottom: 2.125rem;
}

.redirect-notice {
  margin: 0 0 1.125rem;
  max-width: 22rem;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0.01em;
  color: var(--text);
}

.redirect-notice__seconds {
  color: var(--green);
  font-weight: 700;
  letter-spacing: 0;
}

.site-logo {
  display: block;
  width: min(100%, 300px);
  height: auto;
  margin-left: 0;
  margin-right: auto;
}

/* --- Main: headline + copy + CTA left-aligned on mobile --- */

.main {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.hero {
  flex: 1;
  width: 100%;
  margin: 0;
  text-align: left;
}

.hero__title {
  margin: 0 0 1.375rem;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: -0.035em;
  color: var(--text);
}

.hero__body {
  margin-bottom: 2rem;
}

.hero__body p {
  margin: 0 0 1rem;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.01em;
}

.hero__body p:last-child {
  margin-bottom: 0;
}

.hero__body strong {
  font-weight: 700;
}

.hero__body em {
  font-style: italic;
}

.inline-link {
  color: var(--green);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.14em;
}

.inline-link:hover {
  color: var(--green-hover);
}

.inline-link:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 2px;
}

.hero__cta-wrap {
  margin: 0;
}

.cta {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 3.125rem;
  padding: 0.875rem 1.5rem;
  font-family: inherit;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.02em;
  color: var(--surface);
  text-align: center;
  text-decoration: none;
  background-color: var(--green);
  border: none;
  border-radius: var(--radius-pill);
}

.cta:hover {
  background-color: var(--green-hover);
}

.cta:focus-visible {
  outline: 2px solid var(--text);
  outline-offset: 3px;
}

/* Narrow mobile (<=749px): full-width copy; CTA left-aligned with headline/body (wireframe-mobile) */
@media (max-width: 749px) {
  .hero__body {
    margin-bottom: 3.25rem;
  }

  .hero__cta-wrap {
    display: flex;
    justify-content: flex-start;
    margin-top: 0.75rem;
  }

  .cta {
    box-sizing: border-box;
    display: inline-flex;
    width: auto;
    max-width: 19.25rem;
  }
}

/*
 * Wide mobile (750px-1023px): shift the body background art down 100px (wave / e / garden),
 * not extra layout margin under the button.
 */
@media (min-width: 750px) and (max-width: 1023px) {
  body {
    background-position: center calc(100% + 11em);
    background-size: cover;
  }

  .page {
    padding: 1.5rem clamp(2rem, 4vw, 2.5rem)
      calc(0.75rem + env(safe-area-inset-bottom, 0px));
  }

  .hero__body {
    margin-bottom: 3.25rem;
  }

  .hero__cta-wrap {
    display: flex;
    justify-content: flex-start;
    margin-top: 0.75rem;
    margin-bottom: 0;
  }

  .cta {
    display: inline-flex;
    width: auto;
    max-width: 20rem;
  }

  .hero__title {
    font-size: 1.5rem;
  }
}

/*
 * Desktop background: Eddis-Wholesale_042726_Landing-Page_-Desktop-background.png
 */

@media (min-width: 1024px) {
  :root {
    --green: #76c043;
    --green-hover: #6aad3c;
  }

  body {
    background-image: url("Eddis-Wholesale_042726_Landing-Page_-Desktop-background.png");
    background-position: center center;
    background-size: cover;
    background-color: var(--surface);
  }

  .page {
    /* Large bottom reserve: copy + CTA above the wave in the desktop PNG */
    padding: 2.5rem clamp(2.5rem, 6vw, 4rem)
      clamp(10rem, 24vh, 18rem) clamp(4rem, 12vw, 9rem);
    max-width: 100%;
    margin: 0;
  }

  .site-header {
    text-align: left;
    margin-bottom: clamp(2.5rem, 4.2vw, 3.25rem);
  }

  .redirect-notice {
    margin: 0 0 1.25rem;
    max-width: none;
    font-size: 0.875rem;
    line-height: 1.5;
    letter-spacing: 0.015em;
  }

  .site-logo {
    margin-left: 0;
    margin-right: 0;
    width: auto;
    max-width: min(400px, 100%);
  }

  /* Desktop: keep header + hero inside the white column; ~50px narrower than before for earlier wrap */
  .site-header,
  .hero {
    max-width: min(32rem, calc(44vw - 2rem - 50px));
  }

  .hero__title {
    white-space: nowrap;
    margin-bottom: 1.75rem;
    font-size: clamp(1.5rem, 1.1vw + 1.25rem, 2rem);
    line-height: 1.2;
    letter-spacing: -0.03em;
  }

  .hero__body {
    margin-bottom: 2.25rem;
  }

  .hero__body p {
    margin-bottom: 1.125rem;
    font-size: 1rem;
    line-height: 1.62;
    letter-spacing: 0.008em;
  }

  .hero__body p:last-child {
    margin-bottom: 0;
  }

  .hero__cta-wrap {
    display: block;
    margin-top: 0.125rem;
    text-align: left;
  }

  .cta {
    display: inline-flex;
    width: auto;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    min-width: 17.5rem;
    padding: 0.9375rem 2rem;
    font-size: 1rem;
    letter-spacing: 0.018em;
  }
}
