.info-page {
  background: var(--surface);
  color: var(--ink);
}

.info-hero {
  padding: 148px 24px 56px;
  background: linear-gradient(135deg, var(--brand-soft), #FFF0F1 78%);
  border-bottom: 1px solid var(--border);
}

.info-hero-inner,
.info-content {
  width: min(100%, 896px);
  margin: 0 auto;
}

.info-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--brand-strong);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.info-kicker i { color: var(--coral); }
.info-hero h1 { margin: 12px 0; font-size: clamp(34px, 5vw, 48px); }
.info-hero p { max-width: 650px; color: var(--slate); font-size: 17px; }
.info-content { padding: 44px 24px 72px; }
.info-section + .info-section { margin-top: 40px; }
.info-section h2 { margin-bottom: 12px; font-size: 24px; }
.info-section p,
.info-section li { color: var(--slate); }
.info-section a { color: var(--brand-strong); font-weight: 600; }
.info-section a:hover { color: var(--coral); text-decoration: underline; }
.info-link-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.info-link-button {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 11px 16px;
  border: 1px solid var(--brand-border);
  border-radius: var(--r);
  background: #fff;
  color: var(--brand-strong);
  font-size: 14px;
  font-weight: 700;
}
.info-link-button:hover { border-color: var(--coral); color: var(--coral); }
.info-faq-list { border-top: 1px solid var(--border); }
.info-faq-item { border-bottom: 1px solid var(--border); }
.info-faq-item summary {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 2px;
  color: var(--ink);
  cursor: pointer;
  font-weight: 700;
  list-style: none;
}
.info-faq-item summary::-webkit-details-marker { display: none; }
.info-faq-item summary::after {
  content: '+';
  color: var(--coral);
  font-size: 20px;
  line-height: 1;
}
.info-faq-item[open] summary::after { content: '\2212'; }
.info-faq-answer { padding: 0 32px 20px 2px; color: var(--slate); }
.info-contact-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
  padding: 16px 18px;
  border: 1px solid var(--brand-border);
  border-radius: var(--r);
  background: #fff;
  color: var(--brand-strong);
  font-weight: 700;
}
.info-contact-link i { color: var(--coral); }
@media (max-width: 640px) {
  .info-hero { padding: 126px 20px 40px; }
  .info-content { padding: 32px 20px 52px; }
  .info-hero p { font-size: 15px; }
}