body.os-home .graphite-hero {
  align-items: center;
  padding-block: clamp(42px, 6vw, 88px);
}
.prime-summary {
  display: grid;
  gap: 9px;
  padding-left: 1.25em;
  margin: 24px 0;
}
.prime-summary li::marker { color: #62666b; }
body.os-home .prime-visual {
  color: #181a1c;
  text-decoration: none;
  min-height: 340px;
  border-radius: 32px;
  background: radial-gradient(ellipse at 30% 14%, #fff 4%, #efeeeb 54%, #dededa 100%);
  box-shadow: 0 24px 55px #181a1c12, inset 0 1px #fff;
}
.prime-visual .graphite-power {
  background: radial-gradient(ellipse at 30% 14%, #505357, #202225 60%, #151719);
  transition: transform 160ms ease, box-shadow 160ms ease;
}
.prime-visual:hover .graphite-power { transform: translateY(-3px); }
.prime-visual:active .graphite-power {
  transform: scale(.96);
  box-shadow: 0 0 0 9px #fff, 0 5px 12px #181a1c32;
}
body.os-home .prime-section {
  padding-block: clamp(30px, 4vw, 60px);
  border-top: 1px solid #dcdcd8;
}
.prime-grid, .prime-steps {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.prime-grid article, .prime-steps li {
  padding: 22px;
  background: #fff;
  border: 1px solid #dcdcd8;
  border-radius: 20px;
}
.prime-grid h3 { margin-top: 0; }
.prime-steps {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding-left: 1.25em;
}
.prime-faq details { border-bottom: 1px solid #dcdcd8; }
.prime-faq summary {
  padding: 12px 0;
  min-height: 44px;
  font-weight: 650;
}
.prime-faq details p { margin: 0 0 14px; }
.os-home :is(header, footer) a, .os-home .prime-section a:not(.button) {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
.prime-install-note { align-self: center; max-width: 240px; }
.prime-flight {
  position: fixed;
  z-index: 2147483646;
  pointer-events: none;
  margin: 0;
  background: radial-gradient(ellipse at 30% 12%, #484b50, #181a1c 64%);
  box-shadow: 0 0 0 1px #474a4e;
  will-change: transform, border-radius;
}
.prime-flight-status {
  position: fixed;
  inset: 0;
  display: grid;
  place-items: center;
  z-index: 2147483647;
  pointer-events: none;
  color: #fff;
  font: 600 16px system-ui;
}
.prime-arrival {
  position: fixed;
  inset: 0;
  z-index: 2147483646;
  pointer-events: none;
  background: #181a1c;
  animation: prime-arrival 210ms ease-out both;
}
@keyframes prime-arrival { to { opacity: 0; } }
@media (max-width: 650px) {
  body.os-home .prime-visual { min-height: 220px; }
  .prime-grid, .prime-steps { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .prime-visual .graphite-power { transition: none; }
  .prime-visual:hover .graphite-power { transform: none; }
  .prime-arrival { display: none; }
}
