h1 {
    font-family: "Pakkonen", serif;
    font-size: 8vw;
    font-weight: 400;
    text-align: center;
    white-space: nowrap;
    letter-spacing: 0.4vw;
    line-height: 1.2;
    margin: 32px auto;
}

h1 i {
    display: none;
}

h1 span {
    display: block;
    font-family: "Marcellus", sans-serif;
    font-size: max(3.6vw, 16px);
    letter-spacing: 0.4vw;
    margin-top: 0.5vw;
}

h2 {
    font-family: "Marcellus SC", sans-serif;
    font-size: 2em;
    font-weight: 600;
}

h3,
p,
ul,
table {
    font-family: "Marcellus", sans-serif;
}

.locale {
    overflow-x: auto;
    text-align: center;
}

.locale div {
    display: inline-flex;
    font-family: "Marcellus", sans-serif;
    font-weight: 400;
    white-space: nowrap;
    gap: min(max(1.6vw, 8px), 16px);
    line-height: 2;
}

.locale div bdi {
    flex-shrink: 0;
}

.menu {
    overflow-x: auto;
    text-align: center;
    margin: 16px 0;
}

.menu div {
    display: inline-flex;
    font-family: "Marcellus", sans-serif;
    font-size: min(max(2vw, 20px), 25px);
    font-weight: 600;
    white-space: nowrap;
    letter-spacing: 0.1vw;
    gap: min(max(3vw, 8px), 30px);
    line-height: 2;
}

.note {
    text-align: center;
    font-style: italic;
}

th,
.price {
    text-align: center;
    vertical-align: middle;
}

thead th,
.price {
    padding: 30px 0;
}

.gallery {
    display: flex;
    overflow-x: auto;
    gap: 16px;
}

.gallery img {
    height: 420px;
    width: auto;
    flex-shrink: 0;
}

a[href^="mailto\:"]::before {
    display: none;
}

footer {
    text-align: center;
}

.brand {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2.8vw;
    padding-top: 2vw;
}

.brand div {
    display: flex;
    align-items: center;
    justify-content: center;
}

.brand div:first-child {
    border-right: 1px solid #dbdbdb;
    padding-right: 2.8vw;
}

@media (prefers-color-scheme: dark) {
    .brand div:first-child {
        border-right: 1px solid #526980;
    }
}

.brand h1 {
    font-size: 4vw;
    letter-spacing: 0.2vw;
    font-weight: 400;
    white-space: nowrap;
}

.brand h1 span {
    display: block;
    font-size: 1.8vw;
    letter-spacing: 0.2vw;
    margin-top: 0.5vw;
}
