/* jobs.yedu.coffee — same paper / ink / olive palette as yedu.coffee */
:root{
  --paper:#F4EEE1; --sand:#EADFC6; --card:#FBF7EE; --ink:#241A15; --ink-2:#4A3B31;
  --muted:#7A6A5C; --line:#D8CBB0; --olive:#4B5A3C; --olive-2:#3B4830; --brown:#6B4A2E;
  --dark:#2A1F1A; --on-dark:#F4EEE1; --err:#B23A2B; --ok:#3F6B3A; --warn:#9A6B12;
  --radius:14px; --max:1120px;
  --f-display:"Bricolage Grotesque",system-ui,sans-serif;
  --f-body:"Archivo",system-ui,sans-serif;
  --f-mono:"Space Mono",ui-monospace,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--f-body)}
a{color:var(--olive)} a:hover{color:var(--olive-2)}
img{max-width:100%}
code{font-family:var(--f-mono);font-size:.85em;background:var(--sand);padding:.05em .35em;border-radius:4px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 16px}
@media(min-width:700px){.wrap{padding:0 28px}}
.narrow{max-width:760px}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:var(--card);padding:8px 12px;z-index:10}

/* header */
.site-head{background:var(--sand);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.nav{display:flex;align-items:center;gap:16px;min-height:68px;flex-wrap:wrap}
.brand{text-decoration:none;color:var(--ink);display:flex;align-items:baseline;gap:10px}
.wordmark{font:800 1.45rem/1 var(--f-display);letter-spacing:-.01em}
.wordmark b{color:var(--olive);font-weight:800}.wordmark i{color:var(--brown);font-style:normal}
.brand-sub{font:400 .78rem var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.nav-links{margin-left:auto;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.nav-links a{color:var(--ink);text-decoration:none;font-weight:500}
.nav-links a:hover,.nav-links a[aria-current]{color:var(--olive)}
.lang-toggle{font:400 .8rem var(--f-mono)!important;letter-spacing:.14em;text-transform:uppercase}
.nav-cta{background:var(--olive);color:var(--on-dark)!important;padding:.5rem 1rem;border-radius:999px}
@media(max-width:640px){.hide-sm{display:none}.nav{padding:8px 0}.nav-links{gap:12px}}

/* hero */
.hero{background:var(--dark);color:var(--on-dark);padding:64px 0 56px}
.hero a{color:var(--sand)}
.eyebrow{font:400 .8rem var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:#CDBE9E;margin:0 0 18px}
.eyebrow a{text-decoration:none}
.hero h1{font:800 clamp(2.2rem,6vw,4rem)/1.02 var(--f-display);letter-spacing:-.02em;margin:0 0 18px;max-width:18ch}
.lede{font-size:1.12rem;max-width:62ch;margin:0;opacity:.92}
.facts{display:flex;flex-wrap:wrap;gap:12px 28px;margin:28px 0 0}
.facts div{min-width:0}.facts dt{font:400 .72rem var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:#CDBE9E}
.facts dd{margin:2px 0 0;font-weight:600}

/* bands + sections */
.band{padding:56px 0 72px}
.sec-title{font:800 clamp(1.6rem,3.4vw,2.3rem)/1.1 var(--f-display);letter-spacing:-.01em;margin:0 0 24px}
.count{font:400 .9rem var(--f-mono);color:var(--muted);vertical-align:middle;margin-left:6px}
.empty{font-size:1.1rem;max-width:60ch}
.muted{color:var(--muted);font-size:.9rem}

/* job list */
.job-list{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.job-card a{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s}
.job-card a:hover{border-color:var(--olive);transform:translateY(-1px)}
.job-card h3{font:700 1.35rem/1.2 var(--f-display);margin:0 0 8px}
.job-meta{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0 0 10px;color:var(--ink-2);font-size:.92rem}
.job-meta b{font:400 .7rem var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-right:4px}
.job-sum{margin:0 0 12px;max-width:70ch}
.job-go{color:var(--olive);font-weight:600}
.open-app{margin-top:40px;display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--sand);border-radius:var(--radius);padding:24px}
.open-app h3{font:700 1.25rem var(--f-display);margin:0 0 4px}.open-app p{margin:0}

/* job page */
.job-grid{display:grid;gap:32px;grid-template-columns:1fr}
@media(min-width:960px){.job-grid{grid-template-columns:7fr 5fr;align-items:start}.job-grid .card#apply{position:sticky;top:90px}}
.job-body h3{font:700 1.25rem var(--f-display);margin:1.6em 0 .4em}
.job-body h3:first-child{margin-top:0}
.job-body ul{padding-left:1.2rem}.job-body li{margin:.25em 0}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:20px}
.card h2{font:700 1.35rem var(--f-display);margin:0 0 16px}
.narrow-card{max-width:520px;margin:24px auto}
.preview-bar{background:var(--warn);color:#fff;padding:10px 16px;text-align:center}.preview-bar a{color:#fff}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.4em;font:600 1rem var(--f-body);padding:.75rem 1.3rem;border-radius:999px;border:1.5px solid transparent;cursor:pointer;text-decoration:none;line-height:1.2}
.btn-primary{background:var(--olive);color:var(--on-dark)}.btn-primary:hover{background:var(--olive-2);color:var(--on-dark)}
.btn-ghost{background:transparent;border-color:currentColor;color:var(--ink)}
.btn-danger{background:transparent;border-color:var(--err);color:var(--err)}
.btn-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}

/* forms */
.apply{display:grid;gap:16px}
.f-row{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:620px){.f-row{grid-template-columns:1fr 1fr}}
.f{display:flex;flex-direction:column;gap:6px;min-width:0}
.f label{font-weight:600;font-size:.92rem}.f label small{font-weight:400;color:var(--muted)}
.f input,.f select,.f textarea,.filters select{font:inherit;color:var(--ink);background:#fff;width:100%;border:1px solid var(--line);border-radius:8px;padding:.65rem .8rem}
.f textarea{min-height:8rem;resize:vertical}
.f input:focus,.f select:focus,.f textarea:focus{outline:2px solid var(--olive);outline-offset:1px;border-color:var(--olive)}
.f [aria-invalid="true"]{border-color:var(--err)}
.f-hint{font-size:.84rem;color:var(--muted)}
.f-err{font-size:.86rem;color:var(--err)}
.consent{display:flex;gap:.6rem;align-items:flex-start;font-weight:400!important;font-size:.88rem!important;line-height:1.5}
.consent input{width:1.1rem;height:1.1rem;margin-top:.2rem;flex:none}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.banner{padding:12px 16px;border-radius:10px;margin:0 0 16px;border:1px solid}
.banner.is-ok{background:#E6EFE1;border-color:#B9CFAF;color:var(--ok)}
.banner.is-err{background:#F6E2DE;border-color:#E3B4AB;color:var(--err)}
.banner.is-warn{background:#F7EBD2;border-color:#E2C88E;color:var(--warn)}

/* footer */
.site-foot{border-top:1px solid var(--line);padding:28px 0;color:var(--muted);font-size:.9rem}
.foot{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center}
.foot .wordmark{font-size:1rem}
.foot nav{margin-left:auto;display:flex;gap:16px;flex-wrap:wrap}.foot nav a{color:var(--ink-2)}

/* admin */
.admin .band{padding-top:32px}
.admin-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.admin-top .sec-title{margin:0}
.table-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px}
.tbl{width:100%;border-collapse:collapse;font-size:.95rem}
.tbl th{text-align:left;font:400 .72rem var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:12px 14px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl tr:last-child td{border-bottom:0}
.tbl tr.is-new td{background:#FFF9EA}
.tbl .strong{font-weight:600;color:var(--ink)}
.actions{white-space:nowrap}
.inline{display:inline}
.linkish{background:none;border:0;padding:0 0 0 10px;font:inherit;color:var(--olive);cursor:pointer;text-decoration:underline}
.nav-links .linkish{color:var(--ink);text-decoration:none;font-weight:500;padding:0}
.linkish.danger{color:var(--err)}
.badge{display:inline-block;font:700 .7rem var(--f-mono);letter-spacing:.08em;text-transform:uppercase;padding:.2rem .55rem;border-radius:999px;background:var(--sand);color:var(--ink-2);white-space:nowrap}
.b-published,.b-hired{background:#DDEAD5;color:var(--ok)}
.b-new{background:#FCE7B8;color:#7A5200}
.b-interview,.b-offer{background:#DCE4F0;color:#2E4A72}
.b-closed,.b-rejected,.b-expired{background:#EADBD6;color:#7A3B2E}
.pill{display:inline-block;background:var(--olive);color:#fff;font:700 .7rem var(--f-mono);padding:.1rem .45rem;border-radius:999px;vertical-align:middle}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.filters select{width:auto;min-width:200px}
.kv{display:grid;gap:10px;margin:0 0 20px}
.kv div{display:grid;grid-template-columns:180px 1fr;gap:12px}
@media(max-width:560px){.kv div{grid-template-columns:1fr;gap:0}}
.kv dt{font:400 .74rem var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-top:.2em}
.kv dd{margin:0;word-break:break-word}
.msg{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;white-space:normal}
.edit-form .card{margin-bottom:0}
