/* Shared SWM navigation. Uses the validated brand and existing homepage typeface. */
.swm-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: var(--bg, #fdfaf7);
    border-bottom: 1px solid #e7e5e4;
    font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
    color: var(--dark, #493126);
}
.swm-header.is-scrolled { box-shadow: 0 8px 24px rgba(73,49,38,.08); }
.swm-header-inner { max-width: 1280px; margin: 0 auto; padding: 16px 24px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.swm-header .swm-logo { display: block; width: 144px; height: auto; }
.swm-header .swm-home-link { flex-shrink: 0; }
.swm-header nav { display: flex; align-items: center; flex-wrap: nowrap; justify-content: flex-end; gap: 28px; margin: 0; padding: 0; }
.swm-header a { color: var(--dark); text-decoration: none; }
.swm-header a:not(.swm-home-link), .swm-header button { font-size: 12px; line-height: 1.5; font-weight: 800; letter-spacing: .06em; }
.swm-services-controls { display: flex; align-items: center; gap: 2px; }
.swm-header .swm-services-overview { display: inline-flex; align-items: center; min-height: 40px; padding: 6px 4px; text-transform: uppercase; }
.swm-header a[aria-current="page"] { color: var(--gold-text); text-decoration: underline; text-underline-offset: .3em; text-decoration-thickness: 2px; }
.swm-header a:hover { text-decoration: underline; text-underline-offset: .3em; }
.swm-header .swm-disclosure { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 40px; height: 40px; padding: 0; color: var(--dark); background: transparent; border: 1px solid transparent; border-radius: 50%; cursor: pointer; }
.swm-header .swm-disclosure:hover, .swm-header .swm-disclosure[aria-expanded="true"] { background: #f9f6f3; border-color: var(--gold-text); }
.swm-header .swm-chevron { display: block; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); }
.swm-header .swm-disclosure[aria-expanded="true"] .swm-chevron { transform: translateY(2px) rotate(225deg); }
.swm-menu-icon, .swm-menu-icon::before, .swm-menu-icon::after { display: block; width: 18px; height: 2px; background: currentColor; position: relative; }
.swm-menu-icon::before, .swm-menu-icon::after { content: ''; position: absolute; left: 0; }
.swm-menu-icon::before { top: -6px; }.swm-menu-icon::after { top: 6px; }
.swm-header .swm-services { position: relative; }
.swm-header ul, .swm-header li { list-style: none; margin: 0; padding: 0; color: inherit; }
.swm-header .swm-service-list { min-width: 290px; max-width: 360px; padding: 8px; background: #fff; border: 1px solid #e7e5e4; border-radius: 18px; box-shadow: 0 18px 40px rgba(73,49,38,.12); }
.swm-header[data-enhanced] .swm-service-list { position: absolute; top: calc(100% + 10px); right: 0; }
.swm-header .swm-service-list a { display: block; padding: 12px 14px; border-radius: 10px; letter-spacing: 0; line-height: 1.55; }
.swm-header .swm-service-list a:hover { background: #f9f6f3; }
.swm-header .swm-secondary-nav { display: flex; align-items: center; gap: 28px; }
.swm-header .swm-secondary-nav > a { text-transform: uppercase; }
.swm-header .swm-header-cta { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 12px 24px; border-radius: 999px; background: var(--dark); color: #fff; text-align: center; }
.swm-header a:focus-visible, .swm-header button:focus-visible { outline: 3px solid var(--gold-text); outline-offset: 4px; }
.swm-header [hidden] { display: none !important; }
.swm-skip { position: absolute; left: 16px; top: -100px; padding: 12px; background: #fff; border-radius: 8px; }
.swm-skip:focus { top: 8px; z-index: 2; }
.swm-home main > section:first-child { padding-top: 48px; }
@media (min-width: 768px) { .swm-home main > section:first-child { padding-top: 72px; } }
@media (max-width: 1023px) {
    .swm-header-inner { gap: 8px; padding: 14px 16px; }
    .swm-header .swm-logo { width: 120px; }
    .swm-header nav { gap: 6px; }
    .swm-header .swm-services { position: static; }
    .swm-header[data-enhanced] .swm-service-list,
    .swm-header[data-enhanced] .swm-secondary-nav { position: absolute; top: calc(100% + 4px); left: 12px; right: 12px; min-width: 0; max-width: none; max-height: calc(100dvh - 150px); overflow-y: auto; }
    .swm-header .swm-service-list { padding: 8px; }
    .swm-header .swm-secondary-nav { flex-direction: column; align-items: stretch; gap: 6px; padding: 16px; background: #fff; border: 1px solid #e7e5e4; border-radius: 18px; box-shadow: 0 18px 40px rgba(73,49,38,.12); }
    .swm-header .swm-secondary-nav > a:not(.swm-header-cta) { padding: 12px; }
    .swm-header:not([data-enhanced]) .swm-header-inner, .swm-header:not([data-enhanced]) nav { flex-wrap: wrap; }
    .swm-header:not([data-enhanced]) .swm-header-nav { width: 100%; flex-wrap: wrap; }
    .swm-header:not([data-enhanced]) .swm-service-list { min-width: 0; width: min(360px, calc(100vw - 32px)); max-width: none; }
}
@media (prefers-reduced-motion: reduce) { .swm-header * { scroll-behavior: auto; } }

@media (max-width: 1023px) {
    .swm-header .swm-secondary-nav > .swm-services { width: 100%; }
    .swm-header .swm-services-controls { justify-content: space-between; }
    .swm-header[data-enhanced] .swm-service-list {
        position: static;
        width: 100%;
        min-width: 0;
        max-height: none;
        overflow: visible;
        margin: 4px 0 12px;
        box-shadow: none;
        background: #f9f6f3;
    }
}

.swm-language-links { display:flex; align-items:center; gap:12px; white-space:nowrap; }
.swm-header .swm-language-links a { display:inline-flex; align-items:center; min-height:40px; }
