/* Only the new shortcode output and explicitly marked BeBuilder wrappers are affected. */
.hag-hz-dynamic-section,
.hag-hz-dynamic-section > .section_wrapper,
.hag-hz-dynamic-section .mcb-wrap,
.hag-hz-dynamic-section .mcb-wrap-inner,
.hag-hz-dynamic-section .column,
.hag-hz-dynamic-section .mcb-column-inner {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.hag-hz-dynamic-section .mcb-wrap { float: none; }
.hag-hz-intro-v1 .hag-real-intro-inner { display: block; }
.hag-hz-intro-v1 .hag-real-intro-copy { max-width: 1000px; }
.hag-hz-intro-v1 .hag-hz-overview { margin-top: 42px; }
.hag-real-story-nav.hag-hz-overview,
.hag-real-story-nav.hag-hz-more-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}
.hag-hz-overview > a,
.hag-hz-more-grid > a { min-height: 125px; padding: 22px 24px; gap: 8px; }
.hag-hz-overview a strong { font-size: 1.35rem; }
.hag-hz-overview a span { margin-bottom: 2px; }
.hag-hz-overview .hag-hz-card-excerpt { line-height: 1.55; }
.hag-hz-more { grid-column: 1 / -1; margin: 0; border: 0; }
.hag-hz-more > summary {
    width: fit-content; padding: 14px 0; cursor: pointer;
    color: var(--hag-olive-dark, #4f593f); font-family: var(--hag-font-body, Montserrat, sans-serif);
}
.hag-hz-more > summary span { font-size: inherit; color: inherit; }
.hag-hz-more-grid { margin-top: 12px; }
.hag-hz-story { scroll-margin-top: var(--hag-hz-scroll-offset, 110px); }
.hag-hz-story .hag-real-story-layout { min-width: 0; }
.hag-hz-story .hag-hz-media { min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.hag-hz-story.hag-real-story-reverse-v2 .hag-hz-media { order: 2; }
.hag-hz-story.hag-real-story-reverse-v2 .hag-real-story-copy { order: 1; }
.hag-hz-story.hag-hz-story-single .hag-real-story-layout { grid-template-columns: minmax(0, 1fr); }
.hag-hz-story .hag-real-story-image { flex: 1; position: relative; }
.hag-hz-story .hag-hz-media > .hag-real-story-image { order: 0; }
.hag-hz-story .hag-real-story-image > a { position: absolute; inset: 0; display: block; }
.hag-hz-story .hag-hz-media-multiple .hag-real-story-image { min-height: 460px; }
.hag-hz-story .hag-hz-thumbnails { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.hag-hz-story .hag-hz-thumbnails > a { display: block; height: 126px; border-radius: 16px; overflow: hidden; }
.hag-hz-story .hag-hz-thumbnails img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hag-hz-gallery-button {
    display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 4px 9px;
    width: 100%; min-height: 52px; margin: 0; padding: 14px 20px;
    border: 1px solid var(--hag-border, rgba(79,89,63,.2)); border-radius: 999px;
    background: #fff; color: var(--hag-olive-dark, #4f593f);
    font-family: var(--hag-font-body, Montserrat, sans-serif); font-size: .82rem; font-weight: 600;
    line-height: 1.5; cursor: pointer;
}
.hag-hz-gallery-button span { font-weight: 400; }
.hag-hz-gallery-button:hover { background: var(--hag-olive-dark, #4f593f); color: #fff; }
.hag-hz-body > :last-child { margin-bottom: 0; }
.hag-hz-story .hag-hz-quote { margin: 24px 0; padding: 0 0 0 20px; border-left: 3px solid var(--hag-tiffany, #8fcfc5); background: none; }
.hag-hz-story .hag-hz-quote::before,
.hag-hz-story .hag-hz-quote::after { content: none; }
.hag-hz-story .hag-hz-quote cite { font-size: .82rem; }
.hag-hz-overview a:focus-visible,
.hag-hz-more summary:focus-visible,
.hag-hz-story a:focus-visible,
.hag-hz-story button:focus-visible {
    outline: 3px solid var(--hag-olive-dark, #4f593f); outline-offset: 4px;
}
.hag-hz-story h2:focus { outline: none; }
.hag-hz-dialog {
    position: fixed; inset: 0; box-sizing: border-box;
    width: 100%; max-width: none; height: 100vh; height: 100dvh; max-height: none;
    margin: 0; padding: 72px 88px 65px; border: 0; color: #fff;
    background: rgba(25,29,23,.97); z-index: 1000000;
    font-family: var(--hag-font-body, Montserrat, sans-serif);
}
.hag-hz-dialog[open] { display: flex; align-items: center; justify-content: center; }
.hag-hz-dialog::backdrop { background: rgba(25,29,23,.94); }
.hag-hz-dialog figure { display: flex; flex-direction: column; align-items: center; margin: 0; width: 100%; max-height: 100%; }
.hag-hz-dialog-image { display: block; max-width: 100%; max-height: calc(100vh - 175px); max-height: calc(100dvh - 175px); width: auto; height: auto; object-fit: contain; border-radius: 10px; }
.hag-hz-dialog figcaption { margin-top: 14px; max-width: 760px; color: rgba(255,255,255,.88); font-size: .82rem; line-height: 1.5; text-align: center; }
.hag-hz-dialog button {
    position: absolute; display: flex; align-items: center; justify-content: center;
    width: 48px; height: 48px; margin: 0; padding: 0; border: 1px solid rgba(255,255,255,.4);
    border-radius: 50%; color: #fff; background: rgba(255,255,255,.1); font-size: 2rem; line-height: 1; cursor: pointer;
}
.hag-hz-dialog button:hover { background: #fff; color: #4f593f; }
.hag-hz-dialog button:focus-visible { outline: 3px solid #8fcfc5; outline-offset: 4px; }
.hag-hz-dialog button[hidden], .hag-hz-dialog [hidden] { display: none !important; }
.hag-hz-close { top: 18px; right: 20px; }
.hag-hz-prev { top: calc(50% - 24px); left: 20px; }
.hag-hz-next { top: calc(50% - 24px); right: 20px; }
.hag-hz-counter { position: absolute; bottom: 22px; right: 24px; font-size: .8rem; color: #fff; }
.hag-hz-dialog-title { position: absolute; top: 25px; left: 24px; right: 90px; font-size: .85rem; line-height: 1.5; color: #fff; }
.hag-hz-dialog-status { position: absolute; bottom: 24px; left: 90px; right: 90px; text-align: center; font-size: .8rem; }
body.hag-hz-dialog-open { overflow: hidden !important; }
@media (max-width: 960px) {
    .hag-real-story-nav.hag-hz-overview, .hag-real-story-nav.hag-hz-more-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hag-hz-story.hag-real-story-reverse-v2 .hag-hz-media { order: 1; }
    .hag-hz-story.hag-real-story-reverse-v2 .hag-real-story-copy { order: 2; }
    .hag-hz-story .hag-real-story-image { min-height: 500px; }
}
@media (max-width: 767px) {
    .hag-hz-story .hag-real-story-inner { width: calc(100% - 40px) !important; margin: 0 auto !important; }
    .hag-hz-intro-v1 .hag-real-intro-inner { width: calc(100% - 40px) !important; margin: 0 auto !important; }
    .hag-hz-overview > a, .hag-hz-more-grid > a { padding: 20px; min-height: 110px; }
    .hag-hz-story .hag-real-story-image, .hag-hz-story .hag-hz-media-multiple .hag-real-story-image { min-height: 0; height: 390px; flex: none; }
    .hag-hz-story .hag-hz-thumbnails > a { height: 110px; }
    .hag-hz-dialog { padding: 75px 12px 95px; }
    .hag-hz-dialog-image { max-height: calc(100vh - 220px); max-height: calc(100dvh - 220px); }
    .hag-hz-dialog button { width: 44px; height: 44px; }
    .hag-hz-close { top: 12px; right: 12px; }
    .hag-hz-prev { top: auto; bottom: 12px; left: 12px; }
    .hag-hz-next { top: auto; bottom: 12px; right: 12px; }
    .hag-hz-counter { bottom: 27px; left: 75px; right: 75px; text-align: center; }
    .hag-hz-dialog-status { bottom: 67px; left: 20px; right: 20px; }
    .hag-hz-dialog-title { top: 22px; left: 14px; right: 70px; }
}
@media (max-width: 480px) {
    .hag-real-story-nav.hag-hz-overview, .hag-real-story-nav.hag-hz-more-grid { grid-template-columns: minmax(0, 1fr); }
    .hag-hz-overview > a, .hag-hz-more-grid > a { min-height: 94px; }
    .hag-hz-story .hag-real-story-image, .hag-hz-story .hag-hz-media-multiple .hag-real-story-image { height: 330px; }
}
@media (prefers-reduced-motion: reduce) {
    .hag-hz-overview a, .hag-hz-story a, .hag-hz-story button { transition: none !important; }
}
