/* Homepage presentation; payment and questionnaire behavior stay unchanged. */
html { scroll-behavior: smooth; }
body { background: #fff; }
section[id] { scroll-margin-top: 88px; }
.nav { max-width: 1240px; }
.hero { min-height: 570px; background-position: center 44%; }
.hero-inner { width: min(1180px, 100%); padding-top: 54px; padding-bottom: 46px; }
.hero .eyebrow { padding: 0; border: 0; border-radius: 0; background: none; margin: 0 0 20px; font-size: 15px; color: #d7eee6; }
.hero h1 { font-size: 64px; line-height: 1.15; max-width: 650px; letter-spacing: 0; }
.hero p:not(.eyebrow) { max-width: 530px; font-size: 18px; line-height: 1.85; margin: 20px 0 26px; }
.hero-note { margin-top: 22px; color: #e1eae6; font-size: 13px; }
.hero .button { min-width: 166px; }
main section { padding: 76px 20px; }
.section-label { display: block; margin-bottom: 12px; font-size: 13px; font-weight: 800; color: #127477; }
.section-head { max-width: 840px; margin-bottom: 36px; }
.section-head h2 { font-size: 34px; line-height: 1.35; margin-bottom: 14px; letter-spacing: 0; }
.section-head p { font-size: 17px; line-height: 1.9; }
.card { box-shadow: none; }
.card h3 { line-height: 1.5; }
.card p { line-height: 1.85; }
#learn .card, #assistant .card, #method .card, #approach .card { border: 0; border-radius: 0; padding: 0 26px 0 0; background: transparent; }
#learn .card + .card, #assistant .card + .card, #method .card + .card, #approach .card + .card { border-left: 1px solid #d7e3df; padding-left: 26px; }
.tag { border-radius: 8px; }
#learn .notice, #systems .notice, #assistant .notice, #method .notice { background: #f6f8f7; border-left: 3px solid #91b5ab; font-size: 14px; color: #53676a; margin-top: 30px; }
#systems { background: #f0f5f3; }
#systems .grid { align-items: start; }
#systems .card { border: 0; padding: 28px; border-top: 3px solid #167d7f; }
#systems .card:first-child { border-top-color: #dc735c; }
#systems .card:nth-child(2) { border-top-color: #6b9b67; }
#systems .card h3 { font-size: 20px; }
.sense-details { border-top: 1px solid #e1e8e5; margin-top: 22px; padding-top: 16px; font-size: 15px; }
.sense-details summary { cursor: pointer; color: #126c6f; font-weight: 700; }
.sense-details summary:hover { color: #17313b; }
.sense-details ul { padding-left: 20px; }
#method { background: #f7f8fa; }
#approach { background: #fff; }
#pricing { background: #f6f2ef; }
#pricing .grid { gap: 22px; }
#pricing .card { display: flex; flex-direction: column; padding: 30px; border-color: #e5ded8; }
#pricing .card:nth-child(2) { border-top: 4px solid #167d7f; padding-top: 27px; }
.service-kicker { color: #62716e; font-size: 13px; margin-bottom: 8px; }
#pricing .card h3 { margin: 0; font-size: 22px; }
.service-price { font-size: 38px; font-weight: 800; line-height: 1.3; margin: 22px 0 6px; color: #17313b; }
.service-price small { font-size: 14px; font-weight: 400; color: #62716e; }
#pricing .card p { flex: 1; margin-bottom: 25px; }
#pricing .card .button { text-align: center; }
#pricing > .wrap > .actions .button { background: transparent; color: #126c6f; box-shadow: none; padding-left: 0; padding-right: 20px; text-decoration: underline; }
#sources { padding-top: 48px; padding-bottom: 48px; }
#sources .section-head { margin-bottom: 18px; }
#sources h2 { font-size: 25px; }
#sources .section-head p, .source-list { font-size: 14px; }
.source-list li { margin-bottom: 7px; }
#steps .section-head h2 { font-size: 30px; }
.button:focus-visible, a:focus-visible, summary:focus-visible { outline: 3px solid #c27529; outline-offset: 4px; }
@media (max-width: 940px) {
  .hero { min-height: 540px; }
  #learn .card + .card, #assistant .card + .card, #method .card + .card, #approach .card + .card { border-left: 0; border-top: 1px solid #d7e3df; padding: 24px 0 0; }
  #learn .card, #assistant .card, #method .card, #approach .card { padding-right: 0; }
}
@media (max-width: 640px) {
  .hero { min-height: 548px; background-position: 60% center; }
  .hero-inner { padding: 44px 20px 36px; }
  .hero h1 { font-size: 46px; }
  .hero p:not(.eyebrow) { font-size: 16px; }
  .hero .actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .hero .button { min-width: 0; padding: 12px 8px; text-align: center; font-size: 14px; }
  .hero-note { font-size: 12px; }
  main section { padding: 48px 20px; }
  .section-head h2 { font-size: 27px; }
  .section-head p { font-size: 16px; }
  #systems .card, #pricing .card { padding: 24px; }
  #pricing .card:nth-child(2) { padding-top: 21px; }
  #pricing > .wrap > .actions { gap: 0; }
  #pricing > .wrap > .actions .button { width: auto; font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .button { transition: none; } }
