.masthead {
    width: min(900px, calc(100vw - 4rem));
    margin: 0 auto;
    padding-top: 0.25rem;
}

.masthead-main {
    display: block;
    text-align: center;
}

.masthead-wordmark {
    font-family: 'WindSong', cursive;
    font-weight: 400;
    font-size: clamp(38px, 6.5vw, 62px);
    line-height: 1.5;
    letter-spacing: 0;
    text-align: center;
    color: var(--ink);
    margin: 0;
    min-height: 1.3em;
    white-space: nowrap;
}

.masthead-nav {
    display: flex;
    justify-content: center;
    gap: 2rem;
    margin-top: 0.25rem;
    padding-bottom: 0.2rem;
    flex-wrap: wrap;
    font-style: italic;
}

.masthead-nav a {
    font-family: var(--font-body);
    font-size: 20px;
    letter-spacing: 0.10em;
    color: var(--ink);
    text-decoration: none;
}

.masthead-nav a:hover {
    color: var(--ink);
    text-decoration: underline;
}

/* Double rule: heavy line, small gap, hairline */
.masthead-rules {
    border-top: 3px solid var(--ink);
    border-bottom: 1px solid var(--ink);
    height: 2px;
    margin-bottom: 1rem;
}

.cursor {
    animation: blink 1s step-end infinite;
    font-weight: 300;
}

@keyframes blink {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0;
    }
}

@media (max-width: 640px) {
    .masthead-nav {
        margin-top: 0.5rem;
        gap: 1rem;
        font-size: 13px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cursor {
        animation: none;
    }
}