        /* Base typography classes */
        .font-serif-custom { font-family: 'Playfair Display', serif; }
        .font-sans-custom { font-family: 'Lato', sans-serif; }

        /* Anchor link offset - prevents sticky nav from covering section titles */
        html { 
            scroll-padding-top: 6rem; 
        }

        /* Custom Scrollbar for a premium feel */
        ::-webkit-scrollbar { width: 8px; }
        ::-webkit-scrollbar-track { background: #f8fafc; }
        ::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
        ::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

        /* Intersection Observer Animation Classes */
        .fade-in-section {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 0.8s ease-out, transform 0.8s ease-out;
            will-change: opacity, visibility;
        }
        .fade-in-section.is-visible {
            opacity: 1;
            transform: none;
        }

        /* Accordion transition for Emergency Toolkit */
        .accordion-content {
            transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out, padding 0.3s ease-in-out;
            max-height: 0;
            opacity: 0;
            overflow: hidden;
        }
        .accordion-content.expanded {
            max-height: 600px; 
            opacity: 1;
            padding-top: 1.5rem;
            padding-bottom: 1.5rem;
        }
        
        /* Editorial Drop Cap */
        .drop-cap::first-letter {
            font-family: 'Playfair Display', serif;
            font-size: 3.5rem;
            font-weight: bold;
            color: #0f172a;
            float: left;
            line-height: 1;
            padding-right: 0.5rem;
            padding-top: 0.25rem;
        }