:root {
    --header-font-family: "Bricolage Grotesque", sans-serif;
    --primary: #488ca7;
    --primary-dark: #166b8c;
    --deep-blue: #004058;
    --white: #fff;
    --section-background: transparent;
    --section-heading: #166b8c;
    --section-eyebrow: #81bdd6;
    --section-text: #4a4a4a;
    --content-width: 1140px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { margin: 0; font: 400 15px/1.65 "Bricolage Grotesque", sans-serif; letter-spacing: .75px; color: #4a4a4a; background: #fff; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: #81bdd6; text-decoration: none; }
a:hover { text-decoration: underline; }
button { cursor: pointer; }
img { max-width: 100%; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid #e3b865; outline-offset: 4px; }
h1, h2, h3, h4, h5, .page-heading { font-family: trajan-pro-3, Georgia, serif; font-weight: 400; line-height: 1.2; letter-spacing: 0; color: var(--section-heading); margin: 0 0 25px; }
h1 { font-size: 60px; }
h2 { font-size: 36px; }
h3 { font-size: 30px; }
p { margin: 0 0 15px; }
.content { padding: 0; }
.page-heading { overflow-wrap: anywhere; max-width: var(--content-width); margin: 0 auto; padding: 60px 15px 20px; }
.skip-link { position: fixed; top: -100px; left: 15px; padding: 12px 20px; background: #fff; color: #004058; z-index: 100000; }
.skip-link:focus { top: 10px; }
.site-header { display: block; min-height: 90px; padding: 0; position: sticky; top: 0; z-index: 500; background: #196d88; color: #fff; }
.site-header__bar { height: 90px; display: flex; align-items: center; justify-content: center; position: relative; }
.site-logo { display: block; width: 280px; height: 70px; }
.site-logo img { width: 100%; height: 100%; object-fit: contain; }
.menu-toggle { position: absolute; left: 15px; top: 28px; width: 30px; height: 35px; padding: 5px 0; display: flex; flex-direction: column; justify-content: space-around; background: transparent; border: 0; color: #fff; }
.menu-toggle span { display: block; height: 2.5px; width: 25px; background: currentColor; transition: transform .2s; }
.menu-toggle span:last-child { width: 18px; }
.menu-open .menu-toggle span:first-child { width: 30px; transform: translateY(8px) rotate(45deg); }
.menu-open .menu-toggle span:nth-child(2) { opacity: 0; }
.menu-open .menu-toggle span:last-child { width: 30px; transform: translateY(-8px) rotate(-45deg); }
.menu-open { overflow: hidden; }
.site-navigation { position: fixed; inset: 90px 0 0; background: #196d88; overflow-y: auto; }
.site-navigation ul { list-style: none; padding: 0; margin: 0; }
.site-navigation a { color: #fff; font-size: 14px; font-weight: 600; line-height: 1.5; letter-spacing: 0; }
.main-navigation > li { display: block; border-top: 1px solid #f0f0f0; }
.main-navigation > li > a { display: block; padding: 15px; border: 0; }
.main-navigation > li:last-child { border-bottom: 1px solid #f0f0f0; }
.main-navigation ul { padding-left: 20px; }
.main-navigation ul a { display: block; padding: 10px 15px; }
.header-ctas { padding: 15px; display: grid; gap: 5px; }
.header-ctas a { display: block; text-align: center; padding: 8px 20px; border: 1px solid #488ca7; background: #488ca7; letter-spacing: .5px; }
.site-navigation .secondary-navigation { margin: 0 15px; }
.secondary-navigation a { display: block; padding: 10px 0; }
.page-content-shell { width: 100%; }
.page-content-shell--with-sidebar { max-width: var(--content-width); margin: auto; display: grid; grid-template-columns: 2fr 1fr; gap: 40px; padding: 0 15px; }
.page-content-shell__sidebar { padding-top: 60px; }
.nxb-component { position: relative; color: var(--section-text); background: var(--section-image, none) center/cover no-repeat, var(--section-background); }
.nxb-component > section, .nxb-component > .nxb-simple-pods { background: transparent; }
.nxb-component--textBlock, .nxb-component--gallery, .nxb-component--simplePods, .nxb-component--contentListing, .nxb-component--contactForm, .nxb-component--textArea, .nxb-component--sitemapBlock { padding: 60px 0; }
.nxb-component--banner, .nxb-component--bannerCarousel { padding: 0; }
.nxb-component--gridLayout { padding: 60px 0; }
.nxb-no-top-padding { padding-top: 0 !important; }
.nxb-no-bottom-padding { padding-bottom: 0 !important; }
.nxb-heading-left { --heading-alignment: left; }
.nxb-heading-centre { --heading-alignment: center; }
.nxb-heading-right { --heading-alignment: right; }
.component-heading, .nxb-text-block__intro > .nxb-text-block__heading, .nxb-text-block__intro > .nxb-text-block__secondary-heading, .nxb-banner__title, .nxb-banner__subtitle { text-align: var(--heading-alignment, left); }
.component-heading { margin-bottom: 30px; }
.component-heading h2, .nxb-text-block__heading { color: var(--section-heading); font-size: 30px; }
.eyebrow, .nxb-text-block__secondary-heading { font-family: "Bricolage Grotesque", sans-serif; color: var(--section-eyebrow); text-transform: uppercase; font-size: 18px; font-weight: 600; line-height: 1.2; letter-spacing: 2.7px; margin: 0 0 10px; }
.nxb-text-block, .nxb-grid-layout { padding: 0; margin: 0; color: inherit; background: transparent; }
.nxb-text-block__inner, .nxb-grid-layout__inner, .nxb-gallery, .nxb-simple-pods, .nxb-listing { width: 100%; max-width: var(--content-width); margin: 0 auto; padding-left: 15px; padding-right: 15px; }
.nxb-text-block__intro, .nxb-text-block__content, .nxb-text-block__outro, .nxb-text-block__intro-text { color: inherit; }
.nxb-text-block__intro { margin-bottom: 30px; }
.nxb-text-block__intro > h1, .nxb-text-block__intro > h2, .nxb-text-block__intro > h3 { margin-bottom: 0; }
.nxb-text-block__content p:last-child { margin-bottom: 0; }
.nxb-text-block__content li > p:last-child { margin-bottom: 15px; }
.nxb-text-block__outro { margin-top: 25px; }
.nxb-text-block__buttons { gap: 5px; }
.nxb-text-block__button, .nxb-simple-pods__link, .nxb-banner__button { background: var(--primary); color: #fff; border: 1px solid var(--primary); padding: 8px 20px; min-height: 39px; border-radius: 0; font: 600 14px/1.5 "Bricolage Grotesque",sans-serif; letter-spacing: 0; text-transform: none; }
.nxb-text-block__button:hover, .nxb-simple-pods__link:hover { color: #fff; background: #166b8c; text-decoration: none; }
.nxb-banner { width: 100%; max-width: none; margin: 0; background: transparent; }
.nxb-banner__layout { min-height: 440px; }
.nxb-banner--size-takeover .nxb-banner__layout { height: calc(100svh - 90px); min-height: 560px; }
.nxb-banner--size-short .nxb-banner__layout { min-height: 310px; }
.nxb-banner__content { padding: 70px 30px; color: #fff; z-index: 2; }
.nxb-banner__content-inner { width: min(100%, 1110px); max-width: none; }
.nxb-banner__title { font-size: 60px; font-weight: 600; line-height: 1.2; color: var(--section-heading,#fff); margin: 5px 0 0; }
.nxb-banner__subtitle { line-height: 1.2; font-size: 18px; text-transform: uppercase; letter-spacing: 2.7px; font-weight: 600; color: var(--section-eyebrow,#fff); margin: 0; }
.nxb-banner__content-inner { display: flex; flex-direction: column; }
.nxb-banner__subtitle { order: -1; }
.nxb-banner__buttons { gap: 5px; margin-top: 30px; margin-bottom: 5px; }
.nxb-banner__button { background: #488ca7; color: #fff; border-color: #488ca7; min-width: 0; min-height: 39px; padding: 8px 20px; }
.nxb-banner__button:hover { background: #488ca7; color: #fff; }
.nxb-banner--position-bottom-centre .nxb-banner__content { align-items: flex-end; text-align: center; }
.nxb-banner--position-bottom-centre .nxb-banner__buttons, .nxb-banner--position-centre-centre .nxb-banner__buttons { justify-content: center; }
.nxb-banner--position-bottom-centre .nxb-banner__content-inner { max-width: 825px; margin: 0 auto; }
.nxb-banner--position-centre-left .nxb-banner__content-inner { margin: auto; }
.nxb-banner__media { overflow: hidden; }
.nxb-banner__image { height: 100%; width: 100%; object-fit: cover; }
.nxb-banner__video { position: absolute; width: 100%; height: 100%; border: 0; inset: 0; z-index: 1; pointer-events: none; transform: scale(1.15); }
.video-consent { position: absolute; right: 10px; bottom: 10px; z-index: 5; background: rgba(0,0,0,.5); color: #fff; border: 1px solid #fff; font-size: 11px; padding: 4px 8px; }
.nxb-banner__layout:has(.nxb-banner__video) .video-consent { display: none; }
@media (max-width: 991px) {
    .video-consent { top: 10px; bottom: auto; }
}
.nxb-banner--presentation-overlay .nxb-banner__layout::after { background: linear-gradient(0deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.15) 50%,rgba(0,0,0,.5)); }
.nxb-banner-carousel .nxb-component { height: 100%; }
.nxb-banner--width-full-screen, .nxb-banner-carousel:has(.nxb-banner--width-full-screen) { width: 100%; margin-inline: 0; }
.nxb-grid-layout__row .nxb-component { padding: 0; }
.nxb-grid-layout { --nxb-grid-column-gap: 30px; }
.nxb-grid-layout__row .umb-block-grid__area, .nxb-grid-layout__row .umb-block-grid__area > .umb-block-grid__layout-container { height: auto; }
@media (min-width: 768px) {
 .nxb-grid-layout__row--gridRow65 > .umb-block-grid__area-container > .umb-block-grid__area:last-child { grid-column: 8 / span 5; }
 .nxb-grid-layout__row--reverse-desktop > .umb-block-grid__area-container { direction: rtl; }
 .nxb-grid-layout__row--reverse-desktop .umb-block-grid__area { direction: ltr; }
}
@media (min-width: 576px) {
 .Image-1 { transform: translateY(50px); padding: 10px; }
 .Image-2 { transform: translateY(-20px); padding: 10px; }
 .Staggered-Pod-1 { padding-top: 20px; }
 .Staggered-Pod-2 { padding-top: 0; }
 .Staggered-Pod-3 { padding-top: 40px; }
 .Staggered-Pod-4 { padding-top: 10px; }
}
.nxb-grid-layout__row .nxb-text-block__inner, .nxb-grid-layout__row .nxb-gallery, .nxb-grid-layout__row .nxb-simple-pods { padding: 0; }
.nxb-grid-layout__row .nxb-text-block__heading { font-size: 30px; }
.nxb-grid-layout__row .nxb-text-block__intro { padding-bottom: 0; }
.nxb-grid-layout__row .nxb-text-block__content { font-size: 15px; }
.extra-spacing { padding-top: 80px; padding-bottom: 80px; }
.nxb-full-width > .nxb-grid-layout > .nxb-grid-layout__inner { max-width: none; padding: 0; }
.nxb-full-width .umb-block-grid__area-container { gap: 0; }
.nxb-full-width .nxb-simple-pods__grid.slick-initialized { margin: 0; }
.nxb-full-width .nxb-simple-pods__grid > .slick-list .slick-slide { margin: 0; }
.nxb-full-width .umb-block-grid__area .nxb-text-block { padding: 30px 46px; }
.nxb-full-width .nxb-gallery__image { height: 528px; object-fit: cover; }
.nxb-simple-pods { padding-top: 0; padding-bottom: 0; }
.nxb-simple-pods__grid { display: grid; grid-template-columns: repeat(var(--nxb-simple-pods-columns,3),minmax(0,1fr)); gap: 30px; }
.nxb-simple-pods__card { background: transparent; color: inherit; border: 0; border-radius: 0; box-shadow: none; min-width: 0; overflow: hidden; }
.nxb-simple-pods__content { padding: 20px 0; color: inherit; }
.nxb-simple-pods__heading { color: var(--section-heading); font-size: 24px; }
.nxb-simple-pods__image { display: block; width: 100%; height: auto; }
.nxb-simple-pods__media { aspect-ratio: auto; flex-shrink: 0; }
.nxb-simple-pods__text { color: inherit; }
.nxb-simple-pods--testimonials .nxb-simple-pods__content { align-items: center; text-align: center; }
.nxb-simple-pods__card--overlay { position: relative; }
.nxb-simple-pods__card--overlay .nxb-simple-pods__content { position: absolute; inset: auto 0 0; padding: 25px; background: linear-gradient(transparent,rgba(0,0,0,.85)); pointer-events: none; }
.nxb-simple-pods__card--overlay h3 { color: #fff; margin: 0; text-align: var(--heading-alignment,left); }
.nxb-simple-pods__card--image-left, .nxb-simple-pods__card--image-right { display: flex; gap: 20px; }
.nxb-simple-pods__card--image-right .nxb-simple-pods__media { order: 2; }
.nxb-simple-pods__card--image-left .nxb-simple-pods__media, .nxb-simple-pods__card--image-right .nxb-simple-pods__media { width: 50%; flex-shrink: 0; }
.nxb-simple-pods--testimonials .nxb-simple-pods__text { font-size: 15px; }
.nxb-gallery { margin: 0 auto; padding-top: 0; padding-bottom: 0; }
.nxb-gallery__image { display: block; width: 100%; height: auto; object-fit: cover; }
.nxb-image--landscape { aspect-ratio: 4/3; object-fit: cover; }
.nxb-image--portrait { aspect-ratio: 3/4; object-fit: cover; }
.nxb-image--portrait-tall { aspect-ratio: 9/16; object-fit: cover; }
.nxb-image--portrait-classic { aspect-ratio: 2/3; object-fit: cover; }
.nxb-image--widescreen { aspect-ratio: 16/9; object-fit: cover; }
.nxb-image--wide { aspect-ratio: 16/10; object-fit: cover; }
.nxb-image--square { aspect-ratio: 1; object-fit: cover; }
.nxb-image--original { aspect-ratio: auto; height: auto; }
.nxb-gallery__item { margin: 0; }
.nxb-gallery__caption { font-size: 14px; padding-top: 10px; }
.nxb-gallery__lightbox { color: #fff; }
.nxb-gallery__lightbox-image { width: auto; height: auto; }
.nxb-listing__grid { display: grid; grid-template-columns: repeat(var(--listing-columns,3),minmax(0,1fr)); gap: 30px; }
.nxb-listing__card { min-width: 0; background: linear-gradient(135deg,#004a67,#00384e); color: #f7f7f7; }
.nxb-listing__link { color: inherit; display: block; }
.nxb-listing__image { width: 100%; height: auto; display: block; aspect-ratio: 1; object-fit: cover; }
.nxb-listing__body { padding: 30px; }
.nxb-listing__body h2 { color: #fff; font-size: 26px; }
.nxb-listing__card time { display: block; padding: 0 30px 15px; }
.nxb-listing__categories { list-style: none; padding: 0 30px 30px; margin: 0; }
.nxb-listing__pagination { padding: 30px 0; }
.nxb-listing__pagination .pagination { position: relative; display: flex; justify-content: center; list-style: none; margin: 0; padding: 0; }
.nxb-listing__pagination li { margin: 0 2.5px; }
.nxb-listing__pagination a { position: relative; display: block; height: 40px; min-width: 40px; padding: 9px 16px; border: 1px solid #e7e7e7; color: #81bdd6; background: #fff; font-size: 16px; }
.nxb-listing__pagination li:not(:first-child) a { margin-left: -1px; }
.nxb-listing__pagination a[aria-current] { background: #166b8c; border-color: #166b8c; color: #fff; }
.nxb-listing__pagination a:not([aria-current]):hover { background: #e7e7e7; }
.nxb-listing__pagination a:focus-visible { outline: 2px solid #166b8c; outline-offset: 3px; }
.nxb-listing__pagination .pagination__previous { position: absolute; left: 0; margin-left: 0; }
.nxb-listing__pagination .pagination__next { position: absolute; right: 0; margin-right: 0; }
.pagination__arrow { display: inline-block; width: 6.75px; height: 11px; background: currentColor; clip-path: polygon(15% 0, 100% 50%, 15% 100%, 0 88%, 65% 50%, 0 12%); }
.pagination__arrow--previous { transform: rotate(180deg); }
@media (min-width: 576px) { .nxb-listing__pagination a { padding: 14px 21px; height: 50px; min-width: 50px; } }
.slick-initialized { display: block; }
.slick-track { display: flex; }
.slick-slide { height: auto; }
.nxb-simple-pods__grid.slick-initialized, .nxb-listing__grid.slick-initialized { margin: 0 -12px; }
.nxb-simple-pods__grid > .slick-list .slick-slide, .nxb-listing__grid > .slick-list .slick-slide { margin: 0; padding-left: 15px; padding-right: 15px; }
.nxb-full-width .nxb-simple-pods__grid > .slick-list .slick-slide { padding-left: 0; padding-right: 0; }
.slick-arrow { position: absolute; top: 45%; z-index: 2; width: 40px; height: 40px; font-size: 0; border: 0; background: rgba(0,0,0,.4); color: #fff; }
.slick-prev { left: 0; }
.slick-next { right: 0; }
.slick-prev::before { content: '‹'; font-size: 28px; }
.slick-next::before { content: '›'; font-size: 28px; }
.slick-dots { display: flex; list-style: none; justify-content: center; align-items: center; gap: 8px; padding: 0; margin: 15px 0 0; height: 38px; }
.slick-dots button { border: 1px solid currentColor; background: transparent; width: 10px; height: 10px; padding: 0; border-radius: 50%; font-size: 0; color: inherit; }
.slick-dots .slick-active button { background: currentColor; }
.carousel-pause { display: block; margin: 10px 0 0 auto; color: inherit; border: 0; background: transparent; font-size: 12px; }
.Pod-1 { padding: 10px; transform: translateY(50px); }
.Pod-2 { padding: 10px; transform: translateY(-20px); }
.optional-embed { min-height: 300px; display: grid; place-items: center; }
.optional-embed:has(iframe) > p { display: none; }
.optional-embed iframe { width: 100%; border: 0; }
.site-footer { padding: 60px 0 0; background: #f7f7f7; color: #4a4a4a; }
.site-footer__content { max-width: var(--content-width); margin: auto; padding: 0 15px 35px; }
.site-footer__content > .umb-block-list { display: grid; grid-template-columns: 3fr 3fr 2fr 2fr 2fr; gap: 25px; }
.site-footer__content .nxb-component { padding: 0; }
.site-footer__content .nxb-simple-pods, .site-footer__content .nxb-text-block__inner { padding: 0; }
.site-footer__content h2, .site-footer__content h3 { font-size: 18px; color: #166b8c; }
.site-footer__content .nxb-simple-pods__content { padding: 0; }
.footer-links { list-style: none; padding: 0; margin: 0; }
.footer-links a { display: block; padding-bottom: 7px; color: #4a4a4a; }
.site-footer__bottom { max-width: var(--content-width); margin: auto; border-top: 1px solid #ddd; padding: 25px 15px; display: flex; flex-wrap: wrap; align-items: center; gap: 20px; font-size: 12px; }
.site-footer__bottom ul { list-style: none; display: flex; flex-wrap: wrap; gap: 15px; padding: 0; margin: 0; }
.site-footer__bottom a, .site-footer__bottom button { color: #4a4a4a; }
.site-footer__bottom button { padding: 0; background: none; border: 0; }
.site-credit { margin-left: auto; display: inline-flex; align-items: center; gap: 4px; }
.site-credit img { flex: 0 0 24px; width: 24px; height: 24px; }
.back-to-top { display: block; width: 40px; height: 40px; margin-left: auto; margin-right: 15px; text-align: center; background: #488ca7; color: #fff; font-size: 24px; }
.cookie-consent__banner { background: var(--primary); color: var(--white); }
.cookie-consent__banner h2, .cookie-consent__banner p, .cookie-consent__banner a, .cookie-consent__banner button { color: var(--white); }
.cookie-consent__banner .cookie-consent__button, .cookie-consent__banner .cookie-consent__button:hover, .cookie-consent__banner .cookie-consent__button:focus { background: transparent; color: #fff; border-color: #fff; }
.cookie-consent__banner .cookie-consent__button--strong { border-width: 2px; font-weight: 700; }
@media (min-width: 768px) { .nxb-mobile-only { display: none !important; } }
@media (max-width: 991px) {
    .nxb-text-block__inner, .nxb-grid-layout__inner, .nxb-gallery, .nxb-simple-pods, .nxb-listing, .site-footer__content { max-width: 760px; padding-left: 30px; padding-right: 30px; }
    .nxb-banner__title { font-size: 40px; }
    .nxb-grid-layout__row .nxb-text-block__heading { font-size: 26px; }
    .nxb-full-width .umb-block-grid__area .nxb-text-block { padding: 30px; }
    .nxb-simple-pods__grid { grid-template-columns: repeat(var(--nxb-simple-pods-tablet-columns,2),minmax(0,1fr)); }
    .nxb-listing__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .site-footer__content > .umb-block-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .site-credit { margin-left: 0; }
}
@media (max-width: 767px) {
    .nxb-desktop-only { display: none !important; }
    .site-header__bar { height: 90px; }
    .site-logo { width: 250px; height: 65px; }
    .nxb-component--textBlock, .nxb-component--gallery, .nxb-component--simplePods, .nxb-component--contentListing, .nxb-component--gridLayout, .extra-spacing { padding-top: 30px; padding-bottom: 30px; }
    .nxb-banner__title { font-size: 30px; }
    .nxb-banner__subtitle, .eyebrow, .nxb-text-block__secondary-heading { font-size: 14px; }
    .nxb-banner__content { padding: 40px 25px; }
    .nxb-banner--size-takeover .nxb-banner__layout { min-height: 450px; height: calc(100svh - 90px); }
    .nxb-banner--size-short .nxb-banner__layout { min-height: 250px; }
    .nxb-banner__layout { min-height: 350px; }
    .nxb-grid-layout .umb-block-grid__area-container { display: flex; flex-direction: column; gap: 30px; }
    .nxb-grid-layout .umb-block-grid__area { width: 100%; }
    .nxb-grid-layout__row--reverse-mobile .umb-block-grid__area-container { flex-direction: column-reverse; }
    .nxb-grid-layout__row .nxb-text-block__intro { padding-bottom: 0; }
    .page-content-shell--with-sidebar { display: block; }
    .nxb-full-width .nxb-gallery__image { height: 350px; }
    .book-online-bar { position: fixed; bottom: 0; left: 0; right: 0; z-index: 400; background: #f7f7f7; }
    .book-online-bar .nxb-text-block__outro { margin: 0; }
}
@media (max-width: 575px) {
    .nxb-simple-pods__grid, .nxb-listing__grid { grid-template-columns: 1fr; }
    .site-footer__content > .umb-block-list { grid-template-columns: 1fr; }
    .nxb-text-block__inner, .nxb-grid-layout__inner, .nxb-gallery, .nxb-simple-pods, .nxb-listing, .site-footer__content { padding-left: 15px; padding-right: 15px; }
    .Pod-2 { display: none; }
    .Pod-1 { padding: 5px; transform: none; }
    .site-footer__bottom { padding-bottom: 80px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; } }

.nxb-banner--size-short .nxb-banner__layout { height: calc(55svh - 90px); min-height: 0; overflow: hidden; }
.nxb-banner--size-short .nxb-banner__content { min-height: 0; }
.nxb-banner--position-bottom-left .nxb-banner__content,
.nxb-banner--position-bottom-right .nxb-banner__content { align-items: flex-end; }
.nxb-banner--position-bottom-left .nxb-banner__content-inner,
.nxb-banner--position-bottom-right .nxb-banner__content-inner { max-width: 1110px; margin: 0 auto; }
.nxb-banner--position-bottom-left .nxb-banner__title,
.nxb-banner--position-bottom-left .nxb-banner__intro { max-width: 825px; }
.nxb-eyebrow-size-s { --eyebrow-size: 12px; }
.nxb-eyebrow-size-m { --eyebrow-size: 14px; }
.nxb-eyebrow-size-l { --eyebrow-size: 18px; }
.eyebrow, .nxb-text-block__secondary-heading, .nxb-banner__subtitle { font-size: var(--eyebrow-size, 14px); letter-spacing: 3.5px; }
.nxb-heading-size-h3 { --content-heading-size: 32px; }
.nxb-heading-size-h4 { --content-heading-size: 34px; }
.nxb-heading-size-h5 { --content-heading-size: 28px; }
.nxb-heading-size-s { --card-heading-size: 24px; }
.nxb-heading-size-m { --card-heading-size: 30px; }
.nxb-heading-size-l { --card-heading-size: 36px; }
.component-heading h2, .nxb-text-block__heading,
.nxb-grid-layout__row .nxb-text-block__heading { font-size: var(--content-heading-size, 36px); }
.nxb-simple-pods__heading { font-size: var(--card-heading-size,24px); }
.nxb-text-block .intro { font-size: 22px; line-height: 1.4; letter-spacing: 0; }
.nxb-text-block .intro.sm { font-size: 20px; }
.nxb-text-block .intro.lg { font-size: 26px; }
.nxb-text-block hr { border: 0; border-top: 1px solid currentColor; opacity: .25; margin: 30px 0; }
.site-footer__content .nxb-text-block__heading { font-size: 18px; }
.site-logo { width: 260px; height: 80px; }
.nxb-banner__media { container-type: size; z-index: 0; }
.nxb-banner__video { inset: 50% auto auto 50%; width: max(100cqw, 177.778cqh); height: max(100cqh, 56.25cqw); transform: translate(-50%, -50%); }
.nxb-banner--presentation-overlay .nxb-banner__media::after { z-index: 2; pointer-events: none; }
.nxb-text-block__inner, .nxb-grid-layout__inner, .nxb-gallery, .nxb-simple-pods, .nxb-listing { padding-left: 12px; padding-right: 12px; }
.nxb-grid-layout { --nxb-grid-column-gap: 24px; }
.nxb-text-block__content, .nxb-text-block__intro-text, .nxb-text-block__outro-text { line-height: 1.65; }
.nxb-text-block__heading { line-height: 1.2; }
.nxb-text-block__intro { margin-bottom: 15px; }
.nxb-text-block hr { margin: 15px 0; }
.nxb-text-block__secondary-heading { margin-bottom: 0; }
.nxb-text-block__secondary-heading + .nxb-text-block__heading { margin-top: 5px; }
.nxb-text-block__intro { margin-bottom: 10px; }
.nxb-text-block__intro-text { margin-top: 10px; }
.nxb-text-block hr { margin: 16px 0; }
.nxb-text-block__content p { margin-top: 10px; }
.nxb-text-block__buttons { margin-top: 30px; margin-bottom: 5px; }
.nxb-text-block__button, .nxb-banner__button, .nxb-simple-pods__link { letter-spacing: .5px; }
.nxb-simple-pods__heading { font-family: "Bricolage Grotesque",sans-serif; font-weight: 700; letter-spacing: 0; }
.component-heading h2, .component-heading h3, .component-heading h4 { font-size: var(--content-heading-size,36px); line-height: 1.2; }
.component-heading .eyebrow { margin-bottom: 5px; }
.slick-arrow { background: #004a67; }
@media (min-width: 1299px) {
    :root { --content-width: 1350px; }
    .site-header { height: 120px; min-height: 120px; }
    .site-header__bar { height: 120px; }
    .site-logo { width: 370px; height: 114px; }
    .menu-toggle { display: none; }
    .site-navigation, .site-navigation[hidden] { display: contents !important; }
    .main-navigation { position: absolute; left: 15px; top: 0; height: 120px; display: flex; align-items: center; gap: 30px; }
    .main-navigation > li > a { padding: 0; border: 0; }
    .main-navigation > li, .main-navigation > li:last-child { border: 0; }
    .secondary-navigation { position: absolute; right: 212px; top: 0; height: 120px; display: flex; align-items: center; gap: 20px; }
    .site-navigation .secondary-navigation { margin: 0; }
    .secondary-navigation a { padding: 0; }
    .header-ctas { position: absolute; right: 15px; top: 40.5px; display: flex; gap: 4.5px; padding: 0; }
    .header-ctas a { padding: 8px 20px; }
    body:has(#site-content > .nxb-component--bannerCarousel) .site-header,
    body:has(#site-content > .nxb-component--banner) .site-header { margin-bottom: -120px; background: transparent; }
    body .site-header.is-scrolled { background: #196d88; }
    .nxb-banner--size-takeover .nxb-banner__layout { height: 100svh; }
    .nxb-banner--position-bottom-centre .nxb-banner__content-inner { max-width: 1012.5px; padding: 0 15px; }
    .nxb-banner--size-takeover .nxb-banner__content { padding-bottom: 90px; }
}
@media (max-width: 991px) {
    .nxb-heading-size-h3 { --content-heading-size: 30px; }
    .nxb-heading-size-h4 { --content-heading-size: 28px; }
}
@media (max-width: 767px) {
    .nxb-heading-size-h3 { --content-heading-size: 26px; }
    .nxb-heading-size-h4 { --content-heading-size: 26px; }
    .nxb-banner--size-short .nxb-banner__layout { height: calc(55svh - 90px); min-height: 0; }
    .nxb-banner--size-short .nxb-banner__content { padding: 70px 15px; }
    .site-logo { width: 260px; height: 80px; }
    .global-content--top { position: sticky; top: 89px; z-index: 490; }
    .book-online-bar { position: static; padding: 5px 0 !important; }
    .book-online-bar .nxb-text-block__buttons { margin: 0; justify-content: center; }
    .book-online-bar .nxb-text-block__button { padding: 8px 20px; min-height: 39px; }
    .nxb-banner--size-original .nxb-banner__layout { display: flex; flex-direction: column-reverse; min-height: 0; }
    .nxb-banner--size-original .nxb-banner__media { width: 100%; aspect-ratio: 16 / 9; }
    .nxb-banner--size-original .nxb-banner__content { padding: 15px; background: linear-gradient(120deg,#2e829f,#196d88); }
    .nxb-banner--size-original .nxb-banner__buttons { margin-top: 15px; }
    .nxb-banner--size-original .nxb-banner__image { width: 100%; height: 100%; object-fit: cover; }
    .nxb-banner--size-original .nxb-banner__media::after { display: none; }
    .nxb-simple-pods__grid.slick-initialized, .nxb-listing__grid.slick-initialized { margin-left: -12px; margin-right: -12px; }
    .nxb-gallery--carousel:has(.Image-1) { --nxb-gallery-gap: 24px; }
}

/* Staggered image pairs keep the source gutter inside each slide. */
.nxb-gallery--carousel .Image-1, .nxb-gallery--carousel .Image-2 { padding: 10px 25px; }
.nxb-gallery--carousel:has(.Image-1) { --nxb-gallery-gap: 24px; }
@media (max-width: 767px) {
    .extra-spacing { padding-top: 80px; padding-bottom: 80px; }
}

.nxb-simple-pods__card--image-below .nxb-simple-pods__content { order: -1; }
.site-footer { background: #072936; color: #d0f1ff; padding: 60px 0 120px; }
.site-footer .nxb-component { --section-text: #d0f1ff; --section-heading: #f7f7f7; }
.site-footer a { color: #d0f1ff; }
.site-footer .nxb-simple-pods__card { overflow: visible; }
.site-footer__content { padding: 0; }
.site-footer__content > .umb-block-list { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 0; }
.site-footer__content > .umb-block-list > .nxb-component { grid-column: span 12; padding: 0 12px 30px; }
.site-footer__content .nxb-simple-pods__grid { display: block; }
.site-footer__content h2, .site-footer__content h3, .site-footer__content .nxb-text-block__heading { font: 700 24px/1.2 "Bricolage Grotesque",sans-serif; color: #f7f7f7; margin: 0; letter-spacing: 0; }
.site-footer__content .nxb-text-block__intro { margin-bottom: 15px; }
.site-footer__content .nxb-simple-pods__text { margin: 15px 0 0; line-height: 1.65; }
.site-footer__content .nxb-simple-pods__text:empty { display: none; }
.site-footer__content .nxb-simple-pods__card--image-below .nxb-simple-pods__content { padding-bottom: 15px; }
.site-footer__content .nxb-simple-pods__media { background: transparent; }
.site-footer__content .footer-links a { padding: 0; color: #d0f1ff; }
.site-footer__content .footer-links li { margin: 0; }
.footer-social { display: flex; gap: 5px; list-style: none; margin: 15px 0 0; padding: 0; }
.footer-social li { margin: 0; }
.footer-social img { width: 40px; height: 40px; }
.site-footer__bottom { border: 0; padding: 60px 12px 0; gap: 10px; }
.site-footer__bottom a, .site-footer__bottom button { color: #d0f1ff; }
.site-footer .back-to-top { position: static; display: flex; justify-content: center; align-items: center; width: calc(100% - 24px); max-width: calc(var(--content-width) - 24px); height: 45px; margin: 55px auto 0; background: #488ca7; color: #fff; font-size: 25px; }
@media (min-width: 768px) and (max-width: 991px) {
    .site-footer__content > .umb-block-list > .footer-col-md-3 { grid-column: span 3; }
    .site-footer__content > .umb-block-list > .footer-col-md-5 { grid-column: span 5; }
    .site-footer__content > .umb-block-list > .footer-col-md-6 { grid-column: span 6; }
    .site-footer__content > .umb-block-list > .footer-offset-md-1 { grid-column: 7 / span 6; }
}
@media (min-width: 992px) {
    .site-footer__content > .umb-block-list > .footer-col-lg-1 { grid-column: span 1; }
    .site-footer__content > .umb-block-list > .footer-col-lg-2 { grid-column: span 2; }
    .site-footer__content > .umb-block-list > .footer-col-lg-3 { grid-column: span 3; }
    .site-footer__content > .umb-block-list > .footer-col-lg-4 { grid-column: span 4; }
    .site-footer__content > .umb-block-list > .footer-col-lg-4.footer-offset-lg-1 { grid-column: 5 / span 4; }
    .site-footer__content > .umb-block-list > .footer-col-lg-3.footer-offset-lg-1 { grid-column: 10 / span 3; }
    .site-footer__content > .umb-block-list > .pt-lg-4 { padding-top: 24px; }
}
@media (max-width: 767px) {
    .site-footer { padding: 30px 0 60px; }
    .site-footer__content { padding: 0 3px; }
    .site-footer__content .green-tourism .nxb-simple-pods__media { width: 150px; margin: auto; }
    .site-footer__bottom { padding-top: 30px; padding-left: 15px; padding-right: 15px; }
}

.nxb-simple-pods--testimonials .nxb-simple-pods__content { padding: 30px; }
.nxb-simple-pods--testimonials .nxb-simple-pods__text { margin: 0; line-height: 1.65; }
.nxb-simple-pods--testimonials .nxb-simple-pods__text p { margin: 10px 0 15px; }
.nxb-simple-pods--testimonials .nxb-simple-pods__text p:first-child { margin-top: 0; }
.nxb-simple-pods--testimonials .nxb-simple-pods__text p:last-child { margin-bottom: 0; }
.nxb-simple-pods--testimonials .small { font-size: .875em; line-height: 24.75px; }
.nxb-listing > .component-heading h2 { font-size: var(--content-heading-size,28px); font-weight: 600; }
.nxb-listing__body h2 { font-size: 28px; font-weight: 600; line-height: 1.2; margin: 0; }
.nxb-listing__body h2 + div { margin-top: 10px; }
.nxb-listing__body p { margin: 10px 0 15px; }
.nxb-listing__body > div > :first-child { margin-top: 0 !important; }
.nxb-listing__body > div > :last-child { margin-bottom: 0 !important; }
.nxb-listing__card time { padding-top: 5px; padding-bottom: 5px; }
.nxb-listing__grid:not(.slick-initialized) { gap: 30px 24px; padding-bottom: 30px; }
.page-heading { padding: 60px 12px 15px; font-weight: 600; }
.nxb-listing, .nxb-gallery, .nxb-simple-pods { position: relative; }
.nxb-gallery { --nxb-gallery-gap: 24px; }
.nxb-gallery__viewport.slick-initialized .nxb-gallery__item { padding-left: 15px; padding-right: 15px; }
.nxb-gallery__viewport.slick-initialized .Image-1, .nxb-gallery__viewport.slick-initialized .Image-2 { padding-left: 25px; padding-right: 25px; }
.carousel-pause { position: absolute; right: 12px; bottom: 8px; margin: 0; z-index: 2; }
.page-content-shell--with-sidebar { max-width: var(--content-width); grid-template-columns: minmax(0,8fr) minmax(0,1fr) minmax(0,3fr); gap: 0; padding: 0; }
.page-content-shell--with-sidebar .nxb-text-block__inner { padding-left: 12px; padding-right: 12px; }
.page-content-shell--with-sidebar .page-content-shell__main { min-width: 0; }
.page-content-shell--with-sidebar .page-content-shell__sidebar { min-width: 0; grid-column: 3; padding-left: 12px; padding-right: 12px; }
.page-content-shell.content-right .page-content-shell__main { grid-column: 3; }
.page-content-shell.content-right { grid-template-columns: minmax(0,3fr) minmax(0,1fr) minmax(0,8fr); }
.page-content-shell.content-right .page-content-shell__sidebar { grid-column: 1; grid-row: 1; }
.page-content-shell.content-centered { display: block; max-width: 760px; }
.article-navigation { border-top: 1px solid #ddd; padding-top: 16px; }
.article-navigation h2 { font: 700 24px/1.2 "Bricolage Grotesque", sans-serif; margin: 0 0 10px; }
.article-navigation h2 a { color: var(--primary-dark); }
.article-navigation ul, .article-meta ul { list-style: none; margin: 0; padding: 0; }
.article-navigation li { margin-bottom: 5px; }
.article-meta { max-width: 760px; margin: 0 auto; padding: 30px 12px 60px; }
.article-meta time, .article-meta li { display: inline; font-size: 12px; }
.article-meta ul { display: inline; }
.article-meta li::before { content: " | "; }
.page-content-shell--with-sidebar .article-meta { padding-left: 12px; padding-right: 12px; }
.site-breadcrumbs { max-width: 1140px; margin: 0 auto; padding: 30px 12px; font-size: 12px; }
.site-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 6px 12px; list-style: none; padding: 0; margin: 0; }
.site-breadcrumbs li + li::before { content: "›"; padding-right: 12px; }
@media (max-width: 1199px) { .page-content-shell--with-sidebar { max-width: 960px; } }
@media (max-width: 991px) {
    .page-content-shell--with-sidebar { display: block; max-width: 720px; }
    .page-content-shell__sidebar { padding-top: 0; padding-bottom: 60px; }
}
.nxb-heading-size-h1 { --content-heading-size: 60px; }
.nxb-heading-size-h2 { --content-heading-size: 40px; }
.nxb-banner__title { font-size: var(--content-heading-size,60px); font-weight: 600; }
.nxb-heading-size-h2 .nxb-banner__title, .nxb-heading-size-h3 .nxb-banner__title, .nxb-heading-size-h4 .nxb-banner__title { font-weight: 400; }
.nxb-text-block__content h5 { font: 600 28px/1.2 "Bricolage Grotesque",sans-serif; letter-spacing: 0; margin: 10px 0; }
.nxb-text-block__content .small { font-size: .875em; line-height: 24.75px; }
.nxb-text-block__content h5 strong { font-weight: 600; }
.nxb-banner__content::before { background: linear-gradient(0deg,rgba(0,0,0,.9) 10%,rgba(0,0,0,.7) 18%,rgba(0,0,0,.15) 40%,rgba(0,0,0,.15) 75%,#000 94%); opacity: calc(var(--nxb-banner-overlay-opacity) * 1.1); }
@media (max-width: 991px) { .nxb-heading-size-h2 { --content-heading-size: 34px; } }
@media (max-width: 767px) {
    .nxb-heading-size-h1 { --content-heading-size: 30px; }
    .nxb-heading-size-h2 { --content-heading-size: 30px; }
    .nxb-text-block__content h5 { font-size: 22px; }
}
@media (max-width: 767px) {
    .page-content-shell--with-sidebar { max-width: 540px; }
    .article-meta { padding-bottom: 30px; }
    .page-content-shell__sidebar { padding-bottom: 30px; }
}
@media (max-width: 767px) {
    .nxb-gallery--carousel:has(.Image-1) { --nxb-gallery-gap: 24px; }
}
@media (max-width: 767px) {
    .nxb-full-width .umb-block-grid__area .nxb-text-block { padding: 15px 27px; }
    .nxb-full-width .nxb-grid-layout__row--reverse-desktop .umb-block-grid__area .nxb-text-block { padding-top: 75px; }
    .nxb-listing__body h2 { font-size: 22px; }
    .nxb-heading-size-h5 { --content-heading-size: 22px; }
    .nxb-heading-size-s { --card-heading-size: 20px; }
}
@media (max-width: 575px) {
    .nxb-gallery__viewport.slick-initialized .Image-1,
    .nxb-gallery__viewport.slick-initialized .Image-2 { padding: 0 15px; }
}@media (max-width: 767px) {
    .nxb-grid-layout__row .nxb-text-block__outro { margin-top: 10px; }
    .nxb-grid-layout__row .nxb-text-block__buttons { margin-top: 15px; }
    .nxb-grid-layout__row--gridRow65 > .umb-block-grid__area-container > .umb-block-grid__area:last-child { padding-top: 60px; }
    .nxb-full-width .nxb-grid-layout__row--gridRow65 > .umb-block-grid__area-container > .umb-block-grid__area:last-child { padding-top: 0; }
    .nxb-listing > .component-heading h2 { font-size: 22px; }
}/* Match the client's container, typography and split-layout breakpoints. */
@media (min-width: 576px) and (max-width: 767px) {
    :root { --content-width: 540px; }
    .nxb-heading-size-h1 { --content-heading-size: 35px; }
    .nxb-heading-size-h2 { --content-heading-size: 32px; }
    .nxb-heading-size-h3 { --content-heading-size: 28px; }
    .nxb-heading-size-h4 { --content-heading-size: 26px; }
    .nxb-heading-size-h5 { --content-heading-size: 24px; }
}
@media (min-width: 768px) and (max-width: 991px) {
    :root { --content-width: 720px; }
    .nxb-component--textBlock, .nxb-component--gallery, .nxb-component--simplePods, .nxb-component--contentListing, .nxb-component--gridLayout { padding-top: 40px; padding-bottom: 40px; }
    .extra-spacing { padding-top: 80px; padding-bottom: 80px; }
    .nxb-heading-size-h1 { --content-heading-size: 40px; }
    .nxb-heading-size-h2 { --content-heading-size: 36px; }
    .nxb-heading-size-h3 { --content-heading-size: 30px; }
    .nxb-heading-size-h4 { --content-heading-size: 28px; }
    .nxb-heading-size-h5 { --content-heading-size: 26px; }
    .nxb-heading-size-s { --card-heading-size: 22px; }
    .nxb-banner--position-bottom-centre .nxb-banner__content-inner { max-width: 618px; }
    .component-heading { max-width: 624px; margin-left: auto; margin-right: auto; }
    .nxb-listing > .component-heading h2, .nxb-listing__body h2 { font-size: 26px; }
}
@media (min-width: 992px) and (max-width: 1199px) {
    :root { --content-width: 960px; }
    .nxb-component--textBlock, .nxb-component--gallery, .nxb-component--simplePods, .nxb-component--contentListing, .nxb-component--gridLayout { padding-top: 50px; padding-bottom: 50px; }
    .extra-spacing { padding-top: 80px; padding-bottom: 80px; }
    .nxb-heading-size-h1 { --content-heading-size: 52px; }
    .nxb-heading-size-h2 { --content-heading-size: 38px; }
    .nxb-heading-size-h4 { --content-heading-size: 30px; }
    .nxb-banner--position-bottom-centre .nxb-banner__content-inner { max-width: 738px; }
    .component-heading { max-width: 744px; margin-left: auto; margin-right: auto; }
}
@media (min-width: 1299px) and (max-width: 1399px) { :root { --content-width: 1140px; } }
@media (min-width: 768px) and (max-width: 1199px) {
    .nxb-text-block__inner, .nxb-grid-layout__inner, .nxb-gallery, .nxb-simple-pods, .nxb-listing, .site-footer__content { max-width: var(--content-width); }
    .nxb-grid-layout__row--stack-tablet > .umb-block-grid__area-container { display: flex; flex-direction: column; gap: 0; }
    .nxb-grid-layout__row--stack-tablet > .umb-block-grid__area-container > .umb-block-grid__area { width: 100%; }
    .nxb-grid-layout__row--stack-tablet.nxb-grid-layout__row--reverse-desktop > .umb-block-grid__area-container { direction: ltr; }
    .nxb-grid-layout__row--stack-tablet > .umb-block-grid__area-container > .umb-block-grid__area:last-child { padding-top: 60px; }
    .nxb-full-width .nxb-grid-layout__row--stack-tablet > .umb-block-grid__area-container > .umb-block-grid__area:last-child { padding-top: 0; }
    .nxb-full-width .umb-block-grid__area .nxb-text-block { padding: 15px 27px; }
    .nxb-full-width .nxb-grid-layout__row--reverse-desktop .umb-block-grid__area .nxb-text-block { padding-top: 75px; }
    .nxb-full-width .nxb-grid-layout__inner { max-width: none; }
}@media (min-width: 768px) and (max-width: 1199px) {
    .nxb-grid-layout__row .nxb-text-block__outro { margin-top: 10px; }
    .nxb-grid-layout__row .nxb-text-block__buttons { margin-top: 15px; }
    .nxb-full-width .nxb-simple-pods { max-width: none; }
}
@media (min-width: 768px) and (max-width: 1199px) {
    .nxb-text-block__button, .nxb-simple-pods__link, .nxb-banner__button { font-size: 13px; min-height: 37.5px; }
}.nxb-banner--size-short .nxb-banner__content { padding: 70px 15px; }
@media (min-width: 1299px) {
    .nxb-banner--size-short .nxb-banner__layout { height: 55svh; }
    .nxb-banner--size-short .nxb-banner__content { padding-top: 210px; padding-bottom: 90px; }
}/* Shared footer layout, with the required credit and consent control. */
.site-footer { padding-top: 0; }
.site-footer__content { padding-top: 60px; }
.site-breadcrumbs { max-width: var(--content-width); padding: 15px 12px; font-size: 14px; line-height: 21px; letter-spacing: 0; }
.site-breadcrumbs ol { gap: 0 7.5px; }
.site-breadcrumbs li { padding: 5px 0; }
.site-breadcrumbs li + li::before { padding-right: 7.5px; }
.footer-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.site-footer__content .footer-links li { margin-bottom: 5px; }
.footer-social img { width: 50px; height: 50px; }
.site-footer .back-to-top { position: fixed; right: 0; bottom: 0; width: 45px; height: 45px; max-width: none; margin: 0; z-index: 450; }
@media (min-width: 1299px) { .site-footer .back-to-top { width: 60px; height: 60px; } }
@media (max-width: 767px) {
    .site-footer { padding-top: 0; }
    .site-footer__content { padding-top: 30px; }
}.site-footer__content h2, .site-footer__content h3, .site-footer__content .nxb-text-block__heading { font-weight: 600; }
.site-footer__content .nxb-simple-pods__text { margin-top: 10px; }
.site-footer__content .nxb-simple-pods__text p { margin-bottom: 15px; }
.site-footer__content .nxb-simple-pods__text p:last-child { margin-bottom: 0; }
.site-footer__bottom { font-size: 13px; line-height: 19.5px; letter-spacing: 0; }
.site-footer .back-to-top { visibility: hidden; }
body:has(.site-header.is-scrolled) .back-to-top { visibility: visible; }
@media (min-width: 576px) and (max-width: 991px) {
    .site-footer__content h2, .site-footer__content h3, .site-footer__content .nxb-text-block__heading { font-size: 22px; }
}
@media (max-width: 575px) {
    .site-footer__content h2, .site-footer__content h3, .site-footer__content .nxb-text-block__heading { font-size: 20px; }
}@media (max-width: 1298px) {
    .site-footer .back-to-top { position: static; width: calc(100% - 24px); max-width: calc(var(--content-width) - 24px); height: 45px; margin: 55px auto 0; visibility: visible; }
}.nxb-component { --section-image: none; }
.nxb-simple-pods__card { --section-background: transparent; background: var(--section-background); color: var(--section-text); }
.nxb-gallery.is-enhanced:has(.nxb-gallery__dots:not([hidden])) { padding-bottom: 53px; }
.nxb-grid-layout__row .nxb-gallery.is-enhanced:has(.nxb-gallery__dots:not([hidden])) { padding-bottom: 53px; }
.nxb-gallery__dots { bottom: 0; height: 38px; }
.nxb-gallery__dots-list { height: 38px; padding: 0; gap: 8px; background: transparent; }
.nxb-gallery__dot { width: 16px; height: 38px; }
.nxb-gallery__dot > span { width: 8px; height: 8px; background: #aaa; border: 0; }
.nxb-gallery__dot[aria-current="true"] > span, .nxb-gallery__dots-list .slick-active .nxb-gallery__dot > span { width: 9px; height: 9px; background: #488ca7; }
.nxb-gallery__arrow { top: calc(50% + 10px); width: 40px; height: 40px; border: 0; border-radius: 0; background: #fff; color: #81bdd6; }
.nxb-gallery__arrow > span { width: 8px; height: 8px; border-width: 2px; }
.nxb-gallery__arrow--previous { left: 0; }
.nxb-gallery__arrow--next { right: 0; }.nxb-background-bottom-right { background-position: right bottom; }
.nxb-background-width-full { background-size: 100% auto; }
.nxb-grid-layout__row .nxb-component { background: transparent; }
.nxb-simple-pods__card { background: transparent; }
.nxb-simple-pods__content { background: var(--section-background); }
.nxb-article-grid .nxb-grid-layout { --nxb-grid-row-gap: 30px; }.nxb-heading-size-h1 .nxb-text-block__heading { font-weight: 600; }
.typography-editorial .nxb-eyebrow-size-l { --eyebrow-size: 22px; }
.typography-editorial .component-heading { max-width: none; }
.typography-editorial .nxb-text-block__button, .typography-editorial .nxb-banner__button { letter-spacing: 1px; }
@media (min-width: 768px) and (max-width: 1199px) {
    .typography-editorial .nxb-text-block__button, .typography-editorial .nxb-banner__button { font-size: 14px; min-height: 39px; }
}
@media (min-width: 1200px) {
    .typography-editorial .nxb-text-block__button, .typography-editorial .nxb-banner__button { font-size: 15px; min-height: 40.5px; }
}
.nxb-contact-form { padding: 30px; margin: 0 12px; --nxb-contact-accent: #488ca7; --nxb-contact-button-background: #488ca7; --nxb-contact-button-border: #488ca7; }
.nxb-contact-form--background-brand { --nxb-contact-background: linear-gradient(135deg,#004a67,#00384e); --nxb-contact-colour: #f7f7f7; }
.nxb-component > .nxb-contact-form { background: var(--nxb-contact-background); }
.nxb-contact-form__status--idle { display: none; }
.nxb-contact-form__form { max-width: none; }
.nxb-contact-form__fields { gap: 16px 24px; }
.nxb-contact-form__field { gap: 5px; }
.nxb-contact-form__field label { font-weight: 400; }
.nxb-contact-form__field input { min-height: 0; height: 40px; padding: 6px 12px; border-color: #ddd; }
.nxb-contact-form__field textarea { min-height: 137.75px; height: 137.75px; padding: 6px 12px; border-color: #ddd; }
.nxb-contact-form__submit { margin-top: 36px; margin-bottom: 5px; min-height: 39px; padding: 8px 20px; border-width: 1px; font: 600 14px/1.5 "Bricolage Grotesque",sans-serif; letter-spacing: .5px; }
.nxb-contact-form__recaptcha-notice { margin-top: 30px; color: inherit; font-size: .875em; line-height: 24.75px; }
.nxb-contact-form__recaptcha-notice a { font-weight: 600; text-decoration: none; }
.page-content-shell__sidebar .nxb-text-block__inner, .page-content-shell__sidebar .nxb-simple-pods, .page-content-shell__sidebar .nxb-gallery { padding-left: 0; padding-right: 0; }

.nxb-banner--without-media .nxb-banner__media { background: transparent; }
.nxb-banner--without-media .nxb-banner__media::after, .nxb-banner--without-media .nxb-banner__layout::after { display: none; }
.page-content-shell__sidebar .nxb-component--simplePods { padding-top: 0; padding-bottom: 0; }
.page-content-shell__sidebar .nxb-simple-pods__card { border-top: 1px solid #e7e7e7; padding-top: 30px; }
.page-content-shell__sidebar .nxb-simple-pods__content { padding: 0; }
.page-content-shell__sidebar .nxb-simple-pods__heading { font-family: trajan-pro-3, Georgia, serif; font-size: 28px; font-weight: 600; margin: 0 0 10px; }
.page-content-shell__sidebar .nxb-simple-pods__text { margin: 0; }
.page-content-shell__sidebar .nxb-simple-pods__text a { color: #81bdd6; }
.nxb-contact-form__field label span { color: #9b3c3c; }
.nxb-contact-form__field textarea { resize: none; }
.nxb-contact-form__test-notice { padding: 10px; background: #fff4d5; color: #473500; }

.optional-embed { min-height: var(--embed-height,300px); }

.nxb-form-introduction .nxb-text-block__intro { margin-bottom: 0; padding-bottom: 30px; }
@media (max-width: 767px) { .nxb-contact-form__fields { grid-template-columns: 1fr; } }

.nxb-article-grid .nxb-text-block__content > :last-child { margin-bottom: 15px; }
.nxb-gallery--carousel:not(.is-enhanced) .nxb-gallery__viewport { display: flex; flex-wrap: wrap; justify-content: center; gap: 0; margin-inline: -12px; }
.nxb-gallery--carousel:not(.is-enhanced) .nxb-gallery__item { width: calc(100% / var(--nxb-gallery-columns,3)); padding-inline: 15px; }
@media (max-width: 767px) { .nxb-gallery--carousel:not(.is-enhanced) .nxb-gallery__item { width: calc(100% / min(var(--nxb-gallery-columns,3),2)); } }

.nxb-gallery--carousel:not(:has(.Image-1)) .nxb-gallery__arrow { top: 50%; }
@media (min-width: 768px) and (max-width: 1199px) {
    .nxb-grid-layout__row--gridRow65:not(.nxb-grid-layout__row--stack-tablet) > .umb-block-grid__area-container > .umb-block-grid__area:last-child { padding-top: 60px; }
}

.nxb-blog { color: var(--section-text); background: transparent; }
.nxb-blog__body a { color: var(--primary); }
.nxb-blog__header-content, .nxb-contact-form__intro { text-align: var(--heading-alignment,left); }
.nxb-heading-centre .nxb-blog__title, .nxb-heading-centre .nxb-blog__subtitle { margin-inline: auto; }
.nxb-heading-right .nxb-blog__title, .nxb-heading-right .nxb-blog__subtitle { margin-left: auto; }

/* Image collections retain the original pod spacing and editable gallery behaviour. */
.nxb-image-pods .nxb-gallery--grid .nxb-gallery__viewport { margin-inline: -12px; gap: 0; }
.nxb-image-pods .nxb-gallery--grid .nxb-gallery__item { padding: 0 15px 30px; }
.nxb-image-pods .nxb-gallery--grid .Pod-1,
.nxb-image-pods .nxb-gallery--grid .Pod-2 { padding: 10px 10px 30px; }
.nxb-image-pods .nxb-image--portrait-classic { aspect-ratio: 53 / 80; }
@media (max-width: 767px) {
    .nxb-image-pods .nxb-gallery--grid .Pod-1 { padding: 5px 5px 30px; }
}

.nxb-listing__card { background: var(--card-background,linear-gradient(135deg,#004a67,#00384e)); color: var(--card-text,#f7f7f7); }
.nxb-listing__body { text-align: var(--card-alignment,left); }
.nxb-listing__body h2 { font-family: 'Bricolage Grotesque',sans-serif; font-size: 34px; color: var(--card-heading,#fff); }
.nxb-listing__body .eyebrow { color: var(--card-eyebrow,#d0f1ff); line-height: 1.2; margin: 0 0 5px; }
.nxb-listing__link:hover, .nxb-listing__link:focus { text-decoration: none; }
.nxb-listing--compact-headings .nxb-listing__body h2 { font-size: 24px; }
.nxb-listing--compact-headings .nxb-listing__link { height: 100%; }
.nxb-listing--compact-headings .nxb-listing__body h2 + div:empty { display: none; }
@media (max-width: 1199px) {
    .nxb-listing__body h2 { font-size: 30px; }
    .nxb-listing--compact-headings .nxb-listing__body h2 { font-size: 22px; }
}
@media (max-width: 767px) {
    .nxb-listing__body h2 { font-size: 26px; }
    .nxb-listing--compact-headings .nxb-listing__body h2 { font-size: 20px; }
}

/* Shared form container and introduction widths follow the client's responsive layout. */
.nxb-contact-form { width: calc(100% - 24px); max-width: calc(var(--content-width) - 24px); margin-inline: auto; }
.nxb-form-introduction .nxb-text-block__inner { width: min(100%,var(--content-width)); }
@media (min-width: 768px) {
    .nxb-form-introduction .nxb-text-block__inner { max-width: calc(var(--content-width) * .9); }
}
@media (min-width: 992px) {
    .nxb-form-introduction .nxb-text-block__inner { max-width: calc(var(--content-width) * .8); }
}
@media (min-width: 1200px) {
    .nxb-form-introduction .nxb-text-block__inner { max-width: calc(var(--content-width) * .75); }
}
@media (min-width: 768px) and (max-width: 991px) { .nxb-component--contactForm { padding-block: 40px; } }
@media (min-width: 992px) and (max-width: 1199px) { .nxb-component--contactForm { padding-block: 50px; } }
@media (max-width: 767px) { .nxb-component--contactForm { padding-block: 30px; } }

.nxb-gallery__arrow { background: var(--section-solid-background,#fff); color: var(--section-control-colour,#81bdd6); }
.slick-dots button { width: 8px; height: 8px; border: 0; background: #aaa; }
.slick-dots .slick-active button { width: 9px; height: 9px; background: #488ca7; }
.back-to-top > span { display: block; width: 12px; height: 12px; border-top: 3px solid currentColor; border-left: 3px solid currentColor; transform: translateY(3px) rotate(45deg); }
@media (max-width: 767px) {
    .site-footer__content { padding-inline: 0; }
    .footer-social img { width: 40px; height: 40px; }
    .site-footer__bottom { padding-inline: 12px; gap: 15px; }
    .site-footer__bottom ul { flex-direction: column; align-items: flex-start; gap: 15px; }
}

.nxb-gallery--carousel:not(:has(.Image-1)) .nxb-gallery__arrow--previous { left: 15px; }
.nxb-gallery--carousel:not(:has(.Image-1)) .nxb-gallery__arrow--next { right: 15px; }
.slick-dots:not(.nxb-gallery__dots-list):not(.nxb-banner-carousel__dots-list) { display: block; text-align: center; }
.slick-dots:not(.nxb-gallery__dots-list):not(.nxb-banner-carousel__dots-list) li { display: inline-block; width: 16px; height: 16px; margin: 0 4px; }
.slick-dots:not(.nxb-gallery__dots-list):not(.nxb-banner-carousel__dots-list) button { display: inline-block; }
@media (max-width: 767px) {
    .site-footer__bottom { flex-direction: column; align-items: flex-start; }
}

.nxb-full-width .nxb-gallery--carousel .nxb-gallery__viewport { margin-inline: 0; }
.nxb-full-width .nxb-gallery--carousel .nxb-gallery__viewport .nxb-gallery__item { padding-inline: 0; }
.nxb-simple-pods .nxb-simple-pods__card--overlay { display: grid; grid-template-areas: "overlay"; align-self: start; height: auto; }
.nxb-simple-pods__card--overlay .nxb-simple-pods__media { grid-area: overlay; }
.nxb-simple-pods__card--overlay .nxb-simple-pods__content { grid-area: overlay; position: relative; inset: auto; align-self: end; align-items: center; padding: 30px; background: transparent; }
.nxb-simple-pods__card--overlay .nxb-simple-pods__text:empty { display: none; }

.nxb-gallery__toggle { width: 40px; height: 40px; min-width: 0; min-height: 0; left: auto; right: 15px; bottom: 0; border: 0; border-radius: 0; padding: 0; font-size: 14px; background: var(--section-solid-background,#fff); color: var(--section-control-colour,#81bdd6); }
.nxb-simple-pods__grid > .slick-arrow, .nxb-listing__grid > .slick-arrow { top: 50%; transform: translateY(-50%); background: var(--section-solid-background,#fff); color: var(--section-control-colour,#81bdd6); }
.nxb-simple-pods__grid > .slick-prev, .nxb-listing__grid > .slick-prev { left: 15px; }
.nxb-simple-pods__grid > .slick-next, .nxb-listing__grid > .slick-next { right: 15px; }
.slick-prev::before, .slick-next::before { content: ""; display: inline-block; width: 8px; height: 8px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; }
.slick-prev::before { transform: rotate(-135deg); }
.slick-next::before { transform: rotate(45deg); }

/* Keep carousel gutters outside card backgrounds and retain the article typography. */
.nxb-listing__card { background: transparent; }
.nxb-listing__card-inner { height: 100%; background: var(--card-background,linear-gradient(135deg,#004a67,#00384e)); }
.nxb-listing--articles:is(.nxb-listing--carousel, .nxb-listing--category) .nxb-listing__body h2 { font-family: trajan-pro-3,Georgia,serif; font-size: 28px; }
.nxb-listing__categories a { color: inherit; }
.nxb-full-width .nxb-gallery__arrow--previous { left: 0; }
.nxb-full-width .nxb-gallery__arrow--next { right: 0; }
.carousel-pause { width: 40px; height: 40px; right: 15px; bottom: 0; padding: 0; background: var(--section-solid-background,#fff); color: var(--section-control-colour,#81bdd6); }
.carousel-pause::before { content: "Ⅱ"; font-weight: 700; }
.carousel-pause[data-paused="true"]::before { content: "▶"; }
.footer-social img { width: 40px; height: 40px; }
@media (max-width: 1199px) { .nxb-listing--articles:is(.nxb-listing--carousel, .nxb-listing--category) .nxb-listing__body h2 { font-size: 26px; } }
@media (max-width: 767px) { .nxb-listing--articles:is(.nxb-listing--carousel, .nxb-listing--category) .nxb-listing__body h2 { font-size: 22px; } }

.nxb-full-width .nxb-gallery__image { height: auto; }
.nxb-full-width .nxb-gallery--carousel:not(:has(.Image-1)) .nxb-gallery__arrow--previous { left: 0; }
.nxb-full-width .nxb-gallery--carousel:not(:has(.Image-1)) .nxb-gallery__arrow--next { right: 0; }

.nxb-full-width .nxb-gallery { max-width: none; }
.nxb-simple-pods .nxb-simple-pods__card--overlay { grid-template-columns: minmax(0,1fr); }
.nxb-simple-pods__card--overlay .nxb-simple-pods__content { min-width: 0; }
@media (min-width: 768px) and (max-width: 1199px) {
    .nxb-grid-layout__row--stack-tablet.nxb-grid-layout__row--reverse-desktop > .umb-block-grid__area-container { flex-direction: column-reverse; }
}
@media (min-width: 768px) and (max-width: 991px) {
    .nxb-banner__buttons { margin-top: 15px; }
}

.nxb-listing__card time, .nxb-listing__categories { font-size: .85em; line-height: calc(1em / .85 * 1.65); }

@media (min-width: 768px) and (max-width: 1199px) {
    .site-footer { padding-bottom: 40px; }
    .site-footer__content { padding-top: 40px; }
    .site-footer__bottom { padding-top: 30px; }
    .site-credit { width: 100%; padding-top: 30px; }
}
@media (max-width: 767px) { .site-footer { padding-bottom: 30px; } }
@media (max-width: 1298px) { .site-footer .back-to-top { margin-top: 50px; margin-bottom: 5px; } }

@media (max-width: 767px) {
    .site-footer__bottom, .site-footer__bottom ul { gap: 0; }
    .site-footer__bottom > span, .site-footer__bottom li { padding-block: 10px; }
}

/* Article metadata retains the source's centered column and separate date/category lines. */
.article-meta { max-width: calc(var(--content-width) * .5); margin: 30px auto 0; padding: 0 12px 60px; }
.article-meta__inner { border-top: 1px solid #e7e7e7; padding-top: 15px; }
.article-meta time { display: block; font-size: inherit; margin: 5px 0; }
.article-meta ul { display: block; }
.article-meta li { display: inline; font-size: inherit; }
.article-meta li::before { content: none; }
.article-meta li + li::before { content: ", "; }
.page-content-shell--with-sidebar .article-meta { max-width: 100%; }
.site-breadcrumbs li::before { content: ""; display: inline-block; width: 5.25px; height: 5.25px; margin-right: 7.5px; border-left: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); vertical-align: 1px; padding-right: 0; }
.site-breadcrumbs li + li::before { content: ""; padding-right: 0; }
.site-breadcrumbs li[aria-current="page"] { max-width: 200px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: #90a4a9; }
@media (min-width: 992px) and (max-width: 1199px) {
    .article-meta { max-width: calc(var(--content-width) * .65); padding-bottom: 40px; }
}
@media (min-width: 768px) and (max-width: 991px) {
    .article-meta { max-width: calc(var(--content-width) * .9); padding-bottom: 40px; }
    .typography-editorial .nxb-article-grid .nxb-text-block__intro,
    .typography-editorial .component-heading { max-width: calc((var(--content-width) * .9) - 24px); }
}
@media (max-width: 767px) { .article-meta { max-width: 100%; padding-bottom: 30px; } }
.nxb-gallery.is-single-slide .nxb-gallery__controls { display: block; }
.site-breadcrumbs li { max-width: 200px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.site-breadcrumbs li[aria-current="page"] { color: rgba(247,247,247,.5); }
@media (max-width: 767px) {
    .site-breadcrumbs li, .site-breadcrumbs li[aria-current="page"] { max-width: 120px; }
}

.site-breadcrumbs li[aria-current="page"] { font-weight: 400; }
@media (max-width: 767px) { .site-breadcrumbs { padding-block: 5px; } }

.nxb-banner__title { overflow-wrap: anywhere; }

/* Optional navigation features remain absent until configured in Site Settings. */
.nxb-navigation-item { position: relative; }
.nxb-navigation-item:has(> .nxb-submenu-toggle) > a { padding-right: 54px; }
.nxb-submenu-toggle { position: absolute; right: 8px; top: 5px; width: 42px; height: 42px; border: 1px solid currentColor; background: transparent; color: #fff; }
.site-navigation .nxb-navigation-submenu ul { display: block; padding-left: 20px; }
.site-navigation .nxb-navigation-submenu li { display: block; }
.nxb-header-search { margin: 0 15px 15px; color: #fff; }
.nxb-header-search summary { cursor: pointer; padding: 10px 0; }
.nxb-header-search form { display: flex; gap: 5px; padding: 10px; background: #196d88; }
.nxb-header-search input { min-width: 0; width: 100%; padding: 8px; border: 1px solid #fff; color: #222; background: #fff; }
.nxb-header-search button { border: 1px solid #fff; padding: 8px 12px; background: transparent; color: #fff; }
@media (min-width: 1299px) {
    .nxb-navigation-submenu { position: absolute; top: 100%; left: 0; width: 260px; background: #196d88; }
    .site-navigation .nxb-navigation-submenu ul { padding-left: 0; }
    .nxb-navigation-submenu .nxb-navigation-submenu { top: 0; left: 100%; }
    .nxb-submenu-toggle { top: calc(50% - 21px); }
    .nxb-header-search { position: absolute; top: 82px; right: 15px; margin: 0; }
    .nxb-header-search summary { padding: 4px 0; text-align: right; font-size: 14px; }
    .nxb-header-search form { position: absolute; top: 100%; right: 0; width: 330px; }
}

.nxb-banner--size-short:is(.nxb-banner--position-centre-left,.nxb-banner--position-bottom-left) .nxb-banner__content { padding-inline: 0; }
.nxb-banner--size-short:is(.nxb-banner--position-centre-left,.nxb-banner--position-bottom-left) .nxb-banner__content-inner { width: 100%; max-width: var(--content-width); padding-inline: 15px; }
@media (min-width: 768px) {
    .nxb-banner--size-short:is(.nxb-banner--position-centre-left,.nxb-banner--position-bottom-left) .nxb-banner__content-inner > * { max-width: calc(var(--content-width) * .9 - 30px); }
}
@media (min-width: 992px) {
    .nxb-banner--size-short:is(.nxb-banner--position-centre-left,.nxb-banner--position-bottom-left) .nxb-banner__content-inner > * { max-width: calc(var(--content-width) * .8 - 30px); }
}
@media (min-width: 1200px) {
    .nxb-banner--size-short:is(.nxb-banner--position-centre-left,.nxb-banner--position-bottom-left) .nxb-banner__content-inner > * { max-width: calc(var(--content-width) * .75 - 30px); }
}

/* Keep summary links independent from each card's detail link. */
.nxb-listing__card-inner { position: relative; }
.nxb-listing__title-link { color: inherit; text-decoration: none; }
.nxb-listing__title-link::after { content: ""; position: absolute; inset: 0; }
.nxb-listing__body > div a, .nxb-listing__categories a { position: relative; z-index: 1; }
.nxb-listing__body > div a { color: #d0f1ff; }
.nxb-listing__title-link:hover, .nxb-listing__title-link:focus { color: inherit; text-decoration: none; }

/* Article introductions, category navigation and image-banner shading. */
.page-type-article .page-content-shell__main .nxb-text-block__intro:has(+ .nxb-text-block__content) { margin-bottom: 15px; }
.article-navigation { border-top-color: #e7e7e7; padding-top: 15px; margin-bottom: 30px; }
.article-navigation h2 { font-weight: 600; margin: 0; padding-bottom: 10px; }
.article-navigation li { padding: 3px 0; margin: 0; line-height: 24px; }
.article-navigation li a { font-size: 16px; line-height: 24px; }
.nxb-banner--presentation-overlay .nxb-banner__media::after { background: var(--nxb-banner-overlay-background, linear-gradient(0deg,color-mix(in srgb,var(--nxb-banner-overlay-colour) 90%,transparent) 10%,color-mix(in srgb,var(--nxb-banner-overlay-colour) 70%,transparent) 18%,color-mix(in srgb,var(--nxb-banner-overlay-colour) 15%,transparent) 40%,color-mix(in srgb,var(--nxb-banner-overlay-colour) 15%,transparent) 75%,var(--nxb-banner-overlay-colour) 94%)); opacity: calc(var(--nxb-banner-overlay-opacity) * 1.1); }
@media (max-width: 1199px) { .article-navigation h2 { font-size: 22px; } }
@media (max-width: 767px) { .article-navigation h2 { font-size: 20px; } }

.page-type-article .page-content-shell__main .nxb-text-block__content img { vertical-align: middle; }

@media (min-width: 576px) and (max-width: 767px) { .nxb-text-block__content h5 { font-size: 24px; } }
@media (min-width: 768px) and (max-width: 991px) { .nxb-text-block__content h5 { font-size: 26px; } }

/* Constrained articles share outer page spacing; their blocks keep the source's 30px internal gaps. */
.page-type-article .page-content-shell--with-sidebar { --article-section-padding: 60px; padding-block: var(--article-section-padding); }
.page-type-article .page-content-shell--with-sidebar .page-content-shell__main { margin-bottom: 30px; }
.page-type-article .page-content-shell--with-sidebar .page-content-shell__main > .nxb-component { padding-top: 0; padding-bottom: 30px; }
.page-type-article .page-content-shell--with-sidebar .article-meta { padding-bottom: 0; }
.page-type-article .page-content-shell--with-sidebar .page-content-shell__sidebar { padding-top: 0; padding-bottom: 0; }
@media (max-width: 1199px) { .page-type-article .page-content-shell--with-sidebar { --article-section-padding: 50px; } }
@media (max-width: 991px) { .page-type-article .page-content-shell--with-sidebar { --article-section-padding: 40px; } }
@media (max-width: 767px) { .page-type-article .page-content-shell--with-sidebar { --article-section-padding: 30px; } }
/* Medium image-pod captions retain the client's serif heading style. */
.nxb-simple-pods__card.nxb-heading-size-m { --card-heading-size: 28px; }
.nxb-simple-pods__card.nxb-heading-size-m .nxb-simple-pods__heading { font-family: trajan-pro-3, Georgia, serif; font-weight: 600; }
@media (min-width: 768px) and (max-width: 991px) { .nxb-simple-pods__card.nxb-heading-size-m { --card-heading-size: 26px; } }
@media (min-width: 576px) and (max-width: 767px) { .nxb-simple-pods__card.nxb-heading-size-m { --card-heading-size: 24px; } }
@media (max-width: 575px) { .nxb-simple-pods__card.nxb-heading-size-m { --card-heading-size: 22px; } }

/* Each card uses its saved heading alignment independently of collection copy. */
.nxb-simple-pods__content > .nxb-simple-pods__heading,
.nxb-simple-pods__content > .eyebrow { width: 100%; text-align: var(--heading-alignment,left); }

.nxb-simple-pods__card--overlay .nxb-simple-pods__media { position: relative; }
.nxb-simple-pods__card--overlay .nxb-simple-pods__media::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: var(--card-overlay-background,linear-gradient(0deg,rgba(0,0,0,.7) 0%,rgba(0,0,0,.1) 30%)); opacity: .4; transition: opacity .3s ease-in-out; }

.nxb-simple-pods__card--overlay .nxb-simple-pods__media:has(a):hover::after,
.nxb-simple-pods__card--overlay .nxb-simple-pods__media:focus-within::after { opacity: .8; }

/* Standard image cards retain their own surface even inside a coloured section. */
.nxb-simple-pods__card--boxed { --section-background: #fff; --section-heading: #166b8c; --section-eyebrow: #81bdd6; --section-text: #4a4a4a; }
.nxb-simple-pods__card--boxed .nxb-simple-pods__content { padding: 30px; }
.nxb-simple-pods__card.memberships .nxb-simple-pods__content { align-items: center; text-align: center; }
.nxb-simple-pods > .component-outro { display: flow-root; padding-top: 30px; margin-bottom: 0; }
#site-content .nxb-text-block__content ul, #site-content .nxb-text-block__content ol { padding: 0; margin: 10px 20px 15px; }
#site-content .nxb-text-block__content ul:last-child, #site-content .nxb-text-block__content ol:last-child { margin-bottom: 0; }

#site-content .nxb-simple-pods__grid:not(.slick-initialized) { gap: 30px 24px; padding-bottom: 30px; }
.nxb-simple-pods:not(.nxb-simple-pods--testimonials) .nxb-simple-pods__card--boxed .eyebrow { margin-bottom: 5px; }
.nxb-simple-pods:not(.nxb-simple-pods--testimonials) .nxb-simple-pods__card--boxed .nxb-simple-pods__text { margin-top: 10px; line-height: 1.65; }
.nxb-simple-pods:not(.nxb-simple-pods--testimonials) .nxb-simple-pods__card--boxed .nxb-simple-pods__text p { margin-bottom: 15px; }
.nxb-simple-pods:not(.nxb-simple-pods--testimonials) .nxb-simple-pods__card--boxed .nxb-simple-pods__text p:last-child { margin-bottom: 0; }

.nxb-grid-layout__row .nxb-text-block__buttons { flex-wrap: nowrap; align-items: center; }
.nxb-grid-layout__row .nxb-text-block__button { white-space: normal; }
@media (max-width: 991px) {
    .component-outro .nxb-text-block__buttons { margin-top: 15px; }
}

/* Optional row variant keeps the first tablet column narrow and spans the second across the row. */
@media (min-width: 768px) and (max-width: 1199px) {
    .nxb-grid-layout__row.nxb-tablet-second-full > .umb-block-grid__area-container { row-gap: 0; }
    .nxb-grid-layout__row.nxb-tablet-second-full > .umb-block-grid__area-container > .umb-block-grid__area:last-child { grid-column: 1 / -1; padding-top: 60px; }
}
@media (max-width: 767px) {
    .nxb-grid-layout__row--gridRow65.nxb-grid-layout__row--reverse-desktop > .umb-block-grid__area-container > .umb-block-grid__area:first-child { padding-top: 60px; }
    .nxb-grid-layout__row--gridRow65.nxb-grid-layout__row--reverse-desktop > .umb-block-grid__area-container > .umb-block-grid__area:last-child { padding-top: 0; }
    .nxb-full-width .nxb-grid-layout__row--gridRow65.nxb-grid-layout__row--reverse-desktop > .umb-block-grid__area-container > .umb-block-grid__area:first-child { padding-top: 0; }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .nxb-grid-layout__row--gridRow65.nxb-grid-layout__row--reverse-desktop:not(.nxb-grid-layout__row--stack-tablet) > .umb-block-grid__area-container > .umb-block-grid__area:first-child { padding-top: 60px; }
    .nxb-grid-layout__row--gridRow65.nxb-grid-layout__row--reverse-desktop:not(.nxb-grid-layout__row--stack-tablet) > .umb-block-grid__area-container > .umb-block-grid__area:last-child { padding-top: 0; }
}

/* Match the membership and testimonial carousel indicators to their section palettes. */
.nxb-simple-pods:has(.memberships) { --carousel-active-dot: #004a67; }
.nxb-simple-pods--testimonials { --carousel-active-dot: #166b8c; }
.nxb-simple-pods:has(.memberships) .slick-dots button,
.nxb-simple-pods--testimonials .slick-dots button { background: var(--section-text,#4a4a4a); opacity: .5; font: inherit; text-indent: -9999px; }
.nxb-simple-pods:has(.memberships) .slick-dots .slick-active button,
.nxb-simple-pods--testimonials .slick-dots .slick-active button { background: var(--carousel-active-dot); opacity: 1; }

/* Authored prose headings retain their responsive display style. */
.nxb-text-block__content h3 { font: 400 32px/1.2 trajan-pro-3, Georgia, serif; letter-spacing: normal; margin: 30px 0 15px; }
@media (min-width: 768px) and (max-width: 991px) { .nxb-text-block__content h3 { font-size: 30px; } }
@media (min-width: 576px) and (max-width: 767px) { .nxb-text-block__content h3 { font-size: 28px; } }
@media (max-width: 575px) { .nxb-text-block__content h3 { font-size: 26px; } }
.nxb-text-block__content p.heading { font: 600 28px/1.2 trajan-pro-3, Georgia, serif; color: var(--section-heading); letter-spacing: normal; margin: 0; }
@media (min-width: 768px) and (max-width: 991px) { .nxb-text-block__content p.heading { font-size: 26px; } }
@media (min-width: 576px) and (max-width: 767px) { .nxb-text-block__content p.heading { font-size: 24px; } }
@media (max-width: 575px) { .nxb-text-block__content p.heading { font-size: 22px; } }

/* Card body alignment remains independent from its heading alignment. */
.nxb-simple-pods__card.nxb-content-centre .nxb-simple-pods__content { align-items: center; text-align: center; }
.nxb-simple-pods__card.nxb-content-right .nxb-simple-pods__content { align-items: flex-end; text-align: right; }

/* Preserve the split row spacing when its tablet stack continues on phones. */
@media (max-width: 767px) {
    .nxb-grid-layout__row--stack-tablet > .umb-block-grid__area-container > .umb-block-grid__area:last-child { padding-top: 60px; }
    .nxb-full-width .nxb-grid-layout__row--stack-tablet > .umb-block-grid__area-container > .umb-block-grid__area:last-child { padding-top: 0; }
}

/* Full-width split sections retain the client's capped prose column on desktop. */
@media (min-width: 1200px) {
    .nxb-full-width .umb-block-grid__area .nxb-text-block { width: calc(100% - 24px); max-width: 600px; margin-inline: auto; padding: 30px; }
}

/* Boxed card CTAs include the source button's vertical margins. */
.nxb-simple-pods__card--boxed .nxb-simple-pods__link { margin-top: 30px; margin-bottom: 5px; }
@media (max-width: 991px) {
    .nxb-simple-pods__card--boxed .nxb-simple-pods__link { margin-top: 15px; }
}

/* Forms beside a sidebar use the full column and compact introduction spacing. */
.page-content-shell--with-sidebar .nxb-form-introduction .nxb-text-block__inner { max-width: 100%; }
.page-content-shell--with-sidebar .nxb-form-introduction .nxb-text-block__intro { padding-bottom: 15px; }
#site-content .page-content-shell__sidebar .nxb-simple-pods__grid:not(.slick-initialized) { padding-bottom: 0; }
.page-content-shell__sidebar .nxb-simple-pods__text { line-height: 1.65; }
.page-content-shell__sidebar .nxb-simple-pods__text p { margin-bottom: 15px; }
.page-content-shell__sidebar .nxb-simple-pods__text p:last-child { margin-bottom: 0; }
.optional-embed--map { min-height: 400px; }
@media (min-width: 768px) and (max-width: 991px) {
    .page-content-shell__sidebar .nxb-simple-pods__heading { font-size: 26px; }
    .optional-embed--map { min-height: 300px; }
}
@media (min-width: 576px) and (max-width: 767px) {
    .page-content-shell__sidebar .nxb-simple-pods__heading { font-size: 24px; }
}
@media (max-width: 575px) {
    .page-content-shell__sidebar .nxb-simple-pods__heading { font-size: 22px; }
}
@media (max-width: 767px) {
    .optional-embed--map { min-height: 250px; }
}

@media (min-width: 992px) {
    .page-type-page .page-content-shell--with-sidebar .page-content-shell__main { margin-bottom: 30px; }
}
@media (max-width: 991px) {
    .page-type-page .page-content-shell--with-sidebar .page-content-shell__main > .nxb-component:last-child { padding-bottom: 30px; }
}
@media (min-width: 768px) and (max-width: 991px) {
    .page-type-page .page-content-shell--with-sidebar .page-content-shell__sidebar { padding-bottom: 40px; }
}
@media (min-width: 768px) and (max-width: 1199px) {
    .page-content-shell--with-sidebar .nxb-contact-form__submit { font-size: 13px; min-height: 37.5px; }
}

/* Medium banners and utility navigation retain the original page proportions. */
.nxb-banner--size-medium-crop .nxb-banner__layout { height: calc(65svh - 90px); min-height: 360px; }
.nxb-banner--size-medium-crop .nxb-banner__content { min-height: 0; padding: 70px 15px; }
.page-heading + .page-content-shell .page-content-shell__main > .nxb-component:first-child,
.page-heading + .page-content-shell .page-content-shell__sidebar { padding-top: 0; }
.nxb-sitemap { padding-inline: 12px; }
.nxb-sitemap__list { display: block; list-style: none; margin: 0; padding: 0 0 8px; }
.nxb-sitemap__list .nxb-sitemap__list { margin-left: 15px; }
.nxb-sitemap__item { position: relative; display: block; padding: 0; margin: 0; }
.nxb-sitemap__item::before, .nxb-sitemap__item::after { content: ""; position: absolute; left: 0; display: block; background: #e7e7e7; }
.nxb-sitemap__item::before { top: 0; bottom: 0; width: 1px; }
.nxb-sitemap__item::after { top: 18px; width: 5px; height: 1px; }
.nxb-sitemap__item:hover::after { width: 8px; }
.nxb-sitemap__item > a { display: block; padding: 8px 15px; }
@media (min-width: 1299px) {
    .nxb-banner--size-medium-crop .nxb-banner__layout { height: 65svh; min-height: 450px; }
    .nxb-banner--size-medium-crop .nxb-banner__content { padding-top: 210px; padding-bottom: 90px; }
}
@media (min-width: 992px) and (max-width: 1199px) { .page-heading { padding-top: 50px; } }
@media (min-width: 768px) and (max-width: 991px) { .page-heading { padding-top: 40px; } }
@media (max-width: 767px) { .page-heading { padding-top: 30px; } }

.nxb-banner--size-medium-crop { min-height: 0; }
.page-type-page .page-content-shell--with-sidebar .nxb-text-block__intro:has(+ .nxb-text-block__content) { margin-bottom: 15px; }

@media (min-width: 992px) and (max-width: 1199px) { .page-heading { font-size: 52px; } }
@media (min-width: 768px) and (max-width: 991px) { .page-heading { font-size: 40px; } }
@media (min-width: 576px) and (max-width: 767px) { .page-heading { font-size: 35px; } }
@media (max-width: 575px) { .page-heading { font-size: 30px; } }

.nxb-text-block__content a { overflow-wrap: anywhere; }

/* Single-image gallery controls follow the image edge and dot baseline. */
.nxb-component--gallery:not(.nxb-image-pods) .nxb-gallery--carousel[data-gallery-columns="1"] .nxb-gallery__arrow--previous { left: 3px; }
.nxb-component--gallery:not(.nxb-image-pods) .nxb-gallery--carousel[data-gallery-columns="1"] .nxb-gallery__arrow--next { right: 3px; }
.nxb-component--gallery:not(.nxb-image-pods) .nxb-gallery--carousel .nxb-gallery__dot > span { transform: translateY(-6.5px); }

/* Keep wrapped short-banner headings inside their top content padding. */
.nxb-banner--size-short.nxb-banner--position-bottom-centre .nxb-banner__content { align-items: safe flex-end; }

/* A large introductory paragraph leads directly into utility navigation. */
.nxb-text-block .intro.lg { display: block; line-height: 1.3; letter-spacing: -.15px; }
.page-content-shell__main > .nxb-component--textBlock:has(+ .nxb-component--sitemapBlock) { padding-bottom: 30px; }
.page-content-shell__main > .nxb-component--textBlock + .nxb-component--sitemapBlock { padding-top: 0; }
@media (min-width: 768px) and (max-width: 991px) {
    .page-type-page .page-content-shell__main > .nxb-component--textBlock + .nxb-component--sitemapBlock:last-child { padding-bottom: 70px; }
}
@media (max-width: 767px) {
    .page-type-page .page-content-shell__main > .nxb-component--textBlock + .nxb-component--sitemapBlock:last-child { padding-bottom: 60px; }
}

.nxb-listing__grid:has(> .nxb-listing__empty) { padding-bottom: 0; }
.nxb-listing__empty { grid-column: 1 / -1; margin: 0; padding: 10px 0 15px; }

/* Standalone grid buttons keep the source row's five-pixel vertical margins. */
.nxb-grid-layout__row .nxb-text-block__intro:has(> .nxb-text-block__buttons:only-child) { margin-bottom: 5px; }
.nxb-grid-layout__row .nxb-text-block__intro > .nxb-text-block__buttons:only-child { margin-top: 5px; margin-bottom: 5px; }

/* Gallery credits retain the original row spacing and small-text typography. */
.nxb-gallery--grid:has(> .component-outro) > .nxb-gallery__viewport { row-gap: 30px; padding-bottom: 30px; }
.nxb-gallery > .component-outro { max-width: none; padding-top: 15px; margin: 0; }
.nxb-gallery > .component-outro p:last-child { margin-bottom: 0; }
.nxb-gallery > .component-outro .small { font-size: .875em; line-height: 24.75px; }
@media (min-width: 576px) and (max-width: 991px) {
    .nxb-gallery--grid > .nxb-gallery__viewport { grid-template-columns: repeat(min(var(--nxb-gallery-columns,3),2),minmax(0,1fr)); }
}

/* Full-width article text uses the original introduction column and outer metadata spacing. */
.page-type-article .page-content-shell:not(.page-content-shell--with-sidebar) .page-content-shell__main > .nxb-component--textBlock .nxb-text-block__intro { margin-bottom: 30px; }
.page-type-article .page-content-shell:not(.page-content-shell--with-sidebar) .page-content-shell__main > .nxb-component--textBlock .nxb-text-block__outro { margin-top: 0; padding-top: 30px; }
.page-type-article .page-content-shell:not(.page-content-shell--with-sidebar) .page-content-shell__main > .nxb-component--textBlock .nxb-text-block__outro .nxb-text-block__buttons { margin-block: 5px; }
.page-type-article .page-content-shell--full-page .article-meta { padding-bottom: 120px; }
@media (min-width: 768px) {
    .page-type-article .page-content-shell:not(.page-content-shell--with-sidebar) .page-content-shell__main > .nxb-component--textBlock .nxb-text-block__intro { max-width: calc(var(--content-width) * .9 - 24px); }
}
@media (min-width: 992px) {
    .page-type-article .page-content-shell:not(.page-content-shell--with-sidebar) .page-content-shell__main > .nxb-component--textBlock .nxb-text-block__intro { max-width: calc(var(--content-width) * .8 - 24px); }
}
@media (min-width: 1200px) {
    .page-type-article .page-content-shell:not(.page-content-shell--with-sidebar) .page-content-shell__main > .nxb-component--textBlock .nxb-text-block__intro { max-width: calc(var(--content-width) * .75 - 24px); }
}
@media (min-width: 768px) and (max-width: 1199px) {
    .page-type-article .page-content-shell--full-page .article-meta { padding-bottom: 80px; }
}
@media (max-width: 767px) {
    .page-type-article .page-content-shell--full-page .article-meta { padding-bottom: 60px; }
}

/* Authored article headings follow the original responsive typography. */
.nxb-text-block__content h2 { font: 400 40px/1.2 trajan-pro-3, Georgia, serif; letter-spacing: normal; margin: 30px 0 15px; }
@media (min-width: 992px) and (max-width: 1199px) { .nxb-text-block__content h2 { font-size: 38px; } }
@media (min-width: 768px) and (max-width: 991px) { .nxb-text-block__content h2 { font-size: 36px; } }
@media (min-width: 576px) and (max-width: 767px) { .nxb-text-block__content h2 { font-size: 32px; } }
@media (max-width: 575px) { .nxb-text-block__content h2 { font-size: 30px; } }

/* Preserve top padding when a bottom-aligned title exceeds a short banner. */
.nxb-banner--size-short.nxb-banner--position-bottom-left .nxb-banner__content { align-items: safe flex-end; }
.nxb-banner--size-short.nxb-banner--position-bottom-left .nxb-banner__title:first-child:not(:has(~ .nxb-banner__subtitle)) { margin-top: 0; }

/* A separator-only introduction preserves the heading column and its spacing. */
.nxb-text-block__intro-text:has(> hr:only-child) { display: flow-root; margin-top: 0; color: var(--section-heading); }
.nxb-text-block__intro-text > hr:only-child { margin: 16px 0; }

/* Preserve the original intermediate-width containers and header logo. */
@media (min-width: 576px) and (max-width: 767px) {
    .nxb-text-block__inner, .nxb-grid-layout__inner, .nxb-gallery, .nxb-simple-pods, .nxb-listing, .site-footer__content { max-width: var(--content-width); }
    .nxb-full-width .nxb-grid-layout__inner, .nxb-full-width .nxb-simple-pods, .nxb-full-width .nxb-gallery { max-width: none; }
    .nxb-banner--size-original .nxb-banner__content-inner { max-width: 510px; }
}
@media (min-width: 992px) and (max-width: 1199px) {
    .site-logo img { padding-top: 20px; }
}

/* Keep keyboard focus visible inside clipped overlay-card images. */
.nxb-simple-pods__card--overlay .nxb-simple-pods__media:has(a:focus-visible)::before { content: ""; position: absolute; inset: 4px; border: 3px solid #e3b865; z-index: 2; pointer-events: none; }
