* {
      box-sizing: border-box;
    }
    body {
      font-family: 'Inter', system-ui, -apple-system, sans-serif;
      background-color: #f2f5f9;
      color: #0b2241;
      overflow-x: hidden;
    }
    /* Custom scrollbar */
    ::-webkit-scrollbar {
      width: 8px;
      height: 8px;
    }
    ::-webkit-scrollbar-track {
      background: #e9eef5;
    }
    ::-webkit-scrollbar-thumb {
      background: #94a3b8;
      border-radius: 4px;
    }
    ::-webkit-scrollbar-thumb:hover {
      background: #64748b;
    }

    /* Hero Desktop Background with exact FKS Trophy & Refinery */
    .hero-desktop-bg {
      background-image: url("assets/hero_bg_clean.png");
      background-size: cover;
      background-position: center right;
      background-repeat: no-repeat;
    }

    /* CTA Pre-Footer Background */
    .cta-banner-bg {
      background-image: url("assets/cta_bg_clean.png");
      background-size: cover;
      background-position: left center;
      background-repeat: no-repeat;
    }

    /* Timeline vertical line */
    .timeline-track {
      position: relative;
    }
    .timeline-track::before {
      content: '';
      position: absolute;
      left: 7px;
      top: 10px;
      bottom: 10px;
      width: 2px;
      background: linear-gradient(180deg, #f26522 0%, #f59e0b 100%);
    }

    /* Simulated Device Viewport Modes */
    .viewport-frame-mobile {
      max-width: 400px !important;
      margin: 24px auto !important;
      border: 11px solid #1e293b !important;
      border-radius: 44px !important;
      box-shadow: 0 25px 60px -12px rgba(7, 23, 46, 0.5) !important;
      overflow: hidden !important;
      background: #f2f5f9 !important;
    }
    .viewport-frame-tablet {
      max-width: 780px !important;
      margin: 20px auto !important;
      border: 8px solid #334155 !important;
      border-radius: 28px !important;
      box-shadow: 0 20px 50px -12px rgba(7, 23, 46, 0.38) !important;
      overflow: hidden !important;
      background: #f2f5f9 !important;
    }

    /* Force mobile rules when in simulated mobile frame mode */
    .force-mobile .desktop-only-block {
      display: none !important;
    }
    .force-mobile .mobile-only-block {
      display: block !important;
    }
    .force-mobile .mobile-only-flex {
      display: flex !important;
    }
    .force-mobile .bento-row-1,
    .force-mobile .bento-row-2,
    .force-mobile .bento-row-3 {
      grid-template-columns: 1fr !important;
    }
    .force-mobile .stats-grid-container {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .force-mobile .stat-iso-card {
      display: none !important;
    }
    .force-mobile .featured-awards-grid {
      grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
      gap: 6px !important;
    }
    .force-mobile .featured-award-subtitle {
      display: none !important;
    }
    .force-mobile .featured-award-card {
      padding: 8px 4px !important;
    }
    .force-mobile .featured-award-title {
      font-size: 10.5px !important;
      line-height: 1.2 !important;
    }

    @keyframes fadeIn {
      from { opacity: 0; transform: translateY(6px); }
      to { opacity: 1; transform: translateY(0); }
    }
    .animate-fade-in {
      animation: fadeIn 0.25s ease-out forwards;
    }
