/* StagePilot editorial pages only. No private interface or global override. */
.stagepilot-public { max-width: 1120px; }
.stagepilot-public .sp-hero { padding-block: 90px 72px; }
.stagepilot-public h1 { max-width: 18ch; margin-block: 24px 30px; font-size: clamp(42px, 5.8vw, 78px); line-height: 1.07; }
.stagepilot-public h1 em { font-weight: inherit; }
.stagepilot-public h2 { max-width: 26ch; margin-block: 15px 28px; font-size: clamp(30px, 3vw, 42px); }
.stagepilot-public h3 { margin-bottom: 16px; font-size: 22px; letter-spacing: -.035em; }
.stagepilot-public p { max-width: 78ch; margin-bottom: 20px; color: #c5ccca; }
.stagepilot-public .sp-lead { max-width: 66ch; font-size: clamp(18px, 1.8vw, 21px); }
.stagepilot-public .eyebrow { color: var(--peach); font-size: 11px; }
.stagepilot-public .sp-links { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 30px; margin-block: 30px; }
.stagepilot-public .sp-note { border-left: 2px solid var(--line); padding-left: 22px; font-size: 15px; color: var(--muted); }
.stagepilot-public .sp-text-link,
.stagepilot-public .sp-policy a { color: var(--peach); text-decoration: underline; text-underline-offset: 5px; }
.stagepilot-public .sp-section { border-top: 1px solid var(--line); padding-block: 58px; }
.stagepilot-public .sp-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; margin: 40px 0 0; padding: 0; list-style: none; }
.stagepilot-public .sp-step-number { display: block; margin-bottom: 24px; color: var(--peach); font: 14px/1 var(--mono); }
.stagepilot-public .sp-steps p,
.stagepilot-public .sp-google-grid p { font-size: 16px; }
.stagepilot-public .sp-google-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; margin-block: 35px; }
.stagepilot-public .sp-compact { padding-block: 35px; }
.stagepilot-public .sp-compact h2 { font-size: clamp(25px, 2.7vw, 34px); max-width: none; }
.sp-policy { max-width: 960px; }
.sp-policy h3 { margin-top: 32px; }
.sp-policy section a { color: var(--peach); text-decoration: underline; text-underline-offset: 4px; }
.sp-policy code { overflow-wrap: anywhere; font-size: .9em; }
.stagepilot-public strong { color: var(--text); }
@media (max-width: 820px) {
  .stagepilot-public .sp-hero { padding-block: 52px 42px; }
  .stagepilot-public .sp-steps,
  .stagepilot-public .sp-google-grid { grid-template-columns: 1fr; gap: 26px; }
  .stagepilot-public .sp-step-number { margin-bottom: 15px; }
  .stagepilot-public .sp-section { padding-block: 34px; }
  .stagepilot-public h1 { font-size: clamp(36px, 8.5vw, 54px); }
  .stagepilot-public .sp-note { padding-left: 15px; }
}
