.offer-content { line-height: 1.65; overflow-wrap: anywhere; }
.offer-content :is(h2,h3,h4) { margin: 1.2em 0 .55em; line-height: 1.25; }
.offer-content :is(p,ul,ol) { margin: .65em 0; }
.offer-copy { white-space: pre-wrap; }
.offer-muted,.offer-eyebrow { color: var(--muted,#64727d); }
.offer-eyebrow { font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
.offer-callout,.offer-media-unavailable { padding: 14px; border: 1px solid var(--line,#dbe1e5); border-radius: 8px; background: var(--soft,#f5f7f8); }
.offer-media { margin: 18px 0; }
.offer-media-frame { overflow: hidden; border-radius: 10px; aspect-ratio: 16/9; background: var(--soft,#f5f7f8); }
.offer-media img { width: 100%; height: 100%; object-fit: cover; object-position: var(--offer-media-x,50%) var(--offer-media-y,50%); transform: scale(var(--offer-media-zoom,1)); }
.offer-media video { width: 100%; max-height: 420px; border-radius: 10px; }
.offer-media figcaption { margin: 8px 0; font-size: 13px; color: var(--muted,#64727d); }
.offer-assignment,.offer-pattern { margin: 14px 0; padding: 14px; border: 1px solid var(--line,#dbe1e5); border-radius: 10px; }
.offer-terms dl { display: grid; grid-template-columns: minmax(110px,1fr) minmax(0,2fr); gap: 8px 14px; }
.offer-terms dd { margin: 0; overflow-wrap: anywhere; }
.offer-document header { border-bottom: 1px solid var(--line,#dbe1e5); padding-bottom: 16px; }
@media(max-width:600px) { .offer-media img { object-position: var(--offer-mobile-x,50%) var(--offer-mobile-y,50%); transform: scale(var(--offer-mobile-zoom,1)); } .offer-terms dl { grid-template-columns: 1fr; gap: 4px; } .offer-terms dd { margin-bottom: 10px; } }
