.jvw-work-page { color: #0c3040; background: #fff; }
.jvw-work-page .jvw-work-section { padding-block: 56px; overflow-wrap: anywhere; }
.jvw-work-page .jvw-work-muted { background: #f5f6f7; }
.jvw-work-section h2 { font-size: 36px; line-height: 1.18; letter-spacing: 0; margin: 0 0 24px; }
.jvw-work-section h3 { font-size: 24px; line-height: 1.3; letter-spacing: 0; margin: 0 0 8px; }
.jvw-work-section p, .jvw-work-section dl { font-size: 17px; line-height: 1.7; }
.jvw-work-section p { margin: 0 0 16px; }
.jvw-work-columns { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 48px; align-items: start; }
.jvw-work-facts { margin: 0; padding-left: 32px; border-left: 1px solid #d8dfe2; }
.jvw-work-facts dt { font-weight: 700; }
.jvw-work-facts dd { margin: 0 0 20px; }
.jvw-work-facts dd:last-child { margin-bottom: 0; }
.jvw-work-location-photo img { display: block; width: 100%; aspect-ratio: 16/10; object-fit: cover; height: auto; }
.jvw-work-steps { list-style: none; counter-reset: steps; margin: 0; padding: 0; }
.jvw-work-steps > li { position: relative; counter-increment: steps; padding: 0 0 32px 68px; min-height: 48px; }
.jvw-work-steps > li:not(:last-child)::after { content: ''; position: absolute; left: 21px; top: 44px; bottom: 0; border-left: 1px solid #d8dfe2; }
.jvw-work-steps > li::before { content: counter(steps, decimal-leading-zero); position: absolute; left: 0; top: 0; width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid #0c3040; border-radius: 50%; font-weight: 600; font-size: 15px; }
.jvw-work-steps > li:last-child { padding-bottom: 0; }
.jvw-work-page a:not(.jvw-work-button) { text-decoration: underline; text-underline-offset: 3px; }
.jvw-work-page a.jvw-work-button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; max-width: 100%; padding: 10px 18px; box-sizing: border-box; border: 1px solid #0c3040; border-radius: 6px; color: #0c3040; background: transparent; font: 600 15px/1.4 var(--font-sans, sans-serif); text-decoration: none; text-align: center; }
.jvw-work-page a.jvw-work-primary { background: #d62839; border-color: #d62839; color: #fff; }
.jvw-work-page a.jvw-work-button:hover { background: #0c3040; border-color: #0c3040; color: #fff; }
.jvw-work-page a:focus-visible { outline: 3px solid #147bac; outline-offset: 4px; }
.jvw-work-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.jvw-work-gallery figure { margin: 0; min-width: 0; }
.jvw-work-gallery img { display: block; width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; }
.jvw-work-gallery figcaption { margin-top: 12px; font-size: 15px; line-height: 1.6; }
.jvw-work-contact { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.jvw-work-contact h2 { margin: 0; }
@media (max-width: 760px) {
  .jvw-work-page .jvw-work-section { padding-block: 36px; }
  .jvw-work-section h2 { font-size: 28px; }
  .jvw-work-section h3 { font-size: 22px; }
  .jvw-work-section p, .jvw-work-section dl { font-size: 16px; }
  .jvw-work-columns, .jvw-work-gallery { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .jvw-work-facts { padding-left: 0; border-left: 0; }
  .jvw-work-steps > li { padding-left: 56px; }
  .jvw-work-contact { flex-direction: column; align-items: flex-start; }
}
