/* Shared by the live site and the sandboxed, server-rendered previews. */
.managed-menu .menu-item-label { display:inline-flex; align-items:center; gap:9px; min-width:0; }
.managed-menu .menu-label-text { min-width:0; overflow-wrap:anywhere; }
.managed-menu .menu-item-symbol { display:inline-flex; align-items:center; justify-content:center; width:20px; height:22px; flex:0 0 20px; color:inherit; }
.managed-menu .menu-item-symbol svg { display:block; width:20px; height:20px; }
.managed-menu .menu-item-symbol .ta-emoji { font:20px/1 'Apple Color Emoji','Segoe UI Emoji',sans-serif; }
.site-header { position: relative; z-index: 20; }
.header-inner { position: relative; }
.header-navigation { min-width: 0; }
.site-skip { z-index: 50; }
.header-floating { margin: 24px auto 0; width: min(calc(100% - 40px), 1520px); border: 1px solid #fff; border-radius: 70px; box-shadow: 0 12px 38px #163c2810, 0 2px 3px #163c280c; background: #fffffff5; }
.header-floating .header-inner { width: 100%; padding: 19px 30px; min-height: 96px; gap: 28px; }
.header-floating .site-brand { font-size: 17px; flex-shrink: 0; }
.header-floating .site-brand small { max-width: 270px; font-size: 14px; }
.managed-menu ul { list-style: none; padding: 0; margin: 0; display: block; }
.managed-menu .menu-root { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.managed-menu .menu-item { margin: 0; min-width: 0; }
.managed-menu a, .managed-menu summary { display: flex; gap: 12px; align-items: center; justify-content: space-between; padding: 13px 16px; font: inherit; font-size: 14px; line-height: 1.7; cursor: pointer; border: 0; text-decoration: none; overflow-wrap: anywhere; }
.site-header .managed-menu > .menu-root > .menu-item > a, .site-header .managed-menu > .menu-root > .menu-item > details > summary { padding: 12px 14px; font-size: 14px; }
.managed-menu summary { list-style: none; }
.managed-menu summary::-webkit-details-marker { display: none; }
.managed-menu a:hover, .managed-menu summary:hover, .managed-menu a[aria-current=page] { color: var(--site-primary); background: #bba37412; text-decoration: none; }
.managed-menu summary:focus-visible, .mobile-navigation > summary:focus-visible { outline: 2px solid var(--site-gold); outline-offset: 3px; }
.menu-caret { flex-shrink: 0; width: 6px; height: 6px; border-right: 1.5px solid; border-bottom: 1.5px solid; transform: rotate(45deg); margin: -4px 2px 0 5px; }
.menu-disclosure[open] > summary .menu-caret { transform: rotate(225deg); margin-top: 3px; }
.menu-disclosure[open] > summary { color: var(--site-primary); background: #bba37412; border-radius: 8px; }
.menu-disclosure { position: relative; }
.mega-disclosure { position: static; }
.managed-menu .menu-panel { position: absolute; top: 100%; left: 0; width: 275px; max-width: 85vw; background: #fffefa; color: var(--site-ink); border: 1px solid var(--site-line); border-top: 2px solid var(--site-gold); border-radius: 0 0 16px 16px; padding: 14px; box-shadow: 0 18px 40px #16291c1c; z-index: 25; }
.managed-menu .menu-root > .menu-item:last-child .menu-panel { left: auto; right: 0; }
/* Each ordinary dropdown stays attached to its trigger and shifts only at a viewport edge. */
@media (min-width: 768px) {
    .desktop-navigation .menu-root > .menu-item > .menu-disclosure:not(.mega-disclosure) > .menu-panel {
        max-width: calc(100vw - 24px);
        transform: translateX(var(--menu-panel-offset, 0px));
    }
}
.managed-menu .menu-panel .menu-panel { position: static; width: auto; max-width: none; padding: 0 0 0 12px; border: 0; border-left: 1px solid var(--site-line); border-radius: 0; box-shadow: none; }
.managed-menu .mega-panel { top: calc(100% + 8px); left: 16px; right: 16px; width: auto; max-width: none; max-height: 72vh; overflow: auto; overscroll-behavior: contain; padding: 28px 32px 32px; border-radius: 18px; }
/* Keep native wheel, touch and keyboard scrolling with a quiet champagne rail. */
.managed-menu .mega-panel {
    --menu-scroll-track: #f3f0e7;
    --menu-scroll-thumb: #b39a64;
    --menu-scroll-thumb-end: #9d814a;
    --menu-scroll-hover: #a48950;
    --menu-scroll-hover-end: #806332;
    --menu-scroll-active: #775e30;
    scrollbar-width: thin;
    scrollbar-color: var(--menu-scroll-thumb) var(--menu-scroll-track);
    scrollbar-gutter: stable;
}
/* Chromium's standard scrollbar properties override its pseudo-elements.
   Reset them here so the rounded thumb and button-free rail are used. */
@supports selector(::-webkit-scrollbar) {
    .managed-menu .mega-panel { scrollbar-width: auto; scrollbar-color: auto; }
    .managed-menu .mega-panel::-webkit-scrollbar { width: 10px; height: 10px; }
    .managed-menu .mega-panel::-webkit-scrollbar-track { background: var(--menu-scroll-track); border-radius: 999px; margin-block: 14px; }
    .managed-menu .mega-panel::-webkit-scrollbar-thumb {
        min-height: 44px;
        background: linear-gradient(var(--menu-scroll-thumb), var(--menu-scroll-thumb-end));
        border: 2px solid var(--menu-scroll-track);
        border-radius: 999px;
        background-clip: padding-box;
    }
    .managed-menu .mega-panel::-webkit-scrollbar-thumb:hover { background-image: linear-gradient(var(--menu-scroll-hover), var(--menu-scroll-hover-end)); }
    .managed-menu .mega-panel::-webkit-scrollbar-thumb:active { background: var(--menu-scroll-active); background-clip: padding-box; }
    .managed-menu .mega-panel::-webkit-scrollbar-button { display: none; width: 0; height: 0; }
    .managed-menu .mega-panel::-webkit-scrollbar-corner { background: transparent; }
}
body:is([data-reading-contrast="dark"], [data-reading-contrast="light"]) .managed-menu .mega-panel {
    --menu-scroll-track: var(--reading-bg);
    --menu-scroll-thumb: var(--reading-fg);
    --menu-scroll-thumb-end: var(--reading-fg);
    --menu-scroll-hover: var(--reading-link);
    --menu-scroll-hover-end: var(--reading-link);
    --menu-scroll-active: var(--reading-fg);
}
@media (forced-colors: active) {
    .managed-menu .mega-panel {
        --menu-scroll-track: Canvas;
        --menu-scroll-thumb: CanvasText;
        --menu-scroll-thumb-end: CanvasText;
        --menu-scroll-hover: Highlight;
        --menu-scroll-hover-end: Highlight;
        --menu-scroll-active: CanvasText;
        scrollbar-color: auto;
    }
    .managed-menu .mega-panel::-webkit-scrollbar-thumb { background: CanvasText; }
    .managed-menu .mega-panel::-webkit-scrollbar-thumb:hover { background: Highlight; }
}
.managed-menu .menu-root > .has-mega:last-child .mega-panel { left: 16px; right: 16px; }
.mega-heading { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding-bottom: 22px; margin-bottom: 8px; border-bottom: 1px solid var(--site-line); }
.mega-heading h2 { font-size: 25px; font-weight: 500; line-height: 1.6; }
.mega-heading p { font-size: 14px; color: var(--site-muted); margin-top: 7px; }
.mega-rule, .page-gold-rule { display: block; background: var(--site-gold); width: 30px; height: 2px; margin-bottom: 12px; }
.managed-menu .menu-overview { color: var(--site-primary); white-space: nowrap; font-size: 14px; border: 1px solid var(--site-line); border-radius: 30px; padding: 9px 16px; }
.mega-columns { display: grid; gap: 32px; }
.mega-cols-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }.mega-cols-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }.mega-cols-4 { grid-template-columns: repeat(4,minmax(0,1fr)); }
.managed-menu .mega-column { display: block; min-width: 0; }
.mega-column > .menu-item { margin-top: 20px; }
.managed-menu .menu-group-title { font-size: 16px; color: var(--site-primary); font-weight: 500; margin: 0 0 9px; }
.managed-menu .menu-panel a { padding: 10px 0; font-size: 14px; border-bottom: 1px dashed var(--site-line); border-radius: 0; }
.managed-menu .mega-heading .menu-overview { border: 1px solid var(--site-line); border-radius: 30px; padding: 9px 16px; font-size: 14px; }
.managed-menu .menu-panel summary { padding: 10px 0; font-size: 14px; }
.menu-description { display: block; color: var(--site-muted); font-weight: 400; font-size: 14px; line-height: 1.8; margin-top: 3px; }
.menu-badge { display: inline-block; margin-left: 8px; color: #745c2f; background: #f4ecd8; padding: 1px 7px; border-radius: 20px; font-size: 14px; vertical-align: middle; }
.menu-external { color: var(--site-gold); flex-shrink: 0; }
/* Theme-selected panel colors stay inside the dropdown, including its nested items. */
.managed-menu[data-menu-panel-colors] .menu-panel {
    --site-ink:var(--mp-ink); --site-primary:var(--mp-ink); --site-muted:var(--mp-ink);
    --site-line:var(--mp-line); --site-gold:var(--mp-accent);
    --ui-menu-hover-bg:var(--mp-accent); --ui-menu-hover-text:var(--mp-hover-ink);
    --menu-scroll-track:var(--mp-base); --menu-scroll-thumb:var(--mp-accent);
    --menu-scroll-thumb-end:var(--mp-accent); --menu-scroll-hover:var(--mp-accent);
    --menu-scroll-hover-end:var(--mp-accent); --menu-scroll-active:var(--mp-accent);
    color:var(--mp-ink); background:var(--mp-background); border-color:var(--mp-line); border-top-color:var(--mp-accent);
}
.managed-menu[data-menu-panel-colors] .menu-panel .menu-panel { background:transparent; }
.managed-menu[data-menu-panel-colors] .menu-panel :is(a,summary):is(:hover,:focus-visible,[aria-current=page]),
.managed-menu[data-menu-panel-colors] .menu-panel details[open]>summary {
    color:var(--mp-hover-ink); background:var(--mp-accent); border-radius:6px;
}
.managed-menu[data-menu-panel-colors] .menu-panel :is(a,summary):is(:hover,:focus-visible,[aria-current=page]) :is(span,small),
.managed-menu[data-menu-panel-colors] .menu-panel details[open]>summary :is(span,small) { color:inherit; }
.managed-menu[data-menu-panel-colors] .menu-panel a:focus-visible { outline:2px solid var(--mp-accent); outline-offset:3px; }
body:is([data-reading-contrast="dark"], [data-reading-contrast="light"]) .managed-menu[data-menu-panel-colors] .menu-panel {
    --menu-scroll-track:var(--reading-bg); --menu-scroll-thumb:var(--reading-fg);
    --menu-scroll-thumb-end:var(--reading-fg); --menu-scroll-hover:var(--reading-link);
    --menu-scroll-hover-end:var(--reading-link); --menu-scroll-active:var(--reading-fg);
}
@media (forced-colors: active) {
    .managed-menu[data-menu-panel-colors] .menu-panel { background:Canvas; color:CanvasText; border-color:CanvasText; }
    .managed-menu[data-menu-panel-colors] .menu-panel :is(a,summary):is(:hover,:focus-visible,[aria-current=page]),
    .managed-menu[data-menu-panel-colors] .menu-panel details[open]>summary { background:Highlight; color:HighlightText; }
}
.menu-parent-link { font-weight: 500; }
.header-compact .managed-menu > .menu-root > .menu-item > a:hover, .header-compact .menu-disclosure[open] > summary { color: #f9efda; }
.header-compact .menu-panel .menu-disclosure[open] > summary { color: var(--site-primary); }
.mobile-navigation { display: none; }
.menu-placement-sidebar .menu-root, .menu-placement-footer .menu-root { display: block; }
.menu-placement-sidebar .menu-panel, .menu-placement-footer .menu-panel { position: static; width: auto; max-width: none; padding: 0 0 0 14px; border: 0; border-left: 1px solid var(--site-line); box-shadow: none; border-radius: 0; background: transparent; color: inherit; }
.menu-placement-sidebar a, .menu-placement-sidebar summary { padding: 14px 20px; font-size: 14px; border-bottom: 1px solid var(--site-line); }
.block-menu .menu-placement-sidebar li span { color: inherit; }
.menu-placement-footer a, .menu-placement-footer summary { color: inherit; font-size: 14px; padding: 7px 0; }
.menu-placement-footer a:hover, .menu-placement-footer summary:hover, .menu-placement-footer .menu-disclosure[open] > summary { color: var(--site-gold); }
.menu-placement-footer .menu-description { color: inherit; }
.footer-minimal .footer-menu-area, .footer-contact .footer-menu-area { align-self: center; }
.footer-contact .footer-menu-area { grid-column: 1; }
.page-breadcrumb { display: flex; flex-wrap: wrap; gap: 14px; margin: 8px 0 28px; font-size: 14px; color: var(--site-muted); }
.published-page { padding: clamp(24px,5vw,64px); border: 1px solid var(--site-line); border-radius: var(--site-radius); background: #fffefa; }
.published-page h1 { font-size: clamp(25px,3vw,38px); font-weight: 500; }
.published-page header { border-bottom: 1px solid var(--site-line); padding-bottom: 30px; margin-bottom: 30px; }
.page-summary { color: var(--site-muted); margin-top: 16px !important; }
.page-cover { display: block; width: 100%; max-height: 520px; object-fit: cover; border-radius: var(--site-radius); margin-bottom: 30px; }
.page-body { white-space: normal; overflow-wrap: anywhere; line-height: 2.2; }
@media (max-width: 1100px) {
    .header-floating .header-inner { flex-direction: column; align-items: center; gap: 12px; }
    .header-floating { border-radius: 35px; }
}
@media (max-width: 767px) {
    .header-floating { width: calc(100% - 24px); margin-top: 12px; border-radius: 24px; }
    .header-floating .header-inner { padding: 20px; align-items: stretch; gap: 18px; }
    .header-navigation { width: 100%; }
    .desktop-navigation { display: none; }
    .mobile-navigation { display: block; }
    .mobile-navigation > summary { display: flex; align-items: center; gap: 10px; cursor: pointer; list-style: none; padding: 10px 14px; background: #bda16c12; border: 1px solid var(--site-line); border-radius: 10px; font-size: 14px; }
    .mobile-navigation > summary::-webkit-details-marker { display: none; }
    .mobile-menu-body { padding-top: 14px; }
    .managed-menu .menu-root { display: block; }
    .managed-menu a, .managed-menu summary { font-size: 14px; padding: 12px 8px; }
    .managed-menu .menu-panel, .managed-menu .mega-panel { position: static; width: auto; max-width: none; max-height: none; overflow: visible; padding: 12px; border-radius: 12px; box-shadow: none; margin-bottom: 8px; }
    .mega-columns { display: block; }
    .mega-heading { padding-bottom: 12px; gap: 10px; flex-wrap: wrap; }
    .mega-heading h2 { font-size: 21px; }
    .managed-menu .menu-group-title { font-size: 14px; }
    .managed-menu .menu-panel a { font-size: 14px; padding: 12px 0; }
    .header-floating .site-brand { font-size: 15px; }
}
