/* Professional Search. Tracks use minmax(0, …) and stack well before the copy
   column can be starved, which is the failure mode the other service panels
   hit at tablet widths. */

.professional-search{display:block;background:#fff;color:#2f3735}

.professional-search__section{padding:clamp(52px,6vw,92px) 0}
.professional-search__functions{background:#fff}
.professional-search__method{background:#f4f8f7}
.professional-search__cta{background:#123f37;color:#fff}

.professional-search__inner{width:min(1160px,calc(100% - 48px));margin:0 auto;box-sizing:border-box}

.professional-search__heading{max-width:760px}
.professional-search__heading h2{margin:0 0 18px;font-size:clamp(1.85rem,3.1vw,2.6rem);line-height:1.16;color:#153b34}
.professional-search__heading p{margin:0 0 16px;color:#5a6562;font-size:clamp(1rem,1.15vw,1.06rem);line-height:1.68}
.professional-search__heading p:last-child{margin-bottom:0}

.professional-search__eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 14px!important;color:#14866f;font-size:.78rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.professional-search__eyebrow::before{content:"";width:40px;height:3px;flex:0 0 40px;border-radius:3px;background:#3bceac}

/* Functions */
.professional-search__functions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px;margin:44px 0 0;padding:0;list-style:none}
.professional-search__functions-grid li{min-width:0;padding:26px 24px;border:1px solid #d7e2df;border-radius:18px;background:#fff;list-style:none;transition:border-color .24s ease,box-shadow .24s ease,transform .24s ease}
.professional-search__functions-grid li:hover{transform:translateY(-4px);border-color:#3bceac;box-shadow:0 16px 34px rgba(18,63,55,.09)}
.professional-search__functions-grid h3{margin:0 0 9px;font-size:1.14rem;line-height:1.25;color:#153b34}
.professional-search__functions-grid p{margin:0;color:#5f6a67;font-size:.94rem;line-height:1.6}

.professional-search__note{margin:34px 0 0;color:#5a6562;font-size:.98rem;line-height:1.65}
.professional-search__note a{color:#16806c;font-weight:700}

/* Methodology */
.professional-search__inner--split{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(34px,4vw,58px);align-items:start}
@media (min-width:1040px){
  .professional-search__inner--split{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}
}

.professional-search__steps{counter-reset:ps-step;display:grid;gap:16px;margin:0;padding:0;list-style:none}
.professional-search__steps li{display:flex;align-items:flex-start;min-width:0;padding:24px 26px;border:1px solid #d7e2df;border-radius:18px;background:#fff}
/* Large open step marker aligned with the top edge of each title. */
.professional-search__steps li::before{counter-increment:ps-step;content:counter(ps-step,decimal-leading-zero);display:block;align-self:flex-start;flex:0 0 clamp(82px,13vw,96px);width:clamp(82px,13vw,96px);height:auto;margin:8px clamp(18px,2.4vw,28px) 0 0;border-radius:0;background:transparent;color:#6edbc4;font-size:clamp(68px,12vw,80px);font-weight:300;line-height:.8;letter-spacing:-.055em;text-align:left}
.professional-search__steps-content{min-width:0}
.professional-search__steps h3{margin:0 0 7px;font-size:1.1rem;line-height:1.25;color:#153b34}
.professional-search__steps p{margin:0;color:#5f6a67;font-size:.95rem;line-height:1.62}

/* Closing CTA */
.professional-search__cta-inner{max-width:820px;text-align:center}
.professional-search__cta h2{margin:0 0 18px;font-size:clamp(1.85rem,3.1vw,2.5rem);line-height:1.18;color:#fff}
.professional-search__cta p{margin:0 0 16px;color:rgba(255,255,255,.86);font-size:clamp(1rem,1.15vw,1.06rem);line-height:1.7}
.professional-search__button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;margin-top:14px;padding:0 34px;border:2px solid #3bceac;border-radius:999px;background:#3bceac;color:#123f37;font-size:.82rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;transition:background .2s ease,color .2s ease}
.professional-search__button:hover,.professional-search__button:focus-visible{background:transparent;color:#fff}

@media (max-width:700px){
  .professional-search-page #thc-i-ffb3efb62d6{overflow:visible}
  .professional-search__inner{width:calc(100% - 36px)}
  .professional-search__functions-grid{display:block;margin-top:32px;padding-bottom:clamp(22px,8vw,34px);--ps-stack-top:84px;--ps-stack-step:10px}
  .professional-search__functions-grid li{position:sticky;top:calc(var(--ps-stack-top) + (var(--ps-stack-index,0) * var(--ps-stack-step)));z-index:calc(10 + var(--ps-stack-index,0));min-height:260px;margin:0 0 18px;padding:24px 22px;box-sizing:border-box;box-shadow:0 10px 26px rgba(18,63,55,.055);transform-origin:50% 0}
  .professional-search__functions-grid h3,.professional-search__functions-grid p{transition:opacity .18s ease}
  .professional-search__functions-grid li.is-scroll-past h3,.professional-search__functions-grid li.is-scroll-past p{opacity:0}
  .professional-search__functions-grid li:hover{transform:none;border-color:#d7e2df;box-shadow:0 10px 26px rgba(18,63,55,.055)}
  .professional-search__functions-grid li.is-scroll-active{border-color:#3bceac;box-shadow:0 0 0 2px rgba(59,206,172,.18),0 18px 36px rgba(18,63,55,.14);transform:translateY(-2px)}
  .professional-search__steps li{padding:22px 20px}
  .professional-search__steps li::before{margin-right:18px}
}

@media (prefers-reduced-motion:reduce){
  .professional-search__functions-grid li{transition:none}
  .professional-search__functions-grid li:hover{transform:none}
}

@media (max-width:700px) and (prefers-reduced-motion:reduce){
  .professional-search__functions-grid li{position:relative;top:auto;z-index:auto;transform:none}
  .professional-search__functions-grid h3,.professional-search__functions-grid p{transition:none}
  .professional-search__functions-grid li.is-scroll-past h3,.professional-search__functions-grid li.is-scroll-past p{opacity:1}
  .professional-search__functions-grid li.is-scroll-active{transform:none}
}

/* FAQ. The section carries id="faq", so the shared FAQ card styling in
   global.css supplies the card chrome and the +/- control; only spacing and
   the surrounding rhythm are set here. */
.professional-search__faq{background:#fff}
.professional-search__faq-inner{max-width:860px}
.professional-search__faq h2{margin:0 0 26px;font-size:clamp(1.85rem,3.1vw,2.5rem);line-height:1.16;color:#153b34}
.professional-search__faq details{margin-bottom:14px}
.professional-search__faq details:last-of-type{margin-bottom:0}

/* Intake */
.professional-search__intake{background:#f4f8f7}
.professional-search__intake-inner{max-width:820px}
.professional-search__intake h2{margin:0 0 14px;font-size:clamp(1.7rem,2.8vw,2.25rem);line-height:1.18;color:#153b34}
.professional-search__intake > div > p{margin:0 0 26px;color:#5a6562;font-size:clamp(1rem,1.15vw,1.06rem);line-height:1.68}
.professional-search__intake .simple-hiring-intake{width:100%;box-sizing:border-box}
