.oasf-email-signup {
  width: min(1180px, calc(100% - 3rem));
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(250px, .8fr);
  column-gap: clamp(1.25rem, 3vw, 2.75rem);
  row-gap: .85rem;
  align-items: center;
  margin: clamp(2.25rem, 5vw, 4.5rem) auto;
  padding: clamp(1.4rem, 3vw, 2.4rem);
  border: 1px solid rgba(52, 71, 47, .18);
  border-radius: 22px;
  color: #2c3228;
  background: #f4eddf;
  box-shadow: 0 16px 42px rgba(49, 55, 40, .08);
}

.oasf-email-signup__copy { min-width: 0; grid-column: 1; grid-row: 1; }
.oasf-email-signup h2 { margin: .25rem 0 .5rem; font-size: clamp(1.65rem, 3vw, 2.55rem); line-height: 1.08; }
.oasf-email-signup p { margin: 0; color: #555b50; line-height: 1.55; }
.oasf-email-signup__preferences { grid-column: 1 / -1; grid-row: 2; border-top: 1px solid rgba(52, 71, 47, .16); }
.oasf-email-signup__preferences summary { min-height: 44px; display: flex; align-items: center; width: max-content; max-width: 100%; padding: .7rem .15rem .4rem; color: #34472f; font-weight: 800; cursor: pointer; }
.oasf-email-signup__preferences summary:focus-visible { outline: 3px solid #f3a45f; outline-offset: 3px; }
.oasf-email-signup__topics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; margin: .35rem 0 .75rem; padding: 0; list-style: none; }
.oasf-email-signup__topics li { min-width: 0; display: flex; align-items: center; gap: .55rem; padding: .65rem .75rem; border: 1px solid rgba(52, 71, 47, .14); border-radius: 10px; color: #34472f; background: rgba(255, 255, 255, .58); font-size: .88rem; font-weight: 700; }
.oasf-email-signup__topics li::before { content: "✓"; flex: 0 0 auto; color: #a84400; }
.oasf-email-signup__topics li span { min-width: 0; flex: 1 1 auto; }
.oasf-email-signup__topics li.is-recommended { border-color: rgba(179, 71, 0, .55); background: #fff8ed; }
.oasf-email-signup__topics small { flex: 0 0 auto; color: #963a00; font-size: .68rem; font-weight: 800; letter-spacing: .02em; }
.oasf-email-signup__preferences > p { font-size: .78rem; }
.oasf-email-signup__action { min-width: 0; grid-column: 2; grid-row: 1; }
.oasf-email-signup__action .button { width: 100%; min-height: 48px; display: inline-flex; align-items: center; justify-content: center; text-align: center; }
.oasf-email-signup__action .is-disabled { border-color: #8e9188; color: #555b50; background: #e4dfd4; cursor: not-allowed; }
.oasf-email-signup__action p { margin-top: .55rem; font-size: .78rem; }

@media (max-width: 760px) {
  .oasf-email-signup { width: min(100% - 2rem, 680px); grid-template-columns: 1fr; margin-block: 2rem; padding: 1.35rem; border-radius: 16px; }
  .oasf-email-signup__copy, .oasf-email-signup__preferences, .oasf-email-signup__action { grid-column: auto; grid-row: auto; }
  .oasf-email-signup__topics { grid-template-columns: 1fr; }
  .oasf-email-signup__topics li { align-items: flex-start; }
}
