/* Offer documents retain filters; student cases use one compact, native-scrolling row. */
.content-refined .offers-section { color: var(--content-ink); }

.content-refined .offer-gallery { margin: 0 0 76px; }

.content-refined :is(.gallery-heading, .case-heading) { align-items: baseline; gap: 16px 32px; margin-bottom: 24px; }

.content-refined :is(.gallery-heading, .case-heading) h3 { font-size: clamp(23px, 2.3vw, 28px); font-weight: 600; line-height: 1.4; letter-spacing: -.025em; }

.content-refined :is(.gallery-heading, .case-heading) p { color: var(--content-muted); font-size: 15px; line-height: 1.7; }

.content-refined .case-heading { display: flex; scroll-margin-top: 90px; align-items: center; }

.case-controls { display: flex; gap: 8px; }
.case-controls button { width: 44px; height: 44px; border: 1px solid var(--content-line); border-radius: 50%; color: var(--content-ink); background: transparent; font-size: 20px; }
.case-controls button:disabled { opacity: .3; cursor: default; }
.case-controls button:hover:not(:disabled) { background: var(--content-surface); border-color: var(--content-muted); }
.offer-board:focus-visible { outline: 2px solid var(--content-accent); outline-offset: 5px; }
.offer-board.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.offer-board.is-dragging summary { cursor: grabbing; }
.offer-board.is-enhanced .offer-item:has(details[open]) { border-color: var(--content-accent); }
.offer-board:not(.is-enhanced):has(details[open]) { grid-auto-columns: 100%; align-items: start; }
.case-reader-panel { margin-top: 24px; padding: 24px 32px 32px; border: 1px solid var(--content-line); border-radius: 10px; background: var(--content-surface); scroll-margin-top: 88px; }
.content-refined .case-reader-panel > .case-reader { padding: 0; border: 0; }
#case-close { display: flex; align-items: center; gap: 16px; min-height: 44px; margin: 0 0 20px auto; padding: 8px 12px; border: 1px solid var(--content-line); border-radius: 5px; background: transparent; color: var(--content-ink); font-size: 14px; }
#case-close span { font-size: 22px; }
#case-close:hover { background: var(--content-paper); }

.content-refined .gallery-filters { gap: 8px; margin-bottom: 28px; }

.content-refined .gallery-filters button { min-height: 44px; padding: 9px 16px; border: 1px solid var(--content-line); border-radius: 4px; background: transparent; color: var(--content-muted); font-size: 14px; line-height: 1.5; transition: background-color .16s ease, color .16s ease, border-color .16s ease; }

.content-refined .gallery-filters button[aria-pressed=true] { border-color: var(--content-accent); background: var(--content-accent); color: var(--content-surface); }

.content-refined .offer-posters { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 36px 22px; }

.content-refined .offer-poster { display: flex; flex-direction: column; }

.content-refined .poster-frame { flex-shrink: 0; border: 1px solid var(--content-line); border-radius: 3px; background: var(--content-surface); }

.content-refined .poster-frame img { object-fit: contain; object-position: center; }

.content-refined .offer-poster figcaption { display: flex; flex: 1; flex-direction: column; padding-top: 16px; }

.content-refined .offer-poster h4 { color: var(--content-ink); font-size: 16px; font-weight: 600; line-height: 1.45; overflow-wrap: anywhere; }

.content-refined .offer-poster figcaption p { flex: 1; min-height: 44px; margin-top: 5px; color: var(--content-muted); font-size: 13px; line-height: 1.65; overflow-wrap: anywhere; }

.content-refined .offer-poster .image-open { min-height: 44px; margin-top: 12px; border-color: var(--content-line); color: var(--content-ink); font-size: 14px; }

.content-refined .gallery-pagination { margin-top: 32px; padding-top: 20px; border-color: var(--content-line); }

.content-refined .gallery-pagination > p { color: var(--content-muted); font-size: 14px; }

.content-refined .gallery-controls button { width: 48px; height: 48px; border-color: var(--content-line); border-radius: 4px; color: var(--content-ink); }

.content-refined .offer-board { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: min(340px, calc(100% - 28px)); gap: 20px; align-items: stretch; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scroll-padding-inline: 2px; scrollbar-width: thin; scrollbar-color: #aab6ae transparent; padding: 2px 2px 18px; cursor: grab; }

.content-refined .offer-item { display: flex; flex-direction: column; scroll-snap-align: start; padding: 22px 24px 12px; border: 1px solid var(--content-line); border-radius: 10px; background: var(--content-surface); }

.content-refined .offer-top { gap: 12px; margin-bottom: 20px; color: var(--content-muted); font-size: 12px; line-height: 1.5; }

.content-refined .offer-index { white-space: nowrap; }

.content-refined .offer-tag { padding: 0; border: 0; text-align: right; }

.content-refined .case-results { gap: 16px; }

.content-refined .offer-logo { height: 32px; justify-content: flex-start; margin-bottom: 12px; }

.content-refined .offer-logo .company-logo { width: auto; height: 32px; max-width: min(118px, 100%); object-fit: contain; object-position: left center; }

.content-refined .offer-result h3 { color: var(--content-ink); font-size: 22px; font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }

.content-refined .offer-result > p { min-height: 0; margin-top: 6px; color: var(--content-muted); font-size: 14px; line-height: 1.6; }

.content-refined .offer-person { display: flex; align-items: baseline; gap: 10px; margin: 0 0 22px; color: var(--content-muted); font-size: 13px; line-height: 1.7; }

.content-refined .offer-person span { display: inline; margin: 0; padding-left: 10px; border-left: 1px solid var(--content-line); }

.content-refined .case-title { margin: 22px 0 10px; color: var(--content-ink); font-size: 17px; font-weight: 500; line-height: 1.6; text-wrap: pretty; }

.content-refined .offer-start { min-height: 0; margin-top: 16px; color: var(--content-muted); font-size: 16px; line-height: 1.9; }

.content-refined .offer-details { margin-top: auto; border-color: var(--content-line); }

.content-refined .offer-details summary { min-height: 44px; gap: 16px; padding-block: 10px; color: var(--content-ink); font-size: 14px; line-height: 1.5; }

.content-refined .offer-details summary > span:last-child { flex-shrink: 0; font-size: 20px; line-height: 1; transition: transform .18s ease; }

.content-refined .offer-details[open] summary { padding-bottom: 20px; }

.content-refined .case-reader { grid-template-columns: minmax(230px, .78fr) minmax(0, 1.7fr); gap: 48px; padding-top: 32px; border-color: var(--content-line); }

.content-refined .case-context { padding: 24px; border-radius: 3px; background: var(--content-paper); }

.content-refined .case-context h4 { color: var(--content-ink); font-size: 16px; font-weight: 600; line-height: 1.5; }

.content-refined .case-context dl { margin-top: 20px; font-size: 14px; line-height: 1.7; }

.content-refined .case-context dt { margin-bottom: 4px; color: var(--content-muted); font-size: 13px; }

.content-refined .case-context dd { color: var(--content-ink); overflow-wrap: anywhere; }

.content-refined .case-support { margin-top: 24px; padding-top: 24px; border-color: var(--content-line); }

.content-refined .case-support li { color: var(--content-muted); font-size: 14px; line-height: 1.85; }

.content-refined .case-support li::marker { color: var(--content-accent); }

.content-refined .case-narrative { min-width: 0; max-width: 44rem; }

.content-refined .case-reading-title { color: var(--content-ink); font-size: clamp(23px, 2.4vw, 29px); font-weight: 600; line-height: 1.5; text-wrap: pretty; }

.content-refined .case-milestones { gap: 18px 24px; margin: 24px 0 32px; padding-block: 22px; border-color: var(--content-line); }

.content-refined .case-milestones li { color: var(--content-ink); font-size: 14px; line-height: 1.7; padding-left: 28px; }

.content-refined .case-milestones li::before { color: var(--content-muted); font-size: 13px; }

.content-refined .offer-story .case-chapter { grid-template-columns: 25px minmax(0, 1fr); gap: 12px; }

.content-refined .offer-story .case-chapter + .case-chapter { margin-top: 30px; }

.content-refined .chapter-number { padding-top: 3px; color: var(--content-muted); font-size: 13px; }

.content-refined .offer-story h4 { margin-bottom: 12px; color: var(--content-ink); font-size: 18px; font-weight: 600; line-height: 1.6; }

.content-refined .offer-story p { color: var(--content-muted); font-size: 16px; line-height: 1.95; overflow-wrap: break-word; }

.content-refined .case-credit { margin-top: 30px; color: var(--content-muted); font-size: 13px; }

@media (hover: hover) {
  .content-refined .gallery-filters button:not([aria-pressed=true]):hover,
  .content-refined .gallery-controls button:hover:not(:disabled) { border-color: var(--content-ink); background: var(--content-surface); color: var(--content-ink); }

  .content-refined .offer-poster .image-open:hover,
  .content-refined .offer-details summary:hover :is(.when-open,.when-closed) { text-decoration: underline; text-underline-offset: 4px; }
}

@media (max-width: 1000px) {
  .content-refined .offer-posters { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px 18px; }

  .content-refined .case-reader { grid-template-columns: minmax(200px, .8fr) minmax(0, 1.5fr); gap: 28px; }

}

@media (max-width: 760px) {
  .content-refined .offer-gallery { margin-bottom: 52px; }

  .content-refined .gallery-heading { display: block; margin-bottom: 20px; }

  .content-refined :is(.gallery-heading, .case-heading) p { margin-top: 8px; font-size: 14px; }

  .content-refined .gallery-filters { gap: 8px; margin-bottom: 22px; }

  .content-refined .gallery-filters button { padding: 9px 12px; font-size: 13px; }

  .content-refined .offer-posters { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; }

  .content-refined .offer-poster figcaption { padding-top: 12px; }

  .content-refined .offer-poster h4 { font-size: 15px; }

  .content-refined .gallery-pagination { align-items: center; }

  .content-refined .gallery-pagination > p { font-size: 13px; }

  .content-refined .offer-board { grid-template-columns: none; gap: 16px; }

  .content-refined .offer-item { padding: 20px 20px 10px; }

  .case-reader-panel { padding: 16px 20px 24px; }

  .content-refined .offer-top { margin-bottom: 18px; }

  .content-refined .case-results { gap: 18px; }

  .content-refined .offer-person { margin-bottom: 18px; }

  .content-refined .case-reader { grid-template-columns: minmax(0, 1fr); gap: 28px; padding-top: 24px; }

  .content-refined .case-context { padding: 20px; }

  .content-refined .case-narrative { grid-row: 1; }

  .content-refined .case-milestones { grid-template-columns: minmax(0, 1fr); gap: 12px; margin-block: 20px 28px; }

  .content-refined .offer-story .case-chapter { grid-template-columns: 20px minmax(0, 1fr); gap: 8px; }

  .content-refined .offer-story h4 { font-size: 17px; }

  .content-refined .offer-story p { font-size: 16px; line-height: 1.9; }

}

@media (prefers-reduced-motion: reduce) {
  .content-refined .gallery-filters button,
  .content-refined .offer-details summary > span:last-child { transition: none; }
}
