/* Puhu brand teal, layered on top of Pico CSS's default palette (pico.min.css). */

[data-theme='light'],
:root:not([data-theme='dark']) {
  --pico-primary: #2f4f4c;
  --pico-primary-background: #2f4f4c;
  --pico-primary-border: var(--pico-primary-background);
  --pico-primary-underline: rgba(47, 79, 76, 0.5);
  --pico-primary-hover: #1f3b38;
  --pico-primary-hover-background: #1f3b38;
  --pico-primary-hover-border: var(--pico-primary-hover-background);
  --pico-primary-hover-underline: var(--pico-primary-hover);
  --pico-primary-focus: rgba(82, 149, 145, 0.5);
  --pico-primary-inverse: #fff;
}

@media only screen and (prefers-color-scheme: dark) {
  :root:not([data-theme='light']) {
    --pico-primary: #7fc4bf;
    --pico-primary-background: #3f6f6b;
    --pico-primary-border: var(--pico-primary-background);
    --pico-primary-underline: rgba(127, 196, 191, 0.5);
    --pico-primary-hover: #9fd6d1;
    --pico-primary-hover-background: #4f8480;
    --pico-primary-hover-border: var(--pico-primary-hover-background);
    --pico-primary-hover-underline: var(--pico-primary-hover);
    --pico-primary-focus: rgba(127, 196, 191, 0.375);
    --pico-primary-inverse: #06120f;
  }
}

[data-theme='dark'] {
  --pico-primary: #7fc4bf;
  --pico-primary-background: #3f6f6b;
  --pico-primary-border: var(--pico-primary-background);
  --pico-primary-underline: rgba(127, 196, 191, 0.5);
  --pico-primary-hover: #9fd6d1;
  --pico-primary-hover-background: #4f8480;
  --pico-primary-hover-border: var(--pico-primary-hover-background);
  --pico-primary-hover-underline: var(--pico-primary-hover);
  --pico-primary-focus: rgba(127, 196, 191, 0.375);
  --pico-primary-inverse: #06120f;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  text-align: center;
  padding-block: 3rem 2rem;
  max-width: 40rem;
}

.hero__logo {
  width: 96px;
  height: 96px;
  border-radius: 22%;
  box-shadow: 0 4px 14px rgb(0 0 0 / 15%);
  animation: bob 3s ease-in-out infinite;
}

@keyframes bob {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero__logo {
    animation: none;
  }
}

.eyebrow {
  margin: 0;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.85rem;
  color: var(--pico-primary);
}

.hero h1 {
  margin: 0;
}

.hero__lead {
  margin: 0;
  max-width: 34rem;
  color: var(--pico-muted-color);
}

.hero__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.5rem;
}

.hero__actions [role='button'] {
  width: auto;
}

.hero__login-link {
  font-size: 0.9rem;
}

main section {
  padding-block: 3rem;
  text-align: center;
}

main section:nth-of-type(odd) {
  background: var(--pico-card-sectioning-background-color);
}

.steps .grid {
  margin-top: 2rem;
  text-align: left;
}

.steps .grid article {
  text-align: center;
}

.step__number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  background: var(--pico-primary-background);
  color: var(--pico-primary-inverse);
  font-weight: 700;
  margin-bottom: 0.75rem;
}

.footer-cta {
  padding-block: 3.5rem;
  background: var(--pico-primary-background);
  color: var(--pico-primary-inverse);
  text-align: center;
}

.footer-cta h2 {
  color: var(--pico-primary-inverse);
}

.footer-cta [role='button'] {
  --pico-primary-background: var(--pico-primary-inverse);
  --pico-primary-border: var(--pico-primary-inverse);
  --pico-primary-hover-background: var(--pico-primary-inverse);
  --pico-primary-hover-border: var(--pico-primary-inverse);
  --pico-primary-inverse: var(--pico-primary);
}
