/* Official wordmark replaces only the reference site's extra square symbol. */
@media (min-width: 901px) {
    .menu-visual { background: #f5f5f3; }
    .menu-visual::before { content: ""; position: absolute; inset: 0 40% 0 0; background: linear-gradient(rgba(239,239,236,.35),rgba(239,239,236,.35)),url('../images/home-paper-texture.jpg') center/cover; }
    .menu-slide-frame { position: absolute; left: 22%; top: 30%; width: 78%; height: 42%; overflow: hidden; }
    .menu-slide-frame .menu-slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.75); opacity: 0; z-index: 0; transition: opacity .9s ease; }
    .menu-slide-frame .menu-slide.is-active { opacity: 1; z-index: 1; }
    .menu-dots { top: 47%; }
    .menu-dots button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: #ccc; cursor: pointer; transition: transform .3s,background .3s; }
    .menu-dots button.is-active { background: #555; transform: scale(1.15); }
    .menu-content { padding-top: 21vh; }
    .menu-logo-text { width: 190px; height: 90px; object-fit: contain; object-position: left center; }
}

@media (max-width: 900px) {
    .menu { padding: 100px 7vw 36px; align-items: stretch; }
    .menu-content { width: 100%; min-height: 100%; display: flex; flex-direction: column; align-items: center; text-align: center; }
    .menu-identity { width: 100%; margin: 0 0 32px; display: flex; justify-content: center; }
    .menu-identity > a { display: flex; justify-content: center; align-items: center; gap: 12px; }
    .menu-identity > a img { width: 64px; height: 64px; object-fit: contain; }
    .menu-identity > a span { display: block; font-size: 12px; line-height: 1.5; letter-spacing: .13em; text-align: left; }
    .menu-logo-text { display: none; }
    .menu-links { width: 100%; display: flex; align-items: center; gap: 13px; margin: 0 0 34px; }
    .menu-links > a { width: 100%; font-size: 21px; line-height: 1.45; text-align: center; }
    .menu-contact { width: min(100%, 430px); padding: 25px 0; display: block; border-top: 1px solid #d0cec9; border-bottom: 1px solid #d0cec9; }
    .menu-contact p { margin: 0; font-size: 14px; line-height: 2; }
    .menu-social { width: min(100%, 430px); margin-top: 25px; display: grid; grid-template-columns: 1fr 1fr; }
    .menu-social > div { padding: 0 14px; display: flex; align-items: center; border-left: 0; }
    .menu-social > div + div { border-left: 1px solid #d0cec9; }
    .menu-social b { font-size: 15px; }
    .menu-social span { justify-content: center; gap: 13px; font-size: 13px; }
    .menu-copyright { position: static; margin-top: auto; padding-top: 32px; display: block; font-size: 11px; line-height: 1.6; }
}

@media (max-width: 430px) {
    .menu { padding-top: 86px; }
    .menu-identity { margin-bottom: 22px; }
    .menu-links { gap: 9px; margin-bottom: 24px; }
    .menu-links > a { font-size: 19px; }
    .menu-contact { padding-block: 19px; }
    .menu-social { margin-top: 20px; }
}
