.google-button { border-color: var(--copper); }
.google-button:hover { border-color: #e2a477; }

.public-page {
  --public-page-inline-gutter: 1.4rem;
  background: url('/assets/illustrations/pattern-landscape.png') center / cover no-repeat;
  display: flex;
  flex-direction: column;
  min-height: 100svh;
  position: relative;
}

.public-page > .landing-header {
  flex: 0 0 auto;
  padding: 1.5rem var(--public-page-inline-gutter) 0;
  width: 100%;
}

.public-page > .landing-shell {
  overflow: visible;
  width: 100%;
}

.public-page > .landing-shell::before,
.public-page > .landing-shell::after { content: none; }

.public-page > .site-footer {
  align-self: stretch;
  background: transparent;
  border-top: 0;
  flex: 0 0 auto;
  margin: 0;
  max-width: none;
  padding-inline: var(--public-page-inline-gutter);
  width: 100%;
}

.public-page .site-footer .footer-grid {
  grid-template-columns: minmax(0, 1fr) auto;
}

.public-page .footer-company {
  align-items: flex-start;
  justify-self: end;
  margin-inline-start: auto;
  text-align: left;
  width: min(100%, 180px);
  overflow-wrap: anywhere;
}

.public-page .footer-company-logo-link {
  align-self: flex-start;
  line-height: 0;
  width: min(100%, 180px);
}

.public-page .footer-company-logo-link img {
  display: block;
  height: auto;
  width: 100%;
}

/* The temporary footer keeps the ASO Signals rhythm while intentionally
   reducing its content to Cortisol Aware and emonster. */
.site-footer .footer-grid { grid-template-columns: 1.4fr 1fr; }

/* On a normal desktop viewport, the flex column shares the opening viewport
   between the hero and the complete footer. If content is genuinely taller,
   it remains in normal flow and the page scrolls instead of clipping it. */
@media (min-width: 701px) {
  .public-page {
    --public-page-inline-gutter: clamp(1.5rem, 5vw, 5.4rem);
  }

  .public-page > .landing-header {
    flex: 0 0 auto;
    margin: 0;
    max-width: none;
    padding: clamp(1rem, 2.5vh, 2.2rem) var(--public-page-inline-gutter);
    position: relative;
    width: 100%;
    z-index: 2;
  }

  .public-page > .landing-shell {
    display: flex;
    flex: 1 0 auto;
    flex-direction: column;
    min-height: 0;
    overflow: visible;
    padding-block: clamp(1rem, 2.5vh, 2.2rem);
    width: 100%;
  }

  .public-page .landing-content {
    flex: 1 0 auto;
    margin-inline: 0;
    max-width: none;
    min-height: 0;
    padding-inline: 0;
    padding-block: clamp(1.5rem, 3.5vh, 2.75rem);
  }

  .public-page .landing-content h1 {
    font-size: clamp(3rem, 5.6vw, 5.75rem);
    margin-bottom: clamp(1.25rem, 2.5vh, 2.2rem);
  }

  .public-page .landing-content p { margin-bottom: 0; }

  .public-page .site-footer {
    padding-inline: var(--public-page-inline-gutter);
    padding-block: clamp(28px, 4vh, 48px) clamp(20px, 2.5vh, 28px);
  }

  .public-page .footer-bottom {
    margin-top: clamp(28px, 4vh, 48px);
    padding-top: clamp(16px, 2.25vh, 22px);
  }

}

@media (max-width: 900px) {
  .site-footer .footer-grid { grid-template-columns: 1fr; }
  .site-footer .footer-brand { grid-column: auto; }

  .public-page .site-footer .footer-grid { grid-template-columns: 1fr; }
}
