/* back-to-top */
/* back-to-top: plugin presentation; site design stays in published page/region CSS. */
.nexus-back-top {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-width: var(--back-size);
    height: var(--back-size);
    padding: 0 12px;
    max-width: calc(100vw - 2 * var(--back-x));
    border: 0;
    background: var(--back-bg);
    color: var(--back-fg);
    cursor: pointer;
    line-height: 1.25;
    font-weight: 600;
    transition: background-color .15s;
}

.nexus-back-top[hidden] {
    display: none;
}

.nexus-back-top[data-floating=true] {
    position: fixed;
    bottom: calc(var(--back-y) + env(safe-area-inset-bottom,0px) + var(--nexus-bottom-nav-height,0px));
    z-index: 44;
}

.nexus-back-top[data-floating=true][data-position=left] {
    left: max(var(--back-x),env(safe-area-inset-left,0px));
}

.nexus-back-top[data-floating=true][data-position=right] {
    right: max(var(--back-x),env(safe-area-inset-right,0px));
}

.nexus-back-top[data-shape=circle] {
    border-radius: 999px;
}

.nexus-back-top[data-shape=rounded] {
    border-radius: 12px;
}

.nexus-back-top[data-shape=square] {
    border-radius: 0;
}

.nexus-back-top[data-shadow=true] {
    box-shadow: 0 3px 14px var(--site-shadow,#0f172a33);
}

.nexus-back-top:hover {
    background: var(--back-hover);
}

.nexus-back-top:focus-visible {
    outline: 3px solid currentColor;
    outline-offset: 3px;
}

.nexus-back-top svg {
    flex: none;
}

.nexus-back-top span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media print {
    .nexus-back-top {
        display: none !important;
    }
}

.nexus-back-top[data-presentation-profile=editorial] {
    box-shadow: none;
}

.nexus-back-top[data-presentation-profile=compact] {
    padding-inline: 8px;
}

.nexus-back-top[data-presentation-profile=marketplace] {
    outline: 1px solid color-mix(in srgb,currentColor 25%,transparent);
    outline-offset: 2px;
}

.nexus-back-top[data-presentation-profile=minimal] {
    border: 1px solid currentColor;
    background: var(--site-surface,#fff);
    color: var(--site-primary,#0f172a);
    box-shadow: none;
}

/* breadcrumbs */
/* breadcrumbs: locale-selectable presentation; colours stay in site design tokens. */
.nexus-breadcrumbs {
    max-width: 100%;
    overflow: hidden;
    border-bottom: 1px solid var(--site-border,#e8eeeb);
    background: color-mix(in srgb,var(--site-canvas,#f8fafc) 88%,transparent);
}

.nexus-breadcrumbs__list {
    display: flex;
    width: 100%;
    max-width: 80rem;
    margin: 0 auto;
    padding: .75rem 1rem;
    flex-wrap: nowrap;
    align-items: center;
    gap: .25rem .5rem;
    color: var(--site-muted,#64748b);
    font-size: .875rem;
    line-height: 1.5;
    list-style: none;
}

.nexus-breadcrumbs__item {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: .5rem;
}

.nexus-breadcrumbs__item:last-child {
    flex: 1 1 auto;
    overflow: hidden;
}

.nexus-breadcrumbs a {
    color: inherit;
    text-decoration: none;
}

.nexus-breadcrumbs a:hover {
    color: var(--site-accent,#047857);
    text-decoration: underline;
    text-underline-offset: .2em;
}

.nexus-breadcrumbs a:focus-visible {
    border-radius: .25rem;
    outline: 2px solid var(--site-accent,#047857);
    outline-offset: 3px;
}

.nexus-breadcrumbs__separator {
    color: color-mix(in srgb,var(--site-muted,#64748b) 45%,transparent);
}

.nexus-breadcrumbs__current {
    display: block;
    max-width: 100%;
    overflow: hidden;
    color: var(--site-text,#1e293b);
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nexus-breadcrumbs[data-presentation-profile=editorial] {
    border-block: 1px solid var(--site-border,#e8eeeb);
    background: var(--site-surface,#fff);
}

.nexus-breadcrumbs[data-presentation-profile=editorial] .nexus-breadcrumbs__list {
    max-width: 87.5rem;
    padding-block: 1rem;
    letter-spacing: .015em;
}

.nexus-breadcrumbs[data-presentation-profile=compact] .nexus-breadcrumbs__list {
    padding-block: .45rem;
    font-size: .8125rem;
}

.nexus-breadcrumbs[data-presentation-profile=marketplace] {
    background: var(--site-canvas,#f4f6f5);
}

.nexus-breadcrumbs[data-presentation-profile=marketplace] .nexus-breadcrumbs__list {
    max-width: 90rem;
}

.nexus-breadcrumbs[data-presentation-profile=marketplace] .nexus-breadcrumbs__current {
    color: var(--site-primary,#173c32);
}

.nexus-breadcrumbs[data-presentation-profile=minimal] {
    border: 0;
    background: transparent;
}

.nexus-breadcrumbs[data-presentation-profile=minimal] .nexus-breadcrumbs__list {
    padding-block: .5rem;
    padding-inline: 0;
}

@media (max-width:767px) {
    .nexus-breadcrumbs__list {
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .nexus-breadcrumbs__list::-webkit-scrollbar {
        display: none;
    }

    .nexus-breadcrumbs__item {
        flex: none;
    }

    .nexus-breadcrumbs__current {
        max-width: 58vw;
    }
}

/* shared/media-dialog */
/* shared/media-dialog: plugin presentation; site design stays in published page/region CSS. */
@media (any-hover:hover) {
    .nexus-lightbox-thumbs {
        cursor: grab;
    }
    .nexus-lightbox-thumbs button {
        cursor: inherit;
    }
}

.nexus-lightbox-thumbs img {
    -webkit-user-drag: none;
}

.nexus-lightbox {
    position: fixed;
    inset: 0;
    margin: auto;
    width: 96vw;
    max-width: 1800px;
    height: 94dvh;
    max-height: 94dvh;
    padding: 0;
    border: 0;
    border-radius: 16px;
    background: var(--site-primary,#101a17);
    color: #fff;
    overflow: hidden;
}

.nexus-lightbox::backdrop {
    background: rgba(0,0,0,.8);
}

.nexus-lightbox-shell {
    display: grid;
    grid-template-rows: auto minmax(0,1fr);
    height: 100%;
}

.nexus-lightbox-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
}

.nexus-lightbox-controls button {
    border: 1px solid #ffffff50;
    border-radius: 8px;
    padding: 8px 14px;
}

.nexus-lightbox-body {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    min-height: 0;
}

.nexus-lightbox-body.has-inquiry {
    grid-template-columns: minmax(0,1fr) 340px;
}

.nexus-lightbox-media {
    display: grid;
    grid-template-rows: minmax(0,1fr) auto;
    min-height: 0;
    min-width: 0;
    padding: 0 12px 12px;
    gap: 10px;
}

.nexus-lightbox-stage {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 0;
    overflow: auto;
    touch-action: pan-y;
}

.nexus-lightbox-stage>img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.nexus-lightbox-stage>iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

.nexus-lightbox-thumbs {
    display: flex;
    overflow-x: auto;
    gap: 8px;
    padding: 3px;
    scrollbar-width: thin;
}

.nexus-lightbox-thumbs button {
    flex: 0 0 72px;
    height: 54px;
    border: 2px solid transparent;
    border-radius: 6px;
    overflow: hidden;
}

.nexus-lightbox-thumbs button[aria-current=true] {
    border-color: var(--site-accent,#68d391);
}

.nexus-lightbox-thumbs img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.nexus-lightbox-inquiry {
    background: var(--site-canvas,#f8faf9);
    color: var(--site-primary,#162c25);
    min-height: 0;
    overflow: auto;
    padding: 12px;
    scrollbar-width: thin;
}

.nexus-lightbox-inquiry [data-media-inquiry] {
    position: static;
    max-height: none;
    overflow: visible;
}

.nexus-lightbox-inquiry [data-nexus-plugin=content-list] {
    padding: 0;
}

.nexus-lightbox-inquiry [data-nexus-plugin=contact-form] {
    padding-bottom: 0;
}

@media (max-width:767px) {
    .nexus-lightbox {
        width: 100vw;
        max-width: 100vw;
        height: 100dvh;
        max-height: 100dvh;
        border-radius: 0;
    }
    .nexus-lightbox-body.has-inquiry {
        grid-template-columns: 1fr;
        overflow-y: auto;
        display: block;
    }
    .nexus-lightbox-body.has-inquiry .nexus-lightbox-media {
        height: 60dvh;
    }
    .nexus-lightbox-inquiry {
        overflow: visible;
    }
    .nexus-lightbox-controls {
        gap: 6px;
        padding: 10px;
    }
    .nexus-lightbox-controls button {
        padding: 8px;
        font-size: 13px;
    }
}

.nexus-lightbox-viewport {
    position: relative;
    display: grid;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

html.nexus-media-dialog-open {
    overflow: hidden;
    overscroll-behavior: none;
}

html.nexus-media-dialog-open body {
    overflow: hidden;
    overscroll-behavior: none;
}

.nexus-lightbox-status {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 24px 72px;
    text-align: center;
    overflow: auto;
}

.nexus-lightbox-status[hidden],
.nexus-lightbox-status button[hidden] {
    display: none;
}

.nexus-lightbox-status button {
    min-height: 44px;
    padding: 10px 18px;
    border: 1px solid #ffffff80;
    border-radius: 8px;
    background: var(--site-primary,#173c32);
    color: #fff;
    cursor: pointer;
}

.nexus-lightbox-zoom {
    overflow: hidden;
    touch-action: none;
    user-select: none;
    cursor: zoom-in;
}

.nexus-lightbox-zoom[data-zoomed=true] {
    cursor: grab;
}

.nexus-lightbox-zoom[data-zoomed=true]:active {
    cursor: grabbing;
}

.nexus-lightbox-zoom>img {
    transform-origin: center;
    will-change: transform;
    pointer-events: none;
}

.nexus-lightbox-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: grid;
    place-items: center;
    width: 52px;
    height: 64px;
    border: 2px solid white;
    border-radius: 12px;
    background: var(--site-control-overlay,#064e3be8);
    color: white;
    font-size: 28px;
    box-shadow: 0 3px 16px #0008;
    cursor: pointer;
    z-index: 2;
}

.nexus-lightbox-arrow.is-previous {
    left: 12px;
}

.nexus-lightbox-arrow.is-next {
    right: 12px;
}

.nexus-lightbox-arrow[hidden] {
    display: none;
}

.nexus-lightbox-arrow:hover {
    background: var(--site-primary,#022c22);
}

.nexus-lightbox button:focus-visible {
    outline: 3px solid var(--site-border,#6ee7b7);
    outline-offset: 3px;
}

.nexus-lightbox-controls {
    flex-wrap: wrap;
}

.nexus-lightbox-controls button {
    min-width: 44px;
    min-height: 44px;
}

.nexus-lightbox-controls button:disabled {
    opacity: .35;
    cursor: default;
}

@media (max-width:767px) {
    .nexus-lightbox-arrow {
        width: 44px;
        height: 56px;
        font-size: 23px;
    }
    .nexus-lightbox-arrow.is-previous {
        left: 6px;
    }
    .nexus-lightbox-arrow.is-next {
        right: 6px;
    }
}

.nexus-lightbox-controls {
    position: relative;
    min-height: 68px;
    padding-right: 72px;
    justify-content: flex-start;
}

.nexus-lightbox-controls>.nexus-modal-close {
    position: absolute;
    top: 12px;
    right: 12px;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    font-size: 30px;
    line-height: 1;
    background: var(--site-primary,#173c32);
    color: #fff;
}

.nexus-lightbox-inquiry [data-contact-advisor] [data-content-card] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: .75rem;
}

.nexus-lightbox-inquiry [data-contact-advisor] [data-content-image] {
    height: 200px !important;
    width: 100%;
    grid-row: auto;
}

.nexus-lightbox-inquiry [data-contact-advisor] [data-content-image] img {
    object-fit: contain;
}

.nexus-lightbox-inquiry [data-contact-advisor] [data-content-title] {
    min-height: 0;
    text-align: center;
}

.nexus-lightbox-inquiry [data-contact-advisor] [data-content-details] {
    grid-template-columns: 1fr;
}

.nexus-media-inquiry-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 48px;
    margin-top: 1rem;
    padding: .8rem 1rem;
    border-radius: .75rem;
    background: var(--site-accent,#047857);
    color: #fff;
    font-weight: 600;
    text-decoration: none;
}

.nexus-media-inquiry-button:focus-visible {
    outline: 3px solid var(--site-accent,#059669);
    outline-offset: 3px;
}

.nexus-media-contact-actions {
    display: flex;
    align-items: stretch;
    gap: 8px;
    margin-top: 12px;
    min-width: 0;
}

.nexus-media-contact-actions>a {
    flex: 1;
    min-width: 0;
    min-height: 44px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 8px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

.nexus-media-whatsapp-button {
    background: #16a34a;
    color: #fff;
}

.nexus-media-whatsapp-button>span:first-child {
    width: 20px;
    height: 20px;
    background: transparent;
    box-shadow: none;
    color: inherit;
}

.nexus-media-whatsapp-button svg {
    width: 20px;
    height: 20px;
}

.nexus-media-whatsapp-button:focus-visible {
    outline: 3px solid var(--site-accent,#059669);
    outline-offset: 3px;
}

/* shared/slider */
/* shared/slider: plugin presentation; site design stays in published page/region CSS. */
@media (any-hover:hover) {
    [data-gallery-track] {
        cursor: grab;
    }
    [data-gallery-track] a {
        cursor: inherit;
    }
}

[data-gallery-track] img {
    -webkit-user-drag: none;
}

[data-gallery-track].nexus-slider-dragging,
.nexus-lightbox-thumbs.nexus-slider-dragging {
    scroll-snap-type: none !important;
    scroll-behavior: auto !important;
    cursor: grabbing;
    user-select: none;
    -webkit-user-select: none;
}

.nexus-slider-dragging * {
    cursor: grabbing !important;
    user-select: none !important;
    -webkit-user-select: none !important;
}

/* catalog-showcase */
/* catalog-showcase: plugin presentation; site design stays in published page/region CSS. */
.nexus-catalog-shell {
    color: var(--site-text,#1e293b);
    font-family: var(--site-body-font,Arial,sans-serif);
}

/* Optional catalogue shortlist and comparison presentation. */
.nexus-catalog-shortlist-button {
    position: absolute;
    inset-block-start: .7rem;
    inset-inline-end: .7rem;
    z-index: 20;
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--site-primary,#182521) 18%, transparent);
    border-radius: 999px;
    background: color-mix(in srgb, var(--site-canvas,#fff) 94%, transparent);
    color: var(--site-primary,#182521);
    box-shadow: 0 6px 20px rgba(17,24,39,.13);
    cursor: pointer;
    transition: color .18s ease, background-color .18s ease, transform .18s ease;
}

.nexus-catalog-shortlist-button svg {
    width: 21px;
    height: 21px;
    fill: transparent;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.nexus-catalog-shortlist-button[aria-pressed="true"] {
    background: var(--site-accent,#df7b5c);
    color: #fff;
}

.nexus-catalog-shortlist-button[aria-pressed="true"] svg { fill: currentColor; }
.nexus-catalog-detail-arrow {
    display: inline-block;
    width: 1rem;
    overflow: hidden;
    font-size: 0;
    line-height: 1;
    text-align: center;
}
.nexus-catalog-detail-arrow::before { content: "→"; font-size: 1rem; }
[dir="rtl"] .nexus-catalog-detail-arrow::before { content: "←"; }
[dir="rtl"] .nexus-card-photo-more-content strong svg { transform: scaleX(-1); }
.nexus-catalog-image:has(.nexus-catalog-shortlist-button) .nexus-catalog-video {
    right: auto;
    inset-inline-end: 4.15rem;
}

@media (any-hover:hover) {
    .nexus-catalog-shortlist-button:hover { transform: translateY(-2px); }
}

.nexus-catalog-shortlist-button:focus-visible,
.nexus-catalog-shortlist-tray button:focus-visible,
.nexus-shortlist-compare-grid a:focus-visible,
.nexus-shortlist-table a:focus-visible,
.nexus-shortlist-dialog .nexus-lightbox-stage:focus-visible,
.nexus-shortlist-dialog .nexus-modal-close:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--site-accent,#df7b5c) 68%, #fff);
    outline-offset: 2px;
}

.nexus-catalog-shortlist-tray {
    position: fixed;
    inset-inline: max(1rem, calc((100vw - 1380px) / 2));
    inset-block-end: 1rem;
    z-index: 45;
    display: flex;
    min-height: 74px;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    padding: .85rem 1rem .85rem 1.25rem;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 18px;
    background: color-mix(in srgb, var(--site-primary,#182521) 96%, transparent);
    color: #fff;
    box-shadow: 0 20px 50px rgba(15,23,42,.28);
    backdrop-filter: blur(14px);
}

.nexus-catalog-shortlist-tray[hidden] { display: none; }
.nexus-catalog-shortlist-summary { min-width: 0; }
.nexus-catalog-shortlist-summary > p:first-child { font-size: 1rem; font-weight: 600; }
.nexus-catalog-shortlist-summary > p:nth-child(2) {
    margin-top: .2rem;
    overflow: hidden;
    color: rgba(255,255,255,.72);
    font-size: .8rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.nexus-catalog-shortlist-summary > span { display: block; color: #ffd5c8; font-size: .78rem; }
.nexus-catalog-shortlist-actions { display: flex; flex: 0 0 auto; gap: .55rem; }
.nexus-catalog-shortlist-actions button {
    min-height: 44px;
    padding: .65rem 1rem;
    border: 1px solid rgba(255,255,255,.32);
    border-radius: 999px;
    font-weight: 700;
    cursor: pointer;
}
.nexus-catalog-shortlist-actions [data-shortlist-compare] { background: var(--site-accent,#df7b5c); color: #fff; }
.nexus-catalog-shortlist-actions [data-shortlist-clear] { background: transparent; color: #fff; }
.nexus-catalog-shortlist-actions button:disabled { cursor: default; opacity: .45; }

.nexus-lightbox.nexus-shortlist-dialog {
    width: min(1180px, 94vw);
    height: min(780px, 90dvh);
    background: var(--site-canvas,#f8f6f1);
    color: var(--site-primary,#182521);
    font-family: var(--site-body-font,Arial,sans-serif);
}
.nexus-shortlist-dialog .nexus-lightbox-controls {
    border-bottom: 1px solid color-mix(in srgb, var(--site-primary,#182521) 12%, transparent);
}
.nexus-shortlist-dialog-title {
    min-width: 0;
    overflow-wrap: anywhere;
    font-size: 1.15rem;
    font-weight: 750;
}
.nexus-shortlist-dialog .nexus-modal-close {
    margin-inline-start: auto;
    background: var(--site-surface,#fff);
    color: var(--site-text,#182521);
    border-color: var(--site-border,#dce3df);
}
.nexus-shortlist-dialog .nexus-lightbox-media { padding: 0; grid-template-rows: auto minmax(0,1fr); gap: 0; }
.nexus-shortlist-note {
    margin: 0;
    padding: .8rem clamp(1rem,3vw,2rem) 0;
    font-size: .85rem;
    line-height: 1.5;
    color: var(--site-muted,#53645b);
}
.nexus-shortlist-dialog .nexus-lightbox-stage {
    display: block;
    padding: clamp(1rem,3vw,2rem);
    touch-action: pan-x pan-y;
}
.nexus-shortlist-dialog .nexus-lightbox-stage:focus-visible { outline-offset: -3px; }
.nexus-shortlist-compare-grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(250px,1fr);
    gap: 1rem;
    min-width: max-content;
}
.nexus-shortlist-compare-grid article {
    display: flex;
    width: min(330px,75vw);
    flex-direction: column;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--site-primary,#182521) 13%, transparent);
    border-radius: 16px;
    background: #fff;
}
.nexus-shortlist-photo { aspect-ratio: 16/10; overflow: hidden; background: var(--site-canvas,#f3f5f4); }
.nexus-shortlist-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.nexus-shortlist-compare-grid h3 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    overflow-wrap: anywhere;
    height: 4.2em;
    margin: 1rem 1rem .65rem;
    padding: 0;
    font-size: 1.05rem;
    line-height: 1.4;
    font-weight: 700;
}
.nexus-shortlist-compare-grid dl { padding: 0 1rem 1rem; }
.nexus-shortlist-compare-grid dl > div {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1.1fr);
    gap: .75rem;
    padding: .55rem 0;
    border-bottom: 1px solid rgba(15,23,42,.08);
    font-size: .84rem;
}
.nexus-shortlist-compare-grid dt { color: color-mix(in srgb, var(--site-primary,#182521) 62%, transparent); }
.nexus-shortlist-compare-grid dd { text-align: end; font-weight: 700; }
.nexus-shortlist-compare-grid article > a {
    min-height: 44px;
    margin: auto 1rem 1rem;
    padding: .7rem 1rem;
    border-radius: 999px;
    background: var(--site-primary,#182521);
    color: #fff;
    text-align: center;
    font-weight: 700;
}

/* Optional aligned comparison. Only the row names stay pinned on narrow screens. */
.nexus-shortlist-table {
    --shortlist-label-width: 150px;
    --shortlist-value-width: 220px;
    width: 100%;
    min-width: calc(var(--shortlist-label-width) + var(--shortlist-columns) * var(--shortlist-value-width));
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    text-align: start;
    background: var(--site-surface,#fff);
    color: var(--site-text,#182521);
    font-size: .9rem;
    line-height: 1.5;
}
.nexus-shortlist-table th,
.nexus-shortlist-table td {
    padding: .85rem 1rem;
    border-inline-end: 1px solid var(--site-border,#dce3df);
    border-block-end: 1px solid var(--site-border,#dce3df);
    text-align: start;
    vertical-align: top;
    overflow-wrap: anywhere;
}
.nexus-shortlist-table thead th { border-block-start: 1px solid var(--site-border,#dce3df); padding: 0; }
.nexus-shortlist-table tr > :first-child {
    position: sticky;
    inset-inline-start: 0;
    z-index: 1;
    width: var(--shortlist-label-width);
    padding: .85rem;
    border-inline-start: 1px solid var(--site-border,#dce3df);
    background: var(--site-canvas,#f3f5f4);
    font-weight: 500;
}
.nexus-shortlist-table thead tr > :first-child { vertical-align: bottom; font-weight: 700; }
.nexus-shortlist-table .nexus-shortlist-photo { height: 140px; aspect-ratio: auto; }
.nexus-shortlist-table h3 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    height: 4.2em;
    margin: .8rem 1rem;
    padding: 0;
    font-family: var(--site-heading-font,inherit);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4;
}
.nexus-shortlist-table td { font-weight: 600; }
.nexus-shortlist-price small { display: block; font-size: .78rem; line-height: 1.5; font-weight: 400; color: var(--site-muted,#53645b); }
.nexus-shortlist-price strong { display: block; font-size: 1.15rem; line-height: 1.5; font-weight: 700; }
.nexus-shortlist-table .nexus-shortlist-missing,
.nexus-shortlist-compare-grid .nexus-shortlist-missing { color: var(--site-muted,#53645b); font-weight: 400; }
.nexus-shortlist-table tfoot td { vertical-align: bottom; }
.nexus-shortlist-table a {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: .6rem .8rem;
    border-radius: .6rem;
    background: var(--site-primary,#182521);
    color: #fff;
    text-align: center;
    text-decoration: none;
    font-size: .85rem;
}

@media (max-width:767px) {
    .nexus-catalog-shortlist-tray {
        inset-inline: .65rem;
        inset-block-end: .65rem;
        min-height: 0;
        align-items: stretch;
        flex-direction: column;
        gap: .65rem;
        padding: .85rem;
        border-radius: 15px;
    }
    .nexus-catalog-shortlist-summary > p:nth-child(2) { max-width: 90vw; }
    .nexus-catalog-shortlist-actions { display: grid; grid-template-columns: 1fr auto; }
    .nexus-lightbox.nexus-shortlist-dialog { width: 100vw; height: 100dvh; }
    .nexus-shortlist-dialog .nexus-lightbox-stage { padding: .85rem; }
    .nexus-shortlist-compare-grid { grid-auto-columns: minmax(235px,78vw); }
    .nexus-shortlist-table { --shortlist-label-width: 100px; --shortlist-value-width: 190px; font-size: .82rem; }
    .nexus-shortlist-table th, .nexus-shortlist-table td { padding: .7rem; }
    .nexus-shortlist-table .nexus-shortlist-photo { height: 112px; }
    .nexus-shortlist-table h3 { margin: .7rem; font-size: .9rem; }
}

.nexus-catalog-shell h1,
.nexus-catalog-shell h2,
.nexus-catalog-shell h3,
.nexus-catalog-shell .nexus-catalog-title {
    font-family: var(--site-heading-font,Georgia,serif);
}

.nexus-catalog-result-count {
    margin-top: .45rem;
    color: var(--site-muted,#64748b);
    font-size: .9rem;
    font-weight: 600;
}

.nexus-catalog-shell .nexus-catalog-card {
    border-color: var(--site-border,#e2e8f0);
    background: var(--site-surface,#fff);
}

.nexus-catalog-shell .nexus-catalog-image,
.nexus-catalog-shell .nexus-card-photo {
    background: var(--site-canvas,#f1f5f9);
}

.nexus-catalog-shell .nexus-catalog-title,
.nexus-catalog-shell .nexus-catalog-fact strong {
    color: var(--site-text,#1e293b);
}

.nexus-catalog-shell .nexus-catalog-location {
    border-color: var(--site-border,#dbe5df);
    background: var(--site-soft,#ecfdf5);
    color: var(--site-primary,#064e3b);
}

.nexus-catalog-shell .nexus-catalog-location svg {
    color: var(--site-accent,#047857);
}

.nexus-catalog-shell .nexus-catalog-facts,
.nexus-catalog-shell .nexus-catalog-fact > span {
    color: var(--site-muted,#64748b);
}

.nexus-catalog-shell .nexus-catalog-fact {
    background: color-mix(in srgb,var(--site-canvas,#f1f5f9) 78%,var(--site-surface,#fff));
}

.nexus-catalog-shell .nexus-catalog-price-row {
    border-color: var(--site-border,#e2e8f0);
}

.nexus-catalog-shell .nexus-catalog-price {
    background: var(--site-soft,#ecfdf5);
    color: var(--site-primary,#064e3b);
}

.nexus-catalog-price-stack {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: .3rem;
}

.nexus-catalog-price-stack > small {
    color: var(--site-muted,#64748b);
    font-size: .75rem;
    line-height: 1.1rem;
}

.nexus-catalog-price-stack > .nexus-catalog-price-label {
    color: var(--site-text,#1e293b);
    font-weight: 700;
}

.nexus-catalog-location-price-row {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.nexus-catalog-location-price-row .nexus-catalog-location {
    min-width: 0;
    flex: 1 1 auto;
}

.nexus-catalog-location-price-row .nexus-catalog-price-stack {
    flex: 0 0 auto;
    align-items: flex-end;
    text-align: end;
}

.nexus-catalog-location-price-row .nexus-catalog-detail-link {
    display: inline-flex;
    min-width: 44px;
    height: 44px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    padding: 0 .8rem;
    white-space: nowrap;
}

.nexus-catalog-shell .nexus-catalog-detail-link,
.nexus-catalog-shell .nexus-catalog-contact-actions > a:not([href^="https://wa.me/"]) {
    border-color: var(--site-border,#dbe5df);
    background: var(--site-surface,#fff);
    color: var(--site-primary,#064e3b);
}

.nexus-catalog-shell .nexus-catalog-detail-link:hover,
.nexus-catalog-shell .nexus-catalog-contact-actions > a:not([href^="https://wa.me/"]):hover {
    border-color: var(--site-accent,#047857);
    background: var(--site-soft,#ecfdf5);
}

.nexus-catalog-shell .nexus-catalog-contact-actions[data-contact-action-emphasis=inquiry] > a:not([href^="https://wa.me/"]),
.nexus-catalog-shell .nexus-catalog-contact-actions[data-contact-action-emphasis=whatsapp] > a[href^="https://wa.me/"] {
    border-color: var(--site-primary,#064e3b);
    background: var(--site-primary,#064e3b);
    color: var(--site-on-primary,#fff);
}

.nexus-catalog-shell .nexus-catalog-contact-actions[data-contact-action-emphasis=inquiry] > a[href^="https://wa.me/"],
.nexus-catalog-shell .nexus-catalog-contact-actions[data-contact-action-emphasis=equal] > a[href^="https://wa.me/"] {
    border: 1px solid var(--site-border,#dbe5df);
    background: var(--site-surface,#fff);
    color: var(--site-primary,#064e3b);
}

.nexus-catalog-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    gap: 1.5rem;
}

.nexus-catalog-view-switcher {
    display: inline-flex;
    flex: 0 0 auto;
    gap: .25rem;
    padding: .25rem;
    border: 1px solid var(--site-border,#d5ddd6);
    border-radius: .75rem;
    background: var(--site-canvas,#eaefea);
}

.nexus-catalog-view-switcher button {
    display: inline-flex;
    min-width: 2.75rem;
    min-height: 2.75rem;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    padding: .55rem .75rem;
    border: 1px solid transparent;
    border-radius: .55rem;
    color: var(--site-muted,#5a6a67);
    font-size: .8rem;
    font-weight: 700;
    line-height: 1;
    transition: background-color .16s ease,color .16s ease,border-color .16s ease;
}

.nexus-catalog-view-switcher button[aria-pressed=true] {
    border-color: color-mix(in srgb,var(--site-accent,#0b6b70) 24%,transparent);
    background: var(--site-surface,#fff);
    color: var(--site-primary,#0c2b2f);
    box-shadow: 0 1px 3px color-mix(in srgb,var(--site-primary,#0c2b2f) 12%,transparent);
}

.nexus-catalog-view-switcher button:focus-visible {
    outline: 3px solid color-mix(in srgb,var(--site-accent,#0b6b70) 46%,transparent);
    outline-offset: 2px;
}

.nexus-catalog-view-switcher svg {
    width: 1.1rem;
    height: 1.1rem;
    flex: 0 0 auto;
    fill: currentColor;
}

@media (max-width: 36rem) {
    .nexus-catalog-view-switcher button span {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
    }
}

.nexus-catalog-grid .nexus-catalog-card {
    min-width: 0;
    height: 100%;
}

.nexus-catalog-grid .nexus-catalog-body {
    min-width: 0;
}

.nexus-catalog-grid .nexus-catalog-image {
    min-width: 0;
    width: 100%;
    max-width: 100%;
}

/* Trusted profiles change presentation without duplicating catalog data or queries. */
.nexus-catalog-shell[data-presentation-profile=editorial] .nexus-catalog-card {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.nexus-catalog-shell[data-presentation-profile=editorial] .nexus-catalog-image {
    aspect-ratio: var(--catalog-card-image-ratio,16 / 11);
    border-radius: .2rem;
}

.nexus-catalog-shell[data-presentation-profile=editorial] .nexus-catalog-title {
    font-family: var(--site-heading-font,Newsreader,Georgia,serif);
    font-size: 1.22rem;
    line-height: 1.35;
}

.nexus-catalog-shell[data-presentation-profile=editorial] .nexus-catalog-location {
    color: var(--site-primary,#0c2b2f);
    font-family: var(--site-mono-font,"IBM Plex Mono",monospace);
    font-size: .78rem;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.nexus-catalog-shell[data-presentation-profile=editorial] .nexus-catalog-price {
    border-radius: .2rem;
    background: var(--site-primary,#0c2b2f);
    color: var(--site-on-primary,#fff);
}

.nexus-catalog-shell[data-presentation-profile=editorial] .nexus-catalog-grid[data-card-style=vertical] .nexus-catalog-body {
    gap: .55rem;
    padding: 1rem 0 0;
}

.nexus-catalog-shell[data-presentation-profile=editorial] .nexus-catalog-grid[data-card-style=vertical] .nexus-catalog-title {
    font-size: 1.1rem;
    line-height: 1.4rem;
}

.nexus-catalog-shell[data-presentation-profile=editorial] .nexus-catalog-grid[data-card-style=vertical] .nexus-catalog-facts {
    padding-inline: 0;
    border-radius: 0;
    background: transparent;
}

.nexus-catalog-shell[data-presentation-profile=editorial] .nexus-catalog-grid[data-card-style=vertical] .nexus-catalog-price-row {
    border-color: color-mix(in srgb,var(--site-primary,#0c2b2f) 18%,transparent);
}

.nexus-catalog-shell[data-presentation-profile=editorial] .nexus-catalog-grid[data-card-style=vertical] .nexus-catalog-contact-actions {
    padding-top: .65rem;
    border-top: 1px solid color-mix(in srgb,var(--site-primary,#0c2b2f) 18%,transparent);
}

.nexus-catalog-shell[data-presentation-profile=editorial] .nexus-catalog-grid[data-card-style=vertical] .nexus-catalog-contact-actions > a {
    justify-content: flex-end;
    min-height: 2rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--site-accent,#087f71);
}

.nexus-catalog-shell[data-presentation-profile=compact] .nexus-catalog-grid {
    gap: .85rem;
}

.nexus-catalog-shell[data-presentation-profile=compact] .nexus-catalog-card {
    border-radius: .7rem;
}

.nexus-catalog-shell[data-presentation-profile=compact] .nexus-catalog-image {
    aspect-ratio: var(--catalog-card-image-ratio,16 / 9);
}

.nexus-catalog-shell[data-presentation-profile=compact] .nexus-catalog-body {
    gap: .45rem;
    padding: .7rem;
}

.nexus-catalog-shell[data-presentation-profile=compact] .nexus-catalog-title {
    min-height: calc(var(--catalog-title-lines,2) * 1.25rem);
    max-height: calc(var(--catalog-title-lines,2) * 1.25rem);
    font-size: 1rem;
    line-height: 1.25rem;
}

.nexus-catalog-shell[data-presentation-profile=compact] .nexus-catalog-contact-actions > a {
    min-height: 2.35rem;
}

.nexus-catalog-shell[data-presentation-profile=marketplace] .nexus-catalog-card {
    border-radius: .65rem;
    border-color: var(--site-border,#d5dfe3);
    box-shadow: 0 6px 22px color-mix(in srgb,var(--site-primary,#0c2b2f) 11%,transparent);
}

.nexus-catalog-shell[data-presentation-profile=marketplace] .nexus-catalog-body {
    gap: .7rem;
    padding: 1rem;
}

.nexus-catalog-shell[data-presentation-profile=marketplace] .nexus-catalog-location {
    border: 0;
    background: transparent;
    padding-inline: 0;
}

.nexus-catalog-shell[data-presentation-profile=marketplace] .nexus-catalog-price {
    background: transparent;
    padding-inline: 0;
    color: var(--site-primary,#0c2b2f);
    font-size: max(var(--catalog-price-size,18px),1.15rem);
    font-weight: 800;
}

.nexus-catalog-shell[data-presentation-profile=minimal] .nexus-catalog-grid {
    gap: 2rem;
}

.nexus-catalog-shell[data-presentation-profile=minimal] .nexus-catalog-card {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.nexus-catalog-shell[data-presentation-profile=minimal] .nexus-catalog-image {
    border-radius: .25rem;
}

.nexus-catalog-shell[data-presentation-profile=minimal] .nexus-catalog-body {
    padding-inline: 0;
}

.nexus-catalog-shell[data-presentation-profile=minimal] .nexus-catalog-facts {
    padding-inline: 0;
    background: transparent;
}

.nexus-catalog-grid .nexus-catalog-price {
    font-size: var(--catalog-price-size,18px);
    line-height: 1.4;
}

.nexus-catalog-image {
    min-height: 200px;
    container-type: inline-size;
}

/* The vertical card uses the same dynamic fields and actions in a compact layout. */
.nexus-catalog-grid[data-card-style=vertical] .nexus-catalog-image {
    aspect-ratio: var(--catalog-card-image-ratio,16 / 10);
    min-height: 0;
    flex-shrink: 0;
}

.nexus-catalog-grid[data-card-style=vertical] .nexus-catalog-body {
    gap: .625rem;
    padding: .875rem;
}

.nexus-catalog-grid[data-card-style=vertical] .nexus-catalog-location {
    min-width: 0;
    min-height: 1.5rem;
    gap: .375rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--site-primary,#183b35);
    font-size: .9375rem;
    line-height: 1.5rem;
}

.nexus-catalog-grid[data-card-style=vertical] .nexus-catalog-location svg {
    width: 1.125rem;
    height: 1.125rem;
    color: currentColor;
}

.nexus-catalog-grid[data-card-style=vertical] .nexus-catalog-location p {
    display: block;
    min-width: 0;
    height: 1.5rem;
    margin: 0;
    overflow: hidden;
    overflow-wrap: anywhere;
    text-overflow: ellipsis;
    text-overflow: ellipsis;
    white-space: nowrap;
    font: inherit;
}

.nexus-catalog-grid[data-card-style=vertical] .nexus-catalog-title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--catalog-title-lines,2);
    overflow: hidden;
    min-height: calc(var(--catalog-title-lines,2) * 1.5rem);
    max-height: calc(var(--catalog-title-lines,2) * 1.5rem);
    margin: 0;
    padding: 0;
    font-size: 1.125rem;
    line-height: 1.5rem;
}

.nexus-catalog-grid[data-card-style=vertical] .nexus-catalog-facts {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(min(4.25rem,100%),1fr));
    min-height: 2.75rem;
    gap: .375rem .625rem;
    padding: .375rem .625rem;
    border-radius: .625rem;
    background: var(--site-canvas,#f5f7f8);
}

.nexus-catalog-grid[data-card-style=vertical] .nexus-catalog-fact {
    min-width: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
}

.nexus-catalog-grid[data-card-style=vertical] .nexus-catalog-fact > span,
.nexus-catalog-grid[data-card-style=vertical] .nexus-catalog-fact > strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nexus-catalog-grid[data-card-style=vertical] .nexus-catalog-fact > span {
    color: var(--site-muted,#607080);
    font-size: .6875rem;
    line-height: .875rem;
}

.nexus-catalog-grid[data-card-style=vertical] .nexus-catalog-fact > strong {
    font-size: .8125rem;
    line-height: 1.125rem;
}

.nexus-catalog-grid[data-card-style=vertical] .nexus-catalog-price-row {
    margin-top: auto;
    padding-top: .5rem;
    gap: .375rem .5rem;
}

.nexus-catalog-grid[data-card-style=vertical] .nexus-catalog-price {
    min-width: 0;
    padding: .375rem .625rem;
    border-radius: .625rem;
    font-size: var(--catalog-price-size,18px);
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.nexus-catalog-grid[data-card-style=vertical] .nexus-catalog-detail-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.75rem;
    min-height: 2.75rem;
    padding: .375rem .5rem;
    border: 0;
    font-size: .8125rem;
    font-weight: 600;
}

.nexus-catalog-grid[data-card-style=vertical] .nexus-catalog-detail-link:hover {
    text-decoration: underline;
    text-underline-offset: .2em;
}

.nexus-catalog-grid[data-card-style=vertical] .nexus-catalog-contact-actions {
    gap: .5rem;
}

.nexus-catalog-grid[data-card-style=vertical] .nexus-catalog-contact-actions > a {
    min-width: 0;
    min-height: 2.75rem;
    padding: .375rem .5rem;
    border-radius: .625rem;
    font-size: .8125rem;
    line-height: 1.125rem;
}

.nexus-catalog-grid[data-card-style=vertical] .nexus-catalog-detail-link:focus-visible,
.nexus-catalog-grid[data-card-style=vertical] .nexus-catalog-contact-actions > a:focus-visible {
    outline: 2px solid var(--site-primary,#183b35);
    outline-offset: 2px;
}

/* One-column portal results keep the image, facts, price and actions readable as a single row. */
.nexus-catalog-grid[data-card-style=horizontal] {
    gap: 1rem;
}

.nexus-catalog-grid[data-card-style=horizontal] .nexus-catalog-card {
    min-height: 16rem;
}

.nexus-catalog-grid[data-card-style=horizontal] .nexus-catalog-image {
    border-radius: 0 !important;
}

.nexus-catalog-grid[data-card-style=horizontal] .nexus-catalog-body {
    gap: .65rem;
    padding: 1.15rem 1.25rem;
}

.nexus-catalog-grid[data-card-style=horizontal] .nexus-catalog-location {
    min-height: auto;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--site-primary,#183b35);
    font-size: .875rem;
}

.nexus-catalog-grid[data-card-style=horizontal] .nexus-catalog-title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--catalog-title-lines,2);
    overflow: hidden;
    min-height: calc(var(--catalog-title-lines,2) * 1.625rem);
    max-height: calc(var(--catalog-title-lines,2) * 1.625rem);
    margin: 0;
    font-size: 1.25rem;
    line-height: 1.625rem;
}

.nexus-catalog-grid[data-card-style=horizontal] .nexus-catalog-facts {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    min-height: 3.5rem;
    gap: .5rem;
}

.nexus-catalog-grid[data-card-style=horizontal] .nexus-catalog-fact {
    min-width: 0;
    padding: .55rem .7rem;
}

.nexus-catalog-grid[data-card-style=horizontal] .nexus-catalog-fact > span,
.nexus-catalog-grid[data-card-style=horizontal] .nexus-catalog-fact > strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nexus-catalog-grid[data-card-style=horizontal] .nexus-catalog-price-row {
    margin-top: auto;
    padding-top: .65rem;
}

.nexus-catalog-grid[data-card-style=horizontal] .nexus-catalog-price {
    padding: .45rem .75rem;
}

.nexus-catalog-grid[data-card-style=horizontal] .nexus-catalog-contact-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.nexus-catalog-grid[data-card-style=horizontal] .nexus-catalog-contact-actions > a {
    min-width: 9rem;
}

.nexus-catalog-shell[data-presentation-profile=marketplace] .nexus-catalog-grid[data-card-style=horizontal] .nexus-catalog-card {
    border-inline-start: .25rem solid var(--site-accent,#16835f);
}

.nexus-catalog-shell[data-presentation-profile=compact] .nexus-catalog-grid[data-card-style=horizontal] .nexus-catalog-card {
    min-height: 14.5rem;
}

.nexus-catalog-shell[data-presentation-profile=compact] .nexus-catalog-grid[data-card-style=horizontal] .nexus-catalog-image {
    min-height: 14.5rem;
}

.nexus-catalog-shell[data-presentation-profile=compact] .nexus-catalog-grid[data-card-style=horizontal] .nexus-catalog-title {
    min-height: 2.5rem;
}

.nexus-catalog-shell[data-presentation-profile=compact] .nexus-catalog-grid[data-card-style=horizontal] .nexus-catalog-contact-actions > a {
    min-width: 7.5rem;
}

/* Locale presentation may compose the same card data for different market conventions. */
.nexus-catalog-reference-body {
    align-self: flex-start;
    color: var(--site-muted,#64748b);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .035em;
    line-height: 1.25rem;
    text-transform: uppercase;
}

.nexus-catalog-reference-price {
    margin-inline-start: auto;
    color: var(--site-muted,#64748b);
    font-family: var(--site-mono-font,ui-monospace,monospace);
    font-size: .75rem;
    font-weight: 600;
    line-height: 1.25rem;
}

.nexus-catalog-grid[data-price-position=top] .nexus-catalog-price-row {
    order: -10;
    margin-top: 0;
    padding-top: 0;
    padding-bottom: .65rem;
    border-top: 0;
    border-bottom: 1px solid var(--site-border,#e2e8f0);
}

.nexus-catalog-grid[data-information-order=title_location] .nexus-catalog-title {
    order: -6;
}

.nexus-catalog-grid[data-information-order=title_location] .nexus-catalog-location {
    order: -5;
}

.nexus-catalog-grid[data-information-order=title_location] .nexus-catalog-reference-body {
    order: -4;
}

.nexus-catalog-grid[data-information-order=title_location] .nexus-catalog-summary {
    order: -3;
}

.nexus-catalog-grid[data-information-order=title_location] .nexus-catalog-facts {
    order: -2;
}

.nexus-catalog-summary {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--catalog-summary-lines,2);
    min-height: calc(var(--catalog-summary-lines,2) * 1.35rem);
    max-height: calc(var(--catalog-summary-lines,2) * 1.35rem);
    margin: 0;
    overflow: hidden;
    color: var(--site-muted,#64748b);
    font-size: .9375rem;
    line-height: 1.35rem;
}

.nexus-catalog-grid[data-card-density=dense] .nexus-catalog-summary {
    font-size: .8125rem;
    line-height: 1.2rem;
    min-height: calc(var(--catalog-summary-lines,2) * 1.2rem);
    max-height: calc(var(--catalog-summary-lines,2) * 1.2rem);
}

.nexus-catalog-grid[data-card-density=airy] {
    gap: 2rem;
}

.nexus-catalog-grid[data-card-density=airy] .nexus-catalog-body {
    gap: 1rem;
    padding: 1.35rem;
}

.nexus-catalog-grid[data-card-density=airy][data-card-style=vertical] .nexus-catalog-title {
    min-height: calc(var(--catalog-title-lines,2) * 1.7rem);
    max-height: calc(var(--catalog-title-lines,2) * 1.7rem);
    font-size: 1.25rem;
    line-height: 1.7rem;
}

.nexus-catalog-shell[data-presentation-profile=editorial] .nexus-catalog-grid[data-card-density=airy][data-card-style=vertical] .nexus-catalog-body {
    gap: .75rem;
    padding: 1rem 0 0;
}

.nexus-catalog-shell[data-presentation-profile=editorial] .nexus-catalog-grid[data-card-density=airy][data-card-style=vertical] .nexus-catalog-title {
    min-height: calc(var(--catalog-title-lines,2) * 1.4rem);
    max-height: calc(var(--catalog-title-lines,2) * 1.4rem);
    font-size: 1.1rem;
    line-height: 1.4rem;
}

.nexus-catalog-grid[data-card-density=dense] {
    gap: .75rem;
}

.nexus-catalog-grid[data-card-density=dense] .nexus-catalog-body {
    gap: .45rem;
    padding: .75rem;
}

.nexus-catalog-grid[data-card-density=dense][data-card-style=vertical] .nexus-catalog-title,
.nexus-catalog-grid[data-card-density=dense][data-card-style=horizontal] .nexus-catalog-title {
    min-height: calc(var(--catalog-title-lines,2) * 1.25rem);
    max-height: calc(var(--catalog-title-lines,2) * 1.25rem);
    font-size: 1rem;
    line-height: 1.25rem;
}

.nexus-catalog-grid[data-card-density=dense][data-card-style=horizontal] .nexus-catalog-card,
.nexus-catalog-grid[data-card-density=dense][data-card-style=horizontal] .nexus-catalog-image {
    min-height: 12.5rem;
}

.nexus-catalog-grid[data-card-density=dense][data-card-style=horizontal] .nexus-catalog-body {
    padding: .75rem 1rem;
}

.nexus-catalog-grid[data-price-position=location_row] .nexus-catalog-location-price-row {
    order: -10;
}

.nexus-catalog-grid[data-price-position=location_row] .nexus-catalog-price {
    padding: .4rem .65rem;
    font-size: var(--catalog-price-size,16px);
    line-height: 1.2;
}

.nexus-catalog-grid[data-price-position=location_row][data-card-style=horizontal] .nexus-catalog-location {
    overflow: hidden;
}

.nexus-catalog-grid[data-price-position=location_row][data-card-style=horizontal] .nexus-catalog-location p {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nexus-catalog-grid[data-card-density=dense] .nexus-catalog-price-row {
    padding-top: .4rem;
}

.nexus-catalog-grid[data-location-style=bar] .nexus-catalog-location {
    width: 100%;
    min-height: 2.75rem;
    padding: .55rem .75rem;
    border: 1px solid var(--site-border,#dbe5df);
    border-radius: .5rem;
    background: var(--site-soft,#ecfdf5);
}

.nexus-catalog-grid[data-location-style=badge] .nexus-catalog-location {
    width: fit-content;
    max-width: 100%;
    min-height: 2rem;
    padding: .3rem .65rem;
    border: 1px solid var(--site-border,#dbe5df);
    border-radius: 999px;
    background: var(--site-soft,#ecfdf5);
    font-size: .8125rem;
}

.nexus-catalog-grid[data-location-style=plain] .nexus-catalog-location {
    min-height: 1.5rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.nexus-catalog-grid[data-facts-style=inline] .nexus-catalog-facts,
.nexus-catalog-grid[data-facts-style=plain] .nexus-catalog-facts {
    display: flex;
    min-height: 2rem;
    flex-wrap: wrap;
    align-items: center;
    padding: 0;
    border-radius: 0;
    background: transparent;
}

.nexus-catalog-grid[data-facts-style=inline] .nexus-catalog-facts {
    gap: .35rem 1rem;
}

.nexus-catalog-grid[data-facts-style=inline] .nexus-catalog-fact {
    display: inline-flex;
    min-width: 0;
    align-items: baseline;
    gap: .3rem;
    padding: 0;
    background: transparent;
}

.nexus-catalog-grid[data-facts-style=inline] .nexus-catalog-fact > span,
.nexus-catalog-grid[data-facts-style=inline] .nexus-catalog-fact > strong {
    display: inline;
    white-space: nowrap;
}

.nexus-catalog-grid[data-facts-style=plain] .nexus-catalog-facts {
    gap: .65rem;
}

.nexus-catalog-grid[data-facts-style=plain] .nexus-catalog-fact {
    min-width: min(7rem,100%);
    padding: 0 .75rem 0 0;
    border-inline-end: 1px solid var(--site-border,#e2e8f0);
    border-radius: 0;
    background: transparent;
}

.nexus-catalog-grid[data-facts-style=plain] .nexus-catalog-fact:last-child {
    border-inline-end: 0;
}

.nexus-catalog-grid[data-price-emphasis=prominent] .nexus-catalog-price {
    padding: .55rem .85rem;
    border-radius: .45rem;
    background: var(--site-primary,#183b35);
    color: var(--site-on-primary,#fff);
    font-size: max(var(--catalog-price-size,18px),1.2rem);
    font-weight: 800;
}

.nexus-catalog-grid[data-price-emphasis=quiet] .nexus-catalog-price {
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: var(--site-muted,#64748b);
    font-size: min(var(--catalog-price-size,18px),1rem);
    font-weight: 700;
}

@media (max-width:767px) {
    .nexus-catalog-grid[data-card-style=horizontal] .nexus-catalog-card {
        min-height: 0;
    }

    .nexus-catalog-grid[data-card-style=horizontal] .nexus-catalog-facts {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .nexus-catalog-grid[data-card-style=horizontal] .nexus-catalog-contact-actions {
        display: grid;
    }

    .nexus-catalog-grid[data-card-style=horizontal] .nexus-catalog-contact-actions > a {
        min-width: 0;
    }

    .nexus-catalog-grid[data-card-density=airy] .nexus-catalog-body {
        padding: 1rem;
    }

    .nexus-catalog-grid[data-card-density=dense][data-card-style=horizontal] .nexus-catalog-image {
        min-height: 0;
    }
}

.nexus-catalog-video {
    inset-block-start: .75rem;
    inset-inline-end: .75rem;
    background: var(--site-primary,#dc2626);
    color: #fff;
}

.nexus-catalog-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .625rem;
    margin-top: 1.5rem;
    color: var(--site-primary,#183b35);
}

.nexus-catalog-page-arrow {
    display: inline-block;
    width: 1em;
    overflow: hidden;
    font-size: 0;
    line-height: 1;
    text-align: center;
}
.nexus-catalog-page-arrow::before { font-size: .95rem; }
.nexus-catalog-page-arrow.is-previous::before { content: "←"; }
.nexus-catalog-page-arrow.is-next::before { content: "→"; }
[dir="rtl"] .nexus-catalog-page-arrow.is-previous::before { content: "→"; }
[dir="rtl"] .nexus-catalog-page-arrow.is-next::before { content: "←"; }

.nexus-catalog-pagination[hidden],
.nexus-catalog-pagination [hidden] {
    display: none;
}

.nexus-catalog-page-numbers {
    display: flex;
    align-items: center;
    gap: .375rem;
    max-width: 100%;
    overflow-x: auto;
    padding: .25rem;
}

.nexus-catalog-page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    gap: .5rem;
    min-width: 2.75rem;
    min-height: 2.75rem;
    padding: .5rem .875rem;
    border: 1px solid var(--site-border,#d5dfe3);
    border-radius: .75rem;
    background: var(--site-surface,#fff);
    color: var(--site-primary,#183b35);
    font-size: .875rem;
    font-weight: 600;
    line-height: 1.25rem;
    text-decoration: none;
}

.nexus-catalog-page-link:hover,
.nexus-catalog-page-link[aria-current=page] {
    background: var(--site-primary,#183b35);
    color: var(--site-on-primary,#fff);
    border-color: var(--site-primary,#183b35);
}

.nexus-catalog-page-link:focus-visible,
.nexus-catalog-card:focus-visible {
    outline: 2px solid var(--site-primary,#183b35);
    outline-offset: 3px;
}

.nexus-catalog-page-link[aria-disabled=true] {
    cursor: progress;
    opacity: .65;
}

.nexus-catalog-page-link[data-catalog-load-more] {
    min-width: 12rem;
}

.nexus-catalog-load-status {
    flex-basis: 100%;
    min-height: 1.25rem;
    margin: 0;
    color: var(--site-muted,#607080);
    text-align: center;
    font-size: .8125rem;
    line-height: 1.25rem;
}

.nexus-catalog-page-summary,
.nexus-catalog-page-gap {
    padding: 0 .25rem;
    color: var(--site-muted,#607080);
    font-size: .875rem;
}

.nexus-catalog-tags {
    position: absolute;
    inset-inline-start: .75rem;
    inset-inline-end: 6.5rem;
    top: .75rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .4rem;
}

.nexus-catalog-reference {
    inset-inline-start: .75rem;
}

.nexus-catalog-tags > span {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    border: 1px solid var(--site-border,#a7f3d0);
    background: var(--site-surface,#ecfdf5);
    color: var(--site-primary,#065f46);
    border-radius: 999px;
    padding: .25rem .65rem;
    font-size: .75rem;
    line-height: 1.25rem;
    box-shadow: 0 1px 5px #0003;
}

@media (min-width:768px) {
    .nexus-catalog-grid[data-card-style=vertical] {
        grid-template-columns: repeat(var(--catalog-tablet-columns),minmax(0,1fr));
    }
    .nexus-catalog-grid[data-card-style=horizontal] > .nexus-catalog-card {
        display: grid;
        grid-template-columns: minmax(0,var(--catalog-image-width,40%)) minmax(0,1fr);
    }
    .nexus-catalog-grid[data-card-style=horizontal] .nexus-catalog-image {
        aspect-ratio: auto;
        min-height: 260px;
        height: 100%;
    }
    .nexus-catalog-grid[data-card-style=horizontal] .nexus-catalog-image > img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

@media (min-width:1024px) {
    .nexus-catalog-grid[data-card-style=vertical] {
        grid-template-columns: repeat(var(--catalog-columns),minmax(0,1fr));
    }
}

.nexus-catalog-shell {
    container-type: inline-size;
    container-name: catalog;
}

.nexus-catalog-grid[data-layout=grid][data-card-style=vertical] {
    grid-template-columns: minmax(0,1fr);
}

@container catalog (min-width:600px) {
    .nexus-catalog-grid[data-layout=grid][data-card-style=vertical] {
        grid-template-columns: repeat(var(--catalog-tablet-columns),minmax(0,1fr));
    }
}

@container catalog (min-width:900px) {
    .nexus-catalog-grid[data-layout=grid][data-card-style=vertical] {
        grid-template-columns: repeat(var(--catalog-compact-columns),minmax(0,1fr));
    }
}

@container catalog (min-width:1200px) {
    .nexus-catalog-grid[data-layout=grid][data-card-style=vertical] {
        grid-template-columns: repeat(var(--catalog-columns),minmax(0,1fr));
    }
}

.nexus-catalog-grid[data-layout=slider] {
    --catalog-visible: var(--slider-mobile-columns,1);
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - (var(--catalog-visible) - 1) * 1.5rem) / var(--catalog-visible));
    align-items: stretch;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x mandatory;
    padding-bottom: .75rem;
    scrollbar-width: thin;
}

.nexus-catalog-grid[data-layout=slider] > .nexus-catalog-card {
    scroll-snap-align: start;
}

[data-catalog-slider-controls][hidden] {
    display: none;
}

.nexus-catalog-grid[data-layout=slider]:focus-visible {
    outline: 2px solid var(--site-accent,#047857);
    outline-offset: 4px;
}

@media (min-width:768px) {
    .nexus-catalog-grid[data-layout=slider] {
        --catalog-visible: var(--slider-tablet-columns,2);
    }
}

@media (min-width:1024px) {
    .nexus-catalog-grid[data-layout=slider] {
        --catalog-visible: var(--catalog-columns,3);
    }
}

[data-slider-style="peek"] > .nexus-catalog-grid[data-layout="slider"] {
    grid-auto-columns: calc((100% - var(--catalog-visible) * 1.5rem) / (var(--catalog-visible) + .22));
    scroll-padding-inline: 0;
}

[data-slider-style="framed"] > .nexus-catalog-grid[data-layout="slider"] {
    border: 1px solid var(--site-border,#dce7e2);
    border-radius: 1.5rem;
    background: var(--site-canvas,#f0f7f3);
    padding: 1rem;
    scroll-padding-inline: 1rem;
}

.nexus-card-photo-track {
    position: absolute;
    inset: 0;
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
}

.nexus-card-photo-track::-webkit-scrollbar {
    display: none;
}

.nexus-card-photo {
    display: block;
    flex: 0 0 100%;
    min-width: 0;
    height: 100%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

.nexus-card-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.nexus-catalog-option-picker { position: relative; display: grid; min-width: 0; gap: .35rem; color: var(--site-muted,#64748b); font-size: .75rem; }
.nexus-catalog-option-picker select { width: 100%; min-width: 0; min-height: 44px; padding: .6rem 2rem .6rem .7rem; border: 1px solid var(--site-border,#dbe2e8); border-radius: .5rem; background-color: var(--site-surface,#fff); color: var(--site-text,#1e293b); font: inherit; font-size: .85rem; text-overflow: ellipsis; }
.nexus-catalog-option-picker select:focus-visible { outline: 2px solid var(--site-accent,#047857); outline-offset: 2px; }
.nexus-catalog-option-dropdown { position: relative; min-width: 0; color: var(--site-text,#1e293b); }
.nexus-catalog-option-trigger { display: flex; min-height: 68px; list-style: none; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 1rem; border: 1px solid var(--site-border,#dbe2e8); border-radius: .75rem; background: var(--site-soft,#f1f5f3); font-size: .85rem; font-weight: 650; }
.nexus-catalog-option-dropdown > summary.nexus-catalog-option-trigger { cursor: pointer; }
.nexus-catalog-option-dropdown > summary:focus-visible { outline: 2px solid var(--site-accent,#047857); outline-offset: 2px; }
.nexus-catalog-option-dropdown > summary::-webkit-details-marker { display: none; }
.nexus-catalog-option-summary-end { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .65rem; }
.nexus-catalog-option-arrow { flex: 0 0 auto; }
.nexus-catalog-option-single .nexus-catalog-option-trigger { cursor: default; }
.nexus-catalog-option-dropdown[open] > summary { border-color: var(--site-accent,#047857); border-bottom-right-radius: 0; border-bottom-left-radius: 0; }
.nexus-catalog-option-menu { position: absolute; z-index: 20; top: calc(100% - 1px); inset-inline: 0; display: grid; max-height: 17rem; overflow-y: auto; padding: .35rem; border: 1px solid var(--site-accent,#047857); border-radius: 0 0 .65rem .65rem; background: var(--site-surface,#fff); box-shadow: 0 18px 40px rgb(15 23 42 / .16); }
.nexus-catalog-option-menu > button { display: flex; width: 100%; cursor: pointer; align-items: center; justify-content: space-between; gap: .75rem; padding: .6rem .65rem; border: 0; border-radius: .45rem; background: transparent; color: inherit; text-align: start; }
.nexus-catalog-option-menu > button:hover,
.nexus-catalog-option-menu > button[aria-selected=true] { background: var(--site-soft,#ecfdf5); }
.nexus-catalog-option-menu > button:focus-visible { outline: 2px solid var(--site-accent,#047857); outline-offset: -2px; }
.nexus-catalog-option-facts { display: flex; min-width: 0; flex: 1 1 auto; flex-wrap: wrap; gap: .35rem 1rem; }
.nexus-catalog-option-facts > span { display: inline-flex; min-width: 0; align-items: baseline; gap: .3rem; }
.nexus-catalog-option-facts small { color: var(--site-muted,#64748b); }
.nexus-catalog-option-facts strong { color: var(--site-text,#1e293b); font-size: 1rem; }
.nexus-catalog-option-price { flex: 0 0 auto; color: var(--site-primary,#064e3b); font-size: 1.05rem; white-space: nowrap; }
.nexus-catalog-card:has(.nexus-catalog-option-dropdown[open]) { z-index: 30; overflow: visible; }
.nexus-catalog-price-stack[hidden], [data-catalog-secondary-price][hidden] { display: none; }

@media (max-width:767px) {
    .nexus-catalog-location-price-row { align-items: flex-start; }
    .nexus-catalog-option-trigger { align-items: flex-start; }
    .nexus-catalog-option-menu > button { align-items: flex-start; }
    .nexus-catalog-option-menu .nexus-catalog-option-facts { display: grid; }
}
@media (min-width: 1024px) {
    /* Horizontal cards stretch to their content height; a photo ratio there
       would derive a wider grid item and cover the adjacent body column. */
    .nexus-catalog-grid[data-card-style=vertical] .nexus-catalog-image[data-photo-desktop-columns="2"] { aspect-ratio: 8 / 3; }
    [data-photo-desktop-columns="2"] .nexus-card-photo-track { gap: 4px; }
    [data-photo-desktop-columns="2"] .nexus-card-photo { flex-basis: calc((100% - 4px) / 2); }
    .nexus-catalog-shell .nexus-catalog-grid[data-card-style] .nexus-catalog-image[data-photo-max-height] {
        min-height: 0;
        max-height: var(--catalog-photo-max-height);
        align-self: start;
    }
}

.nexus-card-photo-scrub-progress {
    position: absolute;
    z-index: 3;
    inset-inline: .75rem;
    top: .65rem;
    display: flex;
    gap: .25rem;
    pointer-events: none;
    opacity: 0;
    transition: opacity .18s ease;
}

.nexus-card-photo-scrub-progress > span {
    flex: 1 1 0;
    height: 3px;
    border-radius: 999px;
    background: rgb(255 255 255 / .55);
    box-shadow: 0 1px 3px rgb(0 0 0 / .25);
}

.nexus-card-photo-scrub-progress > span[data-active] {
    background: var(--site-accent,#17939a);
}

[data-card-photo-interaction=scrub]:hover .nexus-card-photo-scrub-progress,
[data-card-photo-interaction=scrub]:focus-within .nexus-card-photo-scrub-progress {
    opacity: 1;
}

/* Portal gallery cards use the same catalogue payload in a broad, photo-led layout. */
.nexus-catalog-grid[data-card-style=portal] {
    grid-template-columns: minmax(0,1fr) !important;
    gap: 1.5rem;
    width: 100%;
    max-width: 82rem;
    margin-inline: auto;
}

.nexus-catalog-grid[data-card-style=portal] .nexus-catalog-card {
    min-height: 0;
    border-radius: .75rem;
    border-color: color-mix(in srgb,var(--site-primary,#0c2b2f) 18%,var(--site-border,#d5dfe3));
    background: var(--site-surface,#fff);
    box-shadow: 0 10px 30px color-mix(in srgb,var(--site-primary,#0c2b2f) 9%,transparent);
}

.nexus-catalog-grid[data-card-style=portal] .nexus-catalog-image {
    aspect-ratio: 12 / 5;
    min-height: 18rem;
    border-radius: 0;
}

.nexus-catalog-grid[data-card-style=portal] .nexus-card-photo-track {
    display: grid;
    grid-template-columns: minmax(0,4fr) minmax(11rem,1.35fr);
    grid-template-rows: repeat(6,minmax(0,1fr));
    gap: 3px;
    overflow: hidden;
    scroll-snap-type: none;
}

.nexus-catalog-grid[data-card-style=portal] .nexus-card-photo {
    position: relative;
    grid-column: 2;
    flex: none;
    width: auto;
    height: auto;
    min-height: 0;
    overflow: hidden;
    scroll-snap-align: none;
}

.nexus-catalog-grid[data-card-style=portal] .nexus-card-photo:first-child {
    grid-column: 1;
    grid-row: 1 / -1;
}

.nexus-catalog-grid[data-card-style=portal] .nexus-card-photo:nth-child(2) { grid-row: 1 / 3; }
.nexus-catalog-grid[data-card-style=portal] .nexus-card-photo:nth-child(3) { grid-row: 3 / 5; }
.nexus-catalog-grid[data-card-style=portal] .nexus-card-photo:nth-child(4) { grid-row: 5 / 7; }
.nexus-catalog-grid[data-card-style=portal] .nexus-card-photo:nth-child(n+5) { display: none; }

.nexus-catalog-grid[data-card-style=portal] .nexus-catalog-image[data-photo-count="0"] .nexus-card-photo-track,
.nexus-catalog-grid[data-card-style=portal] .nexus-catalog-image[data-photo-count="1"] .nexus-card-photo-track {
    grid-template-columns: minmax(0,1fr);
}

.nexus-catalog-grid[data-card-style=portal] .nexus-catalog-image[data-photo-count="2"] .nexus-card-photo:nth-child(2) {
    grid-row: 1 / 7;
}

.nexus-catalog-grid[data-card-style=portal] .nexus-catalog-image[data-photo-count="3"] .nexus-card-photo:nth-child(2) {
    grid-row: 1 / 4;
}

.nexus-catalog-grid[data-card-style=portal] .nexus-catalog-image[data-photo-count="3"] .nexus-card-photo:nth-child(3) {
    grid-row: 4 / 7;
}

.nexus-catalog-grid[data-card-style=portal] .nexus-catalog-body {
    gap: .55rem;
    padding: 1.15rem 1.5rem 1.35rem;
}

.nexus-catalog-grid[data-card-style=portal] .nexus-catalog-price-row {
    order: -10;
    margin: 0;
    padding: 0 0 .7rem;
    border-top: 0;
    border-bottom: 1px solid var(--site-border,#e2e8f0);
}

.nexus-catalog-grid[data-card-style=portal] .nexus-catalog-price-stack {
    gap: .15rem;
}

.nexus-catalog-grid[data-card-style=portal] .nexus-catalog-price {
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: var(--site-primary,#0c2b2f);
    font-size: clamp(1.65rem,3cqi,2.2rem);
    font-weight: 850;
    letter-spacing: -.025em;
    line-height: 1.05;
}

.nexus-catalog-grid[data-card-style=portal] .nexus-catalog-facts {
    order: -9;
    display: flex;
    min-height: 2rem;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .35rem 1.15rem;
    padding: 0;
    border-radius: 0;
    background: transparent;
}

.nexus-catalog-grid[data-card-style=portal] .nexus-catalog-fact {
    display: inline-flex;
    min-width: 0;
    align-items: baseline;
    gap: .35rem;
    padding: 0;
    border: 0;
    background: transparent;
}

.nexus-catalog-grid[data-card-style=portal] .nexus-catalog-fact > span,
.nexus-catalog-grid[data-card-style=portal] .nexus-catalog-fact > strong {
    display: inline;
    overflow: visible;
    color: var(--site-muted,#64748b);
    font-size: .95rem;
    line-height: 1.45rem;
    text-overflow: clip;
    white-space: nowrap;
}

.nexus-catalog-grid[data-card-style=portal] .nexus-catalog-fact > strong {
    color: var(--site-primary,#0c2b2f);
    font-size: 1.05rem;
}

.nexus-catalog-grid[data-card-style=portal] .nexus-catalog-location {
    order: -8;
    min-height: 1.5rem;
    gap: .45rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--site-muted,#64748b);
    font-size: .95rem;
    font-weight: 650;
}

.nexus-catalog-grid[data-card-style=portal] .nexus-catalog-location svg {
    width: 1rem;
    height: 1rem;
}

.nexus-catalog-grid[data-card-style=portal] .nexus-catalog-title {
    order: -7;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--catalog-title-lines,2);
    min-height: calc(var(--catalog-title-lines,2) * 1.5rem);
    max-height: calc(var(--catalog-title-lines,2) * 1.5rem);
    margin: .2rem 0 0;
    overflow: hidden;
    color: var(--site-text,var(--site-primary,#0c2b2f));
    font-size: 1.12rem;
    line-height: 1.5rem;
}

.nexus-catalog-grid[data-card-style=portal] .nexus-catalog-summary {
    order: -6;
    color: var(--site-muted,#64748b);
}

.nexus-catalog-grid[data-card-style=portal] .nexus-catalog-reference-body {
    order: -5;
}

.nexus-catalog-grid[data-card-style=portal] .nexus-catalog-contact-actions {
    margin-top: .3rem;
    padding-top: .8rem;
    border-top: 1px solid var(--site-border,#e2e8f0);
}

@container catalog (max-width:679px) {
    .nexus-catalog-grid[data-card-style=portal] {
        gap: 1rem;
    }

    .nexus-catalog-grid[data-card-style=portal] .nexus-catalog-image {
        aspect-ratio: var(--catalog-card-image-ratio,16 / 10);
        min-height: 0;
        max-height: 21rem;
    }

    .nexus-catalog-grid[data-card-style=portal] .nexus-card-photo-track {
        display: block;
    }

    .nexus-catalog-grid[data-card-style=portal] .nexus-card-photo {
        display: none;
        width: 100%;
        height: 100%;
    }

    .nexus-catalog-grid[data-card-style=portal] .nexus-card-photo:first-child {
        display: block;
    }

    .nexus-catalog-grid[data-card-style=portal] .nexus-catalog-body {
        padding: 1rem;
    }

    .nexus-catalog-grid[data-card-style=portal] .nexus-catalog-price {
        font-size: 1.65rem;
    }

    .nexus-catalog-grid[data-card-style=portal] .nexus-catalog-fact > span,
    .nexus-catalog-grid[data-card-style=portal] .nexus-catalog-fact > strong {
        font-size: .875rem;
    }
}

[data-card-photo-interaction=scrub] > .nexus-catalog-tags,
[data-card-photo-interaction=scrub] > .nexus-catalog-video {
    top: 1.4rem;
}

.nexus-card-photo-more {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem 3.25rem;
    background: var(--site-primary,#0b2239);
    color: #fff;
    text-align: center;
    text-decoration: none;
}

.nexus-card-photo-more img.nexus-card-photo-more-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
    transition: transform .35s ease;
}

.nexus-card-photo-more::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,#071b2e80,#071b2eb8 55%,#071b2ed9);
    pointer-events: none;
}

.nexus-card-photo-more-content {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: .75rem;
    max-width: 100%;
    font-size: .875rem;
    line-height: 1.4;
}

.nexus-card-photo-more-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    color: #fff;
    font-weight: 600;
    text-shadow: 0 1px 4px #0008;
}

.nexus-card-photo-more-content svg {
    flex: none;
}

.nexus-card-photo-more-content strong {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .7rem .8rem;
    border: 1px solid #ffffffb3;
    border-radius: .85rem;
    background: var(--site-surface,#fff);
    color: var(--site-primary,#064e3b);
    font-size: .875rem;
    font-weight: 700;
    box-shadow: 0 4px 16px #0003;
    transition: background-color .2s;
}

.nexus-card-photo-more:hover img.nexus-card-photo-more-bg {
    transform: scale(1.04);
}

.nexus-card-photo-more:hover strong {
    background: var(--site-soft,#ecfdf5);
}

.nexus-card-photo-more:focus-visible {
    outline: 3px solid #fff;
    outline-offset: -5px;
}

@media (prefers-reduced-motion:reduce) {
    .nexus-card-photo-more img.nexus-card-photo-more-bg,
.nexus-card-photo-more-content strong {
        transition: none;
    }
    .nexus-card-photo-more:hover img.nexus-card-photo-more-bg {
        transform: none;
    }
    .nexus-card-photo-scrub-progress {
        transition: none;
    }
}

@media (hover:hover) and (pointer:fine) {
    [data-card-photo-interaction=scrub] > .nexus-card-photo-arrow {
        display: none;
    }
}

@container (max-width:260px) {
    .nexus-card-photo-more {
        padding: 1rem 2.75rem;
    }
    .nexus-card-photo-more-content {
        gap: .5rem;
        font-size: .75rem;
    }
    .nexus-card-photo-more-badge {
        flex-direction: column;
        gap: .25rem;
    }
    .nexus-card-photo-more-content strong {
        padding: .5rem;
        font-size: .75rem;
    }
    .nexus-card-photo-more-content strong>svg {
        display: none;
    }
}

[data-showing-more-photos]>.nexus-catalog-tags,
[data-showing-more-photos]>.nexus-catalog-video {
    visibility: hidden;
}

.nexus-card-photo-count[hidden] {
    display: none;
}

.nexus-card-photo-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgb(255 255 255 / .94);
    color: var(--site-primary,#123c31);
    box-shadow: 0 2px 10px #0003;
    border: 1px solid #fff;
    z-index: 2;
}

.nexus-card-photo-arrow[data-gallery-scroll="-1"] {
    inset-inline-start: .5rem;
}

.nexus-card-photo-arrow[data-gallery-scroll="1"] {
    inset-inline-end: .5rem;
}

.nexus-card-photo-arrow:disabled {
    opacity: .4;
    cursor: default;
}

.nexus-card-photo-arrow:is(:hover,:focus-visible) {
    background: var(--site-primary,#123c31);
    color: var(--site-on-primary,#fff);
}

.nexus-card-photo-arrow:focus-visible,
.nexus-card-photo-track:focus-visible {
    outline: 3px solid var(--site-accent,#059669);
    outline-offset: -3px;
}

.nexus-card-photo-count {
    pointer-events: none;
    position: absolute;
    inset-inline-end: .75rem;
    bottom: .75rem;
    border-radius: 1rem;
    padding: .3rem .65rem;
    background: rgb(15 23 42 / .72);
    color: #fff;
    font-size: .75rem;
    font-weight: 600;
}

.nexus-catalog-shell[data-presentation-profile=editorial] .nexus-card-photo-count[data-card-photo-counter-style=total] {
    border-radius: .15rem;
    background: color-mix(in srgb,var(--site-primary,#0c2b2f) 82%,transparent);
    font-family: var(--site-mono-font,"IBM Plex Mono",monospace);
    font-size: .6875rem;
    font-weight: 500;
    letter-spacing: .02em;
}

/* Opt-in gallery cards retain the shared photo rail and expose a thumbnail column. */
.nexus-catalog-grid[data-card-style=gallery] { gap: 1.5rem; }
.nexus-catalog-grid[data-layout=grid][data-card-style=gallery] { grid-template-columns: minmax(0,1fr); }

.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-card {
    container: catalog-card / inline-size;
    min-width: 0;
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--site-border,#ddd);
    border-radius: 1.25rem;
    background: var(--site-surface,#fff);
    box-shadow: none;
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-card:has(.nexus-catalog-option-dropdown[open]) {
    overflow: visible;
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-image {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    width: 100%;
    min-height: 0;
    flex-shrink: 0;
    gap: .5rem;
    aspect-ratio: auto;
    border-radius: inherit;
    border-end-start-radius: 0;
    border-end-end-radius: 0;
    background: var(--site-surface,#fff);
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-image:has(.nexus-card-photo-thumbnails) {
    grid-template-columns: minmax(0,3fr) minmax(0,1fr);
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-card-photo-main {
    position: relative;
    /* Fill the grid column even when max-height constrains the photo ratio. */
    width: 100%;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    aspect-ratio: var(--catalog-card-image-ratio,4 / 3);
    background: var(--site-canvas,#f1f5f9);
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-card-photo-track { gap: 0; }
.nexus-catalog-grid[data-card-style=gallery] .nexus-card-photo { flex-basis: 100%; }

.nexus-catalog-grid[data-card-style=gallery] .nexus-card-photo-thumbnails {
    display: grid;
    min-width: 0;
    min-height: 0;
    grid-template-rows: repeat(3,minmax(0,1fr));
    gap: .5rem;
    overflow: hidden;
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-card-photo-thumbnails > button {
    position: relative;
    display: block;
    min-width: 44px;
    min-height: 44px;
    overflow: hidden;
    padding: 0;
    border: 0;
    background: var(--site-canvas,#f1f5f9);
    cursor: pointer;
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-card-photo-thumbnails img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-card-photo-thumbnails > button[hidden] {
    display: none;
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-card-photo-thumbnails > button:focus-visible {
    outline: 3px solid var(--site-accent,#17939a);
    outline-offset: -3px;
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-card-photo-arrow {
    width: 44px;
    height: 44px;
    border: 1px solid #ddd;
    background: #fff;
    color: #303030;
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-card-photo-arrow svg { width: 26px; height: 26px; }
.nexus-catalog-grid[data-card-style=gallery] .nexus-card-photo-arrow[data-gallery-scroll="-1"] { inset-inline-start: 1rem; }
.nexus-catalog-grid[data-card-style=gallery] .nexus-card-photo-arrow[data-gallery-scroll="1"] { inset-inline-end: 1rem; }
[dir=rtl] .nexus-catalog-grid[data-card-style=gallery] .nexus-card-photo-arrow svg { transform: rotate(180deg); }

.nexus-catalog-grid[data-card-style=gallery] .nexus-card-photo-count {
    inset-inline-end: 1rem;
    bottom: 1rem;
    padding: .25rem .65rem;
    border-radius: 999px;
    background: #000;
    font-size: 1rem;
    line-height: 1.5;
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-card-photo-main > .nexus-catalog-reference {
    box-sizing: border-box;
    max-width: calc(100% - 1.5rem);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-card-photo-main:has(> .nexus-card-photo-count:not([hidden])) > .nexus-catalog-reference {
    max-width: calc(60% - 1.25rem);
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-card-photo-main:has(> .nexus-catalog-reference) > .nexus-card-photo-count {
    box-sizing: border-box;
    max-width: calc(40% - 1.25rem);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nexus-catalog-grid[data-card-style=gallery] [data-showing-more-photos] .nexus-card-photo-main > :is(.nexus-catalog-tags,.nexus-catalog-video) { visibility: hidden; }

.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-body {
    gap: .6rem;
    padding: 1.4rem 1.6rem;
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-price-row {
    order: -10;
    margin: 0;
    padding: 0;
    border: 0;
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-price-row > .nexus-catalog-shortlist-button {
    position: static;
    flex: 0 0 44px;
    margin-inline-start: auto;
    border: 0;
    background: transparent;
    color: var(--site-text,#303030);
    box-shadow: none;
    transform: none;
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-shortlist-button svg { width: 28px; height: 28px; }
.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-shortlist-button[aria-pressed=true] { color: var(--site-accent,#17939a); }
.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-price-stack {
    display: grid;
    max-width: 100%;
    grid-template-columns: minmax(0,auto) minmax(0,auto);
    align-items: center;
    justify-content: start;
    gap: .25rem .65rem;
}
.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-price-row > .nexus-catalog-price-stack { flex: 1 1 0; }
.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-price-stack > * {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
}
.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-price-stack > .nexus-catalog-price { grid-area: 1 / 1; }
.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-price-stack[hidden],
.nexus-catalog-grid[data-card-style=gallery] [data-catalog-secondary-price][hidden] { display: none; }
.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-price-label {
    grid-area: 1 / 2;
    padding: .35rem .6rem;
    border-radius: 999px;
    background: var(--site-canvas,#f1f1f1);
    font-size: .85rem;
    font-weight: 400;
}
.nexus-catalog-grid[data-card-style=gallery] [data-catalog-secondary-price] { grid-column: 1 / -1; }

.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-price {
    padding: 0;
    background: transparent;
    color: var(--site-text,#303030);
    font-size: clamp(1.75rem,3cqi,2.25rem);
    font-weight: 800;
    letter-spacing: -.025em;
    line-height: 1.2;
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-title {
    order: -9;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--catalog-title-lines,2);
    min-height: calc(var(--catalog-title-lines,2) * 1.65rem);
    max-height: calc(var(--catalog-title-lines,2) * 1.65rem);
    margin: .1rem 0 0;
    overflow: hidden;
    font-family: var(--site-body-font,Arial,sans-serif);
    font-size: 1.25rem;
    font-weight: 750;
    line-height: 1.65rem;
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-option-picker {
    order: -8;
    gap: 0;
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-option-picker:has(> .nexus-catalog-option-dropdown) > span {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-option-trigger {
    min-height: 44px;
    align-items: center;
    justify-content: flex-start;
    gap: .65rem;
    padding: .25rem 0;
    border: 0;
    border-radius: .35rem;
    background: transparent;
    font-size: .9rem;
    font-weight: 400;
}

.nexus-catalog-grid[data-card-style=gallery] details.nexus-catalog-option-dropdown > .nexus-catalog-option-trigger {
    padding: .5rem .75rem;
    border: 1px solid var(--site-border,#dbe2e8);
    border-radius: .6rem;
}

.nexus-catalog-grid[data-card-style=gallery] details.nexus-catalog-option-dropdown[open] > .nexus-catalog-option-trigger {
    border-end-start-radius: 0;
    border-end-end-radius: 0;
}

.nexus-catalog-grid[data-card-style=gallery] summary.nexus-catalog-option-trigger:focus-visible {
    outline: 2px solid var(--site-accent,#047857);
    outline-offset: 4px;
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-option-facts {
    display: flex;
    flex: 0 1 auto;
    align-items: baseline;
    gap: .35rem .85rem;
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-option-facts > span {
    gap: .3rem;
    line-height: 1.5rem;
    overflow-wrap: anywhere;
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-option-facts > span + span {
    padding-inline-start: .85rem;
    border-inline-start: 1px solid var(--site-border,#dbe2e8);
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-option-facts small {
    font-size: .85rem;
    font-weight: 400;
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-option-facts strong {
    font-size: .95rem;
    font-weight: 600;
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-option-summary-end {
    margin-inline-start: auto;
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-option-arrow {
    display: inline-flex;
    width: 1.5rem;
    height: 1.5rem;
    align-items: center;
    justify-content: center;
    color: var(--site-muted,#64748b);
    line-height: 1;
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-option-arrow svg {
    display: block;
    width: 18px;
    height: 18px;
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-option-dropdown[open] .nexus-catalog-option-arrow {
    transform: rotate(180deg);
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-card:has(.nexus-catalog-price-stack) .nexus-catalog-option-trigger .nexus-catalog-option-price {
    display: none;
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-option-menu {
    top: calc(100% - 1px);
    border-color: var(--site-border,#dbe2e8);
    border-radius: 0 0 .65rem .65rem;
    box-shadow: 0 8px 24px rgb(15 23 42 / .1);
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-option-menu > button {
    min-height: 44px;
    gap: 1rem;
    padding: .55rem .65rem;
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-option-menu .nexus-catalog-option-price {
    font-size: .95rem;
    font-weight: 600;
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-facts {
    order: -8;
    display: flex;
    min-height: 1.5rem;
    align-items: baseline;
    flex-wrap: wrap;
    gap: .4rem 1rem;
    padding: 0;
    border: 0;
    background: transparent;
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-fact {
    display: inline-flex;
    min-width: 0;
    align-items: baseline;
    gap: .35rem;
    padding: 0;
    border: 0;
    background: transparent;
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-fact > :is(span,strong) {
    display: inline;
    overflow: visible;
    color: var(--site-text,#303030);
    font-size: .85rem;
    font-weight: 400;
    line-height: 1.5rem;
    text-overflow: clip;
    white-space: normal;
    overflow-wrap: anywhere;
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-fact > span { color: var(--site-muted,#64748b); }
.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-fact > strong { font-size: .95rem; font-weight: 600; }

.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-location {
    order: -7;
    min-width: 0;
    min-height: 1.5rem;
    gap: .4rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--site-muted,#666);
    font-size: 1rem;
    font-weight: 400;
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-location p {
    min-width: 0;
    max-width: 100%;
    margin: 0;
    overflow-wrap: anywhere;
}

.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-location svg { display: none; }
.nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-contact-actions { margin-top: auto; padding-top: .5rem; }

@media (min-width:1024px) {
    .nexus-catalog-shell .nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-image[data-photo-max-height] { max-height: none; }
    .nexus-catalog-grid[data-card-style=gallery] [data-photo-max-height] .nexus-card-photo-main { max-height: var(--catalog-photo-max-height); }
}

@container catalog-card (max-width:559px) {
    .nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-image:has(.nexus-card-photo-thumbnails) { grid-template-columns: minmax(0,1fr); }
    .nexus-catalog-grid[data-card-style=gallery] .nexus-card-photo-thumbnails { display: none; }
    .nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-body { padding: 1rem; }
    .nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-title { font-size: 1.1rem; }
    .nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-option-menu > button { flex-wrap: wrap; gap: .35rem .75rem; }
    .nexus-catalog-grid[data-card-style=gallery] .nexus-catalog-option-menu .nexus-catalog-option-price { margin-inline-start: auto; }
}

/* Framed cards group the same configurable catalogue data into bordered rows. */
.nexus-catalog-grid[data-layout=grid][data-card-style=framed] {
    grid-template-columns: repeat(var(--slider-mobile-columns,1),minmax(0,1fr));
}

@container catalog (min-width:600px) {
    .nexus-catalog-grid[data-layout=grid][data-card-style=framed] {
        grid-template-columns: repeat(var(--catalog-tablet-columns,2),minmax(0,1fr));
    }
}

@container catalog (min-width:900px) {
    .nexus-catalog-grid[data-layout=grid][data-card-style=framed] {
        grid-template-columns: repeat(var(--catalog-compact-columns,3),minmax(0,1fr));
    }
}

@container catalog (min-width:1200px) {
    .nexus-catalog-grid[data-layout=grid][data-card-style=framed] {
        grid-template-columns: repeat(var(--catalog-columns,3),minmax(0,1fr));
    }
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-card {
    display: flex;
    height: 100%;
    flex-direction: column;
    padding: .625rem;
    border: 1px solid var(--site-border,#dce0e4);
    border-radius: 1rem;
    background: var(--site-surface,#fff);
    box-shadow: 0 2px 4px rgb(15 23 42 / .1);
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-image {
    min-height: 0;
    flex-shrink: 0;
    aspect-ratio: var(--catalog-card-image-ratio,16 / 10);
    border-radius: .25rem;
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-reference {
    inset-block-start: 0;
    inset-block-end: auto;
    inset-inline-start: 0;
    max-width: 58%;
    overflow: hidden;
    padding: .5rem .75rem;
    border-radius: 0;
    background: var(--site-accent,#098db8);
    color: var(--site-on-accent,#fff);
    font-size: .8125rem;
    font-weight: 700;
    line-height: 1.25rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-video {
    inset-block-start: 0;
    inset-inline-end: 0;
    max-width: 40%;
    overflow: hidden;
    padding: .5rem .625rem;
    border-radius: 0;
    background: var(--site-danger,#ce354d);
    color: #fff;
    font-size: .8125rem;
    line-height: 1.25rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-shortlist-button {
    inset-block-start: 2.75rem;
    inset-inline-end: .5rem;
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-tags {
    top: 2.75rem;
    inset-inline-start: .5rem;
    inset-inline-end: 3.75rem;
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-card-photo-arrow {
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: .125rem;
    background: color-mix(in srgb,var(--site-accent,#098db8) 82%,transparent);
    color: var(--site-on-accent,#fff);
    box-shadow: none;
    font-size: .75rem;
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-card-photo-arrow svg {
    width: 19px;
    height: 19px;
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-card-photo-arrow:is(:hover,:focus-visible) {
    background: var(--site-accent,#098db8);
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-classifications {
    position: absolute;
    inset-inline-start: .5rem;
    inset-inline-end: .5rem;
    inset-block-end: .5rem;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: .375rem;
    pointer-events: none;
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-classifications > span {
    max-width: 100%;
    padding: .375rem .625rem;
    border: 1px solid rgb(255 255 255 / .4);
    border-radius: .25rem;
    background: var(--site-surface,#fff);
    color: var(--site-text,#1e293b);
    box-shadow: 0 1px 4px rgb(15 23 42 / .18);
    font-size: .8125rem;
    font-weight: 700;
    line-height: 1.125rem;
    overflow-wrap: anywhere;
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-classifications > span:first-child {
    border-color: var(--site-accent,#098db8);
    background: var(--site-accent,#098db8);
    color: var(--site-on-accent,#fff);
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-image:has(.nexus-catalog-classifications) .nexus-card-photo-count {
    bottom: 3rem;
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: .65rem;
    padding: .875rem .5rem .125rem;
    font-family: var(--site-body-font,Arial,sans-serif);
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-title {
    order: -10;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--catalog-title-lines,2);
    min-height: calc(var(--catalog-title-lines,2) * 1.4rem);
    max-height: calc(var(--catalog-title-lines,2) * 1.4rem);
    margin: 0;
    padding: 0;
    overflow: hidden;
    color: var(--site-text,#1e293b);
    font-family: var(--site-body-font,Arial,sans-serif);
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.4rem;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-info-panel {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: visible;
    border: 1px solid var(--site-border,#dce0e4);
    border-radius: .75rem;
    background: var(--site-surface,#fff);
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-card:has(.nexus-catalog-option-dropdown[open]) {
    position: relative;
    z-index: 30;
    overflow: visible;
}

/* Keep the alternate price source in the same framed row sequence. */
.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-location-price-row {
    display: contents;
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-location-price-row > .nexus-catalog-price-stack {
    order: -4;
    flex: 0 0 auto;
    padding: .5rem .75rem;
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-location-price-row > .nexus-catalog-location {
    flex: 0 0 auto;
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-location-price-row > .nexus-catalog-detail-link {
    order: 0;
    align-self: center;
    margin: .5rem;
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-price-row {
    order: -4;
    justify-content: center;
    gap: .375rem .75rem;
    margin: 0;
    padding: .5rem .75rem;
    border: 0;
    text-align: center;
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-price-stack {
    flex: 1 1 auto;
    align-items: center;
    gap: .125rem;
    text-align: center;
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-price {
    max-width: 100%;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: var(--site-danger,#ce354d);
    font-family: var(--site-body-font,Arial,sans-serif);
    font-size: var(--catalog-price-size,24px);
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -.02em;
    overflow-wrap: anywhere;
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-location {
    order: -3;
    min-width: 0;
    min-height: 2.5rem;
    justify-content: center;
    gap: .3rem;
    padding: .375rem .625rem;
    border: 0;
    border-block-start: 1px solid var(--site-border,#dce0e4);
    border-radius: 0;
    background: transparent;
    color: var(--site-text,#1e293b);
    font-family: var(--site-body-font,Arial,sans-serif);
    font-size: .9375rem;
    font-weight: 600;
    line-height: 1.375rem;
    text-transform: none;
    letter-spacing: 0;
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-location p {
    display: block;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    font: inherit;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-location svg {
    width: 1rem;
    height: 1rem;
    color: currentColor;
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-facts {
    order: -1;
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(min(5rem,100%),1fr));
    min-height: 2.5rem;
    gap: 0;
    padding: 0;
    border-block-start: 1px solid var(--site-border,#dce0e4);
    border-radius: 0;
    background: transparent;
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-fact {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: .25rem;
    padding: .5rem .35rem;
    border: 0;
    border-inline-start: 1px solid var(--site-border,#dce0e4);
    border-radius: 0;
    background: transparent;
    color: var(--site-text,#1e293b);
    font-size: .875rem;
    line-height: 1.25rem;
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-fact:first-child {
    border-inline-start: 0;
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-fact > strong {
    color: inherit;
    font-size: inherit;
    font-weight: 500;
    overflow-wrap: anywhere;
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-fact > span {
    color: var(--site-muted,#64748b);
    font-size: .75rem;
    line-height: inherit;
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-fact-icon {
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
    color: inherit;
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-fact[data-has-icon] > span:not(.nexus-catalog-fact-icon) {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-option-picker {
    order: -2;
    padding: .5rem;
    border-block-start: 1px solid var(--site-border,#dce0e4);
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-option-trigger {
    min-height: 44px;
    flex-wrap: wrap;
    gap: .5rem;
    padding: .5rem;
    font-weight: 500;
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-option-menu > button {
    min-height: 44px;
    flex-wrap: wrap;
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-contact-actions {
    display: grid;
    grid-auto-columns: minmax(0,1fr);
    gap: .5rem;
    margin-top: auto;
    padding-top: 1rem;
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-contact-actions > a {
    display: flex;
    min-width: 0;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: .375rem;
    padding: .5rem .375rem;
    border: 1px solid transparent;
    border-radius: .25rem;
    color: #fff;
    font-family: var(--site-body-font,Arial,sans-serif);
    font-size: .8125rem;
    font-weight: 600;
    line-height: 1.125rem;
    text-align: center;
    text-decoration: none;
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-contact-actions > a[data-catalog-contact=inquiry] {
    background: var(--site-accent,#098db8);
    color: var(--site-on-accent,#fff);
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-contact-actions > a[data-catalog-contact=whatsapp] {
    background: var(--site-success,#198754);
    color: var(--site-on-success,#fff);
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-contact-actions > a svg {
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] .nexus-catalog-contact-actions > a:hover {
    filter: brightness(.94);
}

.nexus-catalog-shell .nexus-catalog-grid[data-card-style=framed] :is(.nexus-catalog-contact-actions > a,.nexus-catalog-option-trigger):focus-visible {
    outline: 2px solid var(--site-accent,#098db8);
    outline-offset: 3px;
}

/* shared/phone-input */
/* Shared international phone input used by plugin-owned telephone fields. */
.nexus-phone-input {
    position: relative;
    display: flex;
    width: 100%;
    min-width: 0;
    direction: ltr;
}

.nexus-phone-input > .nexus-phone-input__country {
    position: absolute;
    z-index: 2;
    inset-block: 1px;
    inset-inline-start: 1px;
    display: inline-flex;
    min-width: 3.65rem;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    padding: .5rem .7rem;
    border: 0;
    border-inline-end: 1px solid var(--site-border,#cbd5e1);
    border-radius: .7rem 0 0 .7rem;
    background: color-mix(in srgb,var(--site-surface,#fff) 82%,transparent);
    color: var(--site-text,#0f172a);
    font: inherit;
    cursor: pointer;
}

.nexus-phone-input > .nexus-phone-input__country:hover {
    background: var(--site-canvas,#f1f5f9);
}

.nexus-phone-input > .nexus-phone-input__country:focus-visible {
    outline: 2px solid var(--site-accent,#047857);
    outline-offset: 2px;
}

.nexus-phone-input__flag {
    font-size: 1.15rem;
    line-height: 1;
}

.nexus-phone-input__chevron {
    font-size: .65rem;
    opacity: .65;
}

.nexus-phone-input > input[type="tel"] {
    min-width: 0;
    padding-inline-start: 4.4rem !important;
}

.nexus-phone-input__panel {
    position: fixed;
    z-index: 100000;
    display: none;
    width: min(22rem,calc(100vw - 1rem));
    max-height: min(22rem,calc(100vh - 1rem));
    overflow: hidden;
    flex-direction: column;
    border: 1px solid var(--site-border,#cbd5e1);
    border-radius: .9rem;
    background: var(--site-surface,#fff);
    color: var(--site-text,#0f172a);
    box-shadow: 0 18px 48px rgb(15 23 42 / 18%);
}

.nexus-phone-input__panel[data-open="true"] {
    display: flex;
}

.nexus-phone-input__search-wrap {
    padding: .65rem;
    border-bottom: 1px solid var(--site-border,#e2e8f0);
}

.nexus-phone-input__search {
    width: 100%;
    min-height: 44px;
    padding: .65rem .8rem;
    border: 1px solid var(--site-border,#cbd5e1);
    border-radius: .65rem;
    background: var(--site-surface,#fff);
    color: var(--site-text,#0f172a);
    font: inherit;
}

.nexus-phone-input__search:focus {
    border-color: var(--site-accent,#047857);
    outline: 2px solid color-mix(in srgb,var(--site-accent,#047857) 24%,transparent);
}

.nexus-phone-input__options {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: .35rem;
}

.nexus-phone-input__option {
    display: grid;
    width: 100%;
    min-height: 44px;
    grid-template-columns: 1.5rem minmax(0,1fr) auto;
    align-items: center;
    gap: .65rem;
    padding: .6rem .7rem;
    border: 0;
    border-radius: .55rem;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: start;
    cursor: pointer;
}

.nexus-phone-input__option:hover,
.nexus-phone-input__option[aria-selected="true"] {
    background: var(--site-canvas,#f1f5f9);
}

.nexus-phone-input__option:focus-visible {
    outline: 2px solid var(--site-accent,#047857);
    outline-offset: -2px;
}

.nexus-phone-input__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nexus-phone-input__code {
    color: var(--site-muted,#64748b);
    font-variant-numeric: tabular-nums;
}

.nexus-phone-input__empty {
    padding: 1rem;
    color: var(--site-muted,#64748b);
    text-align: center;
}

@media (max-width: 639px) {
    .nexus-phone-input__panel {
        width: calc(100vw - 1rem);
    }
}

/* shared/form-validation */
[data-live-validation-field] [data-field-error] {
    display: block;
    min-height: 1.15rem;
    margin-top: .4rem;
    color: var(--site-danger,#b42318);
    font-size: .78rem;
    font-weight: 600;
    line-height: 1.4;
}

[data-live-validation-field] [data-field-error][hidden] {
    visibility: hidden;
}

[data-live-validation-field][data-validation-state="invalid"] input:not([type="checkbox"]):not([type="radio"]),
[data-live-validation-field][data-validation-state="invalid"] select,
[data-live-validation-field][data-validation-state="invalid"] textarea,
[data-live-validation-field][data-validation-state="invalid"] fieldset,
[data-live-validation-field][data-validation-state="invalid"] [data-nexus-phone] {
    border-color: var(--site-danger,#b42318) !important;
}

[data-live-validation-field][data-validation-state="invalid"] input[type="checkbox"],
[data-live-validation-field][data-validation-state="invalid"] input[type="radio"] {
    outline: 2px solid var(--site-danger,#b42318);
    outline-offset: 2px;
}

[data-live-validation-field][data-validation-state="warning"] input:not([type="checkbox"]):not([type="radio"]),
[data-live-validation-field][data-validation-state="warning"] [data-nexus-phone] {
    border-color: var(--site-warning,#d97706) !important;
    outline: 2px solid color-mix(in srgb,var(--site-warning,#d97706) 22%,transparent);
    outline-offset: 1px;
}

[data-live-validation-field][data-validation-state="warning"] [data-field-error] {
    color: var(--site-warning,#a16207);
}

[data-live-validation-field][data-validation-state="valid"] input:not([type="checkbox"]):not([type="radio"]):not(:placeholder-shown),
[data-live-validation-field][data-validation-state="valid"] select:valid,
[data-live-validation-field][data-validation-state="valid"] textarea:not(:placeholder-shown) {
    border-color: color-mix(in srgb,var(--site-accent,#047857) 62%,transparent);
}

/* contact-form */
/* contact-form: plugin presentation; site design stays in published page/region CSS. */
.nexus-contact-form {
    container-type: inline-size;
}

.nexus-contact-card {
    border-color: var(--site-border,#e2e8f0);
    background: var(--site-surface,#fff);
    color: var(--site-text,var(--site-primary,#0f172a));
}

.nexus-contact-advisor-section {
    min-width: 0;
    display: grid;
    align-content: start;
    gap: .875rem;
}

.nexus-contact-advisor-action {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 48px;
    padding: .875rem 1rem;
    border: 1px solid var(--site-accent,#047857);
    border-radius: .875rem;
    background: var(--site-accent,#047857);
    color: var(--site-on-accent,#fff);
    font-weight: 600;
    text-align: center;
    text-decoration: none;
}

.nexus-contact-advisor-action:hover {
    filter: brightness(.95);
}

.nexus-contact-advisor-action:focus-visible {
    outline: 2px solid var(--site-accent,#047857);
    outline-offset: 3px;
}

.nexus-contact-shell {
    display: grid;
    min-width: 0;
    gap: 1rem;
}

.nexus-contact-shell > * {
    min-width: 0;
}

@container (min-width: 64rem) {
    .nexus-contact-shell[data-has-advisor="true"] {
        grid-template-columns: minmax(20rem,.72fr) minmax(0,1.28fr);
        align-items: start;
    }

    .nexus-contact-shell[data-has-advisor="true"] > [data-contact-advisor] {
        align-self: start;
    }

    .nexus-contact-form .nexus-contact-shell[data-has-advisor="true"] > .nexus-contact-card .nexus-contact-body {
        grid-template-columns: minmax(0,1fr);
        gap: 1.5rem;
    }
}

.nexus-contact-body {
    display: grid;
    min-width: 0;
    gap: 1.5rem;
}

.nexus-contact-intro,
.nexus-contact-body > form {
    min-width: 0;
}

@container (min-width: 56rem) {
    .nexus-contact-form[data-contact-layout=split][data-contact-modal=false] .nexus-contact-body {
        grid-template-columns: minmax(15rem,.8fr) minmax(0,1.2fr);
        gap: clamp(2rem,5cqi,4.5rem);
        align-items: start;
    }
}

.nexus-contact-layout {
    container-type: inline-size;
}

.nexus-contact-fields {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
}

.nexus-contact-field {
    min-width: 0;
}

.nexus-contact-field :is(input,select,textarea):not([type=checkbox]):not([type=radio]) {
    box-sizing: border-box;
    min-height: 3rem;
    padding-inline: 1rem;
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.nexus-contact-field :is(input,select,textarea):not([type=checkbox]):not([type=radio]):focus-visible {
    border-color: var(--site-accent,#047857);
    outline: 0;
    box-shadow: 0 0 0 3px color-mix(in srgb,var(--site-accent,#047857) 24%,transparent);
}

.nexus-contact-field [data-field-error][hidden] {
    display: block;
    visibility: hidden;
}

.nexus-contact-field[hidden],
[data-contact-step][hidden] {
    display: none !important;
}

.nexus-contact-field [aria-invalid="true"] {
    outline: 2px solid var(--site-danger,#b91c1c);
    outline-offset: 2px;
}

@container (min-width: 32rem) {
    .nexus-contact-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .nexus-contact-field[data-field-width="full"] {
        grid-column: 1 / -1;
    }
}

.nexus-contact-step-heading {
    margin-bottom: 1.25rem;
}

.nexus-contact-step-progress {
    margin: 0 0 .5rem;
    color: var(--site-accent,#047857);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.nexus-contact-step-title {
    margin: 0;
    color: var(--site-text,var(--site-primary,#0f172a));
    font-family: var(--site-heading-font,inherit);
    font-size: clamp(1.25rem,3cqi,1.625rem);
    font-weight: 700;
    line-height: 1.2;
}

.nexus-contact-step-subtitle {
    max-width: 60ch;
    margin: .625rem 0 0;
    color: var(--site-muted,#64748b);
    font-size: .925rem;
    line-height: 1.55;
}

.nexus-contact-step-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: .75rem;
    margin-top: 1.25rem;
}

.nexus-contact-step-back,
.nexus-contact-step-next {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: .625rem;
    padding: .75rem 1.25rem;
    border-radius: .75rem;
    font-weight: 700;
}

.nexus-contact-step-back > span[aria-hidden="true"],
.nexus-contact-step-next > span[aria-hidden="true"] {
    display: inline-block;
    width: 1em;
    overflow: hidden;
    font-size: 0;
    line-height: 1;
    text-align: center;
}

.nexus-contact-step-back > span[aria-hidden="true"]::before { content: "←"; font-size: 1rem; }
.nexus-contact-step-next > span[aria-hidden="true"]::before { content: "→"; font-size: 1rem; }
[dir="rtl"] .nexus-contact-step-back > span[aria-hidden="true"]::before { content: "→"; }
[dir="rtl"] .nexus-contact-step-next > span[aria-hidden="true"]::before { content: "←"; }

.nexus-contact-step-back {
    margin-inline-end: auto;
    border: 1px solid var(--site-border,#cbd5e1);
    background: var(--site-surface,#fff);
    color: var(--site-primary,#0f172a);
}

.nexus-contact-step-next {
    border: 1px solid var(--site-primary,#0f172a);
    background: var(--site-primary,#0f172a);
    color: var(--site-on-primary,#fff);
}

.nexus-contact-step-back:hover {
    background: var(--site-canvas,#f8fafc);
}

.nexus-contact-step-next:hover {
    filter: brightness(1.08);
}

.nexus-contact-step-back:focus-visible,
.nexus-contact-step-next:focus-visible {
    outline: 2px solid var(--site-accent,#047857);
    outline-offset: 3px;
}

.nexus-contact-form[data-button-style=full] .nexus-contact-step-actions button[type=submit] {
    width: auto;
    min-width: min(100%,12rem);
}

@container (max-width: 31.999rem) {
    .nexus-contact-step-actions > * {
        flex: 1 1 calc(50% - .375rem);
    }
}

[data-contact-advisor] {
    container-type: inline-size;
    min-width: 0;
}

a[href*="#contact-form-"] {
    gap: .5rem;
}

a[href*="#contact-form-"]:not(:has(svg))::before,
[data-nexus-plugin=contact-form] button[type=submit]:not(:has(svg))::before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 1.15rem;
    height: 1.15rem;
    flex: none;
    background: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M8 3H5v18h14V3h-3M9 2h6v4H9zM8 10h8M8 14h8M8 18h5'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;
}

[data-nexus-plugin=contact-form] button[type=submit] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
}

[data-contact-modal=true].is-modal-enhanced {
    padding-top: 0;
    padding-bottom: 0;
}

[data-contact-modal=true].is-modal-enhanced>[data-contact-modal-panel] {
    display: none;
}

.nexus-contact-modal-trigger:not([hidden]) {
    display: flex;
    min-height: 52px;
    width: 100%;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 16px;
    border: 1px solid var(--site-primary,#065f46);
    border-radius: 12px;
    background: var(--site-primary,#065f46);
    color: #fff;
    font-weight: 600;
}

.nexus-contact-modal-trigger:hover {
    background: var(--site-primary,#064e3b);
}

.nexus-contact-modal-trigger:focus-visible {
    outline: 2px solid var(--site-accent,#047857);
    outline-offset: 3px;
}

.nexus-lightbox.nexus-contact-dialog {
    width: min(var(--contact-modal-width,560px),calc(100vw - 32px));
    max-width: 960px;
    height: fit-content;
    max-height: calc(100dvh - 32px);
    background: var(--site-surface,#fff);
    color: var(--site-primary,#0b2239);
}

.nexus-contact-dialog.is-wide {
    --contact-modal-width: 960px;
}

.nexus-contact-dialog .nexus-lightbox-shell {
    display: flex;
    flex-direction: column;
    height: auto;
    max-height: calc(100dvh - 32px);
}

.nexus-contact-dialog .nexus-lightbox-controls {
    flex: none;
}

.nexus-contact-dialog .nexus-lightbox-body {
    display: block;
    min-height: 0;
    flex: 0 1 auto;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.nexus-contact-dialog .nexus-lightbox-viewport {
    display: block;
}

.nexus-contact-dialog .nexus-lightbox-media {
    display: block;
    padding: 0;
    gap: 0;
}

.nexus-contact-dialog .nexus-lightbox-stage {
    display: block;
    overflow: visible;
    touch-action: pan-y;
    padding: 16px;
}

.nexus-contact-dialog [data-contact-modal-panel]>div {
    height: auto;
    border: 0;
    padding: 0;
    box-shadow: none;
}

.nexus-contact-dialog [data-contact-heading] {
    display: none;
}

.nexus-contact-dialog [data-nexus-contact] [data-form-feedback]:empty {
    min-height: 0;
    margin: 0;
}

.nexus-contact-dialog-title {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
    min-width: 0;
    overflow-wrap: anywhere;
}

@media (max-width:767px) {
    .nexus-contact-dialog-title {
        font-size: 18px;
    }
}

.nexus-contact-form[data-presentation-profile=editorial]>div:last-child{border-radius:3px;box-shadow:0 18px 45px color-mix(in srgb,var(--site-primary,#0b2239) 8%,transparent)}
.nexus-contact-form[data-presentation-profile=compact]{padding-block:.75rem}
.nexus-contact-form[data-presentation-profile=compact]>div:last-child{border-radius:.75rem}
.nexus-contact-form[data-presentation-profile=compact] [data-nexus-contact]{gap:.75rem}
.nexus-contact-form[data-presentation-profile=marketplace]>div:last-child{border-top:4px solid var(--site-accent,#047857);border-radius:.75rem}
.nexus-contact-form[data-presentation-profile=minimal]>div:last-child{border-color:transparent;border-radius:0;background:transparent;box-shadow:none;padding-inline:0}

.nexus-contact-form[data-content-width=narrow] {
    max-width: 42rem;
    margin-inline: auto;
}

.nexus-contact-form[data-content-width=standard] {
    max-width: 64rem;
    margin-inline: auto;
}

.nexus-contact-form[data-content-width=wide] {
    max-width: 80rem;
    margin-inline: auto;
}

.nexus-contact-form[data-heading-alignment=center] .nexus-contact-intro {
    text-align: center;
}

.nexus-contact-form[data-field-style=soft] .nexus-contact-field :is(input,select,textarea):not([type=checkbox]):not([type=radio]) {
    border-color: transparent;
    background: var(--site-canvas,#f1f5f9);
    box-shadow: inset 0 0 0 1px transparent;
}

.nexus-contact-form[data-field-style=soft] .nexus-contact-field :is(input,select,textarea):not([type=checkbox]):not([type=radio]):focus {
    border-color: var(--site-accent,#047857);
    background: var(--site-surface,#fff);
}

.nexus-contact-form[data-field-style=underline] .nexus-contact-field :is(input,select,textarea):not([type=checkbox]):not([type=radio]) {
    border-width: 0 0 1px;
    border-radius: 0;
    padding-inline: 0;
    background: transparent;
    box-shadow: none;
}

.nexus-contact-form[data-button-style=outline] button[type=submit] {
    border: 1px solid var(--site-primary,#0f172a);
    background: transparent;
    color: var(--site-primary,#0f172a);
}

.nexus-contact-form[data-button-style=full] button[type=submit] {
    width: 100%;
    border-radius: .75rem;
    background: var(--site-primary,#0f172a);
}

.nexus-contact-form[data-presentation-profile=marketplace] [data-contact-heading] {
    font-family: var(--site-font-heading,inherit);
    font-weight: 700;
}

.nexus-contact-form[data-presentation-profile=minimal] button[type=submit] {
    border-radius: .375rem;
}

/* content-list */
/* content-list: plugin presentation; site design stays in published page/region CSS. */
.nexus-content-list {
    container-name: nexus-content-list;
    container-type: inline-size;
}
.nexus-content-list [data-contact-profile][data-profile-image-shape=circle] > [data-content-image] {
    width: min(100%, var(--content-profile-image-size, 240px));
    height: auto;
    aspect-ratio: 1;
    border-radius: 50%;
    align-self: center;
}

/* Use the component's actual space: a desktop sidebar is still a narrow card.
   Without container-query support, profiles keep the default stacked layout. */
@container nexus-content-list (min-width: 640px) {
    .nexus-content-list .nexus-content-grid[data-columns="1"] > [data-profile-layout=split] {
        display: grid;
        grid-template-columns: minmax(0, min(32%, var(--content-profile-image-size, 240px))) minmax(0, 1fr);
        grid-template-rows: auto auto 1fr auto;
        column-gap: clamp(1.5rem, 4cqi, 3rem);
        row-gap: .75rem;
        align-items: start;
    }
    .nexus-content-list .nexus-content-grid[data-columns="1"] > [data-profile-layout=split] > [data-content-image] {
        grid-column: 1;
        grid-row: 1 / 5;
        width: 100%;
        align-self: start;
    }
    .nexus-content-list .nexus-content-grid[data-columns="1"] > [data-profile-layout=split] > :not([data-content-image]) {
        grid-column: 2;
    }
    .nexus-content-list .nexus-content-grid[data-columns="1"] > [data-profile-layout=split] > [data-content-title] {
        grid-row: 1;
    }
    .nexus-content-list .nexus-content-grid[data-columns="1"] > [data-profile-layout=split] > [data-content-excerpt] {
        grid-row: 2;
    }
    .nexus-content-list .nexus-content-grid[data-columns="1"] > [data-profile-layout=split] > [data-content-details] {
        grid-row: 3;
        flex-direction: row;
        flex-wrap: wrap;
        margin-top: 0;
    }
    .nexus-content-list [data-profile-layout=split] > [data-content-details] > a {
        flex: 1 1 160px;
        min-width: 0;
    }
    .nexus-content-list [data-profile-layout=split] > [data-content-details] > :not(a) {
        flex-basis: 100%;
    }
    .nexus-content-list .nexus-content-grid[data-columns="1"] > [data-profile-layout=split] > [data-content-action] {
        grid-row: 4;
        align-self: end;
    }
}

@media (min-width:1024px) {
    .nexus-content-grid[data-center-first=true]:not([data-first-row=true])>article:first-child {
        grid-column: 2;
        grid-row: 1;
    }
    .nexus-content-grid[data-center-first=true]:not([data-first-row=true])>article:nth-child(2) {
        grid-column: 1;
        grid-row: 1;
    }
    .nexus-content-grid[data-center-first=true]:not([data-first-row=true])>article:nth-child(3) {
        grid-column: 3;
        grid-row: 1;
    }
}

@media (min-width:768px) {
    .nexus-content-grid[data-first-row=true]>article:first-child {
        grid-column: 1/-1;
        justify-self: center;
        width: calc((100% - 1.5rem)/2);
    }
}

@media (min-width:1024px) {
    .nexus-content-grid[data-first-row=true]>article:first-child {
        width: calc((100% - 3rem)/3);
    }
}

.nexus-content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
}

.nexus-content-grid > article {
    min-width: 0;
    height: 100%;
}

@media (min-width: 768px) {
    .nexus-content-grid:not([data-columns="1"]) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .nexus-content-grid[data-columns="3"] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .nexus-content-grid[data-columns="4"] {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

[data-content-card][data-profile-compact=true] {
    gap: 10px;
}

[data-content-card][data-profile-compact=true] [data-content-title] {
    min-height: 24px;
    line-height: 24px;
    -webkit-line-clamp: 1;
}

[data-content-card][data-profile-compact=true] [data-content-excerpt] {
    min-height: 24px;
    line-height: 24px;
    -webkit-line-clamp: 1;
}

.nexus-content-list[data-presentation-profile=editorial] .nexus-content-card {
    border-color: transparent;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
    background: transparent;
}

.nexus-content-list[data-presentation-profile=editorial] [data-content-image] {
    border-radius: 0;
}

.nexus-content-list[data-presentation-profile=editorial] [data-content-title] {
    font-family: ui-serif, Georgia, Cambria, "Times New Roman", serif;
    font-size: 1.35rem;
    line-height: 1.25;
}

.nexus-content-list[data-presentation-profile=editorial] [data-content-action] {
    width: max-content;
    border-top: 0;
    border-bottom: 1px solid currentColor;
    padding-top: .25rem;
}

.nexus-content-list[data-presentation-profile=compact] {
    padding-block: .75rem;
}

.nexus-content-list[data-presentation-profile=compact] .nexus-content-grid {
    gap: .875rem;
}

.nexus-content-list[data-presentation-profile=compact] .nexus-content-card {
    gap: .65rem;
    border-radius: .7rem;
    padding: .85rem;
}

.nexus-content-list[data-presentation-profile=compact] [data-content-image] {
    border-radius: .5rem;
}

.nexus-content-list[data-presentation-profile=compact] [data-content-title],
.nexus-content-list[data-presentation-profile=compact] [data-content-excerpt] {
    min-height: 1.5rem;
    -webkit-line-clamp: 1;
}

.nexus-content-list[data-presentation-profile=marketplace] .nexus-content-card {
    border-radius: .85rem;
    border-top: 4px solid var(--site-accent, #047857);
    box-shadow: 0 10px 28px color-mix(in srgb, var(--site-primary, #0f172a) 9%, transparent);
}

.nexus-content-list[data-presentation-profile=marketplace] [data-content-action] {
    color: var(--site-accent, #047857);
}

.nexus-content-list[data-presentation-profile=minimal] .nexus-content-grid {
    gap: 2rem;
}

.nexus-content-list[data-presentation-profile=minimal] .nexus-content-card {
    border: 0;
    border-radius: 0;
    padding-inline: 0;
    box-shadow: none;
    background: transparent;
}

.nexus-content-list[data-presentation-profile=minimal] [data-content-image] {
    border-radius: 0;
}

/* Appearance is selected by trusted Site Plugin settings. CSS provides reusable
   primitives only; tenant and locale choices remain in site_plugin_entries. */
.nexus-content-list[data-section-surface=transparent] { background: transparent; }
.nexus-content-list[data-section-surface=surface] { background: var(--site-surface,#fff); color: var(--site-text,#0f172a); }
.nexus-content-list[data-section-surface=soft] { background: var(--site-soft,#eef4f1); color: var(--site-text,#0f172a); }
.nexus-content-list[data-section-surface=primary] { background: var(--site-primary,#0f3d3e); color: var(--site-on-primary,#fff); }

.nexus-content-list[data-section-spacing=none] { padding: 0; }
.nexus-content-list[data-section-spacing=compact] { padding: .75rem; }
.nexus-content-list[data-section-spacing=standard] { padding: 1.5rem; }
.nexus-content-list[data-section-spacing=spacious] { padding: clamp(2rem,5cqi,3.5rem); }

.nexus-content-list[data-section-radius=none] { border-radius: 0; }
.nexus-content-list[data-section-radius=small] { border-radius: .5rem; }
.nexus-content-list[data-section-radius=medium] { border-radius: 1rem; }
.nexus-content-list[data-section-radius=large] { border-radius: 1.5rem; }

.nexus-content-list[data-section-border=none] { border: 0; }
.nexus-content-list[data-section-border=outline] { border: 1px solid var(--site-border,#dce7e2); }
.nexus-content-list[data-section-border=accent-top] {
    border: 1px solid var(--site-border,#dce7e2);
    border-top: 4px solid var(--site-accent,#0f766e);
}

.nexus-content-list[data-section-shadow=none] { box-shadow: none; }
.nexus-content-list[data-section-shadow=soft] { box-shadow: 0 18px 50px color-mix(in srgb,var(--site-primary,#0f3d3e) 8%,transparent); }
.nexus-content-list[data-section-shadow=raised] { box-shadow: 0 24px 70px color-mix(in srgb,var(--site-primary,#0f3d3e) 16%,transparent); }

.nexus-content-list[data-heading-alignment=center] > :is(h2,p) { margin-inline: auto; text-align: center; }
.nexus-content-list[data-content-alignment=center] [data-content-card] { align-items: stretch; }
.nexus-content-list[data-content-alignment=center] :is([data-content-title],[data-content-excerpt]) { text-align: center; }
.nexus-content-list[data-content-alignment=center] [data-content-image] { align-self: center; }

.nexus-content-list[data-card-surface=transparent] [data-content-card] { background: transparent; color: inherit; }
.nexus-content-list[data-card-surface=surface] [data-content-card] { background: var(--site-surface,#fff); color: var(--site-text,#0f172a); }
.nexus-content-list[data-card-surface=soft] [data-content-card] { background: var(--site-soft,#eef4f1); color: var(--site-text,#0f172a); }
.nexus-content-list[data-card-surface=primary] [data-content-card] { background: var(--site-primary,#0f3d3e); color: var(--site-on-primary,#fff); }

.nexus-content-list[data-card-radius=none] [data-content-card] { border-radius: 0; }
.nexus-content-list[data-card-radius=small] [data-content-card] { border-radius: .5rem; }
.nexus-content-list[data-card-radius=medium] [data-content-card] { border-radius: 1rem; }
.nexus-content-list[data-card-radius=large] [data-content-card] { border-radius: 1.5rem; }

.nexus-content-list[data-card-border=none] [data-content-card] { border: 0; box-shadow: none; }
.nexus-content-list[data-card-border=outline] [data-content-card] { border: 1px solid var(--site-border,#dce7e2); }
.nexus-content-list[data-card-border=accent-top] [data-content-card] {
    border: 1px solid var(--site-border,#dce7e2);
    border-top: 4px solid var(--site-accent,#0f766e);
}

.nexus-content-list[data-card-shadow=none] [data-content-card] { box-shadow: none; }
.nexus-content-list[data-card-shadow=soft] [data-content-card] { box-shadow: 0 10px 28px color-mix(in srgb,var(--site-primary,#0f172a) 9%,transparent); }
.nexus-content-list[data-card-shadow=raised] [data-content-card] { box-shadow: 0 18px 48px color-mix(in srgb,var(--site-primary,#0f172a) 17%,transparent); }

.nexus-content-list[data-image-border=none] [data-content-image] { border: 0; }
.nexus-content-list[data-image-border=subtle] [data-content-image] { border: 3px solid color-mix(in srgb,var(--site-primary,#0f3d3e) 16%,transparent); }
.nexus-content-list[data-image-border=accent] [data-content-image] { border: 3px solid var(--site-accent,#0f766e); }

.nexus-content-list[data-detail-layout=stacked] [data-content-details] { display: grid; grid-template-columns: minmax(0,1fr); width: 100%; }
.nexus-content-list[data-detail-layout=grid] [data-content-details] { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; }

.nexus-content-list[data-card-style=profile] [data-content-card] { height: auto; }
.nexus-content-list[data-card-style=profile] [data-content-title] { min-height: 0; }
.nexus-content-list[data-card-style=profile] [data-content-excerpt] { min-height: 0; }

.nexus-content-list[data-action-style=link] [data-content-action] { width: max-content; }
.nexus-content-list[data-action-style=outline] [data-content-action],
.nexus-content-list[data-action-style=solid] [data-content-action] {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    margin-top: 1rem;
    padding: .7rem 1rem;
    border: 1px solid var(--site-primary,#0f3d3e);
    border-radius: 999px;
    font-weight: 700;
    text-align: center;
}
.nexus-content-list[data-action-style=outline] [data-content-action] { background: transparent; color: var(--site-primary,#0f3d3e); }
.nexus-content-list[data-action-style=solid] [data-content-action] { background: var(--site-primary,#0f3d3e); color: var(--site-on-primary,#fff); }

.nexus-content-reviews[data-presentation-profile=editorial] .nexus-content-review {
    border-radius: 0;
    border-inline-start: 3px solid var(--site-accent, #047857);
    box-shadow: none;
}

.nexus-content-reviews[data-presentation-profile=compact] .nexus-content-review {
    min-height: 230px;
    padding: 1rem;
}

.nexus-content-reviews[data-presentation-profile=marketplace] .nexus-content-review {
    border: 1px solid color-mix(in srgb, var(--site-accent, #047857) 24%, #e2e8f0);
    box-shadow: 0 10px 28px color-mix(in srgb, var(--site-primary, #0f172a) 8%, transparent);
}

.nexus-content-reviews[data-presentation-profile=minimal] .nexus-content-review {
    border-radius: 0;
    box-shadow: none;
}

.nexus-content-metadata[data-presentation-profile=marketplace] {
    border-inline-start: 3px solid var(--site-accent, #047857);
    padding-inline-start: 1rem;
}

.nexus-content-metadata[data-presentation-profile=minimal] {
    padding-block: 0;
}

.nexus-content-list .nexus-content-languages {
    display: grid;
    gap: .4rem;
    padding-block: .35rem .6rem;
}
.nexus-content-list .nexus-content-languages-label {
    color: var(--site-muted, #64748b);
    font-size: .75rem;
    line-height: 1.4;
}
.nexus-content-list .nexus-content-languages ul {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.nexus-content-list .nexus-content-languages li {
    border: 1px solid var(--site-border, #e2e8f0);
    border-radius: .35rem;
    padding: .2rem .45rem;
    color: var(--site-text, #0f172a);
    font-size: .75rem;
    line-height: 1.4;
}
.nexus-content-action-context{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* shared/selector */
/* shared/selector: plugin presentation; site design stays in published page/region CSS. */
.nexus-header-selector {
    position: relative;
    flex: none;
    font-size: 13px;
    line-height: 1.25;
}

.nexus-header-selector>summary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 36px;
    padding: 7px 10px;
    border: 1px solid currentColor;
    border-radius: 9px;
    list-style: none;
    cursor: pointer;
    white-space: nowrap;
}

.nexus-header-selector>summary::-webkit-details-marker {
    display: none;
}

.nexus-header-selector>summary::marker {
    content: "";
}

.nexus-header-selector>summary svg {
    flex: none;
    transition: transform .2s;
}

.nexus-header-selector[open]>summary svg {
    transform: rotate(180deg);
}

.nexus-header-selector__options {
    position: absolute;
    inset-inline-end: 0;
    top: calc(100% + 6px);
    z-index: 90;
    min-width: 104px;
    max-height: 60dvh;
    overflow-y: auto;
    padding: 6px;
    background: var(--site-surface,#fff);
    color: var(--site-primary,#0b2239);
    border: 1px solid var(--site-border,#e2e8f0);
    border-radius: 12px;
    box-shadow: 0 10px 28px var(--site-shadow,#0b223929);
    overscroll-behavior: contain;
}

/* Popovers enter the browser's top layer, so a one-line/scrollable topbar
   cannot clip the menu or turn the opened menu into part of its scroll area. */
.nexus-header-selector__options[popover] {
    position: fixed;
    inset: auto;
    width: max-content;
    max-width: calc(100vw - 16px);
    margin: 0;
}

.nexus-header-selector__options form {
    width: 100%;
    margin: 0;
}

.nexus-header-selector__options a,
.nexus-header-selector__options button {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 40px;
    padding: 8px 12px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: start;
    white-space: nowrap;
    text-decoration: none;
    cursor: pointer;
}

.nexus-header-selector__options a:hover,
.nexus-header-selector__options a[aria-current],
.nexus-header-selector__options button:hover,
.nexus-header-selector__options button[aria-current] {
    background: var(--site-soft,#ecfdf5);
    color: var(--site-primary,#065f46);
}

.nexus-header-selector>summary:focus-visible,
.nexus-header-selector__options a:focus-visible,
.nexus-header-selector__options button:focus-visible {
    outline: 2px solid var(--site-accent,#34d399);
    outline-offset: 2px;
}

@media (max-width:767px) {
    .nexus-header-selector[data-nexus-plugin][data-presentation-profile]>summary {
        min-height: 44px;
        padding: 8px;
    }
    .nexus-header-selector__options a,
    .nexus-header-selector__options button {
        min-height: 44px;
    }
}

@media (prefers-reduced-motion:reduce) {
    .nexus-header-selector>summary svg {
        transition: none;
    }
}

/* currency-rates */
/* currency-rates owns its presentation profiles; selector mechanics stay in shared/selector. */
.nexus-currency-switcher[data-presentation-profile="editorial"] > summary {
    min-height: 34px;
    border-width: 0 0 1px;
    border-radius: 0;
    padding-inline: .25rem;
    font-family: var(--site-heading-font, inherit);
    font-weight: 700;
}

.nexus-currency-switcher[data-presentation-profile="compact"] > summary {
    min-height: 32px;
    border-radius: .5rem;
    padding: 5px 8px;
    font-size: .75rem;
    font-weight: 700;
}

.nexus-currency-switcher[data-presentation-profile="marketplace"] > summary {
    border-color: var(--site-border, #dbe5df);
    background: var(--site-soft, #ecfdf5);
    color: var(--site-primary, #065f46);
    font-weight: 700;
}

.nexus-currency-switcher[data-presentation-profile="marketplace"] .nexus-header-selector__options :is(a, button)[aria-current="true"] {
    background: var(--site-primary, #065f46);
    color: #fff;
}

.nexus-currency-switcher[data-presentation-profile="minimal"] > summary {
    min-height: 32px;
    border: 0;
    border-radius: 0;
    padding-inline: 0;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .06em;
}

/* device-contact */
/* device-contact: plugin presentation; site design stays in published page/region CSS. */
.nexus-contact-dialog [data-contact-modal-panel]>[data-device-recipient] {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
    padding: 12px;
    border: 1px solid var(--site-hover,#d1fae5);
    border-radius: 12px;
    background: var(--site-soft,#ecfdf5);
    color: var(--site-primary,#064e3b);
}

.nexus-device-recipient>img {
    width: 64px;
    height: 64px;
    object-fit: contain;
    border-radius: 50%;
    flex: none;
}

.nexus-device-recipient>div {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    overflow-wrap: anywhere;
}

.nexus-contact-stepped [data-contact-field][hidden],
.nexus-contact-stepped button[hidden],
.nexus-contact-dialog [data-device-recipient][hidden] {
    display: none !important;
}

.nexus-contact-stepped [data-contact-field] {
    grid-column: 1/-1;
}

.nexus-contact-step-label {
    margin: 0 0 16px;
    font-size: 13px;
    font-weight: 600;
    color: var(--site-accent,#047857);
}

.nexus-contact-step-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 16px;
}

.nexus-contact-step-actions button[type=submit] {
    margin-inline-start: auto;
}

.nexus-contact-step-actions button {
    min-height: 44px;
    padding: 10px 24px;
    border-radius: 12px;
    background: var(--site-accent,#047857);
    color: #fff;
    font-weight: 600;
}

.nexus-contact-step-actions button:focus-visible {
    outline: 3px solid var(--site-border,#6ee7b7);
    outline-offset: 3px;
}

/* shared/navigation */
/* shared/navigation: plugin presentation; site design stays in published page/region CSS. */
html {
    scroll-padding-top: calc(var(--nexus-fixed-header-height,0px) + 1rem);
    scroll-padding-bottom: calc(var(--nexus-bottom-nav-height,0px) + 1rem);
}

html[data-nexus-bottom-nav] body {
    padding-bottom: var(--nexus-bottom-nav-height,0px);
}

@media (min-width:1024px) {
    .nexus-desktop-header-fixed {
        position: fixed !important;
        top: 0 !important;
        left: var(--nexus-fixed-left,0px) !important;
        width: var(--nexus-fixed-width,100%) !important;
        z-index: 50 !important;
        background: var(--site-surface,#fff);
        box-shadow: 0 3px 16px var(--site-shadow,#0f172a14);
        margin-top: 0 !important;
    }
}

@media print {
    .nexus-desktop-header-fixed {
        position: static !important;
    }
    body {
        padding-bottom: 0;
    }
}

/* shared/content-disclosure */
.nexus-content-disclosure-window {
    position: relative;
}

.nexus-content-disclosure-copy {
    display: flow-root;
    line-height: 1.9;
    overflow-wrap: anywhere;
}

.nexus-content-disclosure.is-collapsed .nexus-content-disclosure-window,
.nexus-detail-description-disclosure.is-collapsed .nexus-content-disclosure-window {
    max-height: var(--disclosure-height);
    overflow: hidden;
}

.nexus-content-disclosure.is-collapsed .nexus-content-disclosure-window::after,
.nexus-detail-description-disclosure.is-collapsed .nexus-content-disclosure-window::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 48px;
    background: linear-gradient(transparent, var(--site-surface, #fff));
    pointer-events: none;
}

.nexus-content-disclosure-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    margin-top: .9rem;
    min-height: 44px;
    padding: .65rem 1rem;
    border: 1px solid var(--site-border, #cbd5e1);
    border-radius: .8rem;
    background: var(--site-soft, #f8fafc);
    color: var(--site-primary, #0f3d3e);
    font-weight: 700;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

.nexus-content-disclosure-toggle[hidden] {
    display: none;
}

.nexus-content-disclosure-toggle:hover {
    border-color: var(--site-primary, #0f3d3e);
    background: color-mix(in srgb, var(--site-primary, #0f3d3e) 9%, var(--site-surface, #fff));
}

.nexus-content-disclosure-toggle:focus-visible {
    outline: 2px solid var(--site-accent, #0f766e);
    outline-offset: 3px;
}

.nexus-content-disclosure-toggle svg {
    flex: none;
    transition: transform .18s ease;
}

.nexus-content-disclosure-toggle[aria-expanded=true] svg {
    transform: rotate(180deg);
}

@media print {
    .nexus-content-disclosure.is-collapsed .nexus-content-disclosure-window,
    .nexus-detail-description-disclosure.is-collapsed .nexus-content-disclosure-window {
        max-height: none;
        overflow: visible;
    }

    .nexus-content-disclosure-window::after,
    .nexus-content-disclosure-toggle {
        display: none !important;
    }
}

/* entity-detail */
/* entity-detail: plugin presentation; site design stays in published page/region CSS. */
[data-nexus-plugin=entity-detail] {
    color: var(--site-text,#1e293b);
    font-family: var(--site-body-font,Arial,sans-serif);
}

[data-nexus-plugin=entity-detail][data-gallery-position=after_header] {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

[data-nexus-plugin=entity-detail][data-gallery-position=after_header] > * {
    order: 3;
}

[data-nexus-plugin=entity-detail][data-gallery-position=after_header] > .nexus-detail-header {
    order: 1;
}

[data-nexus-plugin=entity-detail][data-gallery-position=after_header] > .nexus-gallery {
    order: 2;
}

[data-nexus-plugin=entity-detail] .nexus-detail-header h1,
[data-nexus-plugin=entity-detail] .nexus-detail-section > h2,
[data-nexus-plugin=entity-detail] .nexus-detail-description h2,
[data-nexus-plugin=entity-detail] .nexus-detail-description h3,
[data-nexus-plugin=entity-detail] .nexus-detail-description h4 {
    font-family: var(--site-heading-font,Georgia,serif);
}

[data-nexus-plugin=entity-detail] .nexus-detail-header,
[data-nexus-plugin=entity-detail] .nexus-detail-section {
    border-color: var(--site-border,#e2e8f0);
    background: var(--site-surface,#fff);
}

[data-nexus-plugin=entity-detail] .nexus-detail-header h1,
[data-nexus-plugin=entity-detail] .nexus-detail-section > h2,
[data-nexus-plugin=entity-detail] .nexus-detail-option-single dd,
[data-nexus-plugin=entity-detail] .nexus-detail-options-table td {
    color: var(--site-text,#1e293b);
}

[data-nexus-plugin=entity-detail] .nexus-detail-header p,
[data-nexus-plugin=entity-detail] .nexus-detail-description,
[data-nexus-plugin=entity-detail] .nexus-detail-option-single dt,
[data-nexus-plugin=entity-detail] .nexus-detail-section dt {
    color: var(--site-muted,#64748b);
}

[data-nexus-plugin=entity-detail] .nexus-detail-header svg,
[data-nexus-plugin=entity-detail] .nexus-detail-section > p svg {
    color: var(--site-accent,#047857);
}

[data-nexus-plugin=entity-detail] .nexus-detail-description-disclosure .nexus-content-disclosure-toggle {
    margin-inline: auto;
    border-radius: 999px;
    padding-inline: 1.15rem;
}

[data-nexus-plugin=entity-detail] .nexus-detail-description-disclosure.is-collapsed .nexus-content-disclosure-window::after {
    height: 72px;
}

[data-nexus-plugin=entity-detail] .nexus-detail-reference {
    color: var(--site-primary,#0f172a);
}

[data-nexus-plugin=entity-detail] .nexus-detail-header > div:last-child,
[data-nexus-plugin=entity-detail] .nexus-detail-section dl > div,
[data-nexus-plugin=entity-detail] .nexus-detail-options-table tbody {
    border-color: var(--site-border,#e2e8f0);
}

[data-nexus-plugin=entity-detail] .nexus-detail-options {
    border-color: var(--site-border,#a7d8c5);
    background: var(--site-soft,#ecfdf5);
}

[data-nexus-plugin=entity-detail] .nexus-detail-option-single,
[data-nexus-plugin=entity-detail] .nexus-detail-options-table tbody {
    border-color: var(--site-border,#dbe5df);
    background: var(--site-surface,#fff);
}

[data-nexus-plugin=entity-detail] .nexus-detail-option-price,
[data-nexus-plugin=entity-detail] .nexus-detail-options-table tbody tr:hover {
    background: var(--site-soft,#ecfdf5);
}

[data-nexus-plugin=entity-detail] .nexus-detail-options-table thead {
    background: var(--site-primary,#064e3b);
    color: var(--site-on-primary,#fff);
}

.nexus-detail-option-actions {
    display: flex;
    flex: none;
    align-items: stretch;
    gap: .65rem;
}

.nexus-detail-option-inquiry {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--site-accent,#047857);
    border-radius: .75rem;
    background: transparent;
    padding: .65rem 1rem;
    color: var(--site-accent,#047857);
    font-weight: 700;
    white-space: nowrap;
}

.nexus-detail-option-inquiry:is(:hover,:focus-visible) {
    background: var(--site-accent,#047857);
    color: var(--site-on-accent,#fff);
    outline: none;
}

@media (max-width:639px) {
    .nexus-detail-option-actions {
        width: 100%;
        flex-direction: column;
    }
}

.nexus-detail-tiles {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    column-gap: 12px;
    row-gap: 8px;
}

.nexus-detail-tile {
    height: 100%;
    min-height: 108px;
    display: grid;
    grid-template-rows: 24px auto auto;
    align-content: center;
    justify-items: center;
    align-items: center;
    gap: 3px;
    padding: 10px;
    text-align: center;
    background: var(--site-surface,#fff);
    border: 1px solid var(--site-canvas,#f1f5f9);
    border-radius: 10px;
    box-shadow: 0 4px 20px var(--site-shadow,#0f172a08);
}

.nexus-detail-tile>svg {
    color: var(--site-muted,#9ca3af);
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

.nexus-detail-tile dt {
    color: var(--site-muted,#64748b);
    font-size: 14px;
    line-height: 20px;
    min-height: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.nexus-detail-tile dd {
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    color: var(--site-text,#1e293b);
    margin-top: 0;
    overflow-wrap: anywhere;
}

@media (min-width:768px) {
    .nexus-detail-tiles {
        grid-template-columns: repeat(var(--detail-columns,5),minmax(0,1fr));
    }
}

.nexus-detail-description {
    font-size: 16px;
    line-height: 1.75;
    overflow-wrap: anywhere;
}

.nexus-detail-description>:first-child {
    margin-top: 0;
}

.nexus-detail-description>:last-child {
    margin-bottom: 0;
}

.nexus-detail-description p,
.nexus-detail-description ul,
.nexus-detail-description ol {
    margin-top: .75rem;
    margin-bottom: .75rem;
}

.nexus-detail-description h2,
.nexus-detail-description h3,
.nexus-detail-description h4 {
    margin-top: 1.25rem;
    margin-bottom: .5rem;
    color: var(--site-primary,#0f172a);
    font-weight: 600;
    line-height: 1.4;
}

.nexus-detail-description h2 {
    font-size: 1.25rem;
}

.nexus-detail-description h3 {
    font-size: 1.125rem;
}

.nexus-detail-description h4 {
    font-size: 1rem;
}

.nexus-detail-navigation {
    display: flex;
    flex-wrap: nowrap;
    gap: .375rem;
    margin: 1rem 0;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    padding: 3px;
}

.nexus-detail-navigation::-webkit-scrollbar {
    display: none;
}

.nexus-detail-navigation:not(:has(a)) {
    display: none;
}

.nexus-detail-navigation a {
    gap: .45rem;
}

.nexus-detail-navigation-icon {
    display: block;
    width: 18px;
    height: 18px;
    flex: none;
}

.nexus-detail-navigation a {
    display: inline-flex;
    flex: none;
    white-space: nowrap;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: .65rem .75rem;
    border: 1px solid var(--site-border,#a7d8c5);
    border-radius: .75rem;
    background: var(--site-soft,#ecfdf5);
    color: var(--site-primary,#064e3b);
    font-size: .875rem;
    font-weight: 600;
    text-decoration: none;
    transition: background-color .2s,border-color .2s;
}

.nexus-detail-navigation a:hover {
    background: var(--site-hover,#d1fae5);
    border-color: var(--site-accent,#059669);
}

.nexus-detail-navigation a[aria-current="location"] {
    background: var(--site-accent,#047857);
    border-color: var(--site-accent,#047857);
    color: #fff;
}

.nexus-detail-navigation a:focus-visible {
    outline: 2px solid var(--site-accent,#047857);
    outline-offset: 2px;
}

@media (max-width:767px) {
    .nexus-detail-navigation[data-mobile-icons-only=true] {
        gap: .25rem;
        padding-inline: .5rem;
    }

    .nexus-detail-navigation[data-mobile-icons-only=true] a {
        width: 44px;
        min-width: 44px;
        height: 44px;
        min-height: 44px;
        gap: 0;
        padding: 0;
        border-radius: 999px;
    }

    .nexus-detail-navigation[data-mobile-icons-only=true] .nexus-detail-navigation-label {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip-path: inset(50%);
        white-space: nowrap;
        border: 0;
    }

    .nexus-detail-navigation[data-mobile-icons-only=true] .nexus-detail-navigation-icon {
        width: 21px;
        height: 21px;
    }
}

[data-detail-navigation-target] {
    scroll-margin-top: 6rem;
}

.nexus-detail-navigation.is-docked {
    position: fixed;
    inset: auto 0 0;
    z-index: 45;
    margin: 0;
    padding: .6rem max(1rem,env(safe-area-inset-right)) calc(.6rem + env(safe-area-inset-bottom));
    background: rgb(255 255 255 / .97);
    border-top: 1px solid var(--site-hover,#d1fae5);
    box-shadow: 0 -4px 18px var(--site-shadow,#0f172a14);
    flex-wrap: nowrap;
    overflow-x: auto;
    overscroll-behavior-x: contain;
}

.nexus-detail-navigation {
    justify-content: flex-start;
    justify-content: safe center;
}

.nexus-detail-navigation.is-docked {
    justify-content: safe center;
}

.nexus-detail-navigation.is-docked a {
    flex: none;
    white-space: nowrap;
}

@media print {
    .nexus-detail-navigation.is-docked {
        display: none;
    }
}

.nexus-detail-video>[data-nexus-plugin=video-embed] {
    padding-top: 0;
    padding-bottom: 0;
}

.nexus-detail-reference {
    margin-inline-start: auto;
}

.nexus-detail-options-table {
    /* Keep absolutely positioned accessible headings inside the scrollable table. */
    position: relative;
    text-align: start;
}

[data-nexus-plugin=entity-detail] [data-map-container] {
    border: 1px solid var(--site-border,#e2e8f0);
    background: var(--site-canvas,#f1f5f9);
}

.nexus-map-approximate-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: grid;
    place-items: center;
    overflow: hidden;
    pointer-events: none;
}

.nexus-map-approximate-area {
    position: relative;
    display: grid;
    width: clamp(132px,32vw,230px);
    aspect-ratio: 1;
    place-items: center;
    border: 2px solid color-mix(in srgb,var(--site-accent,#0f766e) 78%,white);
    border-radius: 50%;
    background: color-mix(in srgb,var(--site-accent,#0f766e) 20%,transparent);
    box-shadow: 0 0 0 10px color-mix(in srgb,var(--site-surface,#fff) 38%,transparent),0 12px 40px color-mix(in srgb,var(--site-primary,#0f172a) 22%,transparent);
}

.nexus-map-approximate-area::before {
    position: absolute;
    width: 72px;
    aspect-ratio: 1;
    border-radius: 50%;
    background: color-mix(in srgb,var(--site-surface,#fff) 96%,var(--site-canvas,#f1f5f9));
    box-shadow: 0 4px 18px color-mix(in srgb,var(--site-primary,#0f172a) 12%,transparent);
    content: '';
}

.nexus-map-approximate-area>span {
    position: relative;
    z-index: 1;
    max-width: 11ch;
    border-radius: 999px;
    background: color-mix(in srgb,var(--site-surface,#fff) 92%,transparent);
    padding: .45rem .75rem;
    color: var(--site-primary,#0f172a);
    font-size: .75rem;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    box-shadow: 0 4px 16px color-mix(in srgb,var(--site-primary,#0f172a) 14%,transparent);
}

.nexus-map-dialog .nexus-map-approximate-area {
    width: clamp(180px,28vw,360px);
}

[data-nexus-plugin=entity-detail][data-presentation-profile=editorial]>.nexus-gallery {
    padding-block: .5rem;
}

[data-nexus-plugin=entity-detail][data-presentation-profile=editorial] .nexus-gallery-track {
    border-radius: .25rem;
    box-shadow: 0 20px 55px color-mix(in srgb,var(--site-primary,#0c2b2f) 10%,transparent);
}

[data-nexus-plugin=entity-detail][data-presentation-profile=compact]>.nexus-gallery {
    margin-bottom: .75rem;
}

[data-nexus-plugin=entity-detail][data-presentation-profile=marketplace] .nexus-gallery-track,
[data-nexus-plugin=entity-detail][data-presentation-profile=marketplace] [data-map-container] {
    border-radius: .75rem;
}

[data-nexus-plugin=entity-detail][data-presentation-profile=marketplace] [data-map-container] {
    border-top: 4px solid var(--site-accent,#047857);
}

[data-nexus-plugin=entity-detail][data-presentation-profile=minimal] .nexus-gallery-track,
[data-nexus-plugin=entity-detail][data-presentation-profile=minimal] [data-map-container] {
    border-radius: 0;
}

/* Locale-selectable profiles alter layout density without storing executable
   styles in plugin data. Colours remain controlled by site design tokens. */
[data-nexus-plugin=entity-detail][data-presentation-profile=editorial]>header {
    padding-inline: 0;
    border-width: 0 0 1px;
    border-color: color-mix(in srgb,var(--site-accent,#0b6b70) 24%,var(--site-border,#d5ddd6));
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

[data-nexus-plugin=entity-detail][data-presentation-profile=editorial]>header h1 {
    max-width: 24ch;
    letter-spacing: -.025em;
}

[data-nexus-plugin=entity-detail][data-presentation-profile=editorial] .nexus-detail-section>h2 {
    font-family: var(--site-heading-font,Newsreader,Georgia,serif);
    font-size: clamp(1.5rem,2.4vw,2rem);
    font-weight: 500;
    letter-spacing: -.02em;
}

[data-nexus-plugin=entity-detail][data-presentation-profile=editorial] .nexus-detail-navigation {
    gap: 0;
    border-block: 1px solid color-mix(in srgb,var(--site-primary,#0c2b2f) 18%,transparent);
    padding: 0;
}

[data-nexus-plugin=entity-detail][data-presentation-profile=editorial] .nexus-detail-navigation a {
    min-height: 3rem;
    padding-inline: 1rem;
    border: 0;
    border-radius: 0;
    background: transparent;
}

[data-nexus-plugin=entity-detail][data-presentation-profile=editorial] .nexus-detail-navigation a:hover,
[data-nexus-plugin=entity-detail][data-presentation-profile=editorial] .nexus-detail-navigation a[aria-current="location"] {
    background: transparent;
    color: var(--site-accent,#0b6b70);
    box-shadow: inset 0 -2px var(--site-accent,#0b6b70);
}

[data-nexus-plugin=entity-detail][data-presentation-profile=editorial] .nexus-detail-options {
    border-color: color-mix(in srgb,var(--site-primary,#0c2b2f) 20%,transparent);
    border-radius: .25rem;
    background: color-mix(in srgb,var(--site-surface,#fff) 88%,var(--site-canvas,#eef1ef));
}

[data-nexus-plugin=entity-detail][data-presentation-profile=editorial] .nexus-detail-option-single {
    border-radius: .25rem;
}

[data-nexus-plugin=entity-detail][data-presentation-profile=compact]>header,
[data-nexus-plugin=entity-detail][data-presentation-profile=compact]>section {
    margin-bottom: .75rem;
}

[data-nexus-plugin=entity-detail][data-presentation-profile=compact] .nexus-detail-tile {
    min-height: 88px;
    padding: 8px;
}

[data-nexus-plugin=entity-detail][data-presentation-profile=compact] .nexus-detail-navigation {
    margin-block: .55rem;
}

[data-nexus-plugin=entity-detail][data-presentation-profile=compact] .nexus-detail-options {
    padding: .75rem;
}

[data-nexus-plugin=entity-detail][data-presentation-profile=compact] .nexus-detail-option-single {
    gap: .75rem;
    padding: .75rem;
}

[data-nexus-plugin=entity-detail][data-presentation-profile=marketplace]>header {
    border-top: 4px solid var(--site-accent,#047857);
    border-radius: .75rem;
}

[data-nexus-plugin=entity-detail][data-presentation-profile=marketplace] .nexus-detail-tile {
    border-radius: .5rem;
    box-shadow: none;
}

[data-nexus-plugin=entity-detail][data-presentation-profile=marketplace] .nexus-detail-navigation a {
    border-radius: .5rem;
}

[data-nexus-plugin=entity-detail][data-presentation-profile=marketplace] .nexus-detail-options {
    border-top: 4px solid var(--site-accent,#047857);
    border-radius: .75rem;
}

[data-nexus-plugin=entity-detail][data-presentation-profile=marketplace] .nexus-detail-option-price {
    border-inline-start: 3px solid var(--site-accent,#047857);
}

[data-nexus-plugin=entity-detail][data-presentation-profile=minimal]>header,
[data-nexus-plugin=entity-detail][data-presentation-profile=minimal]>section {
    border-color: transparent;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

[data-nexus-plugin=entity-detail][data-presentation-profile=minimal] .nexus-detail-tile {
    min-height: 80px;
    border-width: 0 0 1px;
    border-radius: 0;
    box-shadow: none;
}

[data-nexus-plugin=entity-detail][data-presentation-profile=minimal] .nexus-detail-options,
[data-nexus-plugin=entity-detail][data-presentation-profile=minimal] .nexus-detail-option-single,
[data-nexus-plugin=entity-detail][data-presentation-profile=minimal] .nexus-detail-option-price {
    border-color: transparent;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

[data-nexus-plugin=entity-detail][data-header-layout=compact] .nexus-detail-header {
    padding-block: 1rem;
}

[data-nexus-plugin=entity-detail][data-header-layout=compact] .nexus-detail-header-top {
    margin-bottom: .65rem;
}

[data-nexus-plugin=entity-detail][data-header-layout=compact] .nexus-detail-header h1 {
    font-size: clamp(1.25rem,2.5vw,1.75rem);
}

[data-nexus-plugin=entity-detail][data-header-layout=compact] .nexus-detail-header-meta {
    margin-top: .75rem;
    padding-top: .75rem;
}

@media (min-width:1024px) {
    [data-nexus-plugin=entity-detail][data-header-layout=split] .nexus-detail-header {
        display: grid;
        grid-template-columns: minmax(0,2fr) minmax(15rem,1fr);
        column-gap: clamp(1.5rem,4vw,3rem);
        align-items: center;
    }

    [data-nexus-plugin=entity-detail][data-header-layout=split] .nexus-detail-header-top {
        grid-column: 1 / -1;
    }

    [data-nexus-plugin=entity-detail][data-header-layout=split] .nexus-detail-header-meta {
        grid-column: 2;
        grid-row: 2;
        align-self: stretch;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        margin-top: 0;
        padding-block: .25rem;
        padding-inline-start: clamp(1.25rem,3vw,2rem);
        border-top: 0;
        border-inline-start: 1px solid var(--site-border,#e2e8f0);
    }
}

[data-nexus-plugin=entity-detail][data-header-price-emphasis=prominent] .nexus-detail-header-meta strong {
    padding: .8rem 1rem;
    font-size: clamp(1.35rem,2.5vw,1.85rem);
    color: var(--site-on-primary,#fff);
    background: var(--site-primary,#0f172a);
}

[data-nexus-plugin=entity-detail][data-header-price-emphasis=quiet] .nexus-detail-header-meta strong {
    padding-inline: 0;
    font-size: 1.125rem;
    color: var(--site-text,#1e293b);
    background: transparent;
}

[data-nexus-plugin=entity-detail][data-price-tone=accent] .nexus-detail-price-stack > strong,
[data-nexus-plugin=entity-detail][data-price-tone=accent] .nexus-detail-primary-price,
[data-nexus-plugin=entity-detail][data-price-tone=accent] .nexus-detail-option-table-price,
[data-nexus-plugin=entity-detail][data-price-tone=accent] .nexus-detail-option-price > p:last-child {
    color: var(--site-accent,#047857);
}

[data-nexus-plugin=entity-detail][data-price-tone=danger] .nexus-detail-price-stack > strong,
[data-nexus-plugin=entity-detail][data-price-tone=danger] .nexus-detail-primary-price,
[data-nexus-plugin=entity-detail][data-price-tone=danger] .nexus-detail-option-table-price,
[data-nexus-plugin=entity-detail][data-price-tone=danger] .nexus-detail-option-price > p:last-child {
    color: var(--site-danger,#ce354d);
}

[data-nexus-plugin=entity-detail][data-price-tone=danger] .nexus-detail-price-stack > strong,
[data-nexus-plugin=entity-detail][data-price-tone=danger] .nexus-detail-option-price {
    background: color-mix(in srgb,var(--site-danger,#ce354d) 9%,var(--site-surface,#fff));
}

.nexus-detail-price-stack {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-end;
    gap: .35rem;
}

.nexus-detail-value {
    text-align: end;
}

.nexus-detail-price-stack > small {
    color: var(--site-muted,#64748b);
    font-size: .8125rem;
    line-height: 1.2rem;
}

.nexus-detail-price-stack > .nexus-detail-price-label {
    color: var(--site-text,#1e293b);
    font-weight: 700;
}

@media (max-width: 639px) {
    .nexus-detail-price-stack { align-items: flex-start; }
}


.nexus-detail-media-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    gap: 1rem;
}

.nexus-detail-media-grid > a {
    display: block;
    min-width: 0;
}

.nexus-detail-media-grid > a:focus-visible {
    outline: 3px solid var(--site-accent,#047857);
    outline-offset: 3px;
}

.nexus-detail-media-grid[data-media-style=cards] > a,
.nexus-detail-media-grid > [data-media-kind=pdf] {
    display: flex;
    height: 100%;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--site-border,#e2e8f0);
    border-radius: .85rem;
    background: var(--site-surface,#fff);
    color: var(--site-text,#1e293b);
    text-decoration: none;
}

.nexus-detail-media-grid img {
    width: 100%;
    height: auto;
    border: 1px solid var(--site-border,#e2e8f0);
    border-radius: .75rem;
    object-fit: contain;
    background: var(--site-surface,#fff);
}

.nexus-detail-media-grid[data-media-ratio=landscape] img { aspect-ratio: 4 / 3; }
.nexus-detail-media-grid[data-media-ratio=square] img { aspect-ratio: 1 / 1; }
.nexus-detail-media-grid[data-media-ratio=portrait] img { aspect-ratio: 4 / 5; }
.nexus-detail-media-grid[data-media-fit=cover] img { object-fit: cover; }

.nexus-detail-media-grid[data-media-style=cards] img {
    border: 0;
    border-radius: 0;
}

.nexus-detail-media-file {
    display: flex;
    min-height: 160px;
    aspect-ratio: 4 / 3;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: .75rem;
    background: var(--site-canvas,#f1f5f9);
    color: var(--site-muted,#64748b);
    font-size: .85rem;
    font-weight: 600;
}
.nexus-detail-media-file-icon { width: 40px; height: 40px; }
.nexus-detail-media-grid[data-media-ratio=square] .nexus-detail-media-file { aspect-ratio: 1 / 1; }
.nexus-detail-media-grid[data-media-ratio=portrait] .nexus-detail-media-file { aspect-ratio: 4 / 5; }
.nexus-detail-media-caption {
    display: flex;
    flex-direction: column;
    gap: .65rem;
    margin-top: auto;
    padding: .85rem 1rem;
    border-top: 1px solid var(--site-border,#e2e8f0);
}
.nexus-detail-media-caption strong {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    overflow-wrap: anywhere;
    height: 2.8em;
    font-family: var(--site-heading-font,inherit);
    font-size: .95rem;
    font-weight: 600;
    line-height: 1.4;
}
.nexus-detail-media-action {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    font-size: .875rem;
    font-weight: 600;
    color: var(--site-primary,#0f172a);
}
.nexus-detail-media-action > span { font-size: 1.3rem; }
@media (hover:hover) {
    .nexus-detail-media-grid[data-media-style=cards] > a:hover,
    .nexus-detail-media-grid > [data-media-kind=pdf]:hover { border-color: var(--site-accent,#047857); }
}

@media (min-width: 640px) {
    .nexus-detail-media-grid[data-media-columns="2"] { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .nexus-detail-media-grid[data-media-columns="3"] { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .nexus-detail-media-grid[data-media-columns="4"] { grid-template-columns: repeat(4,minmax(0,1fr)); }
}

/* Count-driven pages reuse the main photo rail and shared lightbox. */
[data-detail-mosaic] .nexus-detail-mosaic-track { align-items: stretch; scrollbar-width: none; }
[data-detail-mosaic] .nexus-detail-mosaic-track::-webkit-scrollbar { display: none; }
.nexus-detail-mosaic-page {
    display: grid; flex: 0 0 100%; min-width: 0; min-height: 0; overflow: hidden;
    width: 100%; max-width: 100%; max-height: var(--mosaic-max-height,none);
    aspect-ratio: var(--mosaic-ratio,16 / 9); gap: var(--gallery-gap,4px);
    grid-template-columns: repeat(3,minmax(0,1fr)); grid-template-rows: repeat(2,minmax(0,1fr));
    scroll-snap-align: start; scroll-snap-stop: always; background: var(--site-surface,#fff);
}
.nexus-detail-mosaic-tile { display: block; position: relative; min-width: 0; min-height: 0; overflow: hidden; background: var(--site-canvas,#eef1ef); }
.nexus-detail-mosaic-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: var(--gallery-image-fit,cover); }
.nexus-detail-mosaic-page[data-mosaic-count="1"] { grid-template-columns: minmax(0,1fr); grid-template-rows: minmax(0,1fr); }
.nexus-detail-mosaic-page[data-mosaic-count="2"] { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: minmax(0,1fr); }
.nexus-detail-mosaic-page[data-mosaic-count="3"] { grid-template-columns: repeat(2,minmax(0,1fr)); }
.nexus-detail-mosaic-page[data-mosaic-count="3"] > :first-child { grid-row: span 2; }
.nexus-detail-mosaic-page[data-mosaic-count="4"] { grid-template-columns: minmax(0,2fr) repeat(2,minmax(0,1fr)); }
.nexus-detail-mosaic-page[data-mosaic-count="4"] > :first-child { grid-row: span 2; }
.nexus-detail-mosaic-page[data-mosaic-count="4"] > :nth-child(2) { grid-column: span 2; }
.nexus-detail-mosaic-page[data-mosaic-count="5"] > :first-child { grid-row: span 2; }
.nexus-detail-mosaic-title, .nexus-detail-mosaic-total { position: absolute; z-index: 2; background: var(--site-surface,#fff); color: var(--site-primary,#173c32); border: 1px solid var(--site-border,#dce3e0); box-shadow: 0 2px 12px #0001; font-size: .9rem; font-weight: 600; }
.nexus-detail-mosaic-title { inset-inline-start: 50%; top: 1rem; transform: translateX(-50%); max-width: calc(100% - 2rem); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; padding: .65rem 1rem; pointer-events: none; }
[dir=rtl] .nexus-detail-mosaic-title { transform: translateX(50%); }
.nexus-detail-mosaic-title[hidden] { display: none; }
.nexus-detail-mosaic-total { inset-inline-start: 1rem; bottom: 1rem; display: inline-flex; align-items: center; gap: .6rem; min-height: 44px; padding: .6rem 1rem; cursor: pointer; }
[data-detail-mosaic] .nexus-gallery-arrow { width: 56px; height: 56px; border-radius: 50%; border: 1px solid var(--site-border,#dce3e0); background: var(--site-surface,#fff); color: var(--site-primary,#173c32); font-size: 22px; }
[data-detail-mosaic] .nexus-gallery-arrow:is(:hover,:focus-visible) { background: var(--site-primary,#173c32); color: var(--site-on-primary,#fff); }
[data-detail-mosaic] .nexus-gallery-arrow[hidden] { display: none; }
[data-detail-mosaic] .nexus-gallery-arrow:disabled { opacity: .45; cursor: default; }
.nexus-detail-mosaic-total:focus-visible, .nexus-detail-mosaic-track:focus-visible { outline: 3px solid var(--site-accent,#047857); outline-offset: 3px; }
.nexus-detail-mosaic-tile[aria-current=true] { outline: 2px solid var(--site-accent,#047857); outline-offset: -2px; }
.nexus-detail-mosaic-tile:focus-visible { outline: 4px solid var(--site-accent,#047857); outline-offset: -4px; }
/* Without scripting the count-driven pages remain browsable. The runtime moves,
   rather than copies, their links into a single-photo rail on small screens. */
@media (max-width:767px) {
    .nexus-detail-mosaic-page { aspect-ratio: 4 / 3; }
    [data-detail-mosaic] .nexus-detail-mosaic-track[data-mosaic-mobile] > .nexus-detail-mosaic-tile { flex: 0 0 100%; width: 100%; max-height: var(--mosaic-max-height,none); aspect-ratio: 4 / 3; scroll-snap-align: start; scroll-snap-stop: always; }
    [data-detail-mosaic] .nexus-gallery-arrow { width: 44px; height: 44px; font-size: 18px; }
    .nexus-detail-mosaic-title { top: .6rem; font-size: .8rem; padding: .4rem .7rem; }
    .nexus-detail-mosaic-total { inset-inline-start: .65rem; bottom: .65rem; padding: .45rem .7rem; font-size: .8rem; }
}

/* entity-features */
/* entity-features: plugin presentation; site design stays in published page/region CSS. */
[data-feature-highlight-icon] {
    line-height: 1;
    align-self: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.nexus-entity-features [data-feature-grid] {
    grid-template-columns: repeat(var(--feature-mobile-columns,1),minmax(0,1fr));
}

.nexus-feature-highlights {
    display: grid;
    grid-template-columns: repeat(var(--feature-mobile-columns,1),minmax(0,1fr));
    gap: .75rem;
}

.nexus-feature-highlights[data-layout=row] {
    display: flex;
    flex-wrap: nowrap;
    gap: .75rem;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline proximity;
    scrollbar-width: thin;
}

.nexus-feature-highlights[data-layout=row] > li {
    flex: 0 0 clamp(15rem,28vw,20rem);
    scroll-snap-align: start;
}

@media (min-width:1024px) {
    .nexus-entity-features [data-feature-grid],
    .nexus-feature-highlights[data-layout=grid] {
        grid-template-columns: repeat(var(--feature-columns,3),minmax(0,1fr));
    }
}

.nexus-entity-features[data-presentation-profile=editorial] > div:first-of-type,
.nexus-entity-features[data-presentation-profile=editorial] li > :is(a,div) {
    border-radius: 3px;
}

.nexus-entity-features[data-presentation-profile=compact] {
    padding-block: .75rem;
}

.nexus-entity-features[data-presentation-profile=compact] li > :is(a,div) {
    min-height: 2.5rem;
    padding-block: .375rem;
}

.nexus-entity-features[data-presentation-profile=marketplace] > div:first-of-type {
    border-inline-start: 4px solid var(--site-accent,#047857);
    border-radius: .75rem;
}

.nexus-entity-features[data-presentation-profile=minimal] > div:first-of-type,
.nexus-entity-features[data-presentation-profile=minimal] li > :is(a,div) {
    border-color: transparent;
    border-radius: 0;
    background: transparent;
    padding-inline: 0;
}

/* floating-contact */
/* floating-contact: plugin presentation; site design stays in published page/region CSS. */
[data-nexus-plugin="floating-contact"].fixed {
    bottom: calc(1.5rem + var(--nexus-bottom-nav-height,0px));
}

[data-nexus-plugin="floating-contact"][data-presentation-profile=editorial] {
    border-radius: 3px;
}

[data-nexus-plugin="floating-contact"][data-presentation-profile=compact] {
    gap: .5rem;
    padding: .75rem;
}

[data-nexus-plugin="floating-contact"][data-presentation-profile=marketplace] {
    outline: 2px solid color-mix(in srgb,#25d366 35%,white);
    outline-offset: 2px;
}

[data-nexus-plugin="floating-contact"][data-presentation-profile=minimal] {
    border: 1px solid currentColor;
    background: var(--site-surface,#fff);
    color: var(--site-primary,#0f172a);
    box-shadow: none;
}

/* gallery-showcase */
/* gallery-showcase: plugin presentation; site design stays in published page/region CSS. */
.nexus-photo-dialog .nexus-lightbox-status[data-preview=true] {
    inset: auto 56px 12px;
    max-height: calc(100% - 24px);
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px 12px;
    padding: 8px 12px;
    border-radius: 8px;
    background: #0f172aeb;
    color: #fff;
    font-size: 13px;
}

.nexus-photo-dialog .nexus-lightbox-status[data-preview=true] p {
    flex: 1 1 180px;
    margin: 0;
}

.nexus-photo-dialog .nexus-lightbox-status[data-preview=true] button {
    flex: 0 0 auto;
}

.nexus-gallery-showcase__grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 1rem;
}

.nexus-gallery-showcase__item {
    display: flex;
    height: 100%;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--site-border,#e2e8f0);
    border-radius: 1rem;
    background: var(--site-surface,#fff);
}

.nexus-gallery-showcase__image {
    display: block;
    aspect-ratio: var(--gallery-ratio,4/3);
    overflow: hidden;
    background: var(--site-canvas,#f1f5f9);
}

.nexus-gallery-showcase__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.nexus-gallery-showcase__image:hover img {
    transform: scale(1.025);
}

.nexus-gallery-showcase__image:focus-visible {
    outline: 3px solid var(--site-accent,#047857);
    outline-offset: -3px;
}

.nexus-gallery-showcase__caption {
    display: -webkit-box;
    min-height: 4rem;
    margin-top: auto;
    padding: .75rem;
    overflow: hidden;
    color: var(--site-text,#1e293b);
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

@media (min-width:768px) {
    .nexus-gallery-showcase__grid {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
}

@media (min-width:1280px) {
    .nexus-gallery-showcase__grid {
        grid-template-columns: repeat(var(--gallery-columns,4),minmax(0,1fr));
    }
}

.nexus-gallery-showcase[data-presentation-profile=editorial] .nexus-gallery-showcase__grid {
    gap: clamp(1rem,2vw,1.75rem);
}

.nexus-gallery-showcase[data-presentation-profile=editorial] .nexus-gallery-showcase__item {
    border: 0;
    border-radius: .25rem;
    background: transparent;
}

.nexus-gallery-showcase[data-presentation-profile=editorial] .nexus-gallery-showcase__caption {
    min-height: 3.5rem;
    padding-inline: 0;
}

.nexus-gallery-showcase[data-presentation-profile=compact] {
    padding-block: 1rem;
}

.nexus-gallery-showcase[data-presentation-profile=compact] .nexus-gallery-showcase__subtitle {
    margin-bottom: 1rem;
}

.nexus-gallery-showcase[data-presentation-profile=compact] .nexus-gallery-showcase__grid {
    gap: .5rem;
}

.nexus-gallery-showcase[data-presentation-profile=compact] .nexus-gallery-showcase__item,
.nexus-gallery-showcase[data-presentation-profile=marketplace] .nexus-gallery-showcase__item {
    border-radius: .5rem;
}

.nexus-gallery-showcase[data-presentation-profile=marketplace] .nexus-gallery-showcase__item {
    box-shadow: 0 4px 18px color-mix(in srgb,var(--site-primary,#173c32) 8%,transparent);
}

.nexus-gallery-showcase[data-presentation-profile=minimal] .nexus-gallery-showcase__item {
    border: 0;
    border-radius: 0;
    background: transparent;
}

.nexus-gallery-showcase[data-presentation-profile=minimal] .nexus-gallery-showcase__caption {
    min-height: 0;
    padding-inline: 0;
}

.nexus-gallery-track {
    display: flex;
    gap: var(--gallery-gap,12px);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
    overscroll-behavior-x: contain;
    border-radius: 16px;
}

.nexus-gallery-slide {
    position: relative;
    flex: 0 0 100%;
    scroll-snap-align: start;
    background: var(--site-canvas,#eef1ef);
    aspect-ratio: 16/7;
    min-width: 0;
}

.nexus-gallery-slide img {
    width: 100%;
    height: 100%;
    object-fit: var(--gallery-image-fit,contain);
    display: block;
}

.nexus-gallery-count {
    position: absolute;
    inset-inline-end: 16px;
    bottom: 16px;
    background: var(--site-surface,#fff);
    padding: 6px 12px;
    border-radius: 8px;
    color: var(--site-primary,#173c32);
    font-size: 14px;
}

@media (max-width:767px) {
    .nexus-gallery-slide {
        aspect-ratio: 4/3;
    }
}

.nexus-gallery-track {
    --gallery-count: var(--gallery-mobile,1);
}

.nexus-gallery-slide {
    flex: 0 0 calc((100% - (var(--gallery-count) - 1)*var(--gallery-gap,12px))/var(--gallery-count));
    aspect-ratio: 4/3;
}

@media (min-width:768px) {
    .nexus-gallery-track {
        --gallery-count: var(--gallery-tablet,1);
    }
}

@media (min-width:1280px) {
    .nexus-gallery-track {
        --gallery-count: var(--gallery-desktop,1);
    }
}

.nexus-gallery {
    position: relative;
}

.nexus-gallery-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: grid;
    place-items: center;
    width: 48px;
    height: 60px;
    border: 2px solid #fff;
    border-radius: 12px;
    background: var(--site-control-overlay,#064e3be8);
    color: white;
    font-size: 25px;
    box-shadow: 0 3px 14px #0006;
    cursor: pointer;
    z-index: 2;
}

.nexus-gallery-arrow.is-previous {
    inset-inline-start: 12px;
}

.nexus-gallery-arrow.is-next {
    inset-inline-end: 12px;
}

.nexus-gallery-arrow:hover {
    background: var(--site-primary,#022c22);
}

.nexus-gallery-arrow:focus-visible {
    outline: 3px solid var(--site-border,#6ee7b7);
    outline-offset: 2px;
}

.nexus-gallery-slide:focus-visible {
    outline: 4px solid var(--site-accent,#047857);
    outline-offset: -4px;
}

@media (max-width:767px) {
    .nexus-gallery-arrow {
        width: 44px;
        height: 52px;
        font-size: 22px;
    }
    .nexus-gallery-arrow.is-previous {
        inset-inline-start: 6px;
    }
    .nexus-gallery-arrow.is-next {
        inset-inline-end: 6px;
    }
}

@media (max-width:767px) {
    .nexus-photo-dialog .nexus-lightbox-body.has-inquiry {
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }
    .nexus-photo-dialog .nexus-lightbox-body.has-inquiry .nexus-lightbox-media {
        height: auto;
        flex: 1;
        min-height: 0;
        padding: 0 6px 6px;
        gap: 4px;
    }
    .nexus-photo-dialog .nexus-lightbox-inquiry {
        flex: none;
        max-height: 140px;
        overflow: auto;
        padding: 8px;
        display: flex;
        align-items: center;
        gap: 8px;
    }
    .nexus-photo-dialog .nexus-lightbox-inquiry[data-inquiry-display=button] {
        display: grid;
        grid-template-columns: minmax(0,1fr);
        grid-template-rows: minmax(0,1fr) auto;
        align-items: stretch;
        max-height: min(34dvh,180px);
        overflow: hidden;
        gap: 6px;
    }
    .nexus-photo-dialog .nexus-lightbox-inquiry[data-inquiry-display=button] [data-contact-advisor] {
        min-height: 0;
        overflow: auto;
        overscroll-behavior: contain;
        scrollbar-width: thin;
    }
    .nexus-photo-dialog .nexus-lightbox-inquiry [data-contact-advisor] {
        flex: 1;
        min-width: 0;
        margin: 0;
    }
    .nexus-photo-dialog .nexus-lightbox-inquiry [data-contact-advisor] [data-content-card] {
        display: grid;
        grid-template-columns: 48px minmax(0,1fr);
        gap: 4px 8px;
        padding: 6px;
        border-radius: 10px;
    }
    .nexus-photo-dialog .nexus-lightbox-inquiry [data-contact-advisor] [data-content-image] {
        height: 48px !important;
        width: 48px;
        grid-row: 1/3;
        border-radius: 8px;
    }
    .nexus-photo-dialog .nexus-lightbox-inquiry [data-contact-advisor] [data-content-title] {
        font-size: 13px;
        line-height: 18px;
        min-height: 0;
        text-align: start;
        margin: 0;
    }
    .nexus-photo-dialog .nexus-lightbox-inquiry [data-contact-advisor] [data-content-excerpt] {
        display: none;
    }
    .nexus-photo-dialog .nexus-lightbox-inquiry [data-contact-advisor] [data-content-details] {
        min-height: 0;
        gap: 2px;
        margin: 0;
    }
    .nexus-photo-dialog .nexus-lightbox-inquiry [data-contact-advisor] [data-content-details] a {
        min-height: 24px;
        font-size: 11px;
        padding: 2px 4px;
        gap: 4px;
    }
    .nexus-photo-dialog .nexus-lightbox-inquiry [data-contact-advisor] [data-content-details] svg {
        width: 12px;
        height: 12px;
    }
    .nexus-photo-dialog .nexus-lightbox-inquiry [data-contact-advisor] [data-content-details] a>span:first-child {
        width: 18px;
        height: 18px;
    }
    .nexus-photo-dialog .nexus-media-inquiry-button {
        flex: none;
        min-height: 44px;
        font-size: 12px;
        padding: 8px;
        margin: 0;
    }
    .nexus-photo-dialog .nexus-lightbox-inquiry[data-inquiry-display=button] .nexus-media-inquiry-button {
        width: 100%;
        font-size: 14px;
        border-radius: 10px;
    }
    .nexus-photo-dialog .nexus-media-contact-actions {
        margin-top: 0;
    }
    .nexus-photo-dialog .nexus-media-contact-actions .nexus-media-inquiry-button {
        flex: 1;
        width: auto;
    }
    .nexus-photo-dialog .nexus-lightbox-thumbs button {
        flex-basis: 48px;
        height: 36px;
    }
}

/* lazy-load */
/* Original media in <noscript> replaces deferred placeholders when scripting is disabled. */
@media (scripting: none) {
    [data-nexus-lazy-src] { display: none !important; }
}

/* Keep dimensions/crop owned by the media component. Hide pixels until decode completes. */
img[data-nexus-lazy-presentation]:is([data-nexus-lazy-state=waiting],[data-nexus-lazy-state=loading]) {
    object-position: -100000px -100000px !important;
    color: transparent;
}

img:is([data-nexus-lazy-presentation=soft],[data-nexus-lazy-presentation=shimmer],[data-nexus-lazy-presentation=skeleton],[data-nexus-lazy-presentation=pulse],[data-nexus-lazy-presentation=solid]):is([data-nexus-lazy-state=waiting],[data-nexus-lazy-state=loading]) {
    --nexus-lazy-shape: color-mix(in srgb, var(--site-accent, #407b80) 12%, var(--site-soft, #edf1f2));
    background-color: var(--site-soft, #edf1f2);
    background-repeat: no-repeat;
}

/* `soft` retains the previous presentation for already cached documents. */
img:is([data-nexus-lazy-presentation=soft],[data-nexus-lazy-presentation=shimmer]):is([data-nexus-lazy-state=waiting],[data-nexus-lazy-state=loading]) {
    background-image: linear-gradient(110deg,
        transparent 25%,
        color-mix(in srgb, var(--site-surface, #fff) 78%, transparent) 45%,
        color-mix(in srgb, var(--site-accent, #407b80) 7%, transparent) 55%,
        transparent 75%);
    background-size: 250% 100%;
    background-position: 100% 0;
}

/* Photo block and two shorter lines scale inside the existing media box, even in thumbnails. */
img[data-nexus-lazy-presentation=skeleton]:is([data-nexus-lazy-state=waiting],[data-nexus-lazy-state=loading]) {
    background-image:
        linear-gradient(var(--nexus-lazy-shape), var(--nexus-lazy-shape)),
        linear-gradient(var(--nexus-lazy-shape), var(--nexus-lazy-shape)),
        linear-gradient(var(--nexus-lazy-shape), var(--nexus-lazy-shape));
    background-size: 52% 40%, 52% 5%, 34% 5%;
    background-position: 50% 30%, 50% 71%, 36.36% 83%;
}

/* Off-screen waiting photos stay static; only actual requests animate. */
img:is([data-nexus-lazy-presentation=soft],[data-nexus-lazy-presentation=shimmer])[data-nexus-lazy-state=loading] {
    animation: nexus-media-loading 1.5s ease-in-out infinite;
}

img[data-nexus-lazy-presentation=pulse][data-nexus-lazy-state=loading] {
    animation: nexus-media-pulse 1.6s ease-in-out infinite;
}

@keyframes nexus-media-loading {
    to { background-position: -100% 0; }
}

/* Animate the placeholder colour, leaving the photo's authored opacity untouched. */
@keyframes nexus-media-pulse {
    0%, 100% { background-color: var(--site-soft, #edf1f2); }
    50% { background-color: var(--nexus-lazy-shape); }
}

@media (prefers-reduced-motion: reduce) {
    img[data-nexus-lazy-presentation][data-nexus-lazy-state=loading] {
        animation: none;
    }
}

/* loan-calculator */
.nexus-loan { min-width: 0; margin: 0 0 1.25rem; padding: 1.25rem; border: 1px solid var(--site-border,#d6dfeb); border-radius: 1rem; background: var(--site-surface,#fff); scroll-margin-top: 6rem; }
.nexus-loan h2 { margin: 0 0 1rem; font-size: 1.25rem; line-height: 1.4; font-weight: 600; }
.nexus-loan-description, .nexus-loan-note, .nexus-loan-status { margin: 0 0 1rem; color: var(--site-muted,#52647a); font-size: .875rem; line-height: 1.6; }
.nexus-loan-form, .nexus-loan-results { display: grid; grid-template-columns: minmax(0, 1fr); gap: .875rem; }
.nexus-loan-form label { display: grid; align-content: start; gap: .5rem; min-width: 0; font-size: .875rem; }
.nexus-loan-form input, .nexus-loan-form select { width: 100%; min-width: 0; min-height: 44px; padding: .75rem; border: 1px solid var(--site-border,#d6dfeb); border-radius: .75rem; background: var(--site-surface,#fff); color: var(--site-primary,#0f172a); }
.nexus-loan-form input[readonly] { background: var(--site-soft,#ecfdf5); border-color: var(--site-border,#a7f3d0); color: var(--site-primary,#065f46); font-weight: 600; }
.nexus-loan-down-payment { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-content: start; gap: .5rem; }
.nexus-loan-down-payment small { grid-column: 1 / -1; }
.nexus-loan-form small { color: var(--site-muted,#52647a); font-size: .75rem; line-height: 1.5; }
.nexus-loan-form button, .nexus-loan-inquiry { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; border-radius: .75rem; padding: .75rem 1.25rem; background: var(--site-accent,#047857); color: white; font-weight: 600; cursor: pointer; }
.nexus-loan-form button { grid-column: 1 / -1; justify-self: start; }
.nexus-loan :is(input,select,button,a):focus-visible { outline: 2px solid var(--site-accent,#047857); outline-offset: 3px; }
.nexus-loan-results { margin-top: 1rem; align-items: stretch; }
.nexus-loan-results > div { display: flex; flex-direction: column; gap: .5rem; padding: .875rem; border: 1px solid var(--site-border,#d6dfeb); border-radius: .75rem; background: var(--site-canvas,#f8fafc); min-width: 0; }
.nexus-loan-results span { min-height: 2.8em; font-size: .8125rem; line-height: 1.4; color: var(--site-muted,#52647a); }
.nexus-loan-results strong { margin-top: auto; font-size: 1.125rem; line-height: 1.4; overflow-wrap: anywhere; }
.nexus-loan-results .nexus-loan-payment { background: var(--site-soft,#ecfdf5); border-color: var(--site-border,#a7f3d0); color: var(--site-primary,#065f46); }
.nexus-loan-basis { grid-column: 1 / -1; margin: 0; color: var(--site-muted,#52647a); font-size: .8125rem; line-height: 1.6; }
.nexus-loan-note { margin: 1rem 0 0; font-size: .75rem; }
.nexus-loan-notice, .nexus-loan-information { margin-top: 1rem; padding: .875rem 1rem; border: 1px solid var(--site-border,#bae6fd); border-radius: .75rem; background: var(--site-canvas,#f0f9ff); color: var(--site-text,#164e63); font-size: .8125rem; line-height: 1.6; }
.nexus-loan-information { border-color: var(--site-border,#d6dfeb); background: var(--site-canvas,#f8fafc); color: var(--site-text,#334155); }
.nexus-loan-information h3, .nexus-loan-notice strong { display: block; margin: 0 0 .375rem; font-size: .875rem; font-weight: 600; }
.nexus-loan-notice p, .nexus-loan-information p { margin: 0; white-space: pre-line; }
.nexus-loan-status:not(:empty) { margin: .75rem 0 0; }
.nexus-loan-status:empty { display: none; }
.nexus-loan-inquiry { margin-top: .875rem; }
.nexus-loan [hidden] { display: none !important; }
@media (min-width: 640px) { .nexus-loan-form, .nexus-loan-results { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* locale-switcher */
/* locale-switcher owns only its profiles; selector mechanics stay in shared/selector. */
.nexus-locale-switcher > summary > span {
    max-width: 11rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nexus-locale-switcher .nexus-header-selector__options a {
    white-space: nowrap;
    text-align: start;
    unicode-bidi: plaintext;
}

@media (max-width: 767px) {
    .nexus-locale-switcher > summary > span {
        max-width: 8rem;
    }
}

.nexus-locale-switcher[data-presentation-profile=editorial]>summary {
    border-width: 0 0 1px;
    border-radius: 0;
    padding-inline: .25rem;
}

.nexus-locale-switcher[data-presentation-profile=editorial]:not(details) a {
    border-bottom: 1px solid transparent;
    padding: .3rem .1rem;
    text-decoration: none;
}

.nexus-locale-switcher[data-presentation-profile=editorial]:not(details) a:is(:hover,[aria-current=page]) {
    border-bottom-color: currentColor;
}

.nexus-locale-switcher[data-presentation-profile=compact]>summary {
    min-height: 32px;
    border-radius: .5rem;
    padding: 5px 8px;
    font-size: .75rem;
}

.nexus-locale-switcher[data-presentation-profile=compact]:not(details) {
    gap: .35rem;
    font-size: .75rem;
}

.nexus-locale-switcher[data-presentation-profile=marketplace]>summary {
    border-color: var(--site-border,#dbe5df);
    background: var(--site-soft,#ecfdf5);
    color: var(--site-primary,#065f46);
    font-weight: 700;
}

.nexus-locale-switcher[data-presentation-profile=marketplace]:not(details) a {
    border: 1px solid var(--site-border,#dbe5df);
    border-radius: .55rem;
    padding: .45rem .6rem;
    text-decoration: none;
}

.nexus-locale-switcher[data-presentation-profile=marketplace]:not(details) a[aria-current=page] {
    background: var(--site-primary,#065f46);
    color: #fff;
}

.nexus-locale-switcher[data-presentation-profile=minimal]>summary {
    min-height: 32px;
    border: 0;
    border-radius: 0;
    padding-inline: 0;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .07em;
}

.nexus-locale-switcher[data-presentation-profile=minimal]:not(details) {
    gap: .65rem;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .07em;
}

/* location-map */
/* location-map: plugin presentation; site design stays in published page/region CSS. */
.nexus-location-map__heading {
    display: flex;
    margin-bottom: 1rem;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.nexus-location-map__heading h2 {
    margin: 0;
    color: var(--site-primary,#173c32);
    font-family: var(--site-heading-font,ui-serif,Georgia,serif);
    font-size: 1.5rem;
    line-height: 1.25;
}

.nexus-location-map__frame {
    border: 1px solid var(--site-border,#e2e8f0);
    background: var(--site-canvas,#f1f5f9);
}

.nexus-location-map__address {
    margin: .75rem 0 0;
    color: var(--site-muted,#64748b);
    font-size: .875rem;
}

.nexus-location-map[data-presentation-profile=editorial] .nexus-location-map__frame {
    border-radius: .25rem;
    box-shadow: 0 20px 50px color-mix(in srgb,var(--site-primary,#173c32) 9%,transparent);
}

.nexus-location-map[data-presentation-profile=compact] {
    padding-block: 1rem;
}

.nexus-location-map[data-presentation-profile=compact] .nexus-location-map__heading {
    margin-bottom: .625rem;
}

.nexus-location-map[data-presentation-profile=marketplace] .nexus-location-map__frame {
    border-top: 4px solid var(--site-accent,#047857);
    border-radius: .75rem;
}

.nexus-location-map[data-presentation-profile=minimal] .nexus-location-map__frame {
    border: 0;
    border-radius: 0;
}

.nexus-location-map[data-presentation-profile=minimal] .nexus-location-map__address {
    padding-inline: 0;
}

.nexus-map-actions {
    position: absolute;
    top: 12px;
    inset-inline: 12px;
    display: flex;
    justify-content: flex-end;
    align-items: stretch;
    gap: 8px;
    pointer-events: none;
    z-index: 4;
}

.nexus-map-actions>button,
.nexus-map-actions>a {
    pointer-events: auto;
    display: inline-flex;
    min-width: 0;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid var(--site-border,#e2e8f0);
    border-radius: 8px;
    background: var(--site-surface,#fff);
    color: var(--site-primary,#022c22);
    box-shadow: 0 2px 8px var(--site-shadow,#0f172a26);
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    line-height: 1.3;
}

.nexus-map-actions svg {
    flex: none;
}

.nexus-map-actions>button:hover,
.nexus-map-actions>a:hover {
    background: var(--site-soft,#ecfdf5);
}

.nexus-map-actions>button:focus-visible,
.nexus-map-actions>a:focus-visible {
    outline: 2px solid var(--site-accent,#047857);
    outline-offset: 2px;
}

[data-map-container][data-map-interaction-mode=zoom_only] iframe {
    pointer-events: none;
    touch-action: none;
    user-select: none;
}

.nexus-map-interaction-shield {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: block;
    pointer-events: auto;
    touch-action: pan-y;
    user-select: none;
    cursor: default;
}

.nexus-map-provider-control-mask {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    display: flex;
    width: min(14rem,65%);
    min-height: 3.25rem;
    align-items: center;
    padding: .65rem 1rem;
    border: 1px solid var(--site-border,#e2e8f0);
    border-top: 0;
    border-left: 0;
    border-radius: 0 0 .75rem 0;
    background: color-mix(in srgb,var(--site-surface,#fff) 96%,transparent);
    color: var(--site-primary,#022c22);
    box-shadow: 0 3px 12px var(--site-shadow,#0f172a26);
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.25;
    pointer-events: none;
}

.nexus-map-zoom-controls {
    display: inline-flex;
    overflow: hidden;
    border: 1px solid var(--site-border,#e2e8f0);
    border-radius: 8px;
    background: var(--site-surface,#fff);
    box-shadow: 0 2px 8px var(--site-shadow,#0f172a26);
    pointer-events: auto;
}

.nexus-map-zoom-controls>button {
    display: grid;
    width: 44px;
    min-height: 44px;
    place-items: center;
    border: 0;
    background: transparent;
    color: var(--site-primary,#022c22);
    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
}

.nexus-map-zoom-controls>button+button {
    border-inline-start: 1px solid var(--site-border,#e2e8f0);
}

.nexus-map-zoom-controls>button:hover {
    background: var(--site-soft,#ecfdf5);
}

.nexus-map-zoom-controls>button:focus-visible {
    position: relative;
    outline: 2px solid var(--site-accent,#047857);
    outline-offset: -3px;
}

.nexus-map-zoom-controls>button:disabled {
    opacity: .4;
    cursor: default;
}

.nexus-lightbox.nexus-map-dialog {
    width: 100%;
    max-width: none;
    height: 100dvh;
    max-height: none;
    margin: 0;
    border-radius: 0;
    background: var(--site-surface,#fff);
    color: var(--site-primary,#0b2239);
}

.nexus-map-dialog .nexus-lightbox-media {
    grid-template-rows: minmax(0,1fr);
    padding: 0;
    gap: 0;
}

.nexus-map-dialog .nexus-lightbox-stage {
    overflow: hidden;
    touch-action: auto;
}

.nexus-map-dialog .nexus-lightbox-stage>iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 0;
}

.nexus-map-dialog .nexus-lightbox-controls {
    padding-top: max(12px,env(safe-area-inset-top));
    padding-inline-end: 76px;
}

.nexus-map-dialog .nexus-modal-close {
    top: max(12px,env(safe-area-inset-top));
    inset-inline-end: max(12px,env(safe-area-inset-right));
}

.nexus-map-dialog .nexus-map-dialog-title {
    font-weight: 600;
    overflow-wrap: anywhere;
    min-width: 0;
}

.nexus-map-dialog [data-map-directions] {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    border: 1px solid var(--site-border,#cbd5e1);
    border-radius: 8px;
    padding: 8px 12px;
    font-size: 14px;
    color: var(--site-primary,#065f46);
}

/* menu-manager */
/* menu-manager: plugin presentation; site design stays in published page/region CSS. */
.nexus-site-menu,
.nexus-site-menu__list {
    margin: 0;
    padding: 0;
}

.nexus-site-menu__list {
    list-style: none;
}

.nexus-site-menu__level-1 {
    display: flex;
    align-items: center;
    gap: .35rem;
}

.nexus-site-menu__item {
    position: relative;
}

.nexus-site-menu__link {
    display: flex;
    min-height: 2.5rem;
    align-items: center;
    border-radius: .75rem;
    padding: .55rem .8rem;
    text-decoration: none;
    color: inherit;
    white-space: nowrap;
}

.nexus-site-menu__link:hover,
.nexus-site-menu__link:focus-visible,
.nexus-site-menu__link[aria-current=page] {
    background: var(--menu-hover-background,var(--site-soft,rgba(23,60,50,.08)));
    outline: none;
}

.nexus-site-menu__item>.nexus-site-menu__list {
    position: absolute;
    inset-inline-start: 0;
    top: calc(100% + .25rem);
    z-index: 80;
    display: none;
    min-width: 14rem;
    border: 1px solid var(--site-hover,rgba(23,60,50,.1));
    border-radius: 1rem;
    background: var(--menu-submenu-background,#fff);
    padding: .45rem;
    box-shadow: 0 18px 45px var(--site-shadow,rgba(16,47,40,.18));
}

.nexus-site-menu__item>.nexus-site-menu__list .nexus-site-menu__list {
    inset-inline-start: calc(100% + .25rem);
    top: 0;
}

.nexus-site-menu__item:hover>.nexus-site-menu__list,
.nexus-site-menu__item:focus-within>.nexus-site-menu__list {
    display: block;
}

.nexus-site-menu__link {
    gap: .5rem;
}

.nexus-site-menu__chevron {
    flex-shrink: 0;
}

.nexus-site-menu__level-1 {
    flex-wrap: wrap;
}

.nexus-site-menu__item>.nexus-site-menu__list {
    top: 100%;
}

.nexus-site-menu__item>.nexus-site-menu__list .nexus-site-menu__list {
    inset-inline-start: 100%;
    top: 0;
}

@media (max-width: 767px) {
    .nexus-site-menu__level-1 {
        display: grid;
        gap: .15rem;
    }
    .nexus-site-menu__item>.nexus-site-menu__list,
.nexus-site-menu__item>.nexus-site-menu__list .nexus-site-menu__list {
        position: static;
        display: block;
        min-width: 0;
        border: 0;
        border-inline-start: 2px solid var(--site-hover,rgba(23,60,50,.12));
        border-radius: 0;
        background: transparent;
        padding-block: .1rem;
        padding-inline: .75rem 0;
        box-shadow: none;
    }
    .nexus-site-menu__link {
        white-space: normal;
    }
}

.nexus-menu-content {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.nexus-mobile-toggle {
    display: none;
    border: 1px solid var(--site-border,#cbd5e1);
    border-radius: 8px;
    padding: 8px 14px;
}

.nexus-submenu-toggle {
    display: none;
}

.nexus-menu-socials {
    display: flex;
    align-items: center;
    gap: 6px;
}

.nexus-menu-socials a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid var(--site-border,#e2e8f0);
    border-radius: 50%;
}

.nexus-site-menu.is-enhanced .has-children>.nexus-site-menu__link {
    padding-inline-end: 34px;
}

.nexus-site-menu.is-enhanced .nexus-site-menu__chevron {
    display: none;
}

.nexus-site-menu.is-enhanced .nexus-submenu-toggle {
    display: block;
    position: absolute;
    inset-inline-end: 0;
    top: 3px;
    width: 32px;
    height: 34px;
    border-radius: 6px;
}

.nexus-site-menu .has-children.is-open>.nexus-site-menu__list {
    display: block;
}

@media (max-width:767px) {
    .nexus-site-menu {
        width: 100%;
    }
    .nexus-menu-content {
        display: block;
    }
    .nexus-site-menu.is-enhanced[data-mobile-collapsible=true]>.nexus-mobile-toggle {
        display: flex;
    }
    .nexus-site-menu.is-enhanced[data-mobile-collapsible=true]:not(.is-open)>.nexus-menu-content {
        display: none;
    }
    .nexus-site-menu.is-enhanced .has-children:not(.is-open)>.nexus-site-menu__list {
        display: none;
    }
    .nexus-menu-socials {
        padding: 12px 0;
    }
    .nexus-menu-content>.nexus-site-menu__list {
        margin-top: 8px;
    }
}

.nexus-mobile-toggle {
    align-items: center;
    justify-content: center;
    gap: 8px;
}

/*
 * Keep collapsible navigation closed during the first paint. The asset runtime
 * enhances the menu after deferred JavaScript loads, so relying on
 * `.is-enhanced` here exposes the complete tree for a moment on slower
 * connections. Breakpoint attributes are server-rendered and therefore safe
 * to use before JavaScript is available.
 */
@media (max-width:1023px) {
    [data-mobile-header] .nexus-site-menu[data-mobile-collapsible=true][data-mobile-breakpoint=auto],
    .nexus-site-menu[data-mobile-collapsible=true][data-mobile-breakpoint="1024"] {
        width: auto;
        position: static;
    }

    [data-mobile-header] .nexus-site-menu[data-mobile-collapsible=true][data-mobile-breakpoint=auto] > .nexus-mobile-toggle,
    .nexus-site-menu[data-mobile-collapsible=true][data-mobile-breakpoint="1024"] > .nexus-mobile-toggle {
        display: flex;
        width: 44px;
        height: 44px;
        padding: 8px;
    }

    [data-mobile-header] .nexus-site-menu[data-mobile-collapsible=true][data-mobile-breakpoint=auto] > .nexus-mobile-toggle .nexus-mobile-toggle-label,
    .nexus-site-menu[data-mobile-collapsible=true][data-mobile-breakpoint="1024"] > .nexus-mobile-toggle .nexus-mobile-toggle-label {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip-path: inset(50%);
    }

    [data-mobile-header] .nexus-site-menu[data-mobile-collapsible=true][data-mobile-breakpoint=auto] > .nexus-menu-content,
    .nexus-site-menu[data-mobile-collapsible=true][data-mobile-breakpoint="1024"] > .nexus-menu-content {
        display: none;
    }
}

@media (max-width:1279px) {
    .nexus-site-menu[data-mobile-collapsible=true][data-mobile-breakpoint="1280"] {
        width: auto;
        position: static;
    }

    .nexus-site-menu[data-mobile-collapsible=true][data-mobile-breakpoint="1280"] > .nexus-mobile-toggle {
        display: flex;
        width: 44px;
        height: 44px;
        padding: 8px;
    }

    .nexus-site-menu[data-mobile-collapsible=true][data-mobile-breakpoint="1280"] > .nexus-mobile-toggle .nexus-mobile-toggle-label {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip-path: inset(50%);
    }

    .nexus-site-menu[data-mobile-collapsible=true][data-mobile-breakpoint="1280"] > .nexus-menu-content {
        display: none;
    }
}

@media (max-width:1535px) {
    .nexus-site-menu[data-mobile-collapsible=true][data-mobile-breakpoint="1536"] {
        width: auto;
        position: static;
    }

    .nexus-site-menu[data-mobile-collapsible=true][data-mobile-breakpoint="1536"] > .nexus-mobile-toggle {
        display: flex;
        width: 44px;
        height: 44px;
        padding: 8px;
    }

    .nexus-site-menu[data-mobile-collapsible=true][data-mobile-breakpoint="1536"] > .nexus-mobile-toggle .nexus-mobile-toggle-label {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip-path: inset(50%);
    }

    .nexus-site-menu[data-mobile-collapsible=true][data-mobile-breakpoint="1536"] > .nexus-menu-content {
        display: none;
    }
}

@media (max-width:1023px) {
    [data-mobile-header] .nexus-site-menu.is-enhanced {
        width: auto;
        position: static;
    }
    [data-mobile-header] .nexus-site-menu.is-enhanced[data-mobile-collapsible=true]>.nexus-mobile-toggle {
        display: flex;
        width: 40px;
        height: 40px;
        padding: 8px;
    }
    [data-mobile-header] .nexus-mobile-toggle-label {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip-path: inset(50%);
    }
    [data-mobile-header] .nexus-site-menu.is-enhanced[data-mobile-collapsible=true]:not(.is-open)>.nexus-menu-content {
        display: none;
    }
    [data-mobile-header] .nexus-site-menu.is-enhanced[data-mobile-collapsible=true]>.nexus-menu-content {
        position: absolute;
        top: 100%;
        inset-inline: 0;
        z-index: 85;
        max-height: 70dvh;
        overflow-y: auto;
        background: var(--site-surface,#fff);
        border-bottom: 1px solid var(--site-border,#dbe3df);
        box-shadow: 0 12px 18px var(--site-shadow,#102f281a);
        padding: 12px;
        display: block;
    }
    [data-mobile-header] .nexus-site-menu__level-1 {
        display: block;
    }
    [data-mobile-header] .nexus-site-menu__item>.nexus-site-menu__list,
[data-mobile-header] .nexus-site-menu__item>.nexus-site-menu__list .nexus-site-menu__list {
        position: static;
        min-width: 0;
        border: 0;
        border-inline-start: 2px solid var(--site-border,#dbe3df);
        box-shadow: none;
        border-radius: 0;
        padding-block: 4px;
        padding-inline: 12px 0;
    }
    [data-mobile-header] .nexus-site-menu.is-enhanced .has-children:not(.is-open)>.nexus-site-menu__list {
        display: none;
    }
    [data-mobile-header] .nexus-site-menu__link {
        white-space: normal;
    }
}

.nexus-site-menu.is-enhanced .nexus-submenu-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    height: 42px;
    line-height: 1;
}

.nexus-submenu-toggle svg {
    display: block;
    transition: transform .2s;
}

.nexus-submenu-toggle[aria-expanded=true] svg {
    transform: rotate(180deg);
}

.nexus-submenu-overview {
    display: none;
}

.nexus-site-menu .nexus-submenu-overview .nexus-menu-directional-arrow {
    display: inline-block;
    flex: 0 0 auto;
    width: 1em;
    overflow: hidden;
    font-size: 0;
    line-height: 1;
    text-align: center;
}

.nexus-site-menu .nexus-submenu-overview .nexus-menu-directional-arrow::before {
    content: "→";
    font-size: .95rem;
}

[dir="rtl"] .nexus-site-menu .nexus-submenu-overview .nexus-menu-directional-arrow::before {
    content: "←";
}

@media (max-width:1023px) {
    [data-mobile-header] .nexus-site-menu__level-1 {
        display: grid;
        gap: 8px;
    }
    [data-mobile-header] .nexus-site-menu__level-1>.nexus-site-menu__item {
        border: 1px solid var(--site-border,#e2e8e5);
        border-radius: 12px;
        background: var(--site-surface,#fff);
    }
    [data-mobile-header] .nexus-site-menu__link {
        min-height: 48px;
        padding: 12px 14px;
        font-size: 15px;
    }
    [data-mobile-header] .nexus-site-menu.is-enhanced .nexus-submenu-toggle {
        height: 48px;
        width: 44px;
    }
    [data-mobile-header] .nexus-site-menu .has-children.is-open>.nexus-site-menu__link {
        background: var(--site-soft,#eaf4ef);
        color: var(--site-primary,#14523b);
        font-weight: 600;
    }
    [data-mobile-header] .nexus-submenu-overview {
        display: block;
        font-size: 13px;
        color: var(--site-primary,#176448);
    }
    [data-mobile-header] .nexus-menu-socials {
        padding: 14px 0 0;
        border-top: 1px solid var(--site-border,#dbe5df);
        margin-top: 14px;
        justify-content: center;
        gap: 12px;
    }
}

@media (max-width:767px) {
    .nexus-submenu-overview {
        display: block;
    }
    .nexus-menu-content {
        border-radius: 14px;
        padding: var(--menu-mobile-padding,12px);
        background: var(--menu-mobile-background,var(--site-canvas,#f8faf9));
    }
    .nexus-site-menu__link {
        min-height: 48px;
    }
    .nexus-site-menu.is-enhanced .nexus-submenu-toggle {
        height: 48px;
    }
}

.nexus-mobile-parent {
    display: none;
}

.nexus-mobile-menu-dialog {
    position: fixed;
    inset-block: 0;
    inset-inline: auto 0;
    margin: 0;
    width: min(100%,32rem);
    max-width: 100%;
    height: 100dvh;
    max-height: none;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: var(--site-surface,#fff);
    color: var(--site-primary,#0b2239);
    overscroll-behavior: contain;
    opacity: 0;
    transform: translateX(2.25rem);
    transition:
        opacity .2s ease,
        transform .38s cubic-bezier(.22,1,.36,1);
}

.nexus-mobile-menu-dialog[open] {
    display: flex;
    flex-direction: column;
}

.nexus-mobile-menu-dialog.is-ready {
    opacity: 1;
    transform: translateX(0);
}

.nexus-mobile-menu-dialog:dir(rtl) {
    transform: translateX(-2.25rem);
}

.nexus-mobile-menu-dialog.is-ready:dir(rtl) {
    transform: translateX(0);
}

.nexus-mobile-menu-dialog::backdrop {
    background: rgb(4 22 18 / .44);
    opacity: 0;
    transition: opacity .25s ease;
    backdrop-filter: blur(3px);
}

.nexus-mobile-menu-dialog.is-ready::backdrop {
    opacity: 1;
}

.nexus-mobile-menu-heading {
    direction: ltr;
    display: grid;
    grid-template-columns: 44px minmax(0,1fr) 44px;
    flex: none;
    align-items: center;
    gap: 10px;
    min-height: calc(68px + env(safe-area-inset-top,0px));
    padding: calc(12px + env(safe-area-inset-top,0px)) max(14px,env(safe-area-inset-right,0px)) 12px max(14px,env(safe-area-inset-left,0px));
    border-bottom: 1px solid var(--site-border,#e2e8f0);
    background: color-mix(in srgb,var(--site-surface,#fff) 92%,transparent);
    box-shadow: 0 1px 0 rgb(15 23 42 / .02);
    backdrop-filter: blur(16px);
}

.nexus-mobile-menu-title {
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
    min-width: 0;
    overflow: hidden;
    color: var(--site-primary,#0b2239);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nexus-mobile-menu-back,
.nexus-mobile-menu-close {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 44px;
    height: 44px;
    border: 1px solid var(--site-border,#dbe5df);
    border-radius: 12px;
    background: var(--site-canvas,#f1f5f3);
    font-size: 30px;
    line-height: 1;
    color: var(--site-primary,#123c31);
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
    transition:
        color .16s ease,
        background-color .16s ease,
        transform .16s ease,
        opacity .16s ease;
}

.nexus-mobile-menu-back {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    border-color: transparent;
    background: transparent;
    font-size: inherit;
}

.nexus-mobile-menu-close {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
}

.nexus-mobile-menu-back:disabled {
    pointer-events: none;
    opacity: 0;
}

.nexus-mobile-menu-back:active,
.nexus-mobile-menu-close:active {
    transform: scale(.92);
}

.nexus-mobile-menu-dialog .nexus-menu-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: stretch;
    flex-wrap: nowrap;
    position: static;
    min-height: 0;
    max-height: none;
    overflow: hidden;
    margin: 0;
    padding: 0;
    background:
        radial-gradient(circle at 100% 0,color-mix(in srgb,var(--site-accent,#047857) 8%,transparent),transparent 42%),
        var(--menu-mobile-background,var(--site-canvas,#f7faf8));
    border: 0;
    border-radius: 0;
    box-shadow: none;
    gap: 0;
}

.nexus-mobile-menu-stage {
    --nexus-menu-drag: 0px;
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    touch-action: pan-y;
    isolation: isolate;
}

.nexus-mobile-menu-dialog .nexus-mobile-menu-panel {
    position: absolute;
    inset: 0;
    display: grid;
    align-content: start;
    gap: 6px;
    width: 100%;
    min-width: 0;
    height: 100%;
    margin: 0;
    padding: 16px max(14px,env(safe-area-inset-right,0px)) calc(22px + env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px));
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-width: thin;
    scrollbar-color: color-mix(in srgb,var(--site-primary,#0b2239) 24%,transparent) transparent;
    opacity: 0;
    transform: translateX(16%);
    pointer-events: none;
    transition:
        transform .38s cubic-bezier(.22,1,.36,1),
        opacity .2s ease;
    will-change: transform,opacity;
}

.nexus-mobile-menu-dialog .nexus-mobile-menu-panel.is-panel-current {
    z-index: 2;
    opacity: 1;
    transform: translateX(var(--nexus-menu-drag));
    pointer-events: auto;
}

.nexus-mobile-menu-dialog .nexus-mobile-menu-panel.is-panel-before {
    z-index: 1;
    opacity: 0;
    transform: translateX(-16%);
}

.nexus-mobile-menu-dialog .nexus-mobile-menu-panel.is-panel-after {
    z-index: 1;
    opacity: 0;
    transform: translateX(16%);
}

.nexus-mobile-menu-dialog:dir(rtl) .nexus-mobile-menu-panel.is-panel-before {
    transform: translateX(16%);
}

.nexus-mobile-menu-dialog:dir(rtl) .nexus-mobile-menu-panel.is-panel-after {
    transform: translateX(-16%);
}

.nexus-mobile-menu-dialog .nexus-mobile-menu-panel>.nexus-site-menu__item {
    position: relative;
    min-width: 0;
    border-bottom: 1px solid color-mix(in srgb,var(--site-border,#dbe5df) 82%,transparent);
    background: transparent;
}

.nexus-mobile-menu-dialog .nexus-site-menu__link {
    min-height: 56px;
    padding: 14px 10px;
    border-radius: 12px;
    white-space: normal;
    color: var(--site-primary,#0b2239);
    font-size: 16px;
    font-weight: 580;
    line-height: 1.35;
    text-align: start;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
    transition:
        color .16s ease,
        background-color .16s ease,
        transform .16s ease;
}

.nexus-mobile-menu-dialog .nexus-site-menu__link:active {
    transform: scale(.985);
}

.nexus-mobile-menu-dialog .nexus-site-menu__link[aria-current=page] {
    background: color-mix(in srgb,var(--site-accent,#047857) 11%,var(--site-surface,#fff));
    color: var(--site-accent,#047857);
    font-weight: 700;
}

.nexus-mobile-menu-dialog .nexus-site-menu__link[aria-current=page]::before {
    content: "";
    flex: 0 0 auto;
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: currentColor;
}

.nexus-mobile-menu-dialog .has-children>a.nexus-site-menu__link,
.nexus-mobile-menu-dialog .nexus-submenu-toggle {
    display: none;
}

.nexus-mobile-menu-dialog .nexus-mobile-parent {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    border: 0;
    background: transparent;
    font-weight: 650;
}

.nexus-mobile-parent svg {
    flex: none;
    transform: rotate(-90deg);
    transition: transform .2s ease;
}

[dir=rtl] .nexus-mobile-menu-dialog .nexus-mobile-parent svg,
.nexus-mobile-menu-dialog:dir(rtl) .nexus-mobile-parent svg {
    transform: rotate(90deg);
}

.nexus-mobile-menu-dialog .nexus-mobile-parent:hover,
.nexus-mobile-menu-dialog .nexus-mobile-parent:focus-visible {
    background: color-mix(in srgb,var(--site-accent,#047857) 7%,var(--site-surface,#fff));
}

.nexus-mobile-menu-dialog .has-current-descendant>.nexus-mobile-parent {
    color: var(--site-accent,#047857);
}

.nexus-mobile-menu-dialog .has-current-descendant>.nexus-mobile-parent::before {
    content: "";
    flex: 0 0 auto;
    width: 7px;
    height: 7px;
    margin-inline-end: -7px;
    border-radius: 999px;
    background: currentColor;
}

.nexus-mobile-menu-dialog .nexus-site-menu__item>.nexus-site-menu__list {
    min-width: 100%;
    margin: 0;
    padding: 16px max(14px,env(safe-area-inset-right,0px)) calc(22px + env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px));
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}

.nexus-mobile-menu-dialog .nexus-submenu-overview {
    display: block;
    margin-bottom: 8px;
    border: 0;
    border-radius: 14px;
    background: color-mix(in srgb,var(--site-accent,#047857) 9%,var(--site-surface,#fff));
    color: var(--site-accent,#047857);
    font-size: 14px;
}

.nexus-mobile-menu-dialog .nexus-submenu-overview .nexus-site-menu__link {
    min-height: 52px;
    padding-inline: 14px;
}

.nexus-mobile-menu-dialog .nexus-menu-socials {
    flex: 0 0 auto;
    margin: 0;
    padding: 12px max(14px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px));
    border-top: 1px solid var(--site-border,#e2e8f0);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    background: var(--site-surface,#fff);
    transition: opacity .18s ease,transform .25s ease;
}

.nexus-mobile-menu-dialog:not([data-menu-depth="0"]) .nexus-menu-socials {
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(100%);
    pointer-events: none;
}

.nexus-mobile-menu-dialog .nexus-menu-socials a {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: var(--site-canvas,#f1f5f3);
    color: var(--site-primary,#065f46);
    transition: background-color .16s ease,transform .16s ease;
}

.nexus-mobile-menu-dialog .nexus-menu-socials a:active {
    transform: scale(.92);
}

.nexus-mobile-menu-dialog button:focus-visible,
.nexus-mobile-menu-dialog a:focus-visible {
    outline: 2px solid var(--site-accent,#047857);
    outline-offset: -3px;
}

@media (max-width:1023px) {
    [data-mobile-header] .nexus-site-menu.is-enhanced[data-mobile-collapsible=true]>.nexus-mobile-toggle {
        width: 44px;
        height: 44px;
    }
}

.nexus-site-menu.is-enhanced .nexus-mobile-menu-dialog .nexus-submenu-toggle {
    display: none;
}

@media (max-width:639px) {
    .nexus-mobile-menu-dialog {
        inset: 0;
        width: 100%;
        max-width: none;
    }
}

@media (prefers-reduced-motion:reduce) {
    .nexus-mobile-menu-dialog,
    .nexus-mobile-menu-dialog::backdrop,
    .nexus-mobile-menu-dialog .nexus-mobile-menu-panel,
    .nexus-mobile-menu-dialog .nexus-menu-socials,
    .nexus-mobile-parent svg {
        transition: none;
    }
}

@media (max-width:1023px) {
    [data-mobile-header] {
        display: flex;
        align-items: center;
        flex-wrap: nowrap;
        gap: 8px;
        padding: 12px;
        position: relative;
    }
    [data-mobile-header] [data-header-brand] {
        flex: 1 1 auto;
        min-width: 0;
        margin-inline-end: auto;
    }
    [data-mobile-header] [data-header-brand] img {
        display: block;
        width: auto;
        max-width: 100%;
        max-height: var(--header-logo-mobile-height,40px);
        height: auto;
    }
    [data-mobile-header] [data-header-search],
[data-mobile-header] [data-header-menu],
[data-mobile-header] [data-header-contact] {
        flex: 0 0 auto;
        width: auto;
        min-width: 0;
    }
    [data-header-contact] [data-contact-display=inline] {
        width: 44px;
        height: 44px;
        padding: 8px;
        box-shadow: none;
    }
}

@media (min-width:1024px) {
    [data-header-contact] {
        display: none;
    }
}

[data-header-socials] {
    display: flex;
    align-items: center;
    flex: none;
}

[data-header-socials]:empty {
    display: none;
}

[data-header-socials] .nexus-menu-socials {
    display: flex;
    flex-wrap: nowrap;
    gap: 2px;
    padding: 0;
    margin: 0;
    border: 0;
}

[data-header-socials] .nexus-menu-socials a {
    width: 32px;
    height: 40px;
    border: 0;
    border-radius: 8px;
    color: inherit;
    display: flex;
    align-items: center;
    justify-content: center;
}

[data-header-socials] .nexus-menu-socials a:hover {
    background: rgb(255 255 255 / .12);
    color: #fff;
}

[data-header-socials] .nexus-menu-socials a:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 1px;
}

[data-header-actions] {
    display: flex;
    flex: none;
    align-items: center;
    gap: 8px;
}

[data-header-actions]>:is(a,button) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    flex: none;
    border-radius: 12px;
}

[data-header-actions] [data-contact-display=inline] {
    padding: 10px;
    box-shadow: none;
}

[data-header-actions] [data-contact-open-key] {
    border: 1px solid var(--site-border,#a7d8c5);
    background: var(--site-soft,#ecfdf5);
    color: var(--site-primary,#065f46);
}

[data-header-actions] [data-contact-open-key]:hover {
    background: var(--site-hover,#d1fae5);
}

[data-header-actions]>:is(a,button):focus-visible {
    outline: 2px solid var(--site-accent,#047857);
    outline-offset: 2px;
}

@media (max-width:1023px) {
    [data-mobile-header] {
        gap: 6px;
    }
    [data-mobile-header] [data-header-brand] {
        order: 1;
    }
    [data-mobile-header] [data-header-search] {
        order: 2;
    }
    [data-mobile-header] [data-header-actions] {
        order: 3;
        gap: 4px;
    }
    [data-mobile-header] [data-header-menu] {
        order: 4;
    }
}

/* Trusted presentation profiles. Menu content remains in its locale-owned entry. */
@media (min-width:1024px) {
    .nexus-site-menu[data-presentation-profile=editorial] > .nexus-menu-content .nexus-site-menu__level-1 {
        gap: clamp(.65rem,1.7vw,2rem);
    }
    .nexus-site-menu[data-presentation-profile=editorial] > .nexus-menu-content .nexus-site-menu__link {
        min-height: 2.75rem;
        border-radius: 0;
        padding-inline: 0;
        background: transparent;
        font-size: .875rem;
        font-weight: 600;
    }
    .nexus-site-menu[data-presentation-profile=editorial] > .nexus-menu-content .nexus-site-menu__level-1>.nexus-site-menu__item>.nexus-site-menu__link::after {
        content: "";
        position: absolute;
        inset-inline: 0;
        bottom: .15rem;
        height: 1px;
        background: currentColor;
        transform: scaleX(0);
        transform-origin: center;
        transition: transform .2s ease;
    }
    .nexus-site-menu[data-presentation-profile=editorial] > .nexus-menu-content .nexus-site-menu__level-1>.nexus-site-menu__item>.nexus-site-menu__link:is(:hover,:focus-visible,[aria-current=page])::after {
        transform: scaleX(1);
    }
    .nexus-site-menu[data-presentation-profile=compact] > .nexus-menu-content .nexus-site-menu__level-1 {
        gap: .15rem;
    }
    .nexus-site-menu[data-presentation-profile=compact] > .nexus-menu-content .nexus-site-menu__link {
        min-height: 2.25rem;
        padding: .4rem .55rem;
        border-radius: .5rem;
        font-size: .8125rem;
    }
    .nexus-site-menu[data-presentation-profile=marketplace] > .nexus-menu-content .nexus-site-menu__level-1 {
        gap: .25rem;
    }
    .nexus-site-menu[data-presentation-profile=marketplace] > .nexus-menu-content .nexus-site-menu__link {
        min-height: 2.65rem;
        border: 1px solid transparent;
        border-radius: .65rem;
        font-weight: 650;
    }
    .nexus-site-menu[data-presentation-profile=marketplace] > .nexus-menu-content .nexus-site-menu__level-1>.nexus-site-menu__item>.nexus-site-menu__link:is(:hover,:focus-visible,[aria-current=page]) {
        border-color: var(--site-border,#dbe5df);
        background: var(--site-soft,#ecfdf5);
    }
    .nexus-site-menu[data-presentation-profile=minimal] > .nexus-menu-content .nexus-site-menu__level-1 {
        gap: clamp(.6rem,1.4vw,1.5rem);
    }
    .nexus-site-menu[data-presentation-profile=minimal] > .nexus-menu-content .nexus-site-menu__link {
        min-height: 2.5rem;
        border-radius: 0;
        padding-inline: .15rem;
        background: transparent;
        font-size: .75rem;
        font-weight: 700;
        letter-spacing: .055em;
        text-transform: uppercase;
    }
}

.nexus-site-menu[dir=rtl] .nexus-site-menu__chevron,
.nexus-site-menu:dir(rtl) .nexus-site-menu__chevron {
    transform: scaleX(-1);
}

.nexus-site-menu[data-presentation-profile=editorial] .nexus-mobile-menu-dialog .nexus-site-menu__level-1>.nexus-site-menu__item {
    border-inline: 0;
    border-radius: 0;
}
.nexus-site-menu[data-presentation-profile=compact] .nexus-mobile-menu-dialog .nexus-site-menu__link {
    min-height: 46px;
    padding-block: 11px;
    font-size: 15px;
}
.nexus-site-menu[data-presentation-profile=marketplace] .nexus-mobile-menu-dialog .nexus-site-menu__level-1>.nexus-site-menu__item {
    box-shadow: 0 4px 12px color-mix(in srgb,var(--site-primary,#0b2239) 7%,transparent);
}
.nexus-site-menu[data-presentation-profile=minimal] .nexus-mobile-menu-dialog .nexus-site-menu__level-1>.nexus-site-menu__item {
    border-inline: 0;
    border-top: 0;
    border-radius: 0;
}

/* Opt-in menu widths use the same dialog and preserve the legacy automatic default. */
.nexus-site-menu.is-enhanced.has-custom-breakpoint.is-collapsed-layout {
    width: auto;
    position: static;
}
.nexus-site-menu.is-enhanced.has-custom-breakpoint.is-collapsed-layout > .nexus-mobile-toggle {
    display: flex;
    width: 44px;
    height: 44px;
    padding: 8px;
}
.nexus-site-menu.is-enhanced.has-custom-breakpoint.is-collapsed-layout > .nexus-mobile-toggle .nexus-mobile-toggle-label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
}
.nexus-site-menu.is-enhanced.has-custom-breakpoint.is-collapsed-layout > .nexus-menu-content {
    display: none;
}
.nexus-site-menu.is-enhanced.has-custom-breakpoint:not(.is-collapsed-layout) > .nexus-mobile-toggle {
    display: none;
}
.nexus-site-menu.is-enhanced.has-custom-breakpoint:not(.is-collapsed-layout) > .nexus-menu-content {
    display: flex;
}

/* Reserve an end column for the submenu control in every desktop profile. */
@media (min-width:1024px) {
    .nexus-site-menu.is-enhanced:not([data-menu-layout=groups])[data-presentation-profile] > .nexus-menu-content .has-children > .nexus-site-menu__link {
        padding-inline-end: 1.85rem !important;
    }

    .nexus-site-menu.is-enhanced:not([data-menu-layout=groups]) .has-children > .nexus-submenu-toggle {
        inset-inline-end: -.05rem;
        top: 50%;
        z-index: 2;
        width: 1.75rem;
        transform: translateY(-50%);
    }

    .nexus-site-menu:not([data-menu-layout=groups]) .nexus-site-menu__level-1 > .submenu-layout-mega > .nexus-site-menu__list {
        position: absolute;
        inset-inline: auto;
        left: var(--nexus-mega-inline-start,0);
        top: calc(100% + var(--nexus-mega-block-gap,0px));
        z-index: 90;
        width: var(--nexus-mega-width,100vw);
        max-width: none;
        box-sizing: border-box;
        grid-template-columns: repeat(auto-fit,minmax(13rem,1fr));
        gap: .5rem;
        border-inline: 0;
        border-radius: 0 0 1rem 1rem;
        padding-block: 1rem;
        padding-inline: max(1rem,calc((100vw - 87.5rem) / 2 + 1rem));
    }

    .nexus-site-menu:not([data-menu-layout=groups]) .nexus-site-menu__level-1 > .submenu-layout-mega::after {
        content: "";
        position: absolute;
        left: var(--nexus-mega-inline-start,0);
        top: 100%;
        z-index: 89;
        display: none;
        width: var(--nexus-mega-width,100vw);
        height: var(--nexus-mega-block-gap,0px);
    }

    .nexus-site-menu:not([data-menu-layout=groups]) .nexus-site-menu__level-1 > .submenu-layout-mega:is(:hover,:focus-within,.is-open) > .nexus-site-menu__list {
        display: grid;
    }

    .nexus-site-menu:not([data-menu-layout=groups]) .nexus-site-menu__level-1 > .submenu-layout-mega:is(:hover,:focus-within,.is-open)::after {
        display: block;
    }

    .nexus-site-menu:not([data-menu-layout=groups]) .submenu-layout-mega > .nexus-site-menu__list > .nexus-site-menu__item > .nexus-site-menu__link {
        min-height: 3rem;
        white-space: normal;
    }
}

/* The configured groups layout keeps nested links in the document flow. */
.nexus-site-menu[data-menu-layout=groups] > .nexus-menu-content {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    box-shadow: none;
}

.nexus-site-menu[data-menu-layout=groups] > .nexus-menu-content > .nexus-site-menu__level-1 {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    align-items: flex-start;
    gap: .35rem 1rem;
}

.nexus-site-menu[data-menu-layout=groups] .nexus-site-menu__item > .nexus-site-menu__list {
    position: static;
    display: none;
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    padding: .35rem 0 0;
    box-shadow: none;
}

.nexus-site-menu[data-menu-layout=groups] .nexus-site-menu__item.is-open > .nexus-site-menu__list {
    display: block;
}

.nexus-site-menu[data-menu-layout=groups] .nexus-site-menu__item > .nexus-site-menu__list .nexus-site-menu__link {
    min-height: 2rem;
    padding: .25rem 0;
    background: transparent;
    color: inherit;
    white-space: normal;
}

.nexus-site-menu[data-menu-layout=groups] .nexus-site-menu__level-1 > .nexus-site-menu__item {
    border: 0;
    background: transparent;
    box-shadow: none;
}

.nexus-site-menu[data-menu-layout=groups] .nexus-site-menu__link {
    color: inherit;
}

.nexus-site-menu[data-menu-layout=groups] .nexus-site-menu__chevron {
    display: none;
}

.nexus-site-menu[data-menu-layout=groups] .nexus-site-menu__item.has-children {
    display: grid;
    grid-template-columns: minmax(0,1fr) 2.5rem;
    align-items: start;
    column-gap: .25rem;
}

.nexus-site-menu[data-menu-layout=groups] .nexus-site-menu__item.has-children > .nexus-site-menu__link {
    grid-column: 1;
    min-width: 0;
    padding-inline-end: .5rem;
    white-space: normal;
}

.nexus-site-menu.is-enhanced[data-menu-layout=groups] .nexus-submenu-toggle {
    display: flex;
    position: static;
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    width: 2.25rem;
    height: 2.25rem;
    color: inherit;
}

.nexus-site-menu.is-enhanced[data-menu-layout=groups] .has-children > .nexus-site-menu__link {
    padding-inline-end: .5rem;
}

.nexus-mobile-menu-brand {
    display: flex;
    grid-column: 2;
    grid-row: 1;
    justify-self: start;
    min-width: 0;
    min-height: 44px;
    align-items: center;
    justify-content: flex-start;
    padding: 0;
    border: 0;
    background: transparent;
}

.nexus-mobile-menu-brand img {
    display: block;
    width: min(12rem,52vw);
    max-height: 38px;
    object-fit: contain;
}

.nexus-mobile-menu-context {
    display: block;
    flex: none;
    min-height: 40px;
    overflow: hidden;
    padding: 10px max(16px,env(safe-area-inset-right,0px)) 8px max(16px,env(safe-area-inset-left,0px));
    border-bottom: 1px solid var(--site-border,#e2e8f0);
    background: var(--site-surface,#fff);
    color: var(--site-primary,#0b2239);
    font-size: .8125rem;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nexus-mobile-menu-actions {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    flex: none;
    gap: 10px;
    padding: 14px max(14px,env(safe-area-inset-right,0px)) calc(14px + env(safe-area-inset-bottom,0px)) max(14px,env(safe-area-inset-left,0px));
    border-top: 1px solid var(--site-border,#dbe5df);
    background: color-mix(in srgb,var(--site-surface,#fff) 96%,var(--site-canvas,#f1f5f3));
    box-shadow: 0 -14px 36px color-mix(in srgb,var(--site-primary,#0b2239) 10%,transparent);
}

.nexus-mobile-menu-action {
    display: flex;
    min-width: 0;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border: 1px solid var(--site-border,#dbe5df);
    border-radius: 16px;
    background: var(--site-surface,#fff);
    padding: 9px 12px;
    color: var(--site-primary,#0b2239);
    font-size: .8125rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    overflow-wrap: anywhere;
    box-shadow: 0 5px 16px color-mix(in srgb,var(--site-primary,#0b2239) 6%,transparent);
    transition: transform .16s ease,box-shadow .16s ease,background-color .16s ease;
}

.nexus-mobile-menu-action__icon {
    display: grid;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 11px;
    background: color-mix(in srgb,currentColor 9%,transparent);
}

.nexus-mobile-menu-action__icon svg {
    width: 19px;
    height: 19px;
}

.nexus-mobile-menu-action__label {
    min-width: 0;
    line-height: 1.25;
}

.nexus-mobile-menu-action--whatsapp {
    border-color: var(--site-accent,#047857);
    background: var(--site-accent,#047857);
    color: #fff;
}

.nexus-mobile-menu-action--form {
    grid-column: 1 / -1;
    min-height: 58px;
    justify-content: flex-start;
    border-color: var(--site-primary,#0b2239);
    background: var(--site-primary,#0b2239);
    padding-inline: 14px 18px;
    color: #fff;
    font-size: .875rem;
    box-shadow: 0 9px 22px color-mix(in srgb,var(--site-primary,#0b2239) 20%,transparent);
}

.nexus-mobile-menu-action--form::after {
    content: "→";
    margin-inline-start: auto;
    font-size: 1.1rem;
    font-weight: 400;
}

[dir="rtl"] .nexus-mobile-menu-action--form::after {
    content: "←";
}

.nexus-mobile-menu-action:is(:hover,:focus-visible) {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px color-mix(in srgb,var(--site-primary,#0b2239) 12%,transparent);
}

.nexus-mobile-menu-action:active {
    transform: scale(.98);
}

@media (max-width:479px) {
    .nexus-site-menu[data-menu-layout=groups] > .nexus-menu-content > .nexus-site-menu__level-1 {
        grid-template-columns: 1fr;
    }
}

/* search-filter */
/* search-filter: plugin presentation; site design stays in published page/region CSS. */
[data-search-multiple]>summary {
    width: 100%;
    box-shadow: inset 0 -3px transparent;
}

[data-search-multiple][data-has-selection=true]>summary,
[data-nexus-plugin=search-filter] [data-has-value=true] {
    box-shadow: inset 0 -3px var(--site-accent,#16a34a);
}

.nexus-location-single > summary {
    transition: border-color .2s ease,box-shadow .2s ease,background-color .2s ease;
}

.nexus-location-single > summary:hover,
.nexus-location-single[open] > summary {
    border-color: color-mix(in srgb,var(--site-accent,#0b6b70) 48%,var(--site-border,#dbe3df));
}

.nexus-location-single-pin,
.nexus-location-single-chevron {
    width: 1.25rem;
    height: 1.25rem;
    flex: 0 0 auto;
}

.nexus-location-single-pin {
    color: var(--site-accent,#0b6b70);
}

.nexus-location-single-chevron {
    color: var(--site-muted,#64748b);
    transition: transform .2s ease;
}

.nexus-location-single[open] .nexus-location-single-chevron {
    transform: rotate(180deg);
}

.nexus-location-single-panel {
    color: var(--site-primary,#172c25);
}

.nexus-location-single-search {
    display: flex;
    min-height: 46px;
    align-items: center;
    gap: .65rem;
    padding: 0 .85rem;
    border: 1px solid var(--site-border,#dbe3df);
    border-radius: .75rem;
    background: color-mix(in srgb,var(--site-canvas,#f8faf9) 70%,white);
}

.nexus-location-single-search:focus-within {
    border-color: var(--site-accent,#0b6b70);
    box-shadow: 0 0 0 3px color-mix(in srgb,var(--site-accent,#0b6b70) 18%,transparent);
}

.nexus-location-single-search svg {
    width: 1.15rem;
    height: 1.15rem;
    flex: 0 0 auto;
    color: var(--site-muted,#64748b);
}

.nexus-location-single-search input {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    padding: .7rem 0;
    background: transparent;
    color: inherit;
    font: inherit;
    box-shadow: none;
}

.nexus-location-single-tree {
    margin-top: .45rem;
    scrollbar-width: thin;
}

.nexus-location-single-row {
    display: flex;
    min-height: 48px;
    align-items: center;
    border-bottom: 1px solid color-mix(in srgb,var(--site-border,#dbe3df) 65%,transparent);
}

.nexus-location-single-row[hidden] {
    display: none;
}

.nexus-location-single-row > label {
    display: flex;
    min-width: 0;
    flex: 1;
    align-items: center;
    gap: .7rem;
    min-height: 48px;
    padding-block: .45rem;
    padding-inline: calc(.55rem + var(--location-depth,0) * 1.25rem) .55rem;
    cursor: pointer;
    font-size: .9rem;
    font-weight: 600;
}

.nexus-location-single-row > label > input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
}

.nexus-location-single-choice {
    position: relative;
    width: 1.1rem;
    height: 1.1rem;
    flex: 0 0 auto;
    border: 2px solid color-mix(in srgb,var(--site-muted,#64748b) 38%,transparent);
    border-radius: .3rem;
    background: var(--site-surface,#fff);
}

.nexus-location-single-row > label > input:focus-visible + .nexus-location-single-choice {
    outline: 3px solid color-mix(in srgb,var(--site-accent,#0b6b70) 35%,transparent);
    outline-offset: 2px;
}

.nexus-location-single-row > label > input:checked + .nexus-location-single-choice {
    border-color: var(--site-accent,#0b6b70);
    background: var(--site-accent,#0b6b70);
}

.nexus-location-single-row > label > input:checked + .nexus-location-single-choice::after {
    content: "";
    position: absolute;
    left: .29rem;
    top: .08rem;
    width: .3rem;
    height: .58rem;
    border: solid var(--site-on-accent,#fff);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.nexus-location-single-row:has(input:checked) {
    background: color-mix(in srgb,var(--site-accent,#0b6b70) 8%,transparent);
}

.nexus-location-single-row > button {
    display: grid;
    width: 44px;
    height: 44px;
    flex: 0 0 auto;
    place-items: center;
    margin-inline-end: .25rem;
    border: 0;
    border-radius: 999px;
    color: var(--site-accent,#0b6b70);
}

.nexus-location-single-row > button:hover {
    background: color-mix(in srgb,var(--site-accent,#0b6b70) 10%,transparent);
}

.nexus-location-single-row > button:focus-visible {
    outline: 3px solid color-mix(in srgb,var(--site-accent,#0b6b70) 35%,transparent);
    outline-offset: 1px;
}

.nexus-location-single-row > button svg {
    width: 1.15rem;
    height: 1.15rem;
    transition: transform .2s ease;
}

.nexus-location-single-row > button[aria-expanded=true] svg {
    transform: rotate(90deg);
}

[data-filter-tab][aria-pressed=true] {
    box-shadow: inset 0 -3px var(--site-accent,#16a34a);
}

.nexus-search-active-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    margin-top: .8rem;
    color: var(--site-primary,#172c25);
}

.nexus-search-eyebrow {
    order: -1;
    margin: 0;
    color: var(--site-accent,#0b6b70);
    font-family: var(--site-mono-font,"IBM Plex Mono",ui-monospace,monospace);
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .18em;
    line-height: 1.4;
    text-transform: uppercase;
}

.nexus-search-active-title {
    margin-inline-end: .2rem;
    color: var(--site-muted,#64748b);
    font-size: .8rem;
    font-weight: 650;
}

.nexus-search-active-filters a:not(.nexus-search-clear-filters) {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    gap: .5rem;
    max-width: 100%;
    padding: .4rem .7rem;
    border: 1px solid color-mix(in srgb,var(--site-primary,#172c25) 18%,transparent);
    border-radius: 999px;
    background: var(--site-surface,#fff);
    font-size: .8rem;
    font-weight: 600;
}

.nexus-search-active-filters a > span:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nexus-search-clear-filters {
    min-height: 36px;
    padding: .45rem .3rem;
    color: var(--site-accent,#0b6b70);
    font-size: .8rem;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: .2em;
}

.nexus-search-active-filters a:focus-visible {
    outline: 3px solid color-mix(in srgb,var(--site-accent,#0b6b70) 55%,transparent);
    outline-offset: 2px;
}

.nexus-search-sentence {
    display: block;
    width: 100%;
    min-width: 0;
    color: var(--site-primary,#0c2b2f);
}

.nexus-search-sentence-eyebrow {
    margin: 0 0 1.1rem;
    color: var(--site-accent,#0b6b70);
    font-family: var(--site-mono-font,"IBM Plex Mono",ui-monospace,monospace);
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .2em;
    text-transform: uppercase;
}

.nexus-search-sentence-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .3em .38em;
    font-family: var(--site-heading-font,Archivo,system-ui,sans-serif);
    font-size: clamp(1.35rem,2.5vw,1.95rem);
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: -.02em;
}

.nexus-search-sentence-control {
    position: relative;
    display: inline-flex;
    min-width: min(100%,10rem);
    max-width: min(100%,21rem);
    color: var(--site-accent,#0b6b70);
}

.nexus-search-sentence-control>details,
.nexus-search-sentence-price,
.nexus-search-sentence-control .nexus-search-numeric-range {
    width: 100%;
}

.nexus-search-numeric-range input {
    min-height: 44px;
}

.nexus-search-numeric-label {
    grid-column: 1 / -1;
    margin-bottom: .2rem;
    font-size: .875rem;
    font-weight: 650;
}

.nexus-search-sentence-control .nexus-search-numeric-range {
    min-width: min(100%,16rem);
    color: var(--site-primary,#0c2b2f);
    font-family: var(--site-body-font,Archivo,system-ui,sans-serif);
    font-size: .875rem;
    font-weight: 400;
    line-height: 1.4;
}

.nexus-search-sentence-control>details>summary,
.nexus-search-sentence-price select,
.nexus-search-sentence-price input {
    min-height: 2.55rem;
    border: 0;
    border-bottom: 2px solid color-mix(in srgb,var(--site-accent,#0b6b70) 38%,transparent);
    border-radius: 0;
    background: transparent;
    padding: .1rem 1.2rem .1rem .08rem;
    color: inherit;
    font: inherit;
    line-height: 1.3;
    box-shadow: none;
}

.nexus-search-sentence-control>details>summary:hover,
.nexus-search-sentence-control>details[open]>summary,
.nexus-search-sentence-price select:focus,
.nexus-search-sentence-price input:focus {
    border-bottom-color: var(--site-accent,#0b6b70);
    outline: 0;
}

.nexus-search-sentence-control [data-search-options-panel] {
    min-width: min(22rem,calc(100vw - 2.5rem));
    color: var(--site-primary,#0c2b2f);
    font-family: var(--site-body-font,Archivo,system-ui,sans-serif);
    font-size: .875rem;
    font-weight: 400;
    line-height: 1.4;
}

.nexus-search-sentence-price {
    display: inline-flex;
    flex-direction: column;
    gap: .25rem;
    min-width: min(100%,10rem);
    max-width: min(100%,15rem);
    color: var(--site-accent,#0b6b70);
}

.nexus-search-sentence-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    margin-top: 2rem;
    border-top: 1px solid var(--site-border,#d5ddd6);
    padding-top: 1.5rem;
}

.nexus-search-sentence-actions button {
    display: inline-flex;
    min-height: 3.25rem;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    border-radius: 999px;
    background: var(--site-primary,#0c2b2f);
    padding: .8rem 1.75rem;
    color: var(--site-on-primary,#fff);
    font-family: var(--site-body-font,Archivo,system-ui,sans-serif);
    font-size: .95rem;
    font-weight: 650;
}

.nexus-search-sentence-actions p {
    max-width: 34rem;
    color: var(--site-muted,#5a6a67);
    font-family: var(--site-mono-font,"IBM Plex Mono",ui-monospace,monospace);
    font-size: .75rem;
    line-height: 1.55;
}

@media (max-width:639px) {
    .nexus-search-sentence-line {
        display: grid;
        grid-template-columns: minmax(0,1fr);
        gap: .55rem;
        font-size: 1.3rem;
    }
    .nexus-search-sentence-control,
    .nexus-search-sentence-price {
        width: 100%;
        max-width: none;
    }
    .nexus-search-sentence-actions button {
        width: 100%;
    }
}

.nexus-search-trigger,
.nexus-search-dialog-heading {
    display: none;
}

.nexus-search-shell {
    min-width: 0;
    width: 100%;
}

.nexus-search-shell.is-enhanced[data-search-all-screens=true]>.nexus-search-trigger {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    min-height: 44px;
    flex-shrink: 0;
    padding: 10px;
    border: 1px solid var(--site-border,#dbe3df);
    border-radius: 999px;
    background: var(--site-surface,#fff);
    color: var(--site-primary,#172c25);
}

.nexus-search-shell.is-enhanced[data-search-all-screens=true]:not(.is-open)>[data-search-panel] {
    display: none;
}

.nexus-search-shell[data-search-all-screens=true] .nexus-search-trigger-label,
.nexus-search-shell[data-search-all-screens=true] [data-search-count] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
}

.nexus-search-dialog {
    position: fixed;
    inset: 0;
    margin: auto;
    width: min(94vw,640px);
    max-width: 94vw;
    max-height: 90dvh;
    padding: 20px;
    border: 0;
    border-radius: 16px;
    background: var(--site-surface,#fff);
    color: var(--site-primary,#172c25);
    overflow-y: auto;
}

.nexus-search-dialog::backdrop {
    background: var(--site-backdrop,#101a17b3);
}

.nexus-search-dialog-heading {
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.nexus-search-dialog [data-search-panel] {
    display: block;
}

.nexus-search-dialog .nexus-search-dialog-heading {
    display: flex;
}

.nexus-search-dialog [data-search-close] {
    width: 44px;
    height: 44px;
    border: 1px solid var(--site-border,#e2e8f0);
    border-radius: 8px;
}

.nexus-search-dialog form {
    width: 100%;
    max-width: none;
    margin-top: 0;
}

.nexus-search-dialog [data-search-sticky-container] {
    position: static;
    max-height: none;
    overflow: visible;
}

@media (max-width:1023px) {
    .nexus-search-shell.is-enhanced>.nexus-search-trigger {
        display: flex;
        align-items: center;
        gap: 10px;
        width: 100%;
        min-height: 44px;
        border: 1px solid var(--site-border,#dbe3df);
        border-radius: 10px;
        padding: 10px 14px;
        background: var(--site-surface,#fff);
        font-weight: 600;
    }
    .nexus-search-shell.is-enhanced:not(.is-open)>[data-search-panel] {
        display: none;
    }
    .nexus-search-shell.is-open[data-mobile-display=accordion]>[data-search-panel] {
        margin-top: 10px;
    }
    .nexus-search-shell.is-enhanced[data-search-icon-only=true] {
        width: 44px;
        flex-shrink: 0;
    }
    .nexus-search-shell.is-enhanced[data-search-icon-only=true]>.nexus-search-trigger {
        width: 44px;
        height: 44px;
        min-height: 44px;
        padding: 9px;
        justify-content: center;
    }
    .nexus-search-shell[data-search-icon-only=true] .nexus-search-trigger-label {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip-path: inset(50%);
    }
    .nexus-search-shell[data-search-icon-only=true] [data-search-count] {
        display: none;
    }
}

/* Icon launchers inherit the visual language of whichever configurable header owns them. */
[data-header-preferences] .nexus-search-shell.is-enhanced[data-search-all-screens=true] {
    width: 40px;
    flex: 0 0 40px;
}

[data-header-preferences] .nexus-search-shell.is-enhanced[data-search-all-screens=true] > .nexus-search-trigger {
    width: 40px;
    height: 40px;
    min-height: 40px;
    padding: 8px;
    border-color: color-mix(in srgb, currentColor 24%, transparent);
    border-radius: 10px;
    background: color-mix(in srgb, currentColor 7%, transparent);
    color: inherit;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, currentColor 4%, transparent);
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

[data-header-preferences] .nexus-search-shell.is-enhanced[data-search-all-screens=true] > .nexus-search-trigger:hover,
[data-header-preferences] .nexus-search-shell.is-enhanced[data-search-all-screens=true] > .nexus-search-trigger:focus-visible {
    border-color: var(--site-canvas, #eaf0eb);
    background: var(--site-canvas, #eaf0eb);
    color: var(--site-primary, #0c2b2f);
}

[data-header-preferences] .nexus-search-shell.is-enhanced[data-search-all-screens=true] > .nexus-search-trigger:focus-visible {
    outline: 2px solid var(--site-accent, #0b6b70);
    outline-offset: 2px;
}

[data-header-preferences] .nexus-search-shell[data-search-all-screens=true] > .nexus-search-trigger svg {
    width: 18px;
    height: 18px;
}

@media (min-width:1024px) {
    [data-header-preferences] .nexus-search-shell.is-enhanced[data-search-all-screens=true] {
        width: 36px;
        flex-basis: 36px;
    }

    [data-header-preferences] .nexus-search-shell.is-enhanced[data-search-all-screens=true] > .nexus-search-trigger {
        width: 36px;
        height: 36px;
        min-width: 36px;
        min-height: 36px;
        padding: 7px;
    }
}

.nexus-search-dialog .nexus-search-dialog-heading {
    position: sticky;
    top: 0;
    z-index: 3;
    min-height: 44px;
    padding-inline-end: 60px;
    background: var(--site-surface,#fff);
}

.nexus-search-tabs {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 4px;
    padding: 6px;
    min-height: 56px;
    min-width: 0;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
}

.nexus-search-tabs>button {
    flex: 1 0 auto;
    white-space: nowrap;
    min-height: 44px;
    padding: 8px 10px;
}

.nexus-search-tabs > [hidden] {
    display: none !important;
}

form[data-search-tabs-only] {
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

form[data-search-tabs-only] .nexus-search-tabs {
    min-height: 0;
    gap: .55rem;
    padding: 0;
    background: transparent;
    scrollbar-width: none;
}

form[data-search-tabs-only] .nexus-search-tabs::-webkit-scrollbar { display: none; }

form[data-search-tabs-only] .nexus-search-tabs > button {
    flex: 0 0 auto;
    min-height: 40px;
    border: 1px solid var(--site-border,#d5ddd6);
    border-radius: 999px;
    background: var(--site-surface,#fff);
    color: var(--site-primary,#0c2b2f);
    padding: .55rem 1rem;
}

form[data-search-tabs-only] .nexus-search-tabs > button[aria-pressed=true] {
    border-color: var(--site-primary,#0c2b2f);
    background: var(--site-primary,#0c2b2f);
    color: var(--site-on-primary,#fff);
}

.nexus-search-advanced[data-advanced-display=drawer] {
    border-color: color-mix(in srgb,var(--site-accent,#0b6b70) 26%,var(--site-border,#d5ddd6));
    background: var(--site-surface,#fff);
    padding: 0;
    overflow: clip;
}

.nexus-search-advanced[data-advanced-display=drawer] > summary {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .75rem 1rem;
    color: var(--site-primary,#172c25);
}

.nexus-search-advanced[data-advanced-display=drawer] > summary::after {
    content: '+';
    display: grid;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    place-items: center;
    border: 1px solid var(--site-border,#d5ddd6);
    border-radius: 999px;
    color: var(--site-accent,#0b6b70);
    font-size: 1.15rem;
    line-height: 1;
}

.nexus-search-advanced[data-advanced-display=drawer][open] > summary {
    border-bottom: 1px solid var(--site-border,#d5ddd6);
}

.nexus-search-advanced[data-advanced-display=drawer][open] > summary::after { content: '−'; }

.nexus-search-advanced[data-advanced-display=drawer] > div { margin: 0; padding: 1rem; }

.nexus-search-advanced[data-advanced-display=expanded] > summary { display: none; }
.nexus-search-advanced[data-advanced-display=expanded] > div { margin-top: 0; }

form[data-search-fixed-submit] {
    grid-template-rows: minmax(0,1fr) auto;
    gap: 0;
    max-height: calc(100dvh - var(--search-sticky-offset,24px) - var(--nexus-fixed-header-height,0px) - var(--search-flow-offset,0px) - 16px);
}

.nexus-search-scroll-fields {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    grid-auto-rows: max-content;
    align-content: start;
    gap: 1rem;
    min-height: 0;
    min-width: 0;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-gutter: stable;
    overscroll-behavior-y: contain;
    padding: 2px 4px 4px 2px;
    scroll-padding-block: 8px;
}

.nexus-search-submit-footer {
    padding-top: 12px;
    margin-top: 12px;
    border-top: 1px solid var(--site-border,#e2e8f0);
    background: var(--site-surface,#fff);
}

.nexus-search-dialog form[data-search-fixed-submit] {
    max-height: 70dvh;
}

.nexus-search-dialog .nexus-search-dialog-heading>h2 {
    min-width: 0;
    overflow-wrap: anywhere;
}

.nexus-search-dialog .nexus-modal-close {
    position: absolute;
    top: 0;
    inset-inline-end: 0;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    font-size: 30px;
    line-height: 1;
    background: var(--site-surface,#fff);
    color: var(--site-primary,#173c32);
}

.nexus-search-dialog .nexus-modal-close:focus-visible {
    outline: 3px solid var(--site-accent,#047857);
    outline-offset: 2px;
}

[data-search-options-panel][data-floating=true] {
    position: fixed;
    right: auto;
    bottom: auto;
    height: auto;
    margin: 0;
    box-sizing: border-box;
    z-index: 60;
    overflow: hidden;
    flex-direction: column;
    gap: .5rem;
}

[data-search-options-panel]:not([data-floating=true]) {
    inset-inline-start: 0;
}

[data-search-options-panel][data-floating=true]:is(:popover-open,[data-fallback-open=true]) {
    display: flex;
}

[data-search-options-panel][data-floating=true] [data-option-search] {
    flex: none;
    margin-bottom: 0;
}

[data-search-options-panel][data-floating=true] [data-search-options-list] {
    min-height: 0;
    flex: 1;
    max-height: none;
    overflow: auto;
    overscroll-behavior: contain;
}

@media (min-width:1024px) {
    [data-search-sticky-container] {
        position: sticky;
        top: calc(var(--search-sticky-offset,24px) + var(--nexus-fixed-header-height,0px));
        align-self: start;
        max-height: calc(100dvh - var(--search-sticky-offset,24px) - var(--nexus-fixed-header-height,0px) - 16px);
        overflow-y: auto;
        scrollbar-width: thin;
    }
    [data-search-sticky-container][data-search-fixed-submit-container]:not(form) {
        max-height: none;
        overflow: visible;
    }
    [data-search-sticky-container=horizontal] {
        z-index: 40;
        max-height: none;
        overflow: visible;
        background: var(--site-surface,#fff);
    }
}

[data-nexus-plugin=search-filter][data-hide-field-labels=true] [data-search-field-label] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

/* Trusted presentation profiles. Page and tenant colours continue to come from
   the published design tokens; profiles only change density and composition. */
[data-nexus-plugin=search-filter][data-presentation-profile=editorial] {
    border-color: color-mix(in srgb,var(--site-accent,#0b6b70) 22%,var(--site-border,#d5ddd6));
    border-radius: 1.25rem;
    box-shadow: 0 20px 55px color-mix(in srgb,var(--site-primary,#0c2b2f) 10%,transparent);
}

.nexus-search-sentence[data-presentation-profile=editorial] {
    box-shadow: none;
}

[data-nexus-plugin=search-filter][data-presentation-profile=compact] {
    gap: .65rem;
    padding: .75rem;
    border-radius: .75rem;
    box-shadow: none;
}

[data-nexus-plugin=search-filter][data-presentation-profile=compact] :is(input,select,summary,button) {
    min-height: 42px;
}

/* Dense horizontal searches should complete a four-column row instead of
   leaving the submit action alone below it. Narrow layouts keep one column. */
@media (min-width:1024px) {
    [data-nexus-plugin=search-filter][data-search-orientation=horizontal] > .nexus-search-query {
        grid-column: span 1 / span 1;
    }
}

[data-nexus-plugin=search-filter][data-presentation-profile=marketplace] {
    border-radius: .75rem;
    border-color: var(--site-border,#cbd5e1);
    box-shadow: 0 8px 24px color-mix(in srgb,var(--site-primary,#0f172a) 9%,transparent);
}

[data-nexus-plugin=search-filter][data-presentation-profile=marketplace] .nexus-search-tabs {
    border-radius: .6rem;
}

[data-nexus-plugin=search-filter][data-presentation-profile=minimal] {
    border-color: transparent;
    background: transparent;
    padding-inline: 0;
    box-shadow: none;
}

/* The toolbar uses the same scoped form and dropdown controls as other layouts. */
form[data-nexus-plugin=search-filter][data-search-presentation=toolbar] {
    display: flex;
    min-width: 0;
    align-items: center;
    flex-wrap: nowrap;
    gap: .65rem;
    margin: 0;
    padding: 2px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--site-text,#303030);
    box-shadow: none;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
}

form[data-search-presentation=toolbar] > .nexus-search-toolbar-control {
    width: auto;
    min-width: 0;
    flex: 1 0 8rem;
    gap: 0;
    align-self: stretch;
    grid-column: auto;
}

form[data-search-presentation=toolbar] > .nexus-search-toolbar-location { flex-basis: 13rem; }
form[data-search-presentation=toolbar] > .nexus-search-eyebrow { display: none; }

form[data-search-presentation=toolbar] > .nexus-search-toolbar-control > :is(details,select) { width: 100%; }
form[data-search-presentation=toolbar] > .nexus-search-toolbar-control > details > summary,
form[data-search-presentation=toolbar] > details.nexus-search-toolbar-control > summary,
form[data-search-presentation=toolbar] > .nexus-search-toolbar-control > select {
    display: flex;
    min-width: 0;
    min-height: 50px;
    align-items: center;
    justify-content: space-between;
    gap: .55rem;
    margin: 0;
    padding: .7rem 1rem;
    border: 1px solid color-mix(in srgb,var(--site-text,#303030) 42%,var(--site-surface,#fff));
    border-radius: 999px;
    background: var(--site-surface,#fff);
    color: var(--site-text,#303030);
    font-family: var(--site-body-font,Arial,sans-serif);
    font-size: .9375rem;
    font-weight: 500;
    line-height: 1.4;
    list-style: none;
    cursor: pointer;
}

form[data-search-presentation=toolbar] > .nexus-search-toolbar-location > details > summary { font-weight: 650; }
form[data-search-presentation=toolbar] > .nexus-search-toolbar-control > select { padding-inline-end: 2rem; }
form[data-search-presentation=toolbar] .nexus-search-toolbar-popover > summary::-webkit-details-marker { display: none; }
form[data-search-presentation=toolbar] .nexus-search-toolbar-popover > summary > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
form[data-search-presentation=toolbar] .nexus-search-toolbar-popover > summary > svg { width: 1.1rem; height: 1.1rem; flex: 0 0 auto; }

form[data-search-presentation=toolbar] > .nexus-search-advanced {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    overflow: visible;
}

form[data-search-presentation=toolbar] > .nexus-search-advanced > summary::after { display: none; }
form[data-search-presentation=toolbar] > .nexus-search-advanced[open] > summary { border-bottom-width: 1px; }
form[data-search-presentation=toolbar] [data-search-popover] > [data-search-options-panel] {
    min-width: 0;
    margin: 0;
    padding: 1rem;
    border: 1px solid var(--site-border,#d5ddd6);
    border-radius: 1rem;
    background: var(--site-surface,#fff);
    color: var(--site-text,#303030);
    box-shadow: 0 12px 30px rgb(0 0 0 / .12);
    overflow: auto;
    overscroll-behavior: contain;
}

form[data-search-presentation=toolbar] [data-search-popover] > [data-search-options-panel]:not([data-floating=true]) {
    position: absolute;
    top: 100%;
    z-index: 30;
    width: min(22rem,calc(100vw - 2rem));
}

form[data-search-presentation=toolbar] [data-search-popover] { position: relative; }
form[data-search-presentation=toolbar] [data-search-options-panel] > fieldset { width: 100%; margin: 0; }
form[data-search-presentation=toolbar] .nexus-search-advanced [data-search-options-list] { width: 100%; }

form[data-search-presentation=toolbar] > .nexus-search-toolbar-submit {
    display: inline-flex;
    width: auto;
    min-height: 50px;
    flex: 0 0 auto;
    align-self: stretch;
    align-items: center;
    justify-content: center;
    padding: .7rem 1.25rem;
    border: 1px solid transparent;
    border-radius: 999px;
    background: var(--site-accent,#0b6b70);
    color: var(--site-on-accent,#fff);
    font-size: .9375rem;
    font-weight: 700;
    line-height: 1.4;
    white-space: nowrap;
}

form[data-search-presentation=toolbar] :is(summary,select,button):focus-visible {
    outline: 2px solid var(--site-accent,#0b6b70);
    outline-offset: -3px;
}

form[data-search-presentation=toolbar] [data-search-popover][data-has-selection=true] > summary {
    box-shadow: inset 0 -3px var(--site-accent,#0b6b70);
}

@media (max-width:1023px) {
    form[data-nexus-plugin=search-filter][data-search-presentation=toolbar] {
        display: grid;
        grid-template-columns: minmax(0,1fr);
        gap: .75rem;
        overflow: visible;
    }
    form[data-search-presentation=toolbar] > .nexus-search-toolbar-control,
    form[data-search-presentation=toolbar] > .nexus-search-toolbar-submit { width: 100%; }
}

/* Existing query clauses remain ordinary form controls in every presentation. */
.nexus-search-preserved-locations,
.nexus-search-preserved-filters {
    width: 100%;
    min-width: 0;
    grid-column: 1 / -1;
    flex: 0 0 100%;
    order: 900;
    margin: 0;
    padding: 1rem;
    border: 1px solid var(--site-border,#dbe3df);
    border-radius: 1rem;
    background: var(--site-surface,#fff);
    color: var(--site-primary,#172c25);
    font-family: var(--site-body-font,Arial,sans-serif);
    font-size: .9375rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: normal;
}

.nexus-search-preserved-locations > legend,
.nexus-search-preserved-filters > legend {
    max-width: 100%;
    padding-inline: .35rem;
    font-size: .9375rem;
    font-weight: 700;
}

.nexus-search-preserved-help {
    margin: 0 0 1rem;
    color: var(--site-muted,#64748b);
    font-size: .875rem;
    overflow-wrap: anywhere;
}

.nexus-search-preserved-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(min(100%,16rem),1fr));
    align-items: stretch;
    gap: 1rem;
}

.nexus-search-preserved-control {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
    gap: .65rem;
    padding: 1rem;
    border: 1px solid var(--site-border,#dbe3df);
    border-radius: .75rem;
}

.nexus-search-preserved-label {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    min-height: 2.8em;
    max-height: 2.8em;
    overflow: hidden;
    margin: 0;
    font-size: .875rem;
    font-weight: 650;
    line-height: 1.4;
}

.nexus-search-preserved-summary {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    min-height: 4.5em;
    max-height: 4.5em;
    overflow: hidden;
    overflow-wrap: anywhere;
    margin: 0;
    color: var(--site-muted,#64748b);
    font-size: .875rem;
    line-height: 1.5;
}

.nexus-search-preserved-clear {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    min-width: 44px;
    min-height: 44px;
    margin-top: auto;
    padding-block: .4rem;
    color: var(--site-accent,#0b6b70);
    font-size: .875rem;
    text-decoration: underline;
    text-underline-offset: .2em;
    overflow-wrap: anywhere;
}

.nexus-search-preserved-apply {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin-top: 1rem;
    padding: .7rem 1.25rem;
    border: 1px solid transparent;
    border-radius: .75rem;
    background: var(--site-accent,#0b6b70);
    color: var(--site-on-accent,#fff);
    font: inherit;
    font-weight: 650;
}

[data-nexus-plugin=search-filter] :is(.nexus-search-preserved-locations,.nexus-search-preserved-filters) :is(summary,button) {
    min-height: 44px;
}

[data-nexus-plugin=search-filter] :is(.nexus-search-preserved-locations,.nexus-search-preserved-filters) :is(a,summary,button,input):focus-visible {
    outline: 2px solid var(--site-accent,#0b6b70);
    outline-offset: 3px;
}

form[data-search-presentation=toolbar]:has(> :is(.nexus-search-preserved-locations,.nexus-search-preserved-filters)) {
    flex-wrap: wrap;
    overflow-x: visible;
}

.nexus-search-sentence > :is(.nexus-search-preserved-locations,.nexus-search-preserved-filters),
form[data-search-tabs-only] > :is(.nexus-search-preserved-locations,.nexus-search-preserved-filters) {
    margin-top: 1rem;
}

/* shared/layout */
/* shared/layout: plugin presentation; site design stays in published page/region CSS. */
@media (max-width: 1023px) {
    [data-frontend-region-layout="columns"] {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

@media (min-width:1024px) {
    [data-inquiry-sticky] {
        position: sticky;
        top: calc(var(--inquiry-sticky-offset,24px) + var(--nexus-fixed-header-height,0px) + var(--nexus-sticky-search-height,0px));
        align-self: start;
        max-height: calc(100dvh - var(--inquiry-sticky-offset,24px) - var(--nexus-fixed-header-height,0px) - var(--nexus-sticky-search-height,0px) - var(--nexus-bottom-nav-height,0px) - 16px);
        overflow-y: auto;
        scrollbar-width: thin;
        overscroll-behavior-y: contain;
        scroll-padding-block: 8px;
    }
}

[data-content-summary]:empty,
[data-content-body]:empty {
    display: none;
}

[data-content-body]>:first-child {
    margin-top: 0;
}

[data-content-body]>:last-child {
    margin-bottom: 0;
}

/* video-embed */
/* video-embed: plugin presentation; site design stays in published page/region CSS. */
.nexus-video-embed {
    color: var(--nexus-video-text, inherit);
}

.nexus-video-heading h2 {
    margin: 0;
    font: 500 clamp(1.75rem,4vw,3rem)/1.05 var(--nexus-video-heading-font,inherit);
    letter-spacing: -.025em;
}

.nexus-video-heading p:not(.nexus-video-eyebrow) {
    max-width: 58ch;
    margin: .75rem 0 0;
    color: var(--nexus-video-muted,#64748b);
    line-height: 1.65;
}

.nexus-video-heading .nexus-video-eyebrow {
    margin: 0 0 .75rem;
    color: var(--nexus-video-accent,#0b6b70);
    font: 600 .7rem/1.2 var(--nexus-video-label-font,ui-monospace,monospace);
    letter-spacing: .18em;
    text-transform: uppercase;
}

.nexus-video-embed[data-heading-align=center] .nexus-video-heading {
    text-align: center;
}

.nexus-video-embed[data-heading-align=center] .nexus-video-heading h2,
.nexus-video-embed[data-heading-align=center] .nexus-video-heading p {
    margin-inline: auto;
}

[data-video-layout="gallery"] .nexus-video-heading {
    margin-bottom: 2.25rem;
}

.nexus-video-grid {
    display: grid;
    grid-template-columns: repeat(var(--nexus-video-columns,1),minmax(0,1fr));
    gap: var(--nexus-video-gap,1.25rem);
}

.nexus-video-gallery-shell { position: relative; min-width: 0; }

.nexus-video-navigation {
    position: absolute;
    z-index: 4;
    top: calc(50% - 1.4rem);
    display: none;
    width: 2.8rem;
    height: 2.8rem;
    align-items: center;
    justify-content: center;
    border: 1px solid color-mix(in srgb,var(--site-primary,#174c3c) 18%,transparent);
    border-radius: 999px;
    background: var(--site-surface,#fff);
    color: var(--site-primary,#174c3c);
    box-shadow: 0 10px 28px rgb(7 38 40/.16);
}
.nexus-video-navigation svg { width: 1.35rem; height: 1.35rem; }
.nexus-video-navigation-previous { inset-inline-start: -1.4rem; }
.nexus-video-navigation-next { inset-inline-end: -1.4rem; }
.nexus-video-navigation:disabled { opacity: .35; cursor: default; }
.nexus-video-navigation:focus-visible { outline: 3px solid color-mix(in srgb,var(--site-accent,#169b8b) 40%,transparent); outline-offset: 3px; }

.nexus-video-embed[data-video-navigation=true] .nexus-video-grid {
    --nexus-video-visible-columns: 1;
    display: flex;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
}
.nexus-video-embed[data-video-navigation=true] .nexus-video-grid::-webkit-scrollbar { display: none; }
.nexus-video-embed[data-video-navigation=true] .nexus-video-card {
    flex: 0 0 100%;
    scroll-snap-align: start;
}
.nexus-video-embed[data-video-navigation-ready] .nexus-video-navigation { display: inline-flex; }

.nexus-video-card {
    min-width: 0;
}

.nexus-video-frame {
    position: relative;
    aspect-ratio: 16/9;
    overflow: hidden;
    border-radius: var(--nexus-video-radius,1rem);
    background: #0f172a;
}

.nexus-video-embed[data-video-ratio=landscape] .nexus-video-frame { aspect-ratio: 4/3; }
.nexus-video-embed[data-video-ratio=square] .nexus-video-frame { aspect-ratio: 1; }
.nexus-video-embed[data-video-ratio=portrait] .nexus-video-frame { aspect-ratio: 4/5; }

.nexus-video-frame>button {
    position: relative;
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    border: 0;
    padding: 0;
    color: #fff;
    cursor: pointer;
}

.nexus-video-frame>button>img,
.nexus-video-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.nexus-video-frame>button>img {
    object-fit: cover;
    transition: transform .4s ease,opacity .25s ease;
}

.nexus-video-overlay {
    background: #000;
}

.nexus-video-frame>button:is(:hover,:focus-visible)>img {
    transform: scale(1.025);
}

.nexus-video-card h3 {
    min-height: 2.8em;
    margin: .85rem 0 0;
    font: 500 1.05rem/1.4 var(--nexus-video-body-font,inherit);
}

.nexus-video-provider {
    position: absolute;
    inset-inline-end: .75rem;
    bottom: .75rem;
    border-radius: .5rem;
    background: var(--nexus-video-provider-bg,#dc2626);
    color: var(--nexus-video-provider-text,#fff);
    padding: .25rem .75rem;
    font-size: .75rem;
    font-weight: 600;
}

.nexus-play-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 999px;
    background: var(--nexus-video-play-bg,#dc2626);
    color: var(--nexus-video-play-text,#fff);
    font-size: 1.25rem;
    isolation: isolate;
    box-shadow: 0 6px 24px #0005;
}

[data-play-effect="true"] .nexus-play-icon {
    transition: transform .25s ease,box-shadow .25s ease;
}

[data-play-effect="true"] .nexus-play-icon::before {
    content: "";
    position: absolute;
    inset: 0;
    border: 2px solid #fff9;
    border-radius: inherit;
    pointer-events: none;
    animation: nexus-play-ring 2.4s ease-out infinite;
}

[data-play-effect="true"]:is(:hover,:focus-visible) .nexus-play-icon {
    transform: scale(1.1);
    box-shadow: 0 8px 32px #dc262680;
}

@keyframes nexus-play-ring {
    0% {
        transform: scale(1);
        opacity: .7;
    }
    80%,100% {
        transform: scale(1.45);
        opacity: 0;
    }
}

@media (prefers-reduced-motion:reduce) {
    [data-play-effect="true"] .nexus-play-icon {
        transition: none;
    }
    [data-play-effect="true"] .nexus-play-icon::before {
        animation: none;
    }
    [data-play-effect="true"]:is(:hover,:focus-visible) .nexus-play-icon {
        transform: none;
    }
}

.nexus-video-modal-title {
    min-width: 0;
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.4;
    overflow-wrap: anywhere;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.nexus-video-modal-counter {
    flex: 0 0 auto;
    margin-inline-start: auto;
    color: color-mix(in srgb,currentColor 76%,transparent);
    font-size: .875rem;
    font-variant-numeric: tabular-nums;
}

.nexus-video-lightbox-arrow {
    backdrop-filter: blur(8px);
}

@media (min-width:768px) {
    [data-video-layout="gallery"] .nexus-video-grid {
        grid-template-columns: repeat(var(--nexus-video-desktop-columns,3),minmax(0,1fr));
    }
    .nexus-video-embed[data-video-navigation=true][data-video-columns="2"] .nexus-video-card { flex-basis: calc((100% - var(--nexus-video-gap,1.25rem)) / 2); }
    .nexus-video-embed[data-video-navigation=true][data-video-columns="3"] .nexus-video-card { flex-basis: calc((100% - var(--nexus-video-gap,1.25rem) - var(--nexus-video-gap,1.25rem)) / 3); }
    .nexus-video-embed[data-video-navigation=true][data-video-columns="4"] .nexus-video-card { flex-basis: calc((100% - var(--nexus-video-gap,1.25rem) - var(--nexus-video-gap,1.25rem) - var(--nexus-video-gap,1.25rem)) / 4); }
}

@media (max-width:767px) {
    .nexus-video-modal-title {
        font-size: 15px;
    }
    .nexus-video-navigation-previous { inset-inline-start: .65rem; }
    .nexus-video-navigation-next { inset-inline-end: .65rem; }
}

.nexus-video-embed[data-presentation-profile=editorial] .nexus-video-card{border-radius:3px}
.nexus-video-embed[data-presentation-profile=editorial] .nexus-video-heading h2{max-width:18ch}
.nexus-video-embed[data-presentation-profile=compact] .nexus-video-layout{gap:.75rem}
.nexus-video-embed[data-presentation-profile=compact] .nexus-video-card h3{font-size:.875rem;line-height:1.35}
.nexus-video-embed[data-presentation-profile=marketplace] .nexus-video-card{border:1px solid var(--site-border,#dbe3ea);border-radius:.75rem;padding:.5rem;background:var(--site-surface,#fff)}
.nexus-video-embed[data-presentation-profile=minimal] .nexus-video-card{border-radius:0;background:transparent}
.nexus-video-embed[data-presentation-profile=minimal] .nexus-video-card h3{font-weight:500}

/* Published site design */
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties;
:root, :host {
  --color-emerald-800: oklch(43.2% 0.095 166.913);
  --color-emerald-900: oklch(37.8% 0.077 168.94);
  --color-slate-200: oklch(92.9% 0.013 255.508);
  --color-white: #fff;
  --spacing: 0.25rem;
  --container-7xl: 80rem;
  --font-weight-semibold: 600;
  --radius-xl: 0.75rem;
  --radius-2xl: 1rem;
}
.mx-auto {
  margin-inline: auto;
}
.mt-3 {
  margin-top: calc(var(--spacing) * 3);
}
.mt-5 {
  margin-top: calc(var(--spacing) * 5);
}
.mb-5 {
  margin-bottom: calc(var(--spacing) * 5);
}
.flex {
  display: flex;
}
.grid {
  display: grid;
}
.min-h-12 {
  min-height: calc(var(--spacing) * 12);
}
.w-full {
  width: 100%;
}
.max-w-7xl {
  max-width: var(--container-7xl);
}
.min-w-0 {
  min-width: 0px;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.items-center {
  align-items: center;
}
.justify-center {
  justify-content: center;
}
.gap-6 {
  gap: calc(var(--spacing) * 6);
}
.rounded-2xl {
  border-radius: var(--radius-2xl);
}
.rounded-xl {
  border-radius: var(--radius-xl);
}
.border {
  border-style: var(--tw-border-style);
  border-width: 1px;
}
.border-slate-200 {
  border-color: var(--color-slate-200);
}
.bg-emerald-800 {
  background-color: var(--color-emerald-800);
}
.bg-white {
  background-color: var(--color-white);
}
.p-4 {
  padding: calc(var(--spacing) * 4);
}
.px-4 {
  padding-inline: calc(var(--spacing) * 4);
}
.py-3 {
  padding-block: calc(var(--spacing) * 3);
}
.font-semibold {
  --tw-font-weight: var(--font-weight-semibold);
  font-weight: var(--font-weight-semibold);
}
.text-white {
  color: var(--color-white);
}
@media (hover: hover) {
  .hover\:bg-emerald-900:hover {
    background-color: var(--color-emerald-900);
  }
}
@media (width >= 48rem) {
  .md\:p-5 {
    padding: calc(var(--spacing) * 5);
  }
}
@media (width >= 64rem) {
  .lg\:col-span-4 {
    grid-column: span 4 / span 4;
  }
  .lg\:col-span-8 {
    grid-column: span 8 / span 8;
  }
  .lg\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-border-style: solid;
      --tw-font-weight: initial;
    }
  }
}

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
:root, :host {
  --color-white: #fff;
}
.bg-white {
  background-color: var(--color-white);
}
.font-\[\'Manrope\'\,sans-serif\] {
  font-family: 'Manrope',sans-serif;
}
.text-\[color\:var\(--site-primary\,\#0B2239\)\] {
  color: var(--site-primary,#0B2239);
}

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties;
:root, :host {
  --color-slate-100: oklch(96.8% 0.007 247.896);
  --color-white: #fff;
  --spacing: 0.25rem;
  --container-7xl: 80rem;
}
.mx-auto {
  margin-inline: auto;
}
.flex {
  display: flex;
}
.hidden {
  display: none;
}
.inline-flex {
  display: inline-flex;
}
.h-4 {
  height: calc(var(--spacing) * 4);
}
.h-5 {
  height: calc(var(--spacing) * 5);
}
.h-16 {
  height: calc(var(--spacing) * 16);
}
.min-h-11 {
  min-height: calc(var(--spacing) * 11);
}
.w-4 {
  width: calc(var(--spacing) * 4);
}
.w-5 {
  width: calc(var(--spacing) * 5);
}
.w-auto {
  width: auto;
}
.max-w-7xl {
  max-width: var(--container-7xl);
}
.min-w-0 {
  min-width: 0px;
}
.flex-1 {
  flex: 1;
}
.shrink-0 {
  flex-shrink: 0;
}
.flex-nowrap {
  flex-wrap: nowrap;
}
.items-center {
  align-items: center;
}
.justify-between {
  justify-content: space-between;
}
.gap-2 {
  gap: calc(var(--spacing) * 2);
}
.gap-5 {
  gap: calc(var(--spacing) * 5);
}
.gap-6 {
  gap: calc(var(--spacing) * 6);
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.border-b {
  border-bottom-style: var(--tw-border-style);
  border-bottom-width: 1px;
}
.border-slate-100 {
  border-color: var(--color-slate-100);
}
.bg-\[color\:var\(--site-primary\,\#0B2239\)\] {
  background-color: var(--site-primary,#0B2239);
}
.bg-white {
  background-color: var(--color-white);
}
.px-3 {
  padding-inline: calc(var(--spacing) * 3);
}
.px-4 {
  padding-inline: calc(var(--spacing) * 4);
}
.py-1 {
  padding-block: var(--spacing);
}
.py-3 {
  padding-block: calc(var(--spacing) * 3);
}
.text-\[13px\] {
  font-size: 13px;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.text-\[color\:var\(--site-primary\,\#0B2239\)\] {
  color: var(--site-primary,#0B2239);
}
.text-white\/80 {
  color: color-mix(in srgb, #fff 80%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in oklab, var(--color-white) 80%, transparent);
  }
}
.\[--header-logo-mobile-height\:48px\] {
  --header-logo-mobile-height: 48px;
}
@media (width >= 48rem) {
  .md\:inline-flex {
    display: inline-flex;
  }
  .md\:gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .md\:gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .md\:px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }
  .md\:py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-border-style: solid;
    }
  }
}

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties;
:root, :host {
  --color-white: #fff;
  --spacing: 0.25rem;
  --container-7xl: 80rem;
  --text-xs: 0.75rem;
  --text-xs--line-height: calc(1 / 0.75);
  --text-sm: 0.875rem;
  --text-sm--line-height: calc(1.25 / 0.875);
  --text-base: 1rem;
  --text-base--line-height: calc(1.5 / 1);
  --font-weight-bold: 700;
}
.mx-auto {
  margin-inline: auto;
}
.mb-4 {
  margin-bottom: calc(var(--spacing) * 4);
}
.mb-6 {
  margin-bottom: calc(var(--spacing) * 6);
}
.block {
  display: block;
}
.grid {
  display: grid;
}
.h-14 {
  height: calc(var(--spacing) * 14);
}
.w-auto {
  width: auto;
}
.max-w-7xl {
  max-width: var(--container-7xl);
}
.gap-8 {
  gap: calc(var(--spacing) * 8);
}
:where(.space-y-5 > :not(:last-child)) {
  --tw-space-y-reverse: 0;
  margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
  margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
}
.border-t {
  border-top-style: var(--tw-border-style);
  border-top-width: 1px;
}
.border-white\/10 {
  border-color: color-mix(in srgb, #fff 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-white) 10%, transparent);
  }
}
.bg-\[color\:var\(--site-primary\,\#0B2239\)\] {
  background-color: var(--site-primary,#0B2239);
}
.px-6 {
  padding-inline: calc(var(--spacing) * 6);
}
.py-6 {
  padding-block: calc(var(--spacing) * 6);
}
.py-8 {
  padding-block: calc(var(--spacing) * 8);
}
.text-center {
  text-align: center;
}
.text-base {
  font-size: var(--text-base);
  line-height: var(--tw-leading, var(--text-base--line-height));
}
.text-sm {
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
}
.text-xs {
  font-size: var(--text-xs);
  line-height: var(--tw-leading, var(--text-xs--line-height));
}
.leading-7 {
  --tw-leading: calc(var(--spacing) * 7);
  line-height: calc(var(--spacing) * 7);
}
.font-bold {
  --tw-font-weight: var(--font-weight-bold);
  font-weight: var(--font-weight-bold);
}
.break-all {
  word-break: break-all;
}
.text-white {
  color: var(--color-white);
}
.text-white\/50 {
  color: color-mix(in srgb, #fff 50%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in oklab, var(--color-white) 50%, transparent);
  }
}
.text-white\/65 {
  color: color-mix(in srgb, #fff 65%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in oklab, var(--color-white) 65%, transparent);
  }
}
.\[--menu-hover-background\:rgba\(255\,255\,255\,0\.08\)\] {
  --menu-hover-background: rgba(255,255,255,0.08);
}
.\[--menu-mobile-background\:transparent\] {
  --menu-mobile-background: transparent;
}
.\[--menu-mobile-padding\:0\] {
  --menu-mobile-padding: 0;
}
.\[--menu-submenu-background\:\#0B2239\] {
  --menu-submenu-background: #0B2239;
}
@media (width >= 48rem) {
  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (width >= 64rem) {
  .lg\:col-span-2 {
    grid-column: span 2 / span 2;
  }
  .lg\:col-span-3 {
    grid-column: span 3 / span 3;
  }
  .lg\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-space-y-reverse: 0;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
    }
  }
}


:root{
--site-primary:#172b40;
--site-accent:#147d9c;
--site-surface:#ffffff;
--site-canvas:#f5f7f9;
--site-border:#dfe5eb;
--site-text:#253445;
--site-muted:#697586;
--site-success:#26734d;
--site-warning:#996515;
--site-danger:#b43838;
--site-on-primary:#ffffff;
--site-on-accent:#ffffff;
--site-on-success:#ffffff;
--site-on-warning:#ffffff;
--site-on-danger:#ffffff;
--site-soft:color-mix(in srgb,var(--site-accent) 6%,var(--site-surface));
--site-hover:color-mix(in srgb,var(--site-accent) 11%,var(--site-surface));
--site-primary-hover:color-mix(in srgb,var(--site-primary) 85%,black);
--site-accent-hover:color-mix(in srgb,var(--site-accent) 85%,black);
--site-shadow:color-mix(in srgb,var(--site-primary) 8%,transparent);
--site-control-overlay:color-mix(in srgb,var(--site-primary) 91%,transparent);
--site-backdrop:color-mix(in srgb,var(--site-primary) 70%,transparent);
--site-body-font:"Manrope",sans-serif;
--site-heading-font:"Fraunces",sans-serif;
}
/* Shared color utilities. Loaded only when the site enables its central palette. */

html { color-scheme: light; }

:root body { background-color: var(--site-surface); color: var(--site-text); }

:root ::selection { background: var(--site-hover); color: var(--site-primary); }

:root .bg-slate-100,
:root .bg-slate-50,
:root .hover\:bg-gray-50:hover,
:root .hover\:bg-slate-100:hover,
:root .hover\:bg-slate-50:hover { background-color: var(--site-canvas); }

:root .text-gray-200,
:root .text-slate-100,
:root .text-slate-200,
:root .text-slate-50 { color: var(--site-on-primary); }

:root .border-amber-100,
:root .border-amber-200,
:root .border-amber-300,
:root .border-amber-50,
:root .border-emerald-100,
:root .border-emerald-200,
:root .border-emerald-300,
:root .border-emerald-50,
:root .border-gray-300,
:root .border-sky-100,
:root .border-sky-200,
:root .border-sky-300,
:root .border-sky-50,
:root .border-slate-100,
:root .border-slate-200,
:root .border-slate-300,
:root .border-slate-400,
:root .border-slate-50,
:root .border-slate-500,
:root .hover\:border-emerald-200:hover { border-color: var(--site-border); }

:root .bg-slate-200,
:root .bg-slate-300 { background-color: var(--site-border); }

:root .text-slate-300,
:root .text-slate-400,
:root .text-slate-500,
:root .text-slate-600 { color: var(--site-muted); }

:root .bg-emerald-700,
:root .bg-emerald-800,
:root .bg-emerald-900,
:root .bg-gray-900,
:root .bg-sky-700,
:root .bg-sky-800,
:root .bg-sky-900,
:root .bg-slate-400,
:root .bg-slate-500,
:root .bg-slate-600,
:root .bg-slate-700,
:root .bg-slate-800,
:root .bg-slate-900,
:root .hover\:bg-emerald-700:hover,
:root .hover\:bg-emerald-800:hover,
:root .hover\:bg-slate-700:hover { background-color: var(--site-primary); }

:root .border-slate-600,
:root .border-slate-700,
:root .border-slate-800,
:root .border-slate-900 { border-color: var(--site-primary); }

:root .hover\:text-slate-700:hover,
:root .text-gray-700,
:root .text-slate-700 { color: var(--site-text); }

:root .text-emerald-700,
:root .text-emerald-800,
:root .text-emerald-900,
:root .text-emerald-950,
:root .text-gray-900,
:root .text-sky-700,
:root .text-sky-800,
:root .text-sky-900,
:root .text-sky-950,
:root .text-slate-800,
:root .text-slate-900 { color: var(--site-primary); }

:root .bg-emerald-100,
:root .bg-emerald-50,
:root .bg-sky-100,
:root .bg-sky-50,
:root .hover\:bg-emerald-100:hover,
:root .hover\:bg-emerald-50:hover { background-color: var(--site-soft); }

:root .text-emerald-100,
:root .text-emerald-200,
:root .text-emerald-300,
:root .text-emerald-400,
:root .text-emerald-50,
:root .text-emerald-500,
:root .text-emerald-600,
:root .text-sky-100,
:root .text-sky-200,
:root .text-sky-300,
:root .text-sky-400,
:root .text-sky-50,
:root .text-sky-500,
:root .text-sky-600 { color: var(--site-accent); }

:root .bg-emerald-200,
:root .bg-emerald-300,
:root .bg-sky-200,
:root .bg-sky-300 { background-color: var(--site-hover); }

:root .bg-emerald-400,
:root .bg-emerald-500,
:root .bg-emerald-600,
:root .bg-sky-400,
:root .bg-sky-500,
:root .bg-sky-600 { background-color: var(--site-accent); }

:root .border-emerald-400,
:root .border-emerald-500,
:root .border-emerald-600,
:root .border-emerald-700,
:root .border-emerald-800,
:root .border-emerald-900,
:root .border-sky-400,
:root .border-sky-500,
:root .border-sky-600,
:root .border-sky-700,
:root .border-sky-800,
:root .border-sky-900,
:root .focus\:border-emerald-600:focus,
:root .hover\:border-emerald-500:hover,
:root .hover\:border-emerald-600:hover { border-color: var(--site-accent); }

:root .text-red-600,
:root .text-red-700 { color: var(--site-danger); }

:root .bg-red-600 { background-color: var(--site-danger); }

:root .bg-amber-100,
:root .bg-amber-200,
:root .bg-amber-50 { background-color: color-mix(in srgb,var(--site-warning) 7%,var(--site-surface)); }

:root .text-amber-100,
:root .text-amber-200,
:root .text-amber-300,
:root .text-amber-400,
:root .text-amber-50,
:root .text-amber-500,
:root .text-amber-600,
:root .text-amber-700,
:root .text-amber-800,
:root .text-amber-900 { color: var(--site-warning); }

:root .bg-amber-300,
:root .bg-amber-400,
:root .bg-amber-500,
:root .bg-amber-600,
:root .bg-amber-700,
:root .bg-amber-800,
:root .bg-amber-900 { background-color: var(--site-warning); }

:root .border-amber-400,
:root .border-amber-500,
:root .border-amber-600,
:root .border-amber-700,
:root .border-amber-800,
:root .border-amber-900 { border-color: var(--site-warning); }

:root .bg-white { background-color: var(--site-surface); }

/* Primary actions choose a readable foreground from the configured background. */

:root :is(.bg-slate-700,.bg-slate-800,.bg-slate-900,.bg-emerald-700,.bg-emerald-800,.bg-emerald-900).text-white { color: var(--site-on-primary); }

:root :is(.bg-emerald-500,.bg-emerald-600,.bg-sky-500,.bg-sky-600).text-white { color: var(--site-on-accent); }

/* Filled contact actions retain their channel identity, independently of the site accent. */
:root a[href^="https://wa.me/"]:is(.bg-emerald-500,.bg-emerald-600,.bg-emerald-700) {
    background-color: #18784f;
    color: #ffffff;
}
:root a[href^="https://wa.me/"]:is(.bg-emerald-500,.bg-emerald-600,.bg-emerald-700):hover {
    background-color: #12613f;
}
:root :is(input[type="checkbox"],input[type="radio"]) { accent-color: var(--site-accent); }
body,button,input,select,textarea{font-family:"Manrope",sans-serif}
h1,h2,h3,h4,h5,h6{font-family:"Fraunces",sans-serif}
