/* Generated 390px mobile baseline; rebuild with build-mobile-rem.py. */
.join-layout{max-width: 42.5rem; margin: 0 auto;}
.join-heading h1{text-align: center; font-size: 2.25rem; line-height: 1.3; letter-spacing: -0.045em; font-weight: 700;}
.join-steps{display: flex; justify-content: center; gap: 2.25rem; list-style: none; padding: 0; margin: 2rem 0 2.625rem; color: rgb(152, 164, 181); font-size: max(13px,0.875rem);}
.join-steps li{display: flex; align-items: center; gap: 0.5rem; white-space: nowrap;}
.join-steps li > span{display: grid; place-items: center; width: 1.8125rem; height: 1.8125rem; border-radius: 50%; background: rgb(240, 243, 247); font-size: max(10px,0.6875rem); font-weight: 650;}
.join-steps [aria-current="step"]{color: rgb(50, 105, 192); font-weight: 650;}
.join-steps [aria-current="step"] > span{background: rgb(50, 105, 192); color: white;}
.join-steps .is-complete{color: rgb(69, 99, 135);}
.join-steps .is-complete > span{background: rgb(234, 241, 252); color: rgb(50, 105, 192);}
.join-sr{position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;}
.join-main [hidden]{display: none !important;}
.join-main input[type="checkbox"], .join-main input[type="radio"]{width: 1.125rem; height: 1.125rem; accent-color: rgb(50, 105, 192); flex-shrink: 0; cursor: pointer; margin: 0;}
.join-agree-all{display: flex; align-items: center; gap: 0.875rem; padding: 1.5rem; background: rgb(245, 248, 253); border: 1px solid rgb(225, 233, 244); border-radius: 0.5rem; cursor: pointer; margin-bottom: 1.125rem;}
.join-agree-all strong{display: block; font-size: max(13px,1.0625rem); font-weight: 650;}
.join-agree-all small{display: block; font-size: max(10px,0.8125rem); line-height: 1.7; color: rgb(113, 129, 152); margin-top: 0.375rem; word-break: keep-all;}
.join-agreement-item{padding: 1.375rem 0; border-bottom: 1px solid rgb(229, 234, 240);}
.join-check{display: flex; align-items: center; gap: 0.625rem; min-height: 1.875rem; font-size: max(13px,0.9375rem); cursor: pointer; line-height: 1.6;}
.join-check em{font-style: normal; font-size: max(10px,0.75rem); color: rgb(50, 105, 192); white-space: nowrap;}
.join-agreement-item details{margin: 0.3125rem 0 0 1.75rem;}
.join-agreement-item summary{display: flex; align-items: center; gap: 0.5rem; width: fit-content; cursor: pointer; font-size: max(10px,0.75rem); color: rgb(114, 130, 151); list-style: none; min-height: 2rem;}
.join-agreement-item summary::-webkit-details-marker{display: none;}
.join-agreement-item summary > span{font-size: max(13px,1.0625rem); transition: transform 0.2s;}
.join-agreement-item details[open] summary > span{transform: rotate(180deg);}
.join-terms{white-space: pre-wrap; max-height: 15rem; overflow: auto; padding: 1.25rem; background: rgb(248, 250, 252); border: 1px solid rgb(227, 233, 240); border-radius: 0.375rem; font-size: max(10px,0.8125rem); line-height: 1.85; color: rgb(89, 108, 131); overscroll-behavior: contain;}
.join-privacy{border: 1px solid rgb(227, 233, 240); border-radius: 0.375rem; overflow: auto;}
.join-privacy table{width: 100%; border-collapse: collapse; table-layout: fixed; font-size: max(10px,0.75rem); line-height: 1.7; color: rgb(89, 108, 131);}
.join-privacy caption{position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0);}
.join-privacy th, .join-privacy td{padding: 0.875rem 0.75rem; text-align: left; word-break: keep-all; overflow-wrap: anywhere; border-bottom: 1px solid rgb(227, 233, 240); vertical-align: top;}
.join-privacy th{background: rgb(244, 247, 251); font-weight: 600; color: rgb(53, 84, 119);}
.join-privacy tr:last-child td{border-bottom: 0;}
.join-next{margin-top: 1.875rem; gap: 1rem;}
.join-layout > .login-join{margin-top: 1.75rem;}
.join-section{margin-bottom: 2.25rem;}
.join-section-heading{display: flex; align-items: baseline; justify-content: space-between; gap: 0.75rem; padding-bottom: 1.0625rem; border-bottom: 1px solid rgb(218, 227, 238); margin-bottom: 1.4375rem;}
.join-section-heading h2{font-size: max(13px,1.25rem); letter-spacing: -0.03em; font-weight: 650; line-height: 1.5;}
.join-section-heading p{font-size: max(10px,0.75rem); color: rgb(125, 141, 161);}
.join-grid{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.375rem 1.25rem;}
.join-full{grid-column: 1 / -1;}
.join-field{min-width: 0;}
.join-field > label, .join-address > legend, .join-option-group > legend{display: block; font-size: max(10px,0.8125rem); font-weight: 600; color: rgb(59, 80, 107); margin-bottom: 0.5625rem;}
.join-requirement{font-size: max(10px,0.6875rem); color: rgb(123, 141, 164); font-weight: 400; margin-left: 0.4375rem; white-space: nowrap;}
.join-field input:not([type="checkbox"]):not([type="radio"]){display: block; width: 100%; min-width: 0; max-width: 100%; height: 3.25rem; padding: 0 0.9375rem; border: 1px solid rgb(216, 225, 235); border-radius: 0.375rem; background: rgb(249, 250, 252); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: max(13px,1rem); color: rgb(25, 47, 75); outline: none; transition: border-color 0.2s, box-shadow 0.2s;}
.join-field input::placeholder{color: rgb(154, 167, 183); font-size: max(13px,0.875rem);}
.join-field input:focus{border-color: rgb(64, 119, 210); box-shadow: rgba(66, 119, 204, 0.07) 0 0 0 0.1875rem; background: white;}
.join-field input[aria-invalid="true"]{border-color: rgb(182, 70, 70);}
.join-field .login-password input{padding-right: 3.375rem;}
.join-field .login-password-toggle{top: 0.25rem;}
.join-hint{font-size: max(10px,0.75rem); line-height: 1.7; color: rgb(123, 139, 160); margin-top: 0.5rem; word-break: keep-all;}
.join-hint.is-error{color: rgb(173, 61, 61);}
.join-birth{display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; align-items: end;}
.join-main fieldset{border: 0; padding: 0; margin: 0; min-width: 0;}
.join-calendar{display: flex; align-items: center; gap: 1.25rem; min-height: 3.25rem;}
.join-calendar legend{font-size: max(10px,0.75rem); color: rgb(123, 141, 164); margin-bottom: 0.5625rem;}
.join-calendar label{display: flex; gap: 0.5rem; align-items: center; font-size: max(13px,0.875rem); cursor: pointer; min-height: 2.75rem;}
.join-address > .join-grid{gap: 0.875rem 1.25rem;}
.join-address .join-field > label{font-size: max(10px,0.75rem); font-weight: 400;}
.join-address > legend{margin-bottom: 0.875rem;}
.join-main .join-option-group + .join-option-group{margin-top: 1.5rem;}
.join-choices{display: flex; flex-wrap: wrap; gap: 0.625rem;}
.join-choice{position: relative; display: flex; align-items: center; gap: 0.5rem; padding: 0.75rem 0.875rem; min-height: 2.875rem; border: 1px solid rgb(221, 229, 238); border-radius: 0.375rem; cursor: pointer; font-size: max(10px,0.8125rem); color: rgb(97, 114, 138); background: white; transition: background 0.2s, border-color 0.2s;}
.join-choice:has(input:checked){background: rgb(239, 245, 255); border-color: rgb(130, 166, 220); color: rgb(46, 95, 168);}
.join-choices input{width: 1rem; height: 1rem;}
.join-preferences{display: grid; gap: 0.75rem;}
.join-preferences .join-check{font-size: max(13px,0.875rem);}
.join-actions{display: grid; grid-template-columns: 8.125rem 1fr; gap: 0.75rem; margin-top: 2.1875rem;}
.join-back{min-height: 3.4375rem; border: 1px solid rgb(216, 225, 235); background: white; color: rgb(80, 104, 132); border-radius: 0.375rem; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: max(13px,0.9375rem); cursor: pointer;}
.join-submit:disabled{background: rgb(170, 192, 223); color: rgb(255, 255, 255); cursor: not-allowed; box-shadow: none;}
.join-main summary:focus-visible, .join-main input:focus-visible, .join-terms:focus-visible, .join-privacy:focus-visible{outline: rgb(130, 169, 220) solid 0.1875rem; outline-offset: 0.1875rem;}
.join-main input:not([type="radio"]):not([type="checkbox"]):focus-visible{outline: 0;}
.join-main [tabindex="-1"]:focus{outline: 0;}
@media (hover: hover){.join-back:hover{background: rgb(244, 247, 251);}
.join-choice:hover{border-color: rgb(140, 170, 211);}
.join-agreement-item summary:hover{color: rgb(50, 105, 192);}}
.join-layout{max-width: 36.25rem;}
.join-heading h1{font-size: 2rem;}
.join-steps{gap: 1.5rem; font-size: max(10px,0.8125rem); margin: 1.75rem 0 2.125rem;}
.join-agree-all{padding: 1.25rem;}
.join-grid{gap: 1.25rem 1rem;}
.join-section-heading h2{font-size: max(13px,1.1875rem);}
.join-choices{gap: 0.5rem;}
.join-choice{padding: 0.6875rem 0.75rem;}
.join-privacy th, .join-privacy td{padding: 0.75rem 0.5rem;}
.join-terms{padding: 0.9375rem;}
.join-grid, .join-birth{grid-template-columns: minmax(0, 1fr);}
.join-birth{gap: 0.75rem;}
.join-calendar{min-height: 2.1875rem;}
.join-calendar legend{margin-bottom: 0;}
.join-steps{gap: 1.125rem; font-size: max(10px,0.75rem);}
.join-steps li{gap: 0.375rem;}
.join-steps li > span{width: 1.5625rem; height: 1.5625rem; font-size: 0.625rem;}
.join-agree-all{padding: 1.125rem 0.9375rem; gap: 0.75rem;}
.join-agree-all strong{font-size: max(13px,1rem);}
.join-agree-all small{font-size: max(10px,0.75rem);}
.join-check{font-size: max(13px,0.875rem); gap: 0.5625rem;}
.join-privacy table{font-size: max(10px,0.6875rem);}
.join-privacy th, .join-privacy td{padding: 0.625rem 0.4375rem;}
.join-agreement-item details{margin-left: 0;}
.join-terms{font-size: max(10px,0.75rem);}
.join-section-heading p{font-size: max(10px,0.6875rem);}
.join-actions{grid-template-columns: 5.3125rem 1fr;}
.join-choices{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));}
.join-choice{font-size: max(10px,0.75rem); padding: 0.75rem 0.625rem;}
.join-branches label:last-child{grid-column: auto;}

@media (prefers-reduced-motion: reduce){.join-main *{transition: none !important; scroll-behavior: auto !important;}}
.join-heading{scroll-margin-top: 6.875rem;}
.join-option-group:last-child > .join-choices{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));}
.join-branches{display: grid; grid-template-columns: repeat(5, minmax(0, 1fr));}
.join-branches .join-choice{padding-inline: 0.625rem;}
.join-heading{scroll-margin-top: 5.625rem;}
.join-branches{grid-template-columns: repeat(3, minmax(0, 1fr));}
.join-option-group:last-child > .join-choices, .join-branches{grid-template-columns: repeat(2, minmax(0, 1fr));}
