/* Public portfolio: real service captures, not private admin data or invented UI. */
.p-digital .p-page-head { padding-block: var(--p-s7) var(--p-s6); }
.p-digital .p-page-head .p-lead { font-size: var(--p-body-size); }
.p-digital-transloom .p-product-showcase { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: var(--p-s6) var(--p-s8); background: transparent; padding: 0; }
.p-digital-transloom .p-product-showcase__intro { flex-direction: column; align-items: start; justify-content: center; gap: var(--p-s5); margin: 0; }
.p-digital-transloom .p-product-showcase__intro > .p-link { flex-shrink: 1; }
.p-digital-transloom .p-product-screen { min-width: 0; background: var(--p-soft); padding: var(--p-s5); }
.p-digital-transloom .p-product-lookup { grid-column: 1 / -1; padding-block-start: var(--p-s6); border-block-start: 1px solid var(--p-line); }
.p-digital-index { border-block: 1px solid var(--p-line); }
.p-digital-index ul { padding: 0; list-style: none; }
.p-digital-index li + li { border-block-start: 1px solid var(--p-line); }
.p-digital-index a { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr) minmax(0, 1fr) 20px; align-items: center; gap: var(--p-s2) var(--p-s5); min-height: 44px; padding-block: var(--p-s4); font-size: var(--p-ui); color: var(--p-heading); }
.p-digital-index a > * { min-width: 0; overflow-wrap: anywhere; }
.p-digital-index strong { font-weight: 600; }
.p-digital-index__purpose { color: var(--p-muted); }
.p-digital-index__status { font-size: var(--p-small); }
.p-digital-index a:active { background: var(--p-soft); }
.p-software-case { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr); gap: var(--p-s5) var(--p-s8); align-content: start; padding-block: var(--p-section-space); border-block-end: 1px solid var(--p-line); }
.p-software-case > * { min-width: 0; }
.p-software-case__intro { grid-column: 1; grid-row: 1; }
.p-software-case__body { grid-column: 1; grid-row: 2; }
.p-software-case > figure { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.p-software-case__summary, .p-software-case__body > p + p, .p-software-case__body > .p-small, .p-software-case .p-facts { margin-block-start: var(--p-s5); }
.p-software-case__body > .p-link { margin-block-start: var(--p-s5); }
.p-software-case__summary { font-size: var(--p-h3); line-height: 1.55; color: var(--p-heading); font-weight: 500; }
.p-software-case .p-facts > div { grid-template-columns: 92px minmax(0, 1fr); gap: var(--p-s4); }
.p-software-case__visual { padding: var(--p-s5); background: var(--p-soft); }
.p-software-case__visual a { display: block; }
.p-software-case__visual img { width: 100%; border: 1px solid var(--p-image-line); }
.p-software-case__visual figcaption { margin-block-start: var(--p-s4); font-size: var(--p-small); color: var(--p-muted); }
.p-software-case__visual--mobile a { max-width: 320px; margin-inline: auto; }
.p-software-case__visual--mobile figcaption { text-align: center; }
.p-workflow { padding: var(--p-s6); background: var(--p-soft); }
.p-workflow > figcaption { color: var(--p-heading); font-weight: 500; margin-block-end: var(--p-s5); }
.p-workflow ol { padding: 0; list-style: none; }
.p-workflow li { position: relative; display: grid; grid-template-columns: 40px minmax(0, 1fr); align-items: start; gap: var(--p-s4); padding-block-end: var(--p-s6); }
.p-workflow li:not(:last-child)::after { content: ''; position: absolute; inset-inline-start: 19px; inset-block: 44px var(--p-s1); border-inline-start: 1px solid var(--p-control); }
.p-workflow__step { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--p-blue); color: var(--p-white); font-size: var(--p-small); }
.p-workflow h3 { font-size: var(--p-h3); }
.p-workflow li p { font-size: var(--p-ui); color: var(--p-muted); margin-block-start: var(--p-s1); }
.p-workflow > .p-small { padding-block-start: var(--p-s4); border-block-start: 1px solid var(--p-line); }
.p-digital-assistant { grid-column: 1 / -1; margin-block-start: var(--p-s4); padding-block-start: var(--p-s6); border-block-start: 1px solid var(--p-line); }
.p-digital-assistant__intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: var(--p-s5) var(--p-s7); }
.p-digital-assistant__intro h3, .p-digital-assistant__tasks dt { color: var(--p-heading); font-size: var(--p-h3); font-weight: 500; }
.p-digital-assistant__tasks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--p-s6); margin-block: var(--p-s6); }
.p-digital-assistant__tasks > div { border-inline-start: 2px solid var(--p-line); padding-inline-start: var(--p-s5); }
.p-digital-assistant__tasks dd { margin-block-start: var(--p-s3); }
.p-digital-transloom, .p-digital-bottom { border-block-end: 1px solid var(--p-line); }
.p-digital-bottom h2 + p, .p-digital-bottom .p-facts { margin-block-start: var(--p-s5); }
@media (hover: hover) and (pointer: fine) {
  .p-digital-index a:hover { background: var(--p-soft); }
  .p-digital-index a:hover strong { text-decoration: underline; text-underline-offset: 6px; }
}
@media (max-width: 1000px) {
  .p-software-case { column-gap: var(--p-s6); }
  .p-software-case .p-facts > div { grid-template-columns: 1fr; gap: var(--p-s1); }
}
@media (max-width: 900px) {
  .p-digital-transloom .p-product-showcase { grid-template-columns: 1fr; }
  .p-software-case { grid-template-columns: 1fr; padding-block: var(--p-s7); }
  .p-software-case > *, .p-software-case > figure { grid-column: auto; grid-row: auto; }
  .p-digital-index a { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) 20px; gap: var(--p-s1) var(--p-s2); }
  .p-digital-index strong { grid-column: 1; grid-row: 1; }
  .p-digital-index__purpose { grid-column: 1 / span 2; grid-row: 2; }
  .p-digital-index__status { grid-column: 2; grid-row: 1; text-align: end; }
  .p-digital-index .p-icon { grid-column: 3; grid-row: 1 / span 2; }
  .p-software-case__visual { padding: var(--p-s4); }
  .p-software-case__visual--mobile a { max-width: 240px; }
  .p-workflow { padding: var(--p-s5); }
  .p-digital-assistant__intro, .p-digital-assistant__tasks { grid-template-columns: 1fr; }
}
