   /* General Body and Resets */
        body, html {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Inter', sans-serif;
            background-color: #f0f4f8; /* Light gray background for the page */
        }

        body {
            display: flex;
            flex-direction: column;
            min-height: 100vh;
        }

        main {
            flex-grow: 1;
        }

        a {
            text-decoration: none;
            color: inherit;
        }

        /* Container */
        .container {
            width: 100%;
            margin-left: auto;
            margin-right: auto;
            padding-left: 1rem; /* 16px */
            padding-right: 1rem; /* 16px */
        }

        @media (min-width: 640px) {
            .container {
                max-width: 640px;
                padding-left: 1.5rem; /* 24px */
                padding-right: 1.5rem; /* 24px */
            }
        }
        @media (min-width: 768px) {
            .container {
                max-width: 768px;
            }
        }
        @media (min-width: 1024px) {
            .container {
                max-width: 1024px;
                padding-left: 2rem; /* 32px */
                padding-right: 2rem; /* 32px */
            }
        }
        @media (min-width: 1280px) {
            .container {
                max-width: 1280px;
            }
        }

        /* Custom PSSSB Theme */
        .psssb-primary {
            background-color: #003366; /* Dark Blue */
            color: white;
        }

        .psssb-secondary {
            background-color: #00509e; /* Lighter Blue */
        }

        .psssb-accent {
            color: #ffc107; /* Amber/Gold */
        }
        
        /* Header */
        header {
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
            position: sticky;
            top: 0;
            z-index: 50;
        }
        
        header nav .flex-container {
            display: flex;
            align-items: center;
            justify-content: space-between;
            height: 5rem; /* 80px */
        }
        
        header nav .logo-container {
            display: flex;
            align-items: center;
        }

        header nav .logo-container img {
            height: 2.5rem; /* 40px */
            width: 2.5rem; /* 40px */
            margin-right: 0.75rem; /* 12px */
        }

        header nav .logo-text a {
            color: white;
            font-size: 1.25rem; /* 20px */
            font-weight: 700;
            line-height: 1.25;
            display: block;
        }

        header nav .logo-text p {
            color: #d1d5db; /* gray-300 */
            font-size: 0.75rem; /* 12px */
        }

        .nav-links-desktop {
            display: none;
        }

        @media (min-width: 768px) {
            .nav-links-desktop {
                display: flex;
                align-items: center;
                gap: 1rem; /* space-x-4 */
            }
            .mobile-menu-button-container {
                display: none;
            }
        }

        .nav-link {
            padding: 0.5rem 0.75rem;
            border-radius: 0.375rem;
            font-size: 0.875rem;
            font-weight: 500;
            color: #d1d5db; /* gray-300 */
            transition: color 0.2s, background-color 0.2s;
        }

        .nav-link:hover {
            background-color: #374151; /* gray-700 */
            color: white;
        }

        #mobile-menu {
            background-color: #1f2937; /* gray-800 */
        }

        #mobile-menu a.nav-link {
            display: block;
            padding: 0.75rem 1rem;
        }

        .mobile-menu-button {
            color: #d1d5db; /* gray-300 */
            background: none;
            border: none;
            cursor: pointer;
        }

        .mobile-menu-button:hover,
        .mobile-menu-button:focus {
            color: white;
            outline: none;
        }

        .mobile-menu-button svg {
            height: 1.5rem; /* 24px */
            width: 1.5rem; /* 24px */
        }

        /* Hero Section */
        .hero-section {
            padding-top: 5rem; /* 80px */
            padding-bottom: 5rem; /* 80px */
            text-align: center;
        }

        @media (min-width: 768px) {
            .hero-section {
                
                padding-bottom: 8rem; /* 128px */
            }
        }

        .hero-section h1 {
            font-size: 2.25rem; /* 36px */
            font-weight: 700;
            margin-bottom: 1.5rem; /* 24px */
            line-height: 1.2;
        }

        @media (min-width: 640px) {
            .hero-section h1 {
                font-size: 3rem; /* 48px */
            }
        }
        @media (min-width: 768px) {
            .hero-section h1 {
                font-size: 3.75rem; /* 60px */
            }
        }
        
        .hero-section p {
            font-size: 1.125rem; /* 18px */
            margin-bottom: 2.5rem; /* 40px */
            color: #e5e7eb; /* gray-200 */
            max-width: 56rem; /* max-w-3xl */
            margin-left: auto;
            margin-right: auto;
        }
        
        @media (min-width: 640px) {
            .hero-section p {
                font-size: 1.25rem; /* 20px */
            }
        }

        @media (min-width: 768px) {
            .hero-section p {
                font-size: 1.5rem; /* 24px */
            }
        }
        
        .hero-buttons > a {
            display: inline-block;
            margin-bottom: 1rem;
        }
        
        @media (min-width: 640px) {
            .hero-buttons {
                display: flex;
                justify-content: center;
                gap: 1rem;
            }
            .hero-buttons > a {
                margin-bottom: 0;
            }
        }

        /* Buttons */
        .btn {
            font-weight: 600;
            padding: 0.75rem 1.5rem;
            border-radius: 0.5rem;
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
            transition: transform 0.2s, background-color 0.2s, color 0.2s;
            display: inline-block;
        }
        .btn:hover {
            transform: scale(1.05);
        }

        .btn-primary {
            background-color: white;
            color: #3b82f6; /* blue-700 */
        }
        .btn-primary:hover {
            background-color: #f3f4f6; /* gray-100 */
        }

        .btn-secondary {
            background-color: transparent;
            border: 2px solid white;
            color: white;
        }
        .btn-secondary:hover {
            background-color: white;
            color: #3b82f6; /* blue-700 */
        }
        
        .btn-view-all {
            background-color: #2563eb; /* blue-600 */
            color: white;
            font-weight: 600;
            padding: 0.75rem 2rem;
            border-radius: 0.5rem;
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
            transition: background-color 0.2s;
        }
        .btn-view-all:hover {
            background-color: #1d4ed8; /* blue-700 */
        }

        /* Sections */
        section {
            padding-top: 4rem; /* 64px */
            padding-bottom: 4rem; /* 64px */
        }
        
        .section-title {
            font-size: 1.875rem; /* 30px */
            font-weight: 700;
            color: #1f2937; /* gray-800 */
            margin-bottom: 2rem; /* 32px */
            text-align: center;
        }
        
        /* Prose (Content) Styles */
        .prose h3 {
            font-size: 1.5rem; /* 24px */
            font-weight: 600;
            color: #374151; /* gray-700 */
            margin-top: 1.5rem; /* 24px */
            margin-bottom: 0.75rem; /* 12px */
        }
        .prose p {
            margin-bottom: 1rem; /* 16px */
            line-height: 1.625;
            color: #374151; /* gray-700 */
        }
        .prose ul {
            list-style-type: disc;
            list-style-position: inside;
            margin-bottom: 1rem; /* 16px */
            padding-left: 1rem; /* 16px */
        }
        .prose li {
            margin-bottom: 0.5rem; /* 8px */
        }

        @media (min-width: 1024px) {
            .lg-prose-xl p { font-size: 1.25rem; }
        }
        
        .max-w-none { max-width: none; }

        /* Advertisements Section */
        #advertisements { background-color: #f3f4f6; } /* gray-100 */

        .grid {
            display: grid;
            gap: 2rem; /* 32px */
        }

        @media (min-width: 768px) {
            .md-grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
        }
        @media (min-width: 1024px) {
            .lg-grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
        }

        .advertisement-card {
            background-color: white;
            padding: 1.5rem; /* 24px */
            border-radius: 0.5rem; /* 8px */
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
            transition: box-shadow 0.3s ease;
        }
        .advertisement-card:hover {
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
        }
        .advertisement-card h3 {
            font-size: 1.25rem;
            font-weight: 600;
            color: #1d4ed8; /* blue-700 */
            margin-bottom: 0.5rem;
        }
        .advertisement-card p {
            color: #4b5563; /* gray-600 */
            margin-bottom: 0.25rem;
        }
        .advertisement-card p.last {
            margin-bottom: 1rem;
        }
        .advertisement-card span {
            font-weight: 500;
        }
        .advertisement-card a {
            color: #2563eb; /* blue-600 */
            font-weight: 500;
        }
        .advertisement-card a:hover {
            color: #1d4ed8; /* blue-800 */
        }

        .text-center { text-align: center; }
        .mt-12 { margin-top: 3rem; }

        /* Results Section */
        #results { background-color: white; }
        .table-container {
            overflow-x: auto;
            background-color: white;
            border-radius: 0.5rem;
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
        }
        table {
            min-width: 100%;
            border-collapse: collapse;
        }
        thead {
            background-color: #f9fafb; /* gray-50 */
        }
        th, td {
            padding: 0.75rem 1.5rem; /* px-6 py-3 & 4 */
            text-align: left;
            font-size: 0.875rem; /* 14px */
            border-bottom: 1px solid #e5e7eb; /* divide-gray-200 */
        }
        th {
            font-weight: 500;
            color: #6b7280; /* gray-500 */
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }
        td {
            white-space: nowrap;
        }
        tbody tr:last-child td {
            border-bottom: none;
        }
        tbody .font-medium { font-weight: 500; }
        tbody .text-gray-900 { color: #111827; }
        tbody .text-gray-500 { color: #6b7280; }
        tbody a {
            color: #2563eb; /* blue-600 */
        }
        tbody a:hover {
            color: #1d4ed8; /* blue-800 */
        }
        
        /* Notifications Section */
        #notifications { background-color: #f3f4f6; } /* gray-100 */
        #notifications ul {
            list-style: none;
            padding: 0;
            display: flex;
            flex-direction: column;
            gap: 1rem; /* space-y-4 */
        }
        #notifications li {
            background-color: white;
            padding: 1rem;
            border-radius: 0.5rem;
            box-shadow: 0 1px 3px 0 rgba(0,0,0,0.1), 0 1px 2px -1px rgba(0,0,0,0.1);
            transition: box-shadow 0.3s ease;
        }
        #notifications li:hover {
            box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1);
        }
        #notifications li a {
            color: #1d4ed8; /* blue-700 */
            font-weight: 500;
        }
        #notifications li a:hover {
            text-decoration: underline;
        }
        #notifications li p {
            font-size: 0.875rem;
            color: #6b7280; /* gray-500 */
            margin-top: 0.25rem;
        }

        /* Resources Section */
        #resources { background-color: white; }
        .resource-card {
            background-color: #f9fafb; /* gray-50 */
            padding: 1.5rem;
            border-radius: 0.5rem;
            box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1);
            text-align: center;
            transition: box-shadow 0.3s ease;
        }
        .resource-card:hover {
            box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1);
        }
        .resource-card i {
            font-size: 3rem;
            color: #2563eb; /* blue-600 */
            margin-bottom: 1rem;
        }
        .resource-card h3 {
            font-size: 1.25rem;
            font-weight: 600;
            color: #374151; /* gray-700 */
            margin-bottom: 0.5rem;
        }
        .resource-card p {
            color: #4b5563; /* gray-600 */
            margin-bottom: 1rem;
        }
        .resource-card a {
            color: #2563eb; /* blue-600 */
            font-weight: 500;
        }
        .resource-card a:hover {
            color: #1d4ed8; /* blue-800 */
        }
        
        /* Blog Section */
        #blog { background-color: #f3f4f6; } /* gray-100 */
        #blog p {
            text-align: center;
            color: #4b5563; /* gray-600 */
        }

        /* Quiz & FAQ Sections */
        .tool-container {
            max-width: 42rem; /* max-w-2xl */
            margin-left: auto;
            margin-right: auto;
            background-color: #f9fafb; /* gray-50 */
            padding: 1.5rem;
            border-radius: 0.5rem;
            box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1);
        }
        @media (min-width: 640px) {
            .tool-container { padding: 2rem; }
        }

        /* Quiz Styles */
        #quiz-container .quiz-question-item {
            margin-bottom: 1.5rem;
            padding: 1rem;
            border: 1px solid #e5e7eb; /* border-gray-200 */
            border-radius: 0.375rem;
            background-color: white;
        }
        #quiz-container .quiz-question-item p {
            font-weight: 600;
            margin-bottom: 0.75rem;
            color: #374151; /* gray-700 */
        }
        .quiz-option {
            display: block;
            padding: 0.75rem;
            margin-bottom: 0.5rem;
            border: 1px solid #d1d5db; /* border-gray-300 */
            border-radius: 0.375rem;
            cursor: pointer;
        }
        .quiz-option:hover {
            background-color: #f3f4f6; /* hover:bg-gray-100 */
        }
        .quiz-option input[type="radio"] {
            margin-right: 0.5rem;
        }
        #quiz-submit {
            margin-top: 1.5rem;
            background-color: #2563eb; /* bg-blue-600 */
            color: white;
            font-weight: 600;
            padding: 0.5rem 1.5rem;
            border-radius: 0.5rem;
            box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1);
            transition: background-color 0.2s;
            border: none;
            cursor: pointer;
        }
        #quiz-submit:hover {
            background-color: #1d4ed8; /* hover:bg-blue-700 */
        }
        #quiz-result {
            margin-top: 1rem;
            padding: 1rem;
            background-color: #d1fae5; /* bg-green-100 */
            border: 1px solid #6ee7b7; /* border-green-300 */
            color: #065f46; /* text-green-700 */
            border-radius: 0.375rem;
        }

        /* FAQ Styles */
        #faq-tool { background-color: #f3f4f6; }
        .faq-container {
            max-width: 56rem; /* max-w-3xl */
            margin-left: auto;
            margin-right: auto;
            display: flex;
            flex-direction: column;
            gap: 0.75rem; /* space-y-3 */
        }
        .faq-item button {
            width: 100%;
            text-align: left;
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 1rem;
            background-color: #e5e7eb; /* bg-gray-200 */
            border-top-left-radius: 0.5rem;
            border-top-right-radius: 0.5rem;
            font-weight: 500;
            color: #374151; /* text-gray-700 */
            border: none;
            cursor: pointer;
            transition: background-color 0.2s;
        }
        .faq-item button:hover {
            background-color: #d1d5db; /* hover:bg-gray-300 */
        }
        .faq-item .faq-answer {
            padding: 1rem;
            background-color: white;
            border: 1px solid #d1d5db; /* border-gray-300 */
            border-top: 0;
            border-bottom-left-radius: 0.5rem;
            border-bottom-right-radius: 0.5rem;
        }
        .faq-item .faq-answer.hidden {
            display: none;
        }
        .faq-item button .icon-plus { display: inline-block; }
        .faq-item button .icon-minus { display: none; }
        .faq-item button.open .icon-plus { display: none; }
        .faq-item button.open .icon-minus { display: inline-block; }
        .faq-item .icon-plus, .faq-item .icon-minus {
            transform: scale(1);
            transition: transform 0.3s ease-in-out;
        }
        
        /* Footer */
        footer {
            padding-top: 4rem; /* 64px */
            padding-bottom: 2rem; /* 32px */
        }

        footer .grid-container {
            display: grid;
            gap: 2rem;
            margin-bottom: 2rem;
        }
        
        @media (min-width: 768px) {
            footer .grid-container { grid-template-columns: repeat(2, 1fr); }
        }
        
        @media (min-width: 1024px) {
            footer .grid-container { grid-template-columns: repeat(4, 1fr); }
        }

        footer h3 {
            font-size: 1.25rem;
            font-weight: 600;
            margin-bottom: 1rem;
        }
        
        footer p, footer address {
            color: #9ca3af; /* gray-400 */
            font-size: 0.875rem;
            line-height: 1.625;
            font-style: normal;
        }
        
        footer ul {
            list-style: none;
            padding: 0;
            display: flex;
            flex-direction: column;
            gap: 0.5rem; /* space-y-2 */
        }

        .footer-link {
            color: #9ca3af; /* gray-400 */
            transition: color 0.2s;
            font-size: 0.875rem;
        }
        .footer-link:hover {
            color: white;
        }

        footer address p { margin-bottom: 0.25rem; }
        footer address a:hover { color: white; }

        footer .social-links {
            margin-top: 1.5rem;
        }
        footer .social-links h4 {
            font-size: 1.125rem;
            font-weight: 500;
            margin-bottom: 0.5rem;
        }
        footer .social-links .flex-container {
            display: flex;
            gap: 1rem;
        }
        footer .social-links a {
            color: #9ca3af;
            transition: color 0.2s;
        }
        footer .social-links a:hover {
            color: white;
        }
        footer .social-links i { font-size: 1.25rem; }
        
        footer hr {
            border-color: #4b5563; /* gray-700 */
            margin-top: 2rem;
            margin-bottom: 2rem;
        }

        .footer-bottom {
            text-align: center;
            color: #6b7280; /* gray-500 */
            font-size: 0.875rem;
        }
        .footer-bottom p { margin-top: 0.25rem; }
        .footer-bottom a { text-decoration: underline; }
        .footer-bottom a:hover { color: white; }

        /* Utility Classes */
        .hidden { display: none; }