/* Global variables and design tokens */
:root {
color-scheme: light;
            --ink: #ffffff;
            --ivory: #f5f3ec;
            --surface: #ffffff;
            --surface-light: #fbfaf6;
            --green: #174a39;
            --green-dark: #0c352a;
            --gold: #b89548;
            --gold-light: #e3cf92;
            --muted: #687169;
            --line: rgba(23, 74, 57, .14);
            --content-width: 1320px;
}

/* Reset and base styling */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
img { display: block; max-width: 100%; }

/* Shared containers */
body .container {
    width: min(var(--content-width), calc(100% - 48px));
    max-width: none;
    margin-inline: auto;
}

/* Typography */
.eyebrow {
    color: #8a6b2f; font-size: .74rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase;
}

/* Buttons */
.button {
    display: inline-flex;
            min-height: 48px;
            align-items: center;
            justify-content: center;
            gap: 10px;
            padding: 12px 20px;
            border: 1px solid transparent;
            border-radius: 8px;
            font-size: .83rem;
            font-weight: 800;
            transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.button:hover {
    transform: translateY(-2px);
}

.button-gold {
    background: linear-gradient(135deg, #ead596, #c5a253); color: #1d2b21; box-shadow: 0 8px 20px rgba(163, 128, 55, .16);
}

.button-outline {
    border-color: rgba(23, 74, 57, .24); background: #fff; color: var(--green);
}

.button-outline:hover {
    border-color: var(--gold); background: #fbf8ef;
}

.icon-button {
    display: inline-grid;
            width: 42px;
            height: 42px;
            place-items: center;
            border: 1px solid rgba(23, 74, 57, .2);
            border-radius: 50%;
            background: #fff;
            color: var(--green);
            cursor: pointer;
}

/* Header and navigation */
.site-header {
    position: sticky; z-index: 10; top: 0; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.96); backdrop-filter: blur(16px);
}

.header-inner {
    display: flex; min-height: 76px; align-items: center; justify-content: space-between; gap: 24px;
}

.brand {
    display: inline-flex; align-items: center; gap: 12px; min-width: max-content;
}

.brand-logo {
    width: 50px; height: 50px; flex: 0 0 auto; object-fit: contain;
}

.brand-name {
    display: block; color: #20382d; font: 700 .91rem Cinzel, Georgia, serif; letter-spacing: .04em;
}

.brand-caption {
    display: block; color: #747970; font-size: .62rem; letter-spacing: .12em; text-transform: uppercase;
}

.main-nav {
    display: flex; align-items: center; gap: clamp(14px, 2vw, 27px);
}

.main-nav a {
    color: #3c453f; font-size: .77rem; font-weight: 700;
}

.main-nav a:hover, .main-nav a.is-active, .main-nav a[aria-current="page"], .footer-links a:hover {
    color: #97762f;
}

.header-actions {
    display: flex; align-items: center; gap: 9px;
}

.header-utility-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.header-icon-svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.header-cta {
    min-height: 42px; padding: 10px 15px; font-size: .72rem;
}

.menu-toggle {
    display: none;
}

a:focus-visible, button:focus-visible {
    outline: 3px solid #e8c866; outline-offset: 3px;
}

/* Footer */
.site-footer {
    padding-block: 42px 20px; background: var(--green-dark); color: #f7f5ef;
}

.site-footer .brand-name {
    color: #fff;
}

.site-footer .brand-caption {
    color: #cad7cd;
}

.footer-grid {
    display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 35px; padding-bottom: 30px;
}

.footer-about p {
    max-width: 330px; color: #d2ded6; font-size: .8rem;
}

.footer-column h2 {
    margin: 0 0 14px; color: #e6cd85; font-size: .75rem; letter-spacing: .14em; text-transform: uppercase;
}

.footer-links {
    display: grid; gap: 10px; color: #e0e8e1; font-size: .78rem;
}

.footer-links a {
    display: flex; align-items: flex-start; gap: 10px;
}

.footer-links i {
    width: 16px; margin-top: 3px; color: #e6cd85; text-align: center;
}

.footer-social {
    display: flex; flex-wrap: wrap; align-items: center; gap: 9px;
}

.social-link {
    display: inline-grid; width: 40px; height: 40px; place-items: center; border: 1px solid rgba(235,219,164,.5); border-radius: 9px; background: rgba(255,255,255,.06); color: #f3e2a6; font-size: 1rem; transition: background .2s ease, color .2s ease, transform .2s ease;
}

a.social-link:hover, a.social-link:focus-visible {
    transform: translateY(-2px); background: #e5cc80; color: #123c30;
}

.social-link-pending {
    opacity: .82;
}

.footer-bottom {
    display: flex; justify-content: space-between; gap: 16px; padding-top: 17px; border-top: 1px solid rgba(255,255,255,.16); color: #becdc3; font-size: .7rem;
}

/* Responsive styles */
@media (max-width: 1400px) {
.main-nav {
    gap: 13px;
}

.main-nav a {
    font-size: .71rem;
}

.header-cta {
    display: none;
}
}

@media (max-width: 860px) {
.menu-toggle {
    display: inline-grid;
}

.main-nav {
    position: absolute; top: 69px; right: 0; left: 0; display: none; align-items: stretch; padding: 12px 16px 18px; border-bottom: 1px solid var(--line); background: #fff; box-shadow: 0 16px 24px rgba(23,46,33,.08);
}

.main-nav.is-open { display: grid; }

.main-nav a {
    padding: 10px 8px; font-size: .83rem;
}

.footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 27px 24px;
}

.footer-about {
    grid-column: 1 / -1;
}
}

@media (max-width: 760px) {
.header-inner {
    min-height: 70px;
}

.footer-grid {
    grid-template-columns: repeat(2, 1fr); gap: 27px 20px;
}

.footer-bottom {
    flex-direction: column;
}
}

@media (max-width: 480px) {
.brand-logo {
    width: 42px; height: 42px;
}

.brand-name {
    font-size: .76rem;
}

.brand-caption {
    font-size: .52rem; letter-spacing: .09em;
}

.header-inner {
    gap: 10px;
}

.footer-grid {
    gap: 24px 14px;
}

.social-link {
    width: 42px; height: 42px;
}
}

@media (max-width: 560px) {
.site-footer {
    padding-block: 34px 18px;
}

.footer-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
    padding-bottom: 24px;
}

.footer-about {
    grid-column: auto;
}

.footer-about p {
    max-width: none;
    margin: 12px 0 0;
    font-size: .86rem;
    line-height: 1.7;
}

.footer-column {
    min-width: 0;
}

.footer-column h2 {
    margin-bottom: 10px;
    font-size: .76rem;
}

.footer-links {
    gap: 11px;
    font-size: .84rem;
    line-height: 1.6;
}

.footer-links a,
.footer-links a span {
    min-width: 0;
}

.footer-links a span {
    overflow-wrap: anywhere;
}

.footer-social {
    display: grid;
    grid-template-columns: repeat(4, 44px);
    gap: 10px;
}

.social-link {
    width: 44px;
    height: 44px;
}

.footer-bottom {
    align-items: flex-start;
    gap: 8px;
    font-size: .78rem;
    line-height: 1.6;
}

.footer-bottom span {
    max-width: 100%;
    overflow-wrap: anywhere;
}

}

@media (max-width: 360px) {
.header-inner .brand {
    min-width: 0;
    gap: 8px;
}

.header-inner .brand > span {
    min-width: 0;
}
}



@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}

/* Packages and registration */
body.register-page,
body.contact-page,
body.ambient-bg[data-page="register"],
body.ambient-bg[data-page="contact"] {
    margin: 0;
    background: #f7f6f0;
    color: #263a30;
    font-family: "Plus Jakarta Sans", Arial, sans-serif;
    line-height: 1.6;
}

.register-main,
.contact-main {
    padding-block: 54px 76px;
}

body[data-page="register"] > main {
    width: min(var(--content-width), calc(100% - 48px));
    max-width: none;
    flex: 1 0 auto;
    margin-inline: auto;
    padding-block: 54px 76px;
}

body[data-page="contact"] > main {
    width: min(var(--content-width), calc(100% - 48px));
    max-width: none;
    flex: 1 0 auto;
    margin-inline: auto;
    padding-block: 54px 76px;
}

body[data-page="register"] .register-content {
    width: 100%;
}

body[data-page="contact"] .contact-content {
    width: 100%;
}

.register-heading,
.contact-heading {
    max-width: 820px;
    margin: 0 auto 38px;
    text-align: center;
}

body[data-page="register"] .register-heading {
    max-width: 820px;
    margin: 0 auto 38px;
    text-align: center;
}

.register-heading h1,
.contact-heading h1 {
    margin: 8px 0 12px;
    color: var(--green-dark);
    font: 700 clamp(2rem, 4vw, 2.8rem)/1.2 Cinzel, Georgia, serif;
}

body[data-page="register"] .register-heading h1 {
    margin: 8px 0 12px;
    color: var(--green-dark);
    font: 700 clamp(2rem, 4vw, 2.8rem)/1.2 Cinzel, Georgia, serif;
}

.register-heading p,
.contact-heading p {
    margin: 0 auto;
    color: #5d685f;
    font-size: .91rem;
    line-height: 1.8;
}

body[data-page="register"] .register-heading p {
    margin: 0 auto;
    color: #5d685f;
    font-size: .91rem;
    line-height: 1.8;
}

.package-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    gap: 20px;
}

.package-card {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 438px;
    flex-direction: column;
    justify-content: space-between;
    gap: 24px;
    padding: 25px 22px 22px;
    border: 1px solid rgba(23, 74, 57, .15);
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(26, 47, 35, .07);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.package-card:hover {
    transform: translateY(-3px);
    border-color: rgba(184, 149, 72, .58);
    box-shadow: 0 18px 34px rgba(26, 47, 35, .12);
}

.package-card > div:first-of-type {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.package-tier {
    align-self: flex-start;
    padding: 5px 10px;
    border: 1px solid rgba(23, 74, 57, .13);
    border-radius: 999px;
    background: #f0f4ef;
    color: #45634e;
    font-size: .63rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.package-card h3 {
    margin: 0;
    color: var(--green-dark);
    font: 700 1.08rem/1.4 Cinzel, Georgia, serif;
}

.package-price {
    color: #9a762d;
    font-size: 1.55rem;
    font-weight: 800;
    line-height: 1.3;
}

.package-card-green .package-price {
    font-size: 1.3rem;
}

.price-unit {
    color: #687169;
    font-size: .7rem;
    font-weight: 500;
}

.package-benefits {
    display: grid;
    gap: 11px;
    margin: 0;
    padding: 10px 0 0;
    list-style: none;
    color: #4d5b51;
    font-size: .72rem;
    line-height: 1.55;
}

.package-benefits li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
}

.package-benefits .fa-check {
    flex: 0 0 auto;
    margin-top: 2px;
    color: #16804e;
}

.package-button {
    width: 100%;
    min-height: 46px;
    padding: 11px 13px;
    border: 1px solid rgba(23, 74, 57, .25);
    border-radius: 8px;
    background: #fff;
    color: var(--green-dark);
    cursor: pointer;
    font-size: .69rem;
    font-weight: 800;
    letter-spacing: .045em;
    text-transform: uppercase;
    transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.package-button:hover {
    transform: translateY(-1px);
    border-color: var(--gold);
    background: #f8f2e2;
}

.package-card-red {
    border-color: rgba(184, 149, 72, .42);
}

.package-card-red .package-tier {
    border-color: rgba(184, 149, 72, .34);
    background: #f8f2e2;
    color: #75591d;
}

.package-card-yellow {
    border: 2px solid #c7a34f;
    background: linear-gradient(180deg, #fffefa, #fff);
    box-shadow: 0 17px 36px rgba(163, 128, 55, .16);
}

.package-card-yellow .package-tier,
.package-popular {
    border-color: rgba(184, 149, 72, .38);
    background: #f4e8c4;
    color: #72551a;
}

.package-popular {
    position: absolute;
    top: -14px;
    left: 50%;
    padding: 5px 12px;
    border: 1px solid rgba(184, 149, 72, .48);
    border-radius: 999px;
    font-size: .61rem;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
    transform: translateX(-50%);
    white-space: nowrap;
}

.package-card-yellow .package-button,
.registration-submit {
    border-color: #b89548;
    background: linear-gradient(135deg, #ead596, #c5a253);
    color: #1d2b21;
}

.package-card-gold {
    border-color: rgba(23, 74, 57, .23);
}

.package-card-gold .package-tier {
    border-color: rgba(184, 149, 72, .35);
    background: #f6efe0;
    color: #775b2a;
}

.package-card-gold .package-button:hover,
.package-card-yellow .package-button:hover,
.registration-submit:hover {
    border-color: #94712a;
    background: #d9bd72;
}

.registration-panel {
    width: min(100%, 980px);
    margin: 52px auto 0;
    padding: 32px;
    scroll-margin-top: 100px;
    border: 1px solid rgba(23, 74, 57, .15);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(26, 47, 35, .09);
}

.registration-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--line);
}

.registration-heading h2 {
    margin: 0;
    color: var(--green-dark);
    font: 700 1.45rem/1.4 Cinzel, Georgia, serif;
}

.registration-heading p {
    margin: 6px 0 0;
    color: #667168;
    font-size: .77rem;
}

.selected-package-badge {
    flex: 0 0 auto;
    padding: 7px 12px;
    border: 1px solid rgba(184, 149, 72, .4);
    border-radius: 999px;
    background: #f7f0dc;
    color: #705619;
    font-size: .72rem;
    font-weight: 800;
}

.registration-form {
    display: grid;
    gap: 18px;
    padding-top: 20px;
}

.registration-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 17px;
}

.registration-panel label,
body.contact-page .contact-form label,
body[data-page="contact"] .contact-form label {
    display: block;
    margin-bottom: 7px;
    color: #435449;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .045em;
    line-height: 1.5;
    text-transform: uppercase;
}

.registration-panel input:not([type="hidden"]),
.registration-panel select,
body.contact-page .contact-form input,
body.contact-page .contact-form select,
body.contact-page .contact-form textarea,
body[data-page="contact"] .contact-form input,
body[data-page="contact"] .contact-form select,
body[data-page="contact"] .contact-form textarea {
    display: block;
    width: 100%;
    min-height: 46px;
    padding: 11px 13px;
    border: 1px solid rgba(23, 74, 57, .2);
    border-radius: 8px;
    background: #fbfaf6;
    color: #263a30;
    font: 400 .78rem/1.5 "Plus Jakarta Sans", Arial, sans-serif;
}

.registration-panel input::placeholder,
body.contact-page .contact-form input::placeholder,
body.contact-page .contact-form textarea::placeholder,
body[data-page="contact"] .contact-form input::placeholder,
body[data-page="contact"] .contact-form textarea::placeholder {
    color: #80877f;
    opacity: 1;
}

.registration-panel input:focus,
.registration-panel select:focus,
body.contact-page .contact-form input:focus,
body.contact-page .contact-form select:focus,
body.contact-page .contact-form textarea:focus,
body[data-page="contact"] .contact-form input:focus,
body[data-page="contact"] .contact-form select:focus,
body[data-page="contact"] .contact-form textarea:focus {
    border-color: #b89548;
    outline: 3px solid rgba(184, 149, 72, .18);
    background: #fff;
}

.registration-submit {
    display: flex;
    width: 100%;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 12px 18px;
    border: 1px solid #b89548;
    border-radius: 8px;
    cursor: pointer;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .045em;
    text-align: center;
    text-transform: uppercase;
}

/* Contact offices, FAQ, and message form */
body[data-page="contact"] .contact-heading {
    margin-bottom: 34px;
}

body[data-page="contact"] .contact-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
    gap: 28px;
}

body[data-page="contact"] .contact-column {
    display: grid;
    gap: 22px;
}

body[data-page="contact"] .contact-card {
    min-width: 0;
    padding: 25px;
    border: 1px solid rgba(23, 74, 57, .14);
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(26, 47, 35, .07);
}

body[data-page="contact"] .contact-card h2 {
    margin: 0 0 18px;
    color: var(--green-dark);
    font: 700 1.18rem/1.45 Cinzel, Georgia, serif;
}

body[data-page="contact"] .offices-card h2 {
    display: flex;
    align-items: center;
    gap: 10px;
}

body[data-page="contact"] .offices-card h2 i,
body[data-page="contact"] .office-item p i {
    color: #a18036;
}

body[data-page="contact"] .office-list {
    display: grid;
    gap: 13px;
}

body[data-page="contact"] .office-item {
    padding: 16px;
    border: 1px solid rgba(23, 74, 57, .1);
    border-radius: 11px;
    background: #fbfaf6;
}

body[data-page="contact"] .office-item strong {
    display: block;
    margin-bottom: 8px;
    color: #765c24;
    font-size: .71rem;
    font-weight: 900;
    letter-spacing: .055em;
    text-transform: uppercase;
}

body[data-page="contact"] .office-item p {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 5px 0 0;
    color: #58645b;
    font-size: .74rem;
    line-height: 1.7;
    overflow-wrap: anywhere;
}

body[data-page="contact"] .office-item p i {
    flex: 0 0 14px;
    margin-top: 4px;
    text-align: center;
}

body[data-page="contact"] .faq-card h2 {
    margin-bottom: 15px;
}

body[data-page="contact"] .faq-item {
    margin-top: 10px;
    padding: 14px 15px;
    border: 1px solid rgba(23, 74, 57, .12);
    border-radius: 10px;
    background: #fbfaf6;
    color: #35493c;
}

body[data-page="contact"] .faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    color: var(--green-dark);
    cursor: pointer;
    font-size: .78rem;
    font-weight: 800;
    list-style: none;
}

body[data-page="contact"] .faq-question::-webkit-details-marker {
    display: none;
}

body[data-page="contact"] .faq-toggle {
    flex: 0 0 auto;
    color: #98752f;
    transition: transform .2s ease;
}

body[data-page="contact"] .faq-item[open] .faq-toggle {
    transform: rotate(180deg);
}

body[data-page="contact"] .faq-answer {
    margin: 12px 0 0;
    color: #5b675e;
    font-size: .76rem;
    line-height: 1.75;
}

body[data-page="contact"] .faq-item:focus-within {
    border-color: rgba(184, 149, 72, .65);
    box-shadow: 0 0 0 3px rgba(184, 149, 72, .12);
}

body[data-page="contact"] .message-card h2 {
    margin-bottom: 8px;
    font-size: 1.45rem;
}

body[data-page="contact"] .contact-form-note {
    margin: 0;
    color: #667168;
    font-size: .76rem;
    line-height: 1.7;
}

body[data-page="contact"] .contact-form {
    display: grid;
    gap: 16px;
    margin-top: 20px;
}

body[data-page="contact"] .contact-form textarea {
    min-height: 142px;
    resize: vertical;
}

body[data-page="contact"] .contact-form button {
    min-height: 48px;
    padding: 12px 16px;
    border: 1px solid #b89548;
    border-radius: 8px;
    background: linear-gradient(135deg, #ead596, #c5a253);
    color: #1d2b21;
    cursor: pointer;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .045em;
    text-transform: uppercase;
    transition: background .2s ease, transform .2s ease;
}

body[data-page="contact"] .contact-form button:hover {
    transform: translateY(-1px);
    background: #d9bd72;
}

.faq-question:focus-visible,
.package-button:focus-visible,
.registration-submit:focus-visible,
body[data-page="contact"] .contact-form button:focus-visible {
    outline: 3px solid #e8c866;
    outline-offset: 3px;
}

@media (max-width: 1100px) {
    .package-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    body[data-page="register"] > main {
        padding-block: 38px 54px;
    }

    body[data-page="register"] .register-heading {
        margin-bottom: 28px;
    }

    body[data-page="contact"] > main {
        width: min(100% - 32px, var(--content-width));
        padding-block: 46px 56px;
    }

    body[data-page="contact"] .contact-layout {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    body[data-page="contact"] .contact-heading {
        margin-bottom: 28px;
    }
}

@media (max-width: 760px) {
    .register-main,
    .contact-main {
        padding-block: 38px 54px;
    }

    .register-heading,
    .contact-heading {
        margin-bottom: 28px;
    }

    .contact-layout {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .registration-panel {
        margin-top: 38px;
        padding: 25px;
    }

    .registration-heading {
        flex-direction: column;
    }
}

@media (max-width: 560px) {
    .package-grid,
    .registration-fields {
        grid-template-columns: 1fr;
    }

    .package-card {
        min-height: 0;
        padding: 23px 20px 20px;
    }

    .register-main,
    .contact-main {
        padding-block: 29px 42px;
    }

    .register-heading h1,
    .contact-heading h1 {
        font-size: 1.8rem;
    }

    .registration-panel,
    .contact-card {
        padding: 20px;
    }

    .registration-heading h2 {
        font-size: 1.2rem;
    }

    .office-item {
        padding: 13px;
    }
}

@media (max-width: 560px) {
    body[data-page="contact"] .contact-card {
        padding: 20px;
    }
}

@media (max-width: 560px) {
    body[data-page="register"] > main {
        width: min(100% - 28px, var(--content-width));
        padding-block: 29px 42px;
    }

    body[data-page="register"] .register-heading h1 {
        font-size: 1.8rem;
    }
}

@media (max-width: 480px) {
    body[data-page="contact"] > main {
        width: min(100% - 28px, var(--content-width));
        padding-block: 34px 42px;
    }
}

/* Responsive shared container gutters */
@media (max-width: 760px) {
    body .container { width: min(100% - 32px, var(--content-width)); }
}
@media (max-width: 480px) {
    body .container { width: min(100% - 28px, var(--content-width)); }
}


/* Cards */
/* Page-specific styles */
/* home.html page-specific styles */
body.home-page {
    margin: 0;
            background: var(--ink);
            color: #28352c;
            font-family: "Plus Jakarta Sans", Arial, sans-serif;
            line-height: 1.6;
}

body.home-page .section {
    padding-block: 64px;
}

body.home-page .section[aria-labelledby="values-heading"] {
    background-color: #fff;
}

body.home-page #events {
    background-color: #fff;
}

body.home-page .section-heading {
    max-width: 760px; margin-bottom: 26px;
}

.partners .section-heading {
    max-width: 1040px;
    margin: 0 auto 42px;
    text-align: center;
}

.partners .section-heading h2 {
    margin: 8px 0 10px;
    color: #243b2e;
    font: 700 clamp(2rem, 3.8vw, 3rem)/1.15 Cinzel, Georgia, serif;
}

.partners .section-heading p {
    max-width: 850px;
    margin: 0 auto;
    color: var(--muted);
    font-size: .94rem;
    line-height: 1.75;
}

body.home-page .section-heading h2,
.flagship-event-section .section-heading h2 {
    margin: 8px 0 10px; color: #243b2e; font: 700 clamp(2rem, 3.8vw, 3rem)/1.15 Cinzel, Georgia, serif;
}

body.home-page .section-heading p {
    max-width: 660px; margin: 0; color: var(--muted); font-size: .94rem;
}

body.home-page .hero {
    position: relative;
            overflow: hidden;
            padding-block: 48px 52px;
            background: radial-gradient(ellipse at 8% 0%, #fff 0%, #fbfaf6 58%, #f1eee3 100%);
}

body.home-page .hero-grid {
    position: relative; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(370px, .82fr); align-items: center; gap: clamp(36px, 5vw, 72px);
}

body.home-page .launch-badge {
    display: inline-flex; align-items: center; gap: 9px; padding: 8px 12px; border: 1px solid rgba(184,149,72,.32); border-radius: 999px; background: #fff; color: #665021; font-size: .7rem; font-weight: 800; letter-spacing: .12em;
}

body.home-page .launch-dot {
    width: 7px; height: 7px; border-radius: 50%; background: #bb994d;
}

body.home-page .hero-event-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    max-width: 100%;
}

body.home-page .hero-event-badges .launch-badge {
    max-width: 100%;
    padding: 9px 14px;
    font-size: .74rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform .2s ease, border-color .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease;
}

body.home-page .hero-event-badges .launch-badge:hover,
body.home-page .hero-event-badges .launch-badge:focus-visible {
    transform: translateY(-2px);
    border-color: #8a6829;
    background-color: #8a6829;
    color: #fff;
    box-shadow: 0 6px 14px rgba(32,48,38,.12);
}

body.home-page .hero-event-badges .launch-badge:focus-visible {
    outline: 3px solid #20382d;
    outline-offset: 3px;
}

body.home-page .hero-event-badges .launch-badge:hover .launch-dot,
body.home-page .hero-event-badges .launch-badge:focus-visible .launch-dot {
    background-color: #fff;
}

body.home-page .hero-event-badges .launch-dot {
    transition: background-color .2s ease;
}

@media (prefers-reduced-motion: reduce) {
    body.home-page .hero-event-badges .launch-badge,
    body.home-page .hero-event-badges .launch-dot {
        transition: none;
    }

    body.home-page .hero-event-badges .launch-badge:hover,
    body.home-page .hero-event-badges .launch-badge:focus-visible {
        transform: none;
    }
}

body.home-page .hero h1 {
    max-width: 760px; margin: 20px 0 16px; color: #20382d; font: 800 clamp(2.7rem, 5.2vw, 4.75rem)/1.06 Cinzel, Georgia, serif; letter-spacing: -.035em; text-transform: uppercase;
}

body.home-page .hero h1 span {
    color: #a98236;
}

body.home-page .hero-copy {
    max-width: 650px; margin: 0; color: #505951; font-size: 1rem;
}

body.home-page .trust-line {
    display: flex; align-items: flex-start; gap: 11px; max-width: 640px; margin-top: 15px; color: #234a3b; font-size: .84rem; font-weight: 800;
}

body.home-page .trust-line span:first-child {
    color: #b38a39;
}

body.home-page .hero-video-cta-card {
    display: grid;
    width: 100%;
    max-width: 650px;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    align-items: stretch;
    gap: 16px;
    margin-top: 20px;
    padding: 13px;
    border: 1px solid rgba(18, 63, 50, .14);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(32, 48, 38, .08);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

body.home-page .hero-video-cta-card:hover,
body.home-page .hero-video-cta-card:focus-within {
    transform: translateY(-2px);
    border-color: rgba(184, 149, 72, .58);
    box-shadow: 0 16px 32px rgba(32, 48, 38, .12);
}

body.home-page .endorsement {
    display: flex;
    width: 100%;
    min-width: 0;
    min-height: 118px;
    align-items: center;
    gap: 17px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    box-shadow: none;
    color: inherit;
    cursor: pointer;
    font: inherit;
    text-align: left;
}

body.home-page .video-thumb {
    position: relative; display: grid; width: 150px; min-width: 150px; height: 90px; place-items: center; overflow: hidden; border-radius: 8px; background: linear-gradient(rgba(0,0,0,.12),rgba(0,0,0,.25)), url("https://img.youtube.com/vi/E8H93Qgw8n0/hqdefault.jpg") center/cover;
}

body.home-page .play-mark {
    display: grid; width: 44px; height: 32px; place-items: center; border-radius: 9px; background: #e62117; color: #fff; font-size: 1.2rem;
}

body.home-page .video-copy {
    min-width: 0;
}

body.home-page .video-copy strong {
    display: block; color: #27382e; font-size: .8rem; line-height: 1.48;
}

body.home-page .video-copy span {
    display: block; margin-top: 5px; color: #777a72; font-size: .68rem;
}

dialog.video-dialog {
    position: fixed;
    inset: 0;
    margin: auto;
    width: min(900px, calc(100% - 32px));
    max-width: 900px;
    max-height: calc(100vh - 32px);
    max-height: calc(100dvh - 32px);
    padding: 0;
    overflow: auto;
    border: 1px solid rgba(221,199,139,.72);
    border-radius: 18px;
    background: #103d30;
    color: #fff;
    box-shadow: 0 28px 80px rgba(0,0,0,.42);
}

dialog.video-dialog::backdrop {
    background: rgba(7,18,14,.78);
    backdrop-filter: blur(3px);
}

.video-dialog-panel {
    position: relative;
    padding: 26px;
}

.video-dialog-close {
    position: absolute;
    top: 16px;
    right: 16px;
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border: 1px solid rgba(240,215,143,.65);
    border-radius: 50%;
    background: rgba(255,255,255,.08);
    color: #fff;
    cursor: pointer;
}

.video-dialog-close:hover,
.video-dialog-close:focus-visible {
    background: #d2ae58;
    color: #173d31;
}

.video-dialog-close:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
}

.video-dialog-frame {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 10px;
    background: #07130f;
}

.video-dialog-frame iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.video-dialog-fallback {
    margin: 8px 2px 0;
    color: #dbe5df;
    font-size: .72rem;
    text-align: right;
}

.video-dialog-fallback a {
    color: #f0d78f;
    text-underline-offset: 3px;
}

@media (max-width: 600px) {
    dialog.video-dialog {
        width: calc(100% - 24px);
        max-height: calc(100vh - 24px);
        max-height: calc(100dvh - 24px);
        border-radius: 14px;
    }

    .video-dialog-panel {
        padding: 20px 14px 16px;
    }

    .video-dialog-close {
        top: 10px;
        right: 10px;
        width: 36px;
        height: 36px;
    }
}

body.home-page .hero-actions {
    display: grid;
    min-width: 0;
    grid-auto-rows: minmax(56px, auto);
    align-content: center;
    gap: 12px;
    margin: 0;
}

body.home-page .hero-actions .button {
    width: 100%;
    min-height: 56px;
    padding: 11px 14px;
    border-color: var(--green);
    background-color: var(--green);
    color: #fff;
    box-shadow: 0 7px 18px rgba(12, 53, 42, .14);
    line-height: 1.35;
    text-align: center;
    transition: transform .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

body.home-page .hero-actions .button[target="_blank"] {
    border-color: #8a6b2f;
    background-color: #8a6b2f;
}

body.home-page .hero-actions .button[target="_blank"]:hover,
body.home-page .hero-actions .button[target="_blank"]:focus-visible {
    transform: translateY(-1px);
    border-color: var(--green-dark);
    background-color: var(--green-dark);
    color: #fff;
    box-shadow: 0 10px 22px rgba(12, 53, 42, .2);
}

body.home-page .hero-actions .button:not([target="_blank"]):hover,
body.home-page .hero-actions .button:not([target="_blank"]):focus-visible {
    transform: translateY(-1px);
    border-color: #8a6b2f;
    background-color: #8a6b2f;
    color: #fff;
    box-shadow: 0 10px 22px rgba(138, 107, 47, .22);
}

@media (prefers-reduced-motion: reduce) {
    body.home-page .hero-actions .button,
    body.home-page .hero-actions .button:hover,
    body.home-page .hero-actions .button:focus-visible {
        transform: none;
        transition: none;
    }
}

@media (max-width: 900px) {
    body.home-page .hero-video-cta-card {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }
}

body.home-page .edition-panel {
    position: relative; overflow: hidden; padding: 25px; border: 1px solid rgba(221,199,139,.48); border-radius: 17px; background: linear-gradient(145deg, #174b3b, var(--green-dark)); box-shadow: 0 24px 48px rgba(13,54,42,.2); color: #fff;
}

body.home-page .edition-panel::after {
    position: absolute; top: -90px; right: -88px; width: 235px; height: 235px; border: 1px solid rgba(230,211,157,.18); border-radius: 50%; box-shadow: 0 0 0 24px rgba(230,211,157,.035), 0 0 0 48px rgba(230,211,157,.025); content: ""; pointer-events: none;
}

body.home-page .edition-panel > * {
    position: relative; z-index: 1;
}

body.home-page .edition-panel .eyebrow {
    color: #e5d29a;
}

body.home-page .edition-panel h2 {
    margin: 4px 0 0; color: #fff; font: 700 1.7rem Cinzel, Georgia, serif;
}

body.home-page .edition-panel > p {
    margin: 7px 0 18px; color: #d8e2db; font-size: .82rem;
}

body.home-page .edition-card {
    position: relative; display: flex; min-height: 142px; align-items: flex-end; overflow: hidden; margin-top: 13px; padding: 17px; border: 1px solid rgba(255,255,255,.3); border-radius: 11px; background-position: center; background-size: cover; transition: border-color .2s ease, transform .2s ease;
}

body.home-page .edition-card:hover {
    transform: translateY(-2px); border-color: #f1d68c;
}

body.home-page .edition-card::before {
    position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,21,16,.8), rgba(4,21,16,.06)); content: "";
}

body.home-page .edition-card.canada {
    --edition-image: url("https://images.unsplash.com/photo-1517935706615-2717063c2225?auto=format&fit=crop&w=900&q=80");
}

body.home-page .edition-card.germany {
    --edition-image: url("https://images.unsplash.com/photo-1560969184-10fe8719e047?auto=format&fit=crop&w=900&q=80");
}

body.home-page .edition-card-content {
    position: relative; display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 10px;
}

body.home-page .edition-card small {
    display: block; color: #f2d98f; font-size: .64rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase;
}

body.home-page .edition-card strong {
    display: block; margin-top: 3px; font: 700 1.4rem Cinzel, Georgia, serif;
}

body.home-page .edition-flag {
    display: inline-block; margin-right: 7px; font: 1rem "Plus Jakarta Sans", sans-serif; vertical-align: 2px;
}

body.home-page .edition-arrow {
    display: grid; width: 37px; height: 37px; place-items: center; border: 1px solid rgba(255,255,255,.62); border-radius: 50%;
}

body.home-page .edition-note {
    margin: 15px 0 0 !important; color: #d8e2db !important; text-align: center; font-size: .7rem !important;
}

body.home-page .stats-strip {
    border-block: 1px solid rgba(18,63,50,.1); background: #f1f3ec;
}

body.home-page .stats-grid {
    display: grid; grid-template-columns: repeat(4, 1fr);
}

body.home-page .stat {
    min-height: 106px; display: flex; flex-direction: column; justify-content: center; padding: 17px 25px; border-right: 1px solid rgba(18,63,50,.14);
}

body.home-page .stat:last-child {
    border-right: 0;
}

body.home-page .stat strong {
    color: var(--green); font: 700 clamp(1.15rem, 2vw, 1.8rem) Cinzel, Georgia, serif;
}

body.home-page .stat span {
    margin-top: 5px; color: var(--muted); font-size: .76rem;
}

body.home-page .value-grid {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px;
}

body.home-page .value-card {
    min-height: 195px; padding: 22px; border: 1px solid rgba(18,63,50,.1); border-radius: 12px; background: #fff; box-shadow: 0 12px 30px rgba(26,47,35,.07);
}

body.home-page .value-icon {
    display: grid; width: 50px; height: 50px; place-items: center; border: 1px solid rgba(184,149,72,.32); border-radius: 12px; background: #f6f2e7; color: var(--green); font-size: 1.35rem;
}

body.home-page .value-card h3 {
    margin: 16px 0 7px; color: #243a2e; font: 700 1.2rem Cinzel, Georgia, serif;
}

body.home-page .value-card p {
    margin: 0; color: var(--muted); font-size: .85rem;
}

.home-activities-section {
    background: var(--ivory);
}

.home-activities-section .home-activities-heading {
    margin: 0 auto 32px;
    text-align: center;
}

.home-activities-section .home-activities-heading h2 {
    margin: 8px 0 0;
    color: #243b2e;
    font: 700 clamp(1.9rem, 3.3vw, 2.7rem)/1.15 Cinzel, Georgia, serif;
    text-transform: uppercase;
}

.home-activities-section .home-activities-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.home-activities-section .home-activity-card {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    min-width: 0;
    padding: 22px;
    border: 1px solid rgba(18, 63, 50, .12);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(26, 47, 35, .06);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.home-activities-section .home-activity-card:hover,
.home-activities-section .home-activity-card:focus-within {
    transform: translateY(-2px);
    border-color: rgba(184, 149, 72, .5);
    box-shadow: 0 15px 28px rgba(26, 47, 35, .1);
}

.home-activities-section .home-activity-marker {
    display: grid;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid rgba(184, 149, 72, .4);
    border-radius: 12px;
    background: #f6f2e7;
    color: var(--green);
    font-size: 1rem;
}

.home-activities-section .home-activity-marker svg {
    display: block;
    width: 21px;
    height: 21px;
}

.home-activities-section .home-activity-copy {
    min-width: 0;
}

.home-activities-section .home-activity-copy h3 {
    margin: 1px 0 7px;
    color: #243a2e;
    font: 700 1rem/1.35 Cinzel, Georgia, serif;
}

.home-activities-section .home-activity-copy p {
    margin: 0;
    color: var(--muted);
    font-size: .88rem;
    line-height: 1.6;
}

body.home-page .showcase {
    background: var(--ivory);
}

body.home-page .property-grid {
    display: grid; grid-template-columns: 1.2fr .9fr .9fr; gap: 17px;
}

body.home-page .property-card {
    position: relative; min-height: 350px; overflow: hidden; border: 1px solid rgba(18,63,50,.12); border-radius: 13px; background: #dedbd2; box-shadow: 0 14px 32px rgba(35,48,39,.1);
}

body.home-page .property-card img {
    width: 100%; height: 100%; min-height: 350px; object-fit: cover; transition: transform .45s ease;
}

body.home-page .property-card:hover img {
    transform: scale(1.045);
}

body.home-page .property-card::after {
    position: absolute; inset: 35% 0 0; background: linear-gradient(transparent, rgba(0,0,0,.78)); content: "";
}

body.home-page .property-info {
    position: absolute; z-index: 1; right: 20px; bottom: 20px; left: 20px;
}

body.home-page .property-info span {
    color: #f3d98e; font-size: .68rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase;
}

body.home-page .property-info h3 {
    margin: 5px 0 0; color: #fff; font: 700 1.25rem Cinzel, Georgia, serif;
}

body.home-page .property-info p {
    margin: 3px 0 0; color: #f0eee9; font-size: .76rem;
}

body.home-page .event-grid {
    display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px;
}

body.home-page .event-card {
    display: grid; grid-template-columns: 150px 1fr; min-height: 218px; overflow: hidden; border: 1px solid rgba(18,63,50,.12); border-radius: 12px; background: #fff; box-shadow: 0 12px 28px rgba(26,47,35,.07);
}

body.home-page .event-image {
    min-height: 100%; background-position: center; background-size: cover;
}

body.home-page .event-image.toronto {
    background-image: url("https://images.unsplash.com/photo-1517935706615-2717063c2225?auto=format&fit=crop&w=500&q=80");
}

body.home-page .event-image.dortmund {
    background-image: url("https://images.unsplash.com/photo-1560969184-10fe8719e047?auto=format&fit=crop&w=500&q=80");
}

body.home-page .event-image.country-fallback {
    background-color: #f4f3ed;
    background-image: url("../images/dpeLogo.png");
    background-repeat: no-repeat;
    background-size: contain;
}

body.home-page .event-details {
    padding: 20px;
}

body.home-page .event-details .eyebrow {
    font-size: .63rem;
}

body.home-page .event-details h3 {
    margin: 7px 0 5px; color: #243b2e; font: 700 1.3rem Cinzel, Georgia, serif;
}

body.home-page .event-details p {
    margin: 0 0 15px; color: var(--muted); font-size: .8rem;
}

body.home-page .event-details .button {
    min-height: 42px; padding: 9px 13px; font-size: .7rem;
}

.partners {
    border-block: 1px solid rgba(18,63,50,.1); background: #f4f3ed;
}

.partners.section {
    padding-block: 64px;
}

.partners .partner-row {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 18px;
}

.partners .partner-role-group + .partner-role-group {
    margin-top: 52px;
    padding-top: 42px;
    border-top: 1px solid rgba(184, 149, 72, .34);
}

.partners .partner-group-heading {
    margin: 0 0 22px;
    color: #174a39;
    font: 700 clamp(1.15rem, 2vw, 1.45rem)/1.3 Cinzel, Georgia, serif;
    letter-spacing: .035em;
    text-align: center;
    text-transform: uppercase;
}

@media (max-width: 760px) {
    .partners.section {
        padding-block: 50px;
    }

    .partners .partner-role-group + .partner-role-group {
        margin-top: 36px;
        padding-top: 30px;
    }
}

.partners .partner-card {
    display: flex; min-height: 150px; align-items: center; gap: 18px; padding: 22px; border: 1px solid rgba(18,63,50,.12); border-radius: 12px; background: #fff; box-shadow: 0 10px 26px rgba(26,47,35,.06);
}

.partners .partner-copy {
    min-width: 0;
}

.partners .partner-image-wrap {
    display: grid; width: 104px; min-width: 104px; height: 104px; place-items: center; overflow: hidden; border: 1px solid rgba(184,149,72,.3); border-radius: 10px; background: #fbfaf6;
}

.partners .partner-image {
    width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply;
}

.partners .partner-copy strong {
    display: block; color: #294235; font: 700 .98rem/1.35 Cinzel, Georgia, serif;
}

.partners .partner-copy span {
    display: block; margin-top: 7px; color: #7a7e77; font-size: .65rem; letter-spacing: .08em; text-transform: uppercase;
}

.partners .partner-note {
    margin: 14px 0 0; color: #777d75; text-align: center; font-size: .7rem;
}

@media (max-width: 1100px) {
body.home-page .hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(320px, .82fr); gap: 30px;
}

body.home-page .value-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.home-activities-section .home-activities-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.home-page .property-grid {
    grid-template-columns: repeat(2, 1fr);
}

body.home-page .property-card:first-child {
    grid-column: span 2;
}
}

@media (max-width: 860px) {
.partners .partner-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
}

@media (max-width: 760px) {
body.home-page .hero {
    padding-block: 42px 46px;
}

body.home-page .hero-grid {
    grid-template-columns: 1fr; gap: 30px;
}

body.home-page .hero h1 {
    max-width: 640px; font-size: clamp(2.45rem, 9vw, 4rem);
}

body.home-page .hero-copy {
    font-size: .94rem;
}

body.home-page .edition-panel {
    max-width: 600px;
}

body.home-page .section {
    padding-block: 50px;
}

.home-activities-section .home-activities-heading {
    margin-bottom: 26px;
}

body.home-page .stats-grid {
    grid-template-columns: repeat(2, 1fr);
}

body.home-page .stat {
    min-height: 90px; padding: 14px 17px; border-bottom: 1px solid rgba(18,63,50,.14);
}

body.home-page .stat:nth-child(2) {
    border-right: 0;
}

body.home-page .stat:nth-child(3), body.home-page .stat:nth-child(4) {
    border-bottom: 0;
}

body.home-page .event-grid {
    grid-template-columns: 1fr;
}

.partners .partner-row {
    grid-template-columns: 1fr;
}

body.home-page .footer-about {
    grid-column: 1 / -1;
}
}

@media (max-width: 480px) {
body.home-page .hero-actions {
    display: grid; grid-template-columns: 1fr;
}

body.home-page .hero-actions .button {
    width: 100%;
}

body.home-page .endorsement {
    align-items: center;
}

body.home-page .video-thumb {
    width: 105px; min-width: 105px; height: 80px;
}

body.home-page .video-copy strong {
    font-size: .72rem;
}

body.home-page .value-grid, body.home-page .property-grid {
    grid-template-columns: 1fr;
}

.home-activities-section .home-activities-grid {
    grid-template-columns: 1fr;
}

body.home-page .property-card:first-child {
    grid-column: auto;
}

body.home-page .property-card, body.home-page .property-card img {
    min-height: 280px;
}

body.home-page .event-card {
    grid-template-columns: 100px 1fr;
}

body.home-page .event-details {
    padding: 15px 13px;
}

body.home-page .event-details h3 {
    font-size: 1.08rem;
}

body.home-page .event-details p {
    font-size: .74rem;
}

.partners .partner-card {
    min-height: 125px; padding: 17px;
}
}


/* about.html page-specific styles */
body.ambient-bg[data-page="about"] {
    min-height: 100vh;
    margin: 0;
    background: #fff;
    color: #28352c;
    font-family: "Plus Jakarta Sans", Arial, sans-serif;
    line-height: 1.6;
}

body[data-page="about"] > main {
    width: 100%;
    margin: 0;
    padding: 0;
}

body[data-page="about"] .about-content {
    width: min(1120px, calc(100% - 48px));
    margin: 58px auto 28px;
    display: grid;
    gap: 28px;
}

body[data-page="about"] .about-hero {
    width: 100%;
    max-width: 1150px;
    margin: 0 auto 10px;
    text-align: center;
}

body[data-page="about"] .about-hero h1 {
    max-width: 1050px;
    margin: 12px auto 16px;
    color: #20382d;
    font: 800 clamp(2.2rem, 4.8vw, 3.55rem)/1.13 Cinzel, Georgia, serif;
    letter-spacing: -.025em;
    text-transform: uppercase;
}

body[data-page="about"] .about-hero p {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    color: #505951;
    font-size: .98rem;
    line-height: 1.8;
}

body[data-page="about"] .mission-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

body[data-page="about"] .mission-card,
body[data-page="about"] .objectives-card {
    border: 1px solid rgba(18, 63, 50, .12);
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(26, 47, 35, .07);
}

body[data-page="about"] .mission-card {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    align-content: start;
    gap: 16px;
    min-height: 220px;
    padding: 28px;
}

body[data-page="about"] .mission-icon {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border: 1px solid rgba(184, 149, 72, .38);
    border-radius: 13px;
    background: #f6f2e7;
    color: var(--green);
    font-size: 1.3rem;
}

body[data-page="about"] .mission-copy h2 {
    margin: 3px 0 10px;
    color: #243b2e;
    font: 700 1.45rem/1.25 Cinzel, Georgia, serif;
}

body[data-page="about"] .mission-copy p {
    margin: 0;
    color: #5c665e;
    font-size: .88rem;
    line-height: 1.75;
}

body[data-page="about"] .objectives-card {
    padding: 28px;
    background: #fbfaf6;
}

body[data-page="about"] .section-title {
    margin: 0;
    color: #243b2e;
    text-align: center;
    font: 700 clamp(1.5rem, 3vw, 2rem)/1.25 Cinzel, Georgia, serif;
}

body[data-page="about"] .objective-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-top: 24px;
}

body[data-page="about"] .objective-card {
    min-height: 150px;
    padding: 17px;
    border: 1px solid rgba(18, 63, 50, .1);
    border-radius: 10px;
    background: #fff;
}

body[data-page="about"] .objective-card::before {
    display: block;
    width: 34px;
    height: 3px;
    margin-bottom: 13px;
    background: linear-gradient(90deg, var(--green), var(--gold));
    content: "";
}

body[data-page="about"] .objective-card h3 {
    margin: 0 0 7px;
    color: var(--green);
    font-size: .9rem;
    font-weight: 800;
}

body[data-page="about"] .objective-card p {
    margin: 0;
    color: #687169;
    font-size: .78rem;
    line-height: 1.65;
}

body[data-page="about"] .objective-empty-state {
    grid-column: 1 / -1;
    margin: 0;
    color: #687169;
    text-align: center;
}

body[data-page="about"] #particle-canvas {
    display: none;
}

@media (max-width: 860px) {
    body[data-page="about"] .objective-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    body[data-page="about"] > main {
        width: 100%;
        padding: 0;
    }

    body[data-page="about"] .about-content {
        width: min(100% - 32px, var(--content-width));
        margin-block: 42px 20px;
        gap: 20px;
    }

    body[data-page="about"] .mission-grid {
        grid-template-columns: 1fr;
    }

    body[data-page="about"] .mission-card,
    body[data-page="about"] .objectives-card {
        min-height: 0;
        padding: 22px;
    }

    body[data-page="about"] .footer-about {
        grid-column: 1 / -1;
    }
}

@media (max-width: 480px) {
    body[data-page="about"] > main {
        width: 100%;
    }

    body[data-page="about"] .about-content {
        width: min(100% - 28px, var(--content-width));
    }

    body[data-page="about"] .about-hero h1 {
        font-size: clamp(1.9rem, 8vw, 2.4rem);
    }

    body[data-page="about"] .about-hero p {
        font-size: .9rem;
    }

    body[data-page="about"] .objective-grid {
        grid-template-columns: 1fr;
    }

    body[data-page="about"] .mission-card {
        grid-template-columns: 44px minmax(0, 1fr);
        gap: 13px;
    }

    body[data-page="about"] .mission-icon {
        width: 44px;
        height: 44px;
        font-size: 1.1rem;
    }

    body[data-page="about"] .mission-copy h2 {
        font-size: 1.25rem;
    }
}


/* DPE Event page: approved past-events.html gallery design. */
body.ambient-bg[data-page="past-events"] {
    background: #fbfaf6;
    color: #28352c;
    font-family: "Plus Jakarta Sans", Arial, sans-serif;
}

body[data-page="past-events"] > main {
    flex: 1;
    width: min(var(--content-width), calc(100% - 48px));
    max-width: none;
    margin-inline: auto;
    padding: 0;
}

body[data-page="past-events"] .event-content {
    display: block;
}

body[data-page="past-events"] .gallery-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 28px;
    padding-bottom: 22px;
    border-bottom: 1px solid var(--line);
}

body[data-page="past-events"] .gallery-heading h1 {
    margin: 8px 0 0;
    color: #243b2e;
    font: 700 clamp(2rem, 3.8vw, 3rem)/1.15 Cinzel, Georgia, serif;
}

body[data-page="past-events"] .filter-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 9px;
}

body[data-page="past-events"] .filter-btn {
    min-height: 40px;
    padding: 9px 15px;
    border: 1px solid rgba(23, 74, 57, .18);
    border-radius: 999px;
    background: #fff;
    color: var(--green);
    cursor: pointer;
    font-size: .72rem;
    font-weight: 800;
    transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
}

body[data-page="past-events"] .filter-btn:hover {
    transform: translateY(-1px);
    border-color: var(--gold);
    background: #fbf8ef;
}

body[data-page="past-events"] .filter-btn.is-active {
    border-color: var(--green);
    background: var(--green);
    color: #fff;
}

body[data-page="past-events"] .filter-btn:focus-visible,
body[data-page="past-events"] .event-image-wrap:focus-visible {
    outline: 3px solid #b89548;
    outline-offset: 3px;
}

body[data-page="past-events"] .gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

body[data-page="past-events"] .gallery-item {
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(18, 63, 50, .12);
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(26, 47, 35, .07);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

body[data-page="past-events"] .gallery-item:hover {
    transform: translateY(-3px);
    border-color: rgba(184, 149, 72, .55);
    box-shadow: 0 18px 34px rgba(26, 47, 35, .12);
}

body[data-page="past-events"] .event-image-wrap {
    position: relative;
    display: block;
    width: 100%;
    height: 220px;
    padding: 0;
    overflow: hidden;
    border: 0;
    background: #e8e6df;
    color: inherit;
    cursor: pointer;
    font: inherit;
    text-align: left;
}

body[data-page="past-events"] .event-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}

body[data-page="past-events"] .gallery-item:hover .event-image {
    transform: scale(1.035);
}

body[data-page="past-events"] .event-category {
    position: absolute;
    top: 14px;
    left: 14px;
    padding: 6px 10px;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 999px;
    background: rgba(12, 53, 42, .9);
    color: #fff;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body[data-page="past-events"] .gallery-item.canada .event-category {
    background: #c62828;
    color: #fff;
}

body[data-page="past-events"] .gallery-item.europe .event-category {
    background: #e6cd85;
    color: #17382d;
}

body[data-page="past-events"] .gallery-item.accra .event-category {
    background: #147a4c;
    color: #fff;
}

body[data-page="past-events"] .event-card-copy {
    padding: 21px;
}

body[data-page="past-events"] .event-meta {
    color: #96732e;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .04em;
}

body[data-page="past-events"] .event-title {
    margin: 8px 0 7px;
    color: #243b2e;
    font: 700 1.12rem/1.4 Cinzel, Georgia, serif;
}

body[data-page="past-events"] .event-description {
    margin: 0;
    color: var(--muted);
    font-size: .8rem;
    line-height: 1.65;
}

body[data-page="past-events"] #lightbox-modal[aria-hidden="true"] {
    display: none;
}

body[data-page="past-events"] #lightbox-modal {
    position: fixed;
    inset: 0;
    z-index: 100;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(4, 24, 18, .82);
    backdrop-filter: blur(8px);
}

body[data-page="past-events"] #lightbox-modal > div {
    position: relative;
    width: min(100%, 960px);
    max-width: 960px;
    overflow: hidden;
    border: 1px solid rgba(184, 149, 72, .55);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .3);
}

body[data-page="past-events"] #lightbox-modal button {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 1;
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .6);
    border-radius: 50%;
    background: rgba(12, 53, 42, .92);
    color: #fff;
    cursor: pointer;
}

body[data-page="past-events"] #lightbox-modal > div > div:nth-of-type(1) {
    display: grid;
    max-height: 75vh;
    place-items: center;
    overflow: hidden;
    background: #f5f3ec;
}

body[data-page="past-events"] #lightbox-modal > div > div:nth-of-type(2) {
    background: #fff;
}

body[data-page="past-events"] #lightbox-img {
    max-width: 100%;
    max-height: 75vh;
    width: auto;
    object-fit: contain;
}

body[data-page="past-events"] #lightbox-caption {
    margin: 0;
    padding: 15px 20px;
    border-top: 1px solid var(--line);
    color: var(--green);
    text-align: center;
    font-size: .9rem;
}

@media (max-width: 1100px) {
    body[data-page="past-events"] .gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    body[data-page="past-events"] > main {
        padding-block: 46px 56px;
    }

    body[data-page="past-events"] .gallery-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 20px;
    }

    body[data-page="past-events"] .filter-list {
        justify-content: flex-start;
    }
}

@media (max-width: 480px) {
    body[data-page="past-events"] .gallery-grid {
        grid-template-columns: 1fr;
        gap: 17px;
    }

    body[data-page="past-events"] .event-image-wrap {
        height: 205px;
    }

    body[data-page="past-events"] .event-card-copy {
        padding: 18px;
    }

    body[data-page="past-events"] .filter-list {
        gap: 7px;
    }

    body[data-page="past-events"] .filter-btn {
        padding-inline: 12px;
        font-size: .68rem;
    }

    body[data-page="past-events"] #lightbox-modal {
        padding: 16px;
    }
}


/* WordPress content defaults (existing project styles retained). */
.entry-content p { margin: 0 0 1em; line-height: 1.75; }
.entry-content h2, .entry-content h3 { color: #f8fafc; font-weight: 700; margin: 1.5em 0 .5em; }
.entry-content a { color: #F3C649; text-decoration: underline; }
.entry-content ul { list-style: disc; padding-left: 1.5rem; margin-bottom: 1em; }
.entry-content ol { list-style: decimal; padding-left: 1.5rem; margin-bottom: 1em; }
.entry-content img { max-width: 100%; height: auto; }

/* Press archive */
body.ambient-bg[data-page="press"] {
    margin: 0;
    background: #fff;
    color: #243b2e;
    font-family: "Plus Jakarta Sans", Arial, sans-serif;
    line-height: 1.6;
}

body[data-page="press"] > main {
    width: min(var(--content-width), calc(100% - 48px));
    max-width: none;
    flex: 1;
    margin-inline: auto;
    padding-block: 52px 76px;
}

body[data-page="press"] .press-content {
    display: block;
}

body[data-page="press"] .press-heading-row {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--line);
}

body[data-page="press"] .press-heading-row h1 {
    margin: 7px 0 0;
    color: var(--green-dark);
    font: 700 clamp(2rem, 4vw, 3rem)/1.2 Cinzel, Georgia, serif;
}

body[data-page="press"] .press-kit-button {
    flex: 0 0 auto;
    min-height: 46px;
    color: var(--green-dark);
}

body[data-page="press"] .press-kit-button i {
    color: #8a6b2f;
}

body[data-page="press"] .press-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin-top: 30px;
}

body[data-page="press"] .press-article {
    display: flex;
    min-height: 280px;
    flex-direction: column;
    justify-content: space-between;
    gap: 26px;
    padding: 25px;
    border: 1px solid rgba(23, 74, 57, .13);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(26, 47, 35, .07);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

body[data-page="press"] .press-article:hover {
    transform: translateY(-3px);
    border-color: rgba(184, 149, 72, .55);
    box-shadow: 0 18px 34px rgba(26, 47, 35, .12);
}

body[data-page="press"] .press-article > div:first-child > div:first-child {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 17px;
}

body[data-page="press"] .press-category {
    display: inline-flex;
    min-height: 27px;
    align-items: center;
    padding: 4px 10px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .04em;
}

body[data-page="press"] .press-category-release {
    border-color: rgba(184, 149, 72, .35);
    background: #f7f0dc;
    color: #75591d;
}

body[data-page="press"] .press-category-diplomatic {
    border-color: rgba(179, 53, 53, .22);
    background: #fbebea;
    color: #9d3030;
}

body[data-page="press"] .press-category-banking {
    border-color: rgba(23, 122, 76, .22);
    background: #e8f3ec;
    color: #176342;
}

body[data-page="press"] .press-category-exhibitor {
    border-color: rgba(102, 76, 142, .22);
    background: #f0ebf7;
    color: #604785;
}

body[data-page="press"] .press-date {
    color: #687169;
    font-size: .72rem;
    font-weight: 600;
    white-space: nowrap;
}

body[data-page="press"] .press-article h2 {
    margin: 0 0 10px;
    color: var(--green-dark);
    font: 700 1.08rem/1.5 Cinzel, Georgia, serif;
}

body[data-page="press"] .press-article p {
    margin: 0;
    color: #59645c;
    font-size: .82rem;
    line-height: 1.75;
}

body[data-page="press"] .press-read-more {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 9px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #8a6b2f;
    cursor: pointer;
    font-size: .77rem;
    font-weight: 800;
    text-align: left;
}

body[data-page="press"] .press-read-more:hover {
    color: var(--green);
}

body[data-page="press"] .press-modal {
    position: fixed;
    z-index: 50;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(13, 30, 23, .68);
    backdrop-filter: blur(5px);
}

body[data-page="press"] .press-modal.hidden {
    display: none;
}

body[data-page="press"] .press-modal-panel {
    position: relative;
    width: min(100%, 680px);
    max-height: min(86vh, 760px);
    overflow-y: auto;
    padding: 36px;
    border: 1px solid rgba(184, 149, 72, .35);
    border-radius: 18px;
    background: #fffefa;
    box-shadow: 0 24px 70px rgba(6, 28, 20, .28);
}

body[data-page="press"] .press-modal-category {
    display: inline-flex;
    padding: 6px 11px;
    border: 1px solid rgba(184, 149, 72, .35);
    border-radius: 999px;
    background: #f7f0dc;
    color: #75591d;
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body[data-page="press"] .press-modal-panel h3 {
    margin: 18px 40px 14px 0;
    color: var(--green-dark);
    font: 700 clamp(1.25rem, 3vw, 1.7rem)/1.4 Cinzel, Georgia, serif;
}

body[data-page="press"] .press-modal-panel p {
    margin: 0;
    color: #46534a;
    font-size: .92rem;
    line-height: 1.85;
}

body[data-page="press"] .press-modal-panel #press-modal-body {
    max-height: 50vh;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: .5rem;
}

body[data-page="press"] .press-modal-close {
    position: absolute;
    top: 17px;
    right: 17px;
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid rgba(23, 74, 57, .17);
    border-radius: 50%;
    background: #fff;
    color: var(--green-dark);
    cursor: pointer;
    font-size: 1rem;
}

body[data-page="press"] .press-modal-dismiss {
    width: 100%;
    min-height: 46px;
    margin-top: 26px;
    border: 0;
    border-radius: 8px;
    background: var(--green-dark);
    color: #fff;
    cursor: pointer;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

body[data-page="press"] .press-modal-close:hover,
body[data-page="press"] .press-modal-dismiss:hover {
    background: #174a39;
    color: #fff;
}

@media (max-width: 900px) {
    body[data-page="press"] .press-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    body[data-page="press"] > main {
        padding-block: 36px 54px;
    }

    body[data-page="press"] .press-heading-row {
        align-items: flex-start;
        flex-direction: column;
    }

    body[data-page="press"] .press-grid {
        gap: 18px;
        margin-top: 22px;
    }

    body[data-page="press"] .press-article {
        min-height: 0;
        padding: 22px;
    }

    body[data-page="press"] .press-card-image {
        margin: -22px -22px 21px;
    }
}

@media (max-width: 600px) {
    body[data-page="press"] .press-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    body[data-page="press"] > main {
        padding-block: 28px 42px;
    }

    body[data-page="press"] .press-heading-row h1 {
        font-size: 1.8rem;
    }

    body[data-page="press"] .press-article {
        padding: 19px;
    }

    body[data-page="press"] .press-card-image {
        margin: -19px -19px 19px;
    }

    body[data-page="press"] .press-article > div:first-child > div:first-child {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    body[data-page="press"] .press-modal {
        padding: 14px;
    }

    body[data-page="press"] .press-modal-panel {
        padding: 28px 22px;
    }
}

/* Focused homepage heading and card polish */
@media (min-width: 1200px) {
    body.home-page .section-heading-wide,
    .flagship-event-section .section-heading-wide {
        max-width: none;
    }

    body.home-page .section-heading-wide h2,
    .flagship-event-section .section-heading-wide h2 {
        max-width: 100%;
        font-size: clamp(2rem, 3.25vw, 2.7rem);
        letter-spacing: -.025em;
        white-space: nowrap;
    }
}

@media (max-width: 1199px) {
    body.home-page .section-heading-wide h2,
    .flagship-event-section .section-heading-wide h2 {
        text-wrap: balance;
    }
}

body.home-page .value-card {
    min-height: 205px;
    padding: 24px;
    border-color: rgba(18, 63, 50, .13);
    border-radius: 13px;
    box-shadow: 0 10px 25px rgba(26, 47, 35, .06);
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

body.home-page .value-card:hover,
body.home-page .value-card:focus-within {
    transform: translateY(-3px);
    border-color: rgba(184, 149, 72, .55);
    box-shadow: 0 17px 32px rgba(26, 47, 35, .11);
}

body.home-page .value-card:focus-visible {
    outline: 3px solid #e8c866;
    outline-offset: 3px;
}

body.home-page .value-icon {
    width: 52px;
    height: 52px;
    border-color: rgba(184, 149, 72, .42);
    border-radius: 14px;
    box-shadow: inset 0 0 0 3px rgba(255, 255, 255, .55);
    font-size: 1.18rem;
}

body.home-page .value-icon i {
    line-height: 1;
}

body.home-page .edition-card {
    background-image: none;
    box-shadow: 0 8px 20px rgba(5, 24, 18, .12);
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

body.home-page .edition-card::before {
    background-image: linear-gradient(90deg, rgba(4, 21, 16, .78), rgba(4, 21, 16, .12)), var(--edition-image);
    background-position: center;
    background-size: cover;
    transition: transform .4s ease;
}

body.home-page .edition-card:hover,
body.home-page .edition-card:focus-visible {
    transform: translateY(-3px);
    border-color: #e5cc80;
    box-shadow: 0 16px 30px rgba(5, 24, 18, .22);
}

body.home-page .edition-card:hover::before,
body.home-page .edition-card:focus-visible::before {
    transform: scale(1.045);
}

body.home-page .edition-card:focus-visible {
    outline: 3px solid #e8c866;
    outline-offset: 3px;
}

body.home-page .edition-arrow {
    transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
}

body.home-page .edition-card:hover .edition-arrow,
body.home-page .edition-card:focus-visible .edition-arrow {
    transform: translateX(2px);
    border-color: #e5cc80;
    background: #e5cc80;
    color: #123c30;
}

/* Reusable partner information cards and dialog */
.partners .partner-card.partner-trigger {
    position: relative;
    cursor: pointer;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.partners .partner-card.partner-trigger:hover,
.partners .partner-card.partner-trigger:focus-visible {
    transform: translateY(-3px);
    border-color: rgba(184, 149, 72, .65);
    box-shadow: 0 18px 34px rgba(26, 47, 35, .13);
}

.partners .partner-card.partner-trigger:focus-visible {
    outline: 3px solid #e8c866;
    outline-offset: 3px;
}

.partners .partner-card.partner-trigger::after {
    position: absolute;
    z-index: 2;
    top: 10px;
    right: 10px;
    padding: 5px 8px;
    border: 1px solid rgba(184, 149, 72, .35);
    border-radius: 999px;
    background: #fffefa;
    color: #75591d;
    content: attr(data-tooltip);
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .035em;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-3px);
    transition: opacity .18s ease, transform .18s ease;
}

.partners .partner-card.partner-trigger:hover::after,
.partners .partner-card.partner-trigger:focus-visible::after {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .partners .partner-card.partner-trigger,
    .partners .partner-card.partner-trigger::after {
        transition-duration: .01ms;
    }
}

dialog.partner-dialog {
    width: min(560px, calc(100% - 28px));
    max-width: calc(100% - 28px);
    max-height: none;
    margin: auto;
    padding: 0;
    overflow: visible;
    border: 0;
    background: transparent;
    color: inherit;
}

dialog.partner-dialog::backdrop {
    background: rgba(12, 38, 29, .68);
    backdrop-filter: blur(4px);
}

.partner-dialog-panel {
    position: relative;
    max-height: min(82vh, 680px);
    overflow-y: auto;
    padding: 34px;
    border: 1px solid rgba(184, 149, 72, .35);
    border-radius: 18px;
    background: #fffefa;
    box-shadow: 0 24px 70px rgba(6, 28, 20, .28);
    color: #46534a;
    text-align: center;
}

.partner-dialog-image[hidden],
.partner-dialog-role[hidden],
.partner-dialog-description[hidden] {
    display: none;
}

.partner-dialog-image {
    width: 100%;
    max-height: 180px;
    margin: 0 auto 20px;
    object-fit: contain;
}

.partner-dialog-role {
    display: inline-flex;
    margin-bottom: 8px;
    padding: 5px 10px;
    border: 1px solid rgba(184, 149, 72, .35);
    border-radius: 999px;
    background: #f7f0dc;
    color: #75591d;
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.partner-dialog-panel h2 {
    margin: 0 42px 12px;
    color: var(--green-dark);
    font: 700 clamp(1.35rem, 4vw, 1.8rem)/1.4 Cinzel, Georgia, serif;
}

.partner-dialog-description {
    max-width: 460px;
    margin: 0 auto;
    color: #5b675e;
    font-size: .85rem;
    line-height: 1.8;
}

.partner-dialog-close {
    position: absolute;
    top: 13px;
    right: 13px;
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid rgba(23, 74, 57, .17);
    border-radius: 50%;
    background: #fff;
    color: var(--green-dark);
    cursor: pointer;
    font-size: 1rem;
}

.partner-dialog-close:hover,
.partner-dialog-close:focus-visible {
    border-color: var(--gold);
    background: #f7f0dc;
}

@media (max-width: 560px) {
    .partner-dialog-panel {
        padding: 28px 21px;
    }
}

/* WordPress menu layout using the existing Primary Navigation location. */
.main-menu,
.mobile-menu {
    margin: 0;
    padding: 0;
    list-style: none;
}

.main-menu {
    display: flex;
    align-items: center;
    gap: clamp(14px, 1.6vw, 24px);
}

.main-menu a,
.mobile-menu a {
    display: block;
    padding: 10px 0;
}

.main-menu a {
    color: #3c453f;
    font-size: .77rem;
    font-weight: 700;
    white-space: nowrap;
}

.main-menu a:hover,
.main-menu a.is-active,
.main-menu a[aria-current="page"] {
    color: #97762f;
}

.mobile-navigation {
    display: none;
}

.mobile-menu .menu-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 8px;
    color: #3c453f;
    font-size: .84rem;
    font-weight: 700;
}

.mobile-menu .menu-link:hover,
.mobile-menu .menu-link.is-active,
.mobile-menu .menu-link[aria-current="page"] {
    color: #97762f;
}

.back-to-top {
	position: fixed;
	z-index: 9;
	right: max(20px, env(safe-area-inset-right));
	bottom: max(20px, env(safe-area-inset-bottom));
	display: grid;
	width: 46px;
	height: 46px;
	min-width: 44px;
	min-height: 44px;
	place-items: center;
	padding: 0;
	border: 1px solid rgba(235, 219, 164, .48);
	border-radius: 50%;
	background: rgba(255, 255, 255, .05);
	color: #f3e2a6;
	font-size: .85rem;
	opacity: 0;
	pointer-events: none;
	transform: translateY(10px);
	visibility: hidden;
	cursor: pointer;
	transition: opacity .2s ease, transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease, visibility 0s linear .2s;
}

.back-to-top.is-visible {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
	visibility: visible;
	transition-delay: 0s;
}

.back-to-top:hover {
	transform: translateY(-2px);
	border-color: #e5cc80;
	background: #e5cc80;
	color: #123c30;
}

.back-to-top:focus-visible {
	outline: 3px solid #e8c866;
	outline-offset: 3px;
}

.social-link-pending {
    opacity: .72;
}

/* Keep existing PHP page content readable until those templates are converted. */
body.ambient-bg:not(:where(.home-page)) {
    min-height: 100vh;
    margin: 0;
    overflow-x: hidden;
    background: #050508;
    color: #f1f5f9;
    font-family: "Plus Jakarta Sans", Arial, sans-serif;
    line-height: 1.6;
}

.entry-content p {
    margin: 0 0 1em;
    line-height: 1.75;
}

.entry-content h2,
.entry-content h3 {
    margin: 1.5em 0 .5em;
    color: #f8fafc;
    font-weight: 700;
}

.entry-content a {
    color: #f3c649;
    text-decoration: underline;
}

.entry-content ul {
    margin-bottom: 1em;
    padding-left: 1.5rem;
    list-style: disc;
}

.entry-content ol {
    margin-bottom: 1em;
    padding-left: 1.5rem;
    list-style: decimal;
}

.entry-content img {
    max-width: 100%;
    height: auto;
}

/* Dynamic WordPress editorial templates and readable fallbacks. */
body.ambient-bg[data-page="press"] {
    background: #fbfaf5;
}

body.ambient-bg:is(.blog, .archive, .search, .single-post, .error404),
body.ambient-bg.page-template-default[data-page="other"] {
    background: #fbfaf5;
    color: #263a30;
}

body.ambient-bg:is(.blog, .archive, .search, .single-post, .error404) > main,
body.ambient-bg.page-template-default[data-page="other"] > main {
    flex: 1 0 auto;
    min-width: 0;
    width: 100%;
    color: #263a30;
}

.dpe-newsroom,
.dpe-index-page,
.dpe-page-fallback,
.dpe-single-article,
.dpe-404-page {
    width: min(var(--content-width), calc(100% - 48px));
    margin-inline: auto;
    padding-block: 54px 76px;
}

.dpe-newsroom,
.dpe-index-page,
.dpe-page-fallback,
.dpe-single-article,
.dpe-404-page,
.dpe-newsroom *,
.dpe-index-page *,
.dpe-page-fallback *,
.dpe-single-article *,
.dpe-404-page * {
    min-width: 0;
}

.dpe-fallback-heading,
.newsroom-heading {
    max-width: 850px;
    margin-bottom: 32px;
}

.newsroom-heading .eyebrow,
.dpe-fallback-heading .eyebrow {
    display: inline-block;
    margin-bottom: 10px;
}

.newsroom-heading h1,
.dpe-fallback-heading h1 {
    margin: 0 0 12px;
    color: var(--green-dark);
    font: 700 clamp(2.2rem, 5vw, 3.5rem)/1.14 Cinzel, Georgia, serif;
    letter-spacing: -.025em;
}

.newsroom-heading p {
    max-width: 680px;
    margin: 0;
    color: #59645c;
    font-size: 1.02rem;
    line-height: 1.75;
}

.newsroom-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin: 0 0 17px;
}

.newsroom-filter {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: 8px 15px;
    border: 1px solid rgba(23, 74, 57, .2);
    border-radius: 999px;
    background: #fff;
    color: var(--green-dark);
    font-size: .78rem;
    font-weight: 700;
    transition: background-color .18s, border-color .18s, color .18s;
}

.newsroom-filter:hover,
.newsroom-filter:focus-visible,
.newsroom-filter.is-active {
    border-color: var(--green-dark);
    background: var(--green-dark);
    color: #fff;
}

.newsroom-search {
    display: flex;
    width: min(100%, 540px);
    gap: 9px;
    margin: 0 0 34px;
}

.newsroom-search input {
    flex: 1 1 auto;
    min-height: 46px;
    padding: 10px 14px;
    border: 1px solid rgba(23, 74, 57, .22);
    border-radius: 8px;
    background: #fff;
    color: #263a30;
    font: inherit;
}

.newsroom-search input:focus-visible {
    border-color: var(--green);
    outline: 3px solid rgba(23, 74, 57, .15);
    outline-offset: 1px;
}

.newsroom-search button {
    min-width: 96px;
    min-height: 46px;
    padding: 9px 16px;
    border: 0;
    border-radius: 8px;
    background: linear-gradient(135deg, #d5b365, #b89548 55%, #174a39);
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-size: .82rem;
    font-weight: 800;
}

.newsroom-search button:hover {
    filter: brightness(1.06);
}

.newsroom-featured {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
    overflow: hidden;
    margin: 0 0 38px;
    border: 1px solid rgba(23, 74, 57, .14);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(26, 47, 35, .09);
}

.newsroom-featured-media,
.newsroom-card-media {
    display: block;
    overflow: hidden;
    background: #e8eee8;
}

.newsroom-featured-media {
    min-height: 360px;
}

.newsroom-featured-image,
.newsroom-card-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.newsroom-featured-media:hover .newsroom-featured-image,
.newsroom-card-media:hover .newsroom-card-image {
    transform: scale(1.025);
}

.newsroom-image-fallback {
    display: flex;
    width: 100%;
    height: 100%;
    min-height: inherit;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background:
        radial-gradient(ellipse at 78% 22%, rgba(227, 207, 146, .2), transparent 36%),
        linear-gradient(135deg, #174a39, #092f25);
    color: #f5e6b9;
}

.newsroom-image-fallback > span {
    font: 700 clamp(2.3rem, 5vw, 4rem)/1 Cinzel, Georgia, serif;
    letter-spacing: .08em;
}

.newsroom-image-fallback small {
    color: rgba(255, 255, 255, .78);
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .2em;
}

.newsroom-featured-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: clamp(26px, 4vw, 52px);
}

.newsroom-featured-label {
    margin-bottom: 16px;
    color: #8a6b2f;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.newsroom-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 13px;
    color: #687169;
    font-size: .72rem;
}

.newsroom-category {
    display: inline-flex;
    min-height: 27px;
    align-items: center;
    padding: 4px 10px;
    border: 1px solid rgba(184, 149, 72, .35);
    border-radius: 999px;
    background: #f7f0dc;
    color: #75591d;
    font-size: .67rem;
    font-weight: 800;
}

.newsroom-featured-copy h2 {
    margin: 15px 0 11px;
    color: var(--green-dark);
    font: 700 clamp(1.45rem, 2.5vw, 2rem)/1.35 Cinzel, Georgia, serif;
}

.newsroom-featured-copy h2 a,
.newsroom-card-copy h2 a,
.dpe-fallback-card-copy h2 a,
.dpe-related-articles h3 a {
    color: inherit;
}

.newsroom-featured-copy p,
.newsroom-card-copy p {
    margin: 0 0 20px;
    color: #59645c;
    font-size: .86rem;
    line-height: 1.75;
}

.newsroom-read-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: auto;
    color: #82632a;
    font-size: .78rem;
    font-weight: 800;
}

.newsroom-read-link:hover,
.newsroom-read-link:focus-visible {
    color: var(--green-dark);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.newsroom-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.newsroom-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(23, 74, 57, .14);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(26, 47, 35, .06);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.newsroom-card:hover {
    transform: translateY(-3px);
    border-color: rgba(184, 149, 72, .55);
    box-shadow: 0 16px 34px rgba(26, 47, 35, .11);
}

.newsroom-card-media {
    height: 205px;
}

.newsroom-card-media .newsroom-image-fallback {
    min-height: 205px;
}

.newsroom-card-copy {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    padding: 21px;
}

.newsroom-card-copy h2,
.dpe-related-articles h3 {
    margin: 13px 0 9px;
    color: var(--green-dark);
    font: 700 1.02rem/1.45 Cinzel, Georgia, serif;
}

.newsroom-card-copy p {
    margin-bottom: 18px;
    font-size: .8rem;
}

.newsroom-card-copy .newsroom-read-link {
    margin-top: auto;
}

.newsroom-empty-state,
.dpe-empty-state {
    padding: clamp(28px, 5vw, 56px);
    border: 1px solid rgba(23, 74, 57, .14);
    border-radius: 14px;
    background: #fff;
    text-align: center;
}

.newsroom-empty-state h2 {
    margin: 0 0 8px;
    color: var(--green-dark);
    font: 700 1.45rem/1.35 Cinzel, Georgia, serif;
}

.newsroom-empty-state p,
.dpe-empty-state p {
    margin: 0 0 16px;
    color: #59645c;
}

.newsroom-pagination,
.dpe-fallback-pagination {
    margin-top: 32px;
}

.newsroom-pagination ul,
.dpe-fallback-pagination .page-numbers {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.newsroom-pagination a,
.newsroom-pagination span,
.dpe-fallback-pagination .page-numbers a,
.dpe-fallback-pagination .page-numbers span {
    display: inline-flex;
    min-width: 40px;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border: 1px solid rgba(23, 74, 57, .2);
    border-radius: 7px;
    background: #fff;
    color: var(--green-dark);
    font-size: .8rem;
}

.newsroom-pagination .current,
.dpe-fallback-pagination .current {
    border-color: var(--green-dark);
    background: var(--green-dark);
    color: #fff;
}

/* Single post reading layout. */
.dpe-single-article {
    max-width: 100%;
}

.article-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-bottom: 28px;
    color: #69776f;
    font-size: .78rem;
}

.article-breadcrumbs a,
.dpe-back-to-press a {
    color: var(--green-dark);
    font-weight: 700;
}

.article-breadcrumbs a:hover,
.dpe-back-to-press a:hover {
    color: #8a6b2f;
    text-decoration: underline;
}

.dpe-article {
    max-width: 900px;
    margin: 0 auto;
}

.dpe-article-header {
    margin-bottom: 28px;
    text-align: center;
}

.dpe-article-header h1 {
    margin: 16px 0 14px;
    color: var(--green-dark);
    font: 700 clamp(2rem, 5vw, 3.6rem)/1.2 Cinzel, Georgia, serif;
    letter-spacing: -.025em;
    overflow-wrap: anywhere;
}

.dpe-article-byline {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 9px;
    color: #69776f;
    font-size: .82rem;
}

.dpe-article-featured-image {
    margin: 0 0 36px;
}

.dpe-article-featured-image img {
    width: 100%;
    max-height: 570px;
    border-radius: 16px;
    object-fit: cover;
}

.dpe-article-featured-image figcaption {
    margin-top: 9px;
    color: #687169;
    font-size: .76rem;
    text-align: center;
}

.dpe-article-body {
    max-width: 760px;
    margin-inline: auto;
    color: #34443b;
    font-size: 1.03rem;
    line-height: 1.85;
    overflow-wrap: anywhere;
}

.dpe-article-body p {
    margin: 0 0 1.3em;
}

.dpe-article-body h2,
.dpe-article-body h3,
.dpe-article-body h4 {
    margin: 1.7em 0 .6em;
    color: var(--green-dark);
    font-family: Cinzel, Georgia, serif;
    line-height: 1.35;
}

.dpe-article-body ul,
.dpe-article-body ol {
    margin: 0 0 1.3em;
    padding-left: 1.5em;
}

.dpe-article-body blockquote {
    margin: 1.7em 0;
    padding: 8px 0 8px 22px;
    border-left: 3px solid var(--gold);
    color: #4e6156;
    font-size: 1.08em;
}

.dpe-article-body a {
    color: var(--green-dark);
    text-decoration: underline;
    text-decoration-color: var(--gold);
    text-underline-offset: 3px;
}

.dpe-article-body img,
.dpe-article-body video,
.dpe-article-body iframe,
.dpe-article-body embed {
    max-width: 100%;
}

.dpe-article-body figure {
    max-width: 100%;
    margin: 1.6em auto;
}

.dpe-article-body figcaption {
    color: #687169;
    font-size: .78rem;
    text-align: center;
}

.dpe-article-body .wp-block-table {
    max-width: 100%;
    overflow-x: auto;
}

.dpe-article-body table {
    width: 100%;
    border-collapse: collapse;
}

.dpe-article-body th,
.dpe-article-body td {
    padding: 10px 12px;
    border: 1px solid rgba(23, 74, 57, .18);
    text-align: left;
}

.dpe-article-body th {
    background: #f2f3eb;
    color: var(--green-dark);
}

.dpe-article-share {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
    margin: 32px auto 0;
    padding-top: 18px;
    border-top: 1px solid var(--line);
    color: #526359;
    font-size: .8rem;
}

.dpe-article-share > span {
    margin-right: 4px;
    font-weight: 700;
}

.dpe-article-share a {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    padding: 7px 12px;
    border: 1px solid rgba(23, 74, 57, .2);
    border-radius: 999px;
    background: #fff;
    color: var(--green-dark);
    font-weight: 700;
}

.dpe-article-share a:hover {
    border-color: var(--gold);
}

.dpe-back-to-press {
    max-width: 900px;
    margin: 28px auto 0;
}

.dpe-related-articles {
    margin-top: 54px;
    padding-top: 30px;
    border-top: 1px solid var(--line);
}

.dpe-related-articles > h2 {
    margin: 0 0 20px;
    color: var(--green-dark);
    font: 700 clamp(1.5rem, 3vw, 2rem)/1.3 Cinzel, Georgia, serif;
}

.dpe-related-articles h3 {
    font-size: .95rem;
}

/* Generic Page and archive fallbacks. */
.dpe-page-content,
.dpe-fallback-single,
.dpe-fallback-card,
.dpe-empty-state {
    border: 1px solid rgba(23, 74, 57, .13);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(26, 47, 35, .05);
}

.dpe-page-content,
.dpe-fallback-single {
    padding: clamp(24px, 5vw, 52px);
}

.dpe-page-body,
.dpe-fallback-single .entry-content {
    max-width: 900px;
    color: #34443b;
    font-size: 1rem;
    line-height: 1.8;
    overflow-wrap: anywhere;
}

.dpe-page-body p,
.dpe-fallback-single .entry-content p {
    margin: 0 0 1.2em;
}

.dpe-page-body h2,
.dpe-page-body h3,
.dpe-page-body h4,
.dpe-fallback-single .entry-content h2,
.dpe-fallback-single .entry-content h3,
.dpe-fallback-single .entry-content h4 {
    color: var(--green-dark);
}

.dpe-page-body a,
.dpe-fallback-single .entry-content a {
    color: var(--green-dark);
    text-decoration: underline;
    text-decoration-color: var(--gold);
    text-underline-offset: 3px;
}

.dpe-page-body img,
.dpe-page-body iframe,
.dpe-page-body video,
.dpe-page-body embed,
.dpe-fallback-single .entry-content img,
.dpe-fallback-single .entry-content iframe,
.dpe-fallback-single .entry-content video,
.dpe-fallback-single .entry-content embed {
    max-width: 100%;
}

.dpe-index-list {
    display: grid;
    gap: 18px;
}

.dpe-fallback-card {
    display: grid;
    grid-template-columns: minmax(0, 260px) minmax(0, 1fr);
    overflow: hidden;
}

.dpe-fallback-card-image {
    display: block;
    min-height: 190px;
    background: #e8eee8;
}

.dpe-fallback-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dpe-fallback-card-copy {
    padding: 23px 26px;
}

.dpe-fallback-card-copy time {
    color: #69776f;
    font-size: .75rem;
}

.dpe-fallback-card-copy h2,
.dpe-fallback-single h2 {
    margin: 8px 0 10px;
    color: var(--green-dark);
    font: 700 1.25rem/1.4 Cinzel, Georgia, serif;
}

.dpe-fallback-card-copy .entry-content {
    color: #59645c;
    line-height: 1.7;
}

.dpe-fallback-card-copy .entry-content p {
    margin: 0;
}

.dpe-fallback-card-copy a:hover {
    color: #8a6b2f;
}

.dpe-fallback-pagination {
    display: flex;
    justify-content: center;
}

.dpe-fallback-pagination .nav-links {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
}

.page-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 24px;
}

/* Branded not-found content; the WordPress 404 response is left intact. */
.dpe-404-page {
    display: flex;
    min-height: 58vh;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.dpe-404-code {
    color: var(--gold);
    font: 700 clamp(4rem, 12vw, 8rem)/1 Cinzel, Georgia, serif;
    letter-spacing: .04em;
}

.dpe-404-page .eyebrow {
    margin-top: 12px;
}

.dpe-404-page h1 {
    max-width: 780px;
    margin: 12px 0;
    color: var(--green-dark);
    font: 700 clamp(1.8rem, 4.5vw, 3.2rem)/1.2 Cinzel, Georgia, serif;
}

.dpe-404-page > p {
    max-width: 590px;
    margin: 0;
    color: #59645c;
    font-size: 1rem;
    line-height: 1.75;
}

.dpe-404-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 25px;
}

.dpe-404-search {
    width: min(100%, 520px);
    margin-top: 30px;
}

.dpe-404-search p {
    margin: 0 0 9px;
    color: #59645c;
    font-size: .82rem;
}

.dpe-404-search .search-form {
    display: flex;
    gap: 8px;
}

.dpe-404-search .search-field {
    flex: 1;
    min-width: 0;
    min-height: 45px;
    padding: 9px 12px;
    border: 1px solid rgba(23, 74, 57, .22);
    border-radius: 8px;
    background: #fff;
    color: #263a30;
    font: inherit;
}

.dpe-404-search .search-submit {
    min-height: 45px;
    padding: 8px 14px;
    border: 0;
    border-radius: 8px;
    background: var(--green-dark);
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-weight: 700;
}

.dpe-newsroom a:focus-visible,
.dpe-single-article a:focus-visible,
.dpe-index-page a:focus-visible,
.dpe-page-fallback a:focus-visible,
.dpe-404-page a:focus-visible,
.dpe-404-page button:focus-visible,
.dpe-404-page input:focus-visible {
    outline: 3px solid #b89548;
    outline-offset: 3px;
}

@media (max-width: 1100px) {
    .newsroom-grid,
    .dpe-related-articles .newsroom-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .newsroom-featured {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .newsroom-featured-media {
        min-height: 300px;
    }
}

body[data-page="past-events"] .events-hero-copy,
body[data-page="past-events"] .events-hero-note {
    min-width: 0;
    max-width: 100%;
}

@media (max-width: 640px) {
    .dpe-newsroom,
    .dpe-index-page,
    .dpe-page-fallback,
    .dpe-single-article,
    .dpe-404-page {
        width: min(100% - 32px, var(--content-width));
        padding-block: 36px 52px;
    }

    .newsroom-featured {
        grid-template-columns: 1fr;
    }

    .newsroom-featured-media {
        min-height: 240px;
        height: 56vw;
        max-height: 360px;
    }

    .newsroom-featured-copy {
        padding: 24px;
    }

    .newsroom-grid,
    .dpe-related-articles .newsroom-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .newsroom-card-media {
        height: 220px;
    }

    .dpe-fallback-card {
        grid-template-columns: 1fr;
    }

    .dpe-fallback-card-image {
        height: 220px;
    }

    .dpe-article-body {
        font-size: .96rem;
    }

    .dpe-article-share {
        align-items: flex-start;
    }
}

@media (max-width: 400px) {
    .dpe-newsroom,
    .dpe-index-page,
    .dpe-page-fallback,
    .dpe-single-article,
    .dpe-404-page {
        width: calc(100% - 28px);
    }

    .newsroom-filter {
        min-height: 38px;
        padding-inline: 11px;
        font-size: .72rem;
    }

    .newsroom-search {
        gap: 6px;
    }

    .newsroom-search button {
        min-width: 76px;
        padding-inline: 10px;
    }

    .dpe-404-actions {
        width: 100%;
        flex-direction: column;
    }
}

/* Styles for the Press page's dynamic WordPress article query. */
body[data-page="press"] .press-article-copy {
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: space-between;
    gap: 26px;
}

body[data-page="press"] .press-article-copy > div > div:first-child {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 17px;
}

body[data-page="press"] .press-grid .press-article .press-article-copy .press-article-summary {
    display: block;
    margin: 0;
}

body[data-page="press"] .press-category-updates {
    border-color: rgba(39, 105, 128, .22);
    background: #eaf3f5;
    color: #28677d;
}

body[data-page="press"] .press-category-blog {
    border-color: rgba(69, 103, 158, .22);
    background: #edf1fa;
    color: #405f99;
}

body[data-page="press"] .press-category-statement,
body[data-page="press"] .press-category-default {
    border-color: rgba(23, 74, 57, .18);
    background: #edf3ef;
    color: #315c49;
}

body[data-page="press"] .press-card-image {
    overflow: hidden;
    border-radius: 10px;
    background: #f2f0e8;
}

body[data-page="press"] .press-card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

body[data-page="press"] .press-card-image {
    aspect-ratio: 16 / 9;
    margin: -25px -25px 21px;
    border-radius: 13px 13px 0 0;
}

body[data-page="press"] .press-card-image + .press-article-copy {
    min-height: 230px;
}

body[data-page="press"] .press-empty-page {
    margin: 30px 0 0;
    color: #59645c;
}

body[data-page="press"] .press-empty-page a {
    color: var(--green-dark);
    font-weight: 700;
}

body[data-page="press"] .press-pagination {
    margin-top: 30px;
}

body[data-page="press"] .press-pagination ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body[data-page="press"] .press-pagination a,
body[data-page="press"] .press-pagination span {
    display: inline-flex;
    min-width: 40px;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border: 1px solid rgba(23, 74, 57, .16);
    border-radius: 7px;
    background: #fff;
    color: var(--green-dark);
    font-size: .8rem;
    font-weight: 700;
    text-decoration: none;
}

body[data-page="press"] .press-pagination .current {
    border-color: var(--green-dark);
    background: var(--green-dark);
    color: #fff;
}

body[data-page="press"] .press-kit-button[aria-disabled="true"] {
    cursor: default;
    opacity: .82;
}

@media (max-width: 480px) {
    body[data-page="press"] .press-card-image {
        margin: -22px -22px 19px;
    }
}

@media (max-width: 1100px) {
    .main-menu {
        gap: 12px;
    }

    .main-menu a {
        font-size: .72rem;
    }
}

@media (max-width: 860px) {
    .desktop-navigation {
        display: none;
    }

    .mobile-navigation:not([hidden]) {
        position: absolute;
        z-index: 2;
        top: 100%;
        right: 0;
        left: 0;
        display: block;
        padding: 10px 24px 16px;
        border-bottom: 1px solid var(--line);
        background: #fff;
        box-shadow: 0 16px 24px rgba(23, 46, 33, .08);
    }

    .mobile-menu {
        display: grid;
        gap: 2px;
    }
}

@media (max-width: 480px) {
    .header-inner {
        gap: 10px;
    }

    .brand-caption {
        font-size: .52rem;
        letter-spacing: .09em;
    }
}

/* Approved single article layout, scoped to WordPress single posts. */
body.single-post .dpe-single-article {
    width: min(var(--content-width), calc(100% - 48px));
    padding-block: 35px 68px;
}

body.single-post .single-article {
    max-width: 940px;
    margin-inline: auto;
}

body.single-post .article-breadcrumbs {
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
    color: #737b73;
    font-size: .76rem;
}

body.single-post .article-breadcrumbs a { color: #456756; }

body.single-post .article-breadcrumbs a:hover {
    color: #8a6b2f;
    text-decoration: underline;
    text-underline-offset: 3px;
}

body.single-post .article-header { max-width: 840px; }

body.single-post .article-meta-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 15px;
    margin-bottom: 12px;
}

body.single-post .article-meta-row .press-date,
body.single-post .related-card-meta time {
    color: #687169;
    font-size: .78rem;
}

body.single-post .dpe-single-article .press-category {
    display: inline-flex;
    min-height: 27px;
    align-items: center;
    padding: 4px 10px;
    border: 1px solid rgba(184, 149, 72, .35);
    border-radius: 999px;
    background: #f7f0dc;
    color: #75591d;
    font-size: .67rem;
    font-weight: 800;
}

body.single-post .dpe-single-article .press-category-diplomatic {
    border-color: rgba(29, 105, 75, .22);
    background: #eaf3ee;
    color: #24674b;
}

body.single-post .dpe-single-article .press-category-banking {
    border-color: rgba(39, 105, 128, .22);
    background: #eaf3f5;
    color: #28677d;
}

body.single-post .dpe-single-article .press-category-statement,
body.single-post .dpe-single-article .press-category-default {
    border-color: rgba(23, 74, 57, .18);
    background: #edf3ef;
    color: #315c49;
}

body.single-post .article-header h1 {
    max-width: 760px;
    margin: 0;
    color: #123c30;
    font: 400 clamp(26px, 2vw, 28px)/1.32 Georgia, "Times New Roman", serif;
    letter-spacing: -.015em;
    text-align: left;
    text-transform: none;
    text-wrap: pretty;
}

body.single-post .article-portal-action {
    max-width: 840px;
    margin: 18px 0 0;
}

body.single-post .article-portal-button {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    padding: 12px 18px;
    border: 1px solid rgba(227, 207, 146, .72);
    border-radius: 10px;
    background: var(--green-dark);
    color: #fffdf5;
    font-size: .78rem;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 7px 18px rgba(12, 53, 42, .14);
    transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

body.single-post .article-portal-button:hover {
    transform: translateY(-2px);
    border-color: var(--gold-light);
    background: var(--green);
    color: #fffdf5;
    box-shadow: 0 10px 22px rgba(12, 53, 42, .2);
}

body.single-post .article-portal-button:focus-visible {
    outline: 3px solid #e8c866;
    outline-offset: 4px;
}

body.single-post .article-featured-image {
    display: flex;
    width: min(100%, 760px);
    flex-direction: column;
    align-items: center;
    margin: 23px auto 0;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.single-post .article-featured-image img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 510px;
    border-radius: 10px;
    object-fit: contain;
}

body.single-post .article-featured-image.is-emblem {
    width: min(100%, 430px);
    padding: 24px;
    border: 1px solid rgba(23, 74, 57, .12);
    border-radius: 15px;
    background: #f5f2e8;
    box-shadow: 0 10px 26px rgba(25, 47, 35, .06);
}

body.single-post .article-featured-image.is-emblem img {
    width: min(190px, 68vw);
    max-height: 190px;
    border-radius: 0;
}

body.single-post .article-featured-image.is-default-banner { max-width: 760px; }

body.single-post .article-featured-image figcaption {
    margin-top: 12px;
    color: #626b61;
    font-size: .76rem;
    text-align: center;
}

body.single-post .article-body {
    max-width: 760px;
    margin: 22px auto 0;
    color: #3f4942;
    font-size: 1rem;
    line-height: 1.78;
}

body.single-post .article-body p { margin: 0 0 1em; }

body.single-post .article-body h2,
body.single-post .article-body h3 {
    margin: 1.8em 0 .55em;
    color: #123c30;
    font-family: Cinzel, Georgia, serif;
    line-height: 1.35;
}

body.single-post .article-body h2 { font-size: 1.55rem; }
body.single-post .article-body h3 { font-size: 1.2rem; }

body.single-post .article-body blockquote {
    margin: 1.7em 0;
    padding: 8px 0 8px 21px;
    border-left: 3px solid #b89548;
    color: #244b3b;
    font: 600 1.12rem/1.75 Cinzel, Georgia, serif;
}

body.single-post .article-body a {
    color: #176342;
    text-decoration: underline;
    text-decoration-color: #b89548;
    text-underline-offset: 3px;
}

body.single-post .article-share {
    display: flex;
    max-width: 840px;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 18px 24px;
    margin: 30px auto 0;
    padding: 20px 0;
    border-top: 1px solid rgba(23, 74, 57, .13);
    border-bottom: 1px solid rgba(23, 74, 57, .13);
}

body.single-post .article-share h2,
body.single-post .related-heading h2 {
    margin: 5px 0 0;
    color: #123c30;
    font: 700 1.28rem/1.35 Georgia, "Times New Roman", serif;
    text-transform: none;
}

body.single-post .article-share-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

body.single-post .share-button {
    display: inline-grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid rgba(23, 74, 57, .16);
    border-radius: 11px;
    background: #fff;
    color: #244b3b;
    cursor: pointer;
    transition: transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
}

body.single-post .share-button svg { width: 19px; height: 19px; }

body.single-post .share-button:hover {
    transform: translateY(-2px);
    border-color: #b89548;
    background: #f7f0dc;
    color: #123c30;
}

body.single-post .share-facebook:hover { color: #2767c7; }
body.single-post .share-whatsapp:hover { color: #16866b; }
body.single-post .share-x:hover { color: #111; }
body.single-post .share-linkedin:hover { color: #0a66c2; }
body.single-post .share-threads:hover { color: #443d52; }
body.single-post .share-instagram:hover { color: #a83d74; }
body.single-post .share-copy:hover { color: #75591d; }

body.single-post .share-button:focus-visible,
body.single-post .article-back-link:focus-visible,
body.single-post .related-card a:focus-visible {
    outline: 3px solid #e8c866;
    outline-offset: 3px;
}

body.single-post .article-share-status {
    flex-basis: 100%;
    min-height: 1.25em;
    margin: -10px 0 0;
    color: #456756;
    font-size: .78rem;
}

body.single-post .article-share-status:empty { display: none; }

body.single-post .related-articles {
    max-width: 940px;
    margin: 32px auto 0;
}

body.single-post .related-heading { margin-bottom: 17px; }

body.single-post .related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

body.single-post .related-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 20px;
    border: 1px solid rgba(23, 74, 57, .13);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(25, 47, 35, .05);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

body.single-post .related-card:hover {
    transform: translateY(-3px);
    border-color: rgba(184, 149, 72, .45);
    box-shadow: 0 12px 28px rgba(25, 47, 35, .08);
}

body.single-post .related-card-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 12px;
}

body.single-post .related-card h3 {
    margin: 14px 0 18px;
    color: #123c30;
    font: 600 1.05rem/1.4 Georgia, "Times New Roman", serif;
    text-transform: none;
}

body.single-post .related-card > a {
    margin-top: auto;
    color: #82632a;
    font-size: .78rem;
    font-weight: 800;
}

body.single-post .related-card > a:hover {
    color: #174a39;
    text-decoration: underline;
    text-underline-offset: 3px;
}

body.single-post .article-back-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 20px;
    color: #456756;
    font-size: .82rem;
    font-weight: 700;
}

body.single-post .article-back-link:hover {
    color: #8a6b2f;
    text-decoration: underline;
    text-underline-offset: 3px;
}

@media (max-width: 900px) {
    body.single-post .related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
    body.single-post .dpe-single-article {
        width: min(100% - 32px, var(--content-width));
        padding-block: 27px 52px;
    }

    body.single-post .article-header h1 {
        font-size: clamp(22px, 6vw, 24px);
        line-height: 1.3;
    }

    body.single-post .article-featured-image { margin-top: 19px; }

    body.single-post .article-featured-image.is-emblem { padding: 18px; }

    body.single-post .article-featured-image.is-emblem img {
        width: min(170px, 64vw);
        max-height: 170px;
    }

    body.single-post .article-body { margin-top: 20px; font-size: 1rem; }

    body.single-post .article-share { align-items: flex-start; }

    body.single-post .related-articles { margin-top: 34px; }

    body.single-post .related-grid { grid-template-columns: 1fr; gap: 16px; }
}

/* Press listing card presentation. */
body[data-page="press"] .press-kit-button {
    border: 1px solid rgba(227, 207, 146, .72);
    border-radius: 10px;
    background: var(--green-dark);
    color: #fffdf5;
    box-shadow: 0 7px 18px rgba(12, 53, 42, .14);
    transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

body[data-page="press"] .press-kit-button:hover {
    transform: translateY(-2px);
    border-color: var(--gold-light);
    background: var(--green);
    box-shadow: 0 10px 22px rgba(12, 53, 42, .2);
}

body[data-page="press"] .press-article-copy {
    position: relative;
    isolation: isolate;
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    justify-content: space-between;
    gap: 23px;
}

body[data-page="press"] .press-card-watermark {
    position: absolute;
    z-index: 0;
    right: 4px;
    bottom: -2px;
    width: 104px;
    height: 104px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.15;
    opacity: .045;
    pointer-events: none;
}

body[data-page="press"] .press-card-watermark-release { color: #9a762e; }
body[data-page="press"] .press-card-watermark-diplomatic { color: #a64c4c; }
body[data-page="press"] .press-card-watermark-banking { color: #2f7b70; }
body[data-page="press"] .press-card-watermark-statement { color: #567c4e; }

body[data-page="press"] .press-article-summary,
body[data-page="press"] .press-read-more {
    position: relative;
    z-index: 1;
}

body[data-page="press"] .press-article-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 14px;
    margin-bottom: 14px;
}

body[data-page="press"] .press-category-group {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 9px;
}

body[data-page="press"] .press-category-icon {
    display: inline-grid;
    width: 36px;
    height: 36px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid transparent;
    border-radius: 10px;
}

body[data-page="press"] .press-category-icon svg {
    display: block;
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.6;
}

body[data-page="press"] .press-category-icon-release {
    border-color: rgba(184, 149, 72, .18);
    background: #fbf6e8;
    color: #95712b;
}

body[data-page="press"] .press-category-icon-diplomatic {
    border-color: rgba(166, 76, 76, .16);
    background: #fbf1f0;
    color: #a64c4c;
}

body[data-page="press"] .press-category-icon-banking {
    border-color: rgba(47, 123, 112, .16);
    background: #edf6f3;
    color: #2f7b70;
}

body[data-page="press"] .press-category-icon-statement {
    border-color: rgba(86, 124, 78, .16);
    background: #f0f5ec;
    color: #567c4e;
}

body[data-page="press"] .press-article h3 {
    margin: 0 0 10px;
    color: var(--green-dark);
    font-family: "Plus Jakarta Sans", Arial, sans-serif;
    font-size: 1.06rem;
    font-weight: 700;
    font-variant: normal;
    letter-spacing: normal;
    line-height: 1.42;
    text-transform: none;
}

body[data-page="press"] .press-article h3 a {
    color: inherit;
    text-decoration: none;
}

body[data-page="press"] .press-article h3 a:hover { color: #75591d; }

body[data-page="press"] .press-article p {
    max-width: 880px;
    font-size: .88rem;
    line-height: 1.72;
}

body[data-page="press"] .press-read-more {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 9px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #8a6b2f;
    cursor: pointer;
    font-size: .77rem;
    font-weight: 800;
    text-align: left;
    transition: color .18s ease, gap .18s ease;
}

body[data-page="press"] .press-read-more:hover {
    gap: 12px;
    color: var(--green);
}

body[data-page="press"] .press-read-more svg {
    display: block;
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}

body[data-page="press"] .press-category-icon-default {
    border-color: rgba(23, 74, 57, .14);
    background: #f2f4f1;
    color: #52665b;
}

body[data-page="press"] .press-card-watermark-default {
    color: #607468;
}

body[data-page="press"] .press-article h3 a:focus-visible,
body[data-page="press"] .press-read-more:focus-visible,
body[data-page="press"] .press-kit-button:focus-visible {
    outline: 3px solid #e8c866;
    outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
    body[data-page="press"] .press-article,
    body[data-page="press"] .press-article:hover,
    body[data-page="press"] .press-article:focus-within,
    body[data-page="press"] .press-kit-button,
    body[data-page="press"] .press-read-more,
    body.single-post .article-portal-button {
        transform: none;
        transition: none;
    }
}

/* Approved WordPress search page. */
body[data-page="search"] {
    min-height: 100vh;
    background: var(--ivory);
    color: #243b2e;
    font-family: "Plus Jakarta Sans", Arial, sans-serif;
}

body[data-page="search"] > main {
    width: min(var(--content-width), calc(100% - 48px));
    max-width: none;
    flex: 1 0 auto;
    margin-inline: auto;
    padding-block: clamp(48px, 8vw, 88px) 76px;
    color: #263a30;
}

body[data-page="search"] .search-page {
    max-width: 980px;
    margin-inline: auto;
}

body[data-page="search"] .search-intro {
    max-width: 760px;
    margin: 0 auto 30px;
    text-align: center;
}

body[data-page="search"] .search-intro h1 {
    margin: 10px 0 12px;
    color: var(--green-dark);
    font: 700 clamp(2rem, 5vw, 3.25rem)/1.18 Cinzel, Georgia, serif;
    text-wrap: balance;
}

body[data-page="search"] .search-intro p {
    margin: 0;
    color: #59645c;
    font-size: .98rem;
    line-height: 1.7;
}

body[data-page="search"] .site-search-form {
    position: relative;
    z-index: 2;
    max-width: 820px;
    margin-inline: auto;
}

body[data-page="search"] .visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    clip-path: inset(50%);
}

body[data-page="search"] .search-field-wrap {
    position: relative;
    display: flex;
    min-height: 68px;
    align-items: center;
    gap: 15px;
    padding: 0 20px;
    border: 1px solid rgba(23, 74, 57, .2);
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 13px 32px rgba(23, 53, 39, .08);
    transition: border-color .18s ease, box-shadow .18s ease;
}

body[data-page="search"] .search-field-wrap:focus-within {
    border-color: var(--gold);
    box-shadow: 0 0 0 4px rgba(184, 149, 72, .14), 0 14px 32px rgba(23, 53, 39, .1);
}

body[data-page="search"] .search-field-icon {
    width: 23px;
    height: 23px;
    flex: 0 0 auto;
    fill: none;
    stroke: #8a6b2f;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

body[data-page="search"] #site-search-input {
    width: 100%;
    min-width: 0;
    height: 66px;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--green-dark);
    font: 500 1.05rem "Plus Jakarta Sans", Arial, sans-serif;
}

body[data-page="search"] #site-search-input::placeholder { color: #8a928b; }

body[data-page="search"] #site-search-input:focus-visible { outline: 0; }

body[data-page="search"] .search-clear {
    display: grid;
    width: 36px;
    height: 36px;
    flex: 0 0 auto;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: #f4f1e8;
    color: var(--green);
    cursor: pointer;
}

body[data-page="search"] .search-clear[hidden] { display: none; }
body[data-page="search"] .search-clear:hover { background: #e9dfbf; }

body[data-page="search"] .search-clear svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-width: 1.8;
}

body[data-page="search"] .search-suggestions {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    left: 0;
    z-index: 5;
    max-height: 360px;
    overflow-y: auto;
    margin: 0;
    padding: 8px;
    border: 1px solid rgba(23, 74, 57, .14);
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 18px 38px rgba(23, 53, 39, .16);
    list-style: none;
}

body[data-page="search"] .search-suggestions[hidden] { display: none; }

body[data-page="search"] .search-suggestion {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 12px;
    border-radius: 8px;
    color: var(--green-dark);
    cursor: pointer;
}

body[data-page="search"] .search-suggestion:hover,
body[data-page="search"] .search-suggestion.is-active { background: #f6f2e6; }

body[data-page="search"] .search-suggestion:focus-visible {
    outline: 3px solid #e8c866;
    outline-offset: -2px;
}

body[data-page="search"] .search-suggestion-title {
    font-size: .86rem;
    font-weight: 700;
    line-height: 1.4;
}

body[data-page="search"] .search-suggestion-type {
    flex: 0 0 auto;
    color: #8a6b2f;
    font-size: .68rem;
    font-weight: 700;
}

body[data-page="search"] .search-suggestion-empty {
    padding: 13px 12px;
    color: #687169;
    font-size: .82rem;
}

body[data-page="search"] .search-status {
    min-height: 24px;
    margin: 22px 2px 14px;
    color: #687169;
    font-size: .8rem;
}

body[data-page="search"] .search-results {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

body[data-page="search"] .search-result-card {
    min-width: 0;
    padding: 23px;
    border: 1px solid rgba(23, 74, 57, .13);
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 9px 22px rgba(26, 47, 35, .055);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

body[data-page="search"] .search-result-card:hover {
    transform: translateY(-2px);
    border-color: rgba(184, 149, 72, .55);
    box-shadow: 0 14px 26px rgba(26, 47, 35, .1);
}

body[data-page="search"] .search-result-type {
    display: inline-block;
    margin-bottom: 10px;
    color: #8a6b2f;
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

body[data-page="search"] .search-result-date {
    float: right;
    color: #687169;
    font-size: .72rem;
}

body[data-page="search"] .search-result-card h2 {
    clear: both;
    margin: 0 0 9px;
    color: var(--green-dark);
    font: 700 1.02rem/1.45 "Plus Jakarta Sans", Arial, sans-serif;
}

body[data-page="search"] .search-result-card h2 a:hover { color: #8a6b2f; }

body[data-page="search"] .search-result-card a:focus-visible {
    border-radius: 2px;
    outline: 3px solid #e8c866;
    outline-offset: 3px;
}

body[data-page="search"] .search-result-card p {
    margin: 0;
    color: #59645c;
    font-size: .83rem;
    line-height: 1.7;
}

body[data-page="search"] .search-empty,
body[data-page="search"] .search-welcome {
    margin: 24px 0;
    padding: 20px;
    border: 1px solid rgba(184, 149, 72, .25);
    border-radius: 12px;
    background: #fffdf6;
    color: #59645c;
    text-align: center;
}

body[data-page="search"] .search-pagination {
    display: flex;
    justify-content: center;
    margin-top: 28px;
}

body[data-page="search"] .search-pagination .nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

body[data-page="search"] .search-pagination a,
body[data-page="search"] .search-pagination span {
    display: inline-flex;
    min-width: 40px;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border: 1px solid rgba(23, 74, 57, .16);
    border-radius: 7px;
    background: #fff;
    color: var(--green-dark);
    font-size: .8rem;
    font-weight: 700;
}

body[data-page="search"] .search-pagination .current {
    border-color: var(--green-dark);
    background: var(--green-dark);
    color: #fff;
}

@media (max-width: 600px) {
    body[data-page="search"] > main {
        width: min(100% - 32px, var(--content-width));
        padding-block: 44px 56px;
    }

    body[data-page="search"] .search-intro { margin-bottom: 23px; }

    body[data-page="search"] .search-field-wrap {
        min-height: 60px;
        gap: 11px;
        padding-inline: 15px;
    }

    body[data-page="search"] #site-search-input {
        height: 58px;
        font-size: .95rem;
    }

    body[data-page="search"] .search-results {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }

    body[data-page="search"] .search-result-card { padding: 20px; }

    body[data-page="search"] .search-suggestion {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }
}

@media (max-width: 380px) {
    .header-actions { gap: 6px; }
    .header-utility-actions { gap: 5px; }
    .header-actions .icon-button { width: 44px; height: 44px; }
}

@media (max-width: 480px) {
    .header-inner .brand {
        min-width: 0;
        flex: 1 1 auto;
    }

    .header-inner .brand > span,
    .header-inner .brand-name {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .header-inner .brand-name { white-space: nowrap; }

    .header-actions { flex: 0 0 auto; }
}

@media (prefers-reduced-motion: reduce) {
    body[data-page="search"] .search-field-wrap,
    body[data-page="search"] .search-result-card {
        transition: none;
    }

    body[data-page="search"] .search-result-card:hover { transform: none; }
}

/* Editorial package cards with subdued Ghana map watermarks. */
body[data-page="register"] .package-section {
    position: relative;
    scroll-margin-top: 100px;
}

body[data-page="register"] .package-anchor-alias {
    position: absolute;
    top: 0;
    left: 0;
    scroll-margin-top: 100px;
}

body[data-page="register"] .package-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

body[data-page="register"] .package-card {
    isolation: isolate;
    min-height: 0;
    gap: 16px;
    padding: 22px 20px 20px;
    border: 1px solid rgba(49, 74, 59, .18);
    border-radius: 16px;
    background: #fffefa;
    box-shadow: 0 9px 24px rgba(25, 47, 35, .055);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

body[data-page="register"] .package-card::after {
    position: absolute;
    z-index: 0;
    right: 3%;
    bottom: 66px;
    width: 54%;
    height: 49%;
    border-radius: inherit;
    background-image: url("../images/GhanaMap.png");
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: contain;
    content: "";
    opacity: .075;
    pointer-events: none;
    -webkit-mask-image: radial-gradient(ellipse at 82% 84%, #000 27%, transparent 82%);
    mask-image: radial-gradient(ellipse at 82% 84%, #000 27%, transparent 82%);
}

body[data-page="register"] .package-popular {
    z-index: 2;
}

body[data-page="register"] .package-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(25, 47, 35, .09);
}

body[data-page="register"] .package-card-green {
    border-color: rgba(0, 107, 63, .28);
    background: linear-gradient(145deg, #fffefa 0%, #fffefa 70%, #f4f8f3 100%);
}

body[data-page="register"] .package-card-red {
    border-color: rgba(206, 17, 38, .25);
    background: linear-gradient(145deg, #fff 0%, #fff 70%, #faf7f4 100%);
}

body[data-page="register"] .package-card-yellow {
    border: 2px solid rgba(252, 209, 22, .82);
    background: linear-gradient(145deg, #fffefa 0%, #fffefa 70%, #faf5e8 100%);
    box-shadow: 0 11px 27px rgba(151, 119, 28, .09);
}

body[data-page="register"] .package-card-gold {
    border-color: rgba(196, 154, 56, .48);
    background: linear-gradient(145deg, #fff 0%, #fff 70%, #faf7ee 100%);
}

body[data-page="register"] .package-card-content {
    position: relative;
    z-index: 1;
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    gap: 10px;
}

body[data-page="register"] .package-card-topline {
    display: flex;
    min-height: 42px;
    align-items: flex-start;
    justify-content: flex-start;
}

body[data-page="register"] .package-card-label {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 9px;
}

body[data-page="register"] .package-icon {
    display: grid;
    width: 36px;
    height: 36px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid rgba(0, 107, 63, .15);
    border-radius: 10px;
    background: #edf5f0;
    color: #006B3F;
}

body[data-page="register"] .package-icon svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.6;
}

body[data-page="register"] .package-card-red .package-icon {
    border-color: rgba(206, 17, 38, .14);
    background: #fbf0f1;
    color: #CE1126;
}

body[data-page="register"] .package-card-yellow .package-icon {
    border-color: rgba(252, 209, 22, .55);
    background: #fff8dc;
    color: #8A7000;
}

body[data-page="register"] .package-card-gold .package-icon {
    border-color: rgba(196, 154, 56, .3);
    background: #f8f3e5;
    color: #80620E;
}

body[data-page="register"] .package-card .package-tier {
    max-width: 150px;
    border-color: rgba(49, 74, 59, .12);
    background: #f5f6f1;
    color: #526156;
    font-size: .59rem;
    line-height: 1.4;
    white-space: normal;
}

body[data-page="register"] .package-card-red .package-tier {
    border-color: rgba(206, 17, 38, .16);
    background: #fbf0f1;
    color: #A81728;
}

body[data-page="register"] .package-card-yellow .package-tier,
body[data-page="register"] .package-card-yellow .package-popular {
    border-color: rgba(252, 209, 22, .72);
    background: #fff7d5;
    color: #705900;
}

body[data-page="register"] .package-card-gold .package-tier {
    border-color: rgba(196, 154, 56, .3);
    background: #f8f3e5;
    color: #755716;
}

body[data-page="register"] .package-card h3 {
    margin: 0;
    color: #263b30;
    font-size: 1.05rem;
    line-height: 1.4;
}

body[data-page="register"] .package-price {
    color: #745a24;
    font-size: 1.35rem;
    line-height: 1.3;
}

body[data-page="register"] .package-card-green .package-price {
    color: #006B3F;
}

body[data-page="register"] .package-card-red .package-price {
    color: #CE1126;
}

body[data-page="register"] .package-card-yellow .package-price {
    color: #806800;
}

body[data-page="register"] .package-card-gold .package-price {
    color: #80620E;
}

body[data-page="register"] .package-benefits {
    display: grid;
    gap: 0;
    padding: 3px 0 0;
    border: 0;
    background: transparent;
    color: #46534a;
    font-size: .71rem;
    line-height: 1.52;
}

body[data-page="register"] .package-benefits li {
    gap: 8px;
    padding: 7px 0;
    border-top: 1px solid rgba(49, 74, 59, .09);
}

body[data-page="register"] .package-benefits .fa-check {
    margin-top: 3px;
    color: #006B3F;
}

body[data-page="register"] .package-card-red .package-benefits .fa-check {
    color: #CE1126;
}

body[data-page="register"] .package-card-yellow .package-benefits .fa-check {
    color: #8A7000;
}

body[data-page="register"] .package-card-gold .package-benefits .fa-check {
    color: #80620E;
}

body[data-page="register"] .package-button {
    position: relative;
    z-index: 1;
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 0;
    border: 1px solid #006B3F;
    border-radius: 8px;
    background: #006B3F;
    color: #FFFFFF;
    font-size: .66rem;
    letter-spacing: .025em;
    line-height: 1.35;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}

body[data-page="register"] .package-card-actions {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 9px;
    margin-top: auto;
}

body[data-page="register"] .package-details-button {
    display: flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 9px 12px;
    border: 1px solid rgba(23, 74, 57, .24);
    border-radius: 8px;
    background: rgba(255, 255, 255, .78);
    color: #174a39;
    font-size: .7rem;
    font-weight: 800;
    line-height: 1.35;
    text-align: center;
    text-decoration: none;
    transition: border-color .18s ease, background-color .18s ease, color .18s ease;
}

body[data-page="register"] .package-details-button:hover {
    border-color: #b89548;
    background: #f8f2e2;
    color: #174a39;
}

body[data-page="register"] .package-details-button:focus-visible {
    outline: 3px solid #d3b45e;
    outline-offset: 3px;
}

body[data-page="register"] .package-button svg {
    width: 15px;
    height: 15px;
    flex: 0 0 auto;
    fill: none;
    stroke: #FFFFFF;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}

body[data-page="register"] .package-card-red .package-button {
    border-color: #CE1126;
    background: #CE1126;
    color: #FFFFFF;
}

body[data-page="register"] .package-card-yellow .package-button {
    border-color: #FCD116;
    background: #8A7000;
    color: #FFFFFF;
}

body[data-page="register"] .package-card-gold .package-button {
    border-color: #C49A38;
    background: #80620E;
    color: #FFFFFF;
}

body[data-page="register"] .package-button:hover {
    border-color: #006B3F;
    background: #005633;
    color: #FFFFFF;
    box-shadow: 0 5px 12px rgba(31, 52, 40, .12);
}

body[data-page="register"] .package-card-red .package-button:hover {
    border-color: #CE1126;
    background: #A90E20;
    color: #FFFFFF;
}

body[data-page="register"] .package-card-yellow .package-button:hover {
    border-color: #FCD116;
    background: #705900;
    color: #FFFFFF;
}

body[data-page="register"] .package-card-gold .package-button:hover {
    border-color: #C49A38;
    background: #674E10;
    color: #FFFFFF;
}

body[data-page="register"] .package-button:focus-visible {
    outline: 3px solid #d3b45e;
    outline-offset: 3px;
    color: #FFFFFF;
}

@media (max-width: 1100px) {
    body[data-page="register"] .package-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1100px) {
    body[data-page="register"] .package-grid {
        gap: 18px;
    }
}

@media (max-width: 760px) {
    body[data-page="register"] .package-card {
        min-height: 0;
    }
}

@media (max-width: 560px) {
    body[data-page="register"] .package-grid {
        grid-template-columns: 1fr;
    }

    body[data-page="register"] .package-card {
        padding: 22px 20px 20px;
    }
}

@media (max-width: 360px) {
    body[data-page="register"] .package-card {
        padding-inline: 16px;
    }

    body[data-page="register"] .package-card-label {
        gap: 7px;
    }

    body[data-page="register"] .package-icon {
        width: 34px;
        height: 34px;
    }

    body[data-page="register"] .package-card .package-tier {
        max-width: 130px;
        padding-inline: 8px;
        font-size: .57rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    body[data-page="register"] .package-card,
    body[data-page="register"] .package-button,
    body[data-page="register"] .package-details-button {
        transition: none;
    }

    body[data-page="register"] .package-card:hover {
        transform: none;
    }
}

/* Single DPE Package detail pages. */
body.ambient-bg[data-page="single-package"] {
    min-height: 100vh;
    background: #f7f6f0;
    color: #263a30;
}

body.ambient-bg[data-page="single-package"] > main {
    flex: 1 0 auto;
    width: 100%;
}

body[data-page="single-package"] .single-package-main {
    padding-block: 48px 82px;
}

body[data-page="single-package"] .single-package-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin-bottom: 28px;
    color: #778078;
    font-size: .75rem;
}

body[data-page="single-package"] .single-package-breadcrumbs a {
    color: #174a39;
    font-weight: 700;
}

body[data-page="single-package"] .single-package-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 32px;
    padding: clamp(24px, 4vw, 44px);
    border: 1px solid rgba(23, 74, 57, .13);
    border-radius: 16px;
    background: #fffefa;
    box-shadow: 0 10px 28px rgba(26, 47, 35, .055);
}

body[data-page="single-package"] .single-package-heading h1 {
    margin: 8px 0 16px;
    color: #203b2d;
    font: 700 clamp(2.1rem, 5vw, 3.7rem)/1.12 Cinzel, Georgia, serif;
    letter-spacing: -.025em;
}

body[data-page="single-package"] .single-package-labels {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

body[data-page="single-package"] .single-package-labels > span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 10px;
    border: 1px solid rgba(23, 74, 57, .13);
    border-radius: 999px;
    background: #f5f6f1;
    color: #526156;
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .045em;
    text-transform: uppercase;
}

body[data-page="single-package"] .single-package-labels .single-package-popular {
    border-color: rgba(184, 149, 72, .42);
    background: #f4e8c4;
    color: #72551a;
}

body[data-page="single-package"] .single-package-heading-price {
    display: grid;
    flex: 0 0 auto;
    gap: 5px;
    text-align: right;
}

body[data-page="single-package"] .single-package-heading-price > span {
    color: #687169;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body[data-page="single-package"] .single-package-heading-price strong,
body[data-page="single-package"] .single-package-summary-price {
    color: #80620e;
    font-size: clamp(1.45rem, 3vw, 2rem);
    font-weight: 800;
    line-height: 1.25;
}

body[data-page="single-package"] .single-package-heading-price small {
    color: #687169;
    font-size: .74rem;
}

body[data-page="single-package"] .single-package-layout {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(270px, 3fr);
    grid-template-areas: "content summary";
    align-items: start;
    gap: clamp(24px, 3vw, 42px);
    padding-top: clamp(22px, 3vw, 34px);
}

body[data-page="single-package"] .single-package-layout-summary-only {
    grid-template-columns: minmax(0, 760px);
    grid-template-areas: "summary";
    justify-content: center;
}

body[data-page="single-package"] .single-package-content {
    grid-area: content;
    display: grid;
    min-width: 0;
    gap: 18px;
}

body[data-page="single-package"] .single-package-section,
body[data-page="single-package"] .single-package-summary {
    padding: clamp(22px, 3vw, 32px);
    border: 1px solid rgba(23, 74, 57, .13);
    border-radius: 14px;
    background: #fffefa;
    box-shadow: 0 10px 28px rgba(26, 47, 35, .055);
}

body[data-page="single-package"] .single-package-section h2,
body[data-page="single-package"] .single-package-summary h2 {
    margin: 0 0 16px;
    color: #174a39;
    font: 700 clamp(1.15rem, 2vw, 1.45rem)/1.35 Cinzel, Georgia, serif;
}

body[data-page="single-package"] .single-package-rich-content {
    color: #536057;
    font-size: .9rem;
    line-height: 1.8;
    overflow-wrap: anywhere;
}

body[data-page="single-package"] .single-package-rich-content > :first-child {
    margin-top: 0;
}

body[data-page="single-package"] .single-package-rich-content > :last-child {
    margin-bottom: 0;
}

body[data-page="single-package"] .single-package-rich-content a {
    color: #174a39;
    text-decoration: underline;
    text-decoration-color: rgba(184, 149, 72, .75);
    text-underline-offset: 3px;
}

body[data-page="single-package"] .single-package-rich-content ul,
body[data-page="single-package"] .single-package-rich-content ol {
    padding-left: 1.4em;
}

body[data-page="single-package"] .single-package-summary {
    grid-area: summary;
    position: relative;
}

body[data-page="single-package"] .single-package-summary h2 {
    margin-top: 8px;
}

body[data-page="single-package"] .single-package-summary-code,
body[data-page="single-package"] .single-package-summary-type {
    margin: -8px 0 13px;
    color: #687169;
    font-size: .76rem;
    line-height: 1.6;
}

body[data-page="single-package"] .single-package-summary-price {
    margin: 0 0 6px;
}

body[data-page="single-package"] .single-package-benefits-section .single-package-benefits {
    margin: 0;
    padding: 0;
    border-top: 0;
}

body[data-page="single-package"] .single-package-benefits {
    display: grid;
    gap: 9px;
    margin: 20px 0;
    padding: 18px 0 0;
    border-top: 1px solid rgba(184, 149, 72, .28);
    color: #4d5b51;
    font-size: .78rem;
    line-height: 1.6;
    list-style: none;
}

body[data-page="single-package"] .single-package-benefits li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
}

body[data-page="single-package"] .single-package-benefits .fa-check {
    flex: 0 0 auto;
    margin-top: 4px;
    color: #16804e;
}

body[data-page="single-package"] .single-package-registration-button {
    display: flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 11px 14px;
    border: 1px solid #006b3f;
    border-radius: 8px;
    background: #006b3f;
    color: #fff;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .035em;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}

body[data-page="single-package"] .single-package-registration-button svg {
    width: 15px;
    height: 15px;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}

body[data-page="single-package"] .single-package-registration-button:hover {
    border-color: #005633;
    background: #005633;
    box-shadow: 0 5px 12px rgba(31, 52, 40, .12);
}

body[data-page="single-package"] .single-package-registration-button:focus-visible {
    outline: 3px solid #d3b45e;
    outline-offset: 3px;
}

body[data-page="single-package"] .single-package-registration-unavailable {
    margin: 18px 0 0;
    color: #687169;
    font-size: .78rem;
    line-height: 1.6;
}

@media (max-width: 900px) {
    body[data-page="single-package"] .single-package-heading {
        align-items: flex-start;
    }

    body[data-page="single-package"] .single-package-layout {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "summary" "content";
    }

    body[data-page="single-package"] .single-package-layout-summary-only {
        grid-template-areas: "summary";
    }

    body[data-page="single-package"] .single-package-summary {
        width: 100%;
    }
}

@media (max-width: 600px) {
    body[data-page="single-package"] .single-package-main {
        padding-block: 34px 56px;
    }

    body[data-page="single-package"] .single-package-heading {
        flex-direction: column;
        gap: 20px;
    }

    body[data-page="single-package"] .single-package-heading-price {
        text-align: left;
    }
}

@media (prefers-reduced-motion: reduce) {
    body[data-page="single-package"] .single-package-registration-button {
        transition: none;
    }
}

/* Latest newsroom articles below the Packages cards. */
body[data-page="register"] .register-news-section {
    margin-top: clamp(52px, 7vw, 82px);
    padding-top: clamp(30px, 4vw, 42px);
    border-top: 1px solid rgba(23, 74, 57, .12);
}

body[data-page="register"] .register-news-heading-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
}

body[data-page="register"] .register-news-heading-row h2 {
    margin: 8px 0 0;
    color: var(--green-dark);
    font: 700 clamp(1.55rem, 2.7vw, 2.15rem)/1.25 Cinzel, Georgia, serif;
    text-wrap: balance;
}

body[data-page="register"] .register-news-view-all {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
    padding: 8px 0;
    color: #75591d;
    font-size: .78rem;
    font-weight: 800;
    text-decoration: none;
    transition: color .18s ease, gap .18s ease;
}

body[data-page="register"] .register-news-view-all:hover {
    gap: 11px;
    color: var(--green-dark);
}

body[data-page="register"] .register-news-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    gap: 18px;
}

body[data-page="register"] .register-news-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    padding: 20px 19px 18px;
    border: 1px solid rgba(23, 74, 57, .14);
    border-radius: 13px;
    background: #fffefa;
    box-shadow: 0 8px 22px rgba(25, 47, 35, .045);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

body[data-page="register"] .register-news-card:hover,
body[data-page="register"] .register-news-card:focus-within {
    transform: translateY(-2px);
    border-color: rgba(184, 149, 72, .48);
    box-shadow: 0 13px 26px rgba(25, 47, 35, .085);
}

body[data-page="register"] .register-news-meta {
    display: flex;
    width: 100%;
    min-width: 0;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 12px;
    margin-bottom: 16px;
}

body[data-page="register"] .register-news-category-group {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 8px;
}

body[data-page="register"] .register-news-icon {
    display: inline-grid;
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid transparent;
    border-radius: 9px;
}

body[data-page="register"] .register-news-icon svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.6;
}

body[data-page="register"] .register-news-icon-release {
    border-color: rgba(184, 149, 72, .18);
    background: #fbf6e8;
    color: #95712b;
}

body[data-page="register"] .register-news-icon-diplomatic {
    border-color: rgba(166, 76, 76, .16);
    background: #fbf1f0;
    color: #a64c4c;
}

body[data-page="register"] .register-news-icon-banking {
    border-color: rgba(47, 123, 112, .16);
    background: #edf6f3;
    color: #2f7b70;
}

body[data-page="register"] .register-news-icon-statement {
    border-color: rgba(86, 124, 78, .16);
    background: #f0f5ec;
    color: #567c4e;
}

body[data-page="register"] .register-news-card .press-category {
    max-width: 100%;
    white-space: normal;
}

body[data-page="register"] .register-news-card .press-date {
    font-size: .68rem;
}

body[data-page="register"] .register-news-card h3 {
    margin: 0 0 10px;
    color: var(--green-dark);
    font: 700 .98rem/1.45 "Plus Jakarta Sans", Arial, sans-serif;
    text-transform: none;
    text-wrap: pretty;
}

body[data-page="register"] .register-news-card h3 a {
    color: inherit;
    text-decoration: none;
}

body[data-page="register"] .register-news-card h3 a:hover {
    color: #75591d;
}

body[data-page="register"] .register-news-card h3 a:focus-visible,
body[data-page="register"] .register-news-read-more:focus-visible,
body[data-page="register"] .register-news-view-all:focus-visible {
    border-radius: 2px;
    outline: 3px solid #e8c866;
    outline-offset: 4px;
}

body[data-page="register"] .register-news-card p {
    margin: 0 0 18px;
    color: #59645c;
    font-size: .77rem;
    line-height: 1.68;
}

body[data-page="register"] .register-news-read-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    padding: 3px 0;
    border-radius: 3px;
    color: #75591d;
    font-size: .75rem;
    font-weight: 800;
    text-decoration: none;
    transition: color .18s ease, gap .18s ease;
}

body[data-page="register"] .register-news-read-more:hover {
    gap: 11px;
    color: var(--green-dark);
}

body[data-page="register"] .register-news-read-more svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}

@media (max-width: 1100px) {
    body[data-page="register"] .register-news-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    body[data-page="register"] .register-news-section {
        margin-top: 46px;
        padding-top: 28px;
    }

    body[data-page="register"] .register-news-heading-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
        margin-bottom: 18px;
    }

    body[data-page="register"] .register-news-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }

    body[data-page="register"] .register-news-card {
        padding: 19px 18px 17px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body[data-page="register"] .register-news-card,
    body[data-page="register"] .register-news-view-all,
    body[data-page="register"] .register-news-read-more {
        transition: none;
    }

    body[data-page="register"] .register-news-card:hover,
    body[data-page="register"] .register-news-card:focus-within {
        transform: none;
    }
}

/* Category badges and fallback states used by dynamic WordPress newsroom cards. */
body[data-page="register"] .register-news-card .press-category {
    display: inline-flex;
    min-height: 27px;
    align-items: center;
    padding: 4px 10px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .04em;
}

body[data-page="register"] .register-news-card .press-category-release {
    border-color: rgba(184, 149, 72, .35);
    background: #f7f0dc;
    color: #75591d;
}

body[data-page="register"] .register-news-card .press-category-diplomatic {
    border-color: rgba(179, 53, 53, .22);
    background: #fbebea;
    color: #9d3030;
}

body[data-page="register"] .register-news-card .press-category-banking {
    border-color: rgba(23, 122, 76, .22);
    background: #e8f3ec;
    color: #176342;
}

body[data-page="register"] .register-news-card .press-category-statement,
body[data-page="register"] .register-news-card .press-category-default {
    border-color: rgba(23, 74, 57, .18);
    background: #edf3ef;
    color: #315c49;
}

body[data-page="register"] .package-button.is-unavailable {
    cursor: not-allowed;
    opacity: .72;
}

body[data-page="register"] .register-news-empty {
    margin: 0;
    padding: 22px;
    border: 1px solid rgba(23, 74, 57, .14);
    border-radius: 13px;
    background: #fffefa;
    color: #59645c;
}


/* Approved DPE Events listing and single-event styles. */
body[data-page="past-events"] .events-main {
    padding-block: 58px 84px;
}

body[data-page="single-event"] .single-event-main {
    padding-block: 32px 84px;
}

body[data-page="past-events"] .events-main {
    padding-block: 42px 76px;
}

body[data-page="past-events"] .events-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(270px, .72fr);
    align-items: center;
    gap: clamp(35px, 7vw, 100px);
    padding: 0 0 42px;
}

body[data-page="past-events"] .events-hero-copy h1,
body[data-page="single-event"] .single-event-header h1,
body[data-page="single-event"] .event-not-found h2 {
    margin: 10px 0 15px;
    color: #203b2d;
    font: 700 clamp(2.8rem, 6.5vw, 5.5rem)/1.04 Cinzel, Georgia, serif;
    letter-spacing: -.035em;
}

body[data-page="past-events"] .events-hero-copy > p {
    max-width: 720px;
    margin: 0;
    color: #58645c;
    font-size: clamp(.98rem, 1.3vw, 1.12rem);
}

body[data-page="past-events"] .events-text-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 25px;
    color: var(--green);
    font-size: .83rem;
    font-weight: 800;
}

body[data-page="past-events"] .events-text-link span {
    color: #a9863d;
    font-size: 1.05rem;
}

body[data-page="past-events"] .events-hero-note {
    position: relative;
    display: flex;
    min-height: 240px;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    padding: 34px;
    border: 1px solid rgba(184, 149, 72, .38);
    border-radius: 4px 40px 4px 40px;
    background: linear-gradient(145deg, #174a39, #0c352a);
    box-shadow: 0 20px 45px rgba(16, 56, 43, .12);
    color: #fff;
}

body[data-page="past-events"] .events-hero-note::after {
    position: absolute;
    right: -50px;
    bottom: -95px;
    width: 235px;
    height: 235px;
    border: 1px solid rgba(227, 207, 146, .2);
    border-radius: 50%;
    content: "";
}

body[data-page="past-events"] .events-hero-note-kicker {
    color: #e3cf92;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

body[data-page="past-events"] .events-hero-note strong {
    margin-top: 13px;
    font: 600 clamp(1.25rem, 2vw, 1.65rem)/1.35 Cinzel, Georgia, serif;
}

body[data-page="past-events"] .events-hero-note-rule {
    width: 46px;
    height: 1px;
    margin: 21px 0 13px;
    background: #c49a38;
}

body[data-page="past-events"] .events-hero-note-caption {
    color: #d5e1d9;
    font-size: .72rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body[data-page="past-events"] .events-upcoming-section,
body[data-page="past-events"] .events-highlights-section {
    margin-top: 30px;
}

body[data-page="past-events"] .events-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 21px;
}

body[data-page="past-events"] .events-section-heading h2,
body[data-page="single-event"] .event-detail-section h2,
body[data-page="single-event"] .event-side-panel h2 {
    margin: 7px 0 0;
    color: #203b2d;
    font: 700 clamp(1.5rem, 2.7vw, 2.05rem)/1.25 Cinzel, Georgia, serif;
}

body[data-page="past-events"] .events-filter-list {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin: 0 0 22px;
}

body[data-page="past-events"] .event-filter-button {
    min-height: 41px;
    padding: 9px 16px;
    border: 1px solid rgba(23, 74, 57, .17);
    border-radius: 999px;
    background: #fff;
    color: #174a39;
    cursor: pointer;
    font-size: .74rem;
    font-weight: 800;
    transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
}

body[data-page="past-events"] .event-filter-button:hover {
    transform: translateY(-1px);
    border-color: #b89548;
    background: #fbf8ef;
}

body[data-page="past-events"] .event-filter-button:not([data-event-filter="all"]) {
    border-color: var(--event-accent);
}

body[data-page="past-events"] .event-filter-button.is-active {
    border-color: #174a39;
    background: #174a39;
    color: #fff;
}

body[data-page="past-events"] .event-filter-button:not([data-event-filter="all"]).is-active {
    border-color: var(--event-accent);
    background: var(--event-accent);
    color: var(--event-accent-text);
}

body[data-page="past-events"] .event-filter-button:focus-visible,
body[data-page="past-events"] .event-card a:focus-visible,
body[data-page="past-events"] .events-featured-card a:focus-visible,
body[data-page="single-event"] .event-related-card a:focus-visible,
body[data-page="single-event"] .event-directions-link:focus-visible {
    outline: 3px solid #c49a38;
    outline-offset: 3px;
}

body[data-page="past-events"] .events-grid,
body[data-page="past-events"] .events-upcoming-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

body[data-page="past-events"] .event-card,
body[data-page="single-event"] .event-related-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(23, 74, 57, .13);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(26, 47, 35, .055);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

body[data-page="past-events"] .events-featured-card {
    display: grid;
    align-self: start;
    grid-column: span 2;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
}

body[data-page="past-events"] .events-featured-image-link {
    display: block;
    align-self: start;
    min-width: 0;
    width: 100%;
}

body[data-page="past-events"] .events-featured-image-link img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: contain;
    transition: transform .35s ease;
}

body[data-page="past-events"] .events-featured-image-link:hover img {
    transform: scale(1.025);
}

body[data-page="past-events"] .events-featured-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: clamp(21px, 2.5vw, 32px);
}

body[data-page="past-events"] .events-featured-copy .event-category-badge {
    margin-top: 0;
}

body[data-page="past-events"] .events-featured-copy .event-card-facts {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 18px;
    margin: 8px 0 9px;
}

body[data-page="past-events"] .events-featured-metadata {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 14px;
}

body[data-page="past-events"] .events-featured-label {
    color: #96732e;
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

body[data-page="past-events"] .events-featured-copy h3 {
    margin: 10px 0 8px;
    color: #203b2d;
    font: 700 1.2rem/1.35 Cinzel, Georgia, serif;
}

body[data-page="past-events"] .events-featured-copy > p {
    margin: 0 0 14px;
    color: #687169;
    font-size: .8rem;
}

body[data-page="past-events"] .events-featured-copy .button {
    margin-top: 2px;
}

body[data-page="past-events"] .event-card:hover,
body[data-page="single-event"] .event-related-card:hover {
    transform: translateY(-3px);
    border-color: rgba(184, 149, 72, .55);
    box-shadow: 0 16px 32px rgba(26, 47, 35, .11);
}

body[data-page="past-events"] .event-card-link,
body[data-page="single-event"] .event-related-card .event-card-link {
    display: flex;
    height: 100%;
    flex-direction: column;
    color: inherit;
}

/* Balance only the visible historical card beside the feature on desktop. */
@media (min-width: 1051px) {
    body[data-page="past-events"] .events-grid > .event-card.is-featured-neighbor .event-card-copy {
        flex: 1;
        justify-content: center;
    }

    body[data-page="past-events"] .events-grid > .event-card.is-featured-neighbor .event-card-read-more {
        margin-top: 0;
    }
}

body[data-page="past-events"] .events-upcoming-grid.has-single-upcoming-event {
    grid-template-columns: minmax(0, 1fr);
}

body[data-page="past-events"] .events-upcoming-grid.has-single-upcoming-event .events-featured-card {
    grid-column: 1;
}

body[data-page="past-events"] .events-upcoming-grid.has-single-upcoming-event .upcoming-event-card .event-card-link {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    align-items: stretch;
}

body[data-page="past-events"] .events-upcoming-grid.has-single-upcoming-event .event-card-image {
    height: 100%;
    min-height: 260px;
    aspect-ratio: auto;
}

body[data-page="past-events"] .events-upcoming-grid.has-single-upcoming-event .event-card-copy {
    min-height: 0;
    justify-content: center;
    padding: clamp(22px, 3vw, 34px);
}

body[data-page="past-events"] .event-card-image,
body[data-page="single-event"] .event-related-card .event-card-image {
    aspect-ratio: 1.62;
    overflow: hidden;
    background: #e8e6df;
}

body[data-page="past-events"] .event-card-image,
body[data-page="single-event"] .event-related-card .event-card-image {
    width: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

body[data-page="past-events"] .event-card:hover .event-card-image,
body[data-page="single-event"] .event-related-card:hover .event-card-image {
    transform: scale(1.035);
}

body[data-page="past-events"] .event-card-copy,
body[data-page="single-event"] .event-related-card .event-card-copy {
    display: flex;
    min-height: 252px;
    flex-direction: column;
    align-items: flex-start;
    padding: 19px 20px 20px;
}

body[data-page="past-events"] .event-card-meta,
body[data-page="single-event"] .event-related-card .event-card-meta {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 11px;
}

body[data-page="past-events"] .event-category-badge,
body[data-page="single-event"] .event-category-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: fit-content;
    padding: 6px 10px;
    border: 1px solid rgba(255, 255, 255, .65);
    border-radius: 999px;
    background: var(--event-accent, #c49a38);
    color: var(--event-accent-text, #17382d);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .06em;
    line-height: 1.2;
    text-transform: uppercase;
}

body[data-page="past-events"] .event-category-badge i,
body[data-page="single-event"] .event-category-badge i {
    font-size: .68rem;
}

body[data-page="past-events"] .event-date-tile,
body[data-page="single-event"] .event-related-card .event-date-tile {
    display: inline-flex;
    min-width: 66px;
    min-height: 42px;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    padding: 5px 11px;
    border-left: 3px solid #c49a38;
    border-radius: 4px 8px 8px 4px;
    background: #f8f5ec;
    color: #174a39;
    line-height: 1.25;
    font-variant-numeric: tabular-nums;
}

body[data-page="past-events"] .event-date-day,
body[data-page="single-event"] .event-related-card .event-date-day,
body[data-page="past-events"] .event-date-month,
body[data-page="single-event"] .event-related-card .event-date-month,
body[data-page="past-events"] .event-date-tile.is-year-only,
body[data-page="single-event"] .event-related-card .event-date-tile.is-year-only {
    font-size: 1rem;
    font-weight: 800;
}

body[data-page="past-events"] .event-date-month-year,
body[data-page="single-event"] .event-related-card .event-date-month-year,
body[data-page="past-events"] .event-date-year,
body[data-page="single-event"] .event-related-card .event-date-year {
    color: #788078;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

body[data-page="past-events"] .event-date-tile.is-exact-date,
body[data-page="single-event"] .event-related-card .event-date-tile.is-exact-date,
body[data-page="past-events"] .event-date-tile.is-month-year,
body[data-page="single-event"] .event-related-card .event-date-tile.is-month-year {
    min-width: 70px;
}

body[data-page="past-events"] .event-date-tile.is-local-date,
body[data-page="single-event"] .event-related-card .event-date-tile.is-local-date {
    min-width: 130px;
    align-items: center;
    font-size: .68rem;
    font-weight: 800;
    white-space: nowrap;
}

body[data-page="past-events"] .event-date-tile.is-date-pending,
body[data-page="single-event"] .event-related-card .event-date-tile.is-date-pending {
    align-items: center;
    font-size: .72rem;
    font-weight: 800;
}

body[data-page="past-events"] .event-card-facts,
body[data-page="single-event"] .event-related-card .event-card-facts {
    display: grid;
    gap: 6px;
    margin: 11px 0 10px;
    color: #59675e;
    font-size: .7rem;
    line-height: 1.45;
}

body[data-page="past-events"] .event-card-facts span,
body[data-page="single-event"] .event-related-card .event-card-facts span {
    display: flex;
    align-items: baseline;
    gap: 7px;
    overflow-wrap: anywhere;
}

body[data-page="past-events"] .event-card-facts span.event-time-value,
body[data-page="single-event"] .event-related-card .event-card-facts span.event-time-value {
    display: inline-block;
    flex: 0 1 auto;
    gap: 0;
    overflow-wrap: normal;
    white-space: nowrap;
}

body[data-page="past-events"] .event-card-facts i,
body[data-page="single-event"] .event-related-card .event-card-facts i {
    flex: 0 0 12px;
    color: #a9863d;
    text-align: center;
}

body[data-page="past-events"] .event-card h3,
body[data-page="single-event"] .event-related-card h3 {
    margin: 12px 0 7px;
    color: #203b2d;
    font: 700 1.05rem/1.38 Cinzel, Georgia, serif;
}

body[data-page="past-events"] .event-card-link:hover h3,
body[data-page="single-event"] .event-related-card .event-card-link:hover h3 {
    color: #8a6b2f;
}

body[data-page="past-events"] .event-card-copy > p,
body[data-page="single-event"] .event-related-card .event-card-copy > p {
    margin: 0;
    color: #687169;
    font-size: .78rem;
    line-height: 1.65;
}

body[data-page="past-events"] .event-card-copy > p.upcoming-event-details {
    margin: 10px 0 0;
    color: #8a6b2f;
    font-size: .7rem;
    font-weight: 700;
}

body[data-page="past-events"] .event-card-read-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    padding-top: 17px;
    color: #174a39;
    font-size: .73rem;
    font-weight: 800;
}

body[data-page="past-events"] .event-card-read-more span {
    color: #a9863d;
    font-size: 1rem;
}

/* DPE Single Event detail page */
body[data-page="single-event"] .event-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin-bottom: 28px;
    color: #778078;
    font-size: .75rem;
}

body[data-page="single-event"] .event-breadcrumbs a {
    color: #174a39;
    font-weight: 700;
}

body[data-page="single-event"] .event-breadcrumbs a:hover {
    color: #8a6b2f;
}

body[data-page="single-event"] .single-event-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, .95fr);
    align-items: center;
    gap: clamp(30px, 5vw, 70px);
    padding: 10px 0 38px;
    border-bottom: 1px solid var(--line);
}

body[data-page="single-event"] .single-event-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

body[data-page="single-event"] .event-status-badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border: 1px solid rgba(23, 74, 57, .15);
    border-radius: 999px;
    background: #eff5f0;
    color: #174a39;
    font-size: .65rem;
    font-weight: 800;
    text-transform: uppercase;
}

body[data-page="single-event"] .single-event-header h1 {
    font-size: clamp(2rem, 4.2vw, 3.65rem);
    letter-spacing: -.025em;
}

body[data-page="single-event"] .single-event-intro {
    max-width: 650px;
    margin: 0;
    color: #5e6961;
    font-size: 1rem;
}

body[data-page="single-event"] .single-event-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 15px;
    margin-top: 25px;
}

body[data-page="single-event"] .single-event-summary-card {
    display: flex;
    min-width: 0;
    min-height: 132px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 19px 21px;
    border: 1px solid rgba(23, 74, 57, .13);
    border-top: 3px solid #c49a38;
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 9px 25px rgba(26, 47, 35, .045);
}

body[data-page="single-event"] .single-event-summary-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #788078;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body[data-page="single-event"] .single-event-summary-label i {
    color: #a9863d;
    font-size: .8rem;
}

body[data-page="single-event"] .single-event-summary-value {
    margin-top: 11px;
    color: #174a39;
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

body[data-page="single-event"] .single-event-summary-value[data-event-date-full] {
    font-size: clamp(1.12rem, 2vw, 1.42rem);
    letter-spacing: -.015em;
}

body[data-page="single-event"] .single-event-summary-value[data-event-date-full] sup {
    font-size: .62em;
    line-height: 0;
    vertical-align: super;
}

body[data-page="single-event"] .single-event-summary-note {
    margin-top: 5px;
    color: #69746c;
    font-size: .75rem;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

body[data-page="single-event"] .event-share {
    display: flex;
    max-width: 940px;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 14px 22px;
    margin: 24px auto 0;
    padding: 17px 0;
    border-top: 1px solid rgba(23, 74, 57, .13);
    border-bottom: 1px solid rgba(23, 74, 57, .13);
}

body[data-page="single-event"] .event-share h2 {
    margin: 0;
    color: #123c30;
    font: 700 1.18rem/1.35 Georgia, "Times New Roman", serif;
    text-transform: none;
}

body[data-page="single-event"] .event-share .article-share-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

body[data-page="single-event"] .event-share .share-button {
    display: inline-grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid rgba(23, 74, 57, .16);
    border-radius: 11px;
    background: #fff;
    color: #244b3b;
    cursor: pointer;
    transition: transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
}

body[data-page="single-event"] .event-share .share-button svg {
    width: 19px;
    height: 19px;
}

body[data-page="single-event"] .event-share .share-button:hover {
    transform: translateY(-2px);
    border-color: #b89548;
    background: #f7f0dc;
    color: #123c30;
}

body[data-page="single-event"] .event-share .share-facebook:hover { color: #2767c7; }
body[data-page="single-event"] .event-share .share-whatsapp:hover { color: #16866b; }
body[data-page="single-event"] .event-share .share-x:hover { color: #111; }
body[data-page="single-event"] .event-share .share-linkedin:hover { color: #0a66c2; }
body[data-page="single-event"] .event-share .share-copy:hover { color: #75591d; }

body[data-page="single-event"] .event-share .share-button:focus-visible {
    outline: 3px solid #e8c866;
    outline-offset: 3px;
}

body[data-page="single-event"] .event-share .article-share-status {
    flex-basis: 100%;
    min-height: 1.25em;
    margin: -7px 0 0;
    color: #456756;
    font-size: .78rem;
}

body[data-page="single-event"] .event-share .article-share-status:empty {
    display: none;
}

body[data-page="single-event"] .event-rich-content {
    margin-top: 14px;
    color: #687169;
    font-size: .87rem;
    line-height: 1.8;
}

body[data-page="single-event"] .event-rich-content p {
    margin: 0 0 12px;
}

body[data-page="single-event"] .event-rich-content p:last-child {
    margin-bottom: 0;
}

body[data-page="single-event"] .single-event-image-wrap {
    display: flex;
    min-width: 0;
    min-height: 320px;
    max-height: 480px;
    align-items: center;
    justify-content: center;
    margin: 0;
    overflow: hidden;
    border-radius: 14px;
    background: #e8e6df;
    box-shadow: 0 14px 34px rgba(26, 47, 35, .11);
}

body[data-page="single-event"] .single-event-image-wrap img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 460px;
    object-fit: contain;
}

body[data-page="single-event"] .single-event-image-wrap.is-logo-fallback img {
    max-width: min(100%, 390px);
    max-height: 390px;
}

body[data-page="single-event"] .single-event-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(270px, 340px);
    align-items: start;
    gap: clamp(30px, 5vw, 66px);
    padding-top: 38px;
}

body[data-page="single-event"] .single-event-layout.has-no-sidebar {
    grid-template-columns: minmax(0, 1fr);
}

body[data-page="single-event"] .single-event-content,
body[data-page="single-event"] .single-event-sidebar {
    display: grid;
    gap: 24px;
}

body[data-page="single-event"] .event-detail-section,
body[data-page="single-event"] .event-side-panel {
    padding: clamp(21px, 3vw, 30px);
    border: 1px solid rgba(23, 74, 57, .13);
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 9px 25px rgba(26, 47, 35, .045);
}

body[data-page="single-event"] .event-flyer-media {
    width: 100%;
    max-width: 900px;
    margin: 18px auto 0;
}

body[data-page="single-event"] .event-flyer-trigger {
    display: block;
    width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	line-height: 0;
	cursor: zoom-in;
}

body[data-page="single-event"] .event-flyer-image {
    display: block;
    width: 100%;
    max-width: 900px;
    height: auto;
    margin-inline: auto;
    border-radius: 8px;
	transition: filter .2s ease, transform .2s ease;
}

body[data-page="single-event"] .event-flyer-trigger:hover .event-flyer-image {
	filter: brightness(.97);
}

body[data-page="single-event"] .event-flyer-trigger:focus-visible {
	outline: 3px solid #c49a38;
	outline-offset: 5px;
}

body[data-page="single-event"] .event-flyer-lightbox[hidden],
body.tax-dpe_event_location .country-flyer-lightbox[hidden] {
	display: none;
}

body[data-page="single-event"] .event-flyer-lightbox,
body.tax-dpe_event_location .country-flyer-lightbox {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: grid;
	place-items: center;
	box-sizing: border-box;
	padding: clamp(12px, 2vw, 24px);
	padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
	background: rgba(0, 0, 0, .88);
	opacity: 0;
	overflow: hidden;
	overscroll-behavior: contain;
	transition: opacity .2s ease;
}

body[data-page="single-event"] .event-flyer-lightbox.is-open,
body.tax-dpe_event_location .country-flyer-lightbox.is-open {
	opacity: 1;
}

body[data-page="single-event"] .event-flyer-dialog,
body.tax-dpe_event_location .country-flyer-dialog {
	position: relative;
	display: grid;
	grid-template-rows: auto;
	justify-items: center;
	align-content: center;
	gap: 10px;
	width: max-content;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	min-width: 0;
	min-height: 0;
	transform: scale(.99);
	transition: transform .2s ease;
}

body.tax-dpe_event_location .country-flyer-dialog {
	grid-template-rows: auto auto;
}

body[data-page="single-event"] .event-flyer-lightbox.is-open .event-flyer-dialog,
body.tax-dpe_event_location .country-flyer-lightbox.is-open .country-flyer-dialog {
	transform: scale(1);
}

body[data-page="single-event"] .event-flyer-stage,
body.tax-dpe_event_location .event-flyer-stage {
	position: relative;
	display: grid;
	grid-template-rows: auto;
	justify-items: center;
	width: max-content;
	height: max-content;
	max-width: 100%;
	min-width: min(280px, 100%);
	min-height: 0;
	box-sizing: border-box;
	padding: 56px 0 0;
}

body.tax-dpe_event_location .country-flyer-dialog.has-multiple-flyers .country-flyer-stage {
	padding-right: 56px;
	padding-left: 56px;
}

body[data-page="single-event"] .event-flyer-toolbar,
body.tax-dpe_event_location .event-flyer-toolbar {
	position: absolute;
	top: 4px;
	right: 4px;
	z-index: 5;
	display: flex;
	align-items: center;
	gap: 4px;
	max-width: calc(100% - 8px);
	padding: 3px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 28px;
	background: rgba(14, 25, 20, .94);
	box-shadow: 0 6px 18px rgba(0, 0, 0, .3);
}

body[data-page="single-event"] .event-flyer-viewer-control,
body.tax-dpe_event_location .event-flyer-viewer-control {
	display: grid;
	flex: 0 0 38px;
	place-items: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, .34);
	border-radius: 50%;
	background: rgba(255, 255, 255, .08);
	color: #fff;
	cursor: pointer;
	transition: background-color .16s ease, border-color .16s ease, opacity .16s ease;
}

body[data-page="single-event"] .event-flyer-fit,
body.tax-dpe_event_location .event-flyer-fit {
	flex-basis: auto;
	width: auto;
	min-width: 48px;
	padding: 0 10px;
	border-radius: 20px;
	font-size: .7rem;
	font-weight: 700;
}

body[data-page="single-event"] .event-flyer-zoom-status,
body.tax-dpe_event_location .event-flyer-zoom-status {
	min-width: 45px;
	color: rgba(255, 255, 255, .8);
	font-size: .62rem;
	text-align: center;
	white-space: nowrap;
}

body[data-page="single-event"] .event-flyer-viewer-control svg,
body.tax-dpe_event_location .event-flyer-viewer-control svg {
	display: block;
	width: 19px;
	height: 19px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-width: 2;
}

body[data-page="single-event"] .event-flyer-viewer-control:hover:not(:disabled),
body.tax-dpe_event_location .event-flyer-viewer-control:hover:not(:disabled) {
	border-color: #f0cc75;
	background: #174a39;
}

body[data-page="single-event"] .event-flyer-viewer-control:disabled,
body.tax-dpe_event_location .event-flyer-viewer-control:disabled {
	opacity: .4;
	cursor: not-allowed;
}

body[data-page="single-event"] .event-flyer-viewer-control:focus-visible,
body[data-page="single-event"] .event-flyer-lightbox-close:focus-visible,
body.tax-dpe_event_location .event-flyer-viewer-control:focus-visible,
body.tax-dpe_event_location .event-flyer-lightbox-close:focus-visible {
	outline: 3px solid #f0cc75;
	outline-offset: 2px;
}

body[data-page="single-event"] .event-flyer-lightbox-close,
body.tax-dpe_event_location .event-flyer-lightbox-close {
	display: grid;
	place-items: center;
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, .76);
	border-radius: 50%;
	background: rgba(20, 37, 29, .94);
	color: #fff;
	cursor: pointer;
	transition: background-color .18s ease, border-color .18s ease;
}

body[data-page="single-event"] .event-flyer-lightbox-close svg,
body.tax-dpe_event_location .event-flyer-lightbox-close svg {
	display: block;
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-width: 2;
}

body[data-page="single-event"] .event-flyer-lightbox-close:hover,
body.tax-dpe_event_location .event-flyer-lightbox-close:hover {
	border-color: #f0cc75;
	background: #174a39;
}

body[data-page="single-event"] .event-flyer-image-viewport,
body.tax-dpe_event_location .event-flyer-image-viewport {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	min-width: 0;
	min-height: 0;
	overflow: auto;
	overscroll-behavior: contain;
	scroll-behavior: auto;
	scrollbar-color: rgba(255, 255, 255, .45) rgba(255, 255, 255, .08);
	touch-action: none;
	cursor: zoom-in;
}

body[data-page="single-event"] .event-flyer-image-viewport.is-zoomed,
body.tax-dpe_event_location .event-flyer-image-viewport.is-zoomed {
	cursor: grab;
}

body[data-page="single-event"] .event-flyer-image-viewport.is-zoomed:active,
body.tax-dpe_event_location .event-flyer-image-viewport.is-zoomed:active {
	cursor: grabbing;
}

body[data-page="single-event"] .event-flyer-image-viewport.is-dragging,
body.tax-dpe_event_location .event-flyer-image-viewport.is-dragging {
	cursor: grabbing;
	user-select: none;
}

body[data-page="single-event"] .event-flyer-image-canvas,
body.tax-dpe_event_location .event-flyer-image-canvas {
	display: grid;
	min-width: 100%;
	min-height: 100%;
	place-items: center;
	box-sizing: border-box;
}

body[data-page="single-event"] .event-flyer-lightbox-image,
body.tax-dpe_event_location .event-flyer-lightbox-image {
	display: block;
	max-width: none;
	max-height: none;
	width: auto;
	height: auto;
	object-fit: contain;
	box-shadow: 0 20px 64px rgba(0, 0, 0, .42);
	user-select: none;
	-webkit-user-drag: none;
}

body.tax-dpe_event_location .country-flyer-nav {
	position: absolute;
	top: calc(50% + 28px);
	z-index: 4;
	display: grid;
	width: 48px;
	height: 48px;
	transform: translateY(-50%);
	place-items: center;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, .76);
	border-radius: 50%;
	background: rgba(20, 37, 29, .94);
	color: #fff;
	cursor: pointer;
	transition: background-color .18s ease, border-color .18s ease;
}

body.tax-dpe_event_location .country-flyer-previous {
	left: 4px;
}

body.tax-dpe_event_location .country-flyer-next {
	right: 4px;
}

body.tax-dpe_event_location .country-flyer-nav[hidden] {
	display: none;
}

body.tax-dpe_event_location .country-flyer-nav svg {
	display: block;
	width: 22px;
	height: 22px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
}

body.tax-dpe_event_location .country-flyer-nav:focus-visible,
body.tax-dpe_event_location .country-flyer-details:focus-visible {
	outline: 3px solid #f0cc75;
	outline-offset: 3px;
}

body.tax-dpe_event_location .country-flyer-nav:hover {
	border-color: #f0cc75;
	background: #174a39;
}

body.tax-dpe_event_location .country-flyer-caption {
	display: grid;
	justify-items: center;
	gap: 5px;
	width: 100%;
	min-height: 0;
	max-height: min(24vh, 200px);
	max-height: min(24dvh, 200px);
	overflow-y: auto;
	padding: 0 12px max(4px, env(safe-area-inset-bottom));
	color: #fff;
	text-align: center;
}

body.tax-dpe_event_location .country-flyer-caption h2 {
	margin: 0;
	color: #fff;
	font: 700 clamp(1rem, 2.2vw, 1.45rem)/1.3 Cinzel, Georgia, serif;
	text-wrap: pretty;
	overflow-wrap: anywhere;
}

body.tax-dpe_event_location .country-flyer-date,
body.tax-dpe_event_location .country-flyer-counter {
	margin: 0;
	color: #ead28f;
	font-size: .78rem;
	line-height: 1.4;
}

body.tax-dpe_event_location .country-flyer-counter {
	color: rgba(255, 255, 255, .72);
}

body.tax-dpe_event_location .country-flyer-details {
	color: #f0cc75;
	font-size: .82rem;
	font-weight: 700;
	text-underline-offset: 3px;
}

@media (max-width: 600px) {
	body[data-page="single-event"] .event-flyer-lightbox,
	body.tax-dpe_event_location .country-flyer-lightbox {
		padding: 8px;
		padding: max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
	}

	body[data-page="single-event"] .event-flyer-stage,
	body.tax-dpe_event_location .country-flyer-stage {
		padding-top: 52px;
	}

	body.tax-dpe_event_location .country-flyer-dialog.has-multiple-flyers .country-flyer-stage {
		padding-right: 48px;
		padding-left: 48px;
	}

	body.tax-dpe_event_location .country-flyer-nav {
		width: 44px;
		height: 44px;
	}

	body.tax-dpe_event_location .country-flyer-previous {
		left: 2px;
	}

	body.tax-dpe_event_location .country-flyer-next {
		right: 2px;
	}

	body.tax-dpe_event_location .country-flyer-caption {
		max-height: min(28vh, 160px);
		max-height: min(28dvh, 160px);
	}
}

@media (prefers-reduced-motion: reduce) {
	body[data-page="single-event"] .event-flyer-lightbox,
	body[data-page="single-event"] .event-flyer-dialog,
	body[data-page="single-event"] .event-flyer-toolbar,
	body[data-page="single-event"] .event-flyer-viewer-control,
	body[data-page="single-event"] .event-flyer-lightbox-close,
	body.tax-dpe_event_location .country-flyer-lightbox,
	body.tax-dpe_event_location .country-flyer-dialog,
	body.tax-dpe_event_location .event-flyer-toolbar,
	body.tax-dpe_event_location .event-flyer-viewer-control,
	body.tax-dpe_event_location .event-flyer-lightbox-close,
	body.tax-dpe_event_location .country-flyer-nav {
		transition-duration: .01ms;
	}
}

body[data-page="single-event"] .event-detail-section > p,
body[data-page="single-event"] .event-side-panel > p {
    margin: 14px 0 0;
    color: #687169;
    font-size: .87rem;
    line-height: 1.8;
}

body[data-page="single-event"] .event-registration-actions {
    display: grid;
    gap: 12px;
    margin-top: 16px;
}

body[data-page="single-event"] .event-registration-actions .button {
    width: 100%;
}

body[data-page="single-event"] .event-registration-status {
    color: #765d2e;
    font-size: .75rem;
    font-weight: 800;
}

body[data-page="single-event"] .event-venue-panel [data-event-venue] p {
    margin: 12px 0 0;
    color: #5f6b62;
    font-size: .8rem;
}

body[data-page="single-event"] .event-directions-link {
    display: inline-flex;
    gap: 7px;
    margin-top: 15px;
    color: #174a39;
    font-size: .77rem;
    font-weight: 800;
}

body[data-page="single-event"] .event-programme-list {
    display: grid;
    gap: 17px;
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
}

body[data-page="single-event"] .event-programme-list li {
    display: grid;
    grid-template-columns: minmax(75px, .35fr) minmax(0, 1fr);
    gap: 16px;
    padding-bottom: 17px;
    border-bottom: 1px solid rgba(23, 74, 57, .1);
}

body[data-page="single-event"] .event-programme-time {
    color: #8a6b2f;
    font-size: .75rem;
    font-weight: 800;
}

body[data-page="single-event"] .event-programme-list h3,
body[data-page="single-event"] .event-person h3 {
    margin: 0;
    color: #284637;
    font-size: .91rem;
}

body[data-page="single-event"] .event-programme-list p,
body[data-page="single-event"] .event-person p {
    margin: 5px 0 0;
    color: #687169;
    font-size: .79rem;
}

body[data-page="single-event"] .event-programme-speaker {
    display: inline-block;
    margin-top: 8px;
    color: #8a6b2f;
    font-size: .74rem;
    font-weight: 700;
}

body[data-page="single-event"] .event-people-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 18px;
}

body[data-page="single-event"] .event-media-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 18px;
}

body[data-page="single-event"] .event-media-item {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(23, 74, 57, .12);
    border-radius: 10px;
    background: #fbfaf6;
}

body[data-page="single-event"] .event-media-item img {
    width: 100%;
    aspect-ratio: 1.55;
    object-fit: cover;
}

body[data-page="single-event"] .event-media-item figcaption {
    padding: 10px 12px;
    color: #687169;
    font-size: .72rem;
}

body[data-page="single-event"] .event-ticket-tiers {
    margin: 0;
    padding-left: 19px;
    color: #536057;
    font-size: .76rem;
}

body[data-page="single-event"] .event-person {
    padding: 16px;
    border: 1px solid rgba(23, 74, 57, .12);
    border-radius: 10px;
    background: #fbfaf6;
}

body[data-page="single-event"] .event-related-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 18px;
}

body[data-page="single-event"] .event-related-card .event-card-copy {
    min-height: 0;
    padding: 15px;
}

body[data-page="single-event"] .event-related-card h3 {
    font-size: .92rem;
}

body[data-page="single-event"] .event-related-card .event-card-read-more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 13px;
    padding-top: 12px;
    color: #174a39;
    font-size: .7rem;
    font-weight: 800;
}

body[data-page="single-event"] .event-not-found {
    max-width: 720px;
    margin: 30px auto 60px;
    padding: clamp(28px, 6vw, 60px);
    border: 1px solid rgba(23, 74, 57, .13);
    border-radius: 16px;
    background: #fff;
    text-align: center;
    box-shadow: 0 14px 38px rgba(26, 47, 35, .07);
}

body[data-page="single-event"] .event-not-found h2 {
    font-size: clamp(2rem, 4vw, 3rem);
}

body[data-page="single-event"] .event-not-found p {
    margin: 0 0 24px;
    color: #687169;
}

body[data-page="past-events"] .event-noscript-note,
body[data-page="single-event"] .event-noscript-note {
    margin: 25px 0;
    padding: 16px;
    border: 1px solid rgba(184, 149, 72, .35);
    border-radius: 9px;
    background: #fff;
    color: #58645c;
    font-size: .82rem;
}

@media (max-width: 1050px) {
    body[data-page="past-events"] .events-grid,
    body[data-page="past-events"] .events-upcoming-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body[data-page="single-event"] .single-event-layout {
        grid-template-columns: minmax(0, 1fr) minmax(250px, 310px);
        gap: 28px;
    }
}

@media (max-width: 760px) {
    body[data-page="past-events"] .events-main {
        padding-block: 38px 58px;
    }

    body[data-page="single-event"] .single-event-main {
        padding-block: 24px 58px;
    }

    body[data-page="past-events"] .events-hero,
    body[data-page="single-event"] .single-event-header,
    body[data-page="single-event"] .single-event-layout {
        grid-template-columns: 1fr;
    }

    body[data-page="single-event"] .single-event-image-wrap {
        min-height: 0;
        max-height: none;
    }

    body[data-page="single-event"] .single-event-image-wrap img {
        max-height: min(68vh, 420px);
    }

    body[data-page="past-events"] .events-hero {
        gap: 26px;
        padding-bottom: 35px;
    }

    body[data-page="past-events"] .events-hero-note {
        min-height: 190px;
    }

    body[data-page="past-events"] .events-upcoming-section,
    body[data-page="past-events"] .events-highlights-section {
        margin-top: 32px;
    }

    body[data-page="past-events"] .events-section-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 9px;
    }

    body[data-page="past-events"] .events-upcoming-grid.has-single-upcoming-event .upcoming-event-card .event-card-link {
        display: flex;
        flex-direction: column;
    }

    body[data-page="past-events"] .events-upcoming-grid.has-single-upcoming-event .event-card-image {
        height: auto;
        min-height: 0;
        aspect-ratio: 1.62;
    }

    body[data-page="past-events"] .events-upcoming-grid.has-single-upcoming-event .event-card-copy {
        min-height: 0;
        padding: 20px;
    }

    body[data-page="single-event"] .single-event-header {
        gap: 24px;
    }

    body[data-page="single-event"] .single-event-layout {
        gap: 24px;
    }
}

@media (max-width: 580px) {
    body[data-page="past-events"] .events-grid,
    body[data-page="past-events"] .events-upcoming-grid,
    body[data-page="single-event"] .event-related-grid {
        grid-template-columns: 1fr;
    }

    body[data-page="past-events"] .events-hero-copy h1 {
        font-size: clamp(2.5rem, 14vw, 3.6rem);
    }

    body[data-page="past-events"] .events-filter-list {
        gap: 7px;
    }

    body[data-page="past-events"] .event-filter-button {
        min-height: 39px;
        padding-inline: 12px;
        font-size: .69rem;
    }

    body[data-page="past-events"] .event-card-copy,
    body[data-page="past-events"] .events-featured-copy {
        padding: 18px;
    }

    body[data-page="past-events"] .events-featured-card {
        grid-column: span 1;
    }

    body[data-page="past-events"] .event-card-facts span.event-time-value,
    body[data-page="single-event"] .event-related-card .event-card-facts span.event-time-value {
        white-space: normal;
    }

    body[data-page="single-event"] .single-event-summary-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    body[data-page="single-event"] .single-event-summary-card {
        min-height: 0;
        padding: 16px 18px;
    }

    body[data-page="single-event"] .event-people-list {
        grid-template-columns: 1fr;
    }

    body[data-page="single-event"] .event-media-grid {
        grid-template-columns: 1fr;
    }

}

@media (prefers-reduced-motion: reduce) {
    body[data-page="past-events"] .event-card,
    body[data-page="past-events"] .event-card-image,
    body[data-page="past-events"] .event-filter-button,
    body[data-page="past-events"] .events-featured-image-link img,
    body[data-page="single-event"] .event-related-card,
    body[data-page="single-event"] .event-related-card .event-card-image {
        transition: none;
    }

    body[data-page="past-events"] .event-card:hover,
    body[data-page="single-event"] .event-related-card:hover,
    body[data-page="past-events"] .event-filter-button:hover {
        transform: none;
    }
}

/* Approved shared Flagship Event design used wherever the component is rendered. */
.flagship-event-section,
body[data-page="past-events"] .events-upcoming-section {
    position: relative;
    isolation: isolate;
    padding-bottom: 64px;
}

body:not(.home-page):not([data-page="past-events"]) .flagship-event-section {
    padding-block-start: 64px;
}

body[data-page="past-events"] .flagship-event-backdrop {
    position: relative;
    isolation: isolate;
    display: flow-root;
    margin-bottom: 64px;
}

body[data-page="past-events"] .events-upcoming-section {
    padding-bottom: 0;
}

.flagship-event-section::before,
body[data-page="past-events"] .flagship-event-backdrop::before {
    position: absolute;
    z-index: -1;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: clamp(280px, 29vw, 420px);
    background: url("../images/ghana-landmark-silhouette.svg") right bottom / auto 100% no-repeat;
    content: "";
    opacity: .9;
    pointer-events: none;
}

body[data-page="past-events"] .flagship-event-backdrop::before {
    top: 0;
    bottom: 0;
    height: auto;
}

.flagship-event-section .section-heading {
    margin-bottom: 22px;
}

.flagship-event-card {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    width: min(100%, 880px);
    margin-inline: auto;
    overflow: hidden;
    border: 1px solid rgba(23, 74, 57, .16);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(26, 47, 35, .08);
    transition: transform .2s ease, box-shadow .2s ease;
}

body[data-page="past-events"] .flagship-event-card {
    margin-block: 22px 0;
}

.flagship-event-card:hover,
.flagship-event-card:focus-within {
    transform: translateY(-2px);
    box-shadow: 0 20px 42px rgba(26, 47, 35, .12);
}

.flagship-event-media {
    display: grid;
    min-width: 0;
    place-items: center;
    align-self: center;
    padding: 0;
    border-right: 1px solid rgba(23, 74, 57, .1);
    background: #f5f3ec;
}

.flagship-event-media img {
    display: block;
    width: auto;
    height: auto;
    max-width: min(100%, var(--flagship-image-intrinsic-width, 100%));
    max-height: min(70vh, 560px);
    object-fit: contain;
    object-position: center;
}

.flagship-event-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: clamp(18px, 1.25vw, 20px) clamp(22px, 3vw, 36px);
    text-align: left;
}

.flagship-event-labels {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.flagship-event-label {
    padding: 6px 10px;
    border: 1px solid rgba(196, 154, 56, .4);
    border-radius: 999px;
    background: #fbf7eb;
    color: #75591d;
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1.2;
    text-transform: uppercase;
}

.flagship-event-copy h3 {
    margin: 9px 0 7px;
    color: #203b2d;
    font: 700 clamp(1.25rem, 2vw, 1.8rem)/1.25 Cinzel, Georgia, serif;
}

.flagship-event-meta {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0;
    color: #526158;
    font-size: .78rem;
    font-weight: 700;
}

.flagship-event-meta span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap;
}

.flagship-event-meta span + span::before {
    margin-inline: 12px;
    color: var(--gold);
    content: "|";
    font-weight: 500;
}

.flagship-event-meta i {
    color: #a9863d;
}

.flagship-event-copy > p {
    margin: 8px 0 10px;
    max-width: 650px;
    color: #59645c;
    font-size: .85rem;
    line-height: 1.65;
}

.flagship-event-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.flagship-event-action {
    min-height: 42px;
    padding: 10px 15px;
    font-size: .74rem;
}

.flagship-event-portal {
    min-height: 42px;
    padding: 10px 15px;
    background: var(--green-dark);
    color: #fff;
    font-size: .74rem;
}

.flagship-event-action:focus-visible,
.flagship-event-portal:focus-visible {
    outline: 3px solid rgba(196, 154, 56, .55);
    outline-offset: 3px;
}

@media (max-width: 760px) {
    .flagship-event-card {
        grid-template-columns: minmax(0, 1fr);
    }

    .flagship-event-media {
        border-right: 0;
        border-bottom: 1px solid rgba(23, 74, 57, .1);
    }

    .flagship-event-copy {
        padding: 24px;
    }

    .flagship-event-meta {
        flex-wrap: wrap;
    }

    body:not(.home-page):not([data-page="past-events"]) .flagship-event-section {
        padding-block-start: 32px;
    }
}

@media (max-width: 860px) {
    .flagship-event-section::before,
    body[data-page="past-events"] .flagship-event-backdrop::before {
        background-position: center bottom;
        background-size: 100% auto;
    }
}

@media (max-width: 480px) {
    .flagship-event-section {
        padding-bottom: 32px;
    }

    body[data-page="past-events"] .flagship-event-backdrop {
        margin-bottom: 32px;
    }

    .flagship-event-section::before,
    body[data-page="past-events"] .flagship-event-backdrop::before {
        height: clamp(190px, 52vw, 250px);
        background-position: right bottom;
        background-size: auto 100%;
    }

    .flagship-event-section::before {
        bottom: -54px;
    }

    body[data-page="past-events"] .flagship-event-backdrop::before {
        top: auto;
        bottom: 0;
        height: clamp(190px, 52vw, 250px);
    }

    .flagship-event-copy {
        padding: 19px;
    }

    .flagship-event-copy h3 {
        font-size: 1.2rem;
    }

    .flagship-event-actions {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
    }

    .flagship-event-actions .button {
        justify-content: center;
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .flagship-event-card,
    .flagship-event-action {
        transition: none;
    }

    .flagship-event-card:hover,
    .flagship-event-card:focus-within {
        transform: none;
    }
}

/* Dynamic WordPress event data may be missing optional images or dates. */
body.ambient-bg[data-page="single-event"] {
    background: #fbfaf6;
    color: #28352c;
    font-family: "Plus Jakarta Sans", Arial, sans-serif;
}

body[data-page="past-events"] .events-featured-copy.has-no-image {
    grid-column: 1 / -1;
}

body[data-page="past-events"] .event-date-tile.is-event-date {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: center;
}

body[data-page="single-event"] .single-event-header.has-no-image {
    grid-template-columns: minmax(0, 1fr);
}

body[data-page="single-event"] .single-event-heading-copy {
    min-width: 0;
}

/* Standard editorial page */
body.ambient-bg.page-template-default[data-page="other"] {
    margin: 0;
    min-height: 0;
    background: #fbfaf6;
    color: #28352c;
    font-family: "Plus Jakarta Sans", Arial, sans-serif;
    line-height: 1.7;
}

body.ambient-bg.page-template-default[data-page="other"] > main {
    flex: 0 0 auto;
}

body.page-template-default .standard-page-main {
    width: min(1100px, calc(100% - 48px));
    margin-inline: auto;
    padding-block: 48px 56px;
}

body.page-template-default .standard-page-breadcrumbs {
    margin-bottom: 32px;
    color: #687169;
    font-size: .76rem;
}

body.page-template-default .standard-page-breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.page-template-default .standard-page-breadcrumbs a {
    color: #174a39;
}

body.page-template-default .standard-page-breadcrumbs a:hover {
    color: #8a6b2f;
}

body.page-template-default .standard-page-breadcrumb-separator {
    color: #b89548;
}

body.page-template-default .standard-page-header {
    margin-bottom: 28px;
    text-align: left;
}

body.page-template-default .standard-page-header .eyebrow {
    display: block;
    margin-bottom: 10px;
}

body.page-template-default .standard-page-header h1 {
    margin: 0;
    color: #20382d;
    font: 800 clamp(2.1rem, 4.2vw, 3.3rem)/1.16 Cinzel, Georgia, serif;
    letter-spacing: -.02em;
    overflow-wrap: anywhere;
}

body.page-template-default .standard-page-heading-rule {
    display: block;
    width: 54px;
    height: 3px;
    margin-top: 19px;
    border-radius: 2px;
    background: #b89548;
}

body.page-template-default .standard-page-article {
    width: min(100%, 850px);
    color: #465148;
    font-size: 1rem;
    line-height: 1.85;
}

body.page-template-default .standard-page-article p {
    margin: 0 0 1.2em;
}

body.page-template-default .standard-page-article h2,
body.page-template-default .standard-page-article h3 {
    color: #20382d;
    font-family: Cinzel, Georgia, serif;
    line-height: 1.3;
}

body.page-template-default .standard-page-article h2 {
    margin: 1.8em 0 .65em;
    font-size: 1.55rem;
}

body.page-template-default .standard-page-article h3 {
    margin: 1.5em 0 .55em;
    font-size: 1.2rem;
}

body.page-template-default .standard-page-article ul,
body.page-template-default .standard-page-article ol {
    margin: 0 0 1.25em;
    padding-inline-start: 1.4em;
}

body.page-template-default .standard-page-article li + li {
    margin-top: .45em;
}

body.page-template-default .standard-page-article li::marker {
    color: #b89548;
}

body.page-template-default .standard-page-article a {
    color: #174a39;
    text-decoration-color: #b89548;
    text-underline-offset: .18em;
}

body.page-template-default .standard-page-article a:hover {
    color: #8a6b2f;
}

body.page-template-default .standard-page-article img {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: 10px;
}

body.page-template-default .standard-page-article figure {
    margin: 1.6em 0;
}

body.page-template-default .standard-page-article blockquote {
    margin: 1.6em 0;
    padding: .2em 0 .2em 1.15em;
    border-left: 3px solid #b89548;
    color: #465148;
}

body.page-template-default .standard-page-article blockquote > :last-child {
    margin-bottom: 0;
}

@media (max-width: 760px) {
    body.page-template-default .standard-page-main {
        width: calc(100% - 32px);
        padding-block: 38px 48px;
    }

    body.page-template-default .standard-page-breadcrumbs {
        margin-bottom: 27px;
    }

    body.page-template-default .standard-page-header {
        margin-bottom: 24px;
    }

    body.page-template-default .standard-page-article {
        font-size: .96rem;
    }
}

@media (max-width: 480px) {
    body.page-template-default .standard-page-main {
        width: calc(100% - 28px);
        padding-block: 30px 42px;
    }

    body.page-template-default .standard-page-header h1 {
        font-size: clamp(1.85rem, 8vw, 2.35rem);
    }
}



/* Country location archives: approved HTML country edition rules. */
/* Country edition landing pages */
body.tax-dpe_event_location {
    min-height: 100vh;
    margin: 0;
    background: var(--surface-light);
    color: #28352c;
    font-family: "Plus Jakarta Sans", Arial, sans-serif;
    line-height: 1.65;
}

body.tax-dpe_event_location .country-hero {
    padding-block: clamp(54px, 7vw, 92px);
    background: linear-gradient(120deg, #fff 0%, #f5f3ec 100%);
}

body.tax-dpe_event_location .country-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .96fr);
    align-items: center;
    gap: clamp(34px, 6vw, 82px);
}

body.tax-dpe_event_location .country-hero-copy {
    min-width: 0;
}

body.tax-dpe_event_location .country-hero h1 {
    max-width: 12ch;
    margin: 14px 0 12px;
    color: #20382d;
    font: 800 clamp(2.65rem, 5.3vw, 4.55rem)/1.08 Cinzel, Georgia, serif;
    letter-spacing: -.035em;
    text-wrap: balance;
}

body.tax-dpe_event_location .country-hero-theme {
    max-width: 600px;
    margin: 0 0 15px;
    color: #8a6b2f;
    font: 700 clamp(1.08rem, 1.8vw, 1.38rem)/1.5 Cinzel, Georgia, serif;
}

body.tax-dpe_event_location .country-hero-description {
    max-width: 590px;
    margin: 0;
    color: #58645c;
    font-size: 1rem;
    line-height: 1.85;
}

body.tax-dpe_event_location .country-hero-actions,
body.tax-dpe_event_location .country-cta-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-top: 25px;
}

body.tax-dpe_event_location .country-hero-actions .country-portal-button {
    border-color: #174a39;
    background: #174a39;
    color: #fff;
}

body.tax-dpe_event_location .country-hero-actions .country-portal-button:hover {
    border-color: #0c352a;
    background: #0c352a;
}

body.tax-dpe_event_location .country-hero-visual {
    position: relative;
    min-width: 0;
    aspect-ratio: 1.16 / 1;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(18, 63, 50, .14);
    border-radius: 18px;
    background: #d9ded8;
    box-shadow: 0 22px 50px rgba(26, 47, 35, .14);
}

body.tax-dpe_event_location .country-hero-visual::after {
    position: absolute;
    inset: 28% 0 0;
    background: linear-gradient(180deg, transparent, rgba(8, 37, 29, .76));
    content: "";
    pointer-events: none;
}

body.tax-dpe_event_location .country-hero-visual img,
body.tax-dpe_event_location .country-event-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.tax-dpe_event_location .country-hero-visual img {
    position: absolute;
    inset: 0;
}

body.tax-dpe_event_location .country-hero-location {
    position: absolute;
    z-index: 1;
    right: 26px;
    bottom: 24px;
    left: 26px;
    display: grid;
    gap: 5px;
    color: #fff;
}

body.tax-dpe_event_location .country-hero-location span,
body.tax-dpe_event_location .country-event-image-label {
    color: #f0d995;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

body.tax-dpe_event_location .country-hero-location strong {
    font: 700 clamp(1.15rem, 2vw, 1.65rem)/1.35 Cinzel, Georgia, serif;
}

body.tax-dpe_event_location .country-section {
    padding-block: clamp(56px, 7vw, 88px);
}

body.tax-dpe_event_location .country-section-heading {
    margin: 0 auto 34px;
    text-align: center;
}

body.tax-dpe_event_location .country-section:not(.country-events-section) .country-section-heading {
    max-width: 760px;
}

body.tax-dpe_event_location .country-section-heading h2,
body.tax-dpe_event_location .country-cta-inner h2 {
    margin: 9px 0 12px;
    color: #20382d;
    font: 700 clamp(1.8rem, 3.4vw, 2.7rem)/1.22 Cinzel, Georgia, serif;
    letter-spacing: -.02em;
    text-wrap: balance;
}

body.tax-dpe_event_location .country-section-heading p,
body.tax-dpe_event_location .country-cta-inner p {
    margin: 0;
    color: #626d65;
    font-size: .95rem;
    line-height: 1.75;
}

@media (min-width: 992px) {
    body.tax-dpe_event_location .country-events-section .country-section-heading p {
        white-space: nowrap;
    }
}

body.tax-dpe_event_location .country-events-section,
body.tax-dpe_event_location .country-partners-section {
    background: #fff;
}

body.tax-dpe_event_location .country-events-list {
    display: grid;
    gap: 18px;
}

body.tax-dpe_event_location .country-event-flyers {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(20px, 3vw, 32px);
    margin: 0 0 34px;
}

body.tax-dpe_event_location .country-event-flyer {
    width: 100%;
    margin: 0;
    text-align: center;
}

body.tax-dpe_event_location .country-event-flyer-image {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    margin-inline: auto;
    object-fit: contain;
}

body.tax-dpe_event_location .country-event-card {
    display: grid;
    grid-template-columns: minmax(250px, .82fr) minmax(0, 1.18fr);
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(18, 63, 50, .13);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(26, 47, 35, .07);
}

body.tax-dpe_event_location .country-event-card-featured {
    border-color: rgba(184, 149, 72, .52);
    box-shadow: 0 16px 38px rgba(26, 47, 35, .1);
}

body.tax-dpe_event_location .country-event-image {
    position: relative;
    min-width: 0;
    min-height: 210px;
    overflow: hidden;
    background: #d9ded8;
}

body.tax-dpe_event_location .country-event-card-featured .country-event-image {
    min-height: 310px;
}

body.tax-dpe_event_location .country-event-image::after {
    position: absolute;
    inset: 45% 0 0;
    background: linear-gradient(180deg, transparent, rgba(8, 37, 29, .62));
    content: "";
    pointer-events: none;
}

body.tax-dpe_event_location .country-event-image img {
    position: absolute;
    inset: 0;
}

body.tax-dpe_event_location .country-event-image-label {
    position: absolute;
    z-index: 1;
    right: 18px;
    bottom: 16px;
    left: 18px;
}

body.tax-dpe_event_location .country-event-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: clamp(22px, 3vw, 38px);
}

body.tax-dpe_event_location .country-event-kicker {
    color: #8a6b2f;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

body.tax-dpe_event_location .country-event-copy h3 {
    margin: 8px 0 9px;
    color: #243b2e;
    font: 700 clamp(1.3rem, 2.2vw, 1.8rem)/1.3 Cinzel, Georgia, serif;
    text-wrap: balance;
}

body.tax-dpe_event_location .country-event-theme {
    margin: 0 0 14px;
    color: #58645c;
    font-size: .93rem;
    line-height: 1.7;
}

body.tax-dpe_event_location .country-event-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 9px 20px;
    margin: 7px 0 18px;
    color: #58645c;
    font-size: .83rem;
    font-weight: 600;
}

body.tax-dpe_event_location .country-event-meta span {
    display: inline-flex;
    align-items: flex-start;
    gap: 8px;
}

body.tax-dpe_event_location .country-event-meta i {
    margin-top: 4px;
    color: #997b3a;
}

body.tax-dpe_event_location .country-event-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: 0;
    color: #17523e;
    font-size: .84rem;
    font-weight: 800;
}

body.tax-dpe_event_location .country-event-link:hover {
    color: #8a6b2f;
}

body.tax-dpe_event_location .country-event-link-note {
    max-width: 780px;
    margin: 16px auto 0;
    color: #737b74;
    font-size: .76rem;
    line-height: 1.6;
    text-align: center;
}

body.tax-dpe_event_location .country-benefits-section {
    background: #f5f3ec;
}

body.tax-dpe_event_location .country-benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

body.tax-dpe_event_location .country-benefit-card {
    min-width: 0;
    padding: 24px;
    border: 1px solid rgba(18, 63, 50, .12);
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 10px 25px rgba(26, 47, 35, .055);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

body.tax-dpe_event_location .country-benefit-card:hover {
    transform: translateY(-3px);
    border-color: rgba(184, 149, 72, .55);
    box-shadow: 0 16px 30px rgba(26, 47, 35, .09);
}

body.tax-dpe_event_location .country-benefit-icon,
body.tax-dpe_event_location .country-partner-icon,
body.tax-dpe_event_location .country-archive-mark {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border: 1px solid rgba(184, 149, 72, .35);
    border-radius: 13px;
    background: #f8f5eb;
    color: #17523e;
    font-size: 1.08rem;
}

body.tax-dpe_event_location .country-benefit-card h3,
body.tax-dpe_event_location .country-archive-card h3,
body.tax-dpe_event_location .country-archive-note h3 {
    margin: 16px 0 7px;
    color: #294235;
    font: 700 1rem/1.4 Cinzel, Georgia, serif;
}

body.tax-dpe_event_location .country-benefit-card p,
body.tax-dpe_event_location .country-archive-card p,
body.tax-dpe_event_location .country-archive-note p {
    margin: 0;
    color: #687169;
    font-size: .82rem;
    line-height: 1.75;
}

body.tax-dpe_event_location .country-highlights-section {
    background: #fff;
}

body.tax-dpe_event_location .country-archive-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

body.tax-dpe_event_location .country-archive-card,
body.tax-dpe_event_location .country-archive-note {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    align-content: start;
    align-items: start;
    gap: 0 16px;
    min-width: 0;
    padding: 24px;
    border: 1px solid rgba(18, 63, 50, .12);
    border-radius: 13px;
    background: #fbfaf6;
}

body.tax-dpe_event_location .country-archive-card h3,
body.tax-dpe_event_location .country-archive-note h3 {
    margin: 1px 0 7px;
}

body.tax-dpe_event_location .country-archive-card p,
body.tax-dpe_event_location .country-archive-note p {
    grid-column: 2;
}

body.tax-dpe_event_location .country-archive-note {
    max-width: 800px;
    margin-inline: auto;
}

body.tax-dpe_event_location .country-partners-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

body.tax-dpe_event_location .country-partner-card {
    display: flex;
    min-width: 0;
    min-height: 118px;
    align-items: center;
    gap: 16px;
    padding: 20px;
    border: 1px solid rgba(18, 63, 50, .12);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 9px 23px rgba(26, 47, 35, .055);
}

body.tax-dpe_event_location .country-partner-card h3 {
    margin: 0;
    color: #294235;
    font: 700 .92rem/1.4 Cinzel, Georgia, serif;
}

body.tax-dpe_event_location .country-partner-card div > span {
    display: block;
    margin-top: 6px;
    color: #8a6b2f;
    font-size: .69rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

body.tax-dpe_event_location .country-cta-section {
    padding-block: clamp(42px, 6vw, 72px);
    background: #103c30;
}

body.tax-dpe_event_location .country-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

body.tax-dpe_event_location .country-cta-inner .eyebrow {
    color: #e5cc80;
}

body.tax-dpe_event_location .country-cta-inner h2 {
    max-width: 720px;
    margin-top: 8px;
    color: #fff;
}

body.tax-dpe_event_location .country-cta-inner p {
    color: #d7e1da;
}

body.tax-dpe_event_location .country-cta-actions {
    flex: 0 0 auto;
    justify-content: flex-end;
    margin-top: 0;
}

body.tax-dpe_event_location .country-cta-outline {
    border-color: rgba(235, 219, 164, .55);
    background: transparent;
    color: #fff;
}

body.tax-dpe_event_location .country-cta-outline:hover {
    border-color: #e5cc80;
    background: rgba(255, 255, 255, .08);
}

body.tax-dpe_event_location .country-event-link:focus-visible,
body.tax-dpe_event_location .country-benefit-card:focus-visible {
    outline: 3px solid #e8c866;
    outline-offset: 3px;
}

@media (max-width: 1050px) {
    body.tax-dpe_event_location .country-benefits-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.tax-dpe_event_location .country-cta-inner {
        align-items: flex-start;
        flex-direction: column;
    }

    body.tax-dpe_event_location .country-cta-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 860px) {
    body.tax-dpe_event_location .country-hero-grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, .9fr);
        gap: 28px;
    }

    body.tax-dpe_event_location .country-hero h1 {
        font-size: clamp(2.35rem, 5.8vw, 3.6rem);
    }

    body.tax-dpe_event_location .country-partners-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    body.tax-dpe_event_location .country-hero-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    body.tax-dpe_event_location .country-hero-visual {
        aspect-ratio: 1.3 / 1;
    }

    body.tax-dpe_event_location .country-event-card {
        grid-template-columns: minmax(0, 1fr);
    }

    body.tax-dpe_event_location .country-event-image,
    body.tax-dpe_event_location .country-event-card-featured .country-event-image {
        min-height: 0;
        aspect-ratio: 16 / 9;
    }

    body.tax-dpe_event_location .country-archive-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 480px) {
    body.tax-dpe_event_location .country-section-heading {
        margin-bottom: 26px;
    }

    body.tax-dpe_event_location .country-hero-actions,
    body.tax-dpe_event_location .country-cta-actions {
        align-items: stretch;
        flex-direction: column;
    }

    body.tax-dpe_event_location .country-hero-actions .button,
    body.tax-dpe_event_location .country-cta-actions .button {
        width: 100%;
    }

    body.tax-dpe_event_location .country-benefits-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    body.tax-dpe_event_location .country-benefit-card,
    body.tax-dpe_event_location .country-archive-card,
    body.tax-dpe_event_location .country-archive-note {
        padding: 20px;
    }

    body.tax-dpe_event_location .country-event-copy {
        padding: 22px;
    }

    body.tax-dpe_event_location .country-archive-card,
    body.tax-dpe_event_location .country-archive-note {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: 0 12px;
    }

    body.tax-dpe_event_location .country-archive-card p,
    body.tax-dpe_event_location .country-archive-note p {
        grid-column: 1 / -1;
        margin-top: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.tax-dpe_event_location .country-benefit-card,
    body.tax-dpe_event_location .country-event-link {
        transition: none;
    }

    body.tax-dpe_event_location .country-benefit-card:hover {
        transform: none;
    }
}

body.tax-dpe_event_location .country-empty-state {
    max-width: 780px;
    margin: 0 auto;
    padding: 22px 26px;
    border: 1px solid rgba(18, 63, 50, .12);
    border-radius: 12px;
    background: #fbfaf6;
    color: #58645c;
    text-align: center;
}

body.tax-dpe_event_location .country-partner-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

body.tax-dpe_event_location .country-archive-card h3 a {
    color: inherit;
    text-decoration: none;
}

body.tax-dpe_event_location .country-archive-card h3 a:hover {
    color: #8a6b2f;
}

