/* The Hiring Desk: shared look for every page.
   Neo-brutalist: cream graph-paper background, 2px black outlines, hard offset
   shadows, Frido yellow as the only accent. Light only, on purpose: the style
   depends on black outlines on a light page. */

:root{
  /* The brand font is Gilroy, which needs a paid web licence. Outfit is the closest free match;
     to switch, change this line and the Google Fonts link on each page. */
  --font:"Outfit",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --paper:#fff9e9;
  --card:#ffffff;
  --ink:#111111;
  --ink-2:#3d3a33;
  --ink-3:#6b665b;
  --yellow:#fcd00b;
  --yellow-soft:#fff3b0;
  /* Graph paper, deliberately faint: participants read long forms on this. Lightened 38%
     from .055 after eye-strain feedback on the trial portal; do not take it back up. */
  --grid:rgba(17,17,17,.034);
  --line:#111111;
  --border:2px solid var(--line);
  --shadow:4px 4px 0 var(--line);
  --shadow-sm:2px 2px 0 var(--line);
  --radius:16px;
  --radius-sm:10px;
  --pill:999px;
  --focus:#111111;
  color-scheme:light;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{
  min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;
  background-color:var(--paper);
  background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  background-size:24px 24px;
  color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.6;overflow-x:hidden;
}
main{flex:1}
svg{flex:none}
a{color:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:6px}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* header */
header.top{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:var(--border)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
.logo{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:22px;letter-spacing:-.03em;text-decoration:none}
.logo::before{content:"";width:18px;height:18px;flex:none;background:var(--yellow);border:var(--border);border-radius:5px;box-shadow:var(--shadow-sm)}
@media (max-width:420px){.logo{font-size:19px}}

/* buttons: press into their shadow */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font:700 15px/1 var(--font);padding:13px 20px;
  background:var(--yellow);color:var(--ink);border:var(--border);border-radius:var(--radius-sm);
  box-shadow:3px 3px 0 var(--btn-shadow,var(--line));
  text-decoration:none;cursor:pointer;white-space:nowrap;
  transition:transform .12s ease,box-shadow .12s ease;
}
.btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--btn-shadow,var(--line))}
.btn:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--btn-shadow,var(--line))}
.btn.ghost{background:var(--card)}
.btn.dark{background:var(--ink);color:#fff;--btn-shadow:var(--yellow)}
.btn svg{width:17px;height:17px}
.btn[disabled]{opacity:.55;cursor:progress;transform:none}

/* small uppercase label above a headline */
.eyebrow{font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}

/* outlined surfaces */
.card{background:var(--card);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}

/* chips: "Hiring now", "No. of Positions Open" */
.chip{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;line-height:1.2;padding:6px 12px;background:var(--card);color:var(--ink);border:var(--border);border-radius:var(--pill)}
.chip b{font-weight:800}
.chip.live::before{content:"";width:8px;height:8px;border-radius:50%;background:#1fbf5b;box-shadow:0 0 0 1.5px var(--line)}

/* a hanging sign for roles that aren't open yet */
.placard{position:relative;display:inline-block;background:var(--ink);color:var(--yellow);font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:9px 18px 8px;border:var(--border);border-radius:8px;box-shadow:3px 3px 0 var(--yellow);transform:rotate(-3deg);transform-origin:left center}
.placard::before,.placard::after{content:"";position:absolute;top:5px;width:5px;height:5px;border-radius:50%;background:var(--yellow)}
.placard::before{left:6px}
.placard::after{right:6px}

/* bottom line of every page */
.legal{display:flex;justify-content:space-between;align-items:baseline;gap:6px 20px;flex-wrap:wrap;margin-top:24px;padding-top:18px;border-top:1.5px solid rgba(17,17,17,.18);color:var(--ink-3);font-size:14px}
.legal b{color:var(--ink);font-size:18px;font-weight:800;letter-spacing:-.02em;margin-right:10px}
.legal a{text-underline-offset:3px}

/* form fields */
.fld{display:block;font-weight:700;font-size:15px;min-width:0}
.fld input,.fld select,.fld textarea{font:500 16px/1.4 var(--font);color:var(--ink);background:var(--card);border:var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:12px 14px;width:100%;min-width:0;display:block;margin-top:8px;transition:box-shadow .12s ease}
.fld textarea{resize:vertical;min-height:88px}
.fld input[type=file]{padding:9px;font-size:14px}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;box-shadow:4px 4px 0 var(--line)}
.fld .bad{border-color:#b3261e;box-shadow:3px 3px 0 #b3261e}
.req{color:#b3261e}
.opt{font-weight:500;font-size:13px;color:var(--ink-3)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* input with a fixed block in front, like "+91" */
.prefix{display:flex;margin-top:8px;background:var(--card);border:var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow .12s ease}
.prefix:focus-within{box-shadow:4px 4px 0 var(--line)}
.prefix > span{display:grid;place-items:center;padding:0 14px;background:var(--yellow);border-right:var(--border);font-weight:800}
.fld .prefix input{margin:0;border:0;border-radius:0;box-shadow:none}
.fld .prefix:has(input.bad){border-color:#b3261e;box-shadow:3px 3px 0 #b3261e}

/* links candidates paste must be public (assets/link-check.js) */
.link-warn{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:12px 14px;background:var(--yellow-soft);border:var(--border);border-radius:var(--radius-sm);font-size:14px;line-height:1.45;color:var(--ink)}
.link-warn::before{content:"!";flex:none;display:grid;place-items:center;width:22px;height:22px;margin-top:-1px;border-radius:50%;background:var(--ink);color:var(--yellow);font-weight:800;font-size:14px;line-height:1}
.link-warn b{font-weight:800}
.link-ok{display:flex;gap:10px;align-items:flex-start;margin-top:10px;padding:12px 14px;background:var(--card);border:var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);font-size:14px;font-weight:700;line-height:1.45;cursor:pointer}
.link-ok[hidden]{display:none}
.link-ok input{width:20px;height:20px;accent-color:var(--ink);flex:none;margin-top:1px}
.link-ok:has(input:checked){background:var(--yellow)}
.link-ok.bad{border-color:#b3261e;box-shadow:3px 3px 0 #b3261e}

/* choose-one / choose-many pills, shared by the role pages and the pilot study form */
.pills{display:flex;flex-wrap:wrap;gap:10px}
.pills label{position:relative;cursor:pointer}
.pills input{position:absolute;opacity:0;width:1px;height:1px}
.pills span{display:inline-block;min-width:72px;text-align:center;font:700 14px/1 var(--font);padding:10px 16px;background:var(--card);border:var(--border);border-radius:var(--pill);box-shadow:var(--shadow-sm);transition:transform .12s ease,box-shadow .12s ease,background .12s ease}
.pills label:hover span{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--line)}
.pills input:checked + span{background:var(--yellow);transform:translate(2px,2px);box-shadow:0 0 0 var(--line)}
.pills input:focus-visible + span{outline:3px solid var(--focus);outline-offset:2px}
.pills.bad span{border-color:#b3261e;box-shadow:2px 2px 0 #b3261e}
