        .brand-hero {
      background-color: #1A2448;
      color: white;
      padding: 2.5rem 0 2rem;
      border-bottom: 6px solid #648534;
    }
    .brand-hero p { color: rgba(255,255,255,0.75); }

    .brand-nav { border-bottom: 2px solid #dee2e6; }
    .brand-nav .nav-link {
      color: #1A2448;
      font-weight: 600;
      font-size: 1.05rem;
      border: none;
      border-bottom: 3px solid transparent;
      border-radius: 0;
      padding: 0.8rem 1.75rem;
      margin-bottom: -2px;
    }
    .brand-nav .nav-link.active {
      color: #648534;
      border-bottom: 3px solid #648534;
      background: none;
    }
    .brand-nav .nav-link:hover:not(.active) {
      color: #648534;
      border-bottom: 3px solid #dee2e6;
    }

    .swatch-card { border: 1px solid #dee2e6; border-radius: 8px; overflow: hidden; }
    .color-swatch { height: 90px; display: flex; align-items: flex-end; padding: 0.5rem; }
    .swatch-info { padding: 0.7rem 0.75rem; background: #fff; font-size: 0.8rem; }
    .swatch-info .swatch-name { font-weight: 700; font-size: 0.88rem; margin-bottom: 0.2rem; color: #1A2448; }
    .swatch-info .swatch-meta { color: #6c757d; line-height: 1.5; }
    .badge-pantone {
      display: inline-block; background-color: #1A2448; color: white;
      font-size: 0.68rem; font-weight: 600; border-radius: 3px;
      padding: 0.15rem 0.45rem; margin-bottom: 0.3rem;
    }
    .copy-btn {
      font-size: 0.68rem; padding: 0.15rem 0.45rem;
      cursor: pointer; border-radius: 4px; line-height: 1.4;
    }

    /* Protected thumbnails */
    .asset-thumb {
      width: 250px; height: 170px; border-radius: 6px;
      border: 1px solid #dee2e6; background-size: cover;
      background-position: center; position: relative;
      overflow: hidden; user-select: none; -webkit-user-drag: none;
    }
    .asset-thumb::after { content: ''; position: absolute; inset: 0; z-index: 1; }
    .thumb-label {
      position: absolute; bottom: 0; left: 0; right: 0;
      background: rgba(26,36,72,0.78); color: #fff;
      font-size: 0.78rem; font-weight: 600;
      padding: 0.4rem 0.6rem; text-align: center; z-index: 2;
    }
    .thumb-placeholder {
      display: flex; flex-direction: column; align-items: center;
      justify-content: center; height: 100%; color: #adb5bd;
      gap: 0.4rem; font-size: 0.8rem;
    }

    .btn-download {
      background-color: #648534; border-color: #648534;
      color: #fff; font-weight: 600; padding: 0.7rem 1.75rem;
    }
    .btn-download:hover { background-color: #4d6427; border-color: #4d6427; color: #fff; }

    .section-rule { border: none; border-top: 2px solid #1A2448; opacity: 0.12; margin: 2.5rem 0; }

    .type-specimen { border: 1px solid #dee2e6; border-radius: 8px; padding: 1.5rem; margin-bottom: 1.25rem; }
    .type-label {
      font-size: 0.72rem; font-weight: 700; text-transform: uppercase;
      letter-spacing: 0.1em; color: #648534; margin-bottom: 0.75rem;
    }

    .section-heading { color: #1A2448; border-left: 4px solid #648534; padding-left: 0.75rem; }

    /* Logo misuse grid */
    .no-no-img {
      width: 100%; border-radius: 6px; border: 1px solid #dee2e6;
      user-select: none; pointer-events: none; display: block;
    }
    .no-no-card { font-size: 0.78rem; color: #6c757d; margin-top: 0.4rem; text-align: center; }

    /* Contrast checker (designer's spec, Bootstrap-adapted) */
    .checker { padding: 0; }
    .format-hint { font-size: 0.72rem; color: #999; font-family: monospace; margin-top: -0.5rem; margin-bottom: 0.75rem; }
    .preview-box {
      width: 100%; height: 160px; border-radius: 8px;
      display: flex; align-items: center; justify-content: center;
      border: 1px solid #dee2e6; margin-bottom: 1rem;
      transition: background 0.15s;
    }
    .preview-box img { max-height: 110px; max-width: 82%; pointer-events: none; }
    .verdict { border-radius: 6px; padding: 0.65rem 1rem; font-size: 0.9rem; font-weight: 500; display: none; }
    .verdict.pass { background: #eafaf1; color: #1e8449; border: 1px solid #a9dfbf; }
    .verdict.fail { background: #fdedec; color: #c0392b; border: 1px solid #f5b7b1; }
    .verdict .detail { font-size: 0.78rem; font-weight: 400; margin-top: 0.3rem; opacity: 0.85; }
    .error-msg { font-size: 0.75rem; color: #c0392b; min-height: 1rem; }