/* 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);
}

.nexus-catalog-empty-with-actions {
    min-width: 0;
    padding: clamp(1.25rem, 3vw, 2rem);
    border: 1px solid var(--site-border, #e2e8f0);
    border-radius: 1.25rem;
    background: var(--site-surface, #fff);
}
.nexus-catalog-empty-with-actions > p { padding: 0; margin: 0 0 1.25rem; max-width: 65ch; }
.nexus-catalog-empty-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.nexus-catalog-empty-actions > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    max-width: 100%;
    padding: .7rem 1.1rem;
    border: 1px solid var(--site-primary, #1e293b);
    border-radius: .75rem;
    color: var(--site-primary, #1e293b);
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
    overflow-wrap: anywhere;
    text-decoration: none;
}
.nexus-catalog-empty-actions > a:hover { background: var(--site-canvas, #f8fafc); }
.nexus-catalog-empty-actions > a:focus-visible { outline: 3px solid var(--site-accent, #64748b); outline-offset: 3px; }

/* 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;
    min-width: 0;
    max-width: 100%;
    grid-template-columns: minmax(0,1fr);
    gap: 1.5rem;
}

.nexus-catalog-heading {
    flex-basis: 16rem;
    overflow-wrap: anywhere;
}

.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: var(--catalog-fact-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 {
    position: relative;
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    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: .8125rem;
    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 {
    min-width: 0;
    overflow: hidden;
    color: inherit;
    font-size: inherit;
    font-weight: 500;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.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;
}

/* The existing panel moves outside its page container while the dialog is open. */
@media (min-width: 768px) {
    .nexus-contact-dialog.is-wide .nexus-contact-shell[data-has-advisor="true"] {
        grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
        align-items: start;
    }
}

.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;
}

/* shared/plugin-tools */
[data-nexus-tool]{--tool-accent:var(--nexus-primary,#126b70);--tool-bg:var(--nexus-surface,#fff);--tool-ink:var(--nexus-text,#183437);--tool-line:var(--nexus-border,#dce4e4);background:var(--tool-bg);color:var(--tool-ink);border:1px solid var(--tool-line);border-radius:1rem;padding:clamp(1rem,3vw,1.7rem);min-width:0;margin-block:1rem}
[data-nexus-tool] [hidden]{display:none!important}
[data-nexus-tool] .nexus-tool-heading{margin-block-end:1rem}
[data-nexus-tool] .nexus-tool-heading h2{font:inherit;font-size:1.3rem;font-weight:700;margin:0 0 .45rem}
[data-nexus-tool] .nexus-tool-heading p{margin:0;line-height:1.6;opacity:.8}
[data-nexus-tool] .nexus-tool-controls{display:flex;align-items:end;flex-wrap:wrap;gap:.75rem;margin-block:1rem}
[data-nexus-tool] label.nexus-tool-control{display:grid;gap:.4rem;min-width:0;flex:1 1 10rem}
[data-nexus-tool] button.nexus-tool-control,[data-nexus-tool] .nexus-tool-button,[data-nexus-tool] input.nexus-tool-control,[data-nexus-tool] select.nexus-tool-control{font:inherit;min-height:44px;border:1px solid var(--tool-line);border-radius:.65rem;padding:.65rem .85rem;background:var(--tool-bg);color:var(--tool-ink);max-width:100%;box-sizing:border-box}
[data-nexus-tool] button.nexus-tool-control,[data-nexus-tool] .nexus-tool-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;text-decoration:none;cursor:pointer;white-space:normal}
[data-nexus-tool] button.nexus-tool-control:hover,[data-nexus-tool] .nexus-tool-button:hover,[data-nexus-tool] [aria-pressed=true]{border-color:var(--tool-accent);color:var(--tool-accent)}
[data-nexus-tool] .nexus-tool-control:focus-visible,[data-nexus-tool] .nexus-tool-button:focus-visible{outline:3px solid var(--tool-accent);outline-offset:3px}
[data-nexus-tool] .nexus-tool-control:disabled{opacity:.5;cursor:not-allowed}
[data-nexus-tool] .nexus-tool-grid{display:grid;grid-template-columns:repeat(var(--tool-columns,2),minmax(0,1fr));gap:1rem;align-items:stretch}
[data-nexus-tool] .nexus-tool-card{min-width:0;display:flex;flex-direction:column;gap:.75rem;height:100%;padding:1rem;border:1px solid var(--tool-line);border-radius:.85rem;box-sizing:border-box}
[data-nexus-tool] .nexus-tool-card h3{font:inherit;font-weight:700;font-size:1.1rem;line-height:1.4;margin:0;min-height:2.8em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
[data-nexus-tool] .nexus-tool-card p{margin:0;line-height:1.55;min-height:3.1em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
[data-nexus-tool] .nexus-tool-actions{margin-block-start:auto;display:flex;flex-wrap:wrap;gap:.6rem}
[data-nexus-tool] .nexus-tool-card img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:.6rem}
[data-nexus-tool] [data-tool-status]{min-height:1.5em;margin-block:.7rem 0;font-size:.9rem;line-height:1.5}
[data-nexus-tool] .nexus-tool-muted{font-size:.9rem;opacity:.75}
@media(max-width:760px){[data-nexus-tool] .nexus-tool-grid{grid-template-columns:1fr}}

[data-nexus-tool] .nexus-tool-form{margin-block-start:1.5rem;padding-block-start:1.5rem;border-top:1px solid var(--tool-line)}
[data-nexus-tool] fieldset.nexus-tool-controls{border:0;padding:0;min-width:0}
[data-nexus-tool] .nexus-tool-controls input[type=checkbox]{min-height:auto;width:1.2rem;height:1.2rem;accent-color:var(--tool-accent)}
[data-nexus-tool] a{overflow-wrap:anywhere}
@media(min-width:761px) and (max-width:1050px){[data-nexus-tool] .nexus-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media(min-width:761px) and (max-width:1050px){[data-nexus-tool][data-columns="1"] .nexus-tool-grid{grid-template-columns:1fr}}

/* content-bookmarks */
:is([data-bookmarks],[data-bookmark-panel]) .nexus-bookmark-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;margin-block-end:1rem}
:is([data-bookmarks],[data-bookmark-panel]) .nexus-bookmark-toolbar:empty{display:none}
:is([data-bookmarks],[data-bookmark-panel]) .nexus-bookmark-toolbar label{flex:0 1 14rem}
:is([data-bookmarks],[data-bookmark-panel]) .nexus-bookmark-count{font-size:.9rem;flex:1 1 10rem;min-height:1.5em;font-variant-numeric:tabular-nums}
:is([data-bookmarks],[data-bookmark-panel]) .nexus-bookmark-toolbar label.nexus-bookmark-search{flex:1 1 17rem}
:is([data-bookmarks],[data-bookmark-panel]) .nexus-bookmark-results{display:block;margin-block:1rem;font-size:.9rem;min-height:1.5em;font-variant-numeric:tabular-nums}
:is([data-bookmarks],[data-bookmark-panel]) .nexus-bookmark-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-block-start:1rem}
:is([data-bookmarks],[data-bookmark-panel]) [data-bookmark-page]{min-width:8ch;text-align:center;font-variant-numeric:tabular-nums}
:is([data-bookmarks],[data-bookmark-panel])[data-layout=list] .nexus-tool-grid{grid-template-columns:minmax(0,1fr)}
:is([data-bookmarks],[data-bookmark-panel])[data-compact="1"]{padding:1rem}
:is([data-bookmarks],[data-bookmark-panel])[data-compact="1"] .nexus-tool-grid{gap:.65rem}
:is([data-bookmarks],[data-bookmark-panel])[data-compact="1"] .nexus-tool-card{padding:.75rem;gap:.5rem}
:is([data-bookmarks],[data-bookmark-panel]) .nexus-tool-card h3,:is([data-bookmarks],[data-bookmark-panel]) .nexus-tool-card p{max-height:2.8em;overflow-wrap:anywhere}
:is([data-bookmarks],[data-bookmark-panel]) .nexus-tool-card p{max-height:3.1em}
:is([data-bookmarks],[data-bookmark-panel]) .nexus-tool-card h3 a:focus-visible{outline:2px solid var(--tool-accent);outline-offset:-2px}
:is([data-bookmarks],[data-bookmark-panel]) [aria-pressed=true]{background:color-mix(in srgb,var(--tool-accent) 9%,var(--tool-bg));font-weight:700}
:is([data-bookmarks],[data-bookmark-panel]) .nexus-tool-grid:empty{display:none}
:is([data-bookmarks],[data-bookmark-panel]) .nexus-tool-grid[aria-busy=true]:empty{display:grid;min-height:6rem}
:is([data-bookmarks],[data-bookmark-panel]) .nexus-tool-grid[aria-busy=true]:empty::before{content:"";grid-column:1/-1;min-height:6rem;border:1px solid var(--tool-line);border-radius:.85rem;background:color-mix(in srgb,var(--tool-line) 25%,var(--tool-bg))}
:is([data-bookmarks],[data-bookmark-panel]) [data-bookmark-retry]{margin-block-start:1rem}
:is([data-bookmarks],[data-bookmark-panel]) [data-tool-status]:focus-visible{outline:2px solid var(--tool-accent);outline-offset:3px}
@media(max-width:520px){:is([data-bookmarks],[data-bookmark-panel]) .nexus-bookmark-toolbar label{flex-basis:100%}}

/* The launcher uses the existing media dialog; the list panel moves, never clones. */
.nexus-bookmark-launcher{display:inline-flex;min-width:0;flex-shrink:0}
.nexus-bookmark-launcher [data-bookmark-panel][hidden]{display:none!important}
.nexus-bookmark-launch{position:relative;display:inline-grid;place-items:center;min-width:44px;min-height:44px;padding:10px;border:1px solid var(--site-border,#dce4e4);border-radius:12px;background:transparent;color:var(--site-text,#183437);cursor:pointer}
.nexus-bookmark-launch svg{width:20px;height:20px}
.nexus-bookmark-launch [data-bookmark-total]{position:absolute;top:-3px;right:-3px;display:grid;place-items:center;min-width:17px;height:17px;padding:0 3px;border-radius:999px;background:var(--site-primary,#183437);color:var(--site-on-primary,#fff);font-size:10px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}
.nexus-bookmark-launch:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.nexus-lightbox.nexus-bookmark-dialog{width:min(1080px,94vw);height:min(820px,90dvh);max-width:100vw;max-height:100dvh;background:var(--site-surface,#fff);color:var(--site-text,#183437)}
.nexus-bookmark-dialog .nexus-lightbox-controls{position:relative;min-height:64px;padding-inline-end:76px;border-bottom:1px solid var(--site-border,#dce4e4)}
.nexus-bookmark-dialog .nexus-lightbox-controls strong{overflow-wrap:anywhere}
.nexus-bookmark-dialog .nexus-modal-close{color:var(--site-text,#183437);background:var(--site-canvas,#f4f6f6);border-color:var(--site-border,#dce4e4)}
.nexus-bookmark-dialog .nexus-lightbox-media{padding:0;display:flex;flex-direction:column}
.nexus-bookmark-dialog .nexus-lightbox-viewport{flex:1}
.nexus-bookmark-dialog .nexus-lightbox-stage{display:block;overflow:auto;overscroll-behavior:contain}
.nexus-bookmark-dialog [data-bookmark-panel]{margin:0;border:0;border-radius:0;width:100%;min-height:100%}
.nexus-bookmark-price{min-height:1.5em}
@media(max-width:640px){.nexus-lightbox.nexus-bookmark-dialog{width:100vw;height:100dvh;border-radius:0}.nexus-bookmark-dialog .nexus-lightbox-controls{padding-inline-start:16px}}

/* 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}

/* content-share */
.nexus-content-share{box-sizing:border-box;width:100%;min-width:0;color:var(--site-text,#173738);--share-justify:flex-start;--share-text:start}
.nexus-content-share [hidden]{display:none!important}
.nexus-content-share[data-surface="card"]{padding:20px 24px;border:1px solid var(--site-border,#dce5e2);border-radius:14px;background:var(--site-surface,#fff)}
.nexus-content-share[data-alignment="center"]{--share-justify:center;--share-text:center}
.nexus-content-share[data-alignment="end"]{--share-justify:flex-end;--share-text:end}
.nexus-content-share-bar{display:flex;align-items:center;justify-content:var(--share-justify);flex-wrap:wrap;gap:12px 20px;min-width:0}
.nexus-content-share-heading{font-weight:650;line-height:1.5;overflow-wrap:anywhere;text-align:var(--share-text)}
.nexus-content-share-actions{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:var(--share-justify);gap:10px;min-width:0;max-width:100%}
.nexus-content-share[data-layout="stack"] .nexus-content-share-bar{flex-direction:column;align-items:stretch}
.nexus-content-share-actions .nexus-content-share-action{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;max-width:100%;padding:10px 16px;border:1px solid var(--site-border,#dce5e2);border-radius:10px;background:var(--site-surface,#fff);color:inherit;font:inherit;font-size:.9rem;font-weight:600;line-height:1.4;white-space:normal;overflow-wrap:anywhere;text-align:center;text-decoration:none;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}
.nexus-content-share-action svg{flex-shrink:0}
.nexus-content-share[data-button-style="soft"] .nexus-content-share-action{background:var(--site-soft,#eef4f2);border-color:transparent}
.nexus-content-share-actions .nexus-content-share-action:disabled{opacity:.55;cursor:not-allowed}
.nexus-content-share-action[aria-disabled="true"]{opacity:.6;cursor:wait}
@media(hover:hover){.nexus-content-share-actions .nexus-content-share-action:not(:disabled):hover{background:var(--site-soft,#eef4f2);border-color:var(--site-primary,#12686b)}}
.nexus-content-share :is(a,button,input):focus-visible{outline:3px solid var(--site-primary,#12686b);outline-offset:3px}
.nexus-content-share-status{margin:8px 0 0;min-height:3em;font-size:.8rem;line-height:1.5;color:var(--site-muted,#5b706f);text-align:var(--share-text)}
.nexus-content-share-manual{display:grid;gap:8px;margin-top:12px;font-size:.85rem;line-height:1.5;min-width:0}
.nexus-content-share-manual input{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--site-border,#dce5e2);border-radius:8px;background:var(--site-surface,#fff);color:var(--site-text,#173738);font:inherit;font-size:16px}
@media(max-width:480px){.nexus-content-share[data-surface="card"]{padding:16px}.nexus-content-share-actions{width:100%}.nexus-content-share-action{flex:1 1 auto}}
@media(prefers-reduced-motion:reduce){.nexus-content-share-actions .nexus-content-share-action{transition:none}}

/* 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-single > .nexus-detail-option-facts {
    min-width: 0;
    max-width: 100%;
    grid-template-columns: repeat(auto-fit,minmax(min(9rem,100%),1fr));
}

.nexus-detail-option-actions {
    display: flex;
    flex-wrap: wrap;
    min-width: 0;
    max-width: 100%;
    align-items: stretch;
    gap: .65rem;
}

.nexus-detail-option-actions > .nexus-detail-option-price {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.nexus-detail-option-inquiry {
    display: inline-flex;
    min-height: 44px;
    min-width: 0;
    max-width: 100%;
    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-size: .875rem;
    font-weight: 700;
    white-space: normal;
    overflow-wrap: anywhere;
}

.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;
    }
}

/* 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;
    }
}

/* recently-viewed */
/* Owned by recently-viewed; design values inherit the site's central tokens. */
.nexus-recently-viewed { min-width:0; color:var(--site-text,#18363b); }
.nexus-recently-viewed[hidden], .nexus-recently-viewed [hidden] { display:none!important; }
.nexus-recently-viewed header { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; margin-bottom:1.25rem; }
.nexus-recently-viewed header>div { min-width:0; flex:1 1 15rem; }
.nexus-recently-viewed h2 { font-size:1.5rem; margin:0 0 .5rem; line-height:1.3; overflow-wrap:anywhere; }
.nexus-recently-viewed header p { margin:0; overflow-wrap:anywhere; }
.nexus-recently-viewed button { min-height:44px; padding:.5rem 1rem; border:1px solid var(--site-border,#dce3e5); border-radius:.6rem; background:var(--site-surface,#fff); color:inherit; font:inherit; cursor:pointer; }
.nexus-recently-viewed button:disabled { opacity:.5; cursor:default; }
.nexus-recently-viewed ul { display:grid; grid-template-columns:repeat(var(--recent-columns),minmax(0,1fr)); gap:1rem; list-style:none; margin:0; padding:0; }
.nexus-recently-viewed li { display:flex; flex-direction:column; min-width:0; height:100%; border:1px solid var(--site-border,#dce3e5); background:var(--site-surface,#fff); border-radius:.8rem; overflow:hidden; }
.nexus-recent-cover { display:block; height:var(--recent-cover-height,160px); flex-shrink:0; background:var(--site-soft,#f4f7f7); overflow:hidden; }
.nexus-recent-cover img { display:block; width:100%; height:100%; object-fit:var(--recent-image-fit,cover); }
.nexus-recently-viewed .nexus-recent-body { display:flex; flex:1; flex-direction:column; min-width:0; gap:.65rem; padding:1rem; }
.nexus-recently-viewed h3 { font-size:1rem; line-height:1.45; min-height:2.9em; max-height:2.9em; margin:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; }
.nexus-recently-viewed strong { font-size:1.1rem; min-height:1.5em; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.nexus-recent-actions { margin-top:auto; display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; }
.nexus-recent-action { display:flex; align-items:center; justify-content:space-between; gap:.5rem; min-height:44px; flex:1 1 6rem; font-size:.9rem; }
.nexus-recent-actions button { font-size:.85rem; padding-inline:.6rem; }
.nexus-recently-viewed :focus-visible, .nexus-recently-viewed h2:focus { outline:3px solid var(--site-accent,#267d80); outline-offset:-3px; }
.nexus-recent-count { display:inline-block; padding:.15rem .55rem; border-radius:1rem; background:var(--site-soft,#f4f7f7); font-size:.85rem; font-variant-numeric:tabular-nums; vertical-align:middle; }
.nexus-recent-feedback { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; margin-top:1rem; }
.nexus-recent-feedback p { flex:1 1 14rem; margin:0; overflow-wrap:anywhere; }
.nexus-recent-empty { padding:1rem; margin:0; border:1px dashed var(--site-border,#dce3e5); border-radius:.8rem; }
.nexus-recently-viewed[data-layout="compact"] ul { grid-template-columns:1fr; }
.nexus-recently-viewed[data-layout="compact"] li { flex-direction:row; }
.nexus-recently-viewed[data-layout="compact"] .nexus-recent-cover { width:clamp(5rem,25%,12rem); height:auto; align-self:stretch; position:relative; }
.nexus-recently-viewed[data-layout="compact"] .nexus-recent-cover img { position:absolute; inset:0; }
@media(max-width:800px) { .nexus-recently-viewed ul { grid-template-columns:repeat(var(--recent-mobile-columns,2),minmax(0,1fr)); } }
@media(max-width:440px) { .nexus-recently-viewed ul { grid-template-columns:1fr; } }

/* Published site design */
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties;
:root, :host {
  --color-white: #fff;
  --spacing: 0.25rem;
  --radius-2xl: 1rem;
}
.mx-auto {
  margin-inline: auto;
}
.mt-6 {
  margin-top: calc(var(--spacing) * 6);
}
.mt-8 {
  margin-top: calc(var(--spacing) * 8);
}
.mt-12 {
  margin-top: calc(var(--spacing) * 12);
}
.mb-6 {
  margin-bottom: calc(var(--spacing) * 6);
}
.grid {
  display: grid;
}
.max-w-\[1440px\] {
  max-width: 1440px;
}
.min-w-0 {
  min-width: 0px;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.items-start {
  align-items: flex-start;
}
.gap-8 {
  gap: calc(var(--spacing) * 8);
}
.overflow-hidden {
  overflow: hidden;
}
.rounded-2xl {
  border-radius: var(--radius-2xl);
}
.border {
  border-style: var(--tw-border-style);
  border-width: 1px;
}
.border-t {
  border-top-style: var(--tw-border-style);
  border-top-width: 1px;
}
.border-t-4 {
  border-top-style: var(--tw-border-style);
  border-top-width: 4px;
}
.border-\[var\(--site-accent\)\] {
  border-color: var(--site-accent);
}
.border-\[var\(--site-border\)\] {
  border-color: var(--site-border);
}
.bg-white {
  background-color: var(--color-white);
}
.px-2 {
  padding-inline: calc(var(--spacing) * 2);
}
.px-4 {
  padding-inline: calc(var(--spacing) * 4);
}
.py-3 {
  padding-block: calc(var(--spacing) * 3);
}
.py-6 {
  padding-block: calc(var(--spacing) * 6);
}
.pt-6 {
  padding-top: calc(var(--spacing) * 6);
}
.pt-10 {
  padding-top: calc(var(--spacing) * 10);
}
@media (width >= 40rem) {
  .sm\:px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }
}
@media (width >= 64rem) {
  .lg\:py-10 {
    padding-block: calc(var(--spacing) * 10);
  }
}
@media (width >= 80rem) {
  .xl\:sticky {
    position: sticky;
  }
  .xl\:top-32 {
    top: calc(var(--spacing) * 32);
  }
  .xl\:grid-cols-\[minmax\(0\,1fr\)_360px\] {
    grid-template-columns: minmax(0,1fr) 360px;
  }
}
@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 */
.mx-auto {
  margin-inline: auto;
}
.max-w-\[1400px\] {
  max-width: 1400px;
}
.min-w-0 {
  min-width: 0px;
}

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
.min-h-screen {
  min-height: 100vh;
}
.min-w-0 {
  min-width: 0px;
}
.bg-\[var\(--site-canvas\)\] {
  background-color: var(--site-canvas);
}
.text-\[var\(--site-text\)\] {
  color: var(--site-text);
}

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties;
:root, :host {
  --color-red-700: oklch(50.5% 0.213 27.518);
  --color-red-800: oklch(44.4% 0.177 26.899);
  --color-emerald-600: oklch(59.6% 0.145 163.225);
  --color-emerald-700: oklch(50.8% 0.118 165.612);
  --color-white: #fff;
  --spacing: 0.25rem;
  --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);
  --font-weight-semibold: 600;
  --radius-lg: 0.5rem;
  --radius-xl: 0.75rem;
  --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
  --default-transition-duration: 150ms;
  --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.relative {
  position: relative;
}
.z-40 {
  z-index: 40;
}
.order-1 {
  order: 1;
}
.order-2 {
  order: 2;
}
.order-3 {
  order: 3;
}
.order-4 {
  order: 4;
}
.order-5 {
  order: 5;
}
.col-span-3 {
  grid-column: span 3 / span 3;
}
.mx-auto {
  margin-inline: auto;
}
.flex {
  display: flex;
}
.grid {
  display: grid;
}
.hidden {
  display: none;
}
.inline-flex {
  display: inline-flex;
}
.h-3 {
  height: calc(var(--spacing) * 3);
}
.h-11 {
  height: calc(var(--spacing) * 11);
}
.min-h-11 {
  min-height: calc(var(--spacing) * 11);
}
.w-3 {
  width: calc(var(--spacing) * 3);
}
.w-32 {
  width: calc(var(--spacing) * 32);
}
.max-w-\[1600px\] {
  max-width: 1600px;
}
.max-w-full {
  max-width: 100%;
}
.min-w-0 {
  min-width: 0px;
}
.min-w-11 {
  min-width: calc(var(--spacing) * 11);
}
.shrink-0 {
  flex-shrink: 0;
}
.grid-cols-\[minmax\(0\,1fr\)_auto_auto\] {
  grid-template-columns: minmax(0,1fr) auto auto;
}
.items-center {
  align-items: center;
}
.justify-between {
  justify-content: space-between;
}
.justify-center {
  justify-content: center;
}
.gap-0\.5 {
  gap: calc(var(--spacing) * 0.5);
}
.gap-1 {
  gap: var(--spacing);
}
.gap-x-2 {
  column-gap: calc(var(--spacing) * 2);
}
.gap-y-2 {
  row-gap: calc(var(--spacing) * 2);
}
.justify-self-end {
  justify-self: flex-end;
}
.justify-self-start {
  justify-self: flex-start;
}
.rounded-full {
  border-radius: calc(infinity * 1px);
}
.rounded-lg {
  border-radius: var(--radius-lg);
}
.rounded-xl {
  border-radius: var(--radius-xl);
}
.border {
  border-style: var(--tw-border-style);
  border-width: 1px;
}
.border-b {
  border-bottom-style: var(--tw-border-style);
  border-bottom-width: 1px;
}
.border-\[var\(--site-border\)\] {
  border-color: var(--site-border);
}
.border-red-700 {
  border-color: var(--color-red-700);
}
.bg-emerald-600 {
  background-color: var(--color-emerald-600);
}
.bg-red-700 {
  background-color: var(--color-red-700);
}
.bg-white {
  background-color: var(--color-white);
}
.object-contain {
  object-fit: contain;
}
.object-left {
  object-position: left;
}
.px-1 {
  padding-inline: var(--spacing);
}
.px-2 {
  padding-inline: calc(var(--spacing) * 2);
}
.px-3 {
  padding-inline: calc(var(--spacing) * 3);
}
.py-2 {
  padding-block: calc(var(--spacing) * 2);
}
.pt-1 {
  padding-top: var(--spacing);
}
.pb-1 {
  padding-bottom: var(--spacing);
}
.pb-3 {
  padding-bottom: calc(var(--spacing) * 3);
}
.text-xs {
  font-size: var(--text-xs);
  line-height: var(--tw-leading, var(--text-xs--line-height));
}
.font-semibold {
  --tw-font-weight: var(--font-weight-semibold);
  font-weight: var(--font-weight-semibold);
}
.whitespace-nowrap {
  white-space: nowrap;
}
.text-\[var\(--site-text\)\] {
  color: var(--site-text);
}
.text-white {
  color: var(--color-white);
}
.shadow-\[0_0_12px_rgba\(185\,28\,28\,0\.18\)\] {
  --tw-shadow: 0 0 12px var(--tw-shadow-color, rgba(185,28,28,0.18));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.transition-colors {
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
}
.\[--menu-hover-background\:transparent\] {
  --menu-hover-background: transparent;
}
.\[--menu-mobile-background\:transparent\] {
  --menu-mobile-background: transparent;
}
.\[--menu-mobile-padding\:0px\] {
  --menu-mobile-padding: 0px;
}
.focus-within\:bg-red-800:focus-within {
  background-color: var(--color-red-800);
}
.focus-within\:outline:focus-within {
  outline-style: var(--tw-outline-style);
  outline-width: 1px;
}
.focus-within\:outline-2:focus-within {
  outline-style: var(--tw-outline-style);
  outline-width: 2px;
}
.focus-within\:outline-offset-2:focus-within {
  outline-offset: 2px;
}
.focus-within\:outline-red-700:focus-within {
  outline-color: var(--color-red-700);
}
@media (hover: hover) {
  .hover\:bg-emerald-700:hover {
    background-color: var(--color-emerald-700);
  }
  .hover\:bg-red-800:hover {
    background-color: var(--color-red-800);
  }
}
.focus-visible\:outline:focus-visible {
  outline-style: var(--tw-outline-style);
  outline-width: 1px;
}
.focus-visible\:outline-2:focus-visible {
  outline-style: var(--tw-outline-style);
  outline-width: 2px;
}
.focus-visible\:outline-offset-2:focus-visible {
  outline-offset: 2px;
}
.focus-visible\:outline-\[var\(--site-accent\)\]:focus-visible {
  outline-color: var(--site-accent);
}
.focus-visible\:outline-emerald-700:focus-visible {
  outline-color: var(--color-emerald-700);
}
@media (prefers-reduced-motion: no-preference) {
  .motion-safe\:animate-pulse {
    animation: var(--animate-pulse);
  }
}
@media (width >= 40rem) {
  .sm\:w-36 {
    width: calc(var(--spacing) * 36);
  }
  .sm\:gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .sm\:px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
  .sm\:text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
}
@media (width >= 64rem) {
  .lg\:order-3 {
    order: 3;
  }
  .lg\:order-4 {
    order: 4;
  }
  .lg\:order-6 {
    order: 6;
  }
  .lg\:col-span-1 {
    grid-column: span 1 / span 1;
  }
  .lg\:col-span-4 {
    grid-column: span 4 / span 4;
  }
  .lg\:hidden {
    display: none;
  }
  .lg\:inline {
    display: inline;
  }
  .lg\:h-12 {
    height: calc(var(--spacing) * 12);
  }
  .lg\:w-28 {
    width: calc(var(--spacing) * 28);
  }
  .lg\:w-full {
    width: 100%;
  }
  .lg\:grid-cols-\[auto_minmax\(0\,1fr\)_auto_auto\] {
    grid-template-columns: auto minmax(0,1fr) auto auto;
  }
  .lg\:gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }
  .lg\:gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .lg\:gap-5 {
    gap: calc(var(--spacing) * 5);
  }
  .lg\:gap-y-3 {
    row-gap: calc(var(--spacing) * 3);
  }
  .lg\:justify-self-stretch {
    justify-self: stretch;
  }
  .lg\:rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .lg\:border-0 {
    border-style: var(--tw-border-style);
    border-width: 0px;
  }
  .lg\:px-0 {
    padding-inline: 0px;
  }
  .lg\:px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }
  .lg\:shadow-\[0_0_24px_rgba\(185\,28\,28\,0\.28\)\] {
    --tw-shadow: 0 0 24px var(--tw-shadow-color, rgba(185,28,28,0.28));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
}
@media (width >= 80rem) {
  .xl\:w-36 {
    width: calc(var(--spacing) * 36);
  }
  .xl\:gap-x-4 {
    column-gap: calc(var(--spacing) * 4);
  }
  .xl\:px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }
}
@media (width >= 96rem) {
  .\32 xl\:w-44 {
    width: calc(var(--spacing) * 44);
  }
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@keyframes pulse {
  50% {
    opacity: 0.5;
  }
}
@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;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
    }
  }
}

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties;
:root, :host {
  --color-white: #fff;
  --spacing: 0.25rem;
  --container-xs: 20rem;
  --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);
  --font-weight-semibold: 600;
  --radius-lg: 0.5rem;
}
.mx-auto {
  margin-inline: auto;
}
.mt-3 {
  margin-top: calc(var(--spacing) * 3);
}
.mt-5 {
  margin-top: calc(var(--spacing) * 5);
}
.mt-8 {
  margin-top: calc(var(--spacing) * 8);
}
.mt-10 {
  margin-top: calc(var(--spacing) * 10);
}
.flex {
  display: flex;
}
.grid {
  display: grid;
}
.inline-flex {
  display: inline-flex;
}
.h-16 {
  height: calc(var(--spacing) * 16);
}
.min-h-11 {
  min-height: calc(var(--spacing) * 11);
}
.w-52 {
  width: calc(var(--spacing) * 52);
}
.max-w-\[1400px\] {
  max-width: 1400px;
}
.max-w-xs {
  max-width: var(--container-xs);
}
.min-w-0 {
  min-width: 0px;
}
.flex-col {
  flex-direction: column;
}
.flex-wrap {
  flex-wrap: wrap;
}
.items-center {
  align-items: center;
}
.items-start {
  align-items: flex-start;
}
.justify-between {
  justify-content: space-between;
}
.gap-2 {
  gap: calc(var(--spacing) * 2);
}
.gap-4 {
  gap: calc(var(--spacing) * 4);
}
.gap-6 {
  gap: calc(var(--spacing) * 6);
}
.gap-10 {
  gap: calc(var(--spacing) * 10);
}
.rounded-lg {
  border-radius: var(--radius-lg);
}
.border-t {
  border-top-style: var(--tw-border-style);
  border-top-width: 1px;
}
.border-white\/20 {
  border-color: color-mix(in srgb, #fff 20%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-white) 20%, transparent);
  }
}
.bg-\[var\(--site-primary\)\] {
  background-color: var(--site-primary);
}
.bg-white {
  background-color: var(--color-white);
}
.object-contain {
  object-fit: contain;
}
.px-5 {
  padding-inline: calc(var(--spacing) * 5);
}
.py-3 {
  padding-block: calc(var(--spacing) * 3);
}
.py-12 {
  padding-block: calc(var(--spacing) * 12);
}
.pt-5 {
  padding-top: calc(var(--spacing) * 5);
}
.pt-8 {
  padding-top: calc(var(--spacing) * 8);
}
.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-semibold {
  --tw-font-weight: var(--font-weight-semibold);
  font-weight: var(--font-weight-semibold);
}
.break-all {
  word-break: break-all;
}
.text-white {
  color: var(--color-white);
}
.text-white\/60 {
  color: color-mix(in srgb, #fff 60%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in oklab, var(--color-white) 60%, transparent);
  }
}
.text-white\/75 {
  color: color-mix(in srgb, #fff 75%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in oklab, var(--color-white) 75%, transparent);
  }
}
@media (width >= 48rem) {
  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .md\:py-16 {
    padding-block: calc(var(--spacing) * 16);
  }
}
@media (width >= 64rem) {
  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (width >= 80rem) {
  .xl\:grid-cols-\[minmax\(200px\,\.55fr\)_minmax\(0\,2fr\)\] {
    grid-template-columns: minmax(200px,.55fr) minmax(0,2fr);
  }
}
@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-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
    }
  }
}


:root{
--site-primary:#182f3c;
--site-accent:#bc9465;
--site-surface:#ffffff;
--site-canvas:#faf9f6;
--site-border:#e4e6e3;
--site-text:#182f3c;
--site-muted:#677980;
--site-success:#26734d;
--site-warning:#996515;
--site-danger:#b43838;
--site-on-primary:#ffffff;
--site-on-accent:#000000;
--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:"Lora",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:"Lora",sans-serif}
