/* Sill product page. */

.stage {
  margin: 56px 0 0;
  display: flex;
  justify-content: center;
}
/* The capture carries macOS's own window shadow in its transparent margin. */
.stage img { display: block; width: 100%; max-width: 1132px; height: auto; }

/* Custom screens */
.split {
  margin-top: 96px;
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  gap: 64px;
  align-items: start;
}
.split h2 {
  margin: 20px 0 0;
  font-weight: 600;
  font-size: 40px;
  line-height: 1.08;
  letter-spacing: -0.025em;
}
.split p { margin-top: 20px; font-size: 17px; line-height: 1.6; color: var(--muted); }
.split p code, .feature code { font-family: var(--mono); font-size: 0.88em; color: var(--text); }

.code {
  margin: 0;
  padding: 24px;
  border: 1px solid var(--rule);
  border-radius: 10px;
  background: var(--panel);
  font-family: var(--mono);
  font-size: 13px;
  line-height: 1.7;
  color: var(--text);
  overflow-x: auto;
}
.code + .code { margin-top: 16px; }
.code .c { color: var(--muted); }
.code .s { color: #E0A9A5; }

@media (max-width: 960px) {
  .split { grid-template-columns: 1fr; gap: 32px; margin-top: 72px; }
}

@media (max-width: 640px) {
  .stage { margin-top: 36px; }
  .split { margin-top: 56px; }
  .split h2 { font-size: 30px; }
  .split p { font-size: 16px; }
  .code { padding: 16px; font-size: 12px; }
}


/* App icon beside the title. macOS icons carry ~10% transparent padding,
   so the image runs a little larger than the type to look the same height. */
.product-title { display: flex; align-items: center; gap: 16px; }
.product-icon { width: 1.1em; height: 1.1em; flex: none; margin-left: -0.08em; }
