/* Default utility pages follow the polished homepage, not the archived studies. */
html[data-brand="vupai"] {
  --bg: var(--vupai-canvas);
  --ink: var(--vupai-ink);
  --muted: var(--vupai-muted);
  --subtle: var(--vupai-subtle);
  --surface: #fff;
  --surface-soft: var(--vupai-surface-soft);
  --line: var(--vupai-line);
  --accent: var(--vupai-teal-text);
  --accent-soft: var(--vupai-accent-soft);
  --button: var(--vupai-button);
  --button-ink: var(--vupai-button-ink);
  --radius: 8px;
}

body.utility-page {
  min-height: 100dvh;
}
.utility-page main {
  width: min(690px, calc(100% - 40px));
  margin: 0 auto;
  padding: 55px 0 70px;
}
.utility-page .brand {
  margin-bottom: 50px;
  width: fit-content;
}
.utility-page article {
  border-top: 1px solid var(--line);
  padding-top: 35px;
}
.utility-page h1 {
  font-size: 43px;
  line-height: 1.15;
  letter-spacing: -0.04em;
  margin: 0 0 14px;
}
.utility-page h2 {
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -0.01em;
  margin: 32px 0 9px;
}
.utility-page p,
.utility-page li {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.9;
}
.utility-page p {
  margin-bottom: 14px;
}
.utility-page .updated {
  font: 10px var(--mono);
  margin-block: 18px 31px;
}
.utility-page ul {
  padding-left: 20px;
}
.utility-page article a,
.utility-page p a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.utility-page .back {
  display: inline-flex;
  align-items: center;
  gap: 15px;
  margin-top: 29px;
  font-size: 12px;
}
.utility-page.confirmation-page {
  display: grid;
  align-items: center;
}
.confirmation-page main {
  width: min(600px, calc(100% - 40px));
}
.confirmation-page article {
  border: 1px solid var(--line);
  padding: 42px;
  border-radius: var(--radius);
  background: var(--surface);
}
.confirmation-page h1 {
  font-size: 37px;
  margin-top: 20px;
}
.confirmation-page .eyebrow {
  color: var(--accent);
  font-size: 10px;
}
@media (max-width: 580px) {
  .utility-page main {
    padding-block: 35px 50px;
  }
  .utility-page .brand {
    margin-bottom: 35px;
  }
  .utility-page h1 {
    font-size: 36px;
  }
  .confirmation-page article {
    padding: 28px;
  }
  .confirmation-page h1 {
    font-size: 31px;
  }
  [data-design="atelier"] .utility-page h1 {
    font-size: 40px;
  }
}
