@font-face {
  font-family: "Maison Garamond";
  src: url("../fonts/Adobe Garamond Pro Regular.ttf") format("truetype");
  font-display: swap;
}

@font-face {
  font-family: "Maison Sans";
  src: url("../fonts/VarelaRound-Regular.ttf") format("truetype");
  font-display: swap;
}

:root {
  --mb-cream: #fffee8;
  --mb-olive: #9aad78;
  --mb-olive-dark: #788069;
  --mb-forest: #313b32;
  --mb-copy: #6b6b6b;
  --mb-shell: min(1180px, calc(100% - 2rem));
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: 8rem; }
body { margin: 0; overflow-x: hidden; background: var(--mb-cream); color: var(--mb-copy); font-family: "Maison Garamond", Georgia, serif; }
header.wp-block-template-part { position: sticky; z-index: 1100; top: 0; margin-block-start: 0; }
body.admin-bar header.wp-block-template-part { top: 32px; }
img, video, iframe { max-width: 100%; }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 3px solid #4e5d3e; outline-offset: 3px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.mb-shell { width: var(--mb-shell); margin-inline: auto; }
.mb-site-main { min-height: 60vh; }
.mb-site-main > .wp-block-post-content { margin: 0; }
.wp-site-blocks > header.wp-block-template-part + .mb-site-main { margin-block-start: 0; }
.mb-site-main > .wp-block-post-content > :first-child { margin-block-start: 0; }
.mb-site-main > .wp-block-post-content > style,
.mb-site-main > .wp-block-post-content > script { display: none; margin: 0; }
.mb-site-main > .wp-block-post-content > style + *,
.mb-site-main > .wp-block-post-content > script + * { margin-block-start: 0; }

.mb-topbar { color: rgba(255,255,255,0.9); background: var(--mb-forest); font-family: "Maison Sans", Arial, sans-serif; font-size: 0.72rem; }
.mb-topbar__inner { min-height: 2.15rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.mb-topbar__social, .mb-topbar__contact { display: flex; gap: 1rem; }
.mb-topbar a { color: inherit; text-decoration: none; }
.mb-topbar a:hover { color: #fff; text-decoration: underline; }

.mb-navbar { position: relative; z-index: 1; background: var(--mb-olive); box-shadow: 0 2px 10px rgba(49,59,50,0.18); }
.mb-navbar__inner { min-height: 5rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.mb-brand { color: #fff; line-height: 1; text-decoration: none; }
.mb-brand:hover { color: #fff; }
.mb-brand span { display: block; font-size: clamp(1.65rem, 3vw, 2.15rem); font-style: italic; }
.mb-brand small { display: block; margin-top: 0.4rem; font-family: "Maison Sans", Arial, sans-serif; font-size: 0.58rem; font-style: normal; letter-spacing: 0.16em; text-transform: uppercase; }
.mb-navigation ul { display: flex; align-items: center; gap: clamp(0.7rem, 1.6vw, 1.45rem); margin: 0; padding: 0; list-style: none; }
.mb-navigation a { display: block; padding: 1.7rem 0 0.5rem; color: #fff; border-bottom: 1px solid transparent; font-size: 1.05rem; text-decoration: none; }
.mb-navigation a:hover, .mb-navigation a[aria-current="page"] { color: #fff; border-bottom-color: #fff; }
.mb-navigation .mb-language a { margin-left: 0.25rem; padding: 0.45rem 0.65rem; border: 1px solid rgba(255,255,255,0.7); border-radius: 3px; font-family: "Maison Sans", Arial, sans-serif; font-size: 0.68rem; }
.mb-nav-toggle { display: none; width: 2.8rem; height: 2.8rem; padding: 0.65rem; color: #fff; background: transparent; border: 1px solid rgba(255,255,255,0.72); border-radius: 3px; }
.mb-nav-toggle > span:not(.screen-reader-text) { display: block; width: 100%; height: 2px; margin: 4px 0; background: currentColor; }

.mb-footer { color: rgba(255,255,255,0.78); background: var(--mb-olive-dark); font-family: "Maison Sans", Arial, sans-serif; font-size: 0.78rem; }
.mb-footer__grid { display: grid; grid-template-columns: 1.2fr 1.1fr 1fr 0.8fr; gap: 2rem; padding-block: 3.5rem; }
.mb-footer h2 { margin: 0 0 0.65rem; color: #fff; font-family: "Maison Garamond", Georgia, serif; font-size: 1.55rem; font-weight: 400; }
.mb-footer p { margin: 0; }
.mb-footer ul { margin: 0; padding: 0; list-style: none; }
.mb-footer a { color: #e0e8d3; }
.mb-footer__bottom { padding: 1rem; color: rgba(255,255,255,0.42); background: var(--mb-forest); text-align: center; }
.mb-not-found { min-height: 55vh; padding-block: 7rem; }

@media (max-width: 1050px) {
  .mb-nav-toggle { display: block; }
  .mb-navigation { position: absolute; top: 100%; right: 0; left: 0; display: none; padding: 1rem; background: var(--mb-olive); box-shadow: 0 12px 20px rgba(49,59,50,0.2); }
  .mb-navigation.is-open { display: block; }
  .mb-navigation ul { width: var(--mb-shell); margin-inline: auto; display: grid; gap: 0; }
  .mb-navigation a { padding: 0.8rem 0; }
  .mb-navigation .mb-language a { width: fit-content; margin: 0.5rem 0; padding: 0.45rem 0.65rem; }
}

@media (max-width: 820px) {
  body.admin-bar header.wp-block-template-part { top: 46px; }
  .mb-topbar__contact a:first-child { display: none; }
  .mb-footer__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 580px) {
  .mb-topbar__social { display: none; }
  .mb-topbar__inner { justify-content: flex-end; }
  .mb-navbar__inner { min-height: 4.5rem; }
  .mb-footer__grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}
