*,*:before,*:after{box-sizing:border-box}*{margin:0}html{interpolate-size:allow-keywords}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p{overflow-wrap:break-word;text-wrap:pretty}h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;text-wrap:balance}#root,#app{isolation:isolate}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;color-scheme:light dark;--color-bg: #fbfbff;--color-surface: #ffffff;--color-surface-alt: #f2f5fc;--color-primary: #2f6fed;--color-primary-dark: #1f56c9;--color-primary-tint: #e8f0fe;--color-accent: #ff8a3d;--color-accent-dark: #e96f1f;--color-accent-tint: #fff1e2;--color-violet: #7c5cff;--color-violet-tint: #f1ecff;--color-teal: #12a89c;--color-teal-tint: #e1f7f5;--color-coral: #ef5f6a;--color-coral-tint: #fdecec;--color-text: #1f2433;--color-text-muted: #5c6479;--color-border: #e2e7f3;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--radius-pill: 999px;--shadow-soft: 0 8px 24px rgba(31, 36, 51, .08);--shadow-pop: 0 14px 30px rgba(47, 111, 237, .18);--ease-calm: cubic-bezier(.25, .1, .25, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1)}@media(prefers-color-scheme:dark){:root{--color-bg: #171a24;--color-surface: #1e2230;--color-surface-alt: #262b3c;--color-primary: #6d97f5;--color-primary-dark: #8fb0f8;--color-primary-tint: #24304a;--color-accent: #ffa35c;--color-accent-dark: #ffc08a;--color-accent-tint: #3b2a1a;--color-violet: #a996ff;--color-violet-tint: #2b2650;--color-teal: #4fd1c5;--color-teal-tint: #17332f;--color-coral: #ff8b93;--color-coral-tint: #3a2226;--color-text: #f1f3fa;--color-text-muted: #b7bece;--color-border: #333a4d;--shadow-soft: 0 8px 24px rgba(0, 0, 0, .35);--shadow-pop: 0 14px 30px rgba(109, 151, 245, .28)}}body{min-height:100dvh;background-color:var(--color-bg);color:var(--color-text)}a{color:var(--color-primary-dark)}.page,.page-shell{max-width:80ch;margin-inline:auto;padding:2.5rem 1.5rem 4rem}.app-shell{display:flex;flex-direction:column;min-height:100dvh}.site-header{border-top:3px solid var(--color-primary);border-image:linear-gradient(90deg,var(--color-primary),var(--color-violet),var(--color-accent)) 1;border-bottom:1px solid var(--color-border);background-color:var(--color-surface)}.site-header__inner{max-width:1100px;margin-inline:auto;padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.site-header__brand{font-size:1.25rem;font-weight:700;color:var(--color-primary-dark);background:linear-gradient(90deg,var(--color-primary),var(--color-violet));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-decoration:none}.site-header__nav{display:flex;gap:.5rem;flex-wrap:wrap}.site-header__link{color:var(--color-text-muted);text-decoration:none;padding:.5rem .9rem;border-radius:var(--radius-pill);transition:background-color .3s var(--ease-calm),color .3s var(--ease-calm)}.site-header__link:hover{background-color:var(--color-primary-tint);color:var(--color-text)}.site-header__link--active{background-color:var(--color-primary);color:#fff;font-weight:600}.button{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:var(--radius-pill);font-weight:600;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background-color .3s var(--ease-calm),border-color .3s var(--ease-calm),color .3s var(--ease-calm),transform .25s var(--ease-bounce)}.button:hover{transform:translateY(-1px)}.button:active{transform:scale(.98)}.button--primary{background-color:var(--color-primary);color:#fff}.button--primary:hover{background-color:var(--color-primary-dark)}.button--secondary{background-color:var(--color-accent-tint);color:var(--color-accent-dark)}.button--secondary:hover{background-color:var(--color-accent);color:#fff}.button--ghost{background-color:transparent;color:var(--color-text-muted);border-color:var(--color-border)}.button--ghost:hover{background-color:var(--color-surface-alt)}.field{display:flex;flex-direction:column;gap:.4rem;font-size:.95rem;color:var(--color-text-muted)}.field>span{font-weight:500;color:var(--color-text)}.field input,.field select,.field textarea{padding:.65rem .85rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text);font-size:1rem;transition:border-color .3s var(--ease-calm),box-shadow .3s var(--ease-calm)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-tint)}.field textarea{resize:vertical;font-family:inherit}.field--full{grid-column:1 / -1}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:var(--radius-pill);background-color:var(--color-primary-tint);color:var(--color-primary-dark);font-size:.8rem;font-weight:600}.badge--government{background-color:var(--color-primary-tint);color:var(--color-primary-dark)}.badge--nonprofit{background-color:var(--color-coral-tint);color:var(--color-coral)}.badge--education{background-color:var(--color-violet-tint);color:var(--color-violet)}.badge--civic{background-color:var(--color-teal-tint);color:var(--color-teal)}.landing section{padding:4rem 1.5rem;max-width:1100px;margin-inline:auto}.hero{position:relative;overflow:hidden;text-align:center;padding-top:5rem;padding-bottom:4rem;border-radius:var(--radius-lg);background:radial-gradient(480px circle at 12% 15%,var(--color-primary-tint),transparent 65%),radial-gradient(420px circle at 88% 12%,var(--color-accent-tint),transparent 60%),radial-gradient(420px circle at 50% 105%,var(--color-violet-tint),transparent 60%);animation:fade-in-up .8s var(--ease-calm)}.hero__eyebrow{color:var(--color-primary-dark);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.85rem;margin-bottom:.75rem}.hero h1{font-size:clamp(2.25rem,4vw,3.25rem);font-weight:700;line-height:1.15;margin-bottom:1.25rem}.hero__subtitle{font-size:1.15rem;color:var(--color-text-muted);max-width:60ch;margin-inline:auto;line-height:1.7}.hero__actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2.5rem}.sectors,.value-props{text-align:center}.sectors h2,.value-props h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:700;margin-bottom:2.5rem}.sectors__grid,.value-props__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;text-align:left}.sector-card,.value-prop-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-top:4px solid var(--color-border);border-radius:var(--radius-lg);padding:1.75rem;box-shadow:var(--shadow-soft);transition:transform .3s var(--ease-bounce),box-shadow .3s var(--ease-calm)}.sector-card:hover,.value-prop-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-pop)}.sector-card--government{border-top-color:var(--color-primary)}.sector-card--nonprofit{border-top-color:var(--color-coral)}.sector-card--education{border-top-color:var(--color-violet)}.sector-card--civic{border-top-color:var(--color-teal)}.sector-card h3,.value-prop-card h3{font-size:1.1rem;font-weight:700;margin-bottom:.6rem}.sector-card p,.value-prop-card p{color:var(--color-text-muted);line-height:1.6}.cta-banner{text-align:center;background:linear-gradient(135deg,var(--color-primary),var(--color-violet));border-radius:var(--radius-lg);padding:3.5rem 2rem}.cta-banner h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:700;margin-bottom:.75rem;color:#fff}.cta-banner p{color:#ffffffd9;margin-bottom:1.75rem}.cta-banner .button--primary{background-color:#fff;color:var(--color-primary-dark)}.cta-banner .button--primary:hover{background-color:var(--color-accent-tint);color:var(--color-accent-dark)}@keyframes fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.jobs-browse__header{margin-bottom:2rem}.jobs-browse__header h1{font-size:clamp(1.75rem,3vw,2.25rem);font-weight:700;margin-bottom:.5rem}.jobs-browse__header p{color:var(--color-text-muted)}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;padding:1.5rem;background-color:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:var(--radius-md);margin-bottom:1.5rem}.jobs-browse__count{color:var(--color-text-muted);margin-bottom:1.25rem;font-size:.9rem}.job-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:1.25rem}.empty-state{color:var(--color-text-muted);padding:3rem 1.5rem;text-align:center;background-color:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-md)}.job-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);transition:transform .3s var(--ease-bounce),box-shadow .3s var(--ease-calm)}.job-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-pop)}.job-card__link{display:block;padding:1.5rem 1.75rem;text-decoration:none;color:inherit}.job-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.4rem}.job-card__title{font-size:1.2rem;font-weight:700;color:var(--color-text)}.job-card__org{color:var(--color-text-muted);margin-bottom:1rem}.job-card__meta{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem}.job-card__meta div{display:flex;flex-direction:column;gap:.15rem}.job-card__meta dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.job-card__meta dd{font-weight:500}.job-card__closing{font-size:.9rem;color:var(--color-primary-dark);font-weight:600}.job-card__closing--closed{color:var(--color-text-muted)}.back-link{display:inline-block;margin-bottom:1.5rem;color:var(--color-text-muted);text-decoration:none}.back-link:hover{color:var(--color-primary-dark)}.job-detail__header{margin-bottom:2.5rem}.job-detail__header h1{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:700;margin:.75rem 0 .5rem}.job-detail__org{color:var(--color-text-muted);font-size:1.05rem;margin-bottom:1.5rem}.job-detail__meta{display:flex;flex-wrap:wrap;gap:2rem;padding:1.25rem 1.5rem;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.job-detail__meta div{display:flex;flex-direction:column;gap:.2rem}.job-detail__meta dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.job-detail__meta dd{font-weight:500}.job-detail article section{margin-bottom:2rem}.job-detail article h2{font-size:1.25rem;font-weight:700;margin-bottom:.75rem}.job-detail__text{color:var(--color-text-muted);line-height:1.7;white-space:pre-line}.job-detail__apply{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;padding-top:1rem;border-top:1px solid var(--color-border)}.new-job h1{font-size:clamp(1.75rem,3vw,2.25rem);font-weight:700;margin-bottom:.5rem}.new-job>p{color:var(--color-text-muted);margin-bottom:2rem}.job-form{display:flex;flex-direction:column;gap:1.5rem}.job-form__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem}.job-form__actions{display:flex;gap:1rem;justify-content:flex-end}.form-error{color:#a3453a;background-color:#f7e9e6;border-radius:var(--radius-sm);padding:.75rem 1rem;font-size:.9rem}@media(prefers-color-scheme:dark){.form-error{color:#f0b3a9;background-color:#3d2620}}
