/* Shared infrastructure blueprint component. */
infrastructure-blueprints { display: block; }
.infra-card-subtitle { display: block; color: var(--slake-subtext); font-size: 0.72em; font-weight: 700; margin-top: 0.45rem; }
        .infrastructure-blueprints {
          box-sizing: border-box;
          background: var(--slake-bg);
          border-top: 1px solid var(--slake-border);
          border-bottom: 1px solid var(--slake-border);
          color: var(--slake-text);
          padding: clamp(3.75rem, 6vw, 5.5rem) 0;
          position: relative;
          overflow: hidden;
        }
        .infrastructure-blueprints *,
        .infrastructure-blueprints *::before,
        .infrastructure-blueprints *::after {
          box-sizing: border-box;
        }
        .infrastructure-blueprints::before {
          display: none;
        }
        .infra-blueprint-container {
          width: min(1120px, calc(100% - 2rem));
          margin: 0 auto;
          position: relative;
          z-index: 1;
        }
        .infra-blueprint-header {
          display: grid;
          grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.7fr);
          align-items: end;
          gap: clamp(2rem, 5vw, 4.5rem);
          margin-bottom: clamp(2rem, 4vw, 3rem);
        }
        .infra-blueprint-label,
        .infra-spec-label,
        .infra-spec-term {
          font-family: 'DM Mono', 'JetBrains Mono', monospace;
          text-transform: uppercase;
          letter-spacing: 0.16em;
          font-weight: 800;
        }
        .infra-blueprint-label {
          color: var(--slake-blue);
          font-size: 0.75rem;
          margin-bottom: 0.8rem;
        }
        .infra-blueprint-title {
          color: var(--slake-text);
          font-size: clamp(2.15rem, 4vw, 3.75rem);
          line-height: 1.04;
          letter-spacing: 0;
          margin: 0;
          max-width: 16ch;
        }
        .infra-blueprint-copy {
          color: var(--slake-subtext);
          font-size: clamp(1rem, 1.2vw, 1.1rem);
          line-height: 1.6;
          margin: 0;
          max-width: 680px;
        }
        .infra-spec-grid {
          display: grid;
          grid-template-columns: repeat(3, minmax(0, 1fr));
          gap: 1rem;
        }
        .infra-spec-card {
          min-width: 0;
          border: 1px solid var(--slake-border);
          background: var(--slake-card);
          padding: clamp(1.25rem, 2.2vw, 1.65rem);
          display: flex;
          flex-direction: column;
          gap: 1.15rem;
          box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08);
        }
        .infra-spec-label {
          color: var(--slake-blue);
          font-size: 0.75rem;
        }
        .infra-spec-card h3 {
          color: var(--slake-text);
          font-size: clamp(1.25rem, 2vw, 1.7rem);
          line-height: 1.15;
          margin: 0;
          letter-spacing: 0;
          min-height: 8.75rem;
        }
        .infra-spec-row {
          display: flex;
          flex-direction: column;
          gap: 0.35rem;
          padding-top: 0.95rem;
          min-height: 9rem;
          border-top: 1px solid var(--slake-border);
        }
        .infra-spec-term {
          color: var(--slake-muted);
          font-size: 0.65rem;
          line-height: 1.3;
        }
        .infra-spec-detail {
          color: var(--slake-text);
          font-size: 0.92rem;
          line-height: 1.55;
          margin: 0;
          overflow-wrap: anywhere;
        }
        .infra-blueprint-actions {
          display: flex;
          flex-wrap: wrap;
          justify-content: center;
          gap: 0.85rem;
          margin-top: 1rem;
          padding-top: 1rem;
          border-top: 1px solid var(--slake-border);
        }
        .infra-blueprint-action {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          min-height: 48px;
          border: 1px solid rgba(var(--slake-text-rgb), 0.18);
          color: var(--slake-text);
          font-family: 'DM Mono', 'JetBrains Mono', monospace;
          font-size: 0.75rem;
          font-weight: 800;
          letter-spacing: 0.12em;
          padding: 0.9rem 1.1rem;
          text-decoration: none;
          text-transform: uppercase;
        }
        .infra-blueprint-action.primary {
          background: var(--slake-blue);
          border-color: var(--slake-blue);
          color: #ffffff;
        }
        .infra-blueprint-action:hover {
          border-color: var(--slake-blue);
          background: rgba(var(--slake-blue-rgb), 0.16);
        }
        .infra-blueprint-action.primary:hover {
          background: var(--slake-blue);
          opacity: 0.9;
        }
        @media (max-width: 960px) {
          .infra-blueprint-header {
            grid-template-columns: 1fr;
          }
          .infra-spec-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
          }
          .infra-spec-card:last-child {
            grid-column: 1 / -1;
          }
        }
        @media (max-width: 560px) {
          .infrastructure-blueprints {
            padding: 4rem 0;
          }
          .infra-spec-grid {
            grid-template-columns: 1fr;
          }
          .infra-spec-card:last-child {
            grid-column: auto;
          }
          .infra-spec-card h3 {
            min-height: 0;
          }
          .infra-spec-row {
            grid-template-columns: 1fr;
            gap: 0.45rem;
            min-height: 0;
          }
          .infra-blueprint-action {
            width: 100%;
          }
        }
