body {
        color: #ffffff; /* Default text color for body, overridden by h1/h2 */
        font-family: Arial, sans-serif;
        font-size:14px;
        -moz-transition-property: text-shadow;
        -webkit-transition-property: text-shadow;
        transition-property: text-shadow;
        -moz-transition-duration: 4s;
        -webkit-transition-duration: 4s;
        transition-duration: 4s;
        text-shadow: none;
      }
      a {
        color: #55aaff;
      }
      .textColumn, .linksColumn {
        padding: 2em;
      }
      .textColumn {
        position: absolute;
        top: 0px;
        right: 50%;
        bottom: 0px;
        left: 0px;

        text-align: right;
        padding-top: 3em; /* Reduced padding-top */
        background-color: #73A53E;

      }
      .textColumn p {
        width: 75%;
        float:right;
      }
      .linksColumn {
        position: absolute;
        top:0px;
        right: 0px;
        bottom: 0px;
        left: 50%;

        background-color: #33342D;
      }

      h1 {
        color: #33342D;
        font-size: 380%; /* Reduced from 500% for a more balanced look */
        font-weight: 600;  /* Bolder than 'normal' for more impact */
        margin-top: 0.5em; /* Added some top margin */
        margin-bottom: 0.3em; /* Slightly increased from 0em for spacing */
        line-height: 1.2;     /* Improves readability if text wraps */
        letter-spacing: -0.02em; /* Subtle refinement for large text */
      }
      h2 {
        color: #33342D;
        font-size: 180%; /* Reduced from 200% */
        font-weight: 400;  /* Equivalent to 'normal', explicitly set */
        margin-bottom: 1em;  /* Increased spacing before content below */
        line-height: 1.4;     /* Improves readability if text wraps */
        letter-spacing: 0.005em; /* Very subtle refinement */
      }
      ul {
        padding-left: 1em;
        margin: 0px;
      }

      li {
        margin: 1em 0em;
      }
      /* Styles for the main content centering */
      .centered-content {
        text-align: center; /* Centers inline/inline-block children like text in h1/h2 */
        padding-top: 2em;   /* Adds some space from the top of the viewport */
        position: relative; /* Allows z-index to ensure it's above other elements */
        z-index: 10;        /* Ensures this content is on top of the background columns */
      }

      /* Styles for the carousel */
      .carousel-container {
        max-width: 42.5%; /* Adjust as needed, similar to previous image styling */
        margin-top: 1.5em; /* Space above the image */
        margin-bottom: 1.5em; /* Space below the image */
        margin-left: auto; /* Centers the block-level container */
        margin-right: auto; /* Centers the block-level container */
        position: relative; /* Establishes a positioning context if needed for future controls */
      }
      .carousel-image {
        /* display: none; Hide images by default - replaced by opacity and positioning */
        position: absolute; /* Allow images to stack for fade effect */
        top: 0;
        left: 0;
        opacity: 0; /* Hidden by default using opacity */
        width: 100%;   /* Image takes full width of its container */
        height: auto;  /* Maintain aspect ratio */
        vertical-align: middle; /* Good practice for images */
        transition: opacity 1.5s ease-in-out; /* Duration and timing of the fade */
      }
      .carousel-image.active {
        opacity: 1; /* Show the active image by making it opaque */
      }

      /* Styles for AI Promotion Section */
      .promotion-section {
        margin-top: 2.5em; /* Space above the promotion section */
        padding: 1.5em;
        background-color: #f8f9fa; /* A very light grey background */
        border: 1px solid #dee2e6; /* Subtle border */
        border-radius: 8px;
        text-align: center; /* Center the content of the promotion box */
      }
      .promotion-section h3 {
        margin-top: 0;
        margin-bottom: 0.75em;
        color: #33342D; /* Match other heading colors */
        font-size: 1.6em;
      }
      .promotion-section p {
        margin-bottom: 0.5em;
        color: #333; /* Dark text color for readability */
        font-size: 1em;
        line-height: 1.6;
      }
      .promotion-section a {
        color: #007bff; /* Standard link blue */
        font-weight: bold;
        text-decoration: none;
      }
      .promotion-section a:hover {
        color: #0056b3;
        text-decoration: underline;
      }

      /* Styles for the highlighted action button */
      .highlight-button {
        display: inline-block; /* Allows padding, margin, and centering */
        padding: 10px 20px;    /* Button-like padding */
        margin-top: 0.5em;     /* Space from the H2 above */
        margin-bottom: 1.5em;  /* Space before the H2 below */
        color: #007bff;       /* Matches nav link color */
        background-color: #ffffff; /* White background, similar to nav menu */
        border: 2px solid #007bff; /* Border with nav link color */
        border-radius: 5px;    /* Rounded corners */
        font-weight: bold;     /* Matches nav link font-weight */
        text-decoration: none; /* No underline by default, like nav links */
        transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;
        cursor: pointer;
      }

      .highlight-button:hover {
        color: #0056b3;           /* Matches nav link hover color */
        background-color: #ffffff; /* Keep background white on hover */
        border-color: #0056b3;     /* Matches nav link hover color for border */
        text-decoration: underline;/* Underline on hover, like nav links */
      }
      .language-switcher {
        /* Ensure language switcher is centered and has appropriate margins */
        display: flex; /* Use flexbox to center buttons */
        justify-content: center; /* Center buttons horizontally */
        align-items: center; /* Vertically align items */
        text-align: center;
        margin-top: 15px; /* Adjust as needed */
        margin-bottom: 20px;
      }
      .language-switcher button {
        background-color: transparent;
        border: none;
        padding: 0;
        margin: 0 5px;
        cursor: pointer;
        border-radius: 5px; /* Rounded corners for the button/outline */
        transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
        outline: 2px solid transparent; /* For focus and active state */
        outline-offset: 2px;
      }
      .language-switcher button:hover {
        transform: scale(1.1); /* Enlarge on hover */
      }
      .language-switcher button.active {
        outline-color: #007bff; /* Highlight active language */
        box-shadow: 0 0 8px rgba(0, 123, 255, 0.6); /* Add a glow */
      }
      .lang-flag {
        width: 36px; /* Larger flag */
        height: auto;
        border: 1px solid #ddd;
        border-radius: 4px; /* Rounded corners for the flag image */
        display: block; /* Remove extra space below image */
      }
      .site-footer {
        margin-top: 3em;
        margin-bottom: 2em;
        padding: 1em;
        font-size: 0.9em;
        color: #555; /* A mid-dark grey for footer text */
        text-align: center;
      }
      .site-footer a {
        color: #007bff; /* Use the primary link color */
        text-decoration: none;
        margin: 0 10px; /* Space between links */
      }
      .site-footer a:hover {
        text-decoration: underline;
      }
      /* Styles for the top-right menu */
      .top-right-menu {
        position: absolute;
        top: 20px; /* Adjust distance from the top */
        right: 20px; /* Adjust distance from the right */
        background-color: #ffffff;
        padding: 15px 20px;
        border: 2px solid #007bff; /* Prominent blue border */
        border-radius: 5px;
        z-index: 1000;
        box-shadow: 0 2px 8px rgba(0,0,0,0.1); /* Subtle shadow for better visibility */
      }

      .top-right-menu ul {
        list-style-type: none;
        margin: 0;
        padding: 0;
      }

      .top-right-menu ul li {
        margin-bottom: 8px;
      }

      .top-right-menu ul li:last-child {
        margin-bottom: 0;
      }

      .top-right-menu ul li a {
        text-decoration: none;
        color: #007bff;
        font-weight: bold;
        display: block;
      }

      .top-right-menu ul li a:hover {
        text-decoration: underline;
        color: #0056b3;
      }
      /* Auth Links Styles */
      #auth-container {
        margin-top: 10px;
        padding-top: 10px;
        border-top: 1px solid #eee;
        font-size: 0.9em;
        text-align: center;
      }
      #auth-container a {
        font-weight: normal;
      }
      .user-session span {
        margin-right: 10px;
        font-weight: bold;
      }
      #logout-btn {
        background-color: #dc3545; color: white; border: none;
        padding: 4px 8px; border-radius: 3px; cursor: pointer;
        font-size: 0.9em;
      }
      #logout-btn:hover { background-color: #c82333; }