body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

main {
  flex: 1;
}

/* Nav brand: icon + title */
.brand {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  text-decoration: none;
  color: var(--pico-color);
}
.brand img {
  width: 32px;
  height: 32px;
  border-radius: 22%;
  object-fit: cover;
}

/* Footer */
footer {
  text-align: center;
}
footer small {
  color: var(--pico-muted-color);
}

/* ---------- Home page ---------- */
.app-hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.app-icon {
  width: 128px;
  height: 128px;
  border-radius: 22%;
  object-fit: cover;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
  margin-bottom: 1.5rem;
}
.app-hero hgroup {
  margin-bottom: 2rem;
}
.app-store-badge {
  display: inline-block;
  line-height: 0;
}
.app-store-badge img {
  height: 54px;
  width: auto;
}
.hero-shots {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(0.75rem, 3vw, 1.5rem);
  width: 100%;
  max-width: 720px;
  margin-bottom: 2.5rem;
}
.hero-shots figure {
  margin: 0;
}
.hero-shots .shot img,
.hero-shots .shot:hover img {
  transform: none;
  box-shadow: none;
  filter: none;
  transition: none;
}

/* ---------- Press kit ---------- */
section {
  margin-bottom: 3rem;
}
.shots {
  display: grid;
  gap: 1.25rem;
}
.shots.iphone { grid-template-columns: repeat(2, 1fr); }
.shots.ipad   { grid-template-columns: repeat(1, 1fr); }
@media (min-width: 576px) {
  .shots.ipad   { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 768px) {
  .shots.iphone { grid-template-columns: repeat(4, 1fr); }
  .shots.ipad   { grid-template-columns: repeat(3, 1fr); }
}
.shot {
  display: block;
  text-decoration: none;
  color: var(--pico-muted-color);
  text-align: center;
}
.shot img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  border: 1px solid var(--pico-muted-border-color);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
/* Elliptical % radii resolve against the image's own box (horizontal % / vertical %),
   so the image, border and shadow all share exactly the same rounded shape */
.shot.iphone img { aspect-ratio: 1290 / 2796; border-radius: 12% / 5.54%; }
.shot.ipad img   { aspect-ratio: 2048 / 2732; border-radius: 3% / 2.25%; }
.shot:hover img,
.shot:focus-visible img {
  transform: translateY(-3px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
}
.shot small {
  display: block;
  margin-top: 0.5rem;
}

.privacy {
  max-width: 45rem;
}

.press-kit {
  max-width: 45rem;
}