/* Registration guide: page-scoped layout; original logo asset is unmodified. */
.registration-page { --registration-green:#078743; background:#fffdf8; }
.registration-container { width:min(1040px,calc(100% - 40px)); margin-inline:auto; }
.registration-hero { padding:22px 0 40px; background:var(--cream); }
.registration-hero .breadcrumb { margin-bottom:20px; }
.registration-eyecatch { position:relative; border-radius:24px; overflow:hidden; isolation:isolate; background:#eee9df; }
.registration-photo { width:100%; height:auto; aspect-ratio:1672/941; object-fit:cover; }
.registration-eyecatch-copy { position:absolute; top:18%; left:5%; width:46%; }
.registration-logo { width:240px; max-width:90%; height:auto; margin-bottom:24px; border-radius:5px; }
.registration-eyecatch h1 { font-size:clamp(22px,3.4vw,36px); line-height:1.65; letter-spacing:0; }
.registration-eyecatch h1 span,.registration-eyecatch h1 strong { display:block; white-space:nowrap; }
.registration-eyecatch h1 strong { font-size:1.35em; color:#28745c; }
.registration-eyecatch-copy p { margin-top:18px; font-weight:700; font-size:18px; line-height:1.8; }
.registration-intro { text-align:center; font-size:18px; margin:26px auto 18px; line-height:1.9; }
.registration-intro span { display:block; }
.registration-page .registration-actions { display:flex; flex-direction:column; align-items:center; justify-content:center; width:100%; gap:12px; margin:20px auto 0; text-align:center; }
.registration-page .registration-actions .btn { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; text-align:center; float:none; margin-inline:auto; width:min(100%,400px); min-height:58px; padding:15px 16px; font-size:17px; line-height:1.6; letter-spacing:0; }
.registration-page .btn-line { background:#06c755; color:#fff; border:0; box-shadow:0 4px 0 #049740; }
.registration-page .btn-line:hover { background:#05b84e; }
.registration-page .btn-line span { white-space:nowrap; }
.registration-page .btn::after { content:none; }
.registration-note { font-size:13px; color:#655e57; line-height:1.8; }
.registration-text-link { color:#286b56; text-underline-offset:4px; font-size:14px; padding:8px; }
.registration-page .job-notice { max-width:740px; margin:28px auto 0; padding:20px 24px; text-align:left; line-height:1.9; border-radius:16px; }
.registration-job-label { display:block; font-size:13px; margin-bottom:6px; }
.registration-page .job-notice p { margin-top:8px; font-size:14px; }
.registration-guide { padding-top:62px; }
.registration-section-heading { text-align:center; }
.registration-kicker { color:#427c66; font-weight:700; font-size:14px; margin-bottom:10px; }
.registration-section-heading h2,.registration-finish h2 { font-size:30px; line-height:1.65; }
.registration-section-heading>p:last-child { margin-top:16px; color:#70675e; }
.registration-mobile-break { display:none; }
.registration-overview { display:flex; justify-content:center; gap:30px; padding:0; list-style:none; margin:30px auto 50px; }
.registration-overview li { display:flex; align-items:center; gap:8px; font-weight:700; font-size:15px; }
.registration-overview li>span { width:28px; height:28px; border-radius:50%; background:#e5efe7; color:#376e54; text-align:center; line-height:28px; }
.registration-steps { padding:0; margin:0; list-style:none; }
.registration-step { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:center; padding:46px 24px; border-top:1px solid #e4e5d9; }
.registration-step-number { font-size:13px; font-weight:800; letter-spacing:.13em; color:#4a8068; margin-bottom:12px; }
.registration-step h3 { font-size:27px; line-height:1.7; margin-bottom:20px; }
.registration-step-copy>p:not(.registration-step-number) { margin-top:14px; line-height:1.9; }
.registration-tip { border-left:3px solid #8eae92; padding:2px 0 2px 16px; margin-top:24px; font-size:14px; line-height:1.9; }
.registration-tip>strong { display:block; margin-bottom:6px; color:#38674e; }
.registration-screen { padding:20px; margin:0; background:#f0f2eb; border-radius:22px; text-align:center; }
.registration-screen img { height:auto; margin-inline:auto; border-radius:9px; border:1px solid #e0e3dc; }
.registration-screen-form { max-width:310px; width:100%; margin-inline:auto; padding:16px; }
.registration-screen-form img { width:100%; }
.registration-screen figcaption { font-size:12px; color:#676c62; line-height:1.7; margin-top:14px; }
.registration-fields { list-style:none; padding:0; margin:18px 0; display:grid; gap:9px; }
.registration-fields li { display:flex; align-items:center; flex-wrap:wrap; gap:9px; font-weight:700; font-size:15px; }
.registration-fields li>span:first-child { display:inline-flex; justify-content:center; align-items:center; width:25px; height:25px; border-radius:50%; background:#e8efe5; color:#38674e; font-size:12px; }
.registration-small { font-size:12px; color:#6d7666; font-weight:400; }
.registration-capture-note { text-align:center; color:#787169; font-size:12px; margin:4px 0 50px; }
.registration-help { max-width:820px; padding-bottom:60px; }
.registration-help h2 { text-align:center; font-size:25px; margin-bottom:24px; }
.registration-help details { border-bottom:1px solid #e4e5d9; }
.registration-help summary { cursor:pointer; font-weight:700; padding:20px 0; line-height:1.8; }
.registration-help details p { margin:0 0 20px; font-size:15px; }
.registration-finish { text-align:center; background:#edf3e9; padding:50px 0; }
.registration-page .registration-secondary { background:transparent; color:#346747; border:1px solid #91ac92; box-shadow:none; font-size:14px; margin-top:12px; }
.registration-privacy { max-width:700px; margin:28px auto 0; color:#636d5f; font-size:12px; line-height:1.9; }
.registration-privacy a { text-underline-offset:3px; }
@media(max-width:767px) {
 .registration-container { width:calc(100% - 32px); }
 .registration-hero { padding-top:14px; padding-bottom:30px; }
 .registration-eyecatch { border-radius:16px; }
 .registration-photo { aspect-ratio:1.55; object-position:54% center; }
 .registration-eyecatch-copy { top:15%; left:4%; width:49%; }
 .registration-logo { width:156px; margin-bottom:18px; }
 .registration-eyecatch h1 { font-size:clamp(16px,4.7vw,28px); }
 .registration-eyecatch-copy p { font-size:clamp(11px,2.9vw,16px); margin-top:12px; line-height:1.7; }
 .registration-intro { font-size:15px; margin-top:22px; }
 .registration-page .registration-actions .btn { font-size:15px; min-height:56px; padding-inline:12px; }
 .registration-note { font-size:12px; max-width:320px; }
 .registration-page .job-notice { padding:18px; font-size:14px; }
 .registration-guide { padding-top:40px; }
 .registration-section-heading h2,.registration-finish h2 { font-size:25px; }
 .registration-mobile-break { display:initial; }
 .registration-section-heading>p:last-child { font-size:14px; }
 .registration-overview { gap:12px; margin:26px auto 32px; justify-content:space-between; }
 .registration-overview li { flex-direction:column; gap:6px; font-size:12px; }
 .registration-step { grid-template-columns:1fr; gap:26px; padding:32px 0; }
 .registration-step h3 { font-size:23px; margin-bottom:16px; }
 .registration-step-copy>p { font-size:15px; }
 .registration-step-number { margin-bottom:8px; }
 .registration-screen { width:100%; max-width:370px; margin-inline:auto; padding:16px; }
 .registration-screen-form { max-width:290px; }
 .registration-capture-note { margin-bottom:36px; }
 .registration-help { padding-bottom:40px; }
 .registration-help summary { font-size:14px; }
 .registration-finish { padding:38px 0; }
 .registration-page .registration-secondary { font-size:13px; }
}
@media(prefers-reduced-motion:reduce) { .registration-page .btn { transition:none; } }
.registration-page .job-notice strong { display:inline; margin:0; }
.registration-page .job-notice #jobNoticeTitle { font-size:15px; }
