    @charset "UTF-8";

    * { margin: 0; padding: 0; box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      background-color: #060612;
      color: #e8e0d0;
      font-family: 'Inter', sans-serif;
      overflow-x: hidden;
    }

    ::-webkit-scrollbar { width: 8px; }
    ::-webkit-scrollbar-track { background: #0a0a1a; }
    ::-webkit-scrollbar-thumb { background: #c9a84c44; border-radius: 4px; }
    ::-webkit-scrollbar-thumb:hover { background: #c9a84c88; }

    
    #particles-canvas {
      position: fixed;
      top: 0; left: 0;
      width: 100%; height: 100%;
      pointer-events: none;
      z-index: 0;
    }

   
    .ornament-divider {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 16px;
      padding: 32px 0;
    }
    .ornament-line {
      height: 1px;
      width: 120px;
      background: linear-gradient(90deg, transparent, #c9a84c88, transparent);
    }
    .ornament-diamond {
      width: 10px; height: 10px;
      background: #c9a84c;
      transform: rotate(45deg);
      box-shadow: 0 0 12px #c9a84c88;
    }

    
    .map-frame {
      position: relative;
      border: 2px solid #c9a84c55;
      border-radius: 4px;
      background: linear-gradient(135deg, #0d1033, #1a1040);
      overflow: hidden;
    }
    .map-frame::before,
    .map-frame::after {
      content: '';
      position: absolute;
      width: 40px; height: 40px;
      border: 2px solid #c9a84c;
      z-index: 2;
    }
    .map-frame::before {
      top: 8px; left: 8px;
      border-right: none; border-bottom: none;
    }
    .map-frame::after {
      bottom: 8px; right: 8px;
      border-left: none; border-top: none;
    }
    .map-frame .corner-br,
    .map-frame .corner-tr,
    .map-frame .corner-bl {
      position: absolute;
      width: 40px; height: 40px;
      border: 2px solid #c9a84c;
      z-index: 2;
    }
    .map-frame .corner-tr {
      top: 8px; right: 8px;
      border-left: none; border-bottom: none;
    }
    .map-frame .corner-bl {
      bottom: 8px; left: 8px;
      border-right: none; border-top: none;
    }

    
    .gold-glow {
      box-shadow: 0 0 20px #c9a84c22, 0 0 60px #c9a84c11;
    }
    .gold-glow-hover:hover {
      box-shadow: 0 0 25px #c9a84c44, 0 0 80px #c9a84c22;
    }

    
    .kingdom-card {
      background: linear-gradient(145deg, #0d103388, #1a104066);
      border: 1px solid #c9a84c33;
      border-radius: 8px;
      padding: 28px 24px;
      transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      position: relative;
      overflow: hidden;
      cursor: pointer;
    }
    .kingdom-card::before {
      content: '';
      position: absolute;
      top: 0; left: 0;
      width: 100%; height: 100%;
      background: radial-gradient(ellipse at top, #c9a84c08, transparent 70%);
      opacity: 0;
      transition: opacity 0.4s ease;
    }
    .kingdom-card:hover::before { opacity: 1; }
    .kingdom-card:hover {
      transform: translateY(-8px) scale(1.02);
      border-color: #c9a84c88;
      box-shadow: 0 12px 40px #c9a84c22, 0 0 30px #c9a84c11;
    }
    .kingdom-card .card-icon {
      width: 52px; height: 52px;
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 16px;
      transition: all 0.4s ease;
    }
    .kingdom-card:hover .card-icon {
      transform: scale(1.1);
      box-shadow: 0 0 20px var(--icon-glow);
    }

   
    .reveal {
      opacity: 0;
      transform: translateY(40px);
      transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .reveal.visible {
      opacity: 1;
      transform: translateY(0);
    }
    .reveal-delay-1 { transition-delay: 0.1s; }
    .reveal-delay-2 { transition-delay: 0.2s; }
    .reveal-delay-3 { transition-delay: 0.3s; }
    .reveal-delay-4 { transition-delay: 0.4s; }

    
    .hero-bg {
      background:
        radial-gradient(ellipse at 20% 50%, #1a104066, transparent 60%),
        radial-gradient(ellipse at 80% 20%, #0d103366, transparent 50%),
        radial-gradient(ellipse at 50% 80%, #1a104044, transparent 60%),
        linear-gradient(180deg, #060612, #0a0a1a, #060612);
    }

   
    .fog-overlay {
      position: absolute;
      top: 0; left: 0;
      width: 100%; height: 100%;
      background:
        radial-gradient(ellipse at 30% 20%, #c9a84c06, transparent 50%),
        radial-gradient(ellipse at 70% 60%, #4a8bb506, transparent 50%);
      pointer-events: none;
    }

    /* Title shimmer */
    @keyframes shimmer {
      0% { background-position: -200% center; }
      100% { background-position: 200% center; }
    }
    .text-shimmer {
      background: linear-gradient(90deg, #c9a84c, #e8d48b, #c9a84c, #e8d48b, #c9a84c);
      background-size: 200% auto;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      animation: shimmer 6s linear infinite;
    }

    
    @keyframes rune-pulse {
      0%, 100% { opacity: 0.3; transform: scale(1); }
      50% { opacity: 0.6; transform: scale(1.05); }
    }
    .rune-bg {
      animation: rune-pulse 4s ease-in-out infinite;
    }

    
    .map-image-wrapper {
      overflow: hidden;
      border-radius: 4px;
    }
    .map-image-wrapper img {
      transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), filter 0.4s ease;
    }
    .map-image-wrapper:hover img {
      transform: scale(1.05);
      filter: brightness(1.1);
    }

    
    .nav-link {
      position: relative;
      color: #c9a84ccc;
      transition: color 0.3s ease;
    }
    .nav-link::after {
      content: '';
      position: absolute;
      bottom: -4px; left: 0;
      width: 0; height: 1px;
      background: #c9a84c;
      transition: width 0.3s ease;
    }
    .nav-link:hover { color: #e8d48b; }
    .nav-link:hover::after { width: 100%; }

    
    .section-title {
      font-family: 'Cinzel', serif;
      font-weight: 700;
      letter-spacing: 0.08em;
      color: #c9a84c;
      position: relative;
      display: inline-block;
    }
    .section-title::after {
      content: '';
      display: block;
      width: 60%;
      height: 2px;
      background: linear-gradient(90deg, #c9a84c, transparent);
      margin-top: 8px;
    }

    
    @keyframes danger-pulse {
      0%, 100% { box-shadow: 0 0 0 0 #8b1a1a44; }
      50% { box-shadow: 0 0 20px 4px #8b1a1a44; }
    }
    .danger-card { animation: danger-pulse 3s ease-in-out infinite; }

    
    @keyframes float {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-10px); }
    }
    .floating { animation: float 6s ease-in-out infinite; }

    
    .mobile-menu {
      transform: translateX(100%);
      transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .mobile-menu.open { transform: translateX(0); }