.help-main {
  width: min(1180px, calc(100% - 48px));
  margin-inline: auto;
  padding: 105px 0 105px;
}

.help-intro { max-width: 850px; margin-bottom: 78px; }
.help-intro h1 { font-size: clamp(52px, 7.3vw, 88px); }
.help-intro h1 em { font-style: normal; }
.help-intro > p:last-of-type { max-width: 710px; margin: 30px 0 0; color: var(--muted); font-size: 18px; line-height: 1.7; }
.help-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }

.help-layout { display: grid; grid-template-columns: 225px minmax(0, 1fr); gap: 72px; align-items: start; }
.help-toc { position: sticky; top: 115px; display: grid; gap: 2px; padding: 25px 18px; border: 1px solid var(--line); border-radius: 20px; background: rgba(255,255,255,.85); }
.help-toc strong { padding: 0 13px 12px; color: var(--blue); font-size: 11px; letter-spacing: .15em; }
.help-toc a { padding: 11px 13px; border-radius: 9px; color: var(--muted); font-size: 13px; }
.help-toc a:hover, .help-toc a:focus-visible { color: var(--blue); background: var(--ice); }
.help-content { min-width: 0; }
.help-section { scroll-margin-top: 120px; padding: 0 0 56px; margin-bottom: 56px; border-bottom: 1px solid var(--line); }
.help-section-label { margin: 0 0 15px; color: var(--blue); font-size: 11px; font-weight: 800; letter-spacing: .15em; }
.help-section h2 { margin: 0 0 23px; font-size: clamp(32px, 3.3vw, 44px); letter-spacing: -.045em; line-height: 1.15; }
.help-section > p:not(.help-section-label) { margin: 0 0 17px; color: var(--muted); font-size: 15px; line-height: 1.8; }
.help-section a { color: var(--blue); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.help-section b { color: var(--ink); }
.help-steps { display: grid; gap: 12px; padding: 0; margin: 0; list-style: none; }
.help-steps li { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 19px; padding: 23px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.72); }
.help-steps li > span { display: grid; place-items: center; width: 42px; height: 42px; color: var(--blue); border-radius: 12px; background: var(--ice); font-size: 12px; font-weight: 800; }
.help-steps h3 { margin: 0 0 7px; font-size: 18px; }
.help-steps p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.help-faq { display: grid; gap: 10px; }
.help-faq details { padding: 0 21px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.75); }
.help-faq summary { padding: 20px 0; cursor: pointer; font-size: 15px; font-weight: 700; }
.help-faq details[open] summary { color: var(--blue); }
.help-faq p { margin: -2px 0 20px; color: var(--muted); font-size: 14px; line-height: 1.75; }
.help-notes { display: grid; gap: 13px; padding-left: 22px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.75; }
.help-notes li::marker { color: var(--blue); }
.help-contact { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 34px; border-radius: 24px; color: white; background: linear-gradient(135deg, #06192f, #0b4477); }
.help-contact span { color: #89c9f1; font-size: 11px; font-weight: 800; letter-spacing: .15em; }
.help-contact h2 { margin: 10px 0; font-size: 30px; letter-spacing: -.04em; }
.help-contact p { max-width: 455px; margin: 0; color: #b5c9db; font-size: 13px; line-height: 1.7; }
.help-contact .button { flex: 0 0 auto; background: white; color: var(--blue-deep); }

@media (max-width: 900px) {
  .help-layout { grid-template-columns: 1fr; gap: 35px; }
  .help-toc { position: static; display: flex; flex-wrap: wrap; gap: 3px; }
  .help-toc strong { flex-basis: 100%; }
}
@media (max-width: 600px) {
  .help-main { width: min(100% - 28px, 1180px); padding: 74px 0 80px; }
  .help-intro { margin-bottom: 45px; }
  .help-intro > p:last-of-type { font-size: 16px; }
  .help-actions { flex-direction: column; align-items: stretch; }
  .help-toc { padding: 17px 10px; }
  .help-toc a { padding: 9px 10px; }
  .help-section { padding-bottom: 40px; margin-bottom: 40px; }
  .help-steps li { grid-template-columns: 1fr; gap: 12px; }
  .help-contact { align-items: stretch; flex-direction: column; padding: 25px; }
}
