.support-main { padding-top: 48px; }

.support-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr);
  align-items: center;
  gap: 56px;
}

.support-copy h1 { max-width: 660px; font-size: clamp(2.6rem, 7vw, 5rem); }

.support-lead {
  max-width: 650px;
  margin: 28px 0 0;
  font-size: clamp(1.15rem, 2.4vw, 1.45rem);
  font-weight: 700;
  line-height: 1.75;
}

.support-note { max-width: 650px; margin: 20px 0 0; color: var(--muted); line-height: 1.9; }

.character-wrap { position: relative; align-self: end; }
.character-wrap img { display: block; width: 100%; height: auto; filter: drop-shadow(0 22px 25px rgba(27, 75, 145, .14)); }

.thanks-bubble {
  position: absolute;
  z-index: 1;
  top: -18px;
  right: 0;
  padding: 12px 17px;
  border: 1px solid #f1d38c;
  border-radius: 18px 18px 4px 18px;
  color: #754200;
  background: #fff8df;
  font-size: .9rem;
  font-weight: 700;
  box-shadow: 0 10px 30px rgba(117, 66, 0, .1);
}

.support-panel {
  display: grid;
  grid-template-columns: 1fr minmax(250px, 320px);
  gap: 48px;
  margin-top: 44px;
  padding: 38px;
  border: 1px solid #efd99d;
  border-radius: 28px;
  background: linear-gradient(135deg, #fffaf0, #fff4d4);
  box-shadow: 0 18px 55px rgba(104, 72, 19, .09);
}

.panel-kicker { margin: 0 0 10px; color: #a15b00; font-size: .75rem; font-weight: 800; letter-spacing: .14em; }
.support-panel h2 { margin-bottom: 14px; color: #57340d; font-size: 1.55rem; }
.support-panel p { margin: 0; color: #75532c; line-height: 1.85; }
.source-message { margin-top: 16px !important; font-weight: 700; }

.payment-area { align-self: center; text-align: center; }
.paypal-form { display: inline-grid; justify-items: center; align-content: start; gap: 8px; width: 100%; }
.paypal-button {
  min-width: 186px;
  width: 100%;
  height: 42px;
  padding: 0 32px;
  border: 0;
  border-radius: 4px;
  color: #000;
  background: #ffd140;
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25rem;
  cursor: pointer;
  transition: background .15s ease, transform .15s ease;
}
.paypal-button:hover { background: #f2ba16; transform: translateY(-1px); }
.paypal-button:focus-visible { outline: 3px solid rgba(0, 112, 186, .28); outline-offset: 3px; }
.payment-methods { display: block; max-width: 100%; height: auto; }
.powered-by { color: #5f6368; font-size: .75rem; }
.powered-by img { height: .875rem; vertical-align: middle; }
.payment-caption { margin-top: 12px !important; color: #8a7456 !important; font-size: .78rem; line-height: 1.6 !important; }

.principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 28px; }
.principles article { padding: 27px; border: 1px solid var(--line); border-radius: 22px; background: rgba(255, 255, 255, .86); }
.principle-icon { display: grid; width: 48px; height: 48px; place-items: center; margin-bottom: 18px; border-radius: 15px; color: var(--blue); background: var(--blue-light); font-weight: 800; }
.principles h2 { margin-bottom: 10px; font-size: 1.05rem; }
.principles p { margin: 0; color: var(--muted); font-size: .92rem; line-height: 1.75; }
.back-link { margin: 44px 0 0; }
.back-link a { color: var(--blue); font-weight: 700; text-underline-offset: 4px; }

@media (max-width: 760px) {
  .support-main { padding-top: 32px; }
  .support-hero { grid-template-columns: 1fr; gap: 22px; }
  .character-wrap { width: min(290px, 82%); margin: 8px auto 0; }
  .support-panel { grid-template-columns: 1fr; gap: 28px; padding: 27px; }
  .principles { grid-template-columns: 1fr; }
}
