/* Dream Labs · Ashby job board custom CSS */

:root{
  /* Ashby's own variables */
  --fontFamily:"Walla","DM Sans",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --colorAppBackground:#FDF9EB;
  --widthMaxJobBoard:1080px;
  --borderRadiusContainer:0px;
  --borderRadiusControl:999px;
  --borderRadiusButton:999px;

  /* Dream Labs tokens */
  --dl-fg:#1E1E1C;
  --dl-muted:#6F6B60;
  --dl-line:#E4DEC8;
  --dl-blue:#9CC9F6;
  --dl-orange:#F2B57A;
  --dl-pink:#F0A9A9;
  --dl-green:#93E08B;
}

body{
  background:var(--colorAppBackground);
  color:var(--dl-fg);
  font-family:var(--fontFamily);
  font-size:17px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}

/* ---------- Job board (list) ---------- */
.ashby-job-board-heading{
  font-size:56px;
  font-weight:500;
  letter-spacing:-.03em;
  line-height:1;
  margin-bottom:32px;
}
.ashby-department-heading{
  font-size:15px;
  font-weight:500;
  color:var(--dl-muted);
  letter-spacing:.02em;
  text-transform:uppercase;
  border-bottom:1px solid var(--dl-line);
  padding-bottom:14px;
  margin-top:56px;
}
.ashby-job-board-filters-label{color:var(--dl-muted);font-size:15px}
.ashby-job-board-filter{
  border:1px solid var(--dl-line);
  background:transparent;
  border-radius:999px;
  font-family:var(--fontFamily);
}

.ashby-job-posting-brief{
  padding:22px 0;
  border-bottom:1px solid var(--dl-line);
  background:transparent;
  box-shadow:none;
  border-radius:0;
}
.ashby-job-posting-brief-list a > div{margin-bottom:0}
.ashby-job-posting-brief-title{
  font-size:24px;
  font-weight:500;
  letter-spacing:-.02em;
  display:flex;
  align-items:center;
  gap:14px;
}
/* blob bullet before each title; color cycles */
.ashby-job-posting-brief-title::before{
  content:"";
  width:14px;height:14px;flex:none;
  background:var(--dl-green);
  border-radius:40% 60% 55% 45%;
  transition:transform .2s ease;
}
.ashby-job-posting-brief:nth-child(4n+2) .ashby-job-posting-brief-title::before{background:var(--dl-blue);border-radius:55% 45% 40% 60%}
.ashby-job-posting-brief:nth-child(4n+3) .ashby-job-posting-brief-title::before{background:var(--dl-pink);border-radius:45% 55% 60% 40%}
.ashby-job-posting-brief:nth-child(4n+4) .ashby-job-posting-brief-title::before{background:var(--dl-orange);border-radius:60% 40% 45% 55%}
.ashby-job-posting-brief:hover .ashby-job-posting-brief-title::before{transform:scale(1.15)}
.ashby-job-posting-brief-details{color:var(--dl-muted);font-size:15px;margin-top:4px}

/* ---------- Job posting (detail) ---------- */
.ashby-job-board-back-to-all-jobs-button{
  color:var(--dl-muted);
  font-size:15px;
  background:transparent;
  border:0;
}
.ashby-job-posting-heading{
  font-size:38px;
  font-weight:500;
  letter-spacing:-.03em;
  line-height:1.05;
}
.ashby-job-posting-left-pane{
  background:transparent;
  border:0;
  box-shadow:none;
}
.ashby-job-posting-left-pane h2{
  font-size:15px;
  font-weight:500;
  color:var(--dl-muted);
  letter-spacing:.02em;
  text-transform:uppercase;
  margin:0 0 8px;
}
.ashby-job-posting-left-pane p{color:var(--dl-muted);font-size:15px}

.ashby-job-posting-right-pane{
  background:transparent;
  border:0;
  box-shadow:none;
  max-width:62ch;
}
.ashby-job-posting-right-pane nav{border-bottom:1px solid var(--dl-line)}
.ashby-job-posting-right-pane-overview-tab,
.ashby-job-posting-right-pane-application-tab{
  font-family:var(--fontFamily);
  font-size:15px;
  color:var(--dl-muted);
}

/* Description body: section headings and blob bullets.
   In the Ashby editor, write section titles as Heading 2 and lists as bullets. */
.ashby-job-posting-right-pane h2{
  font-size:15px;
  font-weight:500;
  color:var(--dl-muted);
  letter-spacing:.02em;
  text-transform:uppercase;
  margin:44px 0 12px;
}
.ashby-job-posting-right-pane p{font-size:19px;margin:0 0 14px}
.ashby-job-posting-right-pane ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.ashby-job-posting-right-pane li{position:relative;padding-left:28px;font-size:18px}
.ashby-job-posting-right-pane li::before{
  content:"";position:absolute;left:0;top:.5em;width:12px;height:12px;
  background:var(--dl-green);border-radius:40% 60% 55% 45%;
}
.ashby-job-posting-right-pane li:nth-child(4n+2)::before{background:var(--dl-blue);border-radius:55% 45% 40% 60%}
.ashby-job-posting-right-pane li:nth-child(4n+3)::before{background:var(--dl-pink);border-radius:45% 55% 60% 40%}
.ashby-job-posting-right-pane li:nth-child(4n+4)::before{background:var(--dl-orange);border-radius:60% 40% 45% 55%}

/* ---------- Buttons ---------- */
button, .ashby-application-form-field-entry button{
  font-family:var(--fontFamily);
  border-radius:999px;
}
button[type="submit"], .ashby-application-form-autofill-input-base-layer button{
  background:var(--dl-fg);
  color:var(--colorAppBackground);
  border:0;
  padding:14px 22px;
  font-weight:500;
  font-size:16px;
}
button:hover{opacity:.9}

/* ---------- Application form ---------- */
.ashby-application-form-container{background:transparent;border:0;box-shadow:none}
.ashby-application-form-question-title{font-weight:500}
input, textarea, select{
  font-family:var(--fontFamily);
  border:1px solid var(--dl-line);
  background:#fff;
  border-radius:12px;
}
.ashby-application-form-success-container h2{font-size:38px;font-weight:500;letter-spacing:-.03em}

footer{color:var(--dl-muted);font-size:15px}
