/* /support ("Find support"). On the site palette (owner, 6 October 2026:
   "change the colour palette to match the rest of the site"): near-white
   ground, pale cool blue tints with their hairline, white cards, the soft
   blue #356382 for every button, icon and focus ring. No pills, no shadows,
   no gradients. Nothing here reaches the shared chrome. */

.support-page {
  --sp-ink: #22312b;
  --sp-muted: #55635c;
  --sp-accent: #356382;
  --sp-accent-hover: #3c7194;
  --sp-ground: #f2f5f3;
  --sp-tint: #e6eef3;
  --sp-tint-line: #cfdbe3;
  --sp-line: #e3e8e4;
  --sp-on-accent-soft: #e6eef3;
  background: var(--sp-ground);
  color: var(--sp-ink);
  font-family: 'Inter', system-ui, sans-serif;
}

.sp-page {
  box-sizing: border-box;
  max-width: 760px;
  margin: 0 auto;
  padding: 0 16px 40px;
  font-size: 16px;
  line-height: 1.55;
}
.sp-page *, .sp-page *::before, .sp-page *::after { box-sizing: border-box; }
.sp-page:focus { outline: none; }

.sr-only {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

.sp-page a:focus-visible,
.sp-page select:focus-visible {
  outline: 3px solid var(--sp-accent);
  outline-offset: 2px;
}

/* Welcome band: the column's full width, edge to edge on a phone. */
.sp-welcome {
  margin: 0 -16px;
  padding: 32px 24px 34px;
  background: var(--sp-tint);
  border-radius: 0 0 28px 28px;
}
.sp-welcome-icon {
  display: flex; align-items: center; justify-content: center;
  width: 52px; height: 52px; margin-bottom: 18px;
  border-radius: 50%; background: #fff; color: var(--sp-accent);
}
.sp-welcome-svg { width: 28px; height: 28px; }
.sp-welcome h1 {
  margin: 0 0 6px; font-size: 32px; line-height: 1.2; font-weight: 600; color: var(--sp-ink);
}
.sp-welcome-line { margin: 0 0 12px; font-size: 20px; line-height: 1.35; font-weight: 500; }
.sp-welcome-intro { margin: 0; font-size: 16px; color: var(--sp-muted); }

/* Crisis box */
.sp-crisis {
  margin-top: 24px;
  padding: 20px;
  background: #fff;
  border: 1px solid var(--sp-tint-line);
  border-radius: 20px;
}
.sp-crisis h2 { margin: 0 0 6px; font-size: 21px; line-height: 1.3; font-weight: 600; }
.sp-crisis p { margin: 0; }
.sp-crisis-calls { display: grid; gap: 12px; margin: 16px 0; }
.sp-crisis-btn {
  display: flex; flex-direction: column; justify-content: center; gap: 2px;
  min-height: 60px; padding: 12px 18px;
  border-radius: 16px; background: var(--sp-accent); color: #fff;
  text-decoration: none;
}
.sp-crisis-btn strong { font-size: 18px; line-height: 1.3; font-weight: 700; }
.sp-crisis-btn span { font-size: 15px; line-height: 1.35; color: var(--sp-on-accent-soft); }
.sp-crisis-911 { font-size: 16px; }

.sp-note { margin: 20px 0 0; font-size: 15px; color: var(--sp-muted); }

/* Filter */
.sp-filter { margin-top: 28px; }
.sp-filter label { display: block; margin-bottom: 10px; font-size: 17px; line-height: 1.35; font-weight: 600; }
.sp-filter select {
  appearance: none; -webkit-appearance: none;
  display: block; width: 100%; height: 52px;
  padding: 0 48px 0 16px;
  font: inherit; font-size: 16px; color: var(--sp-ink);
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23356382' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center / 22px 22px;
  border: 1px solid #78877f; border-radius: 14px;
}

/* Sections */
.sp-section { margin-top: 36px; scroll-margin-top: 96px; }
.sp-section[hidden] { display: none; }
.sp-section-head { display: flex; align-items: center; gap: 12px; }
.sp-section-icon {
  flex: none; display: flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 50%;
  background: var(--sp-tint); color: var(--sp-accent);
}
.sp-icon { width: 20px; height: 20px; }
.sp-section h2 { margin: 0; font-size: 21px; line-height: 1.3; font-weight: 600; }
.sp-section-intro { margin: 8px 0 0; font-size: 15px; color: var(--sp-muted); }
.sp-cards { display: grid; gap: 14px; margin-top: 16px; }

.sp-card {
  padding: 18px;
  background: #fff;
  border: 1px solid var(--sp-line);
  border-radius: 20px;
}
.sp-name { margin: 0 0 6px; font-size: 18px; line-height: 1.35; font-weight: 600; }
.sp-desc { margin: 0; font-size: 16px; line-height: 1.55; }
.sp-meta { margin: 8px 0 0; font-size: 15px; line-height: 1.5; color: var(--sp-muted); }
.sp-phone-line { display: block; }
.sp-meta a { color: var(--sp-accent); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }

.sp-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; margin-top: 16px; }
.sp-actions--stack { grid-template-columns: 1fr; }
.sp-btn {
  display: flex; align-items: center; justify-content: center; text-align: center;
  min-height: 48px; padding: 10px 16px;
  border-radius: 14px; border: 1px solid var(--sp-accent);
  font-size: 16px; line-height: 1.3; font-weight: 600; text-decoration: none;
}
.sp-btn--call { background: var(--sp-accent); color: #fff; }
.sp-btn--soft { background: #fff; color: var(--sp-accent); }
/* Hover goes to the lighter blue, never darker, so a tap that iOS leaves
   "hovered" still reads as the resting button. */
@media (hover: hover) {
  .sp-btn--call:hover, .sp-crisis-btn:hover { background: var(--sp-accent-hover); }
  .sp-btn:hover, .sp-crisis-btn:hover { text-decoration: underline; text-underline-offset: 3px; }
}

/* Bottom */
.sp-suggest {
  margin-top: 40px; padding: 20px;
  background: var(--sp-tint); border: 1px solid var(--sp-tint-line); border-radius: 20px;
}
.sp-suggest p { margin: 0; }
.sp-suggest-h { font-size: 17px; font-weight: 600; margin-bottom: 6px !important; }
.sp-suggest a {
  display: inline-flex; align-items: center; min-height: 48px;
  color: var(--sp-accent); font-weight: 600; text-decoration: underline; text-underline-offset: 2px;
  overflow-wrap: anywhere;
}
.support-page .premier-band { margin-top: 24px; }

@media (min-width: 792px) {
  .sp-welcome { margin: 0; padding: 40px 40px 42px; }
  .sp-crisis { padding: 24px; }
}
