/* Native WordPress navigation, explicitly opted-in shared header only. */
.rr-primary-header.nav.shell { display: grid; grid-template-columns: 230px minmax(0, 1fr) auto; align-items: center; gap: 24px; width: min(1440px, calc(100% - 64px)); height: 104px; }
.rr-primary-header .nav-logo { min-width: 0; }
.rr-primary-header .rr-primary-navigation.navlinks { display: flex; grid-column: 2; justify-self: center; color: #fff; font-size: 13px; font-weight: 700; letter-spacing: 0; line-height: 1.5; text-transform: none; }
.rr-primary-header .rr-primary-navigation .wp-block-navigation__container { align-items: center; gap: clamp(16px, 1.7vw, 28px); }
.rr-primary-header .rr-primary-navigation .wp-block-navigation-item__content { display: inline-flex; align-items: center; min-height: 48px; color: #fff; text-decoration: none; }
.rr-primary-header .rr-primary-navigation .wp-block-navigation-item__content:hover { color: #d5c091; }
.rr-primary-header .rr-primary-navigation .wp-block-navigation-item__content:focus-visible,
.rr-primary-header .rr-primary-navigation button:focus-visible,
.rr-primary-header .nav-cta a:focus-visible { outline: 3px solid #c6b184; outline-offset: 4px; }
.rr-primary-header .nav-cta { grid-column: 3; font-size: 12px; letter-spacing: .08em; padding-bottom: 0; }
.rr-primary-header .nav-cta a { display: inline-flex; align-items: center; min-height: 48px; }
.rr-primary-header .rr-primary-navigation .wp-block-navigation__responsive-container-open { display: none; }
.rr-site-header:has(.rr-primary-header .is-menu-open) { z-index: 100000; }
.rr-primary-header .rr-primary-navigation .wp-block-navigation__responsive-container.is-menu-open { position: fixed; inset: 0; z-index: 100000; width: 100%; max-width: none; height: 100vh; height: 100dvh; margin: 0; padding: clamp(24px, 5vw, 64px); overflow-y: auto; background: #fff !important; color: #171715 !important; }
.rr-primary-header .rr-primary-navigation .is-menu-open .wp-block-navigation__responsive-close { width: 100%; max-width: none; margin: 0; }
.rr-primary-header .rr-primary-navigation .is-menu-open .wp-block-navigation__responsive-dialog { margin-top: 0; }
.rr-primary-header .rr-primary-navigation .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 80px; align-items: stretch; }
.rr-primary-header .rr-primary-navigation .is-menu-open .wp-block-navigation__container { display: flex; flex-direction: column; align-items: stretch; gap: 0; width: min(100%, 760px); margin-inline: auto; }
.rr-primary-header .rr-primary-navigation .is-menu-open .wp-block-navigation-item { align-items: stretch; width: 100%; }
.rr-primary-header .rr-primary-navigation .is-menu-open .wp-block-navigation-item__content { display: flex; justify-content: space-between; width: 100%; min-height: 64px; padding: 17px 4px; border-bottom: 1px solid #b8a16f; color: #171715; font-size: clamp(21px, 3.2vw, 32px); font-weight: 800; line-height: 1.35; letter-spacing: 0; text-transform: none; }
.rr-primary-header .rr-primary-navigation .is-menu-open .wp-block-navigation-item__content::after { content: '↗'; margin-left: 18px; color: #80683b; }
.rr-primary-header .rr-primary-navigation .is-menu-open .wp-block-navigation-item__content:hover { color: #80683b; }
.rr-primary-header .rr-primary-navigation .is-menu-open .wp-block-navigation__responsive-container-close { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 90px; min-height: 48px; padding: 10px 14px; border: 1px solid #a88e57; background: #fff; color: #171715; }
.rr-primary-header .rr-primary-navigation .wp-block-navigation__responsive-container-close::after { content: 'Close'; font: 800 13px/1.4 Arial, Helvetica, sans-serif; }
.rr-primary-header .rr-primary-navigation .wp-block-navigation__responsive-container-close svg { width: 20px; height: 20px; }
@media (min-width: 1201px) { .rr-primary-header .rr-primary-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: block !important; } }
@media (max-width: 1200px) {
  .rr-primary-header.nav.shell { grid-template-columns: minmax(0, 1fr) auto auto; gap: 18px; width: calc(100% - 40px); }
  .rr-primary-header .rr-primary-navigation.navlinks { display: flex; grid-column: 3; justify-self: end; }
  .rr-primary-header .nav-cta { grid-column: 2; grid-row: 1; }
  .rr-primary-header .rr-primary-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
  .rr-primary-header .rr-primary-navigation .wp-block-navigation__responsive-container-open { display: inline-flex !important; align-items: center; justify-content: center; gap: 6px; min-width: 74px; min-height: 48px; width: auto; height: auto; padding: 10px 8px; border: 1px solid #a88e57; background: transparent; color: #fff; }
  .rr-primary-header .rr-primary-navigation .wp-block-navigation__responsive-container-open svg { width: 20px; height: 20px; }
  .rr-primary-header .rr-primary-navigation .wp-block-navigation__responsive-container-open::after { content: 'Menu'; font: 800 12px/1.4 Arial, Helvetica, sans-serif; }
}
@media (max-width: 520px) {
  .rr-primary-header.nav.shell { width: calc(100% - 32px); gap: 8px; height: 85px; }
  .rr-site-header .rr-primary-header.nav.shell { width: 100% !important; margin-inline: 0 !important; padding-inline: 16px !important; }
  .rr-primary-header .nav-logo { gap: 8px; width: 140px; height: 42px; }
  .rr-primary-header .nav-logo img { width: 38px; height: 38px; flex-basis: 38px; }
  .rr-primary-header .nav-brand-copy strong { font-size: 11px; letter-spacing: .28em; }
  .rr-primary-header .nav-brand-copy small { font-size: 5px; letter-spacing: .13em; }
  .rr-primary-header .nav-cta { font-size: 10px; letter-spacing: 0; white-space: nowrap; }
  .rr-primary-header .nav-cta span { display: none; }
  .rr-primary-header .rr-primary-navigation .is-menu-open .wp-block-navigation-item__content { min-height: 60px; font-size: 22px; }
}
@media (max-width: 600px) { body.admin-bar:has(.rr-primary-header) #wpadminbar { position: fixed; } }
@media (max-width: 360px) {
  .rr-primary-header .nav-logo { width: 126px; gap: 6px; }
  .rr-primary-header .nav-logo img { width: 34px; height: 34px; flex-basis: 34px; }
  .rr-primary-header .nav-brand-copy strong { font-size: 10px; letter-spacing: .24em; }
  .rr-primary-header .nav-brand-copy small { font-size: 4.8px; letter-spacing: .09em; }
}
