:root {
  --bg:#0a0a0a; --surface:#141416; --surface-2:#1b1b1f;
  --fg:#f5f2ee; --body:#c9c5bd; --muted:#8f8b83;
  --line:rgba(245,242,238,.12); --line-strong:rgba(245,242,238,.22);
  --accent:#a78bfa; --accent-2:#f0abfc;
  --radius:16px; --shadow:0 16px 40px rgba(0,0,0,.45);
  --grad:linear-gradient(120deg,#6366f1 0%,#a855f7 55%,#ec4899 100%);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0; color:var(--body); background:var(--bg);
  font-family:"DM Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.65; -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4 { font-family:"Space Grotesk",-apple-system,"Segoe UI",sans-serif; color:var(--fg); line-height:1.15; margin:0 0 .5rem; letter-spacing:-.01em; }
p { margin:0 0 1rem; }
a { color:var(--accent); }
.wrap { max-width:1120px; margin:0 auto; padding:0 1.5rem; }
strong { color:var(--fg); }

/* Header */
.site-header { position:sticky; top:0; z-index:20; background:rgba(10,10,10,.82); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
.header-inner { display:flex; align-items:center; gap:1.5rem; height:66px; }
.brand { font-family:"Space Grotesk",sans-serif; font-weight:700; font-size:1.2rem; text-decoration:none; color:var(--fg); letter-spacing:-.01em; }
.brand-accent { background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.brand-mark { color:var(--accent); margin-right:.35rem; }
.nav { display:flex; gap:1.4rem; margin-left:auto; }
.nav a { text-decoration:none; color:var(--body); font-weight:500; font-size:.95rem; }
.nav a:hover { color:var(--fg); }
.nav a.nav-strong { color:var(--accent); font-weight:600; }

/* Buttons */
.btn { display:inline-flex; align-items:center; gap:.5rem; background:var(--fg); color:#0a0a0a; padding:.7rem 1.3rem; border-radius:999px; text-decoration:none; font-weight:600; font-size:.95rem; border:1px solid transparent; transition:transform .12s ease, box-shadow .12s ease, opacity .12s ease; }
.btn:hover { transform:translateY(-1px); box-shadow:0 8px 22px rgba(167,139,250,.28); }
.btn .arr { transition:transform .15s ease; }
.btn:hover .arr { transform:translateX(3px); }
.btn-sm { padding:.5rem 1rem; font-size:.9rem; }
.btn-lg { padding:.9rem 1.7rem; font-size:1.02rem; }
.btn-ghost { background:transparent; color:var(--fg); border-color:var(--line-strong); }
.btn-ghost:hover { border-color:var(--accent); color:var(--fg); box-shadow:none; }

/* Hero */
.hero { position:relative; overflow:hidden; padding:5.5rem 0 5.5rem; text-align:center;
  background:radial-gradient(1100px 480px at 50% -10%, rgba(168,85,247,.22), transparent 60%),
             radial-gradient(800px 360px at 80% 10%, rgba(236,72,153,.16), transparent 60%), var(--bg); }
.hero-inner { max-width:800px; position:relative; }
.eyebrow { display:inline-block; text-transform:uppercase; letter-spacing:.16em; font-size:.78rem; font-weight:600; color:var(--fg); background:rgba(245,242,238,.08); border:1px solid var(--line); padding:.4rem .9rem; border-radius:999px; margin-bottom:1.3rem; }
.hero h1 { font-size:clamp(2.2rem,5.4vw,3.6rem); font-weight:700; }
.hero-sub { color:var(--body); font-size:1.12rem; max-width:640px; margin:1.1rem auto 2rem; }
.hero-cta { display:flex; gap:.8rem; justify-content:center; flex-wrap:wrap; }

/* Sections */
.section { padding:4.5rem 0; }
.section-soft { background:#111113; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.section-title { font-size:clamp(1.6rem,3.2vw,2.2rem); font-weight:700; text-align:center; margin-bottom:2.2rem; }
.section-title.left { text-align:left; }

/* Grid + cards */
.grid { display:grid; gap:1.2rem; }
.grid-3 { grid-template-columns:repeat(3,1fr); }
.grid-4 { grid-template-columns:repeat(4,1fr); }
.card { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:1.5rem; box-shadow:var(--shadow); }
.card h3,.card h4 { margin-bottom:.4rem; }
.card p { margin-bottom:0; color:var(--body); }

/* Steps */
.step-num { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:12px; background:var(--grad); color:#fff; font-family:"Space Grotesk"; font-weight:700; margin-bottom:.7rem; }

/* Services */
.service-lead { max-width:820px; margin:0 auto 1.6rem; }
.ticks { list-style:none; padding:0; margin:1rem 0; }
.ticks li { position:relative; padding-left:1.8rem; margin-bottom:.55rem; }
.ticks li::before { content:"✓"; position:absolute; left:0; color:var(--accent); font-weight:700; }
.ticks.two-col { columns:2; }
.price-row { border-top:1px solid var(--line); margin-top:1rem; padding-top:1rem; }
.price { font-family:"Space Grotesk"; font-size:1.7rem; font-weight:700; color:var(--fg); }
.addons { margin-top:1.4rem; }
.card-cta { background:var(--grad); color:#fff; display:flex; flex-direction:column; gap:.4rem; border:none; }
.card-cta h4 { color:#fff; } .card-cta p { color:rgba(255,255,255,.92); }
.card-cta .btn { background:#0a0a0a; color:#fff; margin-top:auto; align-self:flex-start; }

/* Why / values / about */
.why { display:grid; grid-template-columns:1.2fr 1fr; gap:2.5rem; align-items:center; }
.values { margin-top:1.5rem; }
.value h4 { color:var(--accent); }
.about-body { max-width:820px; margin:0 auto 1rem; text-align:center; font-size:1.05rem; }

/* Contact */
.contact { display:grid; grid-template-columns:1.1fr .9fr; gap:2.5rem; align-items:center; }
.contact-card p { margin-bottom:1rem; }

/* Footer */
.site-footer { background:#060606; color:var(--body); padding:2.5rem 0; margin-top:0; border-top:1px solid var(--line); }
.footer-inner { display:flex; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; align-items:center; }
.footer-brand { font-family:"Space Grotesk"; font-weight:700; font-size:1.1rem; color:var(--fg); }
.footer-tag { color:var(--muted); margin:.3rem 0 0; max-width:420px; }
.footer-right { text-align:right; }
.footer-right a { color:var(--fg); text-decoration:none; }
.muted { color:var(--muted); }

/* Positions (public) */
.positions-list { max-width:760px; margin:0 auto; }
.position-card { margin:0 0 1.1rem; }
.position-card h2 { font-size:1.35rem; }
.position-card > a { color:var(--accent); text-decoration:none; font-size:1.2rem; font-weight:600; }
.jd { white-space:pre-wrap; background:var(--surface); border:1px solid var(--line); padding:1.2rem; border-radius:var(--radius); color:var(--body); }

/* Forms */
form.apply { max-width:560px; }
form.apply label { display:block; margin:1rem 0 .35rem; font-weight:600; color:var(--fg); }
form.apply input, form.apply textarea { width:100%; padding:.7rem .85rem; border:1px solid var(--line-strong); border-radius:10px; font:inherit; background:var(--surface-2); color:var(--fg); }
form.apply input[type=file] { padding:.55rem; }
form.apply .btn { margin-top:1.2rem; }
form.apply label.check { display:flex; gap:.6rem; align-items:flex-start; font-weight:400; margin-top:1.1rem; }
form.apply label.check input[type=checkbox] { width:auto; margin-top:.2rem; flex:0 0 auto; accent-color:var(--accent, #a78bfa); }
form.apply label.check span { color:var(--muted); font-size:.93rem; line-height:1.45; }
.flash { background:rgba(167,139,250,.12); border-left:4px solid var(--accent); padding:.8rem 1rem; border-radius:8px; margin:1rem 0; }
.error { color:#fca5a5; }

/* Admin dashboard */
.admin-head { display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; }
.admin-actions { display:flex; gap:.6rem; }
.band-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:.9rem; margin:1rem 0 .3rem; }
.band-tile { display:flex; flex-direction:column; gap:.25rem; padding:1.1rem 1.15rem; border-radius:14px; text-decoration:none; border:1px solid var(--line); background:var(--surface); color:var(--fg); transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease; }
a.band-tile:hover { transform:translateY(-2px); box-shadow:var(--shadow); border-color:var(--line-strong); }
.band-name { font-size:.82rem; font-weight:600; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); }
.band-count { font-family:"Space Grotesk"; font-size:2rem; font-weight:700; line-height:1; }
.band-action { font-size:.85rem; font-weight:600; color:var(--accent); }
.band-tile.is-empty { opacity:.5; } .band-tile.is-empty .band-action { color:var(--muted); }
.band-high-match { border-top:4px solid #34d399; } .band-high-match .band-count { color:#34d399; }
.band-medium-match { border-top:4px solid #818cf8; } .band-medium-match .band-count { color:#818cf8; }
.band-low-match { border-top:4px solid #fbbf24; } .band-low-match .band-count { color:#fbbf24; }
.band-not-applicable { border-top:4px solid #94a3b8; } .band-not-applicable .band-count { color:#cbd5e1; }
.band-needs-review { border-top:4px solid #f87171; } .band-needs-review .band-count { color:#f87171; }
.band-extra { margin:.6rem 0 0; font-size:.9rem; }

/* Responsive */
@media (max-width:900px) {
  .grid-4, .grid-3 { grid-template-columns:repeat(2,1fr); }
  .band-grid { grid-template-columns:repeat(2,1fr); }
  .why, .contact { grid-template-columns:1fr; }
  .nav { display:none; }
}
@media (max-width:560px) {
  .grid-4, .grid-3 { grid-template-columns:1fr; }
  .band-grid { grid-template-columns:1fr; }
  .ticks.two-col { columns:1; }
  .footer-inner, .footer-right { text-align:left; }
}

/* --- talent pool ------------------------------------------------------- */
.tier-form { margin:0; }
.tier-row { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; justify-content:space-between; }
.tier-actions { display:flex; gap:.5rem; flex-wrap:wrap; }
.candidate-card { margin-top:1rem; }
.cand-head { display:flex; gap:1rem; align-items:flex-start; justify-content:space-between; }
.cand-head h3 { margin:0 0 .2rem; }
.cand-score { flex:0 0 auto; }
.band-tile.inline { display:inline-flex; flex-direction:column; align-items:center; padding:.5rem .9rem; min-width:auto; }
.relevance { display:inline-flex; flex-direction:column; align-items:center; padding:.5rem .9rem;
  border:1px solid var(--line-strong); border-radius:12px; background:var(--surface-2); }
.relevance-value { font-size:1.35rem; font-weight:700; line-height:1; }
.relevance-label { font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); margin-top:.25rem; }
.chip { display:inline-block; padding:.15rem .5rem; margin:.15rem .2rem .15rem 0; border-radius:999px;
  font-size:.78rem; border:1px solid var(--line-strong); }
.chip.ok { background:rgba(80,200,140,.12); border-color:rgba(80,200,140,.4); }
.chip.maybe { background:rgba(210,180,90,.12); border-color:rgba(210,180,90,.4); }
.chip.gap { background:rgba(220,120,120,.10); border-color:rgba(220,120,120,.35); color:var(--muted); }
.small { font-size:.88rem; }
.inline-form { display:inline; margin-top:.8rem; }
.form-error { padding:.7rem .9rem; border-radius:10px; border:1px solid rgba(220,120,120,.45);
  background:rgba(220,120,120,.10); }

/* --- admin visibility (2026-11-02) ------------------------------------- */
.wrap.wide { max-width:1400px; }
.admin-bar { background:var(--surface-2); border-bottom:1px solid var(--line); font-size:.9rem; }
.admin-bar-inner { display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; padding-top:.45rem; padding-bottom:.45rem; }
.admin-nav { display:flex; gap:1.1rem; }
.admin-nav a, .admin-who a { color:var(--fg); text-decoration:none; font-weight:600; }
.admin-nav a:hover, .admin-who a:hover { color:var(--accent); }
.admin-who { color:var(--muted); }
.filter-bar { display:flex; flex-wrap:wrap; gap:.8rem 1rem; align-items:flex-end; margin:1rem 0; }
.filter-bar label { display:flex; flex-direction:column; gap:.25rem; font-size:.8rem; font-weight:600; color:var(--muted); }
.filter-bar select, .filter-bar input[type=text] { padding:.45rem .6rem; border:1px solid var(--line-strong); border-radius:8px; font:inherit; background:var(--surface-2); color:var(--fg); min-width:9rem; }
.table-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }
table.data { width:100%; border-collapse:collapse; font-size:.92rem; }
table.data th { text-align:left; font-size:.75rem; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); padding:.7rem .8rem; border-bottom:1px solid var(--line-strong); white-space:nowrap; }
table.data td { padding:.7rem .8rem; border-bottom:1px solid var(--line); vertical-align:top; }
table.data tr:last-child td { border-bottom:none; }
table.data td.num { text-align:right; font-family:"Space Grotesk"; font-weight:700; font-size:1.05rem; }
table.data .nowrap { white-space:nowrap; }
table.data details.just summary { cursor:pointer; color:var(--accent); margin-top:.25rem; }
table.data details.just p { margin:.3rem 0 0; color:var(--body); max-width:48rem; }
tr.row-scoring_failed td { background:rgba(220,120,120,.06); }
tr.row-pending td { background:rgba(167,139,250,.05); }
.pill { display:inline-block; padding:.2rem .6rem; border-radius:999px; font-size:.78rem; font-weight:600; border:1px solid var(--line-strong); white-space:nowrap; }
.pill-high-match { border-color:#34d399; color:#34d399; }
.pill-medium-match { border-color:#818cf8; color:#818cf8; }
.pill-low-match { border-color:#fbbf24; color:#fbbf24; }
.pill-not-applicable { border-color:#94a3b8; color:#cbd5e1; }
.pill-needs-review { border-color:#f87171; color:#f87171; }
.pill-pending { border-color:#a78bfa; color:#a78bfa; }
.pill-failed { border-color:#f87171; color:#f87171; }
.review-form { display:flex; gap:.35rem; align-items:center; flex-wrap:wrap; }
.review-form select, .review-form input { padding:.3rem .45rem; border:1px solid var(--line-strong); border-radius:6px; font:inherit; font-size:.85rem; background:var(--surface-2); color:var(--fg); }
.review-form input { width:10rem; }
.btn-xs { padding:.3rem .6rem; font-size:.8rem; }
.btn.danger { color:#f87171; border-color:rgba(248,113,113,.5); }
.linklike { background:none; border:none; padding:0; font:inherit; color:var(--accent); cursor:pointer; text-decoration:underline; }
.position-card.is-closed { opacity:.75; }
.onetime-card { border-color:var(--accent); margin:1rem 0; }
code.onetime { display:inline-block; font-size:1.25rem; padding:.5rem .8rem; background:var(--surface-2); border:1px solid var(--line-strong); border-radius:8px; letter-spacing:.04em; user-select:all; }
.req { color:#f87171; font-weight:700; }
