    /* AOS animations */
    [data-aos] { opacity: 0; transform: translateY(30px); transition: opacity .6s ease, transform .6s ease; }
    [data-aos].aos-animate { opacity: 1; transform: translateY(0); }
    [data-aos-delay="80"]  { transition-delay: .08s; }
    [data-aos-delay="160"] { transition-delay: .16s; }
    [data-aos-delay="240"] { transition-delay: .24s; }
    [data-aos-delay="320"] { transition-delay: .32s; }
    [data-aos-delay="400"] { transition-delay: .40s; }
    [data-aos-delay="480"] { transition-delay: .48s; }

    /* ── SPA routing ── */

    /* ── About page styles ── */
    .mission-card { position: relative; overflow: hidden; background: var(--gradient); border-radius: var(--radius-lg); padding: 38px; height: 100%; color: var(--white); box-shadow: var(--shadow); transition: var(--transition); }
    .mission-card::before { content: ''; position: absolute; inset: 0; background: var(--gradient-mesh); pointer-events: none; }
    .mission-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-hover); }
    .mission-card .m-icon { position: relative; font-size: 2.3rem; color: var(--gold); margin-bottom: 18px; width: 60px; height: 60px; display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,.1); border-radius: 16px; }
    .mission-card h4 { position: relative; font-weight: 800; margin-bottom: 14px; font-size: 1.2rem; }
    .mission-card p { position: relative; color: rgba(255,255,255,.82); font-size: .9rem; line-height: 1.85; margin: 0; }
    .timeline { position: relative; padding-inline-start: 40px; }
    .timeline::before { content: ''; position: absolute; right: 0; top: 0; bottom: 0; width: 2px; background: linear-gradient(var(--border), var(--secondary), var(--border)); }
    [dir="ltr"] .timeline::before { right: auto; left: 0; }
    .timeline-item { position: relative; margin-bottom: 34px; transition: var(--transition-fast); }
    .timeline-item:hover { transform: translateX(-3px); }
    [dir="ltr"] .timeline-item:hover { transform: translateX(3px); }
    .timeline-item::before { content: ''; position: absolute; right: -47px; top: 6px; width: 14px; height: 14px; border-radius: 50%; background: var(--secondary); border: 3px solid var(--surface); box-shadow: 0 0 0 4px rgba(var(--secondary-rgb),.18); }
    [dir="ltr"] .timeline-item::before { right: auto; left: -47px; }
    .timeline-year { font-size: .78rem; font-weight: 800; color: var(--accent); margin-bottom: 5px; letter-spacing: .3px; text-transform: uppercase; }
    .timeline-item h5 { font-weight: 700; color: var(--primary); margin-bottom: 7px; font-size: .97rem; }
    .timeline-item p { font-size: .85rem; color: var(--muted); margin: 0; line-height: 1.75; }

    /* ── Services page styles ── */
    .process-step { display: flex; align-items: flex-start; gap: 22px; margin-bottom: 34px; }
    .step-num { width: 50px; height: 50px; border-radius: 50%; background: var(--gradient); color: var(--white); font-weight: 900; font-size: 1.1rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0; box-shadow: 0 8px 22px rgba(var(--secondary-rgb),.3); }
    .step-content h5 { font-weight: 700; color: var(--primary); margin-bottom: 7px; }
    .step-content p { font-size: .88rem; color: var(--muted); margin: 0; line-height: 1.75; }
    .process-line { position: relative; }
    .process-line::before { content: ''; position: absolute; right: 24px; top: 50px; bottom: 34px; width: 2px; background: var(--border); }
    [dir="ltr"] .process-line::before { right: auto; left: 24px; }
    .cert-badge { background: var(--surface); border: 1.5px solid var(--border); border-radius: var(--radius); padding: 26px; text-align: center; transition: var(--transition); }
    .cert-badge:hover { border-color: transparent; transform: translateY(-6px); box-shadow: var(--shadow-hover); }
    .cert-badge .cert-icon { font-size: 2rem; color: var(--gold); margin-bottom: 12px; transition: var(--transition-fast); }
    .cert-badge:hover .cert-icon { transform: scale(1.12); }
    .cert-badge h6 { font-weight: 700; color: var(--primary); font-size: .9rem; margin: 0; }

    /* ── Contact page styles ── */
    .map-placeholder { background: var(--gradient); border-radius: var(--radius); height: 280px; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,.3); font-size: 4rem; margin-top: 24px; position: relative; overflow: hidden; }
    .map-placeholder::before { content: ''; position: absolute; inset: 0; background: var(--gradient-mesh); }

    /* ── Inline responsive fixes ── */
    @media (max-width: 767px) {
      .timeline { padding-inline-start: 28px; }
      .timeline-item::before { right: -35px; width: 12px; height: 12px; }
      [dir="ltr"] .timeline-item::before { right: auto; left: -35px; }
      .process-step { gap: 14px; }
      .step-num { width: 40px; height: 40px; font-size: 1rem; flex-shrink: 0; }
      .mission-card { padding: 24px; }
      .cert-badge { padding: 16px; }
    }
    @media (max-width: 575px) {
      .page-header-inline { padding: 110px 0 50px; }
      .timeline { padding-inline-start: 22px; }
      .process-line::before { display: none; }
      .cert-badge .cert-icon { font-size: 1.5rem; }
    }

    /* ── Clients Section ── */
    .clients-section { background: var(--surface-2); padding: 80px 0; border-top: 1px solid var(--border); overflow: hidden; }
    .clients-marquee-wrap {
      overflow: hidden;
      direction: ltr;
      -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 12%, #000 88%, transparent 100%);
      mask-image: linear-gradient(to right, transparent 0%, #000 12%, #000 88%, transparent 100%);
    }
    .clients-track {
      display: flex;
      align-items: flex-start;
      gap: 88px;
      width: max-content;
      animation: clientsMarquee 30s linear infinite;
    }
    .clients-track:hover { animation-play-state: paused; }
    .client-item {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 10px;
      flex-shrink: 0;
      cursor: default;
      height: 110px;
    }
    .client-logo {
      height: 80px;
      width: auto;
      max-width: 190px;
      object-fit: contain;
      filter: opacity(0.5) grayscale(.15);
      transition: filter .35s var(--ease-spring), transform .35s var(--ease-spring);
      flex-shrink: 0;
    }
    .client-item:hover .client-logo { filter: opacity(1) grayscale(0); transform: scale(1.1) translateY(-2px); }
    .client-name {
      font-size: .78rem;
      font-weight: 700;
      color: var(--secondary);
      opacity: 0;
      transition: opacity .3s;
      text-align: center;
      max-width: 190px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      letter-spacing: .01em;
    }
    .client-item:hover .client-name { opacity: 1; }
    @keyframes clientsMarquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
