@import url('https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700;800;900&display=swap');

* { box-sizing: border-box; margin: 0; padding: 0; }
html { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; scroll-behavior: smooth; text-rendering: optimizeLegibility; }
body { background: #fff; color: #151515; font-family: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.header { background: rgba(255,255,255,0.92); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.hero { background: #0a0a0a; color: #fff; }
.pill { display: inline-flex; align-items: center; border: 1px solid rgba(255,255,255,0.18); border-radius: 999px; background: rgba(255,255,255,0.08); color: #d4d4d4; font-size: 13px; font-weight: 700; padding: 7px 12px; }
.job-section { border-bottom: 1px solid #ededed; padding: 34px 0; }
.job-section:first-child { padding-top: 0; }
.job-section h2 { color: #111; font-size: 24px; font-weight: 800; letter-spacing: -0.03em; margin-bottom: 16px; }
.job-section h3 { color: #111; font-size: 17px; font-weight: 800; margin: 22px 0 10px; }
.job-section p { color: #555; font-size: 16px; line-height: 1.75; margin-bottom: 14px; }
.job-section ul { color: #555; font-size: 16px; line-height: 1.75; list-style: disc; margin-left: 22px; }
.job-section li { margin: 8px 0; padding-left: 4px; }
.apply-shell { border-top: 1px solid #dedede; padding-top: 42px; }
.form-row { margin-bottom: 22px; }
.field-label { color: #171717; display: block; font-size: 15px; font-weight: 800; margin-bottom: 7px; }
.field-description { color: #777; font-size: 13px; line-height: 1.55; margin-bottom: 9px; }
.required { color: #d92d20; }
.input, .textarea, .select { background: #fff; border: 1px solid #cfcfcf; border-radius: 4px; color: #111; display: block; font: inherit; font-size: 15px; padding: 13px 14px; transition: border-color 0.15s ease, box-shadow 0.15s ease; width: 100%; }
.textarea { min-height: 128px; resize: vertical; }
.input:focus, .textarea:focus, .select:focus { border-color: #111; box-shadow: 0 0 0 3px rgba(0,0,0,0.08); outline: none; }
.input::placeholder, .textarea::placeholder { color: #a0a0a0; }
.submit-btn { align-items: center; background: #111; border: 1px solid rgba(255, 255, 255, 0.18); border-radius: 4px; color: #fff; cursor: pointer; display: inline-flex; font-size: 15px; font-weight: 800; justify-content: center; min-height: 48px; padding: 14px 22px; text-decoration: none; transition: background 0.15s ease, transform 0.15s ease; }
.submit-btn:hover { background: #2a2a2a; transform: translateY(-1px); }
.submit-btn:disabled { background: #888; cursor: not-allowed; transform: none; }
.secondary-link { color: #666; font-size: 14px; font-weight: 700; text-decoration: none; }
.secondary-link:hover { color: #111; }
.notice { border-left: 3px solid #111; background: #f7f7f7; color: #555; font-size: 14px; line-height: 1.65; margin: 24px 0; padding: 14px 16px; }
.status { display: none; font-size: 14px; line-height: 1.6; margin-top: 16px; padding: 14px 16px; }
.status.success { background: #ecfdf3; border: 1px solid #abefc6; color: #067647; display: block; }
.status.error { background: #fef3f2; border: 1px solid #fecdca; color: #b42318; display: block; }
.choice-grid { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.choice-card { align-items: flex-start; background: #fff; border: 1px solid #d8d8d8; border-radius: 6px; color: #333; cursor: pointer; display: flex; font-size: 14px; font-weight: 650; gap: 10px; line-height: 1.45; padding: 12px; transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease; }
.choice-card:hover { background: #fafafa; border-color: #999; }
.choice-card:has(input:checked) { background: #f4f4f4; border-color: #111; box-shadow: 0 0 0 2px rgba(0,0,0,0.06); }
.choice-card input { accent-color: #111; flex: 0 0 auto; margin-top: 2px; }
.meta-list { color: #444; display: grid; gap: 14px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 36px; }
.meta-list div { border-top: 1px solid rgba(255,255,255,0.16); padding-top: 12px; }
.meta-list dt { color: #8f8f8f; font-size: 12px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.meta-list dd { color: #fff; font-size: 15px; font-weight: 800; margin-top: 4px; }
.honeypot { height: 0; left: -9999px; opacity: 0; overflow: hidden; position: absolute; top: auto; width: 0; }
@media (max-width: 768px) { .meta-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .choice-grid { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .meta-list { grid-template-columns: 1fr; } }
