/*
 * Ideal Spaces UI Clean v1.0.11.5
 * Desktop single-bar header with an overlay navigation row.
 * The menu is absolutely layered over page media and never changes document flow.
 */

@media only screen and (min-width: 1200px) {
  body.is-modern-ui-test,
  body.isclean-loss-page {
    --ismui-header-height: 78px;
    --ismui-header-surface:
      radial-gradient(circle at 10% 0%, rgba(36, 50, 68, 0.42), transparent 30%),
      linear-gradient(100deg, #0b1728 0%, #161323 48%, #0b0f14 100%);
  }

  body.is-modern-ui-test .site-header,
  body.isclean-loss-page .site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: var(--ismui-header-height) !important;
    min-height: var(--ismui-header-height) !important;
    overflow: visible !important;
    background: var(--ismui-header-surface) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10) !important;
    box-shadow: 0 14px 38px rgba(12, 5, 12, 0.20) !important;
    z-index: 9999 !important;
  }

  body.admin-bar.is-modern-ui-test .site-header,
  body.admin-bar.isclean-loss-page .site-header {
    top: 32px !important;
  }

  body.is-modern-ui-test .site-content,
  body.isclean-loss-page .site-content {
    padding-top: var(--ismui-header-height) !important;
  }

  body.is-modern-ui-test.admin-bar .site-content,
  body.isclean-loss-page.admin-bar .site-content {
    padding-top: var(--ismui-header-height) !important;
  }

  body.is-modern-ui-test .site-header .mainHeader,
  body.is-modern-ui-test header.mainHeader,
  body.isclean-loss-page .site-header .mainHeader,
  body.isclean-loss-page header.mainHeader {
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    height: var(--ismui-header-height) !important;
    min-height: var(--ismui-header-height) !important;
    margin: 0 !important;
    padding: 0 30px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    background: transparent !important;
  }

  body.is-modern-ui-test .site-header .mainHeaderLogo,
  body.is-modern-ui-test header.mainHeader .mainHeaderLogo,
  body.isclean-loss-page .site-header .mainHeaderLogo,
  body.isclean-loss-page header.mainHeader .mainHeaderLogo {
    position: relative !important;
    z-index: 20 !important;
    width: auto !important;
    max-width: none !important;
    height: var(--ismui-header-height) !important;
    min-height: var(--ismui-header-height) !important;
    margin: 0 auto 0 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex: 0 0 auto !important;
  }

  body.is-modern-ui-test .site-header .mainHeaderLogo .logo,
  body.is-modern-ui-test header.mainHeader .mainHeaderLogo .logo,
  body.isclean-loss-page .site-header .mainHeaderLogo .logo,
  body.isclean-loss-page header.mainHeader .mainHeaderLogo .logo {
    position: static !important;
    inset: auto !important;
    margin: 0 !important;
    transform: none !important;
    display: flex !important;
    align-items: center !important;
  }

  body.is-modern-ui-test .site-header .mainHeaderLogo img,
  body.is-modern-ui-test header.mainHeader .mainHeaderLogo img,
  body.isclean-loss-page .site-header .mainHeaderLogo img,
  body.isclean-loss-page header.mainHeader .mainHeaderLogo img {
    width: 168px !important;
    max-width: 168px !important;
    height: auto !important;
    max-height: 52px !important;
    object-fit: contain !important;
    filter: brightness(0) invert(1) !important;
    -webkit-filter: brightness(0) invert(1) !important;
    opacity: 0.96 !important;
  }

  /* The legacy menu wrapper becomes a transparent control layer over the header. */
  body.is-modern-ui-test .site-header .mainHeaderMenu,
  body.is-modern-ui-test header.mainHeader .mainHeaderMenu,
  body.is-modern-ui-test .site-header > .mainHeaderMenu,
  body.isclean-loss-page .site-header .mainHeaderMenu,
  body.isclean-loss-page header.mainHeader .mainHeaderMenu,
  body.isclean-loss-page .site-header > .mainHeaderMenu {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: var(--ismui-header-height) !important;
    min-height: var(--ismui-header-height) !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    pointer-events: none !important;
    z-index: 30 !important;
  }

  body.is-modern-ui-test .mainHeaderMenu::before,
  body.is-modern-ui-test .mainHeaderMenu:before,
  body.isclean-loss-page .mainHeaderMenu::before,
  body.isclean-loss-page .mainHeaderMenu:before {
    content: none !important;
    display: none !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.is-modern-ui-test .mainHeaderMenu nav,
  body.isclean-loss-page .mainHeaderMenu nav {
    position: static !important;
    width: 100% !important;
    height: var(--ismui-header-height) !important;
    min-height: var(--ismui-header-height) !important;
    pointer-events: none !important;
  }

  /* Existing animated hamburger, now visible on desktop and aligned right. */
  body.is-modern-ui-test .hamburger,
  body.isclean-loss-page .hamburger {
    position: absolute !important;
    top: 50% !important;
    right: 22px !important;
    left: auto !important;
    bottom: auto !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: translateY(-50%) scale(0.74) !important;
    transform-origin: center !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    z-index: 50 !important;
  }

  body.is-modern-ui-test .hamburger::after,
  body.isclean-loss-page .hamburger::after {
    content: none !important;
    display: none !important;
  }

  body.is-modern-ui-test .hamburgerLineIin::before,
  body.is-modern-ui-test .hamburgerLineIin::after,
  body.isclean-loss-page .hamburgerLineIin::before,
  body.isclean-loss-page .hamburgerLineIin::after {
    background-color: #ffffff !important;
  }

  /* Closed menu: a hidden horizontal bar anchored beneath the header. */
  body.is-modern-ui-test .mainHeaderMenu .mainMenu,
  body.isclean-loss-page .mainHeaderMenu .mainMenu {
    position: absolute !important;
    top: var(--ismui-header-height) !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 58px !important;
    height: 58px !important;
    margin: 0 !important;
    padding: 0 24px !important;
    display: flex !important;
    align-items: stretch !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    gap: 2px !important;
    overflow: visible !important;
    color: #ffffff !important;
    background: var(--ismui-header-surface) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow: 0 18px 34px rgba(7, 11, 18, 0.24) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-10px) !important;
    transition:
      opacity 180ms ease,
      visibility 180ms ease,
      transform 220ms cubic-bezier(.22, .78, .24, 1) !important;
    z-index: 40 !important;
  }

  /* Open via our lightweight controller or the theme's original menu state. */
  body.is-modern-ui-test.ismui-desktop-nav-open .mainHeaderMenu .mainMenu,
  body.isclean-loss-page.ismui-desktop-nav-open .mainHeaderMenu .mainMenu,
  body.is-modern-ui-test .menuOpened .mainMenu,
  body.isclean-loss-page .menuOpened .mainMenu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }

  body.is-modern-ui-test.ismui-desktop-nav-open,
  body.isclean-loss-page.ismui-desktop-nav-open {
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  body.is-modern-ui-test .mainHeaderMenu .mainMenu::after,
  body.is-modern-ui-test .mainHeaderMenu .mainMenu > li::before,
  body.is-modern-ui-test .mainHeaderMenu .mainMenu > li::after,
  body.isclean-loss-page .mainHeaderMenu .mainMenu::after,
  body.isclean-loss-page .mainHeaderMenu .mainMenu > li::before,
  body.isclean-loss-page .mainHeaderMenu .mainMenu > li::after {
    content: none !important;
    display: none !important;
  }

  body.is-modern-ui-test .mainHeaderMenu .mainMenu > li,
  body.isclean-loss-page .mainHeaderMenu .mainMenu > li {
    position: relative !important;
    width: auto !important;
    max-width: none !important;
    min-height: 58px !important;
    height: 58px !important;
    margin: 0 !important;
    padding: 0 8px !important;
    display: flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    border: 0 !important;
    opacity: 1 !important;
  }

  body.is-modern-ui-test .mainHeaderMenu .mainMenu > li > a,
  body.isclean-loss-page .mainHeaderMenu .mainMenu > li > a {
    position: relative !important;
    width: auto !important;
    min-width: 0 !important;
    height: 58px !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 0 2px !important;
    display: flex !important;
    align-items: center !important;
    color: rgba(255, 255, 255, 0.80) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: "Neuton", serif !important;
    font-size: 17px !important;
    line-height: 1 !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-transform: lowercase !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: color 180ms ease !important;
  }

  body.is-modern-ui-test .mainHeaderMenu .mainMenu > li > a::after,
  body.isclean-loss-page .mainHeaderMenu .mainMenu > li > a::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 7px !important;
    top: auto !important;
    width: 100% !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, #3a4f6b, #6a8dbb) !important;
    transform: scaleX(0) !important;
    transform-origin: center !important;
    transition: transform 220ms ease !important;
  }

  body.is-modern-ui-test .mainHeaderMenu .mainMenu > li:hover > a,
  body.is-modern-ui-test .mainHeaderMenu .mainMenu > li.current-menu-item > a,
  body.is-modern-ui-test .mainHeaderMenu .mainMenu > li.current-menu-ancestor > a,
  body.isclean-loss-page .mainHeaderMenu .mainMenu > li:hover > a,
  body.isclean-loss-page .mainHeaderMenu .mainMenu > li.current-menu-item > a,
  body.isclean-loss-page .mainHeaderMenu .mainMenu > li.current-menu-ancestor > a {
    color: #ffffff !important;
  }

  body.is-modern-ui-test .mainHeaderMenu .mainMenu > li:hover > a::after,
  body.is-modern-ui-test .mainHeaderMenu .mainMenu > li.current-menu-item > a::after,
  body.is-modern-ui-test .mainHeaderMenu .mainMenu > li.current-menu-ancestor > a::after,
  body.isclean-loss-page .mainHeaderMenu .mainMenu > li:hover > a::after,
  body.isclean-loss-page .mainHeaderMenu .mainMenu > li.current-menu-item > a::after,
  body.isclean-loss-page .mainHeaderMenu .mainMenu > li.current-menu-ancestor > a::after {
    transform: scaleX(1) !important;
  }

  body.is-modern-ui-test .mainHeaderMenu .mainMenu > li > a[href*="idealspaces.org"],
  body.isclean-loss-page .mainHeaderMenu .mainMenu > li > a[href*="idealspaces.org"] {
    color: #6a8dbb !important;
  }

  /* Keep original dropdowns functional beneath the overlay row. */
  body.is-modern-ui-test .mainHeaderMenu .mainMenu li > ul,
  body.isclean-loss-page .mainHeaderMenu .mainMenu li > ul {
    top: 100% !important;
    z-index: 60 !important;
  }
}

@media only screen and (min-width: 1200px) and (max-width: 1370px) {
  body.is-modern-ui-test .mainHeaderMenu .mainMenu,
  body.isclean-loss-page .mainHeaderMenu .mainMenu {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  body.is-modern-ui-test .mainHeaderMenu .mainMenu > li,
  body.isclean-loss-page .mainHeaderMenu .mainMenu > li {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }

  body.is-modern-ui-test .mainHeaderMenu .mainMenu > li > a,
  body.isclean-loss-page .mainHeaderMenu .mainMenu > li > a {
    font-size: 16px !important;
  }
}


/* ============================================================
   v1.0.11.6 — HEADER LOGO SHARPNESS + HOME FOOTER GAP
   Keep the logo above every legacy nav layer and avoid fractional
   transforms that can make the raster mark look soft in Chrome.
   ============================================================ */
@media only screen and (min-width: 1200px) {
  body.is-modern-ui-test .site-header .mainHeaderLogo,
  body.is-modern-ui-test header.mainHeader .mainHeaderLogo,
  body.isclean-loss-page .site-header .mainHeaderLogo,
  body.isclean-loss-page header.mainHeader .mainHeaderLogo {
    position: absolute !important;
    top: 0 !important;
    left: 30px !important;
    right: auto !important;
    bottom: auto !important;
    width: auto !important;
    height: var(--ismui-header-height) !important;
    min-height: var(--ismui-header-height) !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    isolation: isolate !important;
    z-index: 120 !important;
  }

  body.is-modern-ui-test .site-header .mainHeaderLogo .logo,
  body.is-modern-ui-test header.mainHeader .mainHeaderLogo .logo,
  body.isclean-loss-page .site-header .mainHeaderLogo .logo,
  body.isclean-loss-page header.mainHeader .mainHeaderLogo .logo,
  body.is-modern-ui-test .site-header .mainHeaderLogo .logo > a,
  body.is-modern-ui-test header.mainHeader .mainHeaderLogo .logo > a,
  body.isclean-loss-page .site-header .mainHeaderLogo .logo > a,
  body.isclean-loss-page header.mainHeader .mainHeaderLogo .logo > a {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
    z-index: 121 !important;
  }

  body.is-modern-ui-test .site-header .mainHeaderLogo img,
  body.is-modern-ui-test header.mainHeader .mainHeaderLogo img,
  body.isclean-loss-page .site-header .mainHeaderLogo img,
  body.isclean-loss-page header.mainHeader .mainHeaderLogo img {
    display: block !important;
    width: auto !important;
    max-width: 180px !important;
    height: 44px !important;
    max-height: 44px !important;
    margin: 0 !important;
    object-fit: contain !important;
    object-position: left center !important;
    transform: none !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
    image-rendering: auto !important;
    filter: brightness(0) invert(1) !important;
    -webkit-filter: brightness(0) invert(1) !important;
    opacity: 1 !important;
  }

  /* The menu control must never paint over the logo. */
  body.is-modern-ui-test .site-header .mainHeaderMenu,
  body.is-modern-ui-test header.mainHeader .mainHeaderMenu,
  body.is-modern-ui-test .site-header > .mainHeaderMenu,
  body.isclean-loss-page .site-header .mainHeaderMenu,
  body.isclean-loss-page header.mainHeader .mainHeaderMenu,
  body.isclean-loss-page .site-header > .mainHeaderMenu {
    z-index: 30 !important;
  }

  body.is-modern-ui-test .mainHeaderMenu nav,
  body.isclean-loss-page .mainHeaderMenu nav,
  body.is-modern-ui-test .mainHeaderMenu nav::before,
  body.is-modern-ui-test .mainHeaderMenu nav::after,
  body.isclean-loss-page .mainHeaderMenu nav::before,
  body.isclean-loss-page .mainHeaderMenu nav::after {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
  }

  body.is-modern-ui-test .hamburger,
  body.isclean-loss-page .hamburger {
    z-index: 140 !important;
  }
}

/* The homepage has no content after its visual hero. Remove legacy bottom
   spacing/background so the footer meets the hero without a white band. */
body.home.is-modern-ui-test {
  background-color: #07131f !important;
}

body.home.is-modern-ui-test .site-content,
body.home.is-modern-ui-test #content,
body.home.is-modern-ui-test .content-area,
body.home.is-modern-ui-test #primary,
body.home.is-modern-ui-test main.site-main,
body.home.is-modern-ui-test article.page,
body.home.is-modern-ui-test .entry-content,
body.home.is-modern-ui-test .page-content {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  min-height: 0 !important;
  background-color: transparent !important;
}

body.home.is-modern-ui-test main.site-main > :last-child,
body.home.is-modern-ui-test article.page > :last-child,
body.home.is-modern-ui-test .entry-content > :last-child,
body.home.is-modern-ui-test .page-content > :last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.home.is-modern-ui-test #colophon,
body.home.is-modern-ui-test .site-footer,
body.home.is-modern-ui-test .mainFooter {
  margin-top: 0 !important;
}

/* ============================================================
   v1.0.11.7 — COMPACT CHROME + UNCROPPED HOME SLIDES
   - A slimmer single desktop header.
   - Homepage slider media always shows the complete source image.
   - Footer height is driven by its real content, not legacy padding.
   ============================================================ */

@media only screen and (min-width: 1200px) {
  body.is-modern-ui-test,
  body.isclean-loss-page {
    --ismui-header-height: 60px;
  }

  body.is-modern-ui-test .site-header .mainHeader,
  body.is-modern-ui-test header.mainHeader,
  body.isclean-loss-page .site-header .mainHeader,
  body.isclean-loss-page header.mainHeader {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  body.is-modern-ui-test .site-header .mainHeaderLogo,
  body.is-modern-ui-test header.mainHeader .mainHeaderLogo,
  body.isclean-loss-page .site-header .mainHeaderLogo,
  body.isclean-loss-page header.mainHeader .mainHeaderLogo {
    left: 22px !important;
  }

  body.is-modern-ui-test .site-header .mainHeaderLogo img,
  body.is-modern-ui-test header.mainHeader .mainHeaderLogo img,
  body.isclean-loss-page .site-header .mainHeaderLogo img,
  body.isclean-loss-page header.mainHeader .mainHeaderLogo img {
    width: auto !important;
    max-width: 158px !important;
    height: 36px !important;
    max-height: 36px !important;
  }

  body.is-modern-ui-test .hamburger,
  body.isclean-loss-page .hamburger {
    right: 16px !important;
    transform: translateY(-50%) scale(0.64) !important;
  }

  body.is-modern-ui-test .mainHeaderMenu .mainMenu,
  body.isclean-loss-page .mainHeaderMenu .mainMenu {
    min-height: 52px !important;
    height: 52px !important;
  }

  body.is-modern-ui-test .mainHeaderMenu .mainMenu > li,
  body.isclean-loss-page .mainHeaderMenu .mainMenu > li,
  body.is-modern-ui-test .mainHeaderMenu .mainMenu > li > a,
  body.isclean-loss-page .mainHeaderMenu .mainMenu > li > a {
    min-height: 52px !important;
    height: 52px !important;
  }

  body.is-modern-ui-test .mainHeaderMenu .mainMenu > li > a::after,
  body.isclean-loss-page .mainHeaderMenu .mainMenu > li > a::after {
    bottom: 5px !important;
  }
}

/* Homepage slider: never crop the original stills. The image is letterboxed
   only when its aspect ratio differs from the browser viewport. */
body.home.is-modern-ui-test .iswg-hero-slider {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  background: #07131f !important;
  overflow: hidden !important;
}

body.home.is-modern-ui-test .iswg-hero-slider > div,
body.home.is-modern-ui-test .iswg-hero-slider > div .swiper-container,
body.home.is-modern-ui-test .iswg-hero-slider .iswg-hero-sliderContent {
  height: calc(100vh - 70px) !important;
  height: calc(100svh - 70px) !important;
  min-height: 0 !important;
}

body.home.is-modern-ui-test .iswg-hero-slider > div .swiper-container,
body.home.is-modern-ui-test .iswg-hero-slider > div .swiper-container .swiper-slide,
body.home.is-modern-ui-test .iswg-hero-slider > div .swiper-container .swiper-slide figure,
body.home.is-modern-ui-test .iswg-hero-slider > div .swiper-container .swiper-slide picture {
  background-color: #07131f !important;
}

body.home.is-modern-ui-test .iswg-hero-slider > div .swiper-container .swiper-slide figure {
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
}

body.home.is-modern-ui-test .iswg-hero-slider > div .swiper-container .swiper-slide img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
}

@media only screen and (min-width: 1200px) {
  body.home.is-modern-ui-test .iswg-hero-slider > div,
  body.home.is-modern-ui-test .iswg-hero-slider > div .swiper-container,
  body.home.is-modern-ui-test .iswg-hero-slider .iswg-hero-sliderContent {
    height: calc(100vh - var(--ismui-header-height)) !important;
    height: calc(100svh - var(--ismui-header-height)) !important;
  }
}

/* Compact footer: remove the legacy 50px outer padding and reduce only the
   empty vertical space. Logo, copyright and social links remain unchanged. */
body.is-modern-ui-test .mainFooter,
body.isclean-loss-page .mainFooter {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  min-height: 0 !important;
}

body.is-modern-ui-test .mainFooter .mainFooterIn,
body.isclean-loss-page .mainFooter .mainFooterIn {
  min-height: 0 !important;
  padding: 24px 20px 20px !important;
}

body.is-modern-ui-test .mainFooter .mainFooterIn .mainFooterLogo,
body.isclean-loss-page .mainFooter .mainFooterIn .mainFooterLogo {
  padding-bottom: 14px !important;
  margin-bottom: 14px !important;
}

body.is-modern-ui-test .mainFooter .mainFooterIn .mainFooterLogo::after,
body.isclean-loss-page .mainFooter .mainFooterIn .mainFooterLogo::after {
  height: 3px !important;
}

body.is-modern-ui-test .mainFooter .mainFooterIn .mainFooterSocials,
body.isclean-loss-page .mainFooter .mainFooterIn .mainFooterSocials {
  top: 24px !important;
}

body.is-modern-ui-test .mainFooter .mainFooterInfo,
body.isclean-loss-page .mainFooter .mainFooterInfo {
  margin: 0 !important;
  line-height: 1.35 !important;
}

@media only screen and (min-width: 1024px) {
  body.is-modern-ui-test .mainFooter .mainFooterIn .mainFooterLogo,
  body.isclean-loss-page .mainFooter .mainFooterIn .mainFooterLogo {
    padding-bottom: 14px !important;
    margin-bottom: 14px !important;
  }
}

/* v1.0.11.8 — sampled architectural blue, without near-black mixing. */
@media only screen and (min-width: 1200px) {
  body.is-modern-ui-test .mainHeaderMenu .mainMenu > li > a::after,
  body.isclean-loss-page .mainHeaderMenu .mainMenu > li > a::after {
    background: linear-gradient(90deg, #335482 0%, #5f7fae 100%) !important;
  }
}

/* ============================================================
   v1.0.11.9 — TRUE FULL-BLEED HOME + ARCHITECTURAL BLUE HEADER
   - The slider breaks out of the theme's centred content column.
   - Images fill the full hero with the minimum crop required by cover.
   - The header/dropdown uses the sampled #335482 family, never near-black.
   - Home title scale returns to a quieter, pre-redesign proportion.
   ============================================================ */
@media only screen and (min-width: 1200px) {
  body.is-modern-ui-test,
  body.isclean-loss-page {
    --ismui-header-surface:
      linear-gradient(102deg, #29466f 0%, #335482 46%, #5879a6 100%);
  }

  body.home.is-modern-ui-test .iswg-hero-slider {
    position: relative !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #335482 !important;
  }

  body.home.is-modern-ui-test .iswg-hero-slider > div,
  body.home.is-modern-ui-test .iswg-hero-slider > div .swiper-container,
  body.home.is-modern-ui-test .iswg-hero-slider > div .swiper-container .swiper-slide,
  body.home.is-modern-ui-test .iswg-hero-slider > div .swiper-container .swiper-slide figure,
  body.home.is-modern-ui-test .iswg-hero-slider > div .swiper-container .swiper-slide picture {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background-color: #335482 !important;
  }

  body.home.is-modern-ui-test .iswg-hero-slider > div,
  body.home.is-modern-ui-test .iswg-hero-slider > div .swiper-container,
  body.home.is-modern-ui-test .iswg-hero-slider .iswg-hero-sliderContent {
    height: calc(100vh - var(--ismui-header-height, 60px)) !important;
    height: calc(100svh - var(--ismui-header-height, 60px)) !important;
    min-height: 560px !important;
  }

  body.home.is-modern-ui-test .iswg-hero-slider > div .swiper-container .swiper-slide figure {
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
  }

  body.home.is-modern-ui-test .iswg-hero-slider > div .swiper-container .swiper-slide img,
  body.home.is-modern-ui-test .iswg-hero-slider > div .swiper-container .swiper-slide picture img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
  }

  /* Quieter title proportions, closer to the original site rhythm. */
  body.home.is-modern-ui-test
  .iswg-hero-slider .iswg-hero-sliderContent .iswg-hero-sliderContentIn h2 {
    font-size: clamp(46px, 3.7vw, 56px) !important;
    line-height: 1.04 !important;
    margin-bottom: 14px !important;
  }

  body.home.is-modern-ui-test
  .iswg-hero-slider .iswg-hero-sliderContent .iswg-hero-sliderContentIn p {
    font-size: clamp(22px, 1.7vw, 27px) !important;
    line-height: 1.22 !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  body.home.is-modern-ui-test .iswg-hero-slider > div .swiper-container .swiper-slide img,
  body.home.is-modern-ui-test .iswg-hero-slider > div .swiper-container .swiper-slide picture img {
    object-fit: cover !important;
    object-position: center center !important;
  }

  body.home.is-modern-ui-test
  .iswg-hero-slider .iswg-hero-sliderContent .iswg-hero-sliderContentIn h2 {
    font-size: clamp(42px, 6vw, 52px) !important;
    line-height: 1.05 !important;
  }
}


/* ============================================================
   v1.0.11.10 — TARGETED MENU STABILITY FIX
   Only fixes submenu reachability/weight and restores the original German-link red.
   ============================================================ */
@media only screen and (min-width: 1200px) {
  body.is-modern-ui-test .mainHeaderMenu .mainMenu li > ul,
  body.isclean-loss-page .mainHeaderMenu .mainMenu li > ul {
    top: calc(100% - 1px) !important;
    margin-top: 0 !important;
  }

  /* Invisible hover bridge: the cursor can travel into the submenu without
     crossing a dead strip that closes it. */
  body.is-modern-ui-test .mainHeaderMenu .mainMenu li > ul::before,
  body.isclean-loss-page .mainHeaderMenu .mainMenu li > ul::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: -10px !important;
    height: 10px !important;
    display: block !important;
    background: transparent !important;
    pointer-events: auto !important;
  }

  body.is-modern-ui-test .mainHeaderMenu .mainMenu li.ismui-submenu-open > ul,
  body.isclean-loss-page .mainHeaderMenu .mainMenu li.ismui-submenu-open > ul,
  body.is-modern-ui-test .mainHeaderMenu .mainMenu li:focus-within > ul,
  body.isclean-loss-page .mainHeaderMenu .mainMenu li:focus-within > ul {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }

  body.is-modern-ui-test header.mainHeader .mainHeaderMenu .mainMenu > li > ul li a,
  body.is-modern-ui-test .site-header .mainHeaderMenu .mainMenu > li > ul li a,
  body.isclean-loss-page header.mainHeader .mainHeaderMenu .mainMenu > li > ul li a,
  body.isclean-loss-page .site-header .mainHeaderMenu .mainMenu > li > ul li a {
    font-family: "Neuton", "Neuton-Light", Georgia, serif !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
    text-transform: lowercase !important;
  }

  body.is-modern-ui-test .mainHeaderMenu .mainMenu > li > a[href*="idealspaces.org"],
  body.is-modern-ui-test header.mainHeader .mainHeaderMenu .mainMenu > li > a[href*="idealspaces.org"],
  body.isclean-loss-page .mainHeaderMenu .mainMenu > li > a[href*="idealspaces.org"],
  body.isclean-loss-page header.mainHeader .mainHeaderMenu .mainMenu > li > a[href*="idealspaces.org"] {
    color: #f08aad !important;
    -webkit-text-fill-color: #f08aad !important;
  }

  body.is-modern-ui-test .mainHeaderMenu .mainMenu > li > a[href*="idealspaces.org"]:hover,
  body.is-modern-ui-test header.mainHeader .mainHeaderMenu .mainMenu > li > a[href*="idealspaces.org"]:hover,
  body.isclean-loss-page .mainHeaderMenu .mainMenu > li > a[href*="idealspaces.org"]:hover,
  body.isclean-loss-page header.mainHeader .mainHeaderMenu .mainMenu > li > a[href*="idealspaces.org"]:hover {
    color: #ffabc5 !important;
    -webkit-text-fill-color: #ffabc5 !important;
  }
}

/* ============================================================
   v1.0.11.11 — DESKTOP SUBMENU PROXIMITY + PODCAST EXPLORE CONTRAST
   - Pull desktop dropdowns directly against the menu row.
   - Use the same architectural blue family as the header.
   - Keep submenu typography light/normal.
   - Make the Podcasts Explore label white on the blue card surface.
   No other page, layout, colour or interaction changes.
   ============================================================ */
@media only screen and (min-width: 1200px) {
  body.is-modern-ui-test .site-header .mainHeaderMenu .mainMenu > li > ul,
  body.is-modern-ui-test header.mainHeader .mainHeaderMenu .mainMenu > li > ul,
  body.isclean-loss-page .site-header .mainHeaderMenu .mainMenu > li > ul,
  body.isclean-loss-page header.mainHeader .mainHeaderMenu .mainMenu > li > ul {
    top: calc(100% - 6px) !important;
    margin-top: 0 !important;
    padding: 10px 12px 12px !important;
    background: linear-gradient(135deg, #29466f 0%, #335482 58%, #5879a6 100%) !important;
    background-color: #335482 !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    border-top-color: rgba(255, 255, 255, 0.10) !important;
    border-radius: 0 0 10px 10px !important;
    box-shadow: 0 18px 34px rgba(30, 55, 88, 0.24) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  /* Extend the hoverable area upward so there is no dead strip at all. */
  body.is-modern-ui-test .site-header .mainHeaderMenu .mainMenu > li > ul::before,
  body.is-modern-ui-test header.mainHeader .mainHeaderMenu .mainMenu > li > ul::before,
  body.isclean-loss-page .site-header .mainHeaderMenu .mainMenu > li > ul::before,
  body.isclean-loss-page header.mainHeader .mainHeaderMenu .mainMenu > li > ul::before {
    top: -16px !important;
    height: 16px !important;
  }

  body.is-modern-ui-test .site-header .mainHeaderMenu .mainMenu > li > ul > li > a,
  body.is-modern-ui-test header.mainHeader .mainHeaderMenu .mainMenu > li > ul > li > a,
  body.isclean-loss-page .site-header .mainHeaderMenu .mainMenu > li > ul > li > a,
  body.isclean-loss-page header.mainHeader .mainHeaderMenu .mainMenu > li > ul > li > a {
    color: rgba(255, 255, 255, 0.88) !important;
    font-family: "Neuton", "Neuton-Light", Georgia, serif !important;
    font-size: 16.5px !important;
    line-height: 1.25 !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
    text-transform: lowercase !important;
    background: transparent !important;
  }

  body.is-modern-ui-test .site-header .mainHeaderMenu .mainMenu > li > ul > li > a:hover,
  body.is-modern-ui-test .site-header .mainHeaderMenu .mainMenu > li > ul > li > a:focus,
  body.is-modern-ui-test header.mainHeader .mainHeaderMenu .mainMenu > li > ul > li > a:hover,
  body.is-modern-ui-test header.mainHeader .mainHeaderMenu .mainMenu > li > ul > li > a:focus,
  body.isclean-loss-page .site-header .mainHeaderMenu .mainMenu > li > ul > li > a:hover,
  body.isclean-loss-page .site-header .mainHeaderMenu .mainMenu > li > ul > li > a:focus,
  body.isclean-loss-page header.mainHeader .mainHeaderMenu .mainMenu > li > ul > li > a:hover,
  body.isclean-loss-page header.mainHeader .mainHeaderMenu .mainMenu > li > ul > li > a:focus {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.10) !important;
  }
}

body.is-modern-ui-test.page-id-1096 .iswg-news .news > li > a::after,
body.is-modern-ui-test.ismui-podcasts-page .iswg-news .news > li > a::after,
body.is-modern-ui-test.page-id-1096 .iswg-news .news > li:hover > a::after,
body.is-modern-ui-test.ismui-podcasts-page .iswg-news .news > li:hover > a::after {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* ============================================================
   v1.0.11.12 — SUBMENU EDGE ALIGNMENT
   Keep dropdowns immediately below the navigation row without
   either a dead gap or the previous 6px visual overlap.
   ============================================================ */
@media only screen and (min-width: 1200px) {
  body.is-modern-ui-test .site-header .mainHeaderMenu .mainMenu > li > ul,
  body.is-modern-ui-test header.mainHeader .mainHeaderMenu .mainMenu > li > ul,
  body.isclean-loss-page .site-header .mainHeaderMenu .mainMenu > li > ul,
  body.isclean-loss-page header.mainHeader .mainHeaderMenu .mainMenu > li > ul {
    top: 100% !important;
    margin-top: 0 !important;
  }

  body.is-modern-ui-test .site-header .mainHeaderMenu .mainMenu > li > ul::before,
  body.is-modern-ui-test header.mainHeader .mainHeaderMenu .mainMenu > li > ul::before,
  body.isclean-loss-page .site-header .mainHeaderMenu .mainMenu > li > ul::before,
  body.isclean-loss-page header.mainHeader .mainHeaderMenu .mainMenu > li > ul::before {
    top: -2px !important;
    height: 2px !important;
  }
}
