:root{--navy:#0b3748;--green:#14745f;--green2:#0f5d4c;--gold:#eead2b;--ink:#123747;--muted:#667d87;--line:#dbe7e3;--soft:#eff6f3;--danger:#b53d3d;--white:#fff}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#eef6f3,#f8fbfa 35%,#edf5f2);color:var(--ink);font-family:"Plus Jakarta Sans",Arial,sans-serif}.page-shell{width:min(1040px,calc(100% - 30px));margin:30px auto 55px}.hero-card,.form-card,.submit-card,.success-panel{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 18px 50px rgba(13,57,69,.08)}.hero-card{padding:30px;border-top:5px solid var(--green)}.brand-row{display:flex;align-items:center;gap:22px}.brand-logo{width:86px;height:86px;min-width:86px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:18px;padding:7px}.eyebrow{margin:0 0 6px;color:var(--green);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}h1{font-size:clamp(28px,4vw,46px);line-height:1.05;margin:0 0 12px}h2{margin:0;font-size:21px}.lead{max-width:780px;margin:0;color:var(--muted);line-height:1.7}.notice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:25px}.notice-grid div{padding:14px 15px;border-radius:14px;background:var(--soft);border:1px solid #e2ece8}.notice-grid strong,.notice-grid span{display:block}.notice-grid strong{font-size:13px}.notice-grid span{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.45}form{display:grid;gap:18px;margin-top:20px}.form-card{padding:26px}.section-title{display:flex;gap:14px;align-items:center;margin-bottom:22px}.section-title>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--green);color:#fff;font-weight:800}.section-title p{margin:4px 0 0;color:var(--muted);font-size:13px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.span-2{grid-column:span 2}label,legend{font-size:12px;font-weight:700;color:#244957}label b,legend b{color:#c24747}input,select,textarea{width:100%;margin-top:7px;border:1px solid #cfdeda;border-radius:11px;background:#fbfdfc;color:var(--ink);font:inherit;font-size:13px;padding:12px 13px;outline:none;transition:border .18s,box-shadow .18s}textarea{resize:vertical;line-height:1.55}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(20,116,95,.12)}.choice-grid{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.choice-grid legend{grid-column:1/-1;margin-bottom:3px}.choice-grid label{display:flex;gap:11px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fbfdfc;cursor:pointer}.choice-grid input{width:auto;margin:2px 0 0;accent-color:var(--green)}.choice-grid strong,.choice-grid small{display:block}.choice-grid small{font-weight:500;color:var(--muted);margin-top:5px;line-height:1.4}.inline-error,.form-message{color:var(--danger);font-size:12px;font-weight:700}.consent-stack{display:grid;gap:10px}.consent-row,.radio-box{background:var(--soft);border:1px solid #e3ece9;border-radius:13px;padding:13px 15px}.consent-row{display:flex;align-items:flex-start;gap:10px}.consent-row input,.radio-box input{width:auto;margin:2px 0 0;accent-color:var(--green)}.radio-box{display:flex;gap:24px;align-items:center}.radio-box legend{float:left;margin-right:18px}.radio-box label{display:flex;gap:7px;align-items:center}.submit-card{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:24px;border-top:4px solid var(--gold)}.submit-card p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.submit-card button,.success-panel button{border:0;border-radius:12px;background:var(--green);color:#fff;font-weight:800;padding:14px 20px;cursor:pointer;white-space:nowrap}.submit-card button:hover,.success-panel button:hover{background:var(--green2)}button:disabled{opacity:.6;cursor:wait}.form-message.success{color:var(--green)}.form-message.error{color:var(--danger)}.success-panel{margin-top:20px;padding:32px;text-align:center;border-top:5px solid var(--green)}.success-panel p{color:var(--muted)}.code-box{display:inline-flex;flex-direction:column;gap:5px;margin:15px auto 22px;padding:15px 24px;border:1px dashed var(--green);border-radius:14px;background:var(--soft)}.code-box span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.code-box strong{font-size:19px}.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}footer{text-align:center;color:#6c8189;font-size:11px;margin-top:22px}@media(max-width:720px){.page-shell{width:min(100% - 18px,1040px);margin-top:12px}.hero-card,.form-card{padding:20px}.brand-row{align-items:flex-start}.brand-logo{width:64px;height:64px;min-width:64px}.notice-grid,.form-grid,.choice-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.submit-card{align-items:stretch;flex-direction:column}.submit-card button{width:100%}.radio-box{align-items:flex-start;flex-direction:column;gap:10px}.radio-box legend{float:none}.notice-grid{gap:8px}}

/* Editable payment and custom-question additions */
.closed-panel{background:#fff;border:1px solid var(--line);border-top:5px solid var(--danger);border-radius:20px;padding:30px;margin-top:18px;text-align:center;box-shadow:0 18px 50px rgba(9,53,70,.08)}
.closed-panel h2{margin:4px 0 8px}.closed-panel p:last-child{color:var(--muted);line-height:1.6}
.payment-card{border-top:4px solid var(--gold)}
.payment-instruction-box{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;background:linear-gradient(135deg,#fff9e9,#f7fbf9);border:1px solid #ead59d;border-radius:15px;padding:16px;margin-bottom:18px}
.payment-instruction-box div{background:#fff;border:1px solid #e3ece9;border-radius:11px;padding:12px}
.payment-instruction-box span,.payment-instruction-box strong{display:block}.payment-instruction-box span{font-size:10px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.06em}.payment-instruction-box strong{font-size:17px;margin-top:5px;overflow-wrap:anywhere}.payment-instruction-box p{grid-column:1/-1;margin:0;color:#526c75;font-size:12px;line-height:1.6}
.payment-warning{margin:12px 0 0;color:#8a5b08;font-size:11px;font-weight:700}
.custom-question-list{display:grid;gap:14px}.custom-question{display:grid;gap:7px;font-size:12px;font-weight:700}.custom-question input,.custom-question textarea,.custom-question select{width:100%;border:1px solid #cddbd7;border-radius:10px;padding:12px;background:#fbfdfc;color:var(--ink)}
.custom-choice{border:1px solid var(--line);border-radius:13px;padding:14px;display:flex;gap:18px;flex-wrap:wrap}.custom-choice legend{font-size:12px;font-weight:700;padding:0 6px}.custom-choice label{display:flex;align-items:center;gap:7px;font-size:12px}.custom-choice input{width:auto;accent-color:var(--green)}
@media(max-width:720px){.payment-instruction-box{grid-template-columns:1fr}.payment-instruction-box p{grid-column:auto}}

/* Membership + Executive Body integration */
.executive-card{border-top:4px solid var(--navy)}
.executive-interest-box{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:12px}
.executive-interest-box legend{grid-column:1/-1;float:none;margin:0 0 2px}
.executive-interest-box label{border:1px solid var(--line);border-radius:12px;background:#fbfdfc;padding:13px;align-items:flex-start}
.executive-position-panel{margin-top:18px;padding:18px;border:1px solid #cfdeda;border-radius:15px;background:linear-gradient(135deg,#f0f7f4,#fff)}
.executive-instructions{margin:0 0 16px;color:var(--muted);font-size:12px;line-height:1.65}
.position-grid label{min-height:112px}
.position-grid em{display:block;margin-top:4px;color:var(--green);font-size:10px;font-style:normal;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
@media(max-width:720px){.executive-interest-box{grid-template-columns:1fr}.executive-interest-box legend{grid-column:auto}.position-grid label{min-height:auto}}

/* Direct Member / Executive Body position selection */
.application-position-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.application-position-grid label{min-height:118px;align-items:flex-start;transition:border-color .18s,box-shadow .18s,transform .18s}
.application-position-grid label:has(input:checked){border-color:var(--green);box-shadow:0 0 0 3px rgba(20,116,95,.12);transform:translateY(-1px);background:#f3faf7}
.application-position-grid input[type="radio"]{flex:0 0 auto}
.application-position-grid .member-position-card{border-color:#d5b15a;background:#fffaf0}
@media(max-width:720px){.application-position-grid{grid-template-columns:1fr}.application-position-grid label{min-height:auto}}
