
        html, body { background-color: #0b1228; color: #f1f5fb; }

        /* Animated gradient blob backdrop applied globally */
        body { position: relative; }
        body::before {
            content: "";
            position: fixed;
            inset: 0;
            z-index: -1;
            pointer-events: none;
            background:
                radial-gradient(600px 600px at 10% 20%, rgba(30, 58, 138, 0.35), transparent 60%),
                radial-gradient(600px 600px at 90% 30%, rgba(220, 38, 38, 0.25), transparent 60%),
                radial-gradient(700px 700px at 50% 90%, rgba(249, 115, 22, 0.20), transparent 65%),
                #0b1228;
            animation: blobShift 22s ease-in-out infinite alternate;
        }
        #root, main, footer { position: relative; z-index: 1; }
        main { background-color: #0b1228; }

        @keyframes blobShift {
            0%   { background-position: 0% 0%, 100% 0%, 50% 100%; }
            50%  { background-position: 20% 10%, 80% 20%, 40% 80%; }
            100% { background-position: -10% 20%, 110% 10%, 60% 90%; }
        }

        .entrance-fade-up {
            opacity: 0;
            transform: translateY(20px);
            animation: fadeUp 0.8s ease-out forwards;
        }
        @keyframes fadeUp { to { opacity: 1; transform: translateY(0); } }

        .pulse-accent { animation: pulse-flame 2s infinite; }
        @keyframes pulse-flame {
            0%   { box-shadow: 0 0 0 0 rgba(249, 115, 22, 0.55); }
            70%  { box-shadow: 0 0 0 14px rgba(249, 115, 22, 0); }
            100% { box-shadow: 0 0 0 0 rgba(249, 115, 22, 0); }
        }

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

        /* Glass card treatment for any card-like surface from old HTML */
        .bg-surface-container-lowest,
        .bg-surface-container-low,
        .bg-surface-container,
        .bg-surface-container-high {
            backdrop-filter: blur(10px);
            border-color: rgba(255,255,255,0.10) !important;
        }

        /* Make primary buttons feel like the hero CTA */
        button.bg-primary, .bg-primary {
            background-image: linear-gradient(135deg, #DC2626, #F97316);
        }

        .striped-list li:nth-child(even) {
            background-color: rgba(255,255,255,0.04);
        }

        /* Section reveal on scroll-ish */
        section { animation: fadeUp 0.8s ease-out both; }

        /* Site header: keep nav readable over any page content when scrolled */
        .site-header {
            isolation: isolate;
        }
        .site-header nav a {
            color: #e2e8f0;
        }
        .site-header nav a:hover {
            color: #ffffff;
        }
        .site-header nav a[class*="border-[#F97316]"],
        .site-header nav a.text-white {
            color: #ffffff;
        }

        /* Light surfaces: body text defaults to light-on-dark; force readable dark text */
        .bg-white,
        .bg-surface-bright,
        .bg-inverse-surface {
            color: #0b1228;
        }

        /* Zebra / data tables on light rows */
        tr.bg-white,
        tr.bg-white td,
        .bg-white table td,
        .technical-table tbody tr,
        .technical-table tr:nth-child(even) td {
            color: #0b1228;
        }

        tr.bg-white td.text-secondary,
        tr.bg-white .text-secondary,
        .technical-table tbody .text-secondary,
        .technical-table tr:nth-child(even) .text-secondary {
            color: #1E3A8A;
        }

        /* Dark zebra rows keep light foreground */
        tr.bg-surface-container-low\/30 td,
        tr.bg-surface-container-low\/50 td,
        tr[class*="bg-surface-container-low/"] td {
            color: #f1f5fb;
        }

        tr.bg-surface-container-low\/30 .text-secondary,
        tr.bg-surface-container-low\/50 .text-secondary,
        tr[class*="bg-surface-container-low/"] .text-secondary {
            color: #93c5fd;
        }

        .striped-list li:nth-child(even) {
            color: #0b1228;
        }

        /* Dark promo / CTA cards */
        section.bg-background,
        .bg-background.rounded-xl,
        .bg-background.rounded-3xl {
            color: #f1f5fb;
        }

        /* Guard against inverted Material tokens used as backgrounds */
        .bg-on-background {
            background-color: #0b1228 !important;
            color: #f1f5fb !important;
        }

        /* Image-backed page heroes (extinguishers, about, etc.) */
        .page-hero {
            color: #f1f5fb;
        }

        .page-hero.elegant-hero h1 {
            text-shadow: 0 4px 40px rgba(11, 18, 40, 0.4);
        }

        .page-hero.elegant-hero p {
            text-shadow: none;
        }

        .page-hero:not(.elegant-hero) h1,
        .page-hero:not(.elegant-hero) p {
            text-shadow: 0 2px 16px rgba(11, 18, 40, 0.55);
        }
    