  html { scroll-behavior: smooth; }
  body { font-family: 'Inter', sans-serif; color: #111827; }
  h1, h2, h3, .font-display { font-family: 'Space Grotesk', sans-serif; }

  .grid-overlay {
    background-image:
      linear-gradient(rgba(23,50,79,0.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(23,50,79,0.05) 1px, transparent 1px);
    background-size: 44px 44px;
  }

  .orbit-ring {
    border: 1.5px solid rgba(201,163,86,0.55);
    border-radius: 999px;
  }

  .node-pulse {
    animation: pulse-node 2.6s ease-in-out infinite;
  }
  @keyframes pulse-node {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.55; transform: scale(0.85); }
  }

  .service-card { transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
  .service-card:hover { transform: translateY(-6px); box-shadow: 0 20px 40px -18px rgba(23,50,79,0.35); border-color: #C9A356; }

  .step-line { background: repeating-linear-gradient(90deg, #C9A356 0 8px, transparent 8px 16px); }

  .btn-gold { background: #C9A356; color: #17324F; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
  .btn-gold:hover { background: #E4C888; transform: translateY(-2px); box-shadow: 0 10px 24px -10px rgba(201,163,86,0.6); }

  .btn-navy-outline { border: 1.5px solid #C9A356; background: #17324F; color: #FFFFFF; transition: transform .2s ease, box-shadow .2s ease; }
  .btn-navy-outline:hover { transform: translateY(-2px); box-shadow: 0 10px 24px -10px rgba(23,50,79,0.5); }

  .btn-white-outline { border: 1.5px solid #17324F; background: #FFFFFF; color: #17324F; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
  .btn-white-outline:hover { background: #17324F; color: #FFFFFF; transform: translateY(-2px); }

  .fade-up { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
  .fade-up.visible { opacity: 1; transform: translateY(0); }

  .accordion-content { max-height: 0; overflow: hidden; transition: max-height .35s ease; }

  .mono-emblem {
    width: 40px; height: 40px;
  }

  ::selection { background: #C9A356; color: #17324F; }

  input:focus, select:focus, textarea:focus { outline: none; box-shadow: 0 0 0 3px rgba(201,163,86,0.45); }

  @media (prefers-reduced-motion: reduce) {
    * { animation: none !important; transition: none !important; }
  }
