/* Shared service alignment. */
.single-our_services .ai-service {
  --ai-radius:0;
}

.single-our_services .ai-service .ai-eyebrow,.single-our_services .ai-service .ai-step-code,.single-our_services .ai-service .ai-dashboard-top {
  font-size:var(--ai-type-label-size);
  font-weight:700;
  letter-spacing:var(--ai-type-label-tracking);
  text-transform:uppercase;
}

.single-our_services .ai-section-heading h2 {
  letter-spacing:-.035em;
}

.single-our_services .ai-section--soft,.single-our_services .ai-section--cad,.single-our_services .ai-section--benefits {
  background:#f5f6f8;
}

.single-our_services .ai-section--cad::before {
  opacity:.45;
}

.single-our_services :is(.ai-data-callouts div,.ai-procedure-visual,.ai-tech-card,.ai-software-strip,.ai-rfi-carousel__track,.ai-rfi-visual,.ai-fact-layout__media,.ai-rfi-dashboard,.ai-workflow-map,.ai-project-card,.ai-timeline-compare,.ai-collaboration__node,.ai-collaboration__hub,.ai-problem-card,.ai-split-model,.ai-xyz-model,.ai-xyz-table-wrap,.ai-curved-tolerance,.ai-xyz-process li,.ai-curved-feature,.ai-curved-feature dl div,.ai-curved-project-card,.ai-curved-project-note,.ai-bridge-scope,.ai-bridge-categories article,.ai-bridge-case,.ai-bridge-project,.ai-bridge-sequence,.ai-bridge-connection,.ai-wide-model,.ai-phase-tool,.ai-simulation-case,.ai-simulation-note,.ai-fact-sheet,.ai-panel-control,.ai-precast-register,.ai-precast-process li,.ai-precast-fact-layout,.ai-precast-benefits article,.ai-precast-coordination-note,.ai-rfi-panel,.ai-zone-flow,.ai-zone-stage,.ai-schedule__animation-bar,.ai-schedule__summary>div,.ai-schedule-lane,.ai-collaboration-map,.ai-collaboration-map__model,.ai-collaboration-map__roles article,.ai-benefit-card) {
  border-radius:0;
  box-shadow:none;
}

.single-our_services :is(.ai-tech-card,.ai-curved-project-card,.ai-bridge-categories article,.ai-bridge-project,.ai-precast-process li,.ai-precast-benefits article,.ai-benefit-card) {
  border-top:3px solid var(--ai-blue);
}

.single-our_services .ai-tech-card {
  min-height:220px;
}

.single-our_services .ai-tech-card:hover {
  background:#f8f9fc;
  border-color:var(--ai-line);
  border-top-color:var(--ai-blue);
  box-shadow:none;
  transform:none;
}

.single-our_services .ai-section--navy .ai-tech-card:hover {
  background:rgba(255,255,255,.085);
  border-color:rgba(255,255,255,.18);
  border-top-color:#929dff;
}

.single-our_services :is(.ai-rfi-carousel__controls button,.ai-carousel__button,.ai-schedule__animation-bar button,.ai-button) {
  border-radius:0;
  box-shadow:none;
}

.single-our_services .ai-rfi-carousel__controls button,.single-our_services .ai-carousel__button {
  height:42px;
  width:42px;
}

.single-our_services .ai-button:hover {
  box-shadow:none;
  transform:translateX(3px);
}

.single-our_services .ai-project-list li {
  border-radius:0;
}

.single-our_services .ai-collaboration__node {
  height:auto;
  min-height:180px;
}

.single-our_services .ai-collaboration__hub {
  border-left:3px solid #9ca7ff;
}

.single-our_services .ai-collaboration-map__roles article::before {
  display:none;
}

.single-our_services .ai-collaboration-map__roles article {
  border-left:3px solid var(--ai-blue);
}

.single-our_services .ai-benefit-card header>span,.single-our_services .ai-collaboration-map__steps span {
  border-radius:0;
}

.single-our_services .ai-benefit-card li::before {
  border-radius:0;
  height:6px;
  width:6px;
}

.single-our_services .ai-coordinate-pin {
  border-radius:0;
}

.single-our_services .ai-curved-project-card img,.single-our_services .ai-bridge-project figure img {
  background:#eef0f4;
}

.single-our_services .ai-zone-flow {
  border-top:3px solid var(--ai-blue);
}

.single-our_services .ai-zone-stage {
  border-left-width:3px;
}

.single-our_services .ai-schedule-track li {
  border-radius:0;
}

.single-our_services .ai-schedule__summary>div.is-primary {
  box-shadow:inset 0 3px 0 var(--ai-blue);
}

.single-our_services .ai-phase-tool {
  border-top:3px solid #8792f5;
}

.single-our_services .ai-simulation-case {
  border-top:3px solid var(--ai-blue);
}

.single-our_services .ai-panel-control {
  border-top:3px solid var(--ai-blue);
}

@media(max-width:820px) {
  .single-our_services .ai-collaboration__node {
    min-height:145px;
  }

  .single-our_services .ai-zone-mobile li,.single-our_services .ai-zone-mobile__parallel {
    border-radius:0;
  }

  .single-our_services .ai-service-cta__inner {
    border-radius:0;
  }
}

.single-our_services :is(.ai-service--bridge .ai-bridge-project figure,.ai-service--bridge .ai-bridge-project figure img,.ai-service--bridge .ai-bridge-case figure,.ai-service--bridge .ai-bridge-case figure img,.ai-service--curved .ai-curved-project-card,.ai-service--curved .ai-curved-project-card img,.ai-service--curved .ai-curved-feature__media,.ai-service--curved .ai-curved-feature__media img) {
  background:var(--ai-color-white);
}

.single-our_services .ai-service--standard-v2 {
  --ai-standard-rule:var(--ai-color-border);
  --ai-standard-soft:#f2f5f8;
}

.single-our_services .ai-service--standard-v2 .ai-section {
  padding-block:clamp(68px,6.4vw,92px);
}

.single-our_services .ai-service--standard-v2 .ai-section-heading {
  max-width:820px;
}

.single-our_services .ai-service--standard-v2 .ai-section-heading h2 {
  font-size:clamp(36px,3.6vw,52px);
  line-height:1.04;
}

.single-our_services .ai-standard-overview__grid {
  align-items:stretch;
  gap:clamp(40px,5vw,72px);
  grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);
}

.single-our_services .ai-standard-overview__copy {
  align-self:center;
}

.single-our_services .ai-standard-overview__copy .ai-prose {
  border-left:1px solid var(--ai-blue);
  padding-left:24px;
}

.single-our_services .ai-standard-overview__media {
  aspect-ratio:4/3;
  background:var(--ai-standard-soft);
  border:1px solid var(--ai-standard-rule);
  border-radius:0;
  box-shadow:none;
  min-height:0;
}

.single-our_services .ai-standard-overview__media img,.single-our_services .ai-standard-focus__media img,.single-our_services .ai-standard-project figure img {
  display:block;
  height:100%!important;
  max-height:none;
  max-width:none;
  width:100%;
}

.single-our_services :is(.ai-standard-overview__media,.ai-standard-focus__media,.ai-standard-project figure).is-technical-portrait img {
  background:#edf1f5;
  object-fit:contain;
  padding:clamp(18px,2vw,30px);
}

.single-our_services :is(.ai-standard-overview__media,.ai-standard-focus__media,.ai-standard-project figure).is-technical-wide img {
  background:#edf1f5;
  object-fit:contain;
  padding:clamp(12px,1.5vw,22px);
}

/* Project models need a stronger crop than supporting technical diagrams. */
.single-our_services .ai-standard-project figure.is-technical-wide img {
  object-fit:cover;
  object-position:center center;
  padding:0;
}

.single-our_services :is(.ai-standard-overview__media,.ai-standard-focus__media,.ai-standard-project figure).is-landscape img {
  object-fit:cover;
}

.single-our_services .ai-standard-overview__media figcaption {
  background:linear-gradient(180deg,transparent,rgba(7,14,38,.86));
  padding:70px 28px 25px;
}

.single-our_services .ai-standard-capabilities__head {
  align-items:start;
  display:grid;
  grid-template-columns:minmax(0,.7fr) minmax(280px,.3fr);
}

.single-our_services .ai-standard-capabilities__head .ai-section-heading {
  grid-column:1/-1;
}

.single-our_services .ai-standard-capabilities__index {
  display:none;
}

.single-our_services .ai-standard-capability-grid,.single-our_services .ai-standard-capability-grid.is-three {
  border:0;
  gap:1px;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-top:44px;
  background:var(--ai-standard-rule);
}

.single-our_services .ai-standard-capability-grid.is-three {
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.single-our_services .ai-standard-capability {
  background:var(--ai-color-white);
  border:0;
  min-height:0;
  padding:30px 32px 32px;
  transform:none;
}

.single-our_services .ai-standard-capability:hover {
  background:#f9fafc;
}

.single-our_services .ai-standard-capability header {
  gap:12px;
  margin-bottom:20px;
}

.single-our_services .ai-standard-capability header span {
  background:transparent;
  border-radius:0;
  color:var(--ai-blue);
  display:block;
  font-size:var(--ai-type-label-size);
  height:auto;
  width:auto;
}

.single-our_services .ai-standard-capability header small {
  border-left:1px solid #ccd3df;
  padding-left:12px;
}

.single-our_services .ai-standard-capability h3 {
  font-size:clamp(22px,1.8vw,28px);
  margin-bottom:12px;
}

.single-our_services .ai-standard-capability>p {
  font-size:var(--ai-type-body-size);
  line-height:1.62;
}

.single-our_services .ai-standard-capability ul {
  gap:7px;
  margin-top:18px;
  padding-top:16px;
}

.single-our_services .ai-standard-capability li {
  font-size:var(--ai-type-body-size);
  line-height:1.45;
}

.single-our_services .ai-standard-method__layout {
  display:block;
}

.single-our_services .ai-standard-method__intro {
  position:static;
}

.single-our_services .ai-standard-method__number {
  display:none;
}

.single-our_services .ai-standard-method__intro .ai-section-heading {
  display:grid;
  gap:30px;
  grid-template-columns:minmax(0,.72fr) minmax(280px,.28fr);
  max-width:none;
}

.single-our_services .ai-standard-method__intro .ai-section-heading .ai-eyebrow,.single-our_services .ai-standard-method__intro .ai-section-heading h2 {
  grid-column:1;
}

.single-our_services .ai-standard-method__intro .ai-section-heading>p:last-child {
  align-self:end;
  grid-column:2;
  grid-row:1/3;
  margin:0;
}

.single-our_services .ai-standard-method__steps {
  background:var(--ai-standard-rule);
  border:0;
  display:grid;
  gap:1px;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:44px;
}

.single-our_services .ai-standard-method__steps.is-count-5 {
  grid-template-columns:repeat(5,minmax(0,1fr));
}

.single-our_services .ai-standard-method__steps li {
  background:var(--ai-color-white);
  border:0;
  display:block;
  min-height:194px;
  padding:26px 28px;
}

.single-our_services .ai-standard-method__marker {
  display:flex;
  gap:12px;
  justify-content:space-between;
  margin-bottom:28px;
}

.single-our_services .ai-standard-method__marker .ai-icon {
  background:transparent;
  border:1px solid #dce2ec;
  border-radius:0;
  height:34px;
  padding:8px;
  width:34px;
}

.single-our_services .ai-standard-method__steps h3 {
  font-size:18px;
  margin-bottom:8px;
}

.single-our_services .ai-standard-focus {
  padding-block:clamp(68px,6.4vw,92px);
}

.single-our_services .ai-standard-focus__frame {
  min-height:0;
}

.single-our_services .ai-standard-focus__frame.is-copy-only {
  display:block;
  background:linear-gradient(135deg,var(--ai-color-ink),#0b122b);
  border-top:3px solid #7185f4;
}

.single-our_services .ai-standard-focus__frame.is-copy-only .ai-standard-focus__content {
  display:grid;
  gap:28px 70px;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
  padding:clamp(46px,5vw,68px);
}

.single-our_services .ai-standard-focus__frame.is-copy-only .ai-eyebrow {
  grid-column:1/-1;
  margin:0;
}

.single-our_services .ai-standard-focus__copy h2 {
  color:var(--ai-color-white);
  font-family:var(--ai-font-display);
  font-size:clamp(34px,3.4vw,50px);
  letter-spacing:-.035em;
  line-height:1.06;
  margin:0 0 22px;
}

.single-our_services .ai-standard-focus__copy .ai-prose p {
  color:#bdc5d7;
  font-size:var(--ai-type-body-size);
  line-height:1.72;
}

.single-our_services .ai-standard-focus__frame.is-copy-only .ai-standard-focus__facts {
  border-left:1px solid rgba(255,255,255,.16);
  border-top:0;
  display:grid;
  grid-template-columns:1fr;
  margin:0;
  padding-left:34px;
}

.single-our_services .ai-standard-focus__frame.is-copy-only .ai-standard-focus__facts div,.single-our_services .ai-standard-focus__frame.is-copy-only .ai-standard-focus__facts div+div {
  border-bottom:1px solid rgba(255,255,255,.12);
  border-right:0;
  padding:14px 0;
}

.single-our_services .ai-standard-focus__frame.is-copy-only .ai-standard-focus__facts div:last-child {
  border-bottom:0;
}

.single-our_services .ai-standard-project-list {
  gap:20px;
  margin-top:42px;
}

.single-our_services .ai-standard-project {
  grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);
  min-height:0;
}

.single-our_services .ai-standard-project figure {
  background:#edf1f5;
  min-height:430px;
}

.single-our_services .ai-standard-project__body {
  padding:clamp(34px,4vw,48px);
}

.single-our_services .ai-standard-project__body h3 {
  font-size:clamp(30px,3vw,42px);
  margin-bottom:16px;
}

.single-our_services .ai-standard-project__body>p:not(.ai-eyebrow) {
  font-size:14px;
  line-height:1.65;
}

.single-our_services .ai-standard-project__body dl {
  margin-top:22px;
}

.single-our_services .ai-standard-project__body dl div {
  padding:11px 0;
}

@media(max-width:980px) {
  .single-our_services .ai-standard-overview__grid {
    grid-template-columns:1fr;
  }

  .single-our_services .ai-standard-overview__media {
    aspect-ratio:16/10;
  }

  .single-our_services .ai-standard-method__steps {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .single-our_services .ai-standard-method__steps.is-count-5 {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .single-our_services .ai-standard-focus__frame.is-copy-only .ai-standard-focus__content {
    grid-template-columns:1fr;
  }

  .single-our_services .ai-standard-focus__frame.is-copy-only .ai-standard-focus__facts {
    border-left:0;
    border-top:1px solid rgba(255,255,255,.16);
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding-left:0;
    padding-top:18px;
  }

  .single-our_services .ai-standard-focus__frame.is-copy-only .ai-standard-focus__facts div,.single-our_services .ai-standard-focus__frame.is-copy-only .ai-standard-focus__facts div+div {
    padding:14px 16px 14px 0;
  }

  .single-our_services .ai-standard-project {
    grid-template-columns:1fr;
  }

  .single-our_services .ai-standard-project figure {
    min-height:0;
    aspect-ratio:16/10;
  }
}

/* Readability pass for service detail pages. */
.single-our_services .ai-standard-capability>p,
.single-our_services .ai-standard-project__body>p:not(.ai-eyebrow){font-size:15px}
.single-our_services .ai-standard-capability li{font-size:var(--ai-type-body-size)}

.single-our_services .ai-section-heading :is(h2,h3)+p,
.single-our_services .ai-standard-project__body :is(h2,h3)+p{margin-top:clamp(18px,1.8vw,25px)}

@media(max-width:700px) {
  .single-our_services .ai-service--standard-v2 .ai-section {
    padding-block:54px;
  }

  .single-our_services .ai-standard-overview__media {
    aspect-ratio:4/3;
  }

  .single-our_services .ai-standard-capability-grid,.single-our_services .ai-standard-capability-grid.is-three {
    grid-template-columns:1fr;
    margin-top:30px;
  }

  .single-our_services .ai-standard-capability {
    padding:25px 22px;
  }

  .single-our_services .ai-standard-method__intro .ai-section-heading {
    display:block;
  }

  .single-our_services .ai-standard-method__intro .ai-section-heading>p:last-child {
    margin-top:18px;
  }

  .single-our_services .ai-standard-method__steps {
    grid-template-columns:1fr;
    margin-top:30px;
  }

  .single-our_services .ai-standard-method__steps.is-count-5 {
    grid-template-columns:1fr;
  }

  .single-our_services .ai-standard-method__steps li {
    min-height:0;
    padding:23px 21px;
  }

  .single-our_services .ai-standard-focus__frame.is-copy-only .ai-standard-focus__content {
    padding:35px 22px;
  }

  .single-our_services .ai-standard-focus__frame.is-copy-only .ai-standard-focus__facts {
    grid-template-columns:1fr;
  }

  .single-our_services .ai-standard-project figure {
    aspect-ratio:4/3;
    min-height:0;
  }
}
