/* Page-specific styles (externalised for CSP style-src 'self') */

    /* ── Page-specific styles ── */

    .breadcrumb {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 0.8125rem;
      color: rgba(26, 26, 46, 0.48);
      margin-bottom: var(--space-sm);
    }

    .breadcrumb a {
      color: var(--color-navy);
      font-weight: 500;
      transition: opacity 150ms;
    }
    .breadcrumb a:hover { opacity: 0.75; }

    /* Value props */
    .value-props__grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--space-md);
    }

    .value-card {
      padding: var(--space-lg) var(--space-md);
      display: flex;
      flex-direction: column;
      gap: var(--space-sm);
    }

    .value-icon {
      width: 52px;
      height: 52px;
      display: flex;
      align-items: center;
      justify-content: center;
      background: rgba(6, 68, 108, 0.09);
      border-radius: var(--radius-md);
      color: var(--color-navy);
      flex-shrink: 0;
    }

    .value-card h4 {
      font-size: 1.0625rem;
      color: var(--color-charcoal);
    }

    .value-card p {
      font-size: 0.9375rem;
      color: rgba(26, 26, 46, 0.68);
      line-height: 1.65;
    }

    /* Document types (navy bg) */
    .doc-types__grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--space-md);
    }

    .doc-type-card {
      padding: var(--space-md);
      display: flex;
      flex-direction: column;
      gap: var(--space-sm);
      transition: background 200ms var(--ease-smooth), transform 200ms var(--ease-smooth);
    }

    .doc-type-card:hover {
      background: rgba(255, 255, 255, 0.08);
      transform: translateY(-2px);
    }

    .doc-type-icon {
      width: 40px;
      height: 40px;
      display: flex;
      align-items: center;
      justify-content: center;
      background: rgba(255, 255, 255, 0.10);
      border-radius: var(--radius-sm);
      color: rgba(255, 255, 255, 0.85);
    }

    .doc-type-card h4 {
      font-size: 1rem;
      color: var(--color-white);
    }

    .doc-fields {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin-top: 4px;
    }

    .doc-field {
      font-size: 0.6875rem;
      font-weight: 500;
      letter-spacing: 0.03em;
      color: rgba(255, 255, 255, 0.70);
      background: rgba(255, 255, 255, 0.10);
      border: 1px solid rgba(255, 255, 255, 0.14);
      border-radius: var(--radius-pill);
      padding: 3px 10px;
    }

    /* Feature cards */
    .features__grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: var(--space-md);
    }

    .feature-card {
      padding: var(--space-lg) var(--space-md);
      display: flex;
      flex-direction: column;
      gap: var(--space-sm);
    }

    .feature-icon {
      width: 48px;
      height: 48px;
      display: flex;
      align-items: center;
      justify-content: center;
      background: rgba(6, 68, 108, 0.08);
      border-radius: var(--radius-md);
      color: var(--color-navy);
      flex-shrink: 0;
    }

    .feature-card h4 {
      font-size: 1.0625rem;
      color: var(--color-charcoal);
    }

    .feature-card p {
      font-size: 0.9375rem;
      color: rgba(26, 26, 46, 0.68);
      line-height: 1.65;
    }

    /* FAQ */
    .faq__list {
      display: flex;
      flex-direction: column;
      gap: 10px;
      max-width: 800px;
      margin: 0 auto;
    }

    details.faq-item {
      background: var(--glass-bg);
      backdrop-filter: var(--glass-blur);
      -webkit-backdrop-filter: var(--glass-blur);
      border: 1px solid var(--glass-border);
      border-radius: var(--radius-md);
      overflow: hidden;
      transition: box-shadow 200ms var(--ease-smooth);
    }

    details.faq-item[open] {
      box-shadow: var(--glass-shadow);
    }

    summary.faq-q {
      list-style: none;
      padding: 20px var(--space-md);
      cursor: pointer;
      font-weight: 700;
      font-size: 1rem;
      color: var(--color-charcoal);
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: var(--space-sm);
      user-select: none;
    }

    summary.faq-q::-webkit-details-marker { display: none; }

    .faq-toggle {
      flex-shrink: 0;
      width: 20px;
      height: 20px;
      color: var(--color-navy);
      transition: transform 250ms var(--ease-smooth);
    }

    details[open] .faq-toggle {
      transform: rotate(45deg);
    }

    .faq-a {
      padding: 0 var(--space-md) var(--space-md);
      font-size: 0.9375rem;
      color: rgba(26, 26, 46, 0.70);
      line-height: 1.7;
    }

    /* ── Responsive ── */
    @media (max-width: 1024px) {
      .value-props__grid { grid-template-columns: 1fr; }
      .doc-types__grid { grid-template-columns: repeat(2, 1fr); }
    }

    @media (max-width: 768px) {
      .doc-types__grid { grid-template-columns: 1fr; }
      .features__grid { grid-template-columns: 1fr; }
    }
  
