.page-login__features, .page-login__guide-content, .page-login__guide-desc { color: #1F2D3D; }
.page-login__features-title, .page-login__guide-title, .page-login__faq-title, .page-login__security-note-title { font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; }
.page-login { font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; color: #1F2D3D; }
.page-login__hero-banner { padding-top: 10px; }
.page-login__hero-image-wrap { width: 100%; text-align: center; }
.page-login__hero-image { display: block; width: 100%; height: auto; max-width: 1020px; margin: 0 auto; border-radius: 16px; }
.page-login__hero-content { max-width: 1020px; margin: 0 auto; padding: 0 16px; text-align: center; }
.page-login__hero-title { font-size: clamp(1.5rem, 3vw, 2.5rem); max-width: 850px; margin: 20px auto 12px; color: #1F2D3D; font-weight: 800; line-height: 1.3; letter-spacing: -0.01em; }
.page-login__hero-desc { max-width: 800px; margin: 0 auto 24px; line-height: 1.6; color: #1F2D3D; font-size: 1.06rem; }
.page-login__hero-actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.page-login__btn { display: inline-block; padding: 12px 32px; border-radius: 40px; font-weight: 700; text-decoration: none; line-height: 1.2; text-align: center; font-size: 1rem; }
.page-login__btn--primary { background: linear-gradient(180deg, #4A8BFF 0%, #2F6BFF 100%); color: #ffffff; box-shadow: 0 6px 14px rgba(47, 107, 255, 0.25); }
.page-login__btn--secondary { background: transparent; border: 2px solid #2F6BFF; color: #2F6BFF; }
.page-login__btn--ghost { background: #FFFFFF; border: 2px solid #2F6BFF; color: #2F6BFF; }
.page-login__btn--ghost-alt { background: #FFFFFF; border: 2px solid #D6E2FF; color: #1F2D3D; }
.page-login__features { margin-top: 56px; padding: 48px 16px; background: #FFFFFF; }
.page-login__features-inner { max-width: 1020px; margin: 0 auto; }
.page-login__features-title { text-align: center; margin-bottom: 12px; font-weight: 800; color: #1F2D3D; }
.page-login__features-intro { text-align: center; margin: 0 auto 36px; max-width: 700px; line-height: 1.7; color: #1F2D3D; }
.page-login__features-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.page-login__feature-card { background: #F4F7FB; padding: 28px; border-radius: 18px; }
.page-login__feature-title { color: #1F2D3D; margin: 0 0 8px; font-weight: 700; }
.page-login__feature-text { line-height: 1.6; color: #1F2D3D; }
.page-login__guide { padding: 48px 16px; }
.page-login__guide-title { text-align: center; color: #1F2D3D; margin-bottom: 20px; font-weight: 800; }
.page-login__guide-desc { text-align: center; max-width: 700px; margin: 0 auto; line-height: 1.7; color: #1F2D3D; }
.page-login__steps { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; max-width: 900px; margin: 32px auto 0; }
.page-login__step-item { text-align: left; background: #F4F7FB; border: 1px solid #D6E2FF; border-radius: 16px; padding: 20px; }
.page-login__step-number { display: inline-flex; width: 32px; height: 32px; background: #2F6BFF; color: #FFFFFF; border-radius: 50%; align-items: center; justify-content: center; font-weight: 700; margin-bottom: 12px; }
.page-login__step-title { margin: 0 0 6px; font-weight: 700; color: #1F2D3D; }
.page-login__step-text { margin: 0; color: #1F2D3D; line-height: 1.6; }
.page-login__guide-cta { text-align: center; margin-top: 32px; }
.page-login__security-note { padding: 48px 16px; background: #F4F7FB; }
.page-login__security-note-inner { max-width: 900px; margin: 0 auto; text-align: center; }
.page-login__security-note-title { font-weight: 800; margin-bottom: 16px; color: #1F2D3D; }
.page-login__security-note-text { max-width: 750px; margin: 0 auto 24px; line-height: 1.7; color: #1F2D3D; }
.page-login__security-note-actions { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }
.page-login__faq { padding: 48px 16px; background: #FFFFFF; }
.page-login__faq-inner { max-width: 840px; margin: 0 auto; }
.page-login__faq-title { text-align: center; font-weight: 800; margin-bottom: 32px; color: #1F2D3D; }
.page-login__faq-item { background: #F4F7FB; border-radius: 14px; padding: 18px 18px; margin-bottom: 12px; }
.page-login__faq-question { font-weight: 600; list-style: none; cursor: pointer; display: flex; align-items: center; gap: 14px; font-size: 1rem; }
.page-login__faq-question::-webkit-details-marker { display: none }
.page-login__faq-icon { font-size: 1.5rem; line-height: 1; font-weight: 400; color: #2F6BFF; width: 24px; text-align: center; }
.page-login__faq-answer { line-height: 1.7; padding-top: 12px; color: #1F2D3D; margin: 0; }
@media (max-width: 768px) {
  .page-login__features-grid, .page-login__steps { grid-template-columns: 1fr; }
  .page-login__feature-card { padding: 20px; }
  .page-login__hero-actions { width: 100%; max-width: 100%; box-sizing: border-box; overflow: hidden; }
  .page-login__btn { max-width: 100%; box-sizing: border-box; white-space: normal; word-wrap: break-word; width: 100%; }
  .page-login__hero-banner { padding-top: 0; }
  .page-login img { max-width: 100% !important; height: auto !important; }
  .page-login { max-width: 100%; overflow-x: hidden; }
}