:root{ --hx-rs-hero:linear-gradient(135deg,var(--hx-green-50),var(--hx-green-100) 60%,var(--hx-tint-cool));}
.hx-rsx .rs-hero{background:var(--hx-rs-hero);padding-block:clamp(32px,4vw,60px)}
.hx-rsx .rs-hero-grid{display:grid;grid-template-columns:auto minmax(0,1fr); align-items:center;gap:clamp(20px,4vw,48px)}
.hx-rsx .rs-hero-img{border-radius:var(--hx-r-lg)}
.hx-rsx .rs-hero h1{margin:0;font-size:var(--hx-fs-2xl);font-weight:var(--hx-fw-black);line-height:var(--hx-lh-tight);letter-spacing:var(--hx-tracking-tight);color:var(--hx-green-900)}
.hx-rsx .rs-lead{margin:14px 0 0;max-width:var(--hx-measure);font-size:var(--hx-fs-md);line-height:var(--hx-lh);color:var(--hx-green-900)}
.hx-rsx .rs-body{padding-block:clamp(36px,5vw,64px)}
.hx-rsx .rs-main{max-width:1120px;margin:auto;}
.hx-rsx .rs-note{padding:var(--hx-s-4) var(--hx-s-5);margin-bottom:clamp(24px,3vw,32px);border-left:3px solid var(--hx-green-500);border-radius:0 var(--hx-r-sm) var(--hx-r-sm) 0;background:var(--hx-surface)}
.hx-rsx .rs-note h2{margin:0 0 var(--hx-s-2);font-size:var(--hx-fs-base);font-weight:var(--hx-fw-bold);color:var(--hx-ink)}
.hx-rsx .rs-note ul{margin:0;padding-left:var(--hx-s-4);display:grid;gap:6px}
.hx-rsx .rs-note li{font-size:var(--hx-fs-sm);line-height:var(--hx-lh);color:var(--hx-body)}
.hx-rsx .rs-set{margin:0 0 clamp(20px,2.5vw,28px);padding:clamp(20px,2.6vw,30px);border:1px solid var(--hx-line);border-radius:var(--hx-r-xl);background:var(--hx-card);box-shadow:var(--hx-e-1)}
.hx-rsx .rs-set legend{padding:0 var(--hx-s-3);margin-left:calc(var(--hx-s-3) * -1);font-size:var(--hx-fs-lg);font-weight:var(--hx-fw-bold);color:var(--hx-green-800)}
.hx-rsx .rs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--hx-s-4) var(--hx-s-4)}
.hx-rsx .rs-full{grid-column:1 / -1}
.hx-rsx .rs-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.hx-rsx .rs-field label,.hx-rsx .rs-label{font-size:var(--hx-fs-sm);font-weight:var(--hx-fw-semi);color:var(--hx-body);line-height:var(--hx-lh-snug)}
.hx-rsx .textbox,.hx-rsx .textarea,.hx-rsx .select,.hx-rsx #getFile{font:inherit;font-size:var(--hx-fs-sm);color:var(--hx-ink);background:var(--hx-card);border:1px solid var(--hx-line-2);border-radius:var(--hx-r-sm);padding:10px 12px;width:100%;min-width:0;transition:border-color var(--hx-dur) var(--hx-ease),box-shadow var(--hx-dur) var(--hx-ease)}
.hx-rsx .textarea{height:104px;min-height:104px;resize:vertical}
.hx-rsx .textbox:hover,.hx-rsx .textarea:hover,.hx-rsx .select:hover{border-color:var(--hx-green-300)}
.hx-rsx .textbox:focus,.hx-rsx .textarea:focus,.hx-rsx .select:focus,.hx-rsx #getFile:focus{outline:none;border-color:var(--hx-green-700);box-shadow:0 0 0 3px var(--hx-green-100)}
.hx-rsx #getFile[readonly]{background:var(--hx-tile);color:var(--hx-muted);cursor:default}
.hx-rsx .visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.hx-rsx .rs-dob{display:flex;flex-wrap:wrap;align-items:center;gap:var(--hx-s-2)}
.hx-rsx .rs-dob .select{width:auto;min-width:96px}
.hx-rsx .rs-check{flex-direction:row;align-items:center;gap:var(--hx-s-2)}
.hx-rsx .rs-check input{width:16px;height:16px;accent-color:var(--hx-green-700);flex:0 0 auto}
.hx-rsx .rs-check label{font-weight:var(--hx-fw-regular)}
.hx-rsx .rs-radios{display:flex;flex-wrap:wrap;align-items:center;gap:var(--hx-s-2)}
.hx-rsx .rs-radios input[type="radio"]{position:absolute;opacity:0;width:1px;height:1px}
.hx-rsx .rs-radios label{display:inline-flex;align-items:center;padding:6px 16px;border:1px solid var(--hx-line-2);border-radius:var(--hx-r-pill);background:var(--hx-card);font-size:var(--hx-fs-sm);font-weight:var(--hx-fw-semi);color:var(--hx-body);cursor:pointer;transition:background var(--hx-dur) var(--hx-ease),border-color var(--hx-dur) var(--hx-ease),color var(--hx-dur) var(--hx-ease)}
.hx-rsx .rs-radios label:hover{border-color:var(--hx-green-300);background:var(--hx-green-50)}
.hx-rsx .rs-radios input[type="radio"]:checked + label{background:var(--hx-green-700);border-color:var(--hx-green-700);color:var(--hx-card)}
.hx-rsx .rs-radios input[type="radio"]:focus-visible + label{outline:2px solid var(--hx-green-700);outline-offset:2px}
.hx-rsx .rs-sub{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--hx-s-4);padding-left:var(--hx-s-4);border-left:2px solid var(--hx-green-100)}
.hx-rsx .rs-subhead{margin:0 0 var(--hx-s-3);font-size:var(--hx-fs-sm);font-weight:var(--hx-fw-bold);color:var(--hx-ink)}
.hx-rsx .rs-yesno{display:grid;gap:var(--hx-s-3)}
.hx-rsx .rs-yesno-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--hx-s-3);padding-bottom:var(--hx-s-3);border-bottom:1px solid var(--hx-line)}
.hx-rsx .rs-yesno-row:last-child{padding-bottom:0;border-bottom:0}
.hx-rsx .rs-upload{padding:var(--hx-s-4);border:1px dashed var(--hx-line-2);border-radius:var(--hx-r-sm);background:var(--hx-surface)}
.hx-rsx .rs-upload-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--hx-s-2);margin-top:6px}
.hx-rsx .rs-upload-row #getFile{flex:1 1 220px;width:auto}
.hx-rsx #d{font:inherit;font-size:var(--hx-fs-sm);font-weight:var(--hx-fw-semi);padding:10px 18px;border-radius:var(--hx-r-sm);border:1px solid var(--hx-line-2);background:var(--hx-card);color:var(--hx-body);cursor:pointer;transition:background var(--hx-dur) var(--hx-ease),border-color var(--hx-dur) var(--hx-ease)}
.hx-rsx #d:hover{background:var(--hx-green-50);border-color:var(--hx-green-300);color:var(--hx-green-800)}
.hx-rsx .rs-hint{margin:var(--hx-s-2) 0 0;font-size:var(--hx-fs-xs);color:var(--hx-muted)}
.hx-rsx .rs-submit{flex-direction:row;align-items:center;gap:var(--hx-s-3);flex-wrap:wrap}
.hx-rsx .button_green{font:inherit;font-size:var(--hx-fs-base);font-weight:var(--hx-fw-bold);padding:12px 32px;border-radius:var(--hx-r-sm);border:1px solid var(--hx-green-800);background:var(--hx-green-700);color:var(--hx-card);cursor:pointer;transition:background var(--hx-dur) var(--hx-ease),box-shadow var(--hx-dur) var(--hx-ease),transform var(--hx-dur) var(--hx-ease)}
.hx-rsx .button_green:hover{background:var(--hx-green-800);box-shadow:var(--hx-e-2);transform:translateY(-1px)}
.hx-rsx .rs-msg{font-size:var(--hx-fs-xs);line-height:var(--hx-lh-snug);color:var(--hx-danger)}
.hx-rsx .rs-msg:empty{display:none}
@media (max-width:1024px){
  .hx-rsx .rs-hero-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .hx-rsx .rs-grid,.hx-rsx .rs-sub{grid-template-columns:1fr}
  .hx-rsx .rs-sub{padding-left:var(--hx-s-3)}
  .hx-rsx .rs-yesno-row{flex-direction:column;align-items:flex-start}
  .hx-rsx .rs-dob .select{flex:1 1 88px;min-width:0}
}