:root{--green:#006b3f;--red:#c8102e;--ink:#17211b;--muted:#657168;--line:#d7e3db;--soft:#eff6f2;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--soft)}
*{box-sizing:border-box}.hidden{display:none!important}body{margin:0}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1060px)/2));position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--green)}.brand span:last-child{display:grid}.brand small{text-transform:uppercase;letter-spacing:.1em;font-size:9px;color:var(--muted)}.seal{width:82px;height:82px;border:3px double var(--green);border-radius:50%;display:grid;place-items:center;margin:auto;color:var(--green);font-weight:900}.seal.small{width:38px;height:38px;margin:0}.signin{color:var(--green);font-weight:800}main{width:min(1060px,calc(100% - 28px));margin:34px auto 70px}.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(22px,4vw,38px);box-shadow:0 8px 28px #063e2510}.gate{width:min(580px,100%);margin:8vh auto;text-align:center}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:900;font-size:12px;color:var(--green);margin:16px 0 4px}h1{font-size:clamp(28px,5vw,42px);margin:4px 0;color:var(--green)}h2{color:var(--green);margin:0 0 18px}.lead{color:var(--muted);line-height:1.6}.intro{margin-bottom:18px}.intro p{color:var(--muted)}.progress{height:8px;border-radius:99px;background:#e4ece7;overflow:hidden;margin-top:20px}.progress span{display:block;width:16.67%;height:100%;background:var(--green);transition:width .3s}.form-section{margin:16px 0}.grid,.subgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full{grid-column:1/-1}.subgrid{padding:16px;border-radius:14px;background:var(--soft)}label{display:block;font-weight:800}input,select,textarea{width:100%;font:inherit;margin-top:7px;padding:13px;border:1px solid #bdcec3;border-radius:10px;background:#fff;color:var(--ink)}textarea{resize:vertical}button{width:100%;border:0;border-radius:11px;background:var(--green);color:#fff;font:inherit;font-weight:900;padding:14px 18px;margin-top:18px;cursor:pointer}button:disabled{opacity:.65;cursor:wait}.check{display:flex;align-items:flex-start;gap:10px;font-weight:600}.check input{width:auto;margin:3px 0}.checks{display:grid;grid-template-columns:1fr 1fr;gap:10px}.checks label{font-weight:600}.checks input{width:auto}fieldset{border:1px solid var(--line);border-radius:12px;padding:16px}legend{font-weight:900}.consents{display:grid;gap:15px}.security-note,.message{padding:14px 16px;border-radius:11px;text-align:left;line-height:1.5}.security-note{border-left:4px solid #d5a000;background:#fff8e8}.message{margin-top:16px;border-left:4px solid var(--green);background:#ecf8f1;color:#075e39}.message.error{border-color:var(--red);background:#fff0f2;color:#98132a}.working{position:fixed;inset:0;z-index:100;background:#00351f70;display:grid;place-items:start center;padding-top:18vh}.working-card{width:min(440px,calc(100% - 30px));background:#fff;border-radius:16px;border-top:6px solid var(--green);padding:20px;display:flex;gap:14px}.working-card p{margin:3px 0;color:var(--muted)}.spinner{width:28px;height:28px;border:4px solid #dce7e0;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}footer{text-align:center;color:var(--muted);padding:24px}@media(max-width:680px){.grid,.subgrid,.checks{grid-template-columns:1fr}.full{grid-column:auto}.topbar{padding:0 14px}.signin{font-size:13px}.form-section{padding:22px 18px}}
.section-note{margin:-9px 0 18px;padding:11px 13px;border-left:4px solid var(--green);border-radius:9px;background:var(--soft);color:var(--muted)}
.homeland-options{background:#f7fbf8}.homeland-options legend{color:var(--green);padding:0 7px}.homeland-options .checks{margin-top:8px}.homeland-options .check{padding:12px;border:1px solid #d7e3db;border-radius:11px;background:#fff;line-height:1.4}.homeland-options .check:has(input:checked){border-color:var(--green);background:#eaf6ef;color:#075e39}.homeland-options .optional{margin:13px 0 0;line-height:1.45}

/* Guided registration journey */
.intro{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff 0%,#fff 62%,#e7f5ed 100%)}
.intro:after{content:"";position:absolute;width:220px;height:220px;border:38px solid #ffffff70;border-radius:50%;right:-105px;top:-105px;pointer-events:none}
.intro-copy{padding-right:210px}.journey-badge{position:absolute;right:38px;top:34px;width:152px;min-height:118px;border-radius:18px;background:var(--green);color:#fff;display:grid;place-items:center;padding:14px;text-align:center;box-shadow:0 14px 30px #006b3f2b;z-index:1}.journey-badge span{font-size:30px}.journey-badge strong{font-size:14px}.journey-badge small{color:#dff3e8}
.progress-meta{display:flex;justify-content:space-between;margin-top:8px;color:var(--muted);font-weight:800}.step-trail{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:18px}.step-dot{height:8px;border-radius:999px;background:#dfe9e3;transition:.25s ease}.step-dot.current{background:#d6a000}.step-dot.done{background:var(--green)}
#membershipForm.wizard-ready .form-section{display:none;margin:0;animation:stepIn .36s ease both}#membershipForm.wizard-ready .form-section.is-active{display:block}#membershipForm.wizard-ready .form-section.hidden{display:none!important}
.form-section.is-active{border-top:5px solid var(--green);box-shadow:0 18px 45px #063e2515}.form-section.is-complete{border-color:#a9d7bd}.form-section h2{font-size:clamp(23px,3vw,31px)}.form-section h2:before{content:"";display:inline-block;width:11px;height:11px;border-radius:50%;background:#d6a000;margin-right:12px;vertical-align:middle;box-shadow:0 0 0 7px #fff5d6}
.step-kicker{margin:-4px 0 8px;color:var(--muted);font-weight:700}.wizard-actions{display:flex;gap:12px;align-items:center;border-top:1px solid var(--line);margin-top:26px;padding-top:20px}.wizard-actions button{margin:0}.wizard-actions .back-button{width:auto;min-width:120px;background:#e8f2ec;color:var(--green)}.wizard-actions .next-button{flex:1}.wizard-actions .next-button:after{content:"  →"}.wizard-hint{display:flex;gap:9px;align-items:center;margin-top:15px;color:var(--muted);font-size:13px}.wizard-hint:before{content:"✓";display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e2f4e9;color:var(--green);font-weight:900;flex:none}
.field-error-note{margin:15px 0 0;padding:12px 14px;border-radius:10px;background:#fff0f2;border-left:4px solid var(--red);color:#98132a;font-weight:700}
@keyframes stepIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(max-width:680px){.intro-copy{padding-right:0}.journey-badge{position:relative;right:auto;top:auto;width:100%;min-height:0;grid-template-columns:auto 1fr;justify-items:start;margin-top:18px;text-align:left}.journey-badge span{grid-row:1/3}.step-trail{gap:5px}.wizard-actions{position:sticky;bottom:0;margin-left:-18px;margin-right:-18px;margin-bottom:-22px;padding:14px 18px;background:#fffffff2;backdrop-filter:blur(8px);border-radius:0 0 20px 20px;z-index:5}.wizard-actions .back-button{min-width:96px}.progress-meta{font-size:12px}}
.membership-guide{margin-top:4px;padding:18px;border-radius:16px;background:linear-gradient(135deg,#f3f9f5,#e7f4ec);border:1px solid #cce2d4}.guide-heading{display:flex;gap:12px;align-items:center;margin-bottom:14px}.guide-heading>span{font-size:27px}.guide-heading>div{display:grid;gap:3px}.guide-heading small{color:var(--muted);font-weight:600}.category-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.category-options article{padding:13px;border:1px solid #d6e4da;border-radius:12px;background:#ffffffb8;transition:.2s ease}.category-options article strong{color:var(--green);font-size:14px}.category-options article p{font-size:12px;line-height:1.45;color:var(--muted);margin:6px 0 0}.category-options article.selected{border:2px solid var(--green);background:#fff;box-shadow:0 8px 20px #006b3f1a;transform:translateY(-2px)}.category-options article.selected:after{content:"Selected ✓";display:inline-block;margin-top:9px;padding:4px 8px;border-radius:99px;background:#e3f4e9;color:var(--green);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.category-selection-note{margin:13px 0 0;color:var(--green);font-size:13px;font-weight:800}.birthday-intro{display:flex;gap:14px;align-items:flex-start;padding:16px;border:1px solid #efd98c;border-radius:14px;background:#fff9e8}.birthday-intro>span{font-size:29px}.birthday-intro strong{color:#765600}.birthday-intro p{margin:5px 0 0;color:#665c42;line-height:1.5;font-weight:600}.optional{color:var(--muted);font-size:12px;font-weight:600}
@media(max-width:820px){.category-options{grid-template-columns:1fr 1fr}}@media(max-width:520px){.category-options{grid-template-columns:1fr}.birthday-intro{padding:14px}}
.draft-tools{display:flex;align-items:center;gap:12px;margin-top:15px}.draft-status{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;background:#e7f4ec;color:var(--green);font-size:12px;font-weight:800}.draft-status:before{content:"✓";display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:var(--green);color:#fff}.reset-draft{width:auto;margin:0;padding:9px 12px;background:transparent;border:1px solid #d9a9b2;color:var(--red);font-size:12px}.reset-draft-message{margin-top:12px;padding:14px;border:1px solid #edc4cb;border-left:4px solid var(--red);border-radius:12px;background:#fff5f6;display:grid;gap:5px}.reset-draft-message span{color:var(--muted);font-size:13px}.reset-draft-message>div{display:flex;gap:9px;margin-top:7px}.reset-draft-message button{width:auto;margin:0;padding:10px 12px;font-size:12px}.reset-draft-message #cancelResetButton{background:#e7f1eb;color:var(--green)}.reset-draft-message #confirmResetButton{background:var(--red)}
@media(max-width:680px){.draft-tools{align-items:stretch;flex-direction:column}.reset-draft{width:100%}.reset-draft-message>div{flex-direction:column}.reset-draft-message button{width:100%}}
.spouse-privacy-note{margin:0;padding:14px 16px;border-left:4px solid var(--red);border-radius:11px;background:#f5f5f5;color:var(--ink);font-size:13px;line-height:1.5}.subgrid h3{margin:0 0 5px;color:var(--green);font-size:21px}
input[readonly]{background:#eef6f1;color:#075f3b;border-color:#9ccbb3;font-weight:700;cursor:not-allowed}

/* Official identity marks on the public registration entry point. */
.official-logo{display:block;object-fit:contain;background:#fff;border-radius:50%}
.official-logo.small{width:42px;height:42px;flex:none}
.registration-logo{width:112px;height:112px;margin:0 auto 12px;filter:drop-shadow(0 7px 15px #063e2520)}
.security-note strong{color:#765600}
@media(max-width:520px){.official-logo.small{width:38px;height:38px}.registration-logo{width:96px;height:96px}.brand small{max-width:165px}}
