/* Sahyog compositions use the pinned design package and shared galleries. */
.sahyog-intro { color: var(--neel); margin-bottom: 1rem; }
.sahyog-section-heading { max-width: 48rem; margin-bottom: 2rem; }
.sahyog-section-heading h2, .sahyog-voice-copy h2, .sahyog-invitation h2 { margin-bottom: 1.1rem; }
.sahyog-section-heading p { margin-bottom: 0; font-size: 1.15rem; }
.sahyog-prose-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.5rem, 5vw, 4rem); }
.sahyog-prose-columns > p, .sahyog-prose-columns article > p:last-child { margin-bottom: 0; }
.sahyog-examples { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem; }
.sahyog-example { border-top: 1px solid var(--border-strong); padding-top: 1.5rem; }
.sahyog-example h3, .sahyog-next h3 { margin-bottom: 1rem; }
.sahyog-example > p:last-child { margin-bottom: 0; }
.sahyog-work-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 3rem; }
.sahyog-work-grid article { border-left: 2px solid var(--gold); padding-left: 1.4rem; }
.sahyog-work-grid h3 { margin-bottom: .7rem; font-size: 1.55rem; }
.sahyog-work-grid p { margin-bottom: 0; }
.sahyog-voice-feature { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.sahyog-voice-copy { max-width: 42rem; }
.sahyog-voice-copy > p:last-child { margin-bottom: 0; }
.sahyog-request { margin: 1.5rem 0; padding: 1.1rem 1.5rem; border-left: 2px solid var(--gold); background: var(--deep); }
.sahyog-request p { margin: 0; font-family: var(--f-edit); color: var(--neel); }
.sahyog-voice-screen { margin: 0; width: 100%; max-width: 330px; justify-self: center; }
.sahyog-voice-screen img { display: block; width: 100%; height: auto; border: 1px solid var(--border-mid); border-radius: 18px; box-shadow: 0 14px 40px color-mix(in srgb, var(--neel) 9%, transparent); }
.sahyog-voice-screen figcaption { margin-top: 1rem; text-align: center; font-size: 1rem; color: var(--ink-mute); line-height: 1.5; }
.sahyog-agents, .sahyog-next { border-top: 1px solid var(--border-mid); }
.sahyog-invitation { border: 1px solid var(--border-mid); background: var(--deep); border-radius: 16px; padding: 2.3rem 2.5rem; display: flex; align-items: center; justify-content: space-between; gap: 3rem; margin-block: 1.5rem 4rem; }
.sahyog-invitation > div { max-width: 43rem; }
.sahyog-invitation p { margin-bottom: 0; }
.sahyog-invitation > a { flex-shrink: 0; }
.sahyog-footer-top { display: flex; justify-content: space-between; align-items: start; gap: 2rem; }
.sahyog-footer-top p { margin: 0; }
.sahyog-footer-top strong { font-weight: 500; font-size: 1.4rem; }
.sahyog-footer-top nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .8rem 1.4rem; max-width: 28rem; }
.sahyog-footer-bottom { display: flex; flex-wrap: wrap; gap: .75rem 1.4rem; border-top: 1px solid var(--border-mid); padding-top: 1.2rem; margin-top: 1.5rem; font-size: 1rem; }
@media (max-width: 900px) {
  .sahyog-voice-feature { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .sahyog-voice-copy { max-width: 43rem; }
  .sahyog-invitation { align-items: start; flex-direction: column; gap: 1.5rem; }
}
@media (max-width: 620px) {
  .sahyog-prose-columns, .sahyog-examples, .sahyog-work-grid { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .sahyog-request { padding-inline: 1rem; }
  .sahyog-invitation { padding: 1.5rem; }
  .sahyog-footer-top { flex-direction: column; }
  .sahyog-footer-top nav { justify-content: flex-start; }
}
