.c3-page :is(.c3-benefits dd,.c3-evaluation p,.c3-practice p,.c3-solution-table td) { color: var(--body-text); }
.c3-page .ip-section > .ip-wrap > h2 { margin-bottom: clamp(22px,3vw,42px); }
.c3-page .ip-section > .ip-wrap > p { max-width: 66ch; }
.c3-hero-figure { margin: 0; border: 1px solid #608698; background: var(--ip-dark); }
.c3-hero-figure img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.c3-hero-figure figcaption { padding: 10px 16px; color: var(--body-text-on-dark); font-size: var(--type-secondary-size); }
.c3-page .c3-hero p,.c3-page .ip-contact p { color: var(--body-text-on-dark); }
/* The model and the three engineering decisions form one continuous reading. */
.c3-overview {
  display: grid;
  grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr);
  background: radial-gradient(ellipse at 75% 10%,#17485d,var(--ip-navy) 64%);
  color: #fff;
  border-top: 3px solid var(--ip-teal);
}
.c3-overview-lead {
  align-self: center;
  padding: clamp(24px,4vw,60px);
}
.c3-page .c3-overview p { color: var(--body-text-on-dark); }
.c3-overview-lead p:last-child { margin-bottom: 0; }
.c3-overview-figure {
  align-self: center;
  min-width: 0;
  margin: 0;
  padding: clamp(16px,2.5vw,36px);
  padding-inline-start: 0;
}
.c3-overview-figure img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 370px;
  object-fit: contain;
  background: #edf7f8;
}
.c3-overview-figure figcaption {
  margin-top: 10px;
  color: var(--body-text-on-dark);
  font-size: var(--type-secondary-size);
}
.c3-model-thread {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid #5d8b9d;
}
.c3-model-thread li {
  position: relative;
  padding: clamp(22px,3vw,42px);
}
.c3-model-thread li + li { border-inline-start: 1px solid #5d8b9d; }
.c3-model-thread li::before {
  content: "";
  position: absolute;
  inset-block-start: -4px;
  inset-inline-start: clamp(22px,3vw,42px);
  width: 8px;
  height: 8px;
  background: var(--ip-teal);
  transform: rotate(45deg);
}
.c3-page .c3-model-thread h3 {
  margin-bottom: 9px;
  color: var(--ip-teal);
  font-size: var(--type-subhead-size);
}
.c3-model-thread p { margin-bottom: 0; }
@media (max-width: 800px) {
  .c3-overview,.c3-model-thread { grid-template-columns: minmax(0,1fr); }
  .c3-overview-figure { padding: 0 clamp(24px,4vw,60px) 24px; }
  .c3-model-thread li + li { border-inline-start: 0; border-top: 1px solid #5d8b9d; }
}
.c3-page .c3-benefits dt { font-weight: 700; color: #0a344a; }
.c3-page dl dd { margin: 3px 0 0; }
.c3-pale { background: var(--ip-pale); }
.c3-benefits { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 clamp(24px,5vw,70px); }
.c3-benefits > div { padding-block: 22px; border-top: 1px solid #a8c7d1; }
.c3-choosing {
  display: grid;
  grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr);
  border: 1px solid #a8c7d1;
}
.c3-pilot {
  padding: clamp(24px,4vw,54px);
  background: linear-gradient(145deg,#16445b,var(--ip-navy) 65%);
  border-top: 3px solid var(--ip-teal);
}
.c3-page .c3-pilot h3 { color: #fff; }
.c3-page .c3-pilot p { color: var(--body-text-on-dark); }
.c3-page main .c3-pilot .ip-inline-link { color: #a2e4e1; }
.c3-page main .c3-pilot .ip-inline-link:is(:hover,:focus-visible) { color: var(--link-hover-on-dark); }
.c3-pilot-graphic {
  margin: clamp(16px,3vw,32px) 0 0;
  border: 1px solid #4b7488;
  background: radial-gradient(ellipse at 45% 30%, #143d53, var(--ip-navy) 80%);
}
.c3-pilot-graphic svg { display: block; width: 100%; height: auto; }
.c3-pilot-art-labels { fill: #d0e8ee; font: 600 13px var(--font-body); }
.c3-evaluation { padding: clamp(24px,4vw,54px); background: var(--ip-pale); }
.c3-evaluation h3 { margin-bottom: 20px; }
.c3-evaluation ol { margin: 0; padding-inline-start: 1.6em; }
.c3-evaluation li { padding: 14px 0 14px 8px; border-top: 1px solid #a8c7d1; }
.c3-evaluation li::marker { color: #087781; font-weight: 700; }
.c3-evaluation h4 { margin: 0 0 5px; font-size: var(--type-body-size); }
.c3-evaluation p { margin: 0; }
.c3-evaluation .c3-pilot-result {
  margin-top: 8px;
  border-inline-start: 3px solid #169da5;
  padding: 12px 16px;
  background: #fff;
}
@media (max-width: 800px) {
  .c3-choosing { grid-template-columns: minmax(0,1fr); }
}
.c3-page main .ip-inline-link { color: #0b536c; margin-block: 10px; }
.c3-page main .ip-inline-link:is(:hover,:focus-visible) { color: var(--link-hover); }
.c3-page main :is(.ip-inline-link,summary):focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; }
/* Practice sheet paired with a compact demo and reference rail. */
.c3-resources {
  display: grid;
  grid-template-columns: minmax(0,1.65fr) minmax(0,1fr);
  gap: clamp(24px,4vw,58px);
  align-items: start;
}
.c3-practice {
  position: relative;
  background: #fff;
  border-block-start: 3px solid var(--ip-navy);
  border-block-end: 1px solid var(--ip-muted);
  padding: clamp(20px,3.1vw,44px);
}
.c3-practice::before {
  content: "";
  position: absolute;
  inset-block-start: -3px;
  inset-inline-start: 0;
  width: 22%;
  height: 3px;
  background: var(--ip-teal);
}
.c3-practice h3 { margin: 0 0 10px; }
.c3-practice-steps { margin: 20px 0 0; padding: 0; }
.c3-practice-steps li {
  display: grid;
  grid-template-columns: clamp(50px,7vw,86px) minmax(0,1fr);
  gap: clamp(12px,2vw,24px);
  align-items: start;
  padding-block: 14px;
  border-block-start: 1px solid var(--ip-muted);
}
.c3-practice-steps li:last-child { padding-block-end: 0; }
.c3-practice-sketch {
  display: grid;
  place-items: center;
  aspect-ratio: 5/4;
  background: var(--ip-pale);
  color: #0b536c;
}
.c3-practice-sketch svg {
  display: block;
  width: 85%;
  stroke: currentColor;
  stroke-width: 1.35;
  stroke-linejoin: round;
}
.c3-practice-steps h4 { margin: 0 0 4px; }
.c3-practice-steps h4 span {
  color: #0b536c;
  margin-inline-end: .6em;
  font-size: .78em;
  font-variant-numeric: tabular-nums;
}
.c3-practice-steps p { margin: 0; }
.c3-resource-shelf { width: 100%; max-width: 440px; }
.c3-film {
  margin: 0;
  background: var(--ip-navy);
  border-top: 3px solid var(--ip-teal);
  color: #fff;
}
.c3-film figcaption,.c3-film-link { padding: 13px clamp(14px,2vw,24px); }
.c3-film-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 12px;
  justify-content: space-between;
  margin-bottom: 8px;
}
.c3-film-meta .ip-label { color: var(--ip-teal); margin: 0; }
.c3-film-duration { color: var(--cyan); font-size: var(--type-secondary-size); }
.c3-page .c3-film h3 { color: #fff; margin: 0; }
.c3-film iframe {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  border: 0;
  background: center / contain no-repeat url("/assets/creo2-enhancements-poster.jpg");
}
.c3-page .c3-film a { color: var(--cyan,#3bc5f3); text-decoration: underline; }
.c3-page .c3-film a:is(:hover,:focus-visible) { color: var(--link-hover-on-dark); }
.c3-practice-links { margin-block-start: 20px; }
.c3-practice-links h4 { margin: 0 0 6px; }
.c3-page .c3-practice-links .ip-inline-link {
  display: flex;
  width: auto;
  margin: 0;
  padding-block: 9px;
  border-block-end: 1px solid var(--ip-muted);
}
@media (max-width: 760px) {
  .c3-resources { grid-template-columns: minmax(0,1fr); }
}
.c3-solution-section { background: var(--ip-pale); }
.c3-solution-core {
  display: grid;
  grid-template-columns: minmax(0,1.2fr) minmax(0,1fr);
  overflow: hidden;
  background: var(--ip-navy);
  border-top: 3px solid var(--ip-teal);
}
.c3-solution-copy {
  align-self: center;
  padding: clamp(24px,4vw,52px);
}
.c3-solution-copy::before {
  content: "";
  display: block;
  width: clamp(38px, 5vw, 68px);
  height: 2px;
  margin-bottom: 16px;
  background: var(--ip-teal);
}
.c3-page .c3-solution-copy h3 {
  color: #fff;
  font-size: var(--type-subhead-size);
  margin: 0 0 12px;
}
.c3-page .c3-solution-copy p {
  color: var(--body-text-on-dark);
  max-width: 49ch;
  margin-bottom: 0;
}
.c3-solution-image {
  display: grid;
  align-items: center;
}
.c3-solution-image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}
.c3-solution-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
}
.c3-solution-product {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.c3-solution-product img { flex: none; object-fit: contain; }
.c3-solution-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  text-align: left;
  background: #fff;
  border-bottom: 2px solid #169da5;
}
.c3-solution-table :is(th,td) {
  padding: clamp(10px,2vw,26px);
  vertical-align: top;
  overflow-wrap: anywhere;
}
.c3-solution-table :is(th,td):first-child { width: 22%; }
.c3-solution-table thead { background: #d9eef0; }
.c3-solution-table thead th:not(:first-child) { font-size: var(--type-subhead-size); }
.c3-solution-table tr + tr { border-top: 1px solid #b5d1d8; }
.c3-solution-table :is(th,td) + :is(th,td) { border-inline-start: 1px solid #b5d1d8; }
.c3-page main .c3-solution-heading .ip-inline-link {
  display: inline-flex;
  gap: 6px;
  margin: 0 0 0 auto;
  padding-bottom: 3px;
  font-size: var(--type-secondary-size);
  text-align: end;
}
@media (max-width: 640px) {
  .c3-solution-core { grid-template-columns: minmax(0,1fr); }
  .c3-solution-table { font-size: .9rem; }
  .c3-solution-table :is(th,td):first-child { width: 26%; }
  .c3-solution-heading { align-items: flex-start; }
}
/* A single workflow view with the same stage readings available without script. */
.c3-capability-workflow {
  margin-top: clamp(24px,4vw,48px);
  background: var(--ip-navy);
  border-top: 3px solid var(--ip-teal);
}
.c3-workflow-tabs {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  background: var(--ip-dark);
}
.c3-workflow-tabs button {
  min-height: 56px;
  padding: 10px 8px;
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: var(--body-text-on-dark);
  font: 700 var(--type-secondary-size)/1.4 var(--font-body);
  cursor: pointer;
}
.c3-workflow-tabs button + button { border-inline-start: 1px solid #ffffff25; }
.c3-workflow-tabs button[aria-selected="true"] {
  background: var(--ip-navy);
  color: #fff;
  border-bottom-color: var(--ip-teal);
}
.c3-workflow-tabs button:hover { color: var(--cyan); }
.c3-workflow-tabs button:focus-visible,
.c3-capability-stage:focus-visible { outline: 2px solid var(--cyan); outline-offset: -4px; }
.c3-workflow-tabs[hidden],.c3-capability-stage[hidden] { display: none; }
.c3-capability-stage {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1.05fr);
  align-items: stretch;
}
.c3-capability-stage + .c3-capability-stage { border-top: 1px solid #ffffff35; }
.c3-capability-visual {
  display: grid;
  place-items: center;
  padding: clamp(14px,3vw,42px);
  background-color: var(--ip-dark);
  background-image: linear-gradient(#63d7d41a 1px,transparent 1px),linear-gradient(90deg,#63d7d41a 1px,transparent 1px);
  background-size: 26px 26px;
}
.c3-capability-visual img {
  display: block;
  width: 100%;
  max-height: 320px;
  object-fit: contain;
  height: auto;
  aspect-ratio: 3 / 2;
}
.c3-capability-reading { padding: clamp(20px,3vw,42px); }
.c3-page .c3-capability-reading h3 { margin: 0 0 18px; color: #fff; }
.c3-capability-tools article {
  padding-block: 14px;
  border-top: 1px solid #ffffff35;
}
.c3-capability-tools article:last-child { padding-bottom: 0; }
.c3-capability-tools h4 { margin: 0 0 6px; color: var(--ip-teal); }
.c3-page .c3-capability-tools p { color: var(--body-text-on-dark); margin: 0; }
.c3-page main .c3-capability-tools .ip-inline-link {
  color: #a2e4e1;
  margin-bottom: 0;
}
.c3-page main .c3-capability-tools .ip-inline-link:is(:hover,:focus-visible) {
  color: var(--link-hover-on-dark);
}
@media (prefers-reduced-motion: no-preference) {
  [data-c3-workflow][data-enhanced] .c3-capability-stage:not([hidden]) {
    animation: c3-workflow-enter 240ms ease-out;
  }
}
@keyframes c3-workflow-enter {
  from { opacity: .72; }
  to { opacity: 1; }
}
@media (max-width: 760px) {
  .c3-capability-stage { grid-template-columns: minmax(0,1fr); }
  .c3-capability-visual img { max-height: 250px; }
}

.c3-industries {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: clamp(12px,2vw,24px);
  margin-top: clamp(26px,4vw,48px);
}
.c3-industry-story {
  display: flex;
  flex-direction: column;
  background: var(--ip-navy);
  color: #fff;
}
.c3-industry-photo {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
.c3-industry-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c3-industry-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg,var(--ip-navy),transparent 28%);
}
.c3-industry-reading {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(20px,2.4vw,36px);
}
.c3-industry-reading h3 { margin: 0 0 18px; color: #fff; }
.c3-page .c3-industry-reading p {
  margin: 0 0 20px;
  color: var(--body-text-on-dark);
}
.c3-page main .c3-industry-reading .ip-inline-link {
  display: inline-flex;
  margin-top: auto;
  color: #a2e4e1;
}
.c3-page main .c3-industry-reading .ip-inline-link:is(:hover,:focus-visible) { color: var(--link-hover-on-dark); }
.c3-industry-reading a:focus-visible { outline: 2px solid var(--ip-teal); outline-offset: 4px; }

@media (max-width: 860px) {
  .c3-industries { grid-template-columns: minmax(0,1fr); }
  .c3-industry-photo { height: clamp(190px,54vw,340px); aspect-ratio: auto; }
  .c3-industry-reading { padding: clamp(24px,4vw,40px); }
}

@media (max-width: 800px) {
}
@media (max-width: 560px) {
  .c3-benefits { grid-template-columns: minmax(0,1fr); }
}

.c3-evidence { margin: clamp(24px,4vw,44px) 0 0; border-bottom: 1px solid #a8c7d1; }
.c3-evidence img { display: block; width: 100%; height: auto; }
.c3-evidence figcaption { padding-block: 12px; font-size: var(--type-secondary-size); }
