/* Client story page (/client/<alias>) — Talent Hunts redesign, Oct 2026.
   Uses the shared tokens from th-site.css (--th-green, --th-ink, ...). */

/* ---------- hero: same frame as the other pages, plus an eyebrow ---------- */
.cs-page .pg-hero { aspect-ratio: auto; min-height: 460px; align-items: center; }
.cs-page .pg-hero__inner { padding-bottom: 104px; }
.cs-page .pg-hero__content { max-width: 680px; }
/* story photos are smaller than the page banners: a fuller green layer keeps them soft and the text readable */
.cs-page .pg-hero { background-size: cover; background-position: center; }
.cs-page .pg-hero__overlay { background: linear-gradient(90deg, rgba(15, 61, 36, .93) 0%, rgba(15, 61, 36, .8) 45%, rgba(15, 61, 36, .45) 100%); }
.cs-eyebrow {
    display: inline-flex; align-items: center; gap: 8px; margin: 0 0 14px;
    padding: 5px 12px; border-radius: 999px; background: rgba(255, 255, 255, .14);
    font-size: 13px; line-height: 18px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #fff;
}
.cs-eyebrow:before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #7FD3A0; }
.cs-page .pg-hero h1 { margin-bottom: 0; }

/* ---------- metrics: a white card overlapping the bottom of the hero ---------- */
.cs-metrics {
    position: relative; z-index: 3; max-width: 1080px; margin: -72px auto 0; padding: 0 24px;
}
.cs-metrics__card {
    display: grid; grid-template-columns: repeat(var(--cs-cols, 3), minmax(0, 1fr));
    border-radius: 16px; background: #fff; box-shadow: 0 16px 48px rgba(15, 61, 36, .14);
}
.cs-metric { padding: 28px 24px; text-align: center; }
.cs-metric + .cs-metric { border-left: 1px solid var(--th-line); }
.cs-metric__num {
    display: block; font-family: "Muli", "Mulish", sans-serif; font-size: 46px; line-height: 1.05; font-weight: 800;
    color: var(--th-green-700); letter-spacing: -.01em;
}
.cs-metric__num small { margin-left: 4px; font-size: 20px; font-weight: 700; color: var(--th-green); }
.cs-metric__label { display: block; margin-top: 8px; font-size: 14px; line-height: 20px; font-weight: 600; color: var(--th-muted); text-transform: uppercase; letter-spacing: .05em; }

/* ---------- testimonial ---------- */
.cs-quote { max-width: 880px; margin: 40px auto 0; padding: 0 24px; text-align: center; }
.cs-quote__mark { display: block; width: 48px; height: 48px; margin: 0 auto 12px; color: var(--th-green); }
.cs-quote blockquote { margin: 0; padding: 0; border: 0; }
.cs-quote blockquote p {
    margin: 0; font-family: "Muli", "Mulish", sans-serif; font-size: 26px; line-height: 38px; font-weight: 700; color: var(--th-ink);
}
.cs-quote figcaption { margin-top: 18px; font-size: 15px; line-height: 22px; color: var(--th-muted); }
.cs-quote figcaption strong { color: var(--th-ink); }

/* ---------- details: industry, job function, level, location ---------- */
.cs-facts { max-width: 1080px; margin: 32px auto 0; padding: 0 24px; }
.cs-facts dl {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 0;
    border-top: 1px solid var(--th-line); border-bottom: 1px solid var(--th-line);
}
.cs-fact { display: flex; gap: 14px; align-items: flex-start; padding: 22px 20px; }
.cs-fact + .cs-fact { border-left: 1px solid var(--th-line); }
.cs-fact__icon {
    flex: none; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px;
    border-radius: 10px; background: var(--th-green-50); color: var(--th-green-700);
}
.cs-fact__icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.cs-fact dt { margin: 0 0 2px; font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--th-muted); }
.cs-fact dd { margin: 0; font-size: 16px; line-height: 22px; font-weight: 600; color: var(--th-ink); }

/* ---------- story body ---------- */
.cs-body { max-width: 1080px; margin: 0 auto; padding: 48px 24px 0; }
.cs-sec { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 40px; padding: 0 0 32px; }
.cs-sec + .cs-sec { padding-top: 32px; border-top: 1px solid var(--th-line); }
.cs-sec__head h2 {
    position: sticky; top: 96px; margin: 0; font-size: 32px; line-height: 40px; font-weight: 700; color: var(--th-ink);
}
.cs-sec__head h2:before { content: ""; display: block; width: 40px; height: 4px; margin-bottom: 12px; border-radius: 2px; background: var(--th-green); }

/* text (shared by body and the grey band) */
.cs-text { font-size: 14px; line-height: 24px; color: var(--th-ink); }
.cs-text p { margin: 0 0 14px; text-align: justify; -webkit-hyphens: auto; hyphens: auto; }
.cs-text > :last-child { margin-bottom: 0; }
.cs-text h3 { margin: 24px 0 10px; font-size: 19px; line-height: 27px; font-weight: 700; color: var(--th-ink); }
.cs-text h3:first-child { margin-top: 0; }
.cs-text h4 { margin: 20px 0 8px; font-size: 16px; line-height: 24px; font-weight: 700; }
.cs-text strong, .cs-text b { font-weight: inherit; color: inherit; }
.cs-text a { color: var(--th-green-700); font-weight: inherit; text-decoration: underline; text-underline-offset: 3px; }
.cs-text ul { margin: 0 0 16px; padding: 0; list-style: none; }
.cs-text ul li { position: relative; margin: 0 0 8px; padding-left: 28px; }
.cs-text ul li:before {
    content: ""; position: absolute; left: 0; top: 3px; width: 18px; height: 18px; border-radius: 50%;
    background: var(--th-green-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.5l2.6 2.6L14 7.6' fill='none' stroke='%231F6B3E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 18px no-repeat;
}
.cs-text ol { margin: 0 0 16px; padding-left: 22px; }
.cs-text ol li { margin: 0 0 8px; padding-left: 6px; }
.cs-text blockquote {
    margin: 20px 0; padding: 16px 20px; border: 0; border-left: 4px solid var(--th-green); border-radius: 0 10px 10px 0;
    background: var(--th-green-50); font-family: "Inter", system-ui, sans-serif; font-size: 16px; line-height: 26px; font-weight: 400; font-style: italic; color: var(--th-green-900);
}
.cs-text blockquote p { margin: 0; text-align: left; }
.cs-text img { display: block; max-width: 100%; height: auto; margin: 20px 0; border-radius: 12px; }

/* ---------- How Talent Hunts Helped: grey band, numbered steps ---------- */
.cs-help { margin-top: 16px; padding: 48px 24px; background: var(--th-surface-alt); }
.cs-help__inner { max-width: 1080px; margin: 0 auto; }
.cs-help__head { max-width: 760px; margin: 0 auto 28px; text-align: center; }
.cs-help__head .cs-kicker { display: block; margin-bottom: 8px; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--th-green-700); }
.cs-help__head h2 { margin: 0; font-size: 32px; line-height: 40px; font-weight: 700; color: var(--th-ink); }
.cs-help .cs-text { max-width: 860px; margin: 0 auto; counter-reset: cs-step; }
.cs-help .cs-step {
    position: relative; margin: 0 0 16px; padding: 24px 28px 24px 84px; border-radius: 14px; background: #fff;
    box-shadow: 0 2px 10px rgba(15, 61, 36, .05);
}
.cs-help .cs-step:last-child { margin-bottom: 0; }
.cs-help .cs-step:before {
    counter-increment: cs-step; content: counter(cs-step, decimal-leading-zero);
    position: absolute; left: 24px; top: 22px; display: flex; align-items: center; justify-content: center;
    width: 40px; height: 40px; border-radius: 10px; background: var(--th-green-700); color: #fff;
    font-family: "Muli", "Mulish", sans-serif; font-size: 16px; font-weight: 800;
}
.cs-help .cs-step h3 { margin-top: 0; }
.cs-help .cs-step > :last-child { margin-bottom: 0; }
.cs-help .cs-step blockquote { background: var(--th-surface-alt); }

/* ---------- CTA ---------- */
.cs-cta { padding: 0 10px; margin-top: 10px; }
.cs-cta__box {
    position: relative; overflow: hidden; padding: 48px 24px; border-radius: 16px; text-align: center; color: #fff;
    /* handshake photo under a dark green layer */
    background: linear-gradient(rgba(15, 61, 36, .86), rgba(15, 61, 36, .86)), url("../images/th/cta-handshake.jpg") center / cover no-repeat;
    background-color: var(--th-green-900);
}
.cs-cta__in { position: relative; max-width: 720px; margin: 0 auto; }
.cs-page .cs-cta h2 { margin: 0 0 12px; font-size: 32px; line-height: 40px; font-weight: 700; color: #fff; }
.cs-cta p { margin: 0 auto; max-width: 600px; font-size: 16px; line-height: 26px; color: #fff; }
.cs-cta__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 16px; margin-top: 24px; }
.cs-page .cs-cta .th-btn--ghost { background: transparent; border: 1.5px solid #fff; }
.cs-page .cs-cta .th-btn--ghost:hover { background: rgba(255, 255, 255, .14); }
.cs-page .cs-cta .th-btn--light { color: var(--th-green-900) !important; }
.cs-cta__tag { margin-top: 20px !important; font-size: 14px !important; letter-spacing: .04em; color: rgba(255, 255, 255, .9) !important; font-weight: 600; }

/* ---------- more stories ---------- */
.cs-more { max-width: 1200px; margin: 0 auto; padding: 48px 24px 64px; }
.cs-more__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 24px; margin-bottom: 24px; }
.cs-more__head h2 { margin: 0; font-size: 24px; line-height: 32px; font-weight: 700; }
.cs-more__head a { font-weight: 600; color: var(--th-green-700); }
.cs-more__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.cs-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--th-line); border-radius: 14px; background: #fff; text-decoration: none !important; transition: transform .2s ease, box-shadow .2s ease; }
.cs-card:hover { transform: translateY(-3px); box-shadow: 0 12px 32px rgba(15, 61, 36, .12); }
.cs-card img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; background: var(--th-green-50); }
.cs-card__body { padding: 18px 20px 22px; }
.cs-card__tag { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--th-green-700); }
.cs-card__title { display: block; font-family: "Muli", "Mulish", sans-serif; font-size: 18px; line-height: 25px; font-weight: 700; color: var(--th-ink); }

/* ---------- responsive ---------- */
@media (max-width: 991px) {
    .cs-sec { grid-template-columns: 1fr; gap: 16px; }
    .cs-sec { gap: 12px; }
    .cs-sec__head h2 { position: static; font-size: 26px; line-height: 34px; }
    .cs-facts dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cs-fact:nth-child(3) { border-left: 0; }
    .cs-fact:nth-child(n+3) { border-top: 1px solid var(--th-line); }
    .cs-more__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    .cs-page .pg-hero { min-height: 500px; background-position: center; }
    .cs-page .pg-hero__overlay { background: linear-gradient(180deg, rgba(15, 61, 36, .45) 0%, rgba(15, 61, 36, .8) 40%, rgba(15, 61, 36, .95) 75%); }
    .cs-page .pg-hero__inner { padding-bottom: 88px; }
    .cs-metrics { margin-top: -56px; padding: 0 16px; }
    .cs-metric { padding: 18px 8px; }
    .cs-metric__num { font-size: 30px; }
    .cs-metric__num small { font-size: 14px; margin-left: 2px; }
    .cs-metric__label { font-size: 11px; line-height: 15px; letter-spacing: .03em; }
    .cs-quote { margin-top: 32px; padding: 0 16px; }
    .cs-quote blockquote p { font-size: 20px; line-height: 30px; }
    .cs-facts { margin-top: 28px; padding: 0 16px; }
    .cs-fact { padding: 16px 10px; gap: 10px; }
    .cs-fact__icon { width: 34px; height: 34px; }
    .cs-fact dd { font-size: 15px; }
    .cs-body { padding: 32px 16px 0; }
    .cs-sec { padding-bottom: 28px; }
    .cs-sec + .cs-sec { padding-top: 28px; }
    .cs-text h3 { font-size: 18px; line-height: 26px; }
    .cs-help { padding: 32px 16px; }
    .cs-help__head h2 { font-size: 26px; line-height: 34px; }
    .cs-help .cs-step { padding: 68px 18px 20px; }
    .cs-help .cs-step:before { left: 18px; top: 18px; width: 36px; height: 36px; }
    .cs-cta { padding: 0 8px; }
    .cs-cta__box { padding: 36px 20px; border-radius: 12px; }
    .cs-page .cs-cta h2 { font-size: 26px; line-height: 34px; }
    .cs-cta__actions .th-btn { width: 100%; }
    .cs-more { padding: 32px 16px 48px; }
    .cs-more__grid { grid-template-columns: 1fr; }
}
