/* Service identities: shared FDE base, distinct consulting and model layouts. */
:root {
  --service-detail-gap: 48px;
  --service-detail-radius: var(--site-radius);
}
.service-kicker { color: var(--site-blue); font-size: var(--site-small); font-weight: 600; margin: 0 0 24px; }
.service-caption { color: var(--site-muted); font-size: var(--site-small); margin-top: 24px; }
.consulting-hero { display: grid; grid-template-columns: 1.1fr 1fr; gap: var(--service-detail-gap); align-items: center; padding-block: 64px 80px; }
.consulting-hero h1 { font-size: clamp(36px, 4.5vw, 62px); line-height: 1.18; letter-spacing: -.02em; margin: 0 0 24px; }
.consulting-hero-lead { font-size: 22px; line-height: 1.7; color: var(--site-muted); margin-bottom: 32px; }
.consulting-hero .service-actions { justify-content: flex-start; }
.consulting-hero figure { margin: 0; }
.consulting-hero figure img { display: block; width: 100%; height: 540px; object-fit: cover; border-radius: var(--site-image-radius); }
.consulting-hero figcaption { font-size: var(--site-micro); color: var(--site-muted); margin-top: 12px; }
.consulting-diagnosis { display: grid; grid-template-columns: 1fr 1fr; gap: var(--service-detail-gap); align-items: center; }
.consulting-diagnosis img { aspect-ratio: 4 / 3; }
.consulting-questions article { display: flex; gap: 24px; padding: 24px 0; border-top: 1px solid var(--site-line); }
.consulting-questions article > span { color: var(--site-blue); font-variant-numeric: tabular-nums; }
.consulting-questions h3 { font-size: var(--site-h3); margin: 0 0 12px; }
.consulting-questions p, .consulting-story p, .consulting-delivery p, .consulting-deliverables p { color: var(--site-muted); line-height: 1.8; }
.consulting-stories { display: grid; gap: 80px; }
.consulting-story { display: grid; grid-template-columns: 1.15fr 1fr; align-items: center; gap: var(--service-detail-gap); }
.consulting-story:nth-child(even) > figure { order: 2; }
.consulting-story img { aspect-ratio: 4 / 3; }
.consulting-story h3 { font-size: 32px; line-height: 1.4; margin: 0 0 20px; }
.consulting-story strong { display: block; padding-top: 24px; margin-top: 24px; border-top: 1px solid var(--site-line); color: var(--site-blue); }
.consulting-delivery { display: grid; grid-template-columns: 1fr 1.15fr; gap: 80px; }
.consulting-delivery h2 { font-size: var(--service-title); line-height: 1.2; margin: 0 0 24px; }
.consulting-roadmap { list-style: none; margin: 0; padding: 0; }
.consulting-roadmap li { position: relative; display: flex; gap: 28px; padding-bottom: 32px; }
.consulting-roadmap li:not(:last-child)::after { content: ''; position: absolute; left: 21px; top: 44px; bottom: 0; width: 1px; background: var(--site-line); }
.consulting-roadmap li > span { flex-shrink: 0; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--site-white); color: var(--site-blue); }
.consulting-roadmap h3 { margin: 8px 0; font-size: var(--site-h3); }
.consulting-roadmap p { margin: 0; }
.consulting-deliverables { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
.consulting-deliverables article { border-top: 1px solid var(--site-line); padding-top: 24px; }
.consulting-deliverables span { font-size: 40px; color: var(--site-blue); }
.consulting-deliverables h3 { font-size: var(--site-h3); }
.consulting-contact { background: var(--site-surface-soft); }
.model-hero { min-height: 650px; }
.model-hero > img { left: 42%; width: 58%; }
.model-hero::after { background: linear-gradient(90deg, var(--service-graphite) 15%, rgba(23,25,29,.94) 40%, rgba(23,25,29,.28) 100%); }
.model-hero .site-wrap { text-align: left; }
.model-hero h1 { max-width: 700px; }
.model-hero .service-kicker { color: #93c5ff; font-size: var(--site-small); margin-bottom: 24px; }
.model-hero .service-actions { justify-content: flex-start; }
.model-hero-tags { display: flex; gap: 24px; flex-wrap: wrap; margin-top: 48px; font-size: var(--site-small); color: var(--service-light-muted); }
.model-hero-tags span { border-top: 1px solid #55585d; padding-top: 12px; }
.model-pipeline { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 0; margin: 0; gap: 28px; }
.model-pipeline li { border-top: 2px solid var(--site-blue); padding-top: 24px; }
.model-pipeline span { color: var(--site-blue); font-size: 36px; }
.model-pipeline h3 { font-size: var(--site-h3); }
.model-pipeline p, .model-fit p, .model-capabilities p, .model-validation p, .model-validation dd { color: var(--site-muted); line-height: 1.8; }
.model-fit { display: grid; grid-template-columns: 1fr 1.1fr; gap: 100px; }
.model-fit h2, .model-validation h2 { font-size: var(--service-title); line-height: 1.2; margin: 0 0 24px; }
.model-fit article { border-bottom: 1px solid var(--site-line); padding: 0 0 20px; margin-bottom: 28px; }
.model-fit h3 { font-size: var(--site-h3); margin-top: 0; }
.model-capabilities { display: grid; grid-template-columns: 1.2fr 1fr; gap: 28px; align-items: start; }
.model-capabilities > article { background: var(--site-white); border-radius: var(--site-image-radius); overflow: hidden; }
.model-capabilities > article:first-child { grid-row: span 2; }
.model-capabilities img { aspect-ratio: 16 / 9; }
.model-capabilities > article:not(:first-child) img { aspect-ratio: 2.8; }
.model-capabilities figcaption { padding-inline: 28px; }
.model-capabilities article > div { padding: 28px; }
.model-capabilities h3 { font-size: 28px; line-height: 1.4; margin: 0 0 20px; }
.model-capabilities strong { color: var(--site-blue); font-size: var(--site-small); }
.model-validation { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; margin-bottom: 40px; }
.model-validation dl { margin: 0; }
.model-validation dl > div { display: grid; grid-template-columns: 100px 1fr; gap: 24px; border-top: 1px solid var(--site-line); padding: 22px 0; }
.model-validation dt { font-weight: 600; }
.model-validation dd { margin: 0; }
.model-deployment { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--service-detail-gap); padding-block: 32px; border-top: 1px solid var(--site-line); }
.model-deployment h3 { font-size: var(--site-h3); line-height: 1.5; }
.model-deployment p { color: var(--site-muted); line-height: 1.8; }
.model-contact { color: var(--site-white); background: var(--service-graphite); }
.model-contact p { color: var(--service-light-muted); }
.model-contact .site-button-secondary { color: var(--site-white); background: transparent; border-color: #55585d; }
@media (max-width: 1040px) {
  .consulting-hero { gap: 28px; }
  .consulting-hero figure img { height: 440px; }
  .model-fit, .model-validation, .consulting-delivery { gap: 40px; }
}
@media (max-width: 760px) {
  .model-deployment { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .consulting-hero, .consulting-diagnosis, .consulting-story, .consulting-delivery, .model-fit, .model-validation, .model-capabilities { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .consulting-hero { padding-block: 44px; }
  .consulting-hero figure img { height: auto; aspect-ratio: 4 / 3; }
  .consulting-story:nth-child(even) > figure { order: initial; }
  .consulting-stories { gap: 56px; }
  .consulting-deliverables { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .model-hero > img { left: 0; width: 100%; }
  .model-hero::after { background: rgba(23,25,29,.76); }
  .model-hero { min-height: 600px; }
  .model-pipeline { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
  .model-capabilities > article:first-child { grid-row: auto; }
  .model-validation dl > div { grid-template-columns: 80px 1fr; gap: 16px; }
}
