body, html {
    height: 100%;
    margin: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-family: 'Feijoa medium';
    -webkit-font-smoothing: subpixel-antialiased;
    font-feature-settings: 'case' 1, 'cpsp' 1, 'dlig' 1, 'cv01' 1, 'cv02',
        'cv03' 1;
}

b,
strong,
h3,
h4,
h5,
h6 {
    font-variation-settings: 'wght' 650;
}

h1 {
    font-variation-settings: 'wght' 900;
}

h2 {
    font-variation-settings: 'wght' 750;
}

.center {
    text-align: center;
}

body {
    background-color: #faf8f4;
}

h1 a {
    color: #1a1a1a;
}

/* Add this rule to remove underline from links */
a {
    text-decoration: none;
}

/* --- Animation strip --- */
.strip {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    width: 100%;
    /* Big minimum so all frames stay legible side-by-side on wide screens */
    min-width: 1100px;
    max-width: 1600px;
    padding: 24px;
    box-sizing: border-box;
}

/* Frame 1 is 5:4 while frames 2-6 are ~1.375:1, so a plain `height: auto`
   would leave them different heights. Pin every frame to a shared box and
   letterbox inside it — object-fit: contain keeps each animation uncropped. */
.frame {
    flex: 1 1 0;
    min-width: 0;
    width: 100%;
    aspect-ratio: 1.375 / 1;
    height: auto;
    object-fit: contain;
}

/* Phone: show one frame at a time and cycle through them (see strip.js).
   Frames are laid on top of each other so swapping never shifts the layout. */
@media (max-width: 768px) {
    .strip {
        min-width: 0;
        max-width: 100%;
        padding: 16px;
        display: grid;
    }

    .frame {
        grid-area: 1 / 1;
        aspect-ratio: 1.375 / 1;
        visibility: hidden;
    }

    .frame.active {
        visibility: visible;
    }
}

/* Respect users who ask for less motion: show the strip as stills */
@media (prefers-reduced-motion: reduce) {
    @media (max-width: 768px) {
        .frame {
            visibility: visible;
        }

        .strip {
            display: flex;
            flex-direction: column;
            gap: 16px;
        }

        .frame {
            grid-area: auto;
        }
    }
}


