@import url('https://fonts.googleapis.com/css2?family=PT+Serif:wght@400;500&display=swap');
/* Sitewide header based on the live Squarespace navigation and owner CSS. */
.jbp-site-header { position: relative; z-index: 1000; font-family: 'PT Serif', Georgia, serif; }
.jbp-site-header a, .jbp-site-header button { text-decoration: none !important; }
.site-announcement { position: relative; display: flex; justify-content: center; align-items: center; gap: .35rem; min-height: 64px; padding: 10px 44px; background: #402921; color: #fff; text-align: center; font: 14px/1.45 'Inter', sans-serif; }
.site-announcement a { color: inherit; font-weight: 700; white-space: nowrap; }
.site-announcement-close { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); border: 0; background: none; color: inherit; font: 24px/1 Arial, sans-serif; cursor: pointer; }
.site-nav { position: relative; top: auto; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 0; min-height: 94px; padding: 0 24px; background: #fff; border: 0; backdrop-filter: none; color: #402921; }
.site-nav-left, .site-nav-right { display: flex; align-items: center; }
.site-nav-left { gap: 24px; justify-content: flex-start; }
.site-nav-right { gap: 16px; justify-content: flex-end; }
.site-nav a, .site-nav button { color: #402921; font: 400 16px/1.5 'PT Serif', Georgia, serif; letter-spacing: 0; text-transform: none; }
.site-nav-left > a:hover, .site-services-toggle:hover { color: #8F4F3E; }
.site-logo { display: block; justify-self: center; width: min(390px, 33vw); }
.site-logo img { display: block; width: 100%; height: auto; }
.site-services { position: relative; }
.site-services-toggle { display: flex; align-items: center; gap: .35em; padding: 0; border: 0; background: none; cursor: pointer; }
.site-services-toggle::after { content: ''; width: 6px; height: 6px; margin-top: -4px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg); }
.site-services-menu { position: absolute; z-index: 10; top: 100%; left: -16px; min-width: 282px; padding: 12px; background: #FFFDF8; border: 1px solid rgba(21,16,11,.08); border-radius: 10px; box-shadow: 0 20px 48px rgba(21,16,11,.12), 0 4px 12px rgba(21,16,11,.05); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-8px); transition: opacity 180ms ease, transform 220ms cubic-bezier(.22,1,.36,1), visibility 0s linear 220ms; }
.site-services:hover .site-services-menu, .site-services:focus-within .site-services-menu, .site-services-toggle[aria-expanded='true'] + .site-services-menu { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); transition: opacity 180ms ease, transform 220ms cubic-bezier(.22,1,.36,1), visibility 0s; }
.site-services-menu a { display: block; padding: 12px 16px; border-radius: 7px; color: #33251D; font: 500 15px/1.35 'PT Serif', Georgia, serif; letter-spacing: .01em; transition: background-color 160ms ease, color 160ms ease, transform 160ms ease; }
.site-services-menu a + a { margin-top: 4px; }
.site-services-menu a:hover, .site-services-menu a:focus-visible { background: #F6EBDD; color: #8F4F3E; transform: translateX(4px); }
.site-nav :focus-visible, .site-announcement :focus-visible { outline: 2px solid #B76F54; outline-offset: 3px; }
.site-social { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; font: 700 18px/1 Arial, sans-serif !important; }
.site-social svg { flex: none; width: 40px; height: 40px; fill: currentColor; }
.site-social:hover { color: #8F4F3E; }
.site-menu-toggle { display: none; }

@media (max-width: 1000px) {
    .site-nav { grid-template-columns: 48px 1fr 48px; min-height: 76px; padding: 0 20px; }
    .site-logo { width: min(280px, 65vw); }
    .site-menu-toggle { display: flex; align-items: center; justify-content: center; width: 36px; height: 40px; padding: 0; border: 0; background: transparent; cursor: pointer; }
    .site-menu-toggle span, .site-menu-toggle span::before, .site-menu-toggle span::after { display: block; width: 22px; height: 1px; background: currentColor; content: ''; }
    .site-menu-toggle span { position: relative; }
    .site-menu-toggle span::before { position: absolute; top: -6px; }
    .site-menu-toggle span::after { position: absolute; top: 6px; }
    .site-nav-left { display: none; position: absolute; z-index: 5; top: 100%; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 0; padding: 16px 24px 24px; background: #fff; box-shadow: 0 18px 32px rgba(21,16,11,.12); }
    .site-nav.menu-open .site-nav-left { display: flex; }
    .site-nav-left > a, .site-services-toggle { width: 100%; padding: 10px 0; font-size: 18px !important; }
    .site-services-menu { display: none; position: static; min-width: 0; padding: 0 0 8px 12px; border: 0; border-radius: 0; box-shadow: none; opacity: 1; visibility: visible; pointer-events: auto; transform: none; transition: none; }
    .site-services:hover .site-services-menu, .site-services:focus-within .site-services-menu { display: none; }
    .site-services-toggle[aria-expanded='true'] + .site-services-menu, .site-services:focus-within .site-services-toggle[aria-expanded='true'] + .site-services-menu { display: block; }
    .site-services-menu a { padding: 9px 12px; }
    .site-nav-right { display: none; }
}
@media (max-width: 680px) {
    .site-nav { position: relative; flex-direction: initial; align-items: center; padding: 0 20px; }
    .site-logo img { width: 100%; height: auto; }
    .site-announcement { flex-wrap: wrap; font-size: 12px; padding: 10px 38px; }
}
@media (prefers-reduced-motion: reduce) {
    .site-services-menu, .site-services-menu a { transition: none; transform: none; }
}
@media (max-width: 1000px) {
    html:not(.js-ready) .site-nav { display: flex; flex-wrap: wrap; justify-content: center; }
    html:not(.js-ready) .site-menu-toggle { display: none; }
    html:not(.js-ready) .site-nav-left { display: flex; position: static; flex-basis: 100%; box-shadow: none; }
    html:not(.js-ready) .site-services-menu { display: block; }
}
