/* 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/phone-input */
/* Shared international phone input used by plugin-owned telephone fields. */
.nexus-phone-input {
    position: relative;
    display: flex;
    width: 100%;
    min-width: 0;
    direction: ltr;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* lazy-load */
/* Original media in <noscript> replaces deferred placeholders when scripting is disabled. */
@media (scripting: none) {
    [data-nexus-lazy-src] { display: none !important; }
}

/* Keep dimensions/crop owned by the media component. Hide pixels until decode completes. */
img[data-nexus-lazy-presentation]:is([data-nexus-lazy-state=waiting],[data-nexus-lazy-state=loading]) {
    object-position: -100000px -100000px !important;
    color: transparent;
}

img:is([data-nexus-lazy-presentation=soft],[data-nexus-lazy-presentation=shimmer],[data-nexus-lazy-presentation=skeleton],[data-nexus-lazy-presentation=pulse],[data-nexus-lazy-presentation=solid]):is([data-nexus-lazy-state=waiting],[data-nexus-lazy-state=loading]) {
    --nexus-lazy-shape: color-mix(in srgb, var(--site-accent, #407b80) 12%, var(--site-soft, #edf1f2));
    background-color: var(--site-soft, #edf1f2);
    background-repeat: no-repeat;
}

/* `soft` retains the previous presentation for already cached documents. */
img:is([data-nexus-lazy-presentation=soft],[data-nexus-lazy-presentation=shimmer]):is([data-nexus-lazy-state=waiting],[data-nexus-lazy-state=loading]) {
    background-image: linear-gradient(110deg,
        transparent 25%,
        color-mix(in srgb, var(--site-surface, #fff) 78%, transparent) 45%,
        color-mix(in srgb, var(--site-accent, #407b80) 7%, transparent) 55%,
        transparent 75%);
    background-size: 250% 100%;
    background-position: 100% 0;
}

/* Photo block and two shorter lines scale inside the existing media box, even in thumbnails. */
img[data-nexus-lazy-presentation=skeleton]:is([data-nexus-lazy-state=waiting],[data-nexus-lazy-state=loading]) {
    background-image:
        linear-gradient(var(--nexus-lazy-shape), var(--nexus-lazy-shape)),
        linear-gradient(var(--nexus-lazy-shape), var(--nexus-lazy-shape)),
        linear-gradient(var(--nexus-lazy-shape), var(--nexus-lazy-shape));
    background-size: 52% 40%, 52% 5%, 34% 5%;
    background-position: 50% 30%, 50% 71%, 36.36% 83%;
}

/* Off-screen waiting photos stay static; only actual requests animate. */
img:is([data-nexus-lazy-presentation=soft],[data-nexus-lazy-presentation=shimmer])[data-nexus-lazy-state=loading] {
    animation: nexus-media-loading 1.5s ease-in-out infinite;
}

img[data-nexus-lazy-presentation=pulse][data-nexus-lazy-state=loading] {
    animation: nexus-media-pulse 1.6s ease-in-out infinite;
}

@keyframes nexus-media-loading {
    to { background-position: -100% 0; }
}

/* Animate the placeholder colour, leaving the photo's authored opacity untouched. */
@keyframes nexus-media-pulse {
    0%, 100% { background-color: var(--site-soft, #edf1f2); }
    50% { background-color: var(--nexus-lazy-shape); }
}

@media (prefers-reduced-motion: reduce) {
    img[data-nexus-lazy-presentation][data-nexus-lazy-state=loading] {
        animation: none;
    }
}

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

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

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

/* newsletter-signup */
[data-nexus-plugin="newsletter-signup"] {
    display:grid; grid-template-columns:minmax(220px,.85fr) minmax(340px,1.6fr); gap:clamp(20px,4vw,64px);
    box-sizing:border-box; width:100%;
    align-items:center; padding:clamp(20px,3vw,38px); border-radius:24px;
    background:color-mix(in srgb,var(--site-surface,#fff) 8%,transparent); color:inherit;
}
[data-footer-newsletter] { box-sizing:border-box; width:100%; margin-bottom:clamp(2rem,5vw,4rem); padding-inline:0!important; }
[data-footer-newsletter] > [data-nexus-plugin="newsletter-signup"] { width:100%; max-width:none; }
.nexus-newsletter-copy h2 { margin:.25rem 0 .4rem; font-size:clamp(1.45rem,2.5vw,2.25rem); line-height:1.08; }
.nexus-newsletter-copy>p:last-child { margin:0; max-width:38rem; opacity:.72; }
.nexus-newsletter-eyebrow { margin:0; font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:inherit; }
.nexus-newsletter-form { min-width:0; }
.nexus-newsletter-channels { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 10px; padding:0; border:0; }
.nexus-newsletter-channels legend { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.nexus-newsletter-channels input { position:absolute; opacity:0; pointer-events:none; }
.nexus-newsletter-channels .nexus-newsletter-channel-label { display:flex; min-height:36px; align-items:center; gap:7px; padding:7px 12px; border:1px solid currentColor; border-radius:999px; font-size:.78rem; font-weight:700; line-height:1; opacity:.58; cursor:pointer; }
.nexus-newsletter-channel-icon { display:block; width:1rem; height:1rem; flex:0 0 1rem; }
.nexus-newsletter-channels [data-field-error] { flex:1 0 100%; }
.nexus-newsletter-channels input:checked+.nexus-newsletter-channel-label { background:var(--site-accent,#169b8b); border-color:var(--site-accent,#169b8b); color:var(--site-on-accent,#fff); opacity:1; }
.nexus-newsletter-channels input:focus-visible+.nexus-newsletter-channel-label { outline:3px solid color-mix(in srgb,var(--site-accent,#169b8b) 35%,transparent); outline-offset:2px; }
.nexus-newsletter-fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:8px; }
.nexus-newsletter-fields [data-newsletter-field][hidden] { display:none; }
.nexus-newsletter-fields input { width:100%; min-height:48px; border:1px solid color-mix(in srgb,currentColor 18%,transparent); border-radius:12px; padding:0 14px; background:var(--site-surface,#fff); color:var(--site-text,#152e2d); }
.nexus-newsletter-fields button { min-height:48px; white-space:nowrap; border:0; border-radius:12px; padding:0 18px; background:var(--site-accent,#169b8b); color:var(--site-on-accent,#fff); font-weight:750; }
.nexus-newsletter-fields button > span[aria-hidden="true"] { display:inline-block; width:1em; overflow:hidden; font-size:0; line-height:1; text-align:center; }
.nexus-newsletter-fields button > span[aria-hidden="true"]::before { content:"→"; font-size:1rem; }
[dir="rtl"] .nexus-newsletter-fields button > span[aria-hidden="true"]::before { content:"←"; }
.nexus-newsletter-fields button:disabled { opacity:.55; cursor:wait; }
.nexus-newsletter-consent { display:flex; flex-wrap:wrap; align-items:flex-start; gap:8px; margin-top:10px; font-size:.72rem; line-height:1.4; opacity:.72; }
.nexus-newsletter-consent input { margin-top:2px; flex:0 0 auto; }
.nexus-newsletter-consent > span { flex:1 1 min(28rem,calc(100% - 2rem)); }
.nexus-newsletter-consent [data-field-error] { flex:1 0 100%; }
.nexus-newsletter-feedback { min-height:1.25rem; margin:.5rem 0 0; font-size:.78rem; }
.nexus-newsletter-feedback[data-status="success"] { color:var(--site-accent,#169b8b); }
[data-newsletter-field] small { display:block; color:#dc2626; font-size:.72rem; }
.nexus-newsletter-honeypot { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip-path:inset(50%)!important; }
[data-newsletter-layout="minimal"] { padding:0; background:transparent; }
[data-newsletter-layout="card"] { background:var(--site-surface,#fff); color:var(--site-text,#152e2d); box-shadow:0 18px 50px rgb(0 0 0/.08); }
@media(max-width:900px){[data-nexus-plugin="newsletter-signup"]{grid-template-columns:1fr}.nexus-newsletter-fields{grid-template-columns:1fr 1fr}.nexus-newsletter-fields button{grid-column:1/-1}}
@media(max-width:560px){[data-nexus-plugin="newsletter-signup"]{padding:20px;border-radius:18px}.nexus-newsletter-channels .nexus-newsletter-channel-label{min-height:44px}.nexus-newsletter-fields{grid-template-columns:1fr}.nexus-newsletter-fields button{grid-column:auto}}

/* search-filter */
/* search-filter: plugin presentation; site design stays in published page/region CSS. */
[data-search-multiple]>summary {
    width: 100%;
    box-shadow: inset 0 -3px transparent;
}

[data-search-multiple][data-has-selection=true]>summary,
[data-nexus-plugin=search-filter] [data-has-value=true] {
    box-shadow: inset 0 -3px var(--site-accent,#16a34a);
}

.nexus-location-single > summary {
    transition: border-color .2s ease,box-shadow .2s ease,background-color .2s ease;
}

.nexus-location-single > summary:hover,
.nexus-location-single[open] > summary {
    border-color: color-mix(in srgb,var(--site-accent,#0b6b70) 48%,var(--site-border,#dbe3df));
}

.nexus-location-single-pin,
.nexus-location-single-chevron {
    width: 1.25rem;
    height: 1.25rem;
    flex: 0 0 auto;
}

.nexus-location-single-pin {
    color: var(--site-accent,#0b6b70);
}

.nexus-location-single-chevron {
    color: var(--site-muted,#64748b);
    transition: transform .2s ease;
}

.nexus-location-single[open] .nexus-location-single-chevron {
    transform: rotate(180deg);
}

.nexus-location-single-panel {
    color: var(--site-primary,#172c25);
}

.nexus-location-single-search {
    display: flex;
    min-height: 46px;
    align-items: center;
    gap: .65rem;
    padding: 0 .85rem;
    border: 1px solid var(--site-border,#dbe3df);
    border-radius: .75rem;
    background: color-mix(in srgb,var(--site-canvas,#f8faf9) 70%,white);
}

.nexus-location-single-search:focus-within {
    border-color: var(--site-accent,#0b6b70);
    box-shadow: 0 0 0 3px color-mix(in srgb,var(--site-accent,#0b6b70) 18%,transparent);
}

.nexus-location-single-search svg {
    width: 1.15rem;
    height: 1.15rem;
    flex: 0 0 auto;
    color: var(--site-muted,#64748b);
}

.nexus-location-single-search input {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    padding: .7rem 0;
    background: transparent;
    color: inherit;
    font: inherit;
    box-shadow: none;
}

.nexus-location-single-tree {
    margin-top: .45rem;
    scrollbar-width: thin;
}

.nexus-location-single-row {
    display: flex;
    min-height: 48px;
    align-items: center;
    border-bottom: 1px solid color-mix(in srgb,var(--site-border,#dbe3df) 65%,transparent);
}

.nexus-location-single-row[hidden] {
    display: none;
}

.nexus-location-single-row > label {
    display: flex;
    min-width: 0;
    flex: 1;
    align-items: center;
    gap: .7rem;
    min-height: 48px;
    padding-block: .45rem;
    padding-inline: calc(.55rem + var(--location-depth,0) * 1.25rem) .55rem;
    cursor: pointer;
    font-size: .9rem;
    font-weight: 600;
}

.nexus-location-single-row > label > input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
}

.nexus-location-single-choice {
    position: relative;
    width: 1.1rem;
    height: 1.1rem;
    flex: 0 0 auto;
    border: 2px solid color-mix(in srgb,var(--site-muted,#64748b) 38%,transparent);
    border-radius: .3rem;
    background: var(--site-surface,#fff);
}

.nexus-location-single-row > label > input:focus-visible + .nexus-location-single-choice {
    outline: 3px solid color-mix(in srgb,var(--site-accent,#0b6b70) 35%,transparent);
    outline-offset: 2px;
}

.nexus-location-single-row > label > input:checked + .nexus-location-single-choice {
    border-color: var(--site-accent,#0b6b70);
    background: var(--site-accent,#0b6b70);
}

.nexus-location-single-row > label > input:checked + .nexus-location-single-choice::after {
    content: "";
    position: absolute;
    left: .29rem;
    top: .08rem;
    width: .3rem;
    height: .58rem;
    border: solid var(--site-on-accent,#fff);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.nexus-location-single-row:has(input:checked) {
    background: color-mix(in srgb,var(--site-accent,#0b6b70) 8%,transparent);
}

.nexus-location-single-row > button {
    display: grid;
    width: 44px;
    height: 44px;
    flex: 0 0 auto;
    place-items: center;
    margin-inline-end: .25rem;
    border: 0;
    border-radius: 999px;
    color: var(--site-accent,#0b6b70);
}

.nexus-location-single-row > button:hover {
    background: color-mix(in srgb,var(--site-accent,#0b6b70) 10%,transparent);
}

.nexus-location-single-row > button:focus-visible {
    outline: 3px solid color-mix(in srgb,var(--site-accent,#0b6b70) 35%,transparent);
    outline-offset: 1px;
}

.nexus-location-single-row > button svg {
    width: 1.15rem;
    height: 1.15rem;
    transition: transform .2s ease;
}

.nexus-location-single-row > button[aria-expanded=true] svg {
    transform: rotate(90deg);
}

[data-filter-tab][aria-pressed=true] {
    box-shadow: inset 0 -3px var(--site-accent,#16a34a);
}

.nexus-search-active-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    margin-top: .8rem;
    color: var(--site-primary,#172c25);
}

.nexus-search-eyebrow {
    order: -1;
    margin: 0;
    color: var(--site-accent,#0b6b70);
    font-family: var(--site-mono-font,"IBM Plex Mono",ui-monospace,monospace);
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .18em;
    line-height: 1.4;
    text-transform: uppercase;
}

.nexus-search-active-title {
    margin-inline-end: .2rem;
    color: var(--site-muted,#64748b);
    font-size: .8rem;
    font-weight: 650;
}

.nexus-search-active-filters a:not(.nexus-search-clear-filters) {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    gap: .5rem;
    max-width: 100%;
    padding: .4rem .7rem;
    border: 1px solid color-mix(in srgb,var(--site-primary,#172c25) 18%,transparent);
    border-radius: 999px;
    background: var(--site-surface,#fff);
    font-size: .8rem;
    font-weight: 600;
}

.nexus-search-active-filters a > span:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.nexus-search-clear-filters {
    min-height: 36px;
    padding: .45rem .3rem;
    color: var(--site-accent,#0b6b70);
    font-size: .8rem;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: .2em;
}

.nexus-search-active-filters a:focus-visible {
    outline: 3px solid color-mix(in srgb,var(--site-accent,#0b6b70) 55%,transparent);
    outline-offset: 2px;
}

.nexus-search-sentence {
    display: block;
    width: 100%;
    min-width: 0;
    color: var(--site-primary,#0c2b2f);
}

.nexus-search-sentence-eyebrow {
    margin: 0 0 1.1rem;
    color: var(--site-accent,#0b6b70);
    font-family: var(--site-mono-font,"IBM Plex Mono",ui-monospace,monospace);
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .2em;
    text-transform: uppercase;
}

.nexus-search-sentence-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .3em .38em;
    font-family: var(--site-heading-font,Archivo,system-ui,sans-serif);
    font-size: clamp(1.35rem,2.5vw,1.95rem);
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: -.02em;
}

.nexus-search-sentence-control {
    position: relative;
    display: inline-flex;
    min-width: min(100%,10rem);
    max-width: min(100%,21rem);
    color: var(--site-accent,#0b6b70);
}

.nexus-search-sentence-control>details,
.nexus-search-sentence-price,
.nexus-search-sentence-control .nexus-search-numeric-range {
    width: 100%;
}

.nexus-search-numeric-range input {
    min-height: 44px;
}

.nexus-search-numeric-label {
    grid-column: 1 / -1;
    margin-bottom: .2rem;
    font-size: .875rem;
    font-weight: 650;
}

.nexus-search-sentence-control .nexus-search-numeric-range {
    min-width: min(100%,16rem);
    color: var(--site-primary,#0c2b2f);
    font-family: var(--site-body-font,Archivo,system-ui,sans-serif);
    font-size: .875rem;
    font-weight: 400;
    line-height: 1.4;
}

.nexus-search-sentence-control>details>summary,
.nexus-search-sentence-price select,
.nexus-search-sentence-price input {
    min-height: 2.55rem;
    border: 0;
    border-bottom: 2px solid color-mix(in srgb,var(--site-accent,#0b6b70) 38%,transparent);
    border-radius: 0;
    background: transparent;
    padding: .1rem 1.2rem .1rem .08rem;
    color: inherit;
    font: inherit;
    line-height: 1.3;
    box-shadow: none;
}

.nexus-search-sentence-control>details>summary:hover,
.nexus-search-sentence-control>details[open]>summary,
.nexus-search-sentence-price select:focus,
.nexus-search-sentence-price input:focus {
    border-bottom-color: var(--site-accent,#0b6b70);
    outline: 0;
}

.nexus-search-sentence-control [data-search-options-panel] {
    min-width: min(22rem,calc(100vw - 2.5rem));
    color: var(--site-primary,#0c2b2f);
    font-family: var(--site-body-font,Archivo,system-ui,sans-serif);
    font-size: .875rem;
    font-weight: 400;
    line-height: 1.4;
}

.nexus-search-sentence-price {
    display: inline-flex;
    flex-direction: column;
    gap: .25rem;
    min-width: min(100%,10rem);
    max-width: min(100%,15rem);
    color: var(--site-accent,#0b6b70);
}

.nexus-search-sentence-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    margin-top: 2rem;
    border-top: 1px solid var(--site-border,#d5ddd6);
    padding-top: 1.5rem;
}

.nexus-search-sentence-actions button {
    display: inline-flex;
    min-height: 3.25rem;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    border-radius: 999px;
    background: var(--site-primary,#0c2b2f);
    padding: .8rem 1.75rem;
    color: var(--site-on-primary,#fff);
    font-family: var(--site-body-font,Archivo,system-ui,sans-serif);
    font-size: .95rem;
    font-weight: 650;
}

.nexus-search-sentence-actions p {
    max-width: 34rem;
    color: var(--site-muted,#5a6a67);
    font-family: var(--site-mono-font,"IBM Plex Mono",ui-monospace,monospace);
    font-size: .75rem;
    line-height: 1.55;
}

@media (max-width:639px) {
    .nexus-search-sentence-line {
        display: grid;
        grid-template-columns: minmax(0,1fr);
        gap: .55rem;
        font-size: 1.3rem;
    }
    .nexus-search-sentence-control,
    .nexus-search-sentence-price {
        width: 100%;
        max-width: none;
    }
    .nexus-search-sentence-actions button {
        width: 100%;
    }
}

.nexus-search-trigger,
.nexus-search-dialog-heading {
    display: none;
}

.nexus-search-shell {
    min-width: 0;
    width: 100%;
}

.nexus-search-shell.is-enhanced[data-search-all-screens=true]>.nexus-search-trigger {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    min-height: 44px;
    flex-shrink: 0;
    padding: 10px;
    border: 1px solid var(--site-border,#dbe3df);
    border-radius: 999px;
    background: var(--site-surface,#fff);
    color: var(--site-primary,#172c25);
}

.nexus-search-shell.is-enhanced[data-search-all-screens=true]:not(.is-open)>[data-search-panel] {
    display: none;
}

.nexus-search-shell[data-search-all-screens=true] .nexus-search-trigger-label,
.nexus-search-shell[data-search-all-screens=true] [data-search-count] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
}

.nexus-search-dialog {
    position: fixed;
    inset: 0;
    margin: auto;
    width: min(94vw,640px);
    max-width: 94vw;
    max-height: 90dvh;
    padding: 20px;
    border: 0;
    border-radius: 16px;
    background: var(--site-surface,#fff);
    color: var(--site-primary,#172c25);
    overflow-y: auto;
}

.nexus-search-dialog::backdrop {
    background: var(--site-backdrop,#101a17b3);
}

.nexus-search-dialog-heading {
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.nexus-search-dialog [data-search-panel] {
    display: block;
}

.nexus-search-dialog .nexus-search-dialog-heading {
    display: flex;
}

.nexus-search-dialog [data-search-close] {
    width: 44px;
    height: 44px;
    border: 1px solid var(--site-border,#e2e8f0);
    border-radius: 8px;
}

.nexus-search-dialog form {
    width: 100%;
    max-width: none;
    margin-top: 0;
}

.nexus-search-dialog [data-search-sticky-container] {
    position: static;
    max-height: none;
    overflow: visible;
}

@media (max-width:1023px) {
    .nexus-search-shell.is-enhanced>.nexus-search-trigger {
        display: flex;
        align-items: center;
        gap: 10px;
        width: 100%;
        min-height: 44px;
        border: 1px solid var(--site-border,#dbe3df);
        border-radius: 10px;
        padding: 10px 14px;
        background: var(--site-surface,#fff);
        font-weight: 600;
    }
    .nexus-search-shell.is-enhanced:not(.is-open)>[data-search-panel] {
        display: none;
    }
    .nexus-search-shell.is-open[data-mobile-display=accordion]>[data-search-panel] {
        margin-top: 10px;
    }
    .nexus-search-shell.is-enhanced[data-search-icon-only=true] {
        width: 44px;
        flex-shrink: 0;
    }
    .nexus-search-shell.is-enhanced[data-search-icon-only=true]>.nexus-search-trigger {
        width: 44px;
        height: 44px;
        min-height: 44px;
        padding: 9px;
        justify-content: center;
    }
    .nexus-search-shell[data-search-icon-only=true] .nexus-search-trigger-label {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip-path: inset(50%);
    }
    .nexus-search-shell[data-search-icon-only=true] [data-search-count] {
        display: none;
    }
}

/* Icon launchers inherit the visual language of whichever configurable header owns them. */
[data-header-preferences] .nexus-search-shell.is-enhanced[data-search-all-screens=true] {
    width: 40px;
    flex: 0 0 40px;
}

[data-header-preferences] .nexus-search-shell.is-enhanced[data-search-all-screens=true] > .nexus-search-trigger {
    width: 40px;
    height: 40px;
    min-height: 40px;
    padding: 8px;
    border-color: color-mix(in srgb, currentColor 24%, transparent);
    border-radius: 10px;
    background: color-mix(in srgb, currentColor 7%, transparent);
    color: inherit;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, currentColor 4%, transparent);
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

[data-header-preferences] .nexus-search-shell.is-enhanced[data-search-all-screens=true] > .nexus-search-trigger:hover,
[data-header-preferences] .nexus-search-shell.is-enhanced[data-search-all-screens=true] > .nexus-search-trigger:focus-visible {
    border-color: var(--site-canvas, #eaf0eb);
    background: var(--site-canvas, #eaf0eb);
    color: var(--site-primary, #0c2b2f);
}

[data-header-preferences] .nexus-search-shell.is-enhanced[data-search-all-screens=true] > .nexus-search-trigger:focus-visible {
    outline: 2px solid var(--site-accent, #0b6b70);
    outline-offset: 2px;
}

[data-header-preferences] .nexus-search-shell[data-search-all-screens=true] > .nexus-search-trigger svg {
    width: 18px;
    height: 18px;
}

@media (min-width:1024px) {
    [data-header-preferences] .nexus-search-shell.is-enhanced[data-search-all-screens=true] {
        width: 36px;
        flex-basis: 36px;
    }

    [data-header-preferences] .nexus-search-shell.is-enhanced[data-search-all-screens=true] > .nexus-search-trigger {
        width: 36px;
        height: 36px;
        min-width: 36px;
        min-height: 36px;
        padding: 7px;
    }
}

.nexus-search-dialog .nexus-search-dialog-heading {
    position: sticky;
    top: 0;
    z-index: 3;
    min-height: 44px;
    padding-inline-end: 60px;
    background: var(--site-surface,#fff);
}

.nexus-search-tabs {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 4px;
    padding: 6px;
    min-height: 56px;
    min-width: 0;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
}

.nexus-search-tabs>button {
    flex: 1 0 auto;
    white-space: nowrap;
    min-height: 44px;
    padding: 8px 10px;
}

.nexus-search-tabs > [hidden] {
    display: none !important;
}

form[data-search-tabs-only] {
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

form[data-search-tabs-only] .nexus-search-tabs {
    min-height: 0;
    gap: .55rem;
    padding: 0;
    background: transparent;
    scrollbar-width: none;
}

form[data-search-tabs-only] .nexus-search-tabs::-webkit-scrollbar { display: none; }

form[data-search-tabs-only] .nexus-search-tabs > button {
    flex: 0 0 auto;
    min-height: 40px;
    border: 1px solid var(--site-border,#d5ddd6);
    border-radius: 999px;
    background: var(--site-surface,#fff);
    color: var(--site-primary,#0c2b2f);
    padding: .55rem 1rem;
}

form[data-search-tabs-only] .nexus-search-tabs > button[aria-pressed=true] {
    border-color: var(--site-primary,#0c2b2f);
    background: var(--site-primary,#0c2b2f);
    color: var(--site-on-primary,#fff);
}

.nexus-search-advanced[data-advanced-display=drawer] {
    border-color: color-mix(in srgb,var(--site-accent,#0b6b70) 26%,var(--site-border,#d5ddd6));
    background: var(--site-surface,#fff);
    padding: 0;
    overflow: clip;
}

.nexus-search-advanced[data-advanced-display=drawer] > summary {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .75rem 1rem;
    color: var(--site-primary,#172c25);
}

.nexus-search-advanced[data-advanced-display=drawer] > summary::after {
    content: '+';
    display: grid;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    place-items: center;
    border: 1px solid var(--site-border,#d5ddd6);
    border-radius: 999px;
    color: var(--site-accent,#0b6b70);
    font-size: 1.15rem;
    line-height: 1;
}

.nexus-search-advanced[data-advanced-display=drawer][open] > summary {
    border-bottom: 1px solid var(--site-border,#d5ddd6);
}

.nexus-search-advanced[data-advanced-display=drawer][open] > summary::after { content: '−'; }

.nexus-search-advanced[data-advanced-display=drawer] > div { margin: 0; padding: 1rem; }

.nexus-search-advanced[data-advanced-display=expanded] > summary { display: none; }
.nexus-search-advanced[data-advanced-display=expanded] > div { margin-top: 0; }

form[data-search-fixed-submit] {
    grid-template-rows: minmax(0,1fr) auto;
    gap: 0;
    max-height: calc(100dvh - var(--search-sticky-offset,24px) - var(--nexus-fixed-header-height,0px) - var(--search-flow-offset,0px) - 16px);
}

.nexus-search-scroll-fields {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    grid-auto-rows: max-content;
    align-content: start;
    gap: 1rem;
    min-height: 0;
    min-width: 0;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-gutter: stable;
    overscroll-behavior-y: contain;
    padding: 2px 4px 4px 2px;
    scroll-padding-block: 8px;
}

.nexus-search-submit-footer {
    padding-top: 12px;
    margin-top: 12px;
    border-top: 1px solid var(--site-border,#e2e8f0);
    background: var(--site-surface,#fff);
}

.nexus-search-dialog form[data-search-fixed-submit] {
    max-height: 70dvh;
}

.nexus-search-dialog .nexus-search-dialog-heading>h2 {
    min-width: 0;
    overflow-wrap: anywhere;
}

.nexus-search-dialog .nexus-modal-close {
    position: absolute;
    top: 0;
    inset-inline-end: 0;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    font-size: 30px;
    line-height: 1;
    background: var(--site-surface,#fff);
    color: var(--site-primary,#173c32);
}

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

[data-search-options-panel][data-floating=true] {
    position: fixed;
    right: auto;
    bottom: auto;
    height: auto;
    margin: 0;
    box-sizing: border-box;
    z-index: 60;
    overflow: hidden;
    flex-direction: column;
    gap: .5rem;
}

[data-search-options-panel]:not([data-floating=true]) {
    inset-inline-start: 0;
}

[data-search-options-panel][data-floating=true]:is(:popover-open,[data-fallback-open=true]) {
    display: flex;
}

[data-search-options-panel][data-floating=true] [data-option-search] {
    flex: none;
    margin-bottom: 0;
}

[data-search-options-panel][data-floating=true] [data-search-options-list] {
    min-height: 0;
    flex: 1;
    max-height: none;
    overflow: auto;
    overscroll-behavior: contain;
}

@media (min-width:1024px) {
    [data-search-sticky-container] {
        position: sticky;
        top: calc(var(--search-sticky-offset,24px) + var(--nexus-fixed-header-height,0px));
        align-self: start;
        max-height: calc(100dvh - var(--search-sticky-offset,24px) - var(--nexus-fixed-header-height,0px) - 16px);
        overflow-y: auto;
        scrollbar-width: thin;
    }
    [data-search-sticky-container][data-search-fixed-submit-container]:not(form) {
        max-height: none;
        overflow: visible;
    }
    [data-search-sticky-container=horizontal] {
        z-index: 40;
        max-height: none;
        overflow: visible;
        background: var(--site-surface,#fff);
    }
}

[data-nexus-plugin=search-filter][data-hide-field-labels=true] [data-search-field-label] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

/* Trusted presentation profiles. Page and tenant colours continue to come from
   the published design tokens; profiles only change density and composition. */
[data-nexus-plugin=search-filter][data-presentation-profile=editorial] {
    border-color: color-mix(in srgb,var(--site-accent,#0b6b70) 22%,var(--site-border,#d5ddd6));
    border-radius: 1.25rem;
    box-shadow: 0 20px 55px color-mix(in srgb,var(--site-primary,#0c2b2f) 10%,transparent);
}

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

[data-nexus-plugin=search-filter][data-presentation-profile=compact] {
    gap: .65rem;
    padding: .75rem;
    border-radius: .75rem;
    box-shadow: none;
}

[data-nexus-plugin=search-filter][data-presentation-profile=compact] :is(input,select,summary,button) {
    min-height: 42px;
}

/* Dense horizontal searches should complete a four-column row instead of
   leaving the submit action alone below it. Narrow layouts keep one column. */
@media (min-width:1024px) {
    [data-nexus-plugin=search-filter][data-search-orientation=horizontal] > .nexus-search-query {
        grid-column: span 1 / span 1;
    }
}

[data-nexus-plugin=search-filter][data-presentation-profile=marketplace] {
    border-radius: .75rem;
    border-color: var(--site-border,#cbd5e1);
    box-shadow: 0 8px 24px color-mix(in srgb,var(--site-primary,#0f172a) 9%,transparent);
}

[data-nexus-plugin=search-filter][data-presentation-profile=marketplace] .nexus-search-tabs {
    border-radius: .6rem;
}

[data-nexus-plugin=search-filter][data-presentation-profile=minimal] {
    border-color: transparent;
    background: transparent;
    padding-inline: 0;
    box-shadow: none;
}

/* The toolbar uses the same scoped form and dropdown controls as other layouts. */
form[data-nexus-plugin=search-filter][data-search-presentation=toolbar] {
    display: flex;
    min-width: 0;
    align-items: center;
    flex-wrap: nowrap;
    gap: .65rem;
    margin: 0;
    padding: 2px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--site-text,#303030);
    box-shadow: none;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
}

form[data-search-presentation=toolbar] > .nexus-search-toolbar-control {
    width: auto;
    min-width: 0;
    flex: 1 0 8rem;
    gap: 0;
    align-self: stretch;
    grid-column: auto;
}

form[data-search-presentation=toolbar] > .nexus-search-toolbar-location { flex-basis: 13rem; }
form[data-search-presentation=toolbar] > .nexus-search-eyebrow { display: none; }

form[data-search-presentation=toolbar] > .nexus-search-toolbar-control > :is(details,select) { width: 100%; }
form[data-search-presentation=toolbar] > .nexus-search-toolbar-control > details > summary,
form[data-search-presentation=toolbar] > details.nexus-search-toolbar-control > summary,
form[data-search-presentation=toolbar] > .nexus-search-toolbar-control > select {
    display: flex;
    min-width: 0;
    min-height: 50px;
    align-items: center;
    justify-content: space-between;
    gap: .55rem;
    margin: 0;
    padding: .7rem 1rem;
    border: 1px solid color-mix(in srgb,var(--site-text,#303030) 42%,var(--site-surface,#fff));
    border-radius: 999px;
    background: var(--site-surface,#fff);
    color: var(--site-text,#303030);
    font-family: var(--site-body-font,Arial,sans-serif);
    font-size: .9375rem;
    font-weight: 500;
    line-height: 1.4;
    list-style: none;
    cursor: pointer;
}

form[data-search-presentation=toolbar] > .nexus-search-toolbar-location > details > summary { font-weight: 650; }
form[data-search-presentation=toolbar] > .nexus-search-toolbar-control > select { padding-inline-end: 2rem; }
form[data-search-presentation=toolbar] .nexus-search-toolbar-popover > summary::-webkit-details-marker { display: none; }
form[data-search-presentation=toolbar] .nexus-search-toolbar-popover > summary > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
form[data-search-presentation=toolbar] .nexus-search-toolbar-popover > summary > svg { width: 1.1rem; height: 1.1rem; flex: 0 0 auto; }

form[data-search-presentation=toolbar] > .nexus-search-advanced {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    overflow: visible;
}

form[data-search-presentation=toolbar] > .nexus-search-advanced > summary::after { display: none; }
form[data-search-presentation=toolbar] > .nexus-search-advanced[open] > summary { border-bottom-width: 1px; }
form[data-search-presentation=toolbar] [data-search-popover] > [data-search-options-panel] {
    min-width: 0;
    margin: 0;
    padding: 1rem;
    border: 1px solid var(--site-border,#d5ddd6);
    border-radius: 1rem;
    background: var(--site-surface,#fff);
    color: var(--site-text,#303030);
    box-shadow: 0 12px 30px rgb(0 0 0 / .12);
    overflow: auto;
    overscroll-behavior: contain;
}

form[data-search-presentation=toolbar] [data-search-popover] > [data-search-options-panel]:not([data-floating=true]) {
    position: absolute;
    top: 100%;
    z-index: 30;
    width: min(22rem,calc(100vw - 2rem));
}

form[data-search-presentation=toolbar] [data-search-popover] { position: relative; }
form[data-search-presentation=toolbar] [data-search-options-panel] > fieldset { width: 100%; margin: 0; }
form[data-search-presentation=toolbar] .nexus-search-advanced [data-search-options-list] { width: 100%; }

form[data-search-presentation=toolbar] > .nexus-search-toolbar-submit {
    display: inline-flex;
    width: auto;
    min-height: 50px;
    flex: 0 0 auto;
    align-self: stretch;
    align-items: center;
    justify-content: center;
    padding: .7rem 1.25rem;
    border: 1px solid transparent;
    border-radius: 999px;
    background: var(--site-accent,#0b6b70);
    color: var(--site-on-accent,#fff);
    font-size: .9375rem;
    font-weight: 700;
    line-height: 1.4;
    white-space: nowrap;
}

form[data-search-presentation=toolbar] :is(summary,select,button):focus-visible {
    outline: 2px solid var(--site-accent,#0b6b70);
    outline-offset: -3px;
}

form[data-search-presentation=toolbar] [data-search-popover][data-has-selection=true] > summary {
    box-shadow: inset 0 -3px var(--site-accent,#0b6b70);
}

@media (max-width:1023px) {
    form[data-nexus-plugin=search-filter][data-search-presentation=toolbar] {
        display: grid;
        grid-template-columns: minmax(0,1fr);
        gap: .75rem;
        overflow: visible;
    }
    form[data-search-presentation=toolbar] > .nexus-search-toolbar-control,
    form[data-search-presentation=toolbar] > .nexus-search-toolbar-submit { width: 100%; }
}

/* Existing query clauses remain ordinary form controls in every presentation. */
.nexus-search-preserved-locations,
.nexus-search-preserved-filters {
    width: 100%;
    min-width: 0;
    grid-column: 1 / -1;
    flex: 0 0 100%;
    order: 900;
    margin: 0;
    padding: 1rem;
    border: 1px solid var(--site-border,#dbe3df);
    border-radius: 1rem;
    background: var(--site-surface,#fff);
    color: var(--site-primary,#172c25);
    font-family: var(--site-body-font,Arial,sans-serif);
    font-size: .9375rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: normal;
}

.nexus-search-preserved-locations > legend,
.nexus-search-preserved-filters > legend {
    max-width: 100%;
    padding-inline: .35rem;
    font-size: .9375rem;
    font-weight: 700;
}

.nexus-search-preserved-help {
    margin: 0 0 1rem;
    color: var(--site-muted,#64748b);
    font-size: .875rem;
    overflow-wrap: anywhere;
}

.nexus-search-preserved-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(min(100%,16rem),1fr));
    align-items: stretch;
    gap: 1rem;
}

.nexus-search-preserved-control {
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
    gap: .65rem;
    padding: 1rem;
    border: 1px solid var(--site-border,#dbe3df);
    border-radius: .75rem;
}

.nexus-search-preserved-label {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    min-height: 2.8em;
    max-height: 2.8em;
    overflow: hidden;
    margin: 0;
    font-size: .875rem;
    font-weight: 650;
    line-height: 1.4;
}

.nexus-search-preserved-summary {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    min-height: 4.5em;
    max-height: 4.5em;
    overflow: hidden;
    overflow-wrap: anywhere;
    margin: 0;
    color: var(--site-muted,#64748b);
    font-size: .875rem;
    line-height: 1.5;
}

.nexus-search-preserved-clear {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    min-width: 44px;
    min-height: 44px;
    margin-top: auto;
    padding-block: .4rem;
    color: var(--site-accent,#0b6b70);
    font-size: .875rem;
    text-decoration: underline;
    text-underline-offset: .2em;
    overflow-wrap: anywhere;
}

.nexus-search-preserved-apply {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin-top: 1rem;
    padding: .7rem 1.25rem;
    border: 1px solid transparent;
    border-radius: .75rem;
    background: var(--site-accent,#0b6b70);
    color: var(--site-on-accent,#fff);
    font: inherit;
    font-weight: 650;
}

[data-nexus-plugin=search-filter] :is(.nexus-search-preserved-locations,.nexus-search-preserved-filters) :is(summary,button) {
    min-height: 44px;
}

[data-nexus-plugin=search-filter] :is(.nexus-search-preserved-locations,.nexus-search-preserved-filters) :is(a,summary,button,input):focus-visible {
    outline: 2px solid var(--site-accent,#0b6b70);
    outline-offset: 3px;
}

form[data-search-presentation=toolbar]:has(> :is(.nexus-search-preserved-locations,.nexus-search-preserved-filters)) {
    flex-wrap: wrap;
    overflow-x: visible;
}

.nexus-search-sentence > :is(.nexus-search-preserved-locations,.nexus-search-preserved-filters),
form[data-search-tabs-only] > :is(.nexus-search-preserved-locations,.nexus-search-preserved-filters) {
    margin-top: 1rem;
}

/* Published site design */
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties;
:root, :host {
  --spacing: 0.25rem;
  --text-base: 1rem;
  --text-base--line-height: calc(1.5 / 1);
  --text-3xl: 1.875rem;
  --text-3xl--line-height: calc(2.25 / 1.875);
  --text-5xl: 3rem;
  --text-5xl--line-height: 1;
  --font-weight-semibold: 600;
  --tracking-tight: -0.025em;
  --leading-tight: 1.25;
}
.mx-auto {
  margin-inline: auto;
}
.mt-3 {
  margin-top: calc(var(--spacing) * 3);
}
.mt-8 {
  margin-top: calc(var(--spacing) * 8);
}
.mb-8 {
  margin-bottom: calc(var(--spacing) * 8);
}
.grid {
  display: grid;
}
.w-full {
  width: 100%;
}
.max-w-\[24ch\] {
  max-width: 24ch;
}
.max-w-\[68ch\] {
  max-width: 68ch;
}
.max-w-\[1120px\] {
  max-width: 1120px;
}
.min-w-0 {
  min-width: 0px;
}
.items-start {
  align-items: flex-start;
}
.gap-8 {
  gap: calc(var(--spacing) * 8);
}
:where(.space-y-5 > :not(:last-child)) {
  --tw-space-y-reverse: 0;
  margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
  margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
}
.border-t {
  border-top-style: var(--tw-border-style);
  border-top-width: 1px;
}
.border-\[var\(--site-border\)\] {
  border-color: var(--site-border);
}
.px-5 {
  padding-inline: calc(var(--spacing) * 5);
}
.py-10 {
  padding-block: calc(var(--spacing) * 10);
}
.pt-6 {
  padding-top: calc(var(--spacing) * 6);
}
.text-3xl {
  font-size: var(--text-3xl);
  line-height: var(--tw-leading, var(--text-3xl--line-height));
}
.text-base {
  font-size: var(--text-base);
  line-height: var(--tw-leading, var(--text-base--line-height));
}
.leading-7 {
  --tw-leading: calc(var(--spacing) * 7);
  line-height: calc(var(--spacing) * 7);
}
.leading-tight {
  --tw-leading: var(--leading-tight);
  line-height: var(--leading-tight);
}
.font-semibold {
  --tw-font-weight: var(--font-weight-semibold);
  font-weight: var(--font-weight-semibold);
}
.tracking-tight {
  --tw-tracking: var(--tracking-tight);
  letter-spacing: var(--tracking-tight);
}
.text-\[var\(--site-muted\)\] {
  color: var(--site-muted);
}
.text-\[var\(--site-text\)\] {
  color: var(--site-text);
}
@media (width >= 48rem) {
  .md\:py-16 {
    padding-block: calc(var(--spacing) * 16);
  }
  .md\:text-5xl {
    font-size: var(--text-5xl);
    line-height: var(--tw-leading, var(--text-5xl--line-height));
  }
}
@media (width >= 64rem) {
  .lg\:order-1 {
    order: 1;
  }
  .lg\:order-2 {
    order: 2;
  }
  .lg\:grid-cols-\[minmax\(0\,1fr\)_340px\] {
    grid-template-columns: minmax(0,1fr) 340px;
  }
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-space-y-reverse: 0;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
    }
  }
}

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
.min-h-screen {
  min-height: 100vh;
}
.bg-\[var\(--site-surface\)\] {
  background-color: var(--site-surface);
}
.font-\[family-name\:var\(--site-body-font\)\] {
  font-family: var(--site-body-font);
}
.text-\[var\(--site-text\)\] {
  color: var(--site-text);
}
.\[--site-body-font\:Archivo\,Arial\,sans-serif\] {
  --site-body-font: Archivo,Arial,sans-serif;
}
.\[--site-heading-font\:Newsreader\,Georgia\,serif\] {
  --site-heading-font: Newsreader,Georgia,serif;
}
.\[--site-mono-font\:IBM_Plex_Mono\,ui-monospace\,monospace\] {
  --site-mono-font: IBM Plex Mono,ui-monospace,monospace;
}

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties;
:root, :host {
  --color-white: #fff;
  --spacing: 0.25rem;
  --text-sm: 0.875rem;
  --text-sm--line-height: calc(1.25 / 0.875);
  --font-weight-semibold: 600;
  --radius-lg: 0.5rem;
  --default-transition-duration: 150ms;
  --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.sticky {
  position: sticky;
}
.top-0 {
  top: 0px;
}
.z-40 {
  z-index: 40;
}
.mx-auto {
  margin-inline: auto;
}
.flex {
  display: flex;
}
.hidden {
  display: none;
}
.inline-flex {
  display: inline-flex;
}
.h-4 {
  height: calc(var(--spacing) * 4);
}
.h-auto {
  height: auto;
}
.min-h-9 {
  min-height: calc(var(--spacing) * 9);
}
.min-h-10 {
  min-height: calc(var(--spacing) * 10);
}
.min-h-11 {
  min-height: calc(var(--spacing) * 11);
}
.min-h-\[76px\] {
  min-height: 76px;
}
.w-4 {
  width: calc(var(--spacing) * 4);
}
.w-\[184px\] {
  width: 184px;
}
.w-full {
  width: 100%;
}
.max-w-\[48vw\] {
  max-width: 48vw;
}
.max-w-\[1200px\] {
  max-width: 1200px;
}
.min-w-0 {
  min-width: 0px;
}
.min-w-10 {
  min-width: calc(var(--spacing) * 10);
}
.min-w-11 {
  min-width: calc(var(--spacing) * 11);
}
.shrink-0 {
  flex-shrink: 0;
}
.flex-col {
  flex-direction: column;
}
.items-center {
  align-items: center;
}
.items-start {
  align-items: flex-start;
}
.justify-between {
  justify-content: space-between;
}
.justify-center {
  justify-content: center;
}
.gap-1 {
  gap: var(--spacing);
}
.gap-2 {
  gap: calc(var(--spacing) * 2);
}
.gap-3 {
  gap: calc(var(--spacing) * 3);
}
.gap-7 {
  gap: calc(var(--spacing) * 7);
}
.rounded-full {
  border-radius: calc(infinity * 1px);
}
.rounded-lg {
  border-radius: var(--radius-lg);
}
.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-current {
  border-color: currentcolor;
}
.border-white\/10 {
  border-color: color-mix(in srgb, #fff 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-white) 10%, transparent);
  }
}
.bg-\[var\(--site-primary\)\] {
  background-color: var(--site-primary);
}
.bg-white {
  background-color: var(--color-white);
}
.object-contain {
  object-fit: contain;
}
.px-2 {
  padding-inline: calc(var(--spacing) * 2);
}
.px-4 {
  padding-inline: calc(var(--spacing) * 4);
}
.px-5 {
  padding-inline: calc(var(--spacing) * 5);
}
.font-\[family-name\:var\(--site-body-font\)\] {
  font-family: var(--site-body-font);
}
.font-\[family-name\:var\(--site-mono-font\)\] {
  font-family: var(--site-mono-font);
}
.text-sm {
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
}
.text-\[9px\] {
  font-size: 9px;
}
.text-\[11px\] {
  font-size: 11px;
}
.font-semibold {
  --tw-font-weight: var(--font-weight-semibold);
  font-weight: var(--font-weight-semibold);
}
.tracking-\[\.16em\] {
  --tw-tracking: .16em;
  letter-spacing: .16em;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.text-\[var\(--site-accent\)\] {
  color: var(--site-accent);
}
.text-\[var\(--site-primary\)\] {
  color: var(--site-primary);
}
.text-white {
  color: var(--color-white);
}
.uppercase {
  text-transform: uppercase;
}
.opacity-60 {
  opacity: 60%;
}
.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));
}
@media (hover: hover) {
  .hover\:bg-white\/10:hover {
    background-color: color-mix(in srgb, #fff 10%, transparent);
  }
  @supports (color: color-mix(in lab, red, red)) {
    .hover\:bg-white\/10:hover {
      background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }
}
@media (width >= 40rem) {
  .sm\:block {
    display: block;
  }
  .sm\:inline {
    display: inline;
  }
  .sm\:gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .sm\:gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .sm\:px-0 {
    padding-inline: 0px;
  }
  .sm\:px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }
}
@media (width >= 64rem) {
  .lg\:inline-flex {
    display: inline-flex;
  }
  .lg\:px-8 {
    padding-inline: calc(var(--spacing) * 8);
  }
}
@media (width >= 80rem) {
  .xl\:inline-flex {
    display: inline-flex;
  }
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-border-style: solid;
      --tw-font-weight: initial;
      --tw-tracking: initial;
    }
  }
}

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties;
:root, :host {
  --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);
  --text-base: 1rem;
  --text-base--line-height: calc(1.5 / 1);
  --leading-relaxed: 1.625;
  --default-transition-duration: 150ms;
  --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border-width: 0;
}
.mx-auto {
  margin-inline: auto;
}
.mt-4 {
  margin-top: calc(var(--spacing) * 4);
}
.mt-14 {
  margin-top: calc(var(--spacing) * 14);
}
.block {
  display: block;
}
.flex {
  display: flex;
}
.grid {
  display: grid;
}
.inline-flex {
  display: inline-flex;
}
.h-11 {
  height: calc(var(--spacing) * 11);
}
.h-auto {
  height: auto;
}
.w-11 {
  width: calc(var(--spacing) * 11);
}
.w-\[190px\] {
  width: 190px;
}
.max-w-\[30ch\] {
  max-width: 30ch;
}
.max-w-\[1200px\] {
  max-width: 1200px;
}
.max-w-\[1400px\] {
  max-width: 1400px;
}
.max-w-full {
  max-width: 100%;
}
.flex-wrap {
  flex-wrap: wrap;
}
.items-center {
  align-items: center;
}
.justify-between {
  justify-content: space-between;
}
.justify-center {
  justify-content: center;
}
.gap-4 {
  gap: calc(var(--spacing) * 4);
}
.gap-12 {
  gap: calc(var(--spacing) * 12);
}
:where(.space-y-4 > :not(:last-child)) {
  --tw-space-y-reverse: 0;
  margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
  margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
}
.rounded-full {
  border-radius: calc(infinity * 1px);
}
.border {
  border-style: var(--tw-border-style);
  border-width: 1px;
}
.border-t {
  border-top-style: var(--tw-border-style);
  border-top-width: 1px;
}
.border-white\/10 {
  border-color: color-mix(in srgb, #fff 10%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--color-white) 10%, transparent);
  }
}
.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);
}
.object-contain {
  object-fit: contain;
}
.px-5 {
  padding-inline: calc(var(--spacing) * 5);
}
.py-2 {
  padding-block: calc(var(--spacing) * 2);
}
.py-16 {
  padding-block: calc(var(--spacing) * 16);
}
.pt-6 {
  padding-top: calc(var(--spacing) * 6);
}
.pt-10 {
  padding-top: calc(var(--spacing) * 10);
}
.font-\[family-name\:var\(--site-body-font\)\] {
  font-family: var(--site-body-font);
}
.font-\[family-name\:var\(--site-heading-font\)\] {
  font-family: var(--site-heading-font);
}
.font-\[family-name\:var\(--site-mono-font\)\] {
  font-family: var(--site-mono-font);
}
.text-base {
  font-size: var(--text-base);
  line-height: var(--tw-leading, var(--text-base--line-height));
}
.text-sm {
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
}
.text-xs {
  font-size: var(--text-xs);
  line-height: var(--tw-leading, var(--text-xs--line-height));
}
.text-\[11px\] {
  font-size: 11px;
}
.leading-relaxed {
  --tw-leading: var(--leading-relaxed);
  line-height: var(--leading-relaxed);
}
.text-\[var\(--site-canvas\)\] {
  color: var(--site-canvas);
}
.text-white {
  color: var(--color-white);
}
.text-white\/50 {
  color: color-mix(in srgb, #fff 50%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in oklab, var(--color-white) 50%, transparent);
  }
}
.text-white\/65 {
  color: color-mix(in srgb, #fff 65%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in oklab, var(--color-white) 65%, transparent);
  }
}
.text-white\/80 {
  color: color-mix(in srgb, #fff 80%, transparent);
  @supports (color: color-mix(in lab, red, red)) {
    color: color-mix(in oklab, var(--color-white) 80%, transparent);
  }
}
.opacity-90 {
  opacity: 90%;
}
.brightness-0 {
  --tw-brightness: brightness(0%);
  filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
}
.invert {
  --tw-invert: invert(100%);
  filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
}
.transition {
  transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
}
@media (hover: hover) {
  .hover\:border-white:hover {
    border-color: var(--color-white);
  }
  .hover\:bg-white\/10:hover {
    background-color: color-mix(in srgb, #fff 10%, transparent);
  }
  @supports (color: color-mix(in lab, red, red)) {
    .hover\:bg-white\/10:hover {
      background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }
}
@media (width >= 40rem) {
  .sm\:px-7 {
    padding-inline: calc(var(--spacing) * 7);
  }
}
@media (width >= 64rem) {
  .lg\:grid-cols-\[1fr_1\.35fr_1fr\] {
    grid-template-columns: 1fr 1.35fr 1fr;
  }
  .lg\:px-8 {
    padding-inline: calc(var(--spacing) * 8);
  }
  .lg\:py-20 {
    padding-block: calc(var(--spacing) * 20);
  }
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-space-y-reverse: 0;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
    }
  }
}


:root{
--site-primary:#0c2b2f;
--site-accent:#0b6b70;
--site-surface:#ffffff;
--site-canvas:#eaefea;
--site-border:#d5ddd6;
--site-text:#0c2b2f;
--site-muted:#5a6a67;
--site-success:#26734d;
--site-warning:#996515;
--site-danger:#b43838;
--site-on-primary:#ffffff;
--site-on-accent:#ffffff;
--site-on-success:#ffffff;
--site-on-warning:#ffffff;
--site-on-danger:#ffffff;
--site-soft:color-mix(in srgb,var(--site-accent) 6%,var(--site-surface));
--site-hover:color-mix(in srgb,var(--site-accent) 11%,var(--site-surface));
--site-primary-hover:color-mix(in srgb,var(--site-primary) 85%,black);
--site-accent-hover:color-mix(in srgb,var(--site-accent) 85%,black);
--site-shadow:color-mix(in srgb,var(--site-primary) 8%,transparent);
--site-control-overlay:color-mix(in srgb,var(--site-primary) 91%,transparent);
--site-backdrop:color-mix(in srgb,var(--site-primary) 70%,transparent);
--site-body-font:"Archivo",sans-serif;
--site-heading-font:"Archivo",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:"Archivo",sans-serif}
h1,h2,h3,h4,h5,h6{font-family:"Archivo",sans-serif}
