/* --- UNIVERSAL STYLES --- */
@font-face {
    font-family: 'Apple Garamond';
    src: url('/fonts/AppleGaramond-Light.ttf') format('truetype');
}

html {
    height: 100%;
}

body {
    font-family: 'Apple Garamond', serif;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    margin: 0;
    /* CHANGED: Switched from rem to vw for scalable side padding */
    padding: 0 5vw;
    background-color: #f7eeda !important;
}

main {
    flex-grow: 1;
}

h1 a {
    color: inherit;
    text-decoration: none;
}

/* --- MOBILE-FIRST STYLES (Default) --- */
/* These styles apply to small screens and are the baseline */

h1 {
    text-align: center;
    font-weight: normal;
    /* CHANGED: Negative margin now matches the body's 5vw padding */
    margin: 1rem 1vw;
    /* CHANGED: You updated this value to your preference */
    font-size: 17vw;
}

h2 {
    /* CHANGED: Font size now scales with the viewport */
    font-size: 8vw;
    text-align: left;
    margin: 1rem 0 0.5rem 0;
}

p {
    /* CHANGED: Font size now scales with the viewport */
    font-size: 6vw;
    text-align: left;
    margin: 0 0 0.5rem 0;
}

audio {
    display: block;
    width: 100%; /* Make audio player take full width */
    margin-top: 1rem;
}

nav {
    margin-bottom: 2rem;
}

nav ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

nav a {
    text-decoration: none;
    color: black;
    /* CHANGED: Font size now scales with the viewport */
    font-size: 6.5vw;
    display: block;
    padding: 0.5rem 0;
}

nav a:hover {
    text-decoration: underline;
}

footer {
    margin: 2rem 0 1rem 0;
}

footer p {
    text-align: right; /* Kept right-aligned as requested */
    /* CHANGED: Font size now scales with the viewport */
    font-size: 3vw;
    margin: 0;
}
/* --- SCALED CONTENT CONTAINER --- */
/* For embeds like iframes that should match the main content width */

.content-embed {
    /* On mobile, center the block and make it slightly less than full-width */
    width: 90%;
    margin: 2rem auto; /* Vertical and horizontal centering */
}

/* --- TABLET AND DESKTOP STYLES --- */
/* These styles ONLY apply when the screen is 768px or wider */

@media (min-width: 768px) {
    body {
        /* RESTORED: Reset body padding for desktop view */
        padding: 0;
    }

    h1 {
        /* RESTORED: All original desktop styles */
        font-size: 10em;
        margin-top: 0;
        margin-bottom: 1rem;
        margin-left: 4rem;
        text-align: left; /* Restore alignment */
    }

    h2 {
        /* RESTORED: All original desktop styles */
        font-size: 3em;
        margin-top: 0;
        margin-bottom: 0.5em;
        margin-left: 4rem;
    }

    p {
        /* RESTORED: All original desktop styles */
        font-size: 3em;
        margin-top: 0;
        margin-bottom: 0.5em;
        margin-left: 4rem;
    }

    audio {
        margin-left: 4rem;
        width: 50%;
    }

    nav {
        margin-bottom: 5rem;
    }

    nav ul {
        margin-left: 4rem;
        display: flex;
        justify-content: left;
        gap: 2rem;
    }

    nav a {
        /* RESTORED: All original desktop styles */
        font-size: 3em;
        display: inline;
        padding: 0;
    }

    footer {
        margin-right: 4rem;
        margin-bottom: 2rem;
    }

    footer p {
        /* RESTORED: All original desktop styles */
        font-size: 1.5rem;
        margin-left: 0;
    }
    .content-embed {
        /* On desktop, match the width and alignment of other content */
        margin: 0 0 0 4rem; /* Matches the margin of a <p> tag */
    }
}

/* --- RESPONSIVE IFRAME CONTAINER --- */
/* This can be reused for any video or iframe embed */

.iframe-container {
    position: absolute;
    overflow: hidden;
    width: 50%;
    padding-top: 20%; /* 320 / 480 = 0.6666. This sets the aspect ratio */
}

.iframe-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}