/* Supporter overview only; billing cards are shared with precheckout. */
.supporter-overview .supporter-content { max-width: 1120px; margin: 0 auto; padding: 48px 24px 64px; color: #e8edf1; line-height: 1.65; }
.supporter-overview .supporter-content h1, .supporter-overview .supporter-content h2, .supporter-overview .supporter-content h3 { color: #f7f5f1; text-shadow: none; padding: 0; font-weight: 650; line-height: 1.2; }
.supporter-overview .supporter-content h1 { font-size: clamp(2.4rem, 5vw, 3.5rem); margin: 0 0 16px; letter-spacing: -.035em; }
.supporter-overview .supporter-content h2 { font-size: clamp(1.5rem, 3vw, 2rem); margin: 0 0 14px; letter-spacing: -.02em; }
.supporter-overview .supporter-content h3 { font-size: 1.1rem; margin: 0 0 10px; }
.supporter-content .supporter-eyebrow { color: #efb875; font-size: .85rem; font-weight: 650; margin: 0 0 10px; }
.supporter-intro { max-width: 760px; margin-bottom: 44px; }
.supporter-intro > p { max-width: 680px; color: #c8d1d8; }
.supporter-intro .supporter-lead { font-size: clamp(1.1rem, 2.3vw, 1.3rem); color: #f0eee8; margin-bottom: 12px; }
.supporter-primary-link { display: inline-flex; align-items: center; gap: 20px; background: #dda25c; border: 1px solid #eabf89; padding: 11px 18px; border-radius: 7px; color: #1d1d1b; font-weight: 700; margin-top: 8px; }
.supporter-primary-link:hover { color: #111; background: #ebba7b; text-decoration: none; }
.supporter-primary-link:focus-visible, .supporter-questions summary:focus-visible { outline: 3px solid #ffe4a2; outline-offset: 4px; }
.supporter-section-heading > p:last-child { color: #c8d1d8; max-width: 740px; }
.supporter-shape-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin: 24px 0 0; }
.supporter-shape { margin: 0; min-width: 0; }
.supporter-shape-art { background: #f5f1e9; padding: 20px; border-radius: 10px; overflow: hidden; }
.supporter-shape-art img { display: block; width: 100%; height: auto; aspect-ratio: 1; mix-blend-mode: multiply; }
.supporter-shape figcaption { padding: 15px 2px 0; }
.supporter-shape figcaption p { font-size: .95rem; color: #bfcbd3; margin: 0; line-height: 1.55; }
.supporter-extras { margin: 48px 0 40px; }
.supporter-extras-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin-top: 24px; }
.supporter-extra { border-top: 1px solid #465057; padding-top: 20px; min-width: 0; }
.supporter-extra > i { display: block; font-size: 1.2rem; color: #efb875; margin: 0 0 14px; }
.supporter-extra p { color: #c8d1d8; font-size: .95rem; margin: 0; }
.supporter-plans-panel { scroll-margin-top: 24px; background: linear-gradient(120deg, #4b3325, #312b26 80%); border: 1px solid #886242; border-radius: 14px; padding: 28px; }
.supporter-overview .supporter-plan { background: #242425; border-color: #6d6255; }
.supporter-overview .supporter-plan .button { border: 1px solid #70aff5; border-radius: 7px; background: #2378cf; color: #fff; padding: 10px 16px; font-size: 1rem; font-weight: 650; cursor: pointer; }
.supporter-overview .supporter-plan .button:hover:enabled { background: #1968ba; }
.supporter-overview .supporter-plan .button:disabled { opacity: .65; cursor: wait; }
.supporter-overview .supporter-plan .supporter-plan-price { font-size: 1.8rem; }
.supporter-questions { margin-top: 46px; max-width: 840px; }
.supporter-questions details { border-bottom: 1px solid #41494e; }
.supporter-questions summary { cursor: pointer; padding: 17px 0; font-weight: 600; color: #ecedf1; }
.supporter-questions details > p { color: #c8d1d8; }
.supporter-questions a { color: #9dcdff; text-decoration: underline; text-underline-offset: 3px; }
.supporter-detail-example { margin: 20px 0; max-width: 360px; }
.supporter-detail-example img { width: 100%; height: auto; border-radius: 8px; }
.supporter-detail-example figcaption { font-size: .9rem; color: #bfcbd3; margin-top: 8px; }
@media (max-width: 760px) {
  .supporter-overview .supporter-content { padding: 30px 20px 44px; }
  .supporter-shape-grid, .supporter-extras-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .supporter-intro { margin-bottom: 36px; }
  .supporter-shape-grid { gap: 24px 16px; }
  .supporter-shape-art { padding: 14px; }
  .supporter-plans-panel { padding: 20px; }
}
@media (max-width: 380px) {
  .supporter-overview .supporter-content { padding-left: 16px; padding-right: 16px; }
  .supporter-shape-grid { gap: 22px 12px; }
  .supporter-shape-art { padding: 9px; }
  .supporter-overview .supporter-shape h3 { font-size: 1rem; }
  .supporter-extras-grid { grid-template-columns: 1fr; gap: 18px; }
  .supporter-plans-panel { padding: 16px; }
}
