:root {
  color-scheme: dark;
  --ink: #1d1428;
  --paper: #fffaf4;
  --coral: #ff5368;
  --amber: #ffb84d;
  --muted: #6e6475;
  --line: #e8dfe9;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  color: var(--ink);
  background:
    radial-gradient(circle at 12% -4%, rgba(255, 83, 104, .34), transparent 31rem),
    radial-gradient(circle at 95% 10%, rgba(255, 184, 77, .26), transparent 28rem),
    #21162c;
  font: 16px/1.65 ui-rounded, "SF Pro Rounded", "Avenir Next", system-ui, sans-serif;
}

a { color: #b72d4d; text-underline-offset: 3px; }

.shell { width: min(760px, calc(100% - 28px)); margin: 0 auto; padding: 30px 0 64px; }

.nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
  color: white;
}

.brand { color: white; font-size: 22px; font-weight: 900; letter-spacing: -.04em; text-decoration: none; }
.brand i { color: var(--coral); font-style: normal; }
.navlinks { display: flex; flex-wrap: wrap; gap: 14px; }
.navlinks a { color: rgba(255,255,255,.76); font-size: 13px; font-weight: 700; text-decoration: none; }

main {
  overflow: hidden;
  padding: clamp(24px, 5vw, 52px);
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 34px;
  background: var(--paper);
  box-shadow: 0 28px 80px rgba(0,0,0,.28);
}

.eyebrow { margin: 0 0 8px; color: #a23b53; font-size: 12px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
h1 { max-width: 14ch; margin: 0; font-size: clamp(36px, 8vw, 62px); line-height: .98; letter-spacing: -.065em; }
.lede { max-width: 58ch; margin: 20px 0 30px; color: var(--muted); font-size: 18px; line-height: 1.55; }
h2 { margin: 34px 0 8px; font-size: 21px; line-height: 1.25; letter-spacing: -.025em; }
p, li { color: #4f4655; }
ul { padding-left: 20px; }
.updated { margin-top: 36px; padding-top: 18px; border-top: 1px solid var(--line); color: #827687; font-size: 13px; }
.callout { margin: 24px 0; padding: 18px 20px; border: 1px solid #f0cbd2; border-radius: 20px; background: #fff0f2; }
.callout strong { display: block; margin-bottom: 4px; }
.button { display: inline-block; padding: 12px 18px; border-radius: 14px; color: white; background: var(--coral); font-weight: 850; text-decoration: none; box-shadow: 0 5px 0 #b92f48; }

@media (max-width: 560px) {
  .nav { align-items: flex-start; }
  .navlinks { justify-content: flex-end; }
  main { border-radius: 26px; }
}
