.os-hero { max-width:900px; padding-block:72px 48px; text-align:center; }
.os-hero h1 { font-size:clamp(44px,6.4vw,80px); margin:18px auto 24px; max-width:16ch; }
.os-subtitle { max-width:720px; margin:auto; font-size:20px; line-height:1.55; color:var(--ink); }
.os-actions { display:flex; justify-content:center; align-items:center; gap:28px; margin:28px 0 14px; }
.os-reassurance { font-size:13px; }
.os-benefits-section { padding-top:20px; }
.os-benefits { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.os-benefits .feature-card p { max-width:none; }
.os-badge-preview,.os-snippet { max-width:900px; }
.os-badge-preview { display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin:0 0 24px; font-size:13px; }
.os-badge-preview img { display:block; height:20px; width:auto; }
.os-snippet { margin:0 0 18px; }
.os-snippet span { display:block; font:500 12px/1.6 var(--mono); color:var(--muted); margin-bottom:8px; }
.os-snippet pre { margin:0; background:var(--ink); color:#e7ddf7; padding:16px 20px; border-radius:8px; overflow:auto; white-space:pre; font:13px/1.7 var(--mono); }
.os-terms { list-style:none; margin:0; padding:0; }
.os-terms li { position:relative; padding:0 0 18px 28px; font-size:15px; line-height:1.7; color:var(--muted); }
.os-terms li::before { content:'✓'; position:absolute; left:0; top:2px; color:var(--accent); font-size:13px; }
.os-terms strong { color:var(--ink); font-weight:550; }
.details-intro p { margin-top:18px; font-size:15px; line-height:1.75; max-width:330px; }
.details-intro .text-link { margin-top:22px; }
.os-faq { background:#faf9fc; border-block:1px solid var(--line); }
@media(max-width:900px) {
  .os-benefits { grid-template-columns:1fr; gap:16px; }
  .details-intro p { max-width:none; }
}
@media(max-width:700px) {
  .open-source-page .workflow-step { padding-left:0; }
  .open-source-page .step-number { position:static; margin-bottom:14px; }
  .os-hero { padding-block:46px 36px; }
  .os-subtitle { font-size:18px; }
  .os-actions { flex-direction:column; gap:16px; }
  .os-snippet pre { padding:14px 16px; font-size:12px; }
}
