/* Official wordmarks: source geometry, spacing and accent colors stay intact. */
.brand-logo { display: block; width: 122px; height: auto; aspect-ratio: 1018.84 / 146.76; object-fit: contain; }
.mini-brand { display: flex; align-items: center; min-height: 44px; }
.mini-brand .brand-logo { width: 124px; }
.opening-frame > .topbar { inset: 18px 28px auto; }
.topbar > button { margin-left: auto; min-height: 50px; }
.topbar .mini-brand { min-height: 50px; animation: fade-in var(--t-ui) both; }
.opening-brand { display: block; padding: 0; overflow: visible; }
.opening-descriptor { margin-top: 12px; }
.home-wordmark { display: block; width: auto; height: clamp(14px, 1.74vw, 25px); margin-inline: auto; animation: fade-in var(--t-reveal) 650ms both; }
.hero-wordmark, .footer-wordmark { display: block; width: 100%; height: auto; overflow: visible; }
.brand-letter { transform-box: fill-box; transform-origin: center; animation: letter-rise var(--t-hero) var(--ease-reveal) both; animation-delay: calc(var(--i) * 65ms + 80ms); }
.opening-brand .hero-wordmark { overflow: hidden; }
.footer-word { display: block; margin-top: 22px; font-size: inherit; line-height: 1; padding: 0; }
.menu-head .brand-logo, .collection-head .brand-logo, .inquiry-brand .brand-logo { width: 140px; }
.product-brand .brand-logo { width: 140px; }
.product-footer .brand-logo { width: 100px; }
.footer-details > a { min-height: 44px; display: flex; align-items: center; }
.menu-foot { justify-content: flex-end; }
.rail-footer { justify-content: flex-end; }
.room-invitation { justify-content: flex-start; }
.room-invitation span:first-child { max-width: none; }
.collection-intro { align-items: flex-end; }
@media (max-width: 900px) {
  .opening-frame > .topbar { inset: 12px 14px auto; }
  .mini-brand .brand-logo { width: 110px; }
  .menu-head .brand-logo, .collection-head .brand-logo, .inquiry-brand .brand-logo, .product-brand .brand-logo { width: 122px; }
  .footer-word { margin-top: 12px; }
  .rail-footer { gap: 0; }
}
@media (max-width: 900px) and (max-height: 600px) and (orientation: landscape) {
  .opening-descriptor { margin-top: 8px; }
  .home-wordmark { height: 14px; }
}
body[data-motion=reduced] .brand-letter, body[data-motion=reduced] .home-wordmark { animation: none !important; transform: none !important; }
@media (prefers-reduced-motion: reduce) { .brand-letter, .home-wordmark { animation: none; transform: none; } }
