.elementor-kit-7{--e-global-color-primary:#3D2314;--e-global-color-secondary:#3D2314CC;--e-global-color-text:#2A1910;--e-global-color-accent:#722F37;--e-global-color-1a7ada7:#FFFFFF;--e-global-color-02671fd:#F4F0EB;--e-global-color-d33f583:#E8E0D8;--e-global-color-c70e778:#541922;--e-global-color-8ef49fd:#00000000;--e-global-typography-primary-font-family:"Raleway";--e-global-typography-primary-font-size:48px;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-line-height:110%;--e-global-typography-primary-letter-spacing:-2%;--e-global-typography-secondary-font-family:"Raleway";--e-global-typography-secondary-font-size:32px;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:120%;--e-global-typography-secondary-letter-spacing:-1%;--e-global-typography-text-font-family:"Raleway";--e-global-typography-text-font-size:18px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:160%;--e-global-typography-text-letter-spacing:0px;--e-global-typography-accent-font-family:"Raleway";--e-global-typography-accent-font-size:14px;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:150%;--e-global-typography-accent-letter-spacing:0.08em;--e-global-typography-a51873e-font-family:"Raleway";--e-global-typography-a51873e-font-size:72px;--e-global-typography-a51873e-font-weight:600;--e-global-typography-a51873e-line-height:100%;--e-global-typography-a51873e-letter-spacing:-2%;--e-global-typography-640cab2-font-family:"Raleway";--e-global-typography-640cab2-font-size:48px;--e-global-typography-640cab2-font-weight:600;--e-global-typography-640cab2-line-height:110%;--e-global-typography-640cab2-letter-spacing:-2%;--e-global-typography-8933ca0-font-family:"Raleway";--e-global-typography-8933ca0-font-size:40px;--e-global-typography-8933ca0-font-weight:600;--e-global-typography-8933ca0-line-height:110%;--e-global-typography-8933ca0-letter-spacing:-1px;--e-global-typography-49d63af-font-family:"Raleway";--e-global-typography-49d63af-font-size:24px;--e-global-typography-49d63af-font-weight:600;--e-global-typography-c08a0a8-font-family:"Raleway";--e-global-typography-c08a0a8-font-size:18px;--e-global-typography-c08a0a8-font-weight:normal;--e-global-typography-c08a0a8-line-height:150%;--e-global-typography-1ad62a8-font-family:"Raleway";--e-global-typography-1ad62a8-font-size:20px;--e-global-typography-1ad62a8-font-weight:400;--e-global-typography-1ad62a8-line-height:150%;--e-global-typography-1ad62a8-letter-spacing:0px;--e-global-typography-111acdc-font-family:"Raleway";--e-global-typography-111acdc-font-size:16px;--e-global-typography-111acdc-font-weight:600;--e-global-typography-111acdc-letter-spacing:0.04em;--e-global-typography-1cb07c6-font-family:"Raleway";--e-global-typography-1cb07c6-font-size:32px;--e-global-typography-1cb07c6-font-weight:600;--e-global-typography-1cb07c6-line-height:38px;--e-global-typography-1cb07c6-letter-spacing:0px;--e-global-typography-58e3174-font-family:"Raleway";--e-global-typography-58e3174-font-size:16px;--e-global-typography-58e3174-font-weight:700;--e-global-typography-276beae-font-family:"Raleway";--e-global-typography-276beae-font-size:16px;--e-global-typography-276beae-font-weight:400;--e-global-typography-276beae-line-height:150%;--e-global-typography-82be1f8-font-family:"Raleway";--e-global-typography-82be1f8-font-size:20px;--e-global-typography-82be1f8-font-weight:600;--e-global-typography-82be1f8-line-height:150%;--e-global-typography-82be1f8-letter-spacing:0px;--e-global-typography-45b6c15-font-family:"Raleway";--e-global-typography-45b6c15-font-size:64px;--e-global-typography-45b6c15-font-weight:600;--e-global-typography-45b6c15-line-height:110%;--e-global-typography-45b6c15-letter-spacing:-2%;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{background-color:var( --e-global-color-accent );font-family:"Raleway", Sans-serif;font-size:14px;font-weight:500;text-transform:uppercase;line-height:1em;letter-spacing:0.08em;color:var( --e-global-color-02671fd );border-style:none;border-radius:999px 999px 999px 999px;padding:18px 32px 18px 32px;}.elementor-kit-7 button:hover,.elementor-kit-7 button:focus,.elementor-kit-7 input[type="button"]:hover,.elementor-kit-7 input[type="button"]:focus,.elementor-kit-7 input[type="submit"]:hover,.elementor-kit-7 input[type="submit"]:focus,.elementor-kit-7 .elementor-button:hover,.elementor-kit-7 .elementor-button:focus{background-color:var( --e-global-color-c70e778 );color:var( --e-global-color-02671fd );}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 h1{color:var( --e-global-color-primary );font-family:var( --e-global-typography-a51873e-font-family ), Sans-serif;font-size:var( --e-global-typography-a51873e-font-size );font-weight:var( --e-global-typography-a51873e-font-weight );line-height:var( --e-global-typography-a51873e-line-height );letter-spacing:var( --e-global-typography-a51873e-letter-spacing );}.elementor-kit-7 h2{color:var( --e-global-color-primary );font-family:var( --e-global-typography-640cab2-font-family ), Sans-serif;font-size:var( --e-global-typography-640cab2-font-size );font-weight:var( --e-global-typography-640cab2-font-weight );line-height:var( --e-global-typography-640cab2-line-height );letter-spacing:var( --e-global-typography-640cab2-letter-spacing );}.elementor-kit-7 h3{color:var( --e-global-color-primary );font-family:var( --e-global-typography-8933ca0-font-family ), Sans-serif;font-size:var( --e-global-typography-8933ca0-font-size );font-weight:var( --e-global-typography-8933ca0-font-weight );line-height:var( --e-global-typography-8933ca0-line-height );letter-spacing:var( --e-global-typography-8933ca0-letter-spacing );}.elementor-kit-7 h4{color:var( --e-global-color-primary );font-family:var( --e-global-typography-1cb07c6-font-family ), Sans-serif;font-size:var( --e-global-typography-1cb07c6-font-size );font-weight:var( --e-global-typography-1cb07c6-font-weight );line-height:var( --e-global-typography-1cb07c6-line-height );letter-spacing:var( --e-global-typography-1cb07c6-letter-spacing );}.elementor-kit-7 h5{color:var( --e-global-color-primary );font-family:var( --e-global-typography-49d63af-font-family ), Sans-serif;font-size:var( --e-global-typography-49d63af-font-size );font-weight:var( --e-global-typography-49d63af-font-weight );}.elementor-kit-7 h6{color:var( --e-global-color-primary );font-family:var( --e-global-typography-82be1f8-font-family ), Sans-serif;font-size:var( --e-global-typography-82be1f8-font-size );font-weight:var( --e-global-typography-82be1f8-font-weight );line-height:var( --e-global-typography-82be1f8-line-height );letter-spacing:var( --e-global-typography-82be1f8-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-7{--e-global-typography-primary-font-size:30px;--e-global-typography-secondary-font-size:26px;--e-global-typography-text-font-size:16px;--e-global-typography-a51873e-font-size:48px;--e-global-typography-640cab2-font-size:30px;--e-global-typography-640cab2-line-height:110%;--e-global-typography-8933ca0-font-size:24px;--e-global-typography-49d63af-font-size:18px;--e-global-typography-49d63af-line-height:120%;--e-global-typography-49d63af-letter-spacing:-2%;--e-global-typography-c08a0a8-font-size:14px;--e-global-typography-1ad62a8-font-size:16px;--e-global-typography-1cb07c6-font-size:25px;--e-global-typography-82be1f8-font-size:16px;--e-global-typography-45b6c15-font-size:48px;}.elementor-kit-7 h1{font-size:var( --e-global-typography-a51873e-font-size );line-height:var( --e-global-typography-a51873e-line-height );letter-spacing:var( --e-global-typography-a51873e-letter-spacing );}.elementor-kit-7 h2{font-size:var( --e-global-typography-640cab2-font-size );line-height:var( --e-global-typography-640cab2-line-height );letter-spacing:var( --e-global-typography-640cab2-letter-spacing );}.elementor-kit-7 h3{font-size:var( --e-global-typography-8933ca0-font-size );line-height:var( --e-global-typography-8933ca0-line-height );letter-spacing:var( --e-global-typography-8933ca0-letter-spacing );}.elementor-kit-7 h4{font-size:var( --e-global-typography-1cb07c6-font-size );line-height:var( --e-global-typography-1cb07c6-line-height );letter-spacing:var( --e-global-typography-1cb07c6-letter-spacing );}.elementor-kit-7 h5{font-size:var( --e-global-typography-49d63af-font-size );}.elementor-kit-7 h6{font-size:var( --e-global-typography-82be1f8-font-size );line-height:var( --e-global-typography-82be1f8-line-height );letter-spacing:var( --e-global-typography-82be1f8-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-7{--e-global-typography-primary-font-size:26px;--e-global-typography-secondary-font-size:22px;--e-global-typography-text-font-size:16px;--e-global-typography-a51873e-font-size:32px;--e-global-typography-640cab2-line-height:110%;--e-global-typography-8933ca0-font-size:24px;--e-global-typography-1cb07c6-font-size:20px;--e-global-typography-1cb07c6-line-height:1.2em;}.elementor-kit-7 h1{font-size:var( --e-global-typography-a51873e-font-size );line-height:var( --e-global-typography-a51873e-line-height );letter-spacing:var( --e-global-typography-a51873e-letter-spacing );}.elementor-kit-7 h2{font-size:var( --e-global-typography-640cab2-font-size );line-height:var( --e-global-typography-640cab2-line-height );letter-spacing:var( --e-global-typography-640cab2-letter-spacing );}.elementor-kit-7 h3{font-size:var( --e-global-typography-8933ca0-font-size );line-height:var( --e-global-typography-8933ca0-line-height );letter-spacing:var( --e-global-typography-8933ca0-letter-spacing );}.elementor-kit-7 h4{font-size:var( --e-global-typography-1cb07c6-font-size );line-height:var( --e-global-typography-1cb07c6-line-height );letter-spacing:var( --e-global-typography-1cb07c6-letter-spacing );}.elementor-kit-7 h5{font-size:var( --e-global-typography-49d63af-font-size );}.elementor-kit-7 h6{font-size:var( --e-global-typography-82be1f8-font-size );line-height:var( --e-global-typography-82be1f8-line-height );letter-spacing:var( --e-global-typography-82be1f8-letter-spacing );}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{font-size:13px;padding:14px 24px 14px 24px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* === RLF Button System ===================================================
 * Apply via Advanced > CSS Classes on any Button / Link widget:
 *   btn-primary   solid burgundy pill + arrow (default look)
 *   btn-secondary outline, transparent
 *   btn-ghost     text link with arrow (no chrome)
 *
 * Add modifier "btn-on-dark" when placed on photo / burgundy sections so
 * the secondary + ghost variants switch to cream ink.
 * ======================================================================= */

.elementor-widget-button.btn-primary .elementor-button,
.elementor-widget-button.btn-secondary .elementor-button,
.elementor-widget-button.btn-ghost .elementor-button {
    font-family: 'Raleway', sans-serif;
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: all .2s ease;
    border: none;
    white-space: nowrap;
}

/* Arrow glyph appended to primary + ghost */
.elementor-widget-button.btn-primary   .elementor-button .elementor-button-text::after,
.elementor-widget-button.btn-secondary .elementor-button .elementor-button-text::after,
.elementor-widget-button.btn-ghost     .elementor-button .elementor-button-text::after {
    content: "→";
    display: inline-block;
    margin-left: 8px;
    transition: transform .2s ease;
}
.elementor-widget-button.btn-primary   .elementor-button:hover .elementor-button-text::after,
.elementor-widget-button.btn-secondary .elementor-button:hover .elementor-button-text::after,
.elementor-widget-button.btn-ghost     .elementor-button:hover .elementor-button-text::after {
    transform: translateX(4px);
}

/* ------------------------------- PRIMARY -------------------------------- */
.elementor-widget-button.btn-primary .elementor-button {
    background-color: var(--e-global-color-accent);
    color: var(--e-global-color-02671fd);
    padding: 18px 32px;
    border-radius: 999px;
}
.elementor-widget-button.btn-primary .elementor-button:hover,
.elementor-widget-button.btn-primary .elementor-button:focus {
    background-color: var(--e-global-color-c70e778);
    color: var(--e-global-color-02671fd);
    transform: translateY(-1px);
}
@media (max-width: 767px) {
    .elementor-widget-button.btn-primary .elementor-button { padding: 14px 24px; font-size: 13px; }
}

/* ------------------------------ SECONDARY ------------------------------- */
.elementor-widget-button.btn-secondary .elementor-button {
    background-color: transparent;
    color: var(--e-global-color-primary);
    padding: 16px 30px;
    border-radius: 999px;
    box-shadow: inset 0 0 0 1.5px var(--e-global-color-primary);
}
.elementor-widget-button.btn-secondary .elementor-button:hover,
.elementor-widget-button.btn-secondary .elementor-button:focus {
    background-color: var(--e-global-color-primary);
    color: var(--e-global-color-02671fd);
    box-shadow: inset 0 0 0 1.5px var(--e-global-color-primary);
}
.elementor-widget-button.elementor-widget-button.btn-secondary.btn-on-dark .elementor-button {
    color: var(--e-global-color-02671fd);
    box-shadow: inset 0 0 0 1.5px var(--e-global-color-02671fd);
}
.elementor-widget-button.elementor-widget-button.btn-secondary.btn-on-dark .elementor-button:hover,
.elementor-widget-button.elementor-widget-button.btn-secondary.btn-on-dark .elementor-button:focus {
    background-color: var(--e-global-color-02671fd);
    color: var(--e-global-color-primary);
}
@media (max-width: 767px) {
    .elementor-widget-button.btn-secondary .elementor-button { padding: 12px 22px; font-size: 13px; }
}

/* -------------------------------- GHOST --------------------------------- */
.elementor-widget-button.btn-ghost .elementor-button {
    background-color: transparent;
    color: var(--e-global-color-accent);
    padding: 8px 0;
    border-radius: 0;
    position: relative;
}
.elementor-widget-button.btn-ghost .elementor-button::after {
    content: "";
    position: absolute;
    left: 0; right: 24px; bottom: 2px;
    height: 1.5px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .25s ease;
}
.elementor-widget-button.btn-ghost .elementor-button:hover::after,
.elementor-widget-button.btn-ghost .elementor-button:focus::after { transform: scaleX(1); }
.elementor-widget-button.elementor-widget-button.btn-ghost.btn-on-dark .elementor-button { color: var(--e-global-color-02671fd); }

/* === RLF Hero Scrim =======================================================
 * Ensures legibility of hero copy over photography.
 * Apply via Advanced > CSS Classes on a Section or Container:
 *   has-hero-scrim          left->right dark gradient (default)
 *   has-hero-scrim-bottom   bottom->top dark gradient
 *   has-hero-scrim-strong   heavier left->right (for busy photos)
 * ======================================================================= */

.has-hero-scrim,
.has-hero-scrim-bottom,
.has-hero-scrim-strong {
    position: relative;
    isolation: isolate;
}

.has-hero-scrim::before,
.has-hero-scrim-bottom::before,
.has-hero-scrim-strong::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}

.has-hero-scrim::before {
    background: linear-gradient(
        to right,
        rgba(10,6,4,.55) 0%,
        rgba(10,6,4,.30) 45%,
        rgba(10,6,4,0)   75%
    );
}

.has-hero-scrim-strong::before {
    background: linear-gradient(
        to right,
        rgba(10,6,4,.75) 0%,
        rgba(10,6,4,.45) 50%,
        rgba(10,6,4,0)   85%
    );
}

.has-hero-scrim-bottom::before {
    background: linear-gradient(
        to top,
        rgba(10,6,4,.70) 0%,
        rgba(10,6,4,.25) 55%,
        rgba(10,6,4,0)   90%
    );
}

/* Keep widgets above the scrim */
.has-hero-scrim > .elementor-container,
.has-hero-scrim-bottom > .elementor-container,
.has-hero-scrim-strong > .elementor-container,
.has-hero-scrim > .e-con-inner,
.has-hero-scrim-bottom > .e-con-inner,
.has-hero-scrim-strong > .e-con-inner {
    position: relative;
    z-index: 1;
}

/* --- RLF btn variant hides Elementor icon slot --- */
.elementor-widget-button.btn-primary   .elementor-button .elementor-button-icon,
.elementor-widget-button.btn-secondary .elementor-button .elementor-button-icon,
.elementor-widget-button.btn-ghost     .elementor-button .elementor-button-icon {
    display: none !important;
}

/* === btn-chip — category / filter pill (not a CTA) === */
.elementor-widget-button.btn-chip .elementor-button {
    background-color: transparent;
    color: var(--e-global-color-primary);
    border: 1px solid color-mix(in srgb, var(--e-global-color-primary) 24%, transparent);
    border-radius: 999px;
    padding: 8px 16px;
    font-family: var(--e-global-typography-text-font-family, "Raleway"), sans-serif;
    font-weight: 400;
    font-size: 13px;
    letter-spacing: 0;
    text-transform: none;
    line-height: 1.2;
    transition: border-color .2s ease, background-color .2s ease, color .2s ease;
    white-space: nowrap;
    box-shadow: none;
}
.elementor-widget-button.btn-chip .elementor-button:hover,
.elementor-widget-button.btn-chip .elementor-button:focus-visible {
    border-color: var(--e-global-color-primary);
    background-color: color-mix(in srgb, var(--e-global-color-primary) 6%, transparent);
    color: var(--e-global-color-primary);
}
.elementor-widget-button.btn-chip .elementor-button-icon { display: none !important; }
.elementor-widget-button.btn-chip .elementor-button::after { content: none !important; }

/* on-dark companion */
.elementor-widget-button.btn-chip.btn-on-dark .elementor-button {
    color: var(--e-global-color-02671fd);
    border-color: color-mix(in srgb, var(--e-global-color-02671fd) 32%, transparent);
}
.elementor-widget-button.btn-chip.btn-on-dark .elementor-button:hover,
.elementor-widget-button.btn-chip.btn-on-dark .elementor-button:focus-visible {
    border-color: var(--e-global-color-02671fd);
    background-color: color-mix(in srgb, var(--e-global-color-02671fd) 10%, transparent);
    color: var(--e-global-color-02671fd);
}

/* === Event / loop card utilities (specificity-safe 0,3,0) === */
.elementor-element.card-event {
    overflow: hidden;
    position: relative;
    border: 1px solid color-mix(in srgb, var(--e-global-color-primary) 10%, transparent);
    box-shadow: 0 2px 4px -2px color-mix(in srgb, var(--e-global-color-primary) 12%, transparent),
                0 8px 18px -14px color-mix(in srgb, var(--e-global-color-primary) 22%, transparent);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.elementor-element.card-event:hover {
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--e-global-color-primary) 18%, transparent);
    box-shadow: 0 6px 14px -6px color-mix(in srgb, var(--e-global-color-primary) 20%, transparent),
                0 18px 36px -20px color-mix(in srgb, var(--e-global-color-primary) 32%, transparent);
}

/* Media area — 16:10, covers featured image when set; otherwise shows a
   decorative placeholder (subtle diagonal lines + centred calendar glyph). */
.elementor-element.card-media {
    aspect-ratio: 16 / 10;
    background-size: cover;
    background-position: center;
    position: relative;
    overflow: hidden;
}

/* Meta eyebrow */
.elementor-widget-heading.card-meta-item .elementor-heading-title,
.card-meta-item .elementor-widget-heading .elementor-heading-title,
.card-meta-item .elementor-widget-container .elementor-heading-title {
    font-family: var(--e-global-typography-text-font-family, "Raleway"), sans-serif !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    line-height: 1 !important;
    margin: 0 !important;
    color: color-mix(in srgb, var(--e-global-color-primary) 68%, transparent) !important;
}
.elementor-element.card-meta-item { align-items: center; }
.elementor-element.card-meta-item .elementor-widget-icon .elementor-icon,
.elementor-element.card-meta-item .elementor-widget-icon svg,
.elementor-element.card-meta-item .elementor-widget-icon i {
    width: 12px !important;
    height: 12px !important;
    font-size: 12px !important;
    color: color-mix(in srgb, var(--e-global-color-primary) 55%, transparent) !important;
}

/* Title */
.elementor-widget-heading.card-title .elementor-heading-title {
    font-size: clamp(19px, 1.6vw, 22px) !important;
    font-weight: 600 !important;
    line-height: 1.22 !important;
    letter-spacing: -0.01em !important;
    margin: 0 !important;
}

/* Body */
.elementor-widget-heading.card-text .elementor-heading-title {
    font-size: 14.5px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
    color: color-mix(in srgb, var(--e-global-color-primary) 82%, transparent) !important;
    margin: 0 !important;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Flex fallbacks */
.elementor-element.card-meta.e-con {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    column-gap: 14px !important;
    row-gap: 6px !important;
}
.elementor-element.card-meta-item.e-con {
    flex-direction: row !important;
    column-gap: 6px !important;
    width: auto !important;
}


/* === Press-logo strip (specificity-safe 0,3,0) === */
.elementor-widget-image.logo-mark {
    display: flex;
    align-items: center;
    justify-content: center;
}
.elementor-widget-image.logo-mark img {
    max-height: 40px;
    width: auto;
    object-fit: contain;
    filter: brightness(0) invert(1);
    opacity: 0.78;
    transition: opacity .25s ease, transform .25s ease;
}
.elementor-widget-image.logo-mark:hover img {
    opacity: 1;
}
@media (max-width: 767px) {
    .elementor-widget-image.logo-mark img { max-height: 28px; }
}

/* === RLF tabs polish v1 === */
/* Three-class chain so we beat the kit's default 2-class rules */
.elementor-element.elementor-widget-n-tabs .e-n-tabs-heading {
    gap: 32px;
    border-bottom: 1px solid rgba(61, 35, 20, 0.15);
    padding-bottom: 0;
    flex-wrap: wrap;
    justify-content: center;
}
.elementor-element.elementor-widget-n-tabs .e-n-tab-title {
    border: none !important;
    border-bottom: 3px solid transparent !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: rgba(61, 35, 20, 0.55) !important;
    padding: 12px 4px !important;
    margin-bottom: -1px !important;
    transition: color .2s ease, border-color .2s ease;
    outline: none !important;
}
.elementor-element.elementor-widget-n-tabs .e-n-tab-title:hover {
    color: #722F37 !important;
    border-bottom-color: rgba(114, 47, 55, 0.35) !important;
}
.elementor-element.elementor-widget-n-tabs .e-n-tab-title[aria-selected="true"] {
    color: #3D2314 !important;
    border-bottom-color: #722F37 !important;
    font-weight: 700 !important;
}
/* Custom focus ring for keyboard users — replace the ugly blue browser default */
.elementor-element.elementor-widget-n-tabs .e-n-tab-title:focus,
.elementor-element.elementor-widget-n-tabs .e-n-tab-title:focus-visible {
    outline: 2px solid rgba(114, 47, 55, 0.45) !important;
    outline-offset: 4px !important;
    border-radius: 2px !important;
}
/* Mouse-only focus shouldn't show a ring at all */
.elementor-element.elementor-widget-n-tabs .e-n-tab-title:focus:not(:focus-visible) {
    outline: none !important;
}
/* === END RLF tabs polish === */


/* === RLF inline link colour ============================================
 * Body-copy links rendered theme-default (pink). Scope to text-editor +
 * post-content so buttons / nav / cards keep their own styling.
 * ===================================================================== */
.elementor-widget-text-editor a:not(.elementor-button):not(.btn),
.elementor-widget-theme-post-content a:not(.elementor-button):not(.btn) {
    color: var(--e-global-color-accent);
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
    transition: color .2s ease;
}
.elementor-widget-text-editor a:not(.elementor-button):not(.btn):hover,
.elementor-widget-text-editor a:not(.elementor-button):not(.btn):focus,
.elementor-widget-theme-post-content a:not(.elementor-button):not(.btn):hover,
.elementor-widget-theme-post-content a:not(.elementor-button):not(.btn):focus {
    color: var(--e-global-color-c70e778);
}
/* === END RLF inline link colour === */

/* =====================================================================
 * IA POLISH 2026-05-20 — three fixes from verification round
 * Reverts: delete blocks marked IA-* below.
 * ===================================================================== */

/* IA-DROPDOWN-RIGHT-ALIGN-START 2026-05-20
 * Fix: hover on rightmost top-level nav items ("About", "Research") opens
 * a dropdown that overflows the viewport's right edge, clipping labels.
 * Selectors target Elementor's classic nav-menu widget on desktop only.
 * The mobile dropdown uses .elementor-nav-menu--dropdown via JS toggle and
 * is positioned full-width, so this rule is desktop-safe.
 */
.elementor-nav-menu--layout-horizontal .elementor-nav-menu > li:last-child > .sub-menu,
.elementor-nav-menu--layout-horizontal .elementor-nav-menu > li:nth-last-child(2) > .sub-menu,
.elementor-nav-menu--main .elementor-nav-menu > li:last-child > .sub-menu,
.elementor-nav-menu--main .elementor-nav-menu > li:nth-last-child(2) > .sub-menu {
    right: 0 !important;
    left: auto !important;
    inset-inline-start: auto !important;
    inset-inline-end: 0 !important;
}
/* IA-DROPDOWN-RIGHT-ALIGN-END */

/* IA-HAMBURGER-LABEL-START 2026-05-20
 * Fix: mobile hamburger (Elementor nested-navigation / mega-menu) has no
 * visible "Menu" word — only the icon. Inject the text via ::after so
 * sighted users see the label. Aria-label "Menu Toggle" remains on the
 * button for screen-reader users (acceptable per spec).
 * Applied at all breakpoints where the toggle is visible (tablet + mobile).
 */
.e-n-menu-toggle::after,
.elementor-menu-toggle::after {
    content: "Menu";
    display: inline-flex;
    align-items: center;
    margin-left: 8px;
    font-family: var(--e-global-typography-primary-font-family, "Raleway"), sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: inherit;
    vertical-align: middle;
    line-height: 1;
}
/* Make the toggle box auto-width so the label is visible (Elementor renders it as a fixed-size square). */
.elementor-menu-toggle {
    width: auto !important;
    padding-inline: 12px !important;
    align-items: center;
    gap: 0;
}
/* Switch label to "Close" when drawer is open. */
.e-n-menu-toggle[aria-expanded="true"]::after,
.elementor-menu-toggle[aria-expanded="true"]::after {
    content: "Close";
}
/* IA-HAMBURGER-LABEL-END */

/* IA-FOOTER-LINK-CONTRAST-START 2026-05-20
 * Fix: footer icon-list links rendered at #CC3366 on #3D2314 = 2.92:1
 * contrast, failing WCAG AA. Cream (#F4F0EB) on espresso = ~12.8:1,
 * comfortably AAA. Hover state uses warm-sand (#E8E0D8) ~ 11:1.
 * Footer headings already use a gold tone we leave untouched.
 */
footer.elementor-location-footer .elementor-icon-list-item a,
footer.elementor-location-footer .elementor-icon-list-text,
footer.elementor-location-footer .elementor-widget-text-editor a:not(.elementor-button),
footer.elementor-location-footer .elementor-widget-icon-list a,
footer.elementor-location-footer a:not(.elementor-button):not(.btn) {
    color: var(--e-global-color-02671fd) !important;
}
footer.elementor-location-footer .elementor-icon-list-item a:hover,
footer.elementor-location-footer .elementor-icon-list-item a:focus,
footer.elementor-location-footer .elementor-widget-icon-list a:hover,
footer.elementor-location-footer .elementor-widget-icon-list a:focus,
footer.elementor-location-footer a:not(.elementor-button):not(.btn):hover,
footer.elementor-location-footer a:not(.elementor-button):not(.btn):focus {
    color: var(--e-global-color-d33f583) !important;
}
/* IA-FOOTER-LINK-CONTRAST-END */

/* IA-DONATE-MENU-ITEM-START 2026-05-20 */
/* Donate menu item rendered as wine-red pill with cream text (restored from previous styling). */
.elementor-nav-menu li.rlt-donate-menu-item > a.elementor-item,
.elementor-nav-menu li.rlt-donate-menu-item > a {
    background-color: var(--e-global-color-accent) !important;
    color: var(--e-global-color-02671fd) !important;
    border-radius: 999px !important;
    padding: 10px 22px !important;
    margin-inline-start: 12px;
    font-weight: 600;
    transition: background-color .2s ease, color .2s ease;
}
.elementor-nav-menu li.rlt-donate-menu-item > a.elementor-item:hover,
.elementor-nav-menu li.rlt-donate-menu-item > a.elementor-item:focus,
.elementor-nav-menu li.rlt-donate-menu-item > a:hover,
.elementor-nav-menu li.rlt-donate-menu-item > a:focus {
    background-color: var(--e-global-color-02671fd) !important;
    color: var(--e-global-color-accent) !important;
}
/* Suppress Elementor's hover underline bar on this item */
.elementor-nav-menu li.rlt-donate-menu-item > a.elementor-item::after,
.elementor-nav-menu li.rlt-donate-menu-item > a.elementor-item::before {
    display: none !important;
}
/* Mobile dropdown: keep pill but allow it to sit inline like other items */
.elementor-nav-menu--dropdown li.rlt-donate-menu-item > a.elementor-item,
.elementor-nav-menu--dropdown li.rlt-donate-menu-item > a {
    margin-inline-start: 0;
    display: inline-block;
    margin: 8px 20px;
}
/* IA-DONATE-MENU-ITEM-END */

/* IA-MOBILE-DRAWER-START 2026-05-20
 * Style the mobile/tablet dropdown drawer with brand tokens. Elementor's
 * default mobile dropdown ships unstyled (13px / #333 / transparent) which
 * reads generic next to the designed desktop nav. Kit-token only; editors
 * can retune via globals.
 * Selectors use 4-class specificity to beat Elementor per-widget cascade.
 */
.elementor-widget-nav-menu .elementor-nav-menu--dropdown {
    background-color: var(--e-global-color-02671fd) !important;
    border-top: 1px solid var(--e-global-color-d33f583);
    box-shadow: 0 12px 24px -16px color-mix(in srgb, var(--e-global-color-primary) 28%, transparent);
}
.elementor-widget-nav-menu .elementor-nav-menu--dropdown li > a.elementor-item,
.elementor-widget-nav-menu .elementor-nav-menu--dropdown li > a {
    font-family: var(--e-global-typography-primary-font-family, "Raleway"), sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    color: var(--e-global-color-primary) !important;
    padding: 16px 24px !important;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
    border-bottom: 1px solid var(--e-global-color-d33f583);
    background-color: transparent !important;
    text-transform: none;
    transition: background-color .2s ease, color .2s ease;
}
.elementor-widget-nav-menu .elementor-nav-menu--dropdown li > a.elementor-item:hover,
.elementor-widget-nav-menu .elementor-nav-menu--dropdown li > a.elementor-item:focus,
.elementor-widget-nav-menu .elementor-nav-menu--dropdown li > a:hover,
.elementor-widget-nav-menu .elementor-nav-menu--dropdown li > a:focus {
    color: var(--e-global-color-accent) !important;
    background-color: rgba(114, 47, 55, 0.06) !important;
}
.elementor-widget-nav-menu .elementor-nav-menu--dropdown .sub-menu li > a.elementor-item,
.elementor-widget-nav-menu .elementor-nav-menu--dropdown .sub-menu li > a {
    font-size: 14px !important;
    padding-left: 44px !important;
    color: var(--e-global-color-text) !important;
}
.elementor-widget-nav-menu .elementor-nav-menu--dropdown li.menu-item-has-children > a .sub-arrow,
.elementor-widget-nav-menu .elementor-nav-menu--dropdown li.menu-item-has-children > a .sub-arrow i {
    color: var(--e-global-color-accent) !important;
}
.elementor-widget-nav-menu .elementor-nav-menu--dropdown li.rlt-donate-menu-item > a.elementor-item,
.elementor-widget-nav-menu .elementor-nav-menu--dropdown li.rlt-donate-menu-item > a {
    display: block !important;
    margin: 16px 20px !important;
    padding: 14px 22px !important;
    text-align: center !important;
    background-color: var(--e-global-color-accent) !important;
    color: var(--e-global-color-02671fd) !important;
    border-radius: 999px !important;
    border-bottom: none !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    font-size: 14px !important;
}
.elementor-widget-nav-menu .elementor-nav-menu--dropdown li.rlt-donate-menu-item > a.elementor-item:hover,
.elementor-widget-nav-menu .elementor-nav-menu--dropdown li.rlt-donate-menu-item > a:hover {
    background-color: var(--e-global-color-c70e778) !important;
    color: var(--e-global-color-02671fd) !important;
}

/* IA-MOBILE-DRAWER-POS 2026-05-20 — pin dropdown to viewport edges on mobile (override Elementor per-widget absolute offset) */
@media (max-width: 1024px) {
    .rlt-mobile-header .elementor-widget-nav-menu.elementor-absolute,
    .elementor-sticky--effects .elementor-widget-nav-menu.elementor-absolute,
    .elementor-widget-nav-menu.elementor-absolute.elementor-nav-menu--dropdown-tablet {
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
    }
}
/* IA-MOBILE-DRAWER-END */
/* IA-DESKTOP-SUBMENU 2026-05-20 — seamless cream-pill drop-down on desktop */
@media (min-width: 1025px) {
    /* Submenu surface = pill cream, rounded only at the bottom to mirror the 26px pill curvature */
    .elementor-widget-nav-menu .elementor-nav-menu:not(.elementor-nav-menu--dropdown) .sub-menu {
        background-color: var(--e-global-color-02671fd) !important;
        border: 0 !important;
        border-top: 0 !important;
        border-radius: 0 0 18px 18px !important;
        box-shadow: 0 20px 36px -24px rgba(61, 35, 20, 0.22) !important;
        overflow: hidden !important;
        padding: 6px 0 8px !important;
        min-width: 220px !important;
        margin-top: 0 !important;
    }
    /* Items: Raleway uppercase tracking, espresso, transparent surface, full-width hit area */
    .elementor-widget-nav-menu .elementor-nav-menu:not(.elementor-nav-menu--dropdown) .sub-menu li > a.elementor-sub-item {
        font-family: Raleway, sans-serif !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        letter-spacing: 0.08em !important;
        text-transform: uppercase !important;
        color: var(--e-global-color-primary) !important;
        background-color: transparent !important;
        border: 0 !important;
        padding: 13px 26px !important;
        line-height: 1.3 !important;
        transition: background-color 180ms ease-out, color 180ms ease-out;
    }
    /* Hover / focus / current-page wash — warm sand, wine-red label. Single state for all three. */
    .elementor-widget-nav-menu .elementor-nav-menu:not(.elementor-nav-menu--dropdown) .sub-menu li > a.elementor-sub-item:hover,
    .elementor-widget-nav-menu .elementor-nav-menu:not(.elementor-nav-menu--dropdown) .sub-menu li > a.elementor-sub-item:focus-visible,
    .elementor-widget-nav-menu .elementor-nav-menu:not(.elementor-nav-menu--dropdown) .sub-menu li.current-menu-item > a.elementor-sub-item,
    .elementor-widget-nav-menu .elementor-nav-menu:not(.elementor-nav-menu--dropdown) .sub-menu li.elementor-item-active > a.elementor-sub-item {
        background-color: var(--e-global-color-d33f583) !important;
        color: var(--e-global-color-accent) !important;
    }
}
/* IA-DESKTOP-SUBMENU-END */

/* IA-NAV-POLISH-START 2026-05-22 */
/* (1) Top-level desktop nav links in brand burgundy (Donate pill excluded) */
.elementor-location-header .elementor-nav-menu:not(.elementor-nav-menu--dropdown) > li:not(.rlt-donate-menu-item) > a.elementor-item {
    color: #722F37 !important;
}
.elementor-location-header .elementor-nav-menu:not(.elementor-nav-menu--dropdown) > li:not(.rlt-donate-menu-item) > a.elementor-item:hover,
.elementor-location-header .elementor-nav-menu:not(.elementor-nav-menu--dropdown) > li:not(.rlt-donate-menu-item) > a.elementor-item:focus,
.elementor-location-header .elementor-nav-menu:not(.elementor-nav-menu--dropdown) > li:not(.rlt-donate-menu-item).current-menu-item > a.elementor-item,
.elementor-location-header .elementor-nav-menu:not(.elementor-nav-menu--dropdown) > li:not(.rlt-donate-menu-item).elementor-item-active > a.elementor-item {
    color: #541922 !important;
}

/* (2) Floating inset — the cream bar is position:absolute left:0/right:0 (edge-to-edge).
   Inset it off both edges so it reads as a floating card (matches the approved preview).
   width:auto lets left+right define the box; holds in the sticky (position:fixed) state too. */
.elementor-location-header .elementor-element.elementor-element-1cc143b {
    left: clamp(16px, 2.2vw, 48px) !important;
    right: clamp(16px, 2.2vw, 48px) !important;
    width: auto !important;
}
.elementor-location-header .elementor-element.elementor-element-1b6006b3 {
    left: clamp(12px, 3.4vw, 22px) !important;
    right: clamp(12px, 3.4vw, 22px) !important;
    width: auto !important;
}

/* (3) Sticky pill: smooth transition + tighten/condense once scrolled */
.elementor-element.elementor-element-1cc143b,
.elementor-element.elementor-element-1b6006b3 {
    transition: margin .28s ease, padding .28s ease, box-shadow .28s ease, background-color .28s ease;
}
.elementor-element.elementor-element-1cc143b img,
.elementor-element.elementor-element-1b6006b3 img {
    transition: transform .28s ease;
}
/* Desktop stuck state */
.elementor-element.elementor-element-1cc143b.elementor-sticky--effects {
    margin-top: 8px !important;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
    box-shadow: 0 8px 26px rgba(40, 18, 12, 0.30) !important;
}
.elementor-element.elementor-element-1cc143b.elementor-sticky--effects img {
    transform: scale(.90);
}
/* Mobile/tablet stuck state — pin a defined logo height so the bar can't collapse */
.elementor-element.elementor-element-1b6006b3.elementor-sticky--effects {
    margin-top: 6px !important;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
    box-shadow: 0 8px 24px rgba(40, 18, 12, 0.30) !important;
}
.elementor-element.elementor-element-1b6006b3.elementor-sticky--active > .e-con-inner {
    min-height: 40px;
    align-items: center;
}
.elementor-element.elementor-element-1b6006b3.elementor-sticky--active img {
    height: 32px !important;
    width: auto !important;
    transform: none !important;
}
/* IA-NAV-POLISH-END */

/* IA-GRID-CAP-START 2026-05-22 */
/* Cap the bootcamp "Upcoming Workshops" event grid to the site boxed width
   (1312px, the .e-con-inner max on /events) so it doesn't reach page edges.
   .rlt-events-wrap is e-con-full (no .e-con-inner) — cap the container itself
   and centre it, matching the boxed /events grid. */
.rlt-events-wrap {
    max-width: 1312px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
/* IA-GRID-CAP-END */

/* IA-STICKY-Z-START 2026-05-22 */
/* Sticky header was painting under later sections (it had z-index:1). Lift both
   header containers above page content so the bar stays on top while scrolling. */
.elementor-location-header .elementor-element.elementor-element-1cc143b,
.elementor-location-header .elementor-element.elementor-element-1b6006b3 {
    z-index: 999 !important;
}
/* IA-STICKY-Z-END */
/* LOOP-EMPTY-STATE start */
.e-loop-nothing-found-message{
    display:flex;align-items:center;justify-content:center;
    min-height:132px;padding:28px 24px;
    border:1px dashed var(--e-global-color-d33f583);
    border-radius:14px;
    background:var(--e-global-color-1a7ada7);
}
.e-loop-nothing-found-message:empty{
    display:none;
}
.e-loop-nothing-found-message__text{
    margin:0;max-width:46ch;text-align:center;
    font-size:16px;line-height:1.6;
    color:var(--e-global-color-secondary);
}
/* LOOP-EMPTY-STATE end */
/* RALEWAY-BODY-INHERIT start */
body.elementor-kit-7,
body.elementor-kit-7 input,
body.elementor-kit-7 select,
body.elementor-kit-7 textarea,
body.elementor-kit-7 button {
    font-family: var(--e-global-typography-text-font-family), sans-serif;
}
/* RALEWAY-BODY-INHERIT end */

/* RLF-GLOBAL-CONTENT-IMAGE-RADIUS start 2026-09-10 */
/* Apply the brand radius across all page, post, event, program, research, and
   profile imagery. Intentional circular avatars retain their component shape. */
body.elementor-kit-7 :where(#content, main) img,
body.elementor-kit-7 :where(#content, main) .e-gallery-image,
body.elementor-kit-7 :where(#content, main) .elementor-gallery-item {
    border-radius: 14px;
}
body.elementor-kit-7 :where(#content, main) img.rlt-ec__av,
body.elementor-kit-7 :where(#content, main) img.avatar,
body.elementor-kit-7 :where(#content, main) [class*="avatar"] img,
body.elementor-kit-7 :where(#content, main) .elementor-testimonial__image img,
body.elementor-kit-7 :where(#content, main) .elementor-author-box__avatar img {
    border-radius: 50%;
}
/* RLF-GLOBAL-CONTENT-IMAGE-RADIUS end 2026-09-10 *//* End custom CSS */