.module-link { display: inline-flex; gap: 8px; margin-top: 14px; font-size: 12px; text-decoration: underline; text-underline-offset: 4px; }
.module-link:hover { text-decoration-thickness: 2px; }
.module-hero { padding-block: clamp(58px, 10vw, 120px) 58px; border-bottom: 1px solid var(--ink); }
.module-kicker { display: block; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.module-hero h1 { max-width: 950px; margin-top: 20px; font-size: clamp(48px, 8vw, 96px); letter-spacing: -.065em; }
.module-lede { max-width: 780px; margin-top: 26px; font: 24px/1.45 var(--display); letter-spacing: -.35px; }
.module-actions { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; margin-top: 30px; }
.module-overview { padding-block: 48px; display: grid; grid-template-columns: 1fr 2fr; gap: 56px; border-bottom: 1px solid var(--ink); }
.module-overview h2, .module-section h2, .module-cta h2 { font-size: 28px; letter-spacing: -.8px; }
.module-overview p { max-width: 790px; font: 20px/1.55 var(--display); }
.module-section { padding-block: 52px; }
.module-feature-grid { margin-top: 25px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.module-feature { min-height: 145px; padding: 22px; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.module-feature h3 { font-size: 18px; letter-spacing: -.25px; }
.module-feature p { margin-top: 11px; font-size: 13px; line-height: 1.65; color: #454545; }
.module-flow { border-block: 1px solid var(--ink); background: var(--soft); }
.module-flow-inner { padding-block: 48px; display: grid; grid-template-columns: 1fr 2fr; gap: 56px; }
.module-flow-copy { max-width: 760px; }
.module-flow-copy > p { margin-top: 14px; font-size: 14px; color: var(--muted); }
.module-steps { margin: 0; padding: 0; list-style: none; border-top: 1px solid #aaa; }
.module-steps li { display: grid; grid-template-columns: 48px 1fr; gap: 16px; padding: 14px 0; border-bottom: 1px solid #aaa; font-size: 14px; }
.module-steps span { color: var(--muted); font-size: 12px; }
.module-faq { padding-block: 48px; }
.module-faq-list { margin-top: 22px; border-top: 1px solid #111; }
.module-faq details { border-bottom: 1px solid #111; }
.module-faq summary { padding: 17px 0; cursor: pointer; font-weight: 700; font-size: 14px; }
.module-faq details p { max-width: 760px; padding: 0 0 18px; font-size: 13px; color: #454545; }
.module-cta { padding-block: 34px; border-block: 1px solid var(--ink); }
.module-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.module-all { padding-block: 32px; display: flex; flex-wrap: wrap; gap: 9px 22px; }
.module-all a { font-size: 12px; text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 900px) {
  .module-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .module-overview, .module-flow-inner { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 600px) {
  .module-hero { padding-block: 52px 42px; }
  .module-lede { font-size: 20px; }
  .module-overview { padding-block: 34px; }
  .module-section { padding-block: 36px; }
  .module-feature-grid { grid-template-columns: 1fr; }
  .module-feature { min-height: 0; padding: 19px; }
  .module-flow-inner, .module-faq { padding-block: 34px; }
  .module-cta-inner { align-items: flex-start; flex-direction: column; }
}
