:root{
  --cream:#f6f2ec; --surface:#fffdf9; --surface-2:#efe8dc; --ink:#3d3d3d;
  --muted:#6f6a62; --faint:#9c9488; --hairline:#e6ddd0;
  --accent:#0c4854; --accent-strong:#0a3a44; --accent-soft:#e3ebe8;
  --orange:#e47848; --go:#5f8168; --go-soft:#e7ece3;
  --radius:10px;
  --font:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:ui-monospace,"SF Mono",Consolas,"Segoe UI Mono",monospace;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--font);line-height:1.55;-webkit-font-smoothing:antialiased;}
.wrap{max-width:940px;margin:0 auto;padding:0 1.15rem;}
a{color:var(--accent);text-decoration:none;}
a:hover{text-decoration:underline;}
.muted{color:var(--muted);}

.site-header{background:var(--surface);border-bottom:1px solid var(--hairline);position:sticky;top:0;z-index:5;}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:62px;}
.site-title{color:var(--ink);font-weight:800;font-size:1.05rem;letter-spacing:-.015em;}
.site-title:hover{text-decoration:none;color:var(--accent);}
.logo img{height:42px;width:auto;display:block;}
main.wrap{padding-top:1.6rem;padding-bottom:3rem;min-height:60vh;}
.site-footer{border-top:1px solid var(--hairline);background:var(--surface);color:var(--faint);font-size:.8rem;}
.site-footer .wrap{padding-top:1rem;padding-bottom:1rem;}

.btn{display:inline-block;padding:.7rem 1.25rem;border-radius:8px;border:1px solid var(--accent);background:var(--accent);color:#fbf7f0;font-size:.95rem;font-weight:600;cursor:pointer;}
.btn:hover{background:var(--accent-strong);border-color:var(--accent-strong);text-decoration:none;}
.btn-lg{padding:.82rem 1.6rem;font-size:1.02rem;}
.btn-ghost{background:transparent;color:var(--accent);}
.btn-ghost:hover{background:var(--accent-soft);}
.btn-orange{background:var(--orange);border-color:var(--orange);color:#fff;}
.btn-orange:hover{background:#cf6636;border-color:#cf6636;}

.hero{text-align:center;padding:1rem 0 1.4rem;}
.hero h1{font-size:clamp(1.5rem,3.5vw,2.05rem);margin:.2rem 0 .4rem;text-wrap:balance;letter-spacing:-.01em;}
.hero p{color:var(--muted);max-width:52ch;margin:0 auto;}
.screener{background:var(--surface);border:1px solid var(--hairline);border-radius:14px;padding:1.4rem clamp(1rem,3vw,1.8rem);box-shadow:0 8px 26px rgba(61,61,61,.05);}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;}
label.f{display:flex;flex-direction:column;gap:.3rem;font-size:.76rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;}
.f input,.f select,textarea{padding:.6rem .65rem;border:1px solid var(--hairline);border-radius:8px;background:var(--cream);color:var(--ink);font-size:.95rem;font-family:inherit;font-weight:400;text-transform:none;letter-spacing:0;}
.f input:focus,.f select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent);}
textarea{resize:vertical;min-height:74px;width:100%;}
.f-label{font-size:.76rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;}
.travel{margin-top:1rem;}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.45rem;}
.chip{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .7rem;border:1px solid var(--hairline);border-radius:999px;background:var(--cream);font-size:.85rem;cursor:pointer;user-select:none;}
.chip input{accent-color:var(--accent);}
.chip.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);}
.screener-actions{display:flex;align-items:center;gap:1rem;margin-top:1.4rem;flex-wrap:wrap;}
.recruit-toggle{display:flex;align-items:center;gap:.45rem;font-size:.88rem;color:var(--muted);cursor:pointer;}
.recruit-toggle input{accent-color:var(--accent);}
.trust{margin-top:1rem;font-size:.8rem;color:var(--faint);text-align:center;}

.results{margin-top:1.8rem;}
.results-head h2{font-size:1.2rem;margin:0 0 .3rem;}
.disclaimer{background:var(--go-soft);border:1px solid #d3ddce;color:#43563f;border-radius:8px;padding:.6rem .8rem;font-size:.84rem;margin:.5rem 0 1.1rem;}
.card{background:var(--surface);border:1px solid var(--hairline);border-radius:12px;padding:1rem 1.15rem;margin-bottom:.7rem;transition:border-color .12s;}
.card:hover{border-color:var(--accent);}
.card-top{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.35rem;}
.badge{padding:.12rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;}
.badge-go{background:var(--go-soft);color:var(--go);}
.badge-wait{background:var(--surface-2);color:var(--muted);}
.badge-phase{background:var(--accent-soft);color:var(--accent);}
.badge-src{background:var(--surface-2);color:var(--muted);}
.card h3{margin:.1rem 0 .4rem;font-size:1.04rem;line-height:1.3;}
.card h3 a{color:var(--ink);}
.card h3 a:hover{color:var(--accent);}
.card-meta{display:flex;flex-wrap:wrap;gap:.3rem .8rem;font-size:.85rem;color:var(--muted);}
.card-meta .cond{color:var(--faint);}
.fit{display:inline-flex;align-items:center;gap:.35rem;color:var(--go);font-weight:600;font-size:.8rem;margin-left:auto;}
.pagination{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-top:1.5rem;font-size:.92rem;}
.page-status{color:var(--muted);font-variant-numeric:tabular-nums;}

.back{font-size:.9rem;display:inline-block;margin-bottom:.9rem;}
.detail{background:var(--surface);border:1px solid var(--hairline);border-radius:14px;padding:1.5rem clamp(1rem,3vw,2rem);}
.detail .tags{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-bottom:.6rem;}
.detail h1{font-size:1.5rem;line-height:1.25;margin:.1rem 0 .4rem;text-wrap:balance;}
.lead{color:var(--muted);font-size:1rem;margin:0;}
.fit-panel{background:var(--go-soft);border:1px solid #cfdac9;border-radius:10px;padding:.9rem 1.1rem;margin:1.2rem 0;}
.fit-panel h3{margin:0 0 .5rem;font-size:1rem;color:#3f5139;}
.fit-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.3rem .9rem;font-size:.9rem;}
.fit-list li:before{content:"✓ ";color:var(--go);font-weight:700;}
.fit-note{margin:.7rem 0 0;font-size:.82rem;color:#5a6a55;}
.section{margin-top:1.6rem;border-top:1px solid var(--hairline);padding-top:1.2rem;}
.section h2{font-size:1.08rem;margin:0 0 .7rem;}
.section h3{font-size:.86rem;margin:1rem 0 .35rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;}
.elig-line{font-size:.95rem;margin:.1rem 0;}
dl.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 1.4rem;margin:0;}
dl.facts>div{padding:.5rem 0;border-bottom:1px solid var(--hairline);}
dl.facts dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);}
dl.facts dd{margin:.15rem 0 0;font-size:.94rem;}
.criteria{white-space:pre-wrap;font-family:var(--font);background:var(--cream);border:1px solid var(--hairline);border-radius:8px;padding:.85rem;font-size:.9rem;margin:.3rem 0;overflow-x:auto;}
.count{color:var(--faint);font-weight:400;font-size:.9rem;}
.table-scroll{overflow-x:auto;}
table{border-collapse:collapse;width:100%;font-size:.88rem;}
th,td{text-align:left;padding:.5rem .65rem;border-bottom:1px solid var(--hairline);vertical-align:top;}
th{color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;}
.next{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;}
.next .box{border:1px solid var(--hairline);border-radius:10px;padding:1rem;background:var(--cream);}
.next .box h3{margin:0 0 .4rem;font-size:.98rem;text-transform:none;letter-spacing:0;color:var(--ink);}
.next .box p{margin:0 0 .7rem;font-size:.86rem;color:var(--muted);}
.contact-line{font-size:.9rem;margin:.2rem 0;}
.foot-note{margin-top:1.6rem;font-size:.78rem;color:var(--faint);border-top:1px solid var(--hairline);padding-top:1rem;}

.form-card{background:var(--surface);border:1px solid var(--hairline);border-radius:14px;padding:1.5rem clamp(1rem,3vw,2rem);}
.form-card h1{font-size:1.4rem;margin:.1rem 0 .3rem;}
.form-error{background:#fbe6dd;border:1px solid #eab59f;color:#a24a26;border-radius:8px;padding:.6rem .8rem;font-size:.88rem;margin:.6rem 0;}
.step{margin-top:1.5rem;}
.step-h{display:flex;align-items:center;gap:.6rem;margin-bottom:.8rem;}
.step-n{width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fbf7f0;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;flex-shrink:0;}
.step-h h2{font-size:1.02rem;margin:0;}
.consent{background:var(--accent-soft);border:1px solid #cfe0e3;border-radius:10px;padding:1rem;margin-top:1.2rem;}
.consent label{display:flex;gap:.6rem;align-items:flex-start;font-size:.9rem;cursor:pointer;}
.consent input{margin-top:.2rem;accent-color:var(--accent);flex-shrink:0;}
.full{grid-column:1/-1;}
.req{color:var(--orange);}
.submitted{background:var(--surface);border:1px solid var(--hairline);border-radius:14px;padding:2.5rem 2rem;text-align:center;}
.submitted .tick{width:56px;height:56px;border-radius:50%;background:var(--go-soft);color:var(--go);display:flex;align-items:center;justify-content:center;font-size:1.8rem;margin:0 auto 1rem;}
.submitted h1{margin:.2rem 0;}
.submitted p{max-width:44ch;margin:.4rem auto 1.3rem;}

@media(max-width:600px){
  .next{grid-template-columns:1fr;}
  .fit{margin-left:0;}
}
