* { margin: 0; padding: 0; box-sizing: border-box; }
    body { font-family: Arial, sans-serif; }

    :root {
      --active-nav-color: #003466;
    }

    .top-bar {
      height: 4px;
      background: #c8102e;
    }

    .main-nav {
      background: var(--active-nav-color); /* Use variable */
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 24px;
      height: 60px;
      /* Border removed as it was invisible on same-colored background */
    }

    .logo {
      display: flex;
      align-items: center;
      text-decoration: none;
      color: white;
    }

    .logo-fox {
      font-family: 'Arial Black', sans-serif;
      font-weight: 900;
      font-size: 28px;
      letter-spacing: -2px;
      margin-right: 4px;
    }

    .logo-news {
      font-family: Arial, sans-serif;
      font-weight: 700;
      font-size: 28px;
      text-transform: uppercase;
    }

    .nav-actions {
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .btn-login {
      background: #1a4c7a; /* Slightly lighter blue for button */
      color: white;
      border: none;
      padding: 8px 20px;
      font-size: 15px;
      font-weight: 700;
      cursor: pointer;
      border-radius: 4px;
    }

    .btn-watch {
      background: #c8102e;
      color: white;
      border: none;
      padding: 8px 20px;
      font-size: 15px;
      font-weight: 700;
      cursor: pointer;
      border-radius: 4px;
    }

    .hamburger {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      width: 24px;
      height: 18px;
      background: none;
      border: none;
      cursor: pointer;
      margin-left: 8px;
      padding: 0;
    }

    .hamburger span {
      display: block;
      width: 100%;
      height: 2px;
      background: white;
      border-radius: 2px;
    }

    /* Sub-nav styling */
    .topic-nav-wrapper {
      background: #e8e8e8; /* Updated to match user's cutout color */
      border-bottom: 3px solid var(--active-nav-color); /* Added blue border here where it's visible */
    }

    .topic-nav {
      display: flex;
      align-items: flex-end; /* Align bottom to support tab shape */
      padding: 0 24px; /* Align with main nav padding */
      height: 54px;
      gap: 12px;
      justify-content: center; /* Center content on desktop */
      overflow-x: auto; /* Enable horizontal scrolling */
      -webkit-overflow-scrolling: touch; /* Smooth scrolling on iOS */
      scrollbar-width: none; /* Hide scrollbar for Firefox */
    }
    
    /* Hide scrollbar for Chrome, Safari and Opera */
    .topic-nav::-webkit-scrollbar {
      display: none;
    }

    /* Container for the active tab */
    .topic-nav-item {
      position: relative;
      height: 44px; /* Fixed height */
      margin-bottom: -1px; /* Overlap bottom border */
      z-index: 10;
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    /* Inner Link styling */
    .nav-item-label {
      background: var(--active-nav-color);
      color: white;
      text-decoration: none;
      font-weight: 700;
      font-size: 14px;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0 24px;
      height: 100%;
      border-radius: 10px 10px 0 0; /* Rounded top corners */
      position: relative;
      z-index: 2; /* Sit above the cutouts */
      box-shadow: 0 -2px 4px rgba(0,0,0,0.15);
      letter-spacing: 0.5px;
    }

    /* Blue extensions (from user request 1) */
    .topic-nav-item.active .nav-item-label::after { 
        content: ""; 
        position: absolute; 
        bottom: -8px; 
        right: -8px; 
        width: calc(50% + 9px); 
        height: 9px; 
        background-color: var(--active-nav-color);
        z-index: -1;
    } 
    
    .topic-nav-item.active .nav-item-label::before { 
        content: ""; 
        position: absolute; 
        bottom: -8px; 
        left: -8px; 
        width: calc(50% + 9px); 
        height: 9px; 
        background-color: var(--active-nav-color);
        z-index: -1;
    }

    /* Gray cutouts (from user request 2) */
    .topic-nav-item.active::before { 
        content: ""; 
        position: absolute; 
        bottom: -6px; 
        left: -8px; 
        width: 8px; 
        height: calc(100% + 12px); 
        background-color: #e8e8e8; 
        border-radius: 0 0 16px 0; 
        z-index: 1;
    } 
    
    .topic-nav-item.active::after { 
        content: ""; 
        position: absolute; 
        bottom: -6px; 
        right: -8px; 
        width: 8px; 
        height: calc(100% + 12px); 
        background-color: #e8e8e8; 
        border-radius: 0 0 0 16px; 
        z-index: 1;
    }

    .nav-item-label:hover {
      background: #002244;
    }

    /* Adjust hover effect for the pseudo elements too if needed, but keeping simple for now */

    .tab-item {
      background: white;
      text-decoration: none;
      padding: 8px 20px;
      border-radius: 20px; /* Pill shape */
      font-size: 15px;
      font-weight: 700;
      letter-spacing: -0.5px;
      text-transform: uppercase;
      box-shadow: 0 1px 2px rgba(0,0,0,0.05);
      display: flex;
      align-items: center;
      white-space: nowrap;
      flex-shrink: 0; /* Prevent shrinking */
      margin-bottom: 8px; /* Lift up slightly since container is flex-end */
    }

    /* Mobile Responsive Styles */
    @media (max-width: 768px) {
      .main-nav {
        padding: 0 16px;
      }
      
      .topic-nav {
        padding: 0 16px; /* Match main nav padding */
        justify-content: flex-start; /* Left align on mobile for scrolling */
      }

      .logo-fox, .logo-news {
        font-size: 20px; /* Slightly smaller logo to fit everything */
      }
      
      .btn-login {
        padding: 6px 12px;
        font-size: 13px;
      }
      
      .btn-watch {
        padding: 6px 12px;
        font-size: 13px;
      }
      
      .tab-home {
        padding: 0 16px; /* Adjust padding for mobile */
      }
      
      .tab-item {
        padding: 6px 16px;
        font-size: 12px;
      }
    }

    /* Small mobile screens */
    @media (max-width: 550px) {
      .nav-actions {
        gap: 6px;
      }

      .btn-login, .btn-watch {
        padding: 4px 8px;
        font-size: 11px;
      }

      .hamburger {
        width: 20px;
        height: 16px;
        margin-left: 4px;
      }

      .hamburger span {
        height: 2px;
      }
    }

    .tab-item.blue-text {
      color: #0052BD;
    }

    .tab-item.red-text {
      color: #FF0000;
    }

    .tab-item:hover {
      background-color: #fff;
      box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    }