.social-card-grid {
  grid-template-columns: repeat(3, 1fr);
}

.subhero strong {
  color: white;
  font-weight: 500;
}

.subhero { padding-block: 64px; }
.subhero h1 span { display: inline-block; }
.subhero .eyebrow { margin-top: 0; font-size: 14px; color: var(--gold-soft); }
.subhero .hero-intro { margin-top: 14px; }
.subhero .quiet-invitation { font-size: 15px; margin-top: 18px; }
.subhero .button-row { margin-top: 26px; }
.subhero .registration-note { margin-top: 18px; }
.subhero .privacy-note { margin-top: 6px; }
.section { padding-block: 76px; }
.section-head { margin-bottom: 32px; }
.social-card-grid .info-card h3 { margin: 12px 0; font-size: 22px; }
.social-card-grid .info-card { padding: 26px; }
.social-assurance details { border-top: 1px solid var(--line); }
.social-assurance details:last-of-type { border-bottom: 1px solid var(--line); }
.social-assurance summary { cursor: pointer; padding: 20px 4px; color: var(--forest-deep); font-size: 17px; font-weight: 500; }
.social-assurance summary:focus-visible { outline: 2px solid var(--forest); outline-offset: 4px; }
.answer-copy { padding: 0 4px 18px; }
.answer-copy p { margin: 0 0 14px; }
.answer-copy p:last-child { margin-bottom: 0; }
.social-assurance .privacy-link { margin-top: 14px; font-size: 14px; }
.social-assurance .service-note { margin-bottom: 0; }
.registration-steps { max-width: 24rem; margin: 24px auto 0; padding-left: 1.8em; text-align: left; color: white; }
.registration-steps li { padding-left: 6px; margin-block: 8px; }
.registration-steps li::marker { color: var(--gold-soft); }
.cta-panel { padding: 48px 40px; }
.cta-panel .eyebrow { margin-top: 0; color: var(--gold-soft); font-size: 14px; }
.cta-panel h2 { font-size: clamp(30px, 3.5vw, 42px); }
.footer-grid { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 24px; }
.site-footer { padding-top: 40px; }
.operator-note { font-size: 14px; }
.footer-bottom { margin-top: 28px; }

.subhero .registration-note { max-width: 38rem; font-size: 1rem; line-height: 1.9; }
.subhero .privacy-note, .cta-panel .privacy-note { font-size: .875rem; line-height: 1.9; }
.privacy-note a, .privacy-link { text-underline-offset: .25em; text-decoration-thickness: 1px; }
.privacy-note a, .privacy-link { display: inline-block; padding-block: .5rem; }
.privacy-note a:focus-visible, .privacy-link:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.social-assurance { padding-block: 64px; }
.social-assurance .section-head { margin-bottom: 24px; }
.social-assurance h2 { font-size: clamp(28px, 3vw, 38px); }
.assurance-copy { max-width: 42rem; margin-inline: auto; color: var(--muted); }
.service-note { font-size: .875rem; line-height: 1.9; }
.social-assurance .privacy-link { color: var(--forest-deep); }

@media (max-width: 680px) {
  .container, .container-narrow, .nav-wrap { width: calc(100% - 40px); }
  .subhero { padding-block: 40px; }
  .subhero h1 { font-size: clamp(28px, 8.2vw, 36px); line-height: 1.5; letter-spacing: 0; }
  .subhero h1 span { display: block; }
  .subhero h1 br { display: none; }
  .subhero .show-title { font-size: 15px; }
  .section, .social-assurance { padding-block: 52px; }
  .section h2 { font-size: 28px; letter-spacing: 0; }
  .section-head .lead { text-align: left; }
  .social-card-grid { gap: 12px; }
  .social-card-grid .info-card { padding: 22px; }
  .cta-panel { padding: 36px 22px; }
  .cta-panel .registration-steps { font-size: 15px; }
  .cta-panel .btn { padding-inline: 12px; letter-spacing: 0; }
  .footer-grid { grid-template-columns: 1fr; gap: 16px; }
  .footer-links { margin-top: 4px; }
  .social-card-grid {
    grid-template-columns: 1fr;
  }
}
