#principles {
    margin-top: 40px;
    font-size: 1rem;
    line-height: 1.6;
    color: rgba(180, 200, 255, 0.85);
    text-align: left;

    width: 90%; /* stable width on all browsers */
    max-width: 700px; /* same readable width */
    margin-left: auto;
    margin-right: auto; /* centered container */

    padding: 10px 5px; /* fixes subtle font wrapping differences */
    box-sizing: border-box; /* forces consistent layout in all browsers */
}

#principles div {
    opacity: 0;
    transition: opacity 1s ease;
    margin-bottom: 6px; /* consistent spacing between lines */
    white-space: normal; /* forces same wrapping rules across browsers */
    word-break: keep-all; /* prevents random breaks in Firefox */
    color: rgba(150, 180, 255, 0.90);  /* brighter */
}

/* Make the entire page a column layout */
body {
    min-height: 100vh; /* full screen height */
    display: flex;
    flex-direction: column;
}

/* The main content should expand and push the footer down */
.container {
    flex: 1 0 auto;
}

.footer-text {
    color: rgba(180, 200, 255, 0.75); /* beautiful deep-blue gray */
    text-align: center;
    font-size: 0.9rem;
}

.footer-text a {
    color: rgba(120, 160, 255, 0.9);
    text-decoration: none;
}

.footer-text a:hover {
    color: rgb(90, 140, 255);
    text-decoration: underline;
}

/* Ensure consistent footer layout */
footer {
    background: transparent;
    color: inherit;
}
