/* index page overrides & page-specific styles */

.wrap {
  max-width: 860px;
}

h1 {
  font-size: 2.2rem;
  margin: 0 0 22px;
  letter-spacing: -0.01em;
}

h2 {
  font-size: 1.35rem;
}

.sketch-rule {
  margin: 44px 0;
}

.btn {
  font-size: 0.92rem;
  padding: 10px 20px;
}

/* ---------- hero callout ---------- */
.hero-callout {
  font-size: 1.15rem;
  font-weight: 700;
  background: #fff5a0;
  display: inline;
  padding: 2px 4px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  line-height: 1.7;
  margin: 0 0 18px;
}

.do-line {
  text-align: center;
  margin: 26px 0 4px;
}

.do-line span {
  font-size: 1.15rem;
  font-weight: 700;
  background: #fff5a0;
  padding: 4px 8px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  line-height: 1.8;
}

/* ---------- hero grid ---------- */
.hero {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 44px;
  align-items: start;
  margin-bottom: 8px;
}

@media (max-width: 620px) {
  .hero { grid-template-columns: 1fr; }
  h1 { font-size: 1.7rem; }
}

/* ---------- resume card ---------- */
.resume-card {
  background: var(--white);
  border: 2px solid var(--ink);
  padding: 20px 22px;
  filter: url(#wobble);
  position: relative;
}

.resume-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--muted);
  margin-bottom: 12px;
  border-bottom: 1px dashed var(--faint);
  padding-bottom: 8px;
}

/* ---------- job entry ---------- */
.job { margin-bottom: 12px; }
.job-period { font-size: 10px; color: var(--muted); font-weight: 700; letter-spacing: 0.05em; }
.job-title  { font-size: 0.85rem; font-weight: 700; margin: 2px 0; line-height: 1.3; }
.job-desc   { font-size: 0.8rem; color: var(--ink-mid); line-height: 1.4; }

/* ---------- oss list ---------- */
.oss-list { list-style: none; padding: 0; margin: 0; }
.oss-list li {
  font-size: 0.82rem;
  border-bottom: 1px dashed var(--faint);
  padding: 6px 0;
}
.oss-list strong { display: block; }
.oss-list a { color: var(--ink); text-decoration: underline; }

/* ---------- benefits list ---------- */
.benefits-list { list-style: none; margin: 0; padding: 0; }
.benefits-list li {
  padding: 10px 0 10px 28px;
  position: relative;
  border-bottom: 1px dashed var(--faint);
  font-size: 1.02rem;
}
.benefits-list li:last-child { border-bottom: none; }
.benefits-list li::before {
  content: '\2713';
  position: absolute;
  left: 0;
  font-weight: 700;
  color: var(--ink-mid);
}

/* ---------- case cards ---------- */
.case-card {
  background: var(--white);
  border: 2px solid var(--ink);
  padding: 20px 24px;
  margin-bottom: 18px;
  filter: url(#wobble);
}

.case-card h3 {
  border-bottom: 1px dashed var(--faint);
  padding-bottom: 8px;
  margin-bottom: 12px;
}

.case-card ul {
  margin: 0 0 10px;
  padding-left: 18px;
}

.case-card li {
  margin-bottom: 6px;
  font-size: 0.95rem;
}

.case-total {
  font-weight: 700;
  font-size: 0.92rem;
  margin-top: 12px;
  display: inline;
  background: #fff5a0;
  padding: 2px 4px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  line-height: 1.9;
}

.case-story-link {
  display: block;
  margin-top: 12px;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--ink);
  text-decoration: underline;
}

/* ---------- hero CTA box ---------- */
.hero-cta-box { margin-top: 24px; }

/* ---------- why-now / options ---------- */
.options-list {
  list-style: decimal;
  padding-left: 1.5em;
  margin: 4px 0 26px;
}
.options-list li {
  padding: 9px 0;
  border-bottom: 1px dashed var(--faint);
  font-size: 1.02rem;
  line-height: 1.5;
}
.options-list li:last-child { border-bottom: none; }
.options-list a { color: var(--ink); text-decoration: underline; }
.why-now-cta { text-align: center; margin-top: 8px; }

/* ---------- FAQ ---------- */
.faq { margin-top: 4px; }

.faq-item {
  border-bottom: 1px dashed var(--faint);
  padding: 14px 0;
}

.faq-q {
  font-weight: 700;
  font-size: 1rem;
  margin-bottom: 6px;
}

.faq-a {
  font-size: 0.95rem;
  color: var(--ink-mid);
  max-width: 72ch;
}

/* ---------- linkedin link ---------- */
.linkedin-link {
  font-size: 0.85rem;
  color: var(--ink);
  margin-top: 12px;
  display: inline-block;
}
