 :root {
            --green:       #2e7d46;
            --green-dark:  #1f5c32;
            --green-light: #e8f5ec;
            --text:        #111111;
            --muted:       #555555;
            --border:      #e2e2e2;
            --bg:          #ffffff;
            --offwhite:    #f7f7f7; 
        }
        *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
        body { font-family: 'Inter', sans-serif; background: var(--bg); color: var(--text); font-size: 15px; line-height: 1.6; }

        /* NAV */
        nav {
            display: flex; align-items: center; justify-content: space-between;
            padding: 0 48px; height: 72px;
            border-bottom: 1px solid var(--border);
            position: sticky; top: 0; background: #fff; z-index: 100;
        }
        .nav-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; }
        .logo-circle {
            width: 48px; height: 48px; border-radius: 50%;
            border: 2px solid var(--green);
            display: flex; align-items: center; justify-content: center;
            font-size: 1.5rem;
        }
        .nav-links { display: flex; gap: 36px; list-style: none; }
        .nav-links a { text-decoration: none; color: var(--text); font-size: .9rem; font-weight: 500; transition: color .15s; }
        .nav-links a:hover, .nav-links a.active { color: var(--green); }
        .nav-cta {
            background: var(--green); color: #fff; padding: 10px 22px;
            border-radius: 6px; font-weight: 600; font-size: .9rem;
            text-decoration: none; transition: background .15s;
        }
        .nav-cta:hover { background: var(--green-dark); }

        /* PAGE HEADER */
        .page-header { background: var(--offwhite); padding: 52px 48px 44px; border-bottom: 1px solid var(--border); }
        .breadcrumb { font-size: .8rem; color: var(--muted); margin-bottom: 10px; }
        .breadcrumb span { color: var(--green); }
        .page-header h1 { font-size: 2.2rem; font-weight: 800; line-height: 1.2; max-width: 600px; }
        .page-header p { margin-top: 10px; color: var(--muted); max-width: 540px; font-size: .95rem; }

        /* LAYOUT */
        .page-body {
            max-width: 1160px; margin: 0 auto;
            padding: 52px 48px 80px;
            display: grid; grid-template-columns: 1fr 400px; gap: 56px; align-items: start;
        }
        @media (max-width: 900px) {
            nav { padding: 0 20px; } .nav-links { display: none; }
            .page-header { padding: 36px 20px 28px; }
            .page-body { grid-template-columns: 1fr; padding: 32px 20px 60px; gap: 40px; }
        }

        .section-eyebrow { font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .1em; color: var(--green); margin-bottom: 8px; }
        .section-title { font-size: 1.35rem; font-weight: 700; margin-bottom: 20px; }

        /* POSITION CARDS */
        .positions-list { display: flex; flex-direction: column; gap: 10px; }
        .position-card { border: 1px solid var(--border); border-radius: 8px; overflow: hidden; transition: border-color .2s; }
        .position-card:hover { border-color: var(--green); }
        .position-card.open { border-color: var(--green); }
        .position-header {
            display: flex; align-items: center; justify-content: space-between;
            padding: 14px 18px; cursor: pointer; user-select: none;
            background: #fff; transition: background .15s;
        }
        .position-card.open .position-header { background: var(--green-light); }
        .pos-left { display: flex; align-items: center; gap: 12px; }
        .pos-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--border); flex-shrink: 0; transition: background .2s; }
        .position-card.open .pos-dot { background: var(--green); }
        .position-name { font-weight: 600; font-size: .93rem; }
        .chevron { font-size: .75rem; color: var(--muted); transition: transform .25s; }
        .position-card.open .chevron { transform: rotate(180deg); color: var(--green); }
        .duties { display: none; padding: 0 18px 16px; border-top: 1px solid var(--border); background: #fff; }
        .position-card.open .duties { display: block; }
        .duties ol { padding: 12px 0 12px 18px; color: var(--muted); font-size: .87rem; line-height: 1.75; }
        .apply-inline-btn {
            display: inline-flex; align-items: center; gap: 6px;
            background: var(--green); color: #fff; border: none;
            padding: 8px 16px; border-radius: 6px;
            font-size: .82rem; font-weight: 600; cursor: pointer;
            font-family: 'Inter', sans-serif; transition: background .15s;
        }
        .apply-inline-btn:hover { background: var(--green-dark); }
        .constitution-note {
            margin-top: 20px; padding: 12px 16px;
            background: var(--green-light); border-radius: 6px;
            font-size: .83rem; color: var(--muted);
        }
        .constitution-note a { color: var(--green); font-weight: 600; text-decoration: none; }
        .constitution-note a:hover { text-decoration: underline; }

        /* FORM */
        .form-card { border: 1px solid var(--border); border-radius: 10px; overflow: hidden; position: sticky; top: 84px; }
        .form-card-header { background: var(--green); padding: 22px 28px; color: #fff; }
        .form-card-header h2 { font-size: 1.1rem; font-weight: 700; }
        .form-card-header p { font-size: .83rem; opacity: .82; margin-top: 4px; }
        .form-card-body { padding: 28px; background: #fff; }

        .form-group { margin-bottom: 18px; }
        .form-group label { display: block; font-size: .78rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin-bottom: 6px; }
        .form-group input, .form-group select {
            width: 100%; padding: 10px 13px;
            border: 1.5px solid var(--border); border-radius: 6px;
            font-family: 'Inter', sans-serif; font-size: .93rem; color: var(--text);
            background: #fff; outline: none; transition: border-color .15s, box-shadow .15s; appearance: none;
        }
        .form-group input:focus, .form-group select:focus {
            border-color: var(--green); box-shadow: 0 0 0 3px rgba(46,125,70,.12);
        }
        .form-group input::placeholder { color: #bbb; }
        .select-wrap { position: relative; }
        .select-wrap::after { content: '▾'; position: absolute; right: 12px; top: 50%; transform: translateY(-50%); pointer-events: none; color: var(--muted); font-size: .8rem; }

        .gender-options { display: flex; gap: 8px; }
        .gender-pill {
            flex: 1; padding: 9px 12px; border: 1.5px solid var(--border);
            border-radius: 6px; text-align: center;
            font-size: .88rem; font-weight: 500; cursor: pointer;
            transition: border-color .15s, background .15s, color .15s;
            color: var(--muted); user-select: none;
        }
        .gender-pill.selected { border-color: var(--green); background: var(--green-light); color: var(--green); font-weight: 600; }

        .submit-btn {
            width: 100%; padding: 12px; background: var(--green); color: #fff;
            border: none; border-radius: 6px; font-family: 'Inter', sans-serif;
            font-size: .95rem; font-weight: 700; cursor: pointer;
            transition: background .15s; margin-top: 4px;
            display: flex; align-items: center; justify-content: center; gap: 8px;
        }
        .submit-btn:hover { background: var(--green-dark); }

        .req { color: #c0392b; margin-left: 2px; }
        .field-error { font-size: .75rem; color: #c0392b; margin-top: 4px; display: none; }
        .field-error.show { display: block; }
        .input-err { border-color: #c0392b !important; }

        .success-msg, .failure-message { display: none; padding: 40px 28px; text-align: center; }
        .success-icon {
            width: 52px; height: 52px; border-radius: 50%;
            background: var(--green); color: #fff; font-size: 1.4rem;
            display: flex; align-items: center; justify-content: center; margin: 0 auto 16px;
        }
        .success-msg h3, .failure-message h3 { font-size: 1.1rem; font-weight: 700; margin-bottom: 8px; }
        .success-msg p, .failure-message p { font-size: .87rem; color: var(--muted); line-height: 1.6; }
        .reset-link { margin-top: 20px; display: inline-block; color: var(--green); font-size: .85rem; font-weight: 600; cursor: pointer; text-decoration: underline; }

        /* FORM PAGE */
        .page-body.form-page {
            grid-template-columns: 1fr;
            max-width: 600px;
        }
        .form-page .form-card {
            position: static;
            border-color: var(--green);
        }

       
