/* BALVORA GROUP — UI Version 2 (2026-11-02)
   Typography and affordances only: navigation, brands, action buttons, links.
   Existing cards, photography, layouts and text content remain unchanged. */

/* Global landing-page header */
.topbar { min-height: 76px; gap: 20px; }
.wordmark { font-size: 22px; font-weight: 650; letter-spacing: .09em; line-height: 1.2; white-space: nowrap; }
.wordmark span { font-weight: 500; }
.topbar nav { gap: 12px 30px; align-items: center; flex-wrap: wrap; }
.topbar nav a { min-height: 48px; font-size: 16px; font-weight: 600; line-height: 1.35; transition: color .2s ease; }
.topbar nav a:hover, .topbar nav a:focus-visible { color: #8d682d; }
.topbar nav a:after { height: 2px; bottom: 6px; }

/* Property-management header and the primary enquiry CTA */
.mg-top-inner { min-height: 78px; }
.mg-brand { font-size: 22px; font-weight: 650; letter-spacing: .09em; line-height: 1.25; }
.mg-brand span { font-weight: 500; }
.mg-nav { align-items: center; gap: 8px 18px; }
.mg-nav a { font-size: 16px; font-weight: 600; line-height: 1.35; min-height: 46px; display: inline-flex; align-items: center; transition: color .2s ease, background .2s ease; }
.mg-nav a:not(:last-child):hover, .mg-nav a:not(:last-child):focus-visible { color: #916b36; }
.mg-nav a:last-child { padding: 10px 15px; color: #fff7e8; background: #172e3b; border: 1px solid #b99c69; white-space: normal; text-align: center; justify-content: center; }
.mg-nav a:last-child:hover, .mg-nav a:last-child:focus-visible, .mg-nav a:last-child[aria-current="page"] { color: #fff; background: #35515c; border-color: #d5ae70; }

/* Additional service pages */
.as-top-in { min-height: 78px; }
.as-brand { font-size: 22px; font-weight: 650; letter-spacing: .09em; line-height: 1.25; }
.as-brand span { font-weight: 500; }
.as-nav { align-items: center; gap: 8px 25px; }
.as-nav a { display: inline-flex; align-items: center; min-height: 46px; font-size: 16px; font-weight: 600; border-bottom: 2px solid transparent; transition: color .2s ease, border-color .2s ease; }
.as-nav a:hover, .as-nav a:focus-visible { color: #906c32; border-bottom-color: #b39259; text-decoration: none; }

/* Hospitality and venue pages */
.hs-header-in { min-height: 78px; }
.hs-wordmark { font-size: 22px; font-weight: 650; letter-spacing: .09em; line-height: 1.25; }
.hs-wordmark span { font-weight: 500; }
.hs-menu { align-items: center; gap: 8px 24px; }
.hs-menu a { display: inline-flex; align-items: center; min-height: 46px; font-size: 16px; font-weight: 600; border-bottom: 2px solid transparent; transition: color .2s ease, border-color .2s ease; }
.hs-menu a:hover, .hs-menu a:focus-visible, .hs-menu a[aria-current] { color: #916b36; border-bottom-color: #b39259; text-decoration: none; }

/* Action-button typography; unchanged destinations, wording and palette */
.mg-cta, .as-button, .hs-button, .contact-button, .business-opportunity > a {
  min-height: 48px; padding: 12px 20px; font-size: 15px; font-weight: 600;
  line-height: 1.4; text-align: center; transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.as-button { font-family: 'Segoe UI', Arial, sans-serif; }
.hs-hero-copy .hs-button { font-size: 15px; min-height: 48px; }
.mg-filter-button { font-size: 14px; font-weight: 600; min-height: 44px; }
.mg-filter-button span { font-weight: 500; }
.text-link { font-size: 15px; font-weight: 600; }
.hs-history-toggle { font-size: 15px; font-weight: 600; min-height: 48px; }
.as-related-links a { font-size: 15px; font-weight: 600; }
.cookie-actions button { font-size: 14px; font-weight: 600; min-height: 44px; }
.cookie-settings-trigger { font-weight: 600; }
.secondary summary { font-size: 14px; font-weight: 600; }

/* Narrow desktops and tablets: nav is allowed to wrap rather than overlap */
@media (max-width: 1120px) {
  .mg-top-inner, .as-top-in { flex-wrap: wrap; padding-block: 12px; gap: 4px 20px; }
  .mg-nav, .as-nav { width: 100%; }
  .mg-nav { gap: 6px 19px; }
}
@media (max-width: 960px) {
  .topbar { padding-block: 12px; gap: 8px 18px; }
  .topbar nav { width: 100%; gap: 4px 20px; }
}
@media (max-width: 720px) {
  .topbar { min-height: 0; }
  .wordmark { font-size: 19px; }
  .topbar nav { font-size: 14px; gap: 2px 17px; }
  .topbar nav a { font-size: 14px; min-height: 44px; }
  .topbar nav a:nth-child(2) { display: inline-flex; }
  .mg-brand, .as-brand, .hs-wordmark { font-size: 19px; }
  .mg-nav a, .as-nav a, .hs-menu a { font-size: 14px; min-height: 44px; }
  .mg-cta, .as-button, .hs-button, .contact-button, .business-opportunity > a { font-size: 14px; padding: 12px 16px; }
  .hs-hero-copy .hs-button { font-size: 14px; min-height: 46px; }
  .mg-nav a:last-child { padding: 9px 12px; }
}
@media (max-width: 690px) {
  .hs-header-in { gap: 8px; padding-block: 12px; }
  .hs-menu { gap: 2px 15px; }
}
@media (max-width: 620px) {
  .mg-nav { gap: 3px 13px; }
  .mg-nav a { font-size: 14px; }
  .as-nav { gap: 2px 14px; }
}
@media (max-width: 380px) {
  .wordmark, .mg-brand, .as-brand, .hs-wordmark { font-size: 18px; }
  .topbar nav a, .mg-nav a, .as-nav a, .hs-menu a { font-size: 13px; }
  .hs-hero-copy .hs-button { padding: 11px 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .topbar nav a, .mg-nav a, .as-nav a, .hs-menu a, .mg-cta, .as-button, .hs-button {
    transition: none !important;
  }
}
