*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#193b35;background:#f7faf8;line-height:1.55}
.membership-header{min-height:105px;background:#fff;border-bottom:1px solid #dce8e2;padding:18px 6%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.eyebrow{margin:0;color:#23825d;font-size:.78rem;font-weight:700;letter-spacing:.12em}
.brand h1{margin:4px 0 2px;color:#155f9a;font-size:2rem}.brand p:last-child{margin:0;color:#5b716b}
.home-link{color:#155f9a;text-decoration:none;border:1px solid #155f9a;border-radius:8px;padding:10px 16px;font-weight:700}
.page{max-width:1000px;margin:auto;padding:42px 22px 60px}.intro{text-align:center;margin-bottom:28px}.intro h2{font-size:2.25rem;color:#155f9a;margin:6px 0 10px}.intro p:last-child{color:#5a6e69}
form,.success{background:#fff;border:1px solid #dfeae5;border-radius:16px;padding:30px;box-shadow:0 5px 20px rgba(25,70,55,.05)}
.form-section{padding:0 0 28px;margin-bottom:28px;border-bottom:1px solid #e7efeb}.form-section:last-of-type{margin-bottom:20px}
.form-section h3{margin:0 0 18px;color:#155f9a;font-size:1.25rem}.helper,.small-note{color:#647570;font-size:.9rem}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
label,fieldset{font-weight:700;color:#294c45;font-size:.94rem}label>input,label>textarea{display:block;margin-top:7px}fieldset{display:block}fieldset legend{font-weight:700;color:#294c45;font-size:.94rem;margin:0 0 7px;padding:0}label span,legend span{color:#b33;display:inline}
input,textarea{width:100%;border:1px solid #cbdcd5;border-radius:8px;padding:11px 12px;font:inherit;color:#193b35;background:#fff}
textarea{min-height:105px;resize:vertical}.wide{grid-column:1/-1}
fieldset{border:0;padding:0;margin:0}.choice{display:flex;flex-direction:row;align-items:center;gap:7px;font-weight:400;margin:0 0 7px}.choice input{width:auto;margin:0}
.interests{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:10px 0 18px}
.interests label{display:flex;flex-direction:row;align-items:flex-start;gap:7px;font-weight:400}.interests input{width:auto;margin:4px 0 0}
.submit{border:0;border-radius:8px;background:#23825d;color:#fff;padding:13px 20px;font-weight:700;font-size:1rem;cursor:pointer}.submit:disabled{opacity:.6;cursor:not-allowed}
.message{min-height:24px;color:#a22;margin-bottom:8px}.message.ok{color:#176443}.hidden{display:none!important}
.success{text-align:center}.success h2{color:#155f9a}.id-card{max-width:560px;margin:25px auto;padding:28px;text-align:left;border:2px solid #23825d;border-radius:14px;background:#fbfdfc}.id-card p{margin:7px 0}.card-title{text-align:center;font-weight:800;letter-spacing:.06em;color:#155f9a}.card-subtitle{text-align:center;font-weight:700}.card-heading{text-align:center;font-weight:800;color:#23825d}.actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.actions button,.actions a{border:1px solid #155f9a;border-radius:8px;padding:10px 16px;background:#fff;color:#155f9a;text-decoration:none;font-weight:700;cursor:pointer}
@media(max-width:700px){.membership-header{padding:16px 20px;align-items:flex-start}.brand h1{font-size:1.45rem}.grid,.interests{grid-template-columns:1fr}form,.success{padding:22px}.page{padding:28px 14px 45px}}
@media print{body{background:#fff}.membership-header,.intro,form,.actions,.success>p:not(.eyebrow),.success>h2{display:none!important}.success{display:block!important;border:0;box-shadow:none;padding:0}.id-card{margin:0 auto;box-shadow:none}}
