:root {
  --pink: #ffa6dd;
  --ink: #171219;
  --paper: #fffafc;
  --border: 3px solid var(--ink);
  --shadow: 10px 10px 0 var(--ink);
}

* {
  box-sizing: border-box;
}

html {
  background: var(--ink);
  scroll-behavior: smooth;
}

body {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  background: var(--pink);
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
  display: grid;
  grid-template-rows: auto minmax(60vh, 1fr) auto auto;
}

a {
  color: inherit;
}

.site-header,
.site-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem clamp(1.25rem, 4vw, 4rem);
}

.site-header {
  padding-block: 1.625rem;
  border-bottom: var(--border);
}

.brand-logo {
  display: block;
  position: relative;
  overflow: hidden;
  text-decoration: none;
}

.brand-logo img {
  display: block;
  position: absolute;
  top: var(--logo-top);
  left: var(--logo-left);
  width: var(--logo-canvas-width);
  max-width: none;
  height: auto;
}

.brand-logo--top {
  --logo-canvas-width: 229.358%;
  --logo-left: -66.59%;
  --logo-top: -267.696%;
  width: clamp(11.62512rem, 19.3752vw, 15.50016rem);
  aspect-ratio: 1308 / 421;
}

.brand-logo--bottom {
  --logo-canvas-width: 795.756%;
  --logo-left: -357.825%;
  --logo-top: -345.856%;
  width: clamp(5.4rem, 12.24vw, 9.36rem);
  aspect-ratio: 377 / 362;
}

.site-main {
  display: grid;
  place-items: center;
  padding: clamp(3rem, 8vw, 7rem) 1.25rem;
}

.feature-card {
  width: min(100%, 40rem);
  padding: clamp(1.75rem, 5vw, 4rem);
  background: var(--paper);
  border: var(--border);
  box-shadow: var(--shadow);
}

.feature-card__eyebrow {
  margin: 0 0 1.5rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

h1 {
  max-width: 9ch;
  margin: 0;
  font-size: clamp(3rem, 9vw, 6.5rem);
  letter-spacing: -0.08em;
  line-height: 0.82;
  text-transform: uppercase;
}

.feature-card__copy {
  max-width: 34rem;
  margin: 2rem 0;
  font-size: clamp(1rem, 2vw, 1.25rem);
  line-height: 1.5;
}

.contact-button {
  display: flex;
  width: fit-content;
  margin-inline: auto;
  min-height: 3.5rem;
  align-items: center;
  justify-content: center;
  padding: 0.85rem 1.5rem;
  background: var(--pink);
  border: var(--border);
  box-shadow: 5px 5px 0 var(--ink);
  font-weight: 900;
  letter-spacing: 0.08em;
  text-decoration: none;
  transition: box-shadow 150ms ease, transform 150ms ease;
}

.contact-button:hover,
.contact-button:focus-visible {
  box-shadow: 2px 2px 0 var(--ink);
  transform: translate(3px, 3px);
}

.contact-button:focus-visible,
.brand-logo:focus-visible,
.site-footer a:focus-visible {
  outline: 3px solid var(--paper);
  outline-offset: 4px;
}

.brand-signoff {
  display: grid;
  min-height: 0;
  place-items: center;
  padding: 1.2rem 1.25rem;
  border-top: var(--border);
}

.site-footer {
  justify-content: center;
  gap: 1rem;
  background: var(--ink);
  color: var(--paper);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.site-footer p {
  margin: 0;
}

@media (max-width: 36rem) {
  .feature-card {
    box-shadow: 6px 6px 0 var(--ink);
  }

}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .contact-button {
    transition: none;
  }
}
