.sf { max-width: 760px; margin: 0 auto; line-height: 1.6; }
.sf-lead { font-size: 1.15rem; opacity: .9; }
.sf-embed { display: flex; justify-content: center; margin: 1.5rem 0 .5rem; }
.sf-embed iframe { border: 1px solid rgba(255,255,255,.15); border-radius: 12px; max-width: 100%; }
.sf-hint { text-align: center; font-size: .9rem; opacity: .7; }
.sf h2 { margin-top: 2rem; }
.sf-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
.sf-card { border: 1px solid rgba(255,255,255,.15); border-radius: 12px; padding: 1rem 1.25rem; }
.sf-card h3 { margin-top: 0; }
.sf-foot { margin-top: 2rem; opacity: .8; }
