/* TEE8 — careers assessment. Identity Lock 2026-08: green / deep / parchment / gold; Bodoni Moda · Quicksand · Geist Mono. */
@font-face { font-family: "Bodoni Moda"; font-weight: 600; font-display: swap; src: url(fonts/bodoni-moda-latin-600-normal.woff2) format("woff2"); }
@font-face { font-family: "Bodoni Moda"; font-weight: 800; font-display: swap; src: url(fonts/bodoni-moda-latin-800-normal.woff2) format("woff2"); }
@font-face { font-family: "Quicksand"; font-weight: 400; font-display: swap; src: url(fonts/quicksand-latin-400-normal.woff2) format("woff2"); }
@font-face { font-family: "Quicksand"; font-weight: 500; font-display: swap; src: url(fonts/quicksand-latin-500-normal.woff2) format("woff2"); }
@font-face { font-family: "Quicksand"; font-weight: 600; font-display: swap; src: url(fonts/quicksand-latin-600-normal.woff2) format("woff2"); }
@font-face { font-family: "Geist Mono"; font-weight: 400; font-display: swap; src: url(fonts/geist-mono-latin-400-normal.woff2) format("woff2"); }
@font-face { font-family: "Geist Mono"; font-weight: 500; font-display: swap; src: url(fonts/geist-mono-latin-500-normal.woff2) format("woff2"); }

:root {
  --green: #0B3B24; --deep: #072619; --parch: #F2ECDD; --gold: #C8A962; --ink: #0a0d0b;
  --parch-2: #E8E0CC; --line: rgba(11, 59, 36, .18); --muted: #4a5d52; --err: #8a2a1f; --ok: #1F7F4F;
  --display: "Bodoni Moda", "Didot", Georgia, serif;
  --body: "Quicksand", "Segoe UI", system-ui, sans-serif;
  --mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; min-height: 100vh; color: var(--parch);
  background: radial-gradient(120% 70% at 50% 0%, var(--green) 0%, var(--deep) 62%, var(--ink) 100%) fixed;
  background-color: var(--deep);
  font: 500 16px/1.6 var(--body);
}
a { color: var(--gold); }
img { max-width: 100%; height: auto; display: block; }

.top, .foot { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 22px clamp(16px, 4vw, 48px); }
.top { border-bottom: 1px solid rgba(200, 169, 98, .25); }
.brand { font: 800 26px/1 var(--display); color: var(--parch); text-decoration: none; letter-spacing: .02em; }
.top-kicker, .kicker { font: 500 12px/1.4 var(--mono); letter-spacing: .14em; text-transform: uppercase; }
.top-kicker { color: var(--gold); text-align: right; }
.foot { font: 400 12px/1.5 var(--mono); color: rgba(242, 236, 221, .6); border-top: 1px solid rgba(200, 169, 98, .2); margin-top: 64px; flex-wrap: wrap; }

.wrap { max-width: 880px; margin: 0 auto; padding: 0 16px; }
.wrap.narrow { max-width: 680px; }
.wrap.wide { max-width: 1180px; }

.hero { padding: clamp(48px, 9vw, 104px) 0 32px; }
.hero .kicker { color: var(--gold); margin: 0 0 18px; }
.hero h1 { font: 800 clamp(40px, 7.5vw, 76px)/1.02 var(--display); margin: 0 0 22px; letter-spacing: -.01em; }
.hero p.lead { font-size: clamp(17px, 2.1vw, 20px); max-width: 640px; color: rgba(242, 236, 221, .88); margin: 0; }

.steps-map { list-style: none; padding: 0; margin: 36px 0 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgba(200, 169, 98, .3); border: 1px solid rgba(200, 169, 98, .3); }
.steps-map li { background: var(--deep); padding: 16px; }
.steps-map b { display: block; font: 500 12px/1 var(--mono); color: var(--gold); letter-spacing: .12em; margin-bottom: 8px; }
.steps-map span { font: 600 18px/1.2 var(--display); }
.steps-map small { display: block; margin-top: 6px; color: rgba(242, 236, 221, .7); font-size: 13px; line-height: 1.4; }

.card { background: var(--parch); color: var(--green); padding: clamp(22px, 4vw, 44px); margin: 24px 0; border-radius: 2px; }
.card h2 { font: 800 clamp(28px, 4vw, 38px)/1.1 var(--display); margin: 6px 0 10px; }
.card h3 { font: 600 21px/1.25 var(--display); margin: 28px 0 8px; }
.card .kicker { color: #6b5520; margin: 0; }
.card p, .card li { color: #213a2d; }
.card .hint { font-size: 14px; color: var(--muted); }
.card hr { border: 0; border-top: 1px solid var(--line); margin: 28px 0; }

.notice h1 { font: 800 clamp(30px, 5vw, 44px)/1.08 var(--display); margin: 8px 0 14px; }

.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 22px; }
.field { margin: 18px 0; }
.grid2 .field { margin: 0; }
label, .label { display: block; font-weight: 600; font-size: 15px; margin-bottom: 6px; color: var(--green); }
.req::after { content: " *"; color: #8a6a22; }
input[type=text], input[type=email], input[type=tel], input[type=url], input[type=number], input[type=password], select, textarea {
  width: 100%; font: 500 16px/1.4 var(--body); color: var(--ink); background: #fbf8f0;
  border: 1px solid rgba(11, 59, 36, .35); border-radius: 2px; padding: 12px 13px; min-height: 48px;
}
textarea { min-height: 150px; resize: vertical; line-height: 1.55; }
input:focus, select:focus, textarea:focus { outline: 2px solid var(--gold); outline-offset: 1px; border-color: var(--green); }
input[type=file] { font: 500 15px var(--body); max-width: 100%; }
.invalid { border-color: var(--err) !important; background: #fbefe9 !important; }
.field-err { color: var(--err); font-size: 14px; margin-top: 6px; }
.wc { font: 400 12px var(--mono); color: var(--muted); text-align: right; margin-top: 4px; }
.wc.over { color: var(--err); }

.checks { display: flex; flex-wrap: wrap; gap: 8px; }
.checks label { display: inline-flex; align-items: center; gap: 8px; font-weight: 500; border: 1px solid var(--line); padding: 9px 12px; border-radius: 2px; cursor: pointer; margin: 0; background: #fbf8f0; }
.checks input { accent-color: var(--green); width: 18px; height: 18px; }
.consent { display: flex; gap: 10px; align-items: flex-start; font-weight: 500; }
.consent input { margin-top: 4px; width: 20px; height: 20px; accent-color: var(--green); flex: none; }

.mcq { border: 0; padding: 22px 0; margin: 0; border-top: 1px solid var(--line); }
.mcq legend { font: 600 17px/1.45 var(--body); color: var(--green); padding: 0; margin-bottom: 12px; display: flex; gap: 12px; }
.mcq legend b { font: 500 13px/1.9 var(--mono); color: #8a6a22; flex: none; }
.opt { display: flex; gap: 12px; align-items: flex-start; padding: 11px 13px; border: 1px solid var(--line); border-radius: 2px; margin: 8px 0; cursor: pointer; background: #fbf8f0; font-weight: 500; color: #213a2d; }
.opt:hover { border-color: rgba(11, 59, 36, .5); }
.opt input { margin-top: 4px; accent-color: var(--green); width: 18px; height: 18px; flex: none; }
.opt:has(input:checked) { border-color: var(--green); background: #efe7d2; box-shadow: inset 3px 0 0 var(--gold); }
fieldset.invalid { background: transparent !important; }
fieldset.invalid legend { color: var(--err); }

.sample { border: 1px solid var(--line); background: #fff; margin: 16px 0; }
.sample a { display: block; }
.sample figcaption { font: 400 12px/1.5 var(--mono); color: var(--muted); padding: 10px 12px; border-top: 1px solid var(--line); background: #fbf8f0; }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 13px 26px; border: 1px solid var(--green); background: var(--green); color: var(--parch); font: 600 16px/1 var(--body); text-decoration: none; border-radius: 2px; cursor: pointer; }
.btn:hover { background: var(--deep); }
.btn.ghost { background: transparent; color: var(--green); }
.btn.ghost:hover { background: #efe7d2; }
.btn.gold { background: var(--gold); border-color: var(--gold); color: var(--deep); }
.btn[disabled] { opacity: .55; cursor: wait; }
.nav { display: flex; justify-content: space-between; gap: 12px; margin-top: 32px; flex-wrap: wrap; }

.progress { position: sticky; top: 0; z-index: 5; background: rgba(7, 38, 25, .94); backdrop-filter: blur(6px); border-bottom: 1px solid rgba(200, 169, 98, .25); }
.progress ol { list-style: none; margin: 0 auto; padding: 12px 16px; max-width: 880px; display: flex; gap: 6px; }
.progress li { flex: 1; font: 500 11px/1.3 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: rgba(242, 236, 221, .5); padding-top: 8px; border-top: 2px solid rgba(242, 236, 221, .18); }
.progress li.on { color: var(--parch); border-color: var(--gold); }
.progress li.done { color: rgba(242, 236, 221, .8); border-color: rgba(200, 169, 98, .55); }

.stage[hidden] { display: none; }
.honey { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.clock { display: flex; gap: 22px; flex-wrap: wrap; align-items: baseline; padding: 18px 20px; border: 1px solid rgba(200, 169, 98, .45); margin: 24px 0; }
.clock .kicker { color: var(--gold); }
.clock strong { font: 800 clamp(30px, 5vw, 44px)/1 var(--display); color: var(--parch); }
.clock span { color: rgba(242, 236, 221, .75); font-size: 14px; }
.clock.late strong { color: #e0a08f; }

.deliverables { counter-reset: d; list-style: none; padding: 0; margin: 12px 0; }
.deliverables li { counter-increment: d; padding: 14px 0 14px 54px; position: relative; border-top: 1px solid var(--line); }
.deliverables li::before { content: counter(d, decimal-leading-zero); position: absolute; left: 0; top: 14px; font: 500 14px var(--mono); color: #8a6a22; }
.deliverables b { color: var(--green); }
.spec { font: 400 13px/1.5 var(--mono); color: var(--muted); }

.ok-banner { border-left: 3px solid var(--gold); padding: 4px 0 4px 16px; }
.idtag { font: 500 15px var(--mono); background: var(--green); color: var(--parch); padding: 3px 9px; letter-spacing: .06em; }

/* Reviewer dashboard */
.rv-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.rv-table th, .rv-table td { text-align: left; padding: 11px 10px; border-bottom: 1px solid var(--line); vertical-align: top; }
.rv-table th { font: 500 11px/1.3 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.rv-table a { color: var(--green); font-weight: 600; }
.table-scroll { overflow-x: auto; }
.pill { display: inline-block; font: 500 11px/1 var(--mono); letter-spacing: .06em; padding: 5px 8px; border: 1px solid var(--line); border-radius: 99px; white-space: nowrap; }
.pill.ok { border-color: var(--ok); color: var(--ok); }
.pill.warn { border-color: #a0761c; color: #7a5a14; }
.pill.bad { border-color: var(--err); color: var(--err); }
.answer { background: #fbf8f0; border: 1px solid var(--line); padding: 14px 16px; white-space: pre-wrap; color: var(--ink); font-weight: 500; }
.dl { display: grid; grid-template-columns: 200px 1fr; gap: 6px 18px; margin: 0; }
.dl dt { font: 500 12px/1.7 var(--mono); color: var(--muted); text-transform: uppercase; letter-spacing: .08em; }
.dl dd { margin: 0; color: var(--ink); word-break: break-word; }
.score-row { display: grid; grid-template-columns: 1fr 110px; gap: 12px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--line); }
.score-row input { min-height: 40px; padding: 8px 10px; }
.total { font: 800 44px/1 var(--display); color: var(--green); }
.key li { margin: 4px 0; }
.mcq-review li { margin: 6px 0; }
.right { color: var(--ok); font-weight: 600; } .wrong { color: var(--err); font-weight: 600; }

@media (max-width: 720px) {
  .grid2 { grid-template-columns: 1fr; }
  .steps-map { grid-template-columns: 1fr 1fr; }
  .progress li { font-size: 10px; letter-spacing: .04em; }
  .dl { grid-template-columns: 1fr; }
  .dl dt { margin-top: 8px; }
  .score-row { grid-template-columns: 1fr 86px; }
  .top-kicker { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; } }

.ar { display: block; margin-top: 4px; font-family: "Noto Naskh Arabic", "Geeza Pro", "Segoe UI", Tahoma, sans-serif; font-size: 18px; text-align: right; color: var(--green); }

.top-kicker a { color: inherit; text-decoration: none; }
.top-kicker a:hover { color: var(--parch); }
textarea.mono, .code { font: 400 14px/1.6 var(--mono); }
.code { background: #0f1a14; color: #e8e2d2; padding: 18px 20px; overflow-x: auto; border-radius: 2px; margin: 16px 0; white-space: pre; tab-size: 2; -webkit-text-size-adjust: 100%; }
.code .ln { color: #6f7f74; user-select: none; display: inline-block; width: 2.4em; }
.script { border: 1px solid var(--line); background: #fbf8f0; margin: 16px 0; }
.script table { width: 100%; border-collapse: collapse; font-size: 15px; }
.script th, .script td { text-align: left; vertical-align: top; padding: 11px 14px; border-bottom: 1px solid var(--line); color: #213a2d; }
.script th { font: 500 11px/1.3 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); background: #f3ecdb; }
.script td:first-child { font: 500 13px/1.5 var(--mono); color: #8a6a22; white-space: nowrap; width: 1%; }
.script .meta { padding: 12px 14px; font-size: 14px; color: var(--muted); border-bottom: 1px solid var(--line); }
@media (max-width: 720px) { .script table, .script tbody, .script tr, .script td, .script th { display: block; width: auto !important; } .script thead { display: none; } .script td:first-child { padding-bottom: 0; border-bottom: 0; } }

/* Careers listing */
.roles { list-style: none; padding: 0; margin: 8px 0 0; display: grid; gap: 1px; background: rgba(200, 169, 98, .3); border: 1px solid rgba(200, 169, 98, .3); }
.roles li { background: var(--deep); }
.roles a.role { display: grid; grid-template-columns: 56px 1fr auto; gap: 18px; align-items: center; padding: 26px 22px; color: var(--parch); text-decoration: none; transition: background .25s; }
.roles a.role:hover { background: #0d3020; }
.roles .num { font: 500 13px var(--mono); color: var(--gold); letter-spacing: .1em; }
.roles h2 { font: 800 clamp(26px, 3.4vw, 36px)/1.1 var(--display); margin: 0 0 6px; }
.roles p { margin: 0; color: rgba(242, 236, 221, .78); font-size: 15px; max-width: 560px; }
.roles .meta { display: block; margin-top: 10px; font: 400 12px/1.5 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: rgba(242, 236, 221, .55); }
.roles .go { font: 600 15px var(--body); color: var(--gold); white-space: nowrap; }
.roles .closed { opacity: .55; }
.roles .closed .go { color: rgba(242, 236, 221, .6); }
.how { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; margin: 18px 0 0; padding: 0; list-style: none; }
.how b { display: block; font: 500 12px var(--mono); color: var(--gold); letter-spacing: .12em; margin-bottom: 6px; }
.how span { color: rgba(242, 236, 221, .82); font-size: 15px; }
.rv-switch { display: flex; gap: 8px; flex-wrap: wrap; margin: 14px 0 0; }
.rv-switch a { font: 500 12px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: rgba(242, 236, 221, .7); text-decoration: none; padding: 9px 12px; border: 1px solid rgba(200, 169, 98, .35); border-radius: 99px; }
.rv-switch a.on { color: var(--deep); background: var(--gold); border-color: var(--gold); }
@media (max-width: 720px) { .roles a.role { grid-template-columns: 1fr; gap: 8px; padding: 22px 18px; } .how { grid-template-columns: 1fr 1fr; } }
.answer.code-answer { font: 400 13px/1.6 var(--mono); }
