/* Consultant pricing uses the homepage's shared typography and marketing shell. */
.cr-hero { padding-block:40px; border-bottom:1px solid var(--line); background:#f2f7f8; }
.cr-hero-grid { display:grid; gap:32px; align-items:center; }
.cr-hero h1 { max-width:760px; font-size:clamp(34px,4.5vw,58px); line-height:1.1; font-weight:800; letter-spacing:-.045em; }
.cr-hero h1 span { color:var(--teal); }
.cr-lead { max-width:620px; margin-top:22px; color:#425a69; font-size:17px; line-height:1.7; }
.cr-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px 24px; margin-top:26px; }
.cr-text-link { display:inline-flex; align-items:center; gap:10px; min-height:44px; color:var(--teal); font-size:14px; font-weight:700; text-decoration:none; }
.cr-text-link:hover { text-decoration:underline; }
.cr-hero-note { margin-top:16px; color:var(--muted); font-size:12px; }
.cr-assurance { padding:28px; border:1px solid #30555d; border-radius:20px; background:linear-gradient(135deg,#142f44,#174b4d); color:#fff; box-shadow:0 12px 32px #142f4412; }
.cr-assurance-icon { display:grid; place-items:center; width:48px; height:48px; margin-bottom:22px; border:1px solid #5c8c88; border-radius:13px; background:#ffffff08; color:#bdeadd; }
.cr-assurance-icon svg { width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.cr-assurance .eyebrow,.cr-process .eyebrow { color:#a6e5d7; }
.cr-assurance h2 { max-width:360px; font-size:26px; line-height:1.25; text-wrap:pretty; }
.cr-assurance ul { display:grid; gap:14px; padding:0; margin:24px 0; list-style:none; color:#e1edee; font-size:14px; }
.cr-assurance li { display:flex; align-items:flex-start; gap:10px; }
.cr-assurance li::before { content:'\2713'; color:#a6e5d7; font-weight:800; }
.cr-assurance-note { padding-top:18px; border-top:1px solid #52717a; color:#c2d7dc; font-size:13px; line-height:1.7; }
.cr-section-heading { max-width:780px; }
.cr-section-heading h2 { font-weight:800; font-size:clamp(28px,3.4vw,42px); line-height:1.18; }
.cr-section-heading > p:last-child { margin-top:16px; color:var(--muted); font-size:16px; }
.cr-category-nav { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.cr-category-nav a { display:flex; align-items:center; gap:16px; min-height:44px; padding:10px 16px; border:1px solid #c9dfd8; border-radius:8px; color:var(--teal); background:#f3f9f6; font-size:13px; font-weight:700; text-decoration:none; }
.cr-category-nav a:hover { background:#e5f2ec; border-color:var(--teal); }
.cr-vat-note { margin-top:14px; color:var(--muted); font-size:12px; }
.cr-service-group { display:grid; gap:22px; padding-top:36px; scroll-margin-top:24px; }
.cr-group-number { display:block; margin-bottom:12px; color:var(--teal); font-size:11px; font-weight:800; letter-spacing:.075em; }
.cr-group-intro h3 { max-width:340px; font-size:25px; line-height:1.25; text-wrap:pretty; }
.cr-group-intro > p { max-width:360px; margin-top:12px; color:var(--muted); font-size:14px; line-height:1.75; }
.cr-service-list { min-width:0; border:1px solid var(--line); border-radius:16px; overflow:hidden; background:#fff; box-shadow:0 6px 24px #142f4405; }
.cr-service { display:grid; gap:14px; padding:22px; }
.cr-service + .cr-service { border-top:1px solid var(--line); }
.cr-service h4 { margin:0; font-size:17px; line-height:1.4; letter-spacing:-.02em; font-weight:800; }
.cr-service > div > p { margin-top:8px; color:var(--muted); font-size:14px; line-height:1.7; }
.cr-service-price { color:var(--teal); font-size:22px; line-height:1.4; font-weight:800; letter-spacing:-.035em; font-variant-numeric:tabular-nums; }
.cr-price-unit { display:block; margin-top:3px; color:var(--muted); font-size:12px; font-weight:500; letter-spacing:0; }
.cr-visit-group .cr-service-list { background:#f1f8f5; border-color:#c9dfd7; }
.cr-fee-note { margin-top:24px; color:var(--muted); font-size:12px; line-height:1.8; }
.cr-scope { display:grid; gap:14px; margin-top:32px; padding:22px; border:1px solid #e5d8bd; border-radius:14px; background:#fbf8f0; }
.cr-scope-label { color:#79571e; font-size:11px; font-weight:800; letter-spacing:.065em; text-transform:uppercase; }
.cr-scope h3 { font-size:18px; line-height:1.4; }
.cr-scope p { margin-top:10px; color:#635d4f; font-size:13px; line-height:1.8; }
.cr-process { color:#fff; background:#142f44; }
.cr-process h2 { max-width:740px; font-weight:750; }
.cr-steps { display:grid; gap:28px; padding:0; margin:32px 0 0; list-style:none; }
.cr-steps li { position:relative; padding-left:54px; }
.cr-step-number { position:absolute; top:0; left:0; display:grid; place-items:center; width:36px; height:36px; border:1px solid #6faaa6; border-radius:50%; color:#c7f4e9; font-size:13px; font-weight:750; }
.cr-steps h3 { padding-top:6px; font-size:20px; line-height:1.3; }
.cr-steps p { margin-top:12px; color:#d0dee7; font-size:14px; line-height:1.75; }
.cr-closing-inner { display:grid; gap:24px; padding:28px 22px; border:1px solid #c9dfd7; border-radius:20px; background:#eff7f5; }
.cr-closing h2 { max-width:620px; font-size:clamp(28px,3.2vw,40px); font-weight:800; line-height:1.2; }
.cr-closing h2 span { color:var(--teal); }
.cr-closing-inner > div > p:last-child { max-width:570px; margin-top:16px; color:var(--muted); font-size:15px; }
.cr-closing-action .button { width:100%; }
.cr-closing-inner .cr-closing-action > p { font-size:12px; margin-top:12px; text-align:center; }
.cr-marketplace-terms { padding-bottom:32px; color:var(--muted); font-size:12px; line-height:1.8; }
@media(min-width:600px) {
  .cr-service { grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:24px; padding:24px; }
  .cr-service-price { min-width:130px; text-align:right; }
  .cr-steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
  .cr-closing-inner { padding:36px; }
}
@media(min-width:901px) {
  .cr-hero { padding-block:56px; }
  .cr-hero-grid { grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:40px; }
  .cr-service-group { grid-template-columns:minmax(0,.8fr) minmax(0,1.8fr); gap:40px; padding-top:44px; }
  .cr-scope { grid-template-columns:140px minmax(0,1fr); padding:28px; gap:24px; }
  .cr-closing-inner { grid-template-columns:minmax(0,1fr) 280px; align-items:center; gap:40px; }
}
@media(min-width:1200px) {
  .cr-hero { padding-block:64px; }
  .cr-hero-grid { gap:64px; }
  .cr-assurance { padding:36px; }
  .cr-steps { grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; }
  .cr-steps li { padding:0; }
  .cr-step-number { position:static; width:42px; height:42px; margin-bottom:18px; }
  .cr-closing-inner { padding:44px; }
}
