/* Solutions Overview — page-specific styles */

/* Shared page-hero (reused across interior pages) */
.page-hero { padding: 96px 0 84px; position: relative; overflow: hidden; }
.page-hero::after {
  content: ""; position: absolute; top: 0; right: -6%; bottom: 0; width: 40%;
  background: linear-gradient(120deg, transparent, rgba(63,139,148,.14) 50%, transparent);
  transform: skewX(-14deg); pointer-events: none;
}

.prose { max-width: 74ch; }
.prose p { margin-bottom: 18px; }
.prose p:last-child { margin-bottom: 0; }

/* Deconstruction feature */
.deconstruct {
  display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center;
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg);
  padding: 48px; 
}
.deconstruct__viz svg { width: 100%; height: auto; }
.deconstruct__copy p { margin-bottom: 16px; }
.deconstruct__punch {
  font-family: var(--serif); font-size: 1.5rem; font-style: italic;
  color: var(--ink); line-height: 1.3; margin-top: 8px !important;
}

/* Diagram reveal animation */
.dc-line { stroke-dasharray: 400; stroke-dashoffset: 400; }
.reveal.in .dc-line { animation: dcDraw 1s var(--ease) forwards; }
.reveal.in .dc-line:nth-child(1) { animation-delay: .15s; }
.reveal.in .dc-line:nth-child(2) { animation-delay: .25s; }
.reveal.in .dc-line:nth-child(3) { animation-delay: .35s; }
.reveal.in .dc-line:nth-child(4) { animation-delay: .45s; }
.reveal.in .dc-line:nth-child(5) { animation-delay: .55s; }
.reveal.in .dc-line:nth-child(6) { animation-delay: .65s; }
.reveal.in .dc-line:nth-child(7) { animation-delay: .75s; }
.dc-node { opacity: 0; }
.reveal.in .dc-node { animation: dcFade .5s var(--ease) forwards; }
.reveal.in .dc-node:nth-child(1) { animation-delay: .6s; }
.reveal.in .dc-node:nth-child(2) { animation-delay: .7s; }
.reveal.in .dc-node:nth-child(3) { animation-delay: .8s; }
.reveal.in .dc-node:nth-child(4) { animation-delay: .9s; }
.reveal.in .dc-node:nth-child(5) { animation-delay: 1s; }
.reveal.in .dc-node:nth-child(6) { animation-delay: 1.1s; }
.reveal.in .dc-node:nth-child(7) { animation-delay: 1.2s; }
@keyframes dcDraw { to { stroke-dashoffset: 0; } }
@keyframes dcFade { to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .dc-line { stroke-dashoffset: 0; }
  .dc-node { opacity: 1; }
}

/* Practice cards */
.practice-card h3 { font-size: 1.4rem; margin-bottom: 12px; }
.practice-card--wide { grid-column: 1 / -1; }

/* Proof cards */
.proof-card__tag {
  display: inline-block; font-size: .72rem; font-weight: 600; letter-spacing: .1em;
  text-transform: uppercase; color: var(--teal-deep); background: var(--teal-wash);
  padding: 5px 12px; border-radius: 3px; margin-bottom: 16px;
}
.proof-card h3 { font-size: 1.2rem; margin-bottom: 10px; }

@media (max-width: 880px) {
  .deconstruct { grid-template-columns: 1fr; gap: 36px; padding: 34px; }
  .deconstruct__viz { max-width: 400px; margin: 0 auto; }
}
