.signup-wrap{background:#fff;padding:calc(var(--header-h, 5.625rem) + 4.5rem) 1.25rem 5rem}
.signup-card{max-width:42.5rem;margin:0 auto;background:#fff;border-radius:0;padding:3rem 2.875rem;box-shadow:none;border:0}
.signup-card h1{font-size:1.75rem;font-weight:800;color:var(--c-label,#171719);margin:0 0 .75rem;letter-spacing:-.01em}
.signup-desc{color:var(--c-alt,#5A5C63);font-size:.9063rem;line-height:1.7;margin:0}
.sform-sec{margin-top:2.375rem}
.sform-sec .sec-h{font-size:1.125rem;font-weight:800;color:var(--c-label,#171719);padding-bottom:.875rem;border-bottom:2px solid var(--c-label,#171719);margin-bottom:1.5rem}
.frm{margin-bottom:1.375rem}
.frm > label,.frm .flabel{display:block;font-size:.875rem;font-weight:700;color:var(--c-label,#171719);margin-bottom:.5625rem}
.frm .req{color:#ef4444;margin-right:.1875rem}
.frm .auth-tag{color:var(--main-color,#29A3DB);font-weight:800;font-size:.7813rem;margin-left:.125rem}
.frm input[type=text],.frm input[type=password],.frm input[type=email],.frm input[type=tel],.frm input[type=date],.frm select{
  width:100%;box-sizing:border-box;height:3.25rem;border:1.5px solid var(--c-line,#E1E2E4);border-radius:.75rem;padding:0 1rem;font-size:.9375rem;font-family:inherit;color:var(--c-label,#171719);background:#fff;transition:border-color .2s,box-shadow .2s}
.frm select{
  padding:0 2.1rem 0 1rem;line-height:1.4;appearance:none;-webkit-appearance:none;
  background-color:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%235A5C63' d='M1.4.6 6 5.2 10.6.6 12 2l-6 6L0 2z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .85rem center;background-size:.7rem}
.frm input::placeholder{color:#9fb0c8}
.frm input:focus,.frm select:focus{outline:none;border-color:var(--main-color,#29A3DB);box-shadow:0 0 0 3px rgba(41,163,219,.12)}
.frm input.red,.frm select.red{border-color:#ef4444}
.etc-input{margin-top:.75rem;width:100%;padding:.8125rem .9375rem;border:1.5px solid var(--c-line,#E1E2E4);border-radius:.75rem;font-size:.9063rem;font-family:inherit;box-sizing:border-box}
.etc-input:focus{outline:none;border-color:var(--main-color,#29A3DB)}
.row-email input.filled{background:var(--bg-alt,#F7F7F8);color:var(--c-alt,#5A5C63)}
.frm-help{display:flex;flex-wrap:wrap;gap:.875rem;margin-top:.5rem;font-size:.7813rem;color:var(--c-assist,#878A93)}
.frm-help span{display:inline-flex;align-items:center;gap:.25rem}
.frm-help .ok{color:var(--main-color,#29A3DB)}
.frm .desc{display:none;margin-top:.5rem;font-size:.8125rem;color:#ef4444}
.frm .desc.active{display:block}
.row-id{display:flex;gap:.625rem}
.row-id input{flex:1}
.btn-dup{flex:none;padding:0 1.25rem;border:1.5px solid var(--c-line,#E1E2E4);border-radius:.75rem;background:var(--bg-alt,#F7F7F8);color:var(--c-label,#171719);font-weight:800;font-size:.875rem;cursor:pointer;font-family:inherit}
.btn-dup:hover{border-color:var(--main-color,#29A3DB);color:var(--main-color,#29A3DB)}
.row-email{display:grid;grid-template-columns:1fr auto 1fr auto;gap:.5rem;align-items:center}
.row-email .at{color:var(--c-alt,#5A5C63);font-weight:700}
.row-addr{display:grid;grid-template-columns:1fr 1fr;gap:.625rem}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem 1.5rem}
.detail-grid .span2{grid-column:1 / -1}
.detail-grid .frm{margin-bottom:0}
.frm-gap{display:block}
.row-date,.row-svc{display:flex;align-items:center;flex-wrap:wrap;gap:.375rem}
.detail-grid .row-id{flex-wrap:wrap}
.detail-grid .row-id input{min-width:7.5rem}
.row-date select,.row-svc select{width:auto;flex:1 1 5.25rem;min-width:5.25rem;padding-left:.7rem;padding-right:1.55rem;background-position:right .45rem center}
.row-date .unit,.row-svc .unit{flex:none;font-size:.875rem;font-weight:700;color:var(--c-label,#171719)}
.svc-note{flex:none;color:#ef4444;font-size:.75rem;font-weight:700;white-space:nowrap}
.sub-lbl{font-weight:600;color:var(--c-assist,#878A93);font-size:.8125rem}
.row-zip{display:flex;align-items:stretch;gap:.625rem;margin-bottom:.625rem}
.row-zip input{flex:1;min-width:0}
.btn-zip{display:inline-flex;align-items:center;justify-content:center;flex:none;padding:0 1.25rem;border:1.5px solid var(--c-line,#E1E2E4);border-radius:.75rem;background:#fff;color:var(--c-label,#171719);font-weight:800;font-size:.875rem;cursor:pointer;font-family:inherit;white-space:nowrap}
.btn-zip:hover{border-color:var(--main-color,#29A3DB);color:var(--main-color,#29A3DB)}
.addr-rest{display:grid;gap:.625rem}
.row-unit{display:grid;grid-template-columns:1.4fr .9fr;gap:.625rem;align-items:center}
.row-unit select{width:100%}
.radios{display:flex;flex-wrap:wrap;gap:.875rem 1.25rem}
.radios label{display:inline-flex;align-items:center;gap:.4rem;font-size:.9375rem;font-weight:600;color:var(--c-label,#171719);cursor:pointer}
.radios input{width:1rem;height:1rem;margin:0;accent-color:var(--main-color,#29A3DB)}
.frm .desc.ok{color:var(--main-color,#29A3DB)}
.btn-verify{width:100%;margin-top:.625rem;padding:.8125rem;border:1.5px solid var(--main-color);border-radius:.75rem;background:#fff;color:var(--main-color);font-weight:800;font-size:.9063rem;cursor:pointer;font-family:inherit}
.btn-verify:hover{background:var(--main-color);color:#fff}
.row-code{display:flex;gap:.625rem;margin-top:.625rem}
.row-code input{flex:1}
.pills{display:flex;flex-wrap:wrap;gap:.625rem}
.pill{padding:.6875rem 1.375rem;border-radius:999px;border:1.5px solid var(--c-line,#E1E2E4);background:#fff;color:var(--c-alt,#5A5C63);font-weight:700;font-size:.9063rem;cursor:pointer;font-family:inherit}
.pill:hover{border-color:#cfe0f2}
.pill.on{border-color:var(--main-color,#29A3DB);background:var(--main-tint,#E3F3FB);color:var(--c-label,#171719)}
.subopt{margin-top:.875rem}
.subopt[hidden],.consent[hidden],.row-code[hidden],.etc-input[hidden]{display:none}
.sub-label{font-size:.8125rem;font-weight:800;color:var(--c-label,#171719);margin:0 0 .625rem}
.consent{margin-top:1rem;border:1px solid var(--c-line,#E1E2E4);border-radius:1rem;padding:1.375rem;background:var(--bg-alt,#F7F7F8)}
.consent h4{font-size:.9375rem;font-weight:800;color:var(--c-label,#171719);margin:0 0 .875rem}
.consent dl{margin:0 0 .875rem;display:grid;gap:.5rem}
.consent .cl{display:flex;gap:.625rem;font-size:.8438rem}
.consent dt{flex:none;width:5.5rem;color:var(--c-label2,#292A2D);font-weight:800;margin:0}
.consent dd{margin:0;color:var(--c-alt,#5A5C63)}
.consent .cnote{font-size:.7813rem;color:var(--c-alt,#5A5C63);margin:0 0 .875rem;line-height:1.6}
.desc-note{color:var(--c-alt,#5A5C63);font-size:.8125rem;line-height:1.7;margin:0 0 .875rem}
.agree-list{display:grid;gap:.75rem;margin-top:.5rem}
.agree-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid var(--c-line,#E1E2E4);border-radius:.875rem;padding:1rem 1.125rem}
.agree-chk{display:inline-flex;align-items:center;gap:.625rem;font-size:.9063rem;color:var(--c-label,#171719);font-weight:600;cursor:pointer}
.agree-chk input{-webkit-appearance:none;appearance:none;width:1.125rem;height:1.125rem;margin:0;padding:0;border:1.5px solid var(--c-line,#E1E2E4);border-radius:.25rem;background:#fff;flex:none;cursor:pointer;box-sizing:border-box}
.agree-chk input:checked{background:var(--main-color,#29A3DB) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23fff' d='M6.2 11.2 3.4 8.4l1.2-1.2 1.6 1.6 4.2-4.2 1.2 1.2z'/%3E%3C/svg%3E") center / 1rem no-repeat;border-color:var(--main-color,#29A3DB)}
.agree-chk .tag-req{color:#ef4444;font-weight:800;font-size:.8125rem}
.agree-chk .tag-opt{color:var(--c-assist,#878A93);font-weight:700;font-size:.8125rem}
.agree-view{flex:none;background:none;border:0;color:var(--c-assist,#878A93);font-size:.8125rem;font-weight:700;text-decoration:underline;cursor:pointer;font-family:inherit}
.agree-view:hover{color:var(--main-color,#29A3DB)}
.agree-sub{display:flex;flex-direction:column;gap:.625rem;padding-left:.75rem;margin-top:.5rem}
.agree-item .desc,.agree-sub .desc{display:none;width:100%;margin:.25rem 0 0;font-size:.75rem;color:#ef4444}
.agree-item .desc.active,.agree-sub .desc.active{display:block}
.btn-submit{width:100%;margin-top:2.125rem;padding:1.0625rem;border-radius:.75rem;background:var(--main-color);color:#fff;font-weight:800;font-size:1rem;border:0;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;justify-content:center}
.btn-submit:hover{background:var(--main-dark)}
.signup-login{margin:1.5rem 0 0;text-align:center;font-size:.9375rem;color:var(--c-assist,#878A93)}
.signup-login a{color:var(--c-label,#171719);margin-left:.5rem;text-decoration:underline}
.sg-modal{position:fixed;inset:0;z-index:10050;display:none;align-items:center;justify-content:center;padding:1.5rem}
.sg-modal.open{display:flex}
.sg-modal-dim{position:absolute;inset:0;background:rgba(18,26,58,.55)}
.sg-modal-box{position:relative;width:100%;max-width:35rem;max-height:82vh;background:#fff;border-radius:1.375rem;box-shadow:0 2.5rem 5.625rem -1.875rem rgba(0,0,0,.45);display:flex;flex-direction:column;overflow:hidden}
.sg-modal-head{flex:none;display:flex;align-items:center;justify-content:space-between;padding:1.375rem 1.625rem;border-bottom:1px solid var(--c-line,#E1E2E4)}
.sg-modal-head h3{margin:0;font-size:1.125rem;font-weight:800}
.sg-modal-x{background:none;border:0;font-size:1.625rem;line-height:1;color:var(--c-assist,#878A93);cursor:pointer}
.sg-modal-body{flex:1 1 auto;min-height:0;padding:1.5rem 1.625rem;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;color:var(--c-alt,#5A5C63);font-size:.875rem;line-height:1.8}
.sg-modal-body h4{color:var(--c-label,#171719);font-size:.9375rem;font-weight:800;margin:1.125rem 0 .5rem}
.sg-modal-body h4:first-child{margin-top:0}
.sg-modal-body .mv{color:var(--c-label2,#292A2D);font-weight:700;font-size:.8438rem;margin-bottom:1rem}
.sg-modal-body table{width:100%;border-collapse:collapse;margin:.625rem 0;font-size:.8125rem}
.sg-modal-body th,.sg-modal-body td{border:1px solid var(--c-line,#E1E2E4);padding:.5625rem .6875rem;text-align:left;vertical-align:top}
.sg-modal-body th{background:var(--bg-alt,#F7F7F8);font-weight:800;color:var(--c-label,#171719);white-space:nowrap}
.sg-modal-foot{flex:none;padding:1.125rem 1.625rem;border-top:1px solid var(--c-line,#E1E2E4);display:flex;gap:.625rem}
.sg-modal-foot .btn-modal{flex:1;padding:.875rem;border-radius:.75rem;font-weight:800;font-size:.9375rem;cursor:pointer;font-family:inherit;border:1.5px solid var(--c-line,#E1E2E4);background:#fff;color:var(--c-alt,#5A5C63)}
.sg-modal-foot .btn-modal.primary{background:var(--main-color);color:#fff;border-color:var(--main-color)}
.signup-done{text-align:center}
.signup-done .auth-ic{width:4.5rem;height:4.5rem;margin:0 auto 1.25rem;border-radius:50%;background:var(--main-color,#29A3DB);display:flex;align-items:center;justify-content:center}
.signup-done h1{font-size:1.5rem;margin-bottom:.75rem}
.done-actions{display:flex;gap:.625rem;margin-top:1.75rem}
.done-actions a{flex:1;padding:1rem;border-radius:.875rem;font-weight:800;text-align:center}
.done-actions .ghost{background:#fff;color:var(--c-label,#171719);border:1.5px solid var(--c-line,#E1E2E4)}
.done-actions .fill{background:var(--main-color);color:#fff}
.done-actions .fill:hover{background:var(--main-dark)}
@media (max-width:560px){
  .signup-card{padding:2rem 1.5rem}
  .row-email{grid-template-columns:1fr;gap:.5rem}
  .row-email .at{display:none}
  .row-addr{grid-template-columns:1fr}
  .detail-grid,.row-unit{grid-template-columns:1fr}
  .detail-grid .span2{grid-column:auto}
  .frm-gap{display:none}
  .svc-note{white-space:normal}
  .done-actions{flex-direction:column}
}
