    /* fonts.css */
    @import url('https://fonts.googleapis.com/css2?family=Dancing+Script:wght@400;700&family=Montserrat:wght@300;400;500;600;700&family=Nunito+Sans:wght@300;400;600;700&display=swap');

    body {
        font-family: 'Nunito Sans', sans-serif;
        font-size: 18px;
        line-height: 1.65;
        text-align: center;
    }

    .baby-name-animated {
        font-family: 'Dancing Script', cursive; 
        font-size: 80px; 
        font-weight: 700;
        /* text-anchor: middle; /* SVG specific, often set in SVG or via JS if dynamic */
    }

    .header-submessage {
        font-family: 'Montserrat', sans-serif; 
        font-size: 1.05em; 
        font-weight: 400;
    }

    .site-navigation a {
        font-family: 'Montserrat', sans-serif; 
        font-size: 0.9em; 
        font-weight: 500;
        text-decoration: none;
    }
    
    .site-navigation a:hover,
    .site-navigation a:focus {
        text-decoration: none; 
    }

    .site-navigation a.active {
        font-weight: 600;
    }

    .section-heading {
        font-family: 'Montserrat', sans-serif; 
        font-size: 1.8em; 
        font-weight: 600;
    }

    .section-message {
        font-family: 'Nunito Sans', sans-serif; 
        font-size: 1em; 
        line-height: 1.6; /* Example if different from body, otherwise inherits */
    }

    .countdown-due-date {
        font-family: 'Montserrat', sans-serif; 
        font-size: 1.1em; 
        font-weight: 500;
        line-height: 1.4;
        text-align: center;
    }

    #countdown span { 
        font-family: 'Montserrat', sans-serif; 
        font-weight: 600;
        font-size: 2.7em; 
        line-height: 1;
        text-align: center;
    }

    #countdown .label { 
        font-family: 'Montserrat', sans-serif; 
        font-weight: 400; 
        font-size: 0.75em; 
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    .size-details {
        text-align: left; 
    }
    .data-label {
        font-family: 'Montserrat', sans-serif; 
        font-weight: 700; 
        font-size: 0.8em; 
        text-transform: uppercase; 
        letter-spacing: 0.5px;
    }
    .data-value { 
        font-family: 'Nunito Sans', sans-serif; 
        font-weight: 600; 
        font-size: 1.05em; 
    }

    .note-heading { 
        font-size: 1.15em; 
        font-family: 'Montserrat', sans-serif; 
        text-align: center; 
    }
    .note-content { 
        font-family: 'Nunito Sans', sans-serif; 
        font-style: normal; 
        font-size: 1em; 
        line-height: 1.65; 
        text-align: left; 
    }

    .button { 
        font-family: 'Montserrat', sans-serif; 
        font-weight: 500;
        font-size: 0.9em;
        letter-spacing: 0.2px;
        text-decoration: none;
    }

    .page-footer p { 
        font-family: 'Nunito Sans', sans-serif; 
        font-size: 0.9em; 
        line-height: 1.6;
        font-weight: 400;
        text-align: center;
    }

    .footer-text { 
        font-family: 'Nunito Sans', sans-serif; 
        font-size: 0.95em;
    }

    .footer-copyright { 
        font-family: 'Nunito Sans', sans-serif; 
        font-size: 0.8em;
    }

    .header-home-link { 
        text-decoration: none;
    }
    
    .message-content { 
        font-family: 'Nunito Sans', sans-serif; 
        line-height: 1.7; 
        font-size: 1em; 
        text-align: left; 
    }

    .message-content p { 
        font-family: 'Nunito Sans', sans-serif; 
    }

    #gift-message-section .message-content p { 
        font-size: 1em; 
        font-family: 'Nunito Sans', sans-serif; 
    }

    #gift-message-section .message-content p:last-of-type { 
        font-weight: 500; 
        text-align: center; 
    }

    .signature-names {
        font-family: 'Dancing Script', cursive; 
        font-size: 1.6em; 
    }
    .registry-buttons-link { 
        text-align: center;
    }
    