.account-access,
.subscription-experience,
.contact-hub,
.journal-access,
.journal-indexing,
.journal-search {
    --portal-ink: #263d3a;
    --portal-muted: #60716e;
    --portal-accent: #2d766f;
    --portal-accent-dark: #225e58;
    --portal-soft: #f5f9f7;
    --portal-border: #dfeae5;
    background: #fff;
    color: var(--portal-ink);
    font-size: 17px;
}

.account-access,
.subscription-experience,
.journal-access,
.journal-indexing,
.journal-search {
    padding: clamp(3rem, 5.5vw, 5rem) 1rem;
}

.account-access .mesj-container {
    max-width: 700px !important;
}

.account-access__panel,
.subscription-experience__panel {
    padding: clamp(1.5rem, 4vw, 3rem);
    border: 1px solid var(--portal-border);
    border-top: 3px solid var(--portal-accent);
    box-shadow: 0 1rem 2.5rem rgba(28, 67, 61, .07);
}

.account-access__panel > .mesj-row > .mesj-col-md-8,
.subscription-experience__panel > .mesj-row > .mesj-col-md-8 {
    width: 100%;
    margin-bottom: 1.7rem;
}

.account-access__panel > .mesj-row > .mesj-col-md-8 {
    margin-bottom: 1.05rem;
}

.account-access__panel h5,
.subscription-experience__panel h5 {
    margin: 0;
    color: var(--portal-ink);
    font-size: clamp(1.3rem, 2vw, 1.65rem);
    font-weight: 700;
    line-height: 1.4;
}

.subscription-experience .mesj-container {
    max-width: 940px !important;
}

.subscription-experience {
    padding-block: clamp(2.5rem, 4vw, 3.75rem);
}

.subscription-experience__panel {
    padding: clamp(1.35rem, 2.8vw, 2.25rem);
}

.subscription-experience__panel > .mesj-row > .mesj-col-md-8 {
    padding-inline: 15px;
    margin-bottom: 1.2rem !important;
}

.subscription-experience__panel > .mesj-row > .mesj-col-md-8 > span {
    display: block;
    margin-bottom: .35rem;
    color: var(--portal-accent) !important;
    font-size: .88rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.subscription-experience__panel h5 {
    font-size: clamp(1.6rem, 2.8vw, 2.2rem);
    line-height: 1.3;
}

.subscription-experience form .mb-4 {
    margin: 0 !important;
}

.subscription-experience form > .mesj-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 1.25rem;
    row-gap: .55rem;
    margin: 0 !important;
}

.subscription-experience form > .mesj-row > [class*="mesj-col-"] {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding-inline: 0 !important;
}

.subscription-experience form > .mesj-row > .mesj-col-md-12 {
    grid-column: 1 / -1;
}

.subscription-experience label {
    display: block;
    margin-bottom: .35rem;
    font-size: .92rem;
}

.subscription-experience .medium-input {
    display: block;
    min-height: 2.85rem;
    margin: 0 !important;
    padding-block: .55rem;
}

.account-access label,
.subscription-experience label,
.journal-search label {
    display: inline-block;
    margin-bottom: .48rem;
    color: var(--portal-ink);
    font-size: .92rem;
    font-weight: 700;
    line-height: 1.45;
}

.account-access .medium-input,
.subscription-experience .medium-input,
.journal-search .medium-input {
    width: 100%;
    min-height: 3.1rem;
    padding: .65rem .85rem;
    border: 1px solid #cddbd5;
    border-radius: .14rem;
    box-shadow: none;
    color: var(--portal-ink);
    font-size: 1rem;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.subscription-experience form label {
    margin-bottom: .25rem;
    line-height: 1.3;
}

.subscription-experience form .medium-input {
    min-height: 2.65rem;
    padding-block: .48rem;
}

.account-access .medium-input::placeholder,
.subscription-experience .medium-input::placeholder,
.journal-search .medium-input::placeholder {
    color: #7a8d88;
    opacity: 1;
}

.account-access .medium-input:focus,
.subscription-experience .medium-input:focus,
.journal-search .medium-input:focus {
    border-color: var(--portal-accent);
    box-shadow: 0 0 0 3px rgba(45, 118, 111, .13);
    outline: 0;
}

.account-access .mesj-button,
.subscription-experience .mesj-button,
.journal-search .mesj-button {
    min-height: 3rem;
    padding: .7rem 1.25rem;
    border-color: var(--portal-accent);
    border-radius: .12rem;
    background: var(--portal-accent);
    box-shadow: none;
    font-size: .88rem;
    font-weight: 700;
    letter-spacing: .07em;
}

.account-access .mesj-button:hover,
.account-access .mesj-button:focus-visible,
.subscription-experience .mesj-button:hover,
.subscription-experience .mesj-button:focus-visible,
.journal-search .mesj-button:hover,
.journal-search .mesj-button:focus-visible {
    border-color: var(--portal-accent-dark);
    background: var(--portal-accent-dark);
}

.account-access form .text-end.flex {
    align-items: center;
    gap: 1.25rem;
}

.account-access form .mb-4 {
    margin: 0 0 .8rem !important;
}

.account-access form .text-end.flex a {
    color: var(--portal-accent);
    font-size: .94rem;
    line-height: 1.9;
    text-decoration: none;
}

.account-access form .text-end.flex a:hover {
    color: var(--portal-accent-dark);
    text-decoration: underline;
}

.account-access #Error {
    margin: 0 0 1rem;
    font-size: .95rem;
    line-height: 1.6;
}

.subscription-experience form > h3:empty {
    display: none;
}

.subscription-experience form > h3 {
    margin: 0 0 1.25rem;
    font-size: .98rem;
    line-height: 1.7;
}

.subscription-experience__notice {
    display: flex;
    align-items: center;
    gap: .65rem;
    margin: 0 0 1.25rem;
    padding: .85rem 1rem;
    border: 1px solid #b9d8cf;
    border-inline-start: 3px solid var(--portal-accent);
    background: #edf7f3;
    color: var(--portal-ink);
    font-size: .98rem;
    font-weight: 700;
    line-height: 1.6;
}

.subscription-experience__notice i {
    flex: 0 0 auto;
    color: var(--portal-accent);
    font-size: 1.2rem;
}

.subscription-experience__notice p {
    margin: 0;
}

.subscription-experience__notice--error {
    border-color: #efc6c2;
    border-inline-start-color: #bc3f35;
    background: #fff4f2;
    color: #8f2c25;
}

.subscription-experience input[type="file"] {
    padding: .42rem;
}

.contact-hub {
    padding: clamp(2rem, 3.5vw, 3.25rem) 1rem;
}

.contact-hub__container,
.journal-access__container,
.journal-indexing__container,
.journal-search .mesj-container {
    width: min(100%, 1140px);
    margin-inline: auto;
}

.contact-hub__cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: clamp(1rem, 2vw, 1.5rem);
}

.contact-hub__card {
    padding: 1.05rem 1.15rem;
    border: 1px solid var(--portal-border);
    background: #fff;
    text-align: center;
}

.contact-hub__icon {
    display: grid;
    place-items: center;
    width: 2.5rem;
    height: 2.5rem;
    margin: 0 auto .55rem;
    border-radius: 50%;
    background: var(--portal-soft);
    color: var(--portal-accent);
    font-size: 1.1rem;
}

.contact-hub__card h2 {
    margin: 0 0 .45rem;
    color: var(--portal-ink);
    font-size: .92rem;
    font-weight: 700;
    line-height: 1.5;
}

.contact-hub__card p,
.contact-hub__card a {
    margin: 0;
    color: var(--portal-muted);
    font-size: .98rem;
    line-height: 1.8;
    text-decoration: none;
}

.contact-hub__card a {
    display: block;
}

.contact-hub__card a:hover {
    color: var(--portal-accent);
}

.contact-hub__main {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    min-height: 28rem;
    overflow: hidden;
    border: 1px solid var(--portal-border);
}

.contact-hub__map {
    position: relative;
    min-height: 28rem;
    background: var(--portal-soft);
}

.contact-hub__map iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 28rem;
    border: 0;
    filter: saturate(.78);
}

.contact-hub__map-place {
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    padding: .75rem .85rem;
    border: 1px solid rgba(26, 74, 70, .14);
    border-radius: 3px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 8px 18px rgba(21, 58, 54, .16);
    color: var(--portal-ink);
    font-size: .92rem;
    font-weight: 700;
    line-height: 1.45;
    text-decoration: none;
    transition: color .18s ease, background-color .18s ease, transform .18s ease;
}

.contact-hub__map-place i {
    flex: 0 0 auto;
    color: var(--portal-accent);
    font-size: 1rem;
}

.contact-hub__map-place:hover,
.contact-hub__map-place:focus-visible {
    background: #fff;
    color: var(--portal-accent);
    outline: 0;
    transform: translateY(-2px);
}

.contact-hub__form-panel {
    padding: clamp(1.4rem, 2.8vw, 2.25rem);
    background: var(--portal-accent);
    color: #fff;
}

.contact-hub__form-panel h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    font-weight: 700;
    line-height: 1.4;
}

.contact-hub__form-panel > p {
    margin: .55rem 0 1rem;
    color: rgba(255, 255, 255, .83);
    font-size: .93rem;
    line-height: 1.65;
    white-space: pre-line;
}

.contact-hub__form-panel form {
    display: grid;
    gap: .55rem;
}

.contact-hub__field {
    display: block;
    margin: 0;
}

.contact-hub__field > span:not(.contact-hub__field-error) {
    display: block;
    margin-bottom: .28rem;
    color: rgba(255, 255, 255, .88);
    font-size: .8rem;
    font-weight: 700;
    line-height: 1.35;
}

.contact-hub__input {
    display: block;
    width: 100%;
    min-height: 2.7rem;
    padding: .58rem .75rem;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: .2rem;
    background: rgba(255, 255, 255, .1);
    box-shadow: none;
    color: #fff;
    font-size: 1rem;
    line-height: 1.5;
    transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.contact-hub__input::placeholder {
    color: rgba(255, 255, 255, .64);
    opacity: 1;
}

.contact-hub__input:focus {
    border-color: #fff;
    background: rgba(255, 255, 255, .16);
    box-shadow: 0 0 0 3px rgba(255, 255, 255, .12);
    outline: 0;
}

.contact-hub__textarea {
    min-height: 4.85rem;
    resize: vertical;
}

.contact-hub__submit {
    justify-self: start;
    min-height: 2.7rem;
    margin-top: .1rem;
    padding: .58rem 1.25rem;
    border: 1px solid #fff;
    border-radius: .12rem;
    background: #fff;
    color: var(--portal-accent-dark);
    font-size: .88rem;
    font-weight: 800;
    letter-spacing: .07em;
    line-height: 1.2;
    text-transform: uppercase;
    transition: background-color .18s ease, color .18s ease;
}

.contact-hub__submit:hover,
.contact-hub__submit:focus-visible {
    background: transparent;
    color: #fff;
    outline: 0;
}

.contact-hub__validation {
    color: #fff3f3;
    font-size: .92rem;
}

.contact-hub__field-error {
    display: block;
    margin-top: .3rem;
    color: #fff3f3;
    font-size: .8rem;
    line-height: 1.4;
}

@media (min-width: 620px) {
    .contact-hub__form-panel form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: .65rem;
    }

    .contact-hub__validation,
    .contact-hub__field--full,
    .contact-hub__submit {
        grid-column: 1 / -1;
    }
}

.terms-policy {
    --terms-ink: #263d3a;
    --terms-muted: #60716e;
    --terms-accent: #2d766f;
    --terms-soft: #f5f9f7;
    --terms-border: #dfeae5;
    padding: clamp(2.5rem, 5vw, 4.5rem) 1rem;
    background: #f8faf9;
    color: var(--terms-ink);
    font-size: 17px;
}

.terms-policy__container {
    width: min(100%, 920px);
    margin-inline: auto;
}

.terms-policy__content {
    padding: clamp(1.4rem, 3.5vw, 3rem);
    border: 1px solid var(--terms-border);
    border-top: 3px solid var(--terms-accent);
    background: #fff;
    box-shadow: 0 1rem 2.5rem rgba(28, 67, 61, .07);
}

.terms-policy__content h2 {
    margin: 2.25rem 0 1rem;
    padding-bottom: .7rem;
    border-bottom: 1px solid var(--terms-border);
    color: var(--terms-ink);
    font-size: clamp(1.2rem, 2vw, 1.55rem);
    font-weight: 700;
    line-height: 1.45;
}

.terms-policy__content h2:first-child {
    margin-top: 0;
}

.terms-policy__content h2::before {
    display: inline-block;
    width: .45rem;
    height: .45rem;
    margin-inline-end: .55rem;
    border-radius: 50%;
    background: var(--terms-accent);
    content: "";
    vertical-align: middle;
}

.terms-policy__content p,
.terms-policy__content li {
    color: var(--terms-muted);
    font-size: 1rem;
    line-height: 2;
}

.terms-policy__content p {
    margin: 0 0 .85rem;
}

.terms-policy__content ul {
    margin: .2rem 0 1rem;
    padding-inline-start: 1.55rem;
}

.terms-policy__content li + li {
    margin-top: .35rem;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.journal-access__container {
    max-width: 1000px;
}

.journal-access__intro,
.journal-access__methods,
.journal-access__footer,
.journal-indexing__content {
    border: 1px solid var(--portal-border);
    background: #fff;
    box-shadow: 0 .9rem 2.4rem rgba(28, 67, 61, .055);
}

.journal-access__intro {
    padding: clamp(1.4rem, 3vw, 2.4rem);
}

.journal-access__intro p,
.journal-access__footer p,
.journal-indexing__content > p,
.journal-indexing__content > div:not([style]) p {
    margin: 0;
    color: var(--portal-muted);
    font-size: 1rem;
    line-height: 2;
}

.journal-access__intro p + p {
    margin-top: 1rem;
}

.journal-access__methods {
    margin-top: 1rem;
    padding: clamp(.9rem, 2vw, 1.35rem);
    overflow-x: auto;
}

.journal-access__methods table {
    width: 100% !important;
    min-width: 36rem;
    margin: 0 !important;
    border: 1px solid var(--portal-border) !important;
    border-collapse: separate !important;
    border-spacing: 0;
    color: var(--portal-muted);
}

.journal-access__methods .table1 {
    min-width: 0;
}

.journal-access__methods th,
.journal-access__methods td {
    padding: .85rem !important;
    border: 0 !important;
    border-bottom: 1px solid var(--portal-border) !important;
    color: var(--portal-muted);
    font-size: .95rem;
    line-height: 1.75;
    text-align: start !important;
    vertical-align: top;
}

.journal-access__methods tr:last-child > th,
.journal-access__methods tr:last-child > td {
    border-bottom: 0 !important;
}

.journal-access__methods th {
    width: 34%;
    background: var(--portal-soft);
    color: var(--portal-ink);
    font-weight: 700;
}

.journal-access__methods td:first-child:not([colspan]) {
    width: 6.5rem;
    text-align: center !important;
}

.journal-access__methods td p {
    margin: .3rem 0 0;
    color: var(--portal-muted);
    font-size: .88rem;
    line-height: 1.5;
    text-align: center !important;
}

.journal-access__methods > table img {
    width: 2.7rem;
    max-width: 100%;
    height: 2.7rem;
    object-fit: contain;
}

.payment-transfer-details {
    padding: 0;
    color: var(--portal-ink);
}

.payment-transfer-details__header {
    margin-bottom: 1rem;
    padding: 0 0 .8rem;
    border-bottom: 1px solid var(--portal-border);
}

.payment-transfer-details__header h2 {
    margin: 0;
    color: var(--portal-ink);
    font-size: clamp(1.15rem, 2vw, 1.45rem);
    font-weight: 700;
    line-height: 1.45;
}

.payment-transfer-details__header p {
    margin: .3rem 0 0;
    color: var(--portal-muted);
    font-size: .88rem;
    line-height: 1.6;
}

.payment-transfer-details__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: .7rem;
}

.payment-transfer-details__card {
    position: relative;
    padding: .95rem;
    border: 1px solid var(--portal-border);
    border-top: 2px solid var(--portal-accent);
    background: #fff;
    box-shadow: 0 .45rem 1.2rem rgba(28, 67, 61, .035);
}

.payment-transfer-details__card[hidden] {
    display: none !important;
}

.payment-transfer-details__icon {
    flex: 0 0 auto;
    width: 2.25rem;
    height: 2.25rem;
    padding: .25rem;
    border: 1px solid var(--portal-border);
    border-radius: 50%;
    background: var(--portal-soft);
    object-fit: contain;
}

.payment-transfer-details__card-heading {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    margin-bottom: .75rem;
}

.payment-transfer-details__card-heading h3 {
    margin: 0;
    color: var(--portal-ink);
    font-size: .96rem;
    font-weight: 700;
    line-height: 1.45;
}

.payment-transfer-details__card-heading p {
    margin: .18rem 0 0;
    color: var(--portal-muted);
    font-size: .82rem;
    line-height: 1.5;
}

.payment-transfer-details__list {
    display: grid;
    gap: .35rem;
    margin: 0;
}

.payment-transfer-details__list > div {
    display: grid;
    grid-template-columns: minmax(5.5rem, .78fr) minmax(0, 1.22fr);
    gap: .35rem;
    padding: .42rem .5rem;
    background: var(--portal-soft);
}

.payment-transfer-details__list dt,
.payment-transfer-details__list dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.payment-transfer-details__list dt {
    color: var(--portal-ink);
    font-size: .76rem;
    font-weight: 700;
    line-height: 1.45;
}

.payment-transfer-details__list dd {
    color: var(--portal-muted);
    font-size: .78rem;
    line-height: 1.45;
}

.payment-transfer-details__steps {
    display: grid;
    gap: .36rem;
    margin: .75rem 0 0;
    padding: 0;
    counter-reset: payment-step;
    color: var(--portal-muted);
    font-size: .78rem;
    line-height: 1.55;
    list-style: none;
}

.payment-transfer-details__steps li {
    position: relative;
    min-height: 1.5rem;
    padding-inline-start: 1.75rem;
}

.payment-transfer-details__steps li::before {
    position: absolute;
    inset-inline-start: 0;
    top: .02rem;
    display: grid;
    place-items: center;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    background: #e3f0ec;
    color: var(--portal-accent);
    content: counter(payment-step);
    counter-increment: payment-step;
    font-size: .68rem;
    font-weight: 800;
    line-height: 1;
}

.payment-transfer-details__card--bank {
    grid-column: 1 / -1;
    order: -1;
    border-top-width: 3px;
}

.payment-transfer-details__card--online {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: minmax(13rem, .85fr) minmax(0, 1.15fr);
    align-items: center;
    gap: 1rem;
}

.payment-transfer-details__card--online .payment-transfer-details__card-heading,
.payment-transfer-details__card--online .payment-transfer-details__steps {
    margin: 0;
}

.payment-transfer-details__card--online .payment-transfer-details__steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
}

.payment-transfer-details__list--bank {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .4rem;
}

.payment-transfer-details__list--bank > div {
    grid-template-columns: 1fr;
    gap: .16rem;
    min-height: 3.1rem;
    padding: .5rem .6rem;
}

.payment-transfer-details__list--bank dt {
    color: var(--portal-accent);
    font-size: .72rem;
}

.payment-transfer-details__list--bank dd {
    color: var(--portal-ink);
    font-size: .8rem;
    font-weight: 600;
}

@media (min-width: 760px) {
    .payment-transfer-details__card--bank .payment-transfer-details__steps {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: .55rem;
    }
}

@media (max-width: 560px) {
    .payment-transfer-details__list--bank {
        grid-template-columns: minmax(0, 1fr);
    }
}

.subscription-experience #paymentDetails {
    margin-top: .15rem;
}

.subscription-experience #paymentDetails .payment-transfer-details {
    padding: 1rem;
    border: 1px solid var(--portal-border);
    background: var(--portal-soft);
}

.subscription-experience #paymentDetails .payment-transfer-details__grid {
    grid-template-columns: minmax(0, 1fr);
}

.subscription-experience #paymentDetails .payment-transfer-details__card {
    background: #fff;
}

.account-profile,
.research-submission,
.draft-status-page,
.cart-experience {
    --portal-ink: #263d3a;
    --portal-muted: #60716e;
    --portal-accent: #2d766f;
    --portal-accent-dark: #225e58;
    --portal-soft: #f5f9f7;
    --portal-border: #dfeae5;
    background: #f8faf9;
    color: var(--portal-ink);
    font-size: 17px;
}

.account-profile,
.research-submission,
.draft-status-page,
.cart-experience {
    padding: clamp(2.5rem, 4.5vw, 4.5rem) 1rem;
}

.account-profile .mesj-container,
.research-submission .mesj-container {
    max-width: 960px !important;
}

.account-profile__panel,
.research-submission__panel {
    padding: clamp(1.35rem, 3vw, 2.25rem);
    border: 1px solid var(--portal-border);
    border-top: 3px solid var(--portal-accent);
    box-shadow: 0 1rem 2.5rem rgba(28, 67, 61, .07);
}

.account-profile__heading,
.research-submission__heading {
    width: 100%;
    margin-bottom: 1.1rem;
}

.account-profile__heading h5,
.research-submission__heading h5 {
    margin: 0;
    color: var(--portal-ink);
    font-size: clamp(1.35rem, 2.4vw, 1.8rem);
    font-weight: 700;
    line-height: 1.4;
}

.account-profile form > .mesj-row {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .75rem 1rem;
    margin: 0 !important;
}

.account-profile form > .mesj-row > [class*="mesj-col-"] {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding-inline: 0 !important;
}

.account-profile form > .mesj-row > .mesj-col-md-6 {
    grid-column: span 3;
}

.account-profile form > .mesj-row > .mesj-col-md-10 {
    grid-column: span 5;
}

.account-profile form > .mesj-row > .mesj-col-md-2 {
    grid-column: span 1;
}

.account-profile form > .mesj-row > .mesj-col-md-12 {
    grid-column: 1 / -1;
}

.account-profile form .mb-4,
.research-submission .mb-4 {
    margin: 0 !important;
}

.account-profile label,
.research-submission label {
    display: block;
    margin-bottom: .32rem;
    color: var(--portal-ink);
    font-size: .9rem;
    font-weight: 700;
    line-height: 1.4;
}

.account-profile .medium-input,
.research-submission .medium-input,
.research-submission .mesj-select {
    display: block;
    width: 100%;
    min-height: 2.75rem;
    margin: 0 !important;
    padding: .52rem .75rem;
    border: 1px solid #cddbd5;
    border-radius: .15rem;
    background: #fff;
    box-shadow: none;
    color: var(--portal-ink);
    font-size: .96rem;
    line-height: 1.45;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.account-profile .medium-input::placeholder,
.research-submission .medium-input::placeholder {
    color: #7a8d88;
    opacity: 1;
}

.account-profile .medium-input:focus,
.research-submission .medium-input:focus,
.research-submission .mesj-select:focus {
    border-color: var(--portal-accent);
    box-shadow: 0 0 0 3px rgba(45, 118, 111, .13);
    outline: 0;
}

.account-profile input[type="file"],
.research-submission input[type="file"] {
    padding: .4rem;
}

.account-profile .mesj-col-md-2 a {
    display: grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    margin-inline: auto;
    border: 1px solid var(--portal-border);
    border-radius: 50%;
    background: var(--portal-soft);
    color: var(--portal-accent);
    text-decoration: none;
}

.account-profile .mesj-col-md-2 a i {
    width: auto !important;
    height: auto !important;
    font-size: 1.1rem;
}

.account-profile__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .65rem;
    margin-top: .35rem !important;
}

.account-profile .mesj-button,
.research-submission .mesj-button {
    min-height: 2.75rem;
    padding: .58rem 1rem;
    border-color: var(--portal-accent);
    border-radius: .12rem;
    background: var(--portal-accent);
    box-shadow: none;
    font-size: .85rem;
    font-weight: 700;
    letter-spacing: .05em;
}

.account-profile .mesj-button:hover,
.account-profile .mesj-button:focus-visible,
.research-submission .mesj-button:hover,
.research-submission .mesj-button:focus-visible {
    border-color: var(--portal-accent-dark);
    background: var(--portal-accent-dark);
}

.research-submission .mesj-container {
    max-width: 860px !important;
}

.research-submission__notice {
    width: 100%;
    margin: 0 0 1.25rem;
    padding: .75rem .9rem;
    border-inline-start: 3px solid var(--portal-accent);
    background: var(--portal-soft);
}

.research-submission__notice h5 {
    margin: 0;
    color: var(--portal-muted);
    font-size: .92rem;
    font-weight: 600;
    line-height: 1.7;
}

.research-submission .mesj-col-12 > div > .mesj-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem 1rem;
    margin: 0 !important;
}

.research-submission .mesj-col-12 > div > .mesj-row > [class*="mesj-col-"] {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding-inline: 0 !important;
}

.research-submission .mesj-col-12 > div > .mesj-row > .mesj-col-md-12 {
    grid-column: 1 / -1;
}

.research-submission #Error {
    grid-column: 1 / -1;
    margin: 0;
    font-size: .9rem;
}

.research-submission__actions {
    margin-top: .3rem !important;
}

.research-submission__actions > .flex {
    align-items: center;
    gap: .65rem;
}

.draft-status-page .mesj-container {
    max-width: 1220px !important;
}

.draft-status-page__table-wrap {
    overflow-x: auto;
    border: 1px solid var(--portal-border);
    border-top: 3px solid var(--portal-accent);
    background: #fff;
    box-shadow: 0 1rem 2.5rem rgba(28, 67, 61, .07);
}

.draft-status-page__table {
    min-width: 1050px;
    margin: 0;
    color: var(--portal-muted);
}

.draft-status-page__table th {
    padding: .85rem .7rem;
    border-bottom: 1px solid var(--portal-border);
    background: var(--portal-soft);
    color: var(--portal-ink);
    font-size: .82rem;
    font-weight: 700;
    line-height: 1.45;
    text-align: center;
    vertical-align: middle;
    white-space: normal;
}

.draft-status-page__table td {
    padding: .8rem .7rem;
    border-bottom: 1px solid #ebf0ed;
    font-size: .89rem;
    line-height: 1.55;
    text-align: center;
    vertical-align: middle;
}

.draft-status-page__table tbody tr {
    transition: background-color .18s ease;
}

.draft-status-page__table tbody tr:hover {
    background: #fbfdfc;
}

.draft-status-page__table tbody tr:last-child td {
    border-bottom: 0;
}

.draft-status-page__title {
    min-width: 14rem;
    color: var(--portal-ink);
    text-align: start !important;
    overflow-wrap: anywhere;
}

.draft-status-page__table .mesj-button,
.draft-status-page__fee-action {
    min-height: 2.25rem;
    padding: .42rem .65rem;
    border-color: var(--portal-accent);
    border-radius: .12rem;
    background: #fff;
    box-shadow: none;
    color: var(--portal-accent);
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .03em;
}

.draft-status-page__table .mesj-button:hover,
.draft-status-page__table .mesj-button:focus-visible,
.draft-status-page__fee-action:hover,
.draft-status-page__fee-action:focus-visible {
    background: var(--portal-soft);
    color: var(--portal-accent-dark);
}

.draft-status-page__paid {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: .32rem .58rem;
    border: 1px solid #b6d9cc;
    border-radius: 999px;
    background: #edf8f3;
    color: #26765d;
    font-size: .78rem;
    font-weight: 700;
}

.draft-status-page__delete {
    min-width: 2.25rem;
    padding-inline: .55rem !important;
    border-color: #d86a5f !important;
    background: #fff !important;
    color: #bb4438 !important;
}

.draft-status-page__delete:hover,
.draft-status-page__delete:focus-visible {
    background: #fff4f2 !important;
    color: #9f342a !important;
}

.cart-experience {
    padding-block: clamp(2.5rem, 4.5vw, 4rem);
}

.cart-experience .mesj-container {
    max-width: 1180px !important;
}

.cart-experience__panel,
.cart-experience__item-card,
.cart-experience #empty-cart-message .mesj-card {
    border: 1px solid var(--portal-border);
    border-top: 3px solid var(--portal-accent);
    border-radius: 0;
    background: #fff;
    box-shadow: 0 .8rem 2.1rem rgba(28, 67, 61, .06);
}

.cart-experience__title {
    padding-bottom: .7rem;
    border-bottom: 1px solid var(--portal-border);
    color: var(--portal-ink);
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.4;
}

.cart-experience .info-label,
.cart-experience .quantity-label {
    display: block;
    margin-bottom: .3rem;
    color: var(--portal-ink);
    font-size: .86rem;
    font-weight: 700;
    line-height: 1.4;
}

.cart-experience .user-info-section .mesj-row {
    row-gap: .1rem;
}

.cart-experience .user-info-section .mesj-field,
.cart-experience .document-type-select,
.cart-experience .quantity-input,
.cart-experience #PaymentMethod,
.cart-experience #PaymentSlip {
    min-height: 2.65rem;
    border: 1px solid #cddbd5;
    border-radius: .15rem;
    box-shadow: none;
    color: var(--portal-ink);
    transition: border-color .18s ease, box-shadow .18s ease;
}

.cart-experience .user-info-section .mesj-field:focus,
.cart-experience .document-type-select:focus,
.cart-experience .quantity-input:focus,
.cart-experience #PaymentMethod:focus,
.cart-experience #PaymentSlip:focus {
    border-color: var(--portal-accent);
    box-shadow: 0 0 0 3px rgba(45, 118, 111, .13);
    outline: 0;
}

.cart-experience .payment-section {
    padding: 1.15rem;
    border: 1px solid var(--portal-border);
    border-radius: 0;
    background: var(--portal-soft);
}

.cart-experience .total-section h5 {
    margin: 0 0 .8rem;
    color: var(--portal-ink);
    font-size: 1rem;
    line-height: 1.65;
}

.cart-experience #total-price-jd,
.cart-experience #total-price-usd,
.cart-experience .price-value {
    color: var(--portal-accent) !important;
}

.cart-experience .payment-section .mesj-button,
.cart-experience > .mesj-container > .mesj-row:last-child .mesj-button,
.cart-experience #empty-cart-message .mesj-button {
    min-height: 2.75rem;
    border-color: var(--portal-accent);
    border-radius: .12rem;
    background: var(--portal-accent);
    box-shadow: none;
    font-size: .86rem;
    font-weight: 700;
    letter-spacing: .04em;
}

.cart-experience .payment-section .mesj-button:hover,
.cart-experience .payment-section .mesj-button:focus-visible,
.cart-experience > .mesj-container > .mesj-row:last-child .mesj-button:hover,
.cart-experience > .mesj-container > .mesj-row:last-child .mesj-button:focus-visible,
.cart-experience #empty-cart-message .mesj-button:hover,
.cart-experience #empty-cart-message .mesj-button:focus-visible {
    border-color: var(--portal-accent-dark);
    background: var(--portal-accent-dark);
}

.cart-experience .cart-item-card {
    margin-bottom: .9rem !important;
}

.cart-experience__item-card {
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.cart-experience__item-card:hover {
    border-color: #b9d8cf;
    box-shadow: 0 1rem 2.1rem rgba(28, 67, 61, .1);
    transform: translateY(-2px);
}

.cart-experience .magazine-cover img,
.cart-experience .placeholder-cover {
    width: 100%;
    min-height: 7.5rem;
    max-height: 8.5rem;
    object-fit: cover;
}

.cart-experience .magazine-title {
    color: var(--portal-ink);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;
}

.cart-experience .magazine-price {
    color: var(--portal-muted);
    font-size: .9rem;
}

.cart-experience .quantity-input-group {
    max-width: 8.6rem;
}

.cart-experience .quantity-input-group .mesj-button {
    min-width: 2.25rem;
    border-color: #cddbd5;
    background: #fff;
    color: var(--portal-accent);
}

.cart-experience .quantity-input-group .mesj-button:hover,
.cart-experience .quantity-input-group .mesj-button:focus-visible {
    border-color: var(--portal-accent);
    background: var(--portal-soft);
    color: var(--portal-accent-dark);
}

.cart-experience__remove {
    min-height: 2.35rem;
    padding: .48rem .65rem;
    border-color: #d86a5f !important;
    border-radius: .12rem;
    background: #fff !important;
    color: #bb4438 !important;
    box-shadow: none;
    font-size: .78rem;
    font-weight: 700;
}

.cart-experience__remove:hover,
.cart-experience__remove:focus-visible {
    background: #fff4f2 !important;
    color: #9f342a !important;
}

.cart-experience__quantity {
    display: inline-grid !important;
    grid-template-columns: 2.55rem 3.25rem 2.55rem;
    width: auto !important;
    min-width: 8.35rem;
    overflow: hidden;
    border: 1px solid #cddbd5;
    border-radius: .3rem;
    background: #fff;
    direction: ltr;
}

.cart-experience__quantity .cart-experience__quantity-button {
    display: grid !important;
    place-items: center;
    min-width: 0;
    min-height: 2.6rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: var(--portal-soft);
    box-shadow: none;
    color: var(--portal-accent);
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1;
}

.cart-experience__quantity .cart-experience__quantity-button:hover,
.cart-experience__quantity .cart-experience__quantity-button:focus-visible {
    background: #e3f0ec;
    color: var(--portal-accent-dark);
    outline: 0;
}

.cart-experience__quantity .cart-experience__quantity-input {
    width: 100%;
    min-height: 2.6rem;
    margin: 0;
    padding: 0 .25rem;
    border: 0;
    border-inline: 1px solid #cddbd5;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
    color: var(--portal-ink);
    font-size: .94rem;
    font-weight: 700;
}

.cart-experience__quantity .cart-experience__quantity-input:focus {
    box-shadow: inset 0 0 0 2px rgba(45, 118, 111, .18);
    outline: 0;
}

.cart-experience__remove {
    min-height: 2.5rem;
    padding: .48rem .7rem;
    gap: .35rem;
    border-color: #d86a5f !important;
    border-radius: .18rem;
    background: #fff !important;
    color: #bb4438 !important;
    font-size: .8rem;
    font-weight: 700;
    white-space: nowrap;
}

.cart-experience__remove i {
    font-size: .8rem;
}

.cart-experience__remove:hover,
.cart-experience__remove:focus-visible {
    border-color: #bb4438 !important;
    background: #fff4f2 !important;
    color: #9f342a !important;
    outline: 0;
}

.journal-issues {
    --portal-ink: #263d3a;
    --portal-muted: #60716e;
    --portal-accent: #2d766f;
    --portal-accent-dark: #225e58;
    --portal-soft: #f5f9f7;
    --portal-border: #dfeae5;
    padding: clamp(2.5rem, 4.5vw, 4.5rem) 1rem;
    background: #f8faf9;
    color: var(--portal-ink);
    font-size: 17px;
}

.journal-issues .mesj-container {
    max-width: 1240px !important;
}

.journal-issues .mesj-container > .mesj-row {
    display: grid !important;
    grid-template-columns: minmax(12.5rem, 16.25rem) minmax(0, 1fr);
    gap: 1.25rem;
    margin: 0 !important;
}

.journal-issues .mesj-container > .mesj-row > [class*="mesj-col-"] {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding-inline: 0 !important;
}

.journal-issues__navigation {
    margin: 0;
    padding: .5rem 0;
    border: 1px solid var(--portal-border);
    border-top: 3px solid var(--portal-accent);
    background: #fff;
    box-shadow: 0 .8rem 2rem rgba(28, 67, 61, .06);
    list-style: none;
}

.journal-issues__navigation li {
    margin: 0 !important;
    border-bottom: 1px solid #edf2ef;
}

.journal-issues__navigation li:last-child {
    border-bottom: 0;
}

.journal-issues__navigation a {
    display: block;
    padding: .65rem .8rem;
    color: var(--portal-muted);
    font-size: .84rem;
    font-weight: 600;
    line-height: 1.45;
    text-decoration: none;
    transition: background-color .18s ease, color .18s ease, padding-inline-start .18s ease;
}

.journal-issues__navigation a:hover,
.journal-issues__navigation a:focus-visible {
    padding-inline-start: 1.1rem;
    background: var(--portal-soft);
    color: var(--portal-accent);
    outline: 0;
}

.journal-issues__grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin: 0 !important;
}

.journal-issues__grid > [class*="mesj-col-"] {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding-inline: 0 !important;
}

.journal-issues__grid > .mesj-col-12 {
    grid-column: 1 / -1;
}

.journal-issues__card {
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--portal-border);
    border-top: 3px solid var(--portal-accent);
    background: #fff;
    box-shadow: 0 .8rem 2rem rgba(28, 67, 61, .055);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.journal-issues__card:hover {
    border-color: #b9d8cf;
    box-shadow: 0 1rem 2rem rgba(28, 67, 61, .12);
    transform: translateY(-3px);
}

.journal-issues__cover {
    position: relative;
    overflow: hidden;
    aspect-ratio: 3 / 4;
    background: var(--portal-soft);
}

.journal-issues__cover a,
.journal-issues__cover img {
    display: block;
    width: 100%;
    height: 100%;
}

.journal-issues__cover img {
    object-fit: cover;
    transition: transform .28s ease;
}

.journal-issues__card:hover .journal-issues__cover img {
    transform: scale(1.035);
}

.journal-issues__cover .blog-rounded-icon {
    display: grid;
    place-items: center;
    width: 2.55rem;
    height: 2.55rem;
    border: 1px solid #fff;
    border-radius: 50%;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 .5rem 1.1rem rgba(28, 67, 61, .12);
}

.journal-issues__cover .blog-rounded-icon i {
    color: var(--portal-accent) !important;
}

.journal-issues__details {
    padding: 1rem .9rem 1.1rem;
}

.journal-issues__details a {
    text-decoration: none;
}

.journal-issues__year {
    width: fit-content;
    margin: 0 auto .55rem;
    padding: .24rem .5rem;
    border: 1px solid #cfe2dc;
    border-radius: 999px;
    background: var(--portal-soft);
    color: var(--portal-accent) !important;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.35;
}

.journal-issues__title {
    min-height: 3.15rem;
    color: var(--portal-ink) !important;
    font-size: .98rem;
    font-weight: 700;
    line-height: 1.55;
}

.journal-issues__summary {
    display: -webkit-box !important;
    min-height: 3.25rem;
    margin-top: .45rem;
    overflow: hidden;
    color: var(--portal-muted) !important;
    font-size: .84rem;
    line-height: 1.55;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.journal-issues__title:hover,
.journal-issues__title:focus-visible,
.journal-issues__summary:hover,
.journal-issues__summary:focus-visible {
    color: var(--portal-accent) !important;
    outline: 0;
}

.journal-issues__pagination {
    margin-top: .75rem;
}

.journal-issues__pagination .mesj-pagination {
    gap: .35rem;
    margin: 0;
}

.journal-issues__pagination .mesj-page-link {
    min-width: 2.35rem;
    min-height: 2.35rem;
    border-color: var(--portal-border) !important;
    background: #fff !important;
    color: var(--portal-accent) !important;
    font-size: .85rem;
    font-weight: 700;
    text-align: center;
}

.journal-issues__pagination .mesj-page-item.active .mesj-page-link,
.journal-issues__pagination .mesj-page-link:hover,
.journal-issues__pagination .mesj-page-link:focus-visible {
    border-color: var(--portal-accent) !important;
    background: var(--portal-accent) !important;
    color: #fff !important;
    outline: 0;
}

[dir="rtl"] .journal-issues {
    font-family: "El Messiri", sans-serif;
}

.journal-article {
    --portal-ink: #263d3a;
    --portal-muted: #60716e;
    --portal-accent: #2d766f;
    --portal-accent-dark: #225e58;
    --portal-soft: #f5f9f7;
    --portal-border: #dfeae5;
    padding: clamp(2.5rem, 4.5vw, 4.5rem) 1rem;
    background: #f8faf9;
    color: var(--portal-ink);
    font-size: 17px;
}

.journal-article .mesj-container {
    max-width: 1040px !important;
}

.journal-article__content {
    overflow: hidden;
    border: 1px solid var(--portal-border);
    border-top: 3px solid var(--portal-accent);
    background: #fff;
    box-shadow: 0 1rem 2.5rem rgba(28, 67, 61, .07);
}

.journal-article__header {
    padding: clamp(1.4rem, 3vw, 2.5rem) clamp(1.35rem, 4vw, 3.4rem) 1.4rem;
    border-bottom: 1px solid var(--portal-border);
}

.journal-article__metadata {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem .8rem;
    margin: 0 0 1rem;
    padding: 0;
    list-style: none;
}

.journal-article__metadata li {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: var(--portal-muted);
    font-size: .82rem;
    line-height: 1.45;
}

.journal-article__metadata i {
    color: var(--portal-accent);
    font-size: .9rem;
}

.journal-article__metadata a {
    color: var(--portal-muted);
    text-decoration: none;
}

.journal-article__metadata a:hover,
.journal-article__metadata a:focus-visible {
    color: var(--portal-accent);
    text-decoration: underline;
    outline: 0;
}

.journal-article__header h1 {
    margin: 0;
    color: var(--portal-ink);
    font-size: clamp(1.5rem, 3vw, 2.25rem);
    font-weight: 700;
    line-height: 1.48;
    overflow-wrap: anywhere;
}

.journal-article__author {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    margin-top: 1.25rem;
    padding: .8rem .9rem;
    border-inline-start: 3px solid var(--portal-accent);
    background: var(--portal-soft);
}

.journal-article__author > i {
    margin-top: .15rem;
    color: var(--portal-accent);
    font-size: 1rem;
}

.journal-article__author strong,
.journal-article__author p,
.journal-article__author a {
    display: block;
    margin: 0;
    line-height: 1.65;
}

.journal-article__author strong {
    color: var(--portal-ink);
    font-size: .98rem;
}

.journal-article__author p,
.journal-article__author a {
    color: var(--portal-muted);
    font-size: .9rem;
}

.journal-article__author a {
    width: fit-content;
    color: var(--portal-accent);
    text-decoration: none;
}

.journal-article__author a:hover,
.journal-article__author a:focus-visible {
    color: var(--portal-accent-dark);
    text-decoration: underline;
    outline: 0;
}

.journal-article__body {
    padding: clamp(1.4rem, 3.5vw, 2.75rem) clamp(1.35rem, 4vw, 3.4rem);
    color: var(--portal-muted);
    font-size: 1.04rem;
    line-height: 2.05;
    overflow-wrap: break-word;
    text-align: justify;
}

.journal-article__body p,
.journal-article__body li {
    margin: 0 0 1rem;
    text-align: justify;
}

.journal-article__body h2,
.journal-article__body h3,
.journal-article__body h4 {
    margin: 1.75rem 0 .8rem;
    color: var(--portal-ink);
    font-weight: 700;
    line-height: 1.5;
}

.journal-article__body a {
    color: var(--portal-accent);
    text-decoration: underline;
    text-underline-offset: .15em;
}

.journal-article__keywords {
    margin: 0 clamp(1.35rem, 4vw, 3.4rem);
    padding: .85rem .95rem;
    border: 1px solid var(--portal-border);
    background: var(--portal-soft);
    color: var(--portal-muted);
    font-size: .92rem;
    line-height: 1.75;
}

.journal-article__keywords strong {
    color: var(--portal-ink);
}

.journal-article__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .6rem;
    margin: 1.4rem clamp(1.35rem, 4vw, 3.4rem) clamp(1.4rem, 3vw, 2.4rem);
    padding-top: 1.25rem;
    border-top: 1px solid var(--portal-border);
}

.journal-article__actions .mesj-button {
    min-height: 2.75rem;
    padding: .58rem 1rem;
    border-radius: .12rem;
    box-shadow: none;
    font-size: .84rem;
    font-weight: 700;
    letter-spacing: .04em;
}

.journal-article__buy {
    border-color: var(--portal-accent) !important;
    background: var(--portal-accent) !important;
    color: #fff !important;
}

.journal-article__buy:hover,
.journal-article__buy:focus-visible {
    border-color: var(--portal-accent-dark) !important;
    background: var(--portal-accent-dark) !important;
    outline: 0;
}

.journal-article__back {
    border-color: #cddbd5 !important;
    background: #fff !important;
    color: var(--portal-accent) !important;
}

.journal-article__back:hover,
.journal-article__back:focus-visible {
    border-color: var(--portal-accent) !important;
    background: var(--portal-soft) !important;
    color: var(--portal-accent-dark) !important;
    outline: 0;
}

[dir="rtl"] .journal-article {
    font-family: "El Messiri", sans-serif;
}

.journal-issue-details,
.journal-issue-details__latest {
    --portal-ink: #263d3a;
    --portal-muted: #60716e;
    --portal-accent: #2d766f;
    --portal-accent-dark: #225e58;
    --portal-soft: #f5f9f7;
    --portal-border: #dfeae5;
    color: var(--portal-ink);
    font-size: 17px;
}

.journal-issue-details {
    padding: clamp(2.5rem, 4.5vw, 4.5rem) 1rem;
    background: #f8faf9;
}

.journal-issue-details .mesj-container,
.journal-issue-details__latest .mesj-container {
    max-width: 1240px !important;
}

.journal-issue-details__hero {
    display: block !important;
    margin: 0 !important;
}

/* News listing */
.news-listing {
    --news-listing-ink: #263d3a;
    --news-listing-muted: #657a7a;
    --news-listing-accent: #1c716b;
    padding: clamp(2.75rem, 5vw, 4.75rem) 0;
    background: linear-gradient(180deg, #f5f9f8 0%, #fff 24rem);
}

.news-listing .mesj-container {
    max-width: 78rem !important;
}

.news-listing > .mesj-container > .mesj-row {
    margin-inline: 0 !important;
}

.news-listing .mesj-col-lg-12 {
    width: 100% !important;
    max-width: none !important;
    padding-inline: 0 !important;
}

.news-listing .mesj-col-lg-12 > .mesj-row {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.5rem;
    margin: 0 !important;
}

.news-listing .mesj-col-lg-12 > .mesj-row > .mesj-col-md-2 {
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
}

.news-listing__card {
    display: flex;
    height: 100%;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #deebe7;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 .55rem 1.4rem rgba(27, 70, 66, .08);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.news-listing__card:hover {
    transform: translateY(-.3rem);
    border-color: #a9d4ca;
    box-shadow: 0 1rem 2rem rgba(27, 70, 66, .14);
}

.news-listing__media {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: #e8f1ee;
}

.news-listing__media > a,
.news-listing__media img {
    display: block;
    width: 100%;
    height: 100%;
}

.news-listing__media img {
    object-fit: cover;
    transition: transform .35s ease;
}

.news-listing__card:hover .news-listing__media img {
    transform: scale(1.045);
}

.news-listing__media-action {
    position: absolute;
    inset: auto 1rem 1rem auto;
    display: grid;
    width: 2.35rem;
    height: 2.35rem;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .75);
    border-radius: 50%;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 .25rem .75rem rgba(23, 61, 57, .18);
}

[dir="rtl"] .news-listing__media-action {
    right: auto;
    left: 1rem;
    transform: rotate(180deg);
}

.news-listing__content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1.1rem 1.1rem 1.2rem;
    text-align: start;
}

.news-listing__title {
    display: -webkit-box;
    min-height: 3.2rem;
    overflow: hidden;
    color: var(--news-listing-ink);
    font-size: 1.02rem;
    font-weight: 700;
    line-height: 1.6;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.news-listing__title:hover {
    color: var(--news-listing-accent);
}

.news-listing__summary {
    display: -webkit-box;
    min-height: 4.5rem;
    margin: .6rem 0 0;
    overflow: hidden;
    color: var(--news-listing-muted);
    font-size: .89rem;
    line-height: 1.68;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.news-listing .mesj-col-lg-12 > .mesj-row > .mesj-col-12 {
    display: flex;
    grid-column: 1 / -1;
    justify-content: center;
    width: 100% !important;
    margin-top: 1rem !important;
    padding: 0 !important;
}

@media (max-width: 991.98px) {
    .news-listing .mesj-col-lg-12 > .mesj-row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .news-listing {
        padding-block: 2.5rem;
    }

    .news-listing .mesj-col-lg-12 > .mesj-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem;
    }

    .news-listing__content {
        padding: .9rem;
    }

    .news-listing__summary {
        min-height: 4.4rem;
        font-size: .84rem;
    }
}

@media (max-width: 420px) {
    .news-listing .mesj-col-lg-12 > .mesj-row {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* News detail */
.news-detail {
    --news-detail-ink: #263d3a;
    --news-detail-muted: #60716e;
    --news-detail-accent: #2d766f;
    --news-detail-soft: #f5f9f7;
    --news-detail-border: #dfeae5;
    padding: clamp(2.5rem, 5vw, 5.25rem) 1rem;
    background: #f8faf9;
}

.news-detail .mesj-container {
    max-width: 1240px !important;
}

.news-detail__article {
    /* Keep the cover free to stick while the article text scrolls. */
    overflow: visible;
    border: 1px solid var(--news-detail-border);
    border-top: 3px solid var(--news-detail-accent);
    background: #fff;
    padding: clamp(1rem, 2.5vw, 2.25rem);
    box-shadow: 0 1rem 2.6rem rgba(28, 67, 61, .08);
}

.news-detail__grid {
    display: grid;
    grid-template-columns: minmax(14rem, 22rem) minmax(0, 1fr);
    gap: clamp(1.25rem, 3vw, 2.75rem);
    align-items: start;
}

.news-detail__media {
    position: relative;
    overflow: hidden;
    margin: 0;
    border: 1px solid var(--news-detail-border);
    border-top: 3px solid var(--news-detail-accent);
    background: var(--news-detail-soft);
    box-shadow: 0 .75rem 1.8rem rgba(28, 67, 61, .09);
}

.news-detail__media img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    min-height: 0;
    max-height: calc(100dvh - 8.25rem);
    margin-inline: auto;
    object-fit: contain;
}

.news-detail__content {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    padding: .25rem 0;
}

.news-detail__meta {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: .95rem;
    padding: .36rem .62rem;
    border: 1px solid #cfe2dc;
    border-radius: 999px;
    background: var(--news-detail-soft);
    color: var(--news-detail-accent);
    font-size: .82rem;
    font-weight: 700;
    line-height: 1.35;
}

.news-detail__meta i {
    font-size: .95rem;
}

.news-detail__content h1 {
    margin: 0 0 1rem;
    color: var(--news-detail-ink);
    font-size: clamp(1.45rem, 2.7vw, 2.25rem);
    font-weight: 700;
    line-height: 1.38;
    overflow-wrap: anywhere;
    text-align: start;
}

.news-detail__description {
    margin: 0;
    color: var(--news-detail-muted);
    font-size: 1rem;
    line-height: 2;
    overflow-wrap: anywhere;
    text-align: justify;
    text-align-last: start;
    text-justify: inter-word;
    white-space: pre-line;
}

.news-detail__external-link,
.news-detail__back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 2.7rem;
    border: 1px solid var(--news-detail-accent);
    color: var(--news-detail-accent);
    font-size: .85rem;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.news-detail__external-link {
    margin-top: 1.5rem;
    padding: .55rem .95rem;
    background: var(--news-detail-accent);
    color: #fff;
}

.news-detail__back {
    margin-top: 1.2rem;
    padding: .45rem .75rem;
    background: #fff;
}

.news-detail__external-link:hover,
.news-detail__external-link:focus-visible {
    border-color: #225e58;
    background: #225e58;
    color: #fff;
    outline: 0;
    transform: translateY(-1px);
}

.news-detail__back:hover,
.news-detail__back:focus-visible {
    border-color: #b9d8cf;
    background: var(--news-detail-soft);
    color: #225e58;
    outline: 0;
}

[dir="rtl"] .news-detail {
    font-family: "El Messiri", sans-serif;
}

[dir="rtl"] .news-detail__back i {
    transform: scaleX(-1);
}

/* Match the About Us sticky behavior on desktop. */
@media (min-width: 992px) {
    .news-detail,
    .news-detail .mesj-container,
    .news-detail__article,
    .news-detail__grid {
        overflow: visible;
    }

    .news-detail__grid {
        align-items: start;
    }

    .news-detail__media {
        position: sticky;
        /* Keep the cover below the public header, like About Us. */
        top: 7.25rem;
        z-index: 1;
        align-self: start;
    }

    .news-detail__media img {
        max-height: calc(100dvh - 9rem);
    }
}

@media (max-width: 991.98px) {
    .news-detail {
        padding-inline: .75rem;
    }

    .news-detail__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .news-detail__article {
        padding: 1rem;
    }

    .news-detail__media {
        position: static;
        top: auto;
        width: min(100%, 34rem);
        justify-self: center;
    }

    .news-detail__media img {
        width: 100%;
        height: auto;
        min-height: 0;
        max-height: none;
        aspect-ratio: auto;
    }

    .news-detail__content {
        padding: .35rem 0 .15rem;
    }

    .news-detail__description {
        line-height: 1.9;
    }
}

.journal-issue-details__main {
    display: grid;
    grid-template-columns: minmax(14rem, .78fr) minmax(0, 1.22fr);
    gap: clamp(1.5rem, 3vw, 2.75rem);
    align-items: start;
}

.journal-issue-details__main > [class*="mesj-col-"] {
    min-width: 0;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding-inline: 0 !important;
}

.journal-issue-details__hero > .journal-issue-details__articles-column {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
}

.journal-issue-details__cover-frame {
    overflow: hidden;
    border: 1px solid var(--portal-border);
    border-top: 3px solid var(--portal-accent);
    background: #fff;
    box-shadow: 0 1rem 2.4rem rgba(28, 67, 61, .08);
}

.journal-issue-details__cover-frame img {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
}

/* Keep the issue cover in view alongside long descriptions on desktop. */
@media (min-width: 992px) {
    /* Prevent inherited clipping from cancelling position:sticky. */
    .journal-issue-details,
    .journal-issue-details .mesj-container,
    .journal-issue-details__hero,
    .journal-issue-details__main {
        overflow: visible;
    }

    .journal-issue-details__cover-column {
        /* Override the shared grid item's relative positioning so `top` only
           applies once the cover reaches the persistent header. */
        position: sticky !important;
        /* The public header is 98px high on desktop. */
        top: 6.125rem;
        z-index: 1;
        align-self: start;
    }

    .journal-issue-details__cover-frame img {
        max-height: calc(100dvh - 9rem);
    }
}

.journal-issue-details__summary {
    min-width: 0;
    box-sizing: border-box;
    padding: 0 !important;
    border: 1px solid var(--portal-border);
    border-top: 3px solid var(--portal-accent);
    background: #fff;
    box-shadow: 0 1rem 2.4rem rgba(28, 67, 61, .07);
    overflow: hidden;
}

.journal-issue-details__summary-content {
    min-width: 0;
    padding: clamp(1.35rem, 2.4vw, 2.25rem);
}

.journal-issue-details__year {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    margin-bottom: .75rem;
    padding: .32rem .6rem;
    border: 1px solid #cfe2dc;
    border-radius: 999px;
    background: var(--portal-soft);
    color: var(--portal-accent);
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.35;
}

.journal-issue-details__summary h1 {
    margin: 0 0 .75rem;
    max-width: 100%;
    color: var(--portal-ink);
    font-size: clamp(1.4rem, 2.55vw, 2rem);
    font-weight: 700;
    line-height: 1.42;
    overflow-wrap: anywhere;
    white-space: normal !important;
    text-align: start;
}

.journal-issue-details__summary-content > p {
    margin: 0;
    max-width: 100%;
    color: var(--portal-muted);
    font-size: 1rem;
    line-height: 1.95;
    overflow-wrap: anywhere;
    word-break: normal;
    direction: inherit;
    text-align: justify !important;
    text-align-last: start !important;
    text-justify: inter-word;
    white-space: pre-line;
}

.journal-issue-details__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    margin: 0;
    padding: 1rem clamp(1.35rem, 2.4vw, 2.25rem) clamp(1.2rem, 2.4vw, 1.5rem);
    border-top: 1px solid var(--portal-border);
    text-align: start;
}

.journal-issue-details__price {
    flex: 0 0 100%;
    padding: .55rem .7rem;
    border-inline-start: 3px solid var(--portal-accent);
    background: var(--portal-soft);
    color: var(--portal-ink);
    font-size: .94rem;
    font-weight: 700;
    line-height: 1.5;
}

.journal-issue-details__button-group {
    display: flex;
    flex: 0 1 auto;
    flex-wrap: wrap;
    gap: .55rem;
    min-width: 0;
}

.journal-issue-details__actions .mesj-button {
    flex: 0 1 auto;
    min-height: 2.7rem;
    min-width: 9rem;
    padding: .56rem .9rem;
    border-color: var(--portal-accent);
    border-radius: .12rem;
    background: var(--portal-accent);
    box-shadow: none;
    color: #fff;
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .04em;
}

.journal-issue-details__actions .mesj-button:hover,
.journal-issue-details__actions .mesj-button:focus-visible {
    border-color: var(--portal-accent-dark);
    background: var(--portal-accent-dark);
    outline: 0;
}

.journal-issue-details__cart-link,
.journal-issue-details__browse {
    background: #fff !important;
    color: var(--portal-accent) !important;
}

.journal-issue-details__cart-link:hover,
.journal-issue-details__cart-link:focus-visible,
.journal-issue-details__browse:hover,
.journal-issue-details__browse:focus-visible {
    background: var(--portal-soft) !important;
    color: var(--portal-accent-dark) !important;
}

.journal-issue-details__quantity {
    display: grid;
    grid-template-columns: 1.8rem 2.4rem 1.8rem;
    flex: 0 0 auto;
    width: auto !important;
    height: 2.35rem !important;
    min-height: 2.35rem !important;
    max-height: 2.35rem;
    margin: 0;
    overflow: hidden;
    border: 1px solid #cddbd5;
    border-radius: .18rem;
    background: #fff;
    direction: ltr;
}

.journal-issue-details__quantity > .flex {
    height: 100% !important;
    min-height: 0 !important;
    align-items: center;
    justify-content: center;
}

.journal-issue-details__quantity .mesj-button {
    display: grid !important;
    place-items: center;
    width: 100% !important;
    min-width: 0;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0;
    background: #fff;
    color: var(--portal-accent);
    font-size: .9rem;
    line-height: 1 !important;
}

.journal-issue-details__quantity .mesj-button:hover,
.journal-issue-details__quantity .mesj-button:focus-visible {
    border-color: var(--portal-accent);
    background: var(--portal-soft);
    color: var(--portal-accent-dark);
}

.journal-issue-details__quantity .quantity-input {
    width: 100%;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0;
    border-inline: 1px solid #cddbd5;
    background: #fff;
    color: var(--portal-ink);
    font-size: .94rem;
    text-align: center;
}

.journal-issue-details__quantity .quantity-input:focus {
    outline: 2px solid rgba(45, 118, 111, .28);
    outline-offset: -2px;
}

.journal-issue-details__articles-column {
    margin-top: clamp(.25rem, 2vw, 1rem) !important;
}

.journal-issue-details__articles-heading {
    margin-bottom: .75rem;
    padding-bottom: .7rem;
    border-bottom: 1px solid var(--portal-border);
}

.journal-issue-details__articles-heading h2 {
    margin: 0;
    color: var(--portal-ink);
    font-size: clamp(1.2rem, 2vw, 1.5rem);
    font-weight: 700;
    line-height: 1.45;
}

.journal-issue-details__articles-heading h2::before {
    display: inline-block;
    width: .45rem;
    height: .45rem;
    margin-inline-end: .55rem;
    border-radius: 50%;
    background: var(--portal-accent);
    content: "";
    vertical-align: middle;
}

.journal-issue-details__articles {
    margin: 0;
}

.journal-issue-details__section {
    margin: 0 0 .45rem !important;
    overflow: hidden;
    border: 1px solid var(--portal-border);
    border-radius: 0;
    box-shadow: none;
}

.journal-issue-details__section .mesj-panel-heading {
    margin: 0;
}

.journal-issue-details__section .mesj-accordion-toggle {
    display: block;
    padding: .58rem .85rem;
    background: #fff;
    text-decoration: none;
    transition: background-color .18s ease;
}

.journal-issue-details__section .mesj-accordion-toggle:hover,
.journal-issue-details__section .mesj-accordion-toggle:focus-visible {
    background: var(--portal-soft);
    outline: 0;
}

.journal-issue-details__section .mesj-panel-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.journal-issue-details__section .mesj-panel-title span {
    color: var(--portal-ink) !important;
    font-size: .98rem;
    font-weight: 700 !important;
    line-height: 1.4;
}

.journal-issue-details__section .indicator {
    color: var(--portal-accent) !important;
}

.journal-issue-details__section .mesj-panel-body {
    padding: .35rem 1rem .85rem;
    border-top: 1px solid var(--portal-border);
    background: #fff;
}

.journal-issue-details__article-link {
    display: block;
    padding: .6rem 0;
    border-bottom: 1px solid #edf2ef;
    color: var(--portal-muted);
    font-size: .94rem;
    line-height: 1.7;
    text-decoration: none;
    transition: color .18s ease, padding-inline-start .18s ease;
}

.journal-issue-details__article-link:last-child {
    border-bottom: 0;
}

.journal-issue-details__article-link:hover,
.journal-issue-details__article-link:focus-visible {
    padding-inline-start: .45rem;
    color: var(--portal-accent);
    outline: 0;
}

/* Events directory */
.events-page {
    --events-ink: #263d3a;
    --events-muted: #60716e;
    --events-accent: #2d766f;
    --events-accent-dark: #225e58;
    --events-soft: #f5f9f7;
    --events-line: #dfeae5;
    padding: clamp(2.75rem, 5vw, 5rem) 1rem;
    background: linear-gradient(180deg, #f8fbfa 0%, #fff 17rem);
    color: var(--events-ink);
}

.events-page .mesj-container {
    max-width: 1240px !important;
}

.events-page__intro {
    max-width: 48rem;
    margin: 0 0 clamp(1.5rem, 3vw, 2.3rem);
    padding-bottom: 1.15rem;
    border-bottom: 1px solid var(--events-line);
}

.events-page__eyebrow,
.events-page__label {
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    color: var(--events-accent);
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .025em;
    line-height: 1.4;
}

.events-page__eyebrow {
    margin-bottom: .7rem;
    padding: .32rem .6rem;
    background: #eaf4f1;
}

.events-page__eyebrow i {
    font-size: .9rem;
}

.events-page__intro h1 {
    margin: 0 0 .45rem;
    color: var(--events-ink);
    font-size: clamp(1.45rem, 3vw, 2.15rem);
    font-weight: 700;
    line-height: 1.4;
}

.events-page__intro p {
    margin: 0;
    color: var(--events-muted);
    font-size: 1rem;
    line-height: 1.8;
}

.events-page__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1rem, 2.1vw, 1.5rem);
}

.events-page__card {
    display: flex;
    min-width: 0;
    min-height: 100%;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--events-line);
    border-top: 3px solid var(--events-accent);
    background: #fff;
    box-shadow: 0 .8rem 2rem rgba(28, 67, 61, .06);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.events-page__card:hover {
    border-color: #b8d5cd;
    border-top-color: var(--events-accent);
    box-shadow: 0 1.05rem 2.2rem rgba(28, 67, 61, .12);
    transform: translateY(-3px);
}

.events-page__media {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: #edf3f0;
}

.events-page__media::after {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(180deg, transparent 40%, rgba(17, 54, 49, .2));
    pointer-events: none;
}

.events-page__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease;
}

.events-page__card:hover .events-page__media img {
    transform: scale(1.035);
}

.events-page__media-icon {
    position: absolute;
    z-index: 1;
    inset-block-end: .8rem;
    inset-inline-end: .8rem;
    display: grid;
    width: 2.15rem;
    height: 2.15rem;
    place-items: center;
    background: rgba(255, 255, 255, .94);
    color: var(--events-accent);
    font-size: .9rem;
}

.events-page__body {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    padding: 1rem 1.1rem 1.1rem;
}

.events-page__label {
    margin-bottom: .42rem;
}

.events-page__body h2 {
    margin: 0 0 1.15rem;
    color: var(--events-ink);
    font-size: 1.04rem;
    font-weight: 700;
    line-height: 1.6;
}

.events-page__body h2 a {
    color: inherit;
    text-decoration: none;
}

.events-page__body h2 a:hover,
.events-page__body h2 a:focus-visible {
    color: var(--events-accent);
    outline: 0;
}

.events-page__action {
    display: inline-flex;
    align-items: center;
    gap: .36rem;
    margin-top: auto;
    color: var(--events-accent);
    font-size: .84rem;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
}

.events-page__action i {
    font-size: .95rem;
    transition: transform .18s ease;
}

.events-page__action:hover,
.events-page__action:focus-visible {
    color: var(--events-accent-dark);
    outline: 0;
}

.events-page__card:hover .events-page__action i,
.events-page__action:focus-visible i {
    transform: translate(-.18rem, -.18rem);
}

[dir="ltr"] .events-page__card:hover .events-page__action i,
[dir="ltr"] .events-page__action:focus-visible i {
    transform: translate(.18rem, -.18rem);
}

.events-page__empty {
    display: grid;
    min-height: 14rem;
    place-items: center;
    align-content: center;
    gap: .75rem;
    border: 1px solid var(--events-line);
    background: #fff;
    color: var(--events-muted);
    text-align: center;
}

.events-page__empty-icon {
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    border-radius: 50%;
    background: var(--events-soft);
    color: var(--events-accent);
    font-size: 1.2rem;
}

.events-page__empty p {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
}

.events-page__card--loading {
    min-height: 17.5rem;
    padding: 0 1.1rem 1.2rem;
    pointer-events: none;
}

.events-page__loading-media,
.events-page__loading-line {
    display: block;
    background: linear-gradient(100deg, #edf2ef 35%, #f8faf9 50%, #edf2ef 65%);
    background-size: 200% 100%;
    animation: events-page-loading 1.25s ease-in-out infinite;
}

.events-page__loading-media {
    width: calc(100% + 2.2rem);
    height: 10.8rem;
    margin: 0 -1.1rem 1.2rem;
}

.events-page__loading-line {
    width: 88%;
    height: .72rem;
    margin-bottom: .7rem;
}

.events-page__loading-line--short {
    width: 31%;
}

.events-page__loading-line--medium {
    width: 58%;
    margin-top: auto;
    margin-bottom: 0;
}

@keyframes events-page-loading {
    to { background-position-x: -200%; }
}

#app[v-cloak] {
    display: none;
}

[dir="rtl"] .events-page {
    font-family: "El Messiri", sans-serif;
}

@media (max-width: 991px) {
    .events-page__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .events-page {
        padding-inline: .75rem;
    }

    .events-page__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .events-page__body {
        padding: .95rem 1rem 1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .events-page__card,
    .events-page__media img,
    .events-page__action i {
        transition: none;
    }

    .events-page__loading-media,
    .events-page__loading-line {
        animation: none;
    }
}

.journal-issue-details__latest {
    padding: clamp(2.5rem, 4.5vw, 4rem) 1rem;
    background: #fff;
}

.journal-issue-details__latest-heading {
    margin-bottom: 1.5rem;
}

.journal-issue-details__latest-heading span {
    color: var(--portal-accent);
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.4;
    text-transform: uppercase;
}

.journal-issue-details__latest-heading h2 {
    margin: .35rem 0 0;
    color: var(--portal-ink);
    font-size: clamp(1.35rem, 2.4vw, 1.85rem);
    font-weight: 700;
    line-height: 1.4;
}

.journal-issue-details__latest-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin: 0 !important;
}

.journal-issue-details__latest-grid > [class*="mesj-col-"] {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding-inline: 0 !important;
}

.journal-issue-details__latest-card {
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--portal-border);
    border-top: 3px solid var(--portal-accent);
    background: #fff;
    box-shadow: 0 .8rem 2rem rgba(28, 67, 61, .055);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.journal-issue-details__latest-card:hover {
    border-color: #b9d8cf;
    box-shadow: 0 1rem 2rem rgba(28, 67, 61, .12);
    transform: translateY(-3px);
}

.journal-issue-details__latest-cover {
    position: relative;
    overflow: hidden;
    aspect-ratio: 3 / 4;
    background: var(--portal-soft);
}

.journal-issue-details__latest-cover a,
.journal-issue-details__latest-cover img {
    display: block;
    width: 100%;
    height: 100%;
}

.journal-issue-details__latest-cover img {
    object-fit: cover;
    transition: transform .28s ease;
}

.journal-issue-details__latest-card:hover .journal-issue-details__latest-cover img {
    transform: scale(1.035);
}

.journal-issue-details__latest-cover .blog-rounded-icon {
    display: grid;
    place-items: center;
    width: 2.55rem;
    height: 2.55rem;
    border: 1px solid #fff;
    border-radius: 50%;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 .5rem 1.1rem rgba(28, 67, 61, .12);
}

.journal-issue-details__latest-cover .blog-rounded-icon i {
    color: var(--portal-accent) !important;
}

.journal-issue-details__latest-details {
    padding: .95rem;
}

.journal-issue-details__latest-details a {
    text-decoration: none;
}

.journal-issue-details__latest-year {
    width: fit-content;
    margin: 0 auto .55rem;
    padding: .24rem .5rem;
    border: 1px solid #cfe2dc;
    border-radius: 999px;
    background: var(--portal-soft);
    color: var(--portal-accent) !important;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.35;
}

.journal-issue-details__latest-title {
    color: var(--portal-ink) !important;
    font-size: .98rem;
    font-weight: 700;
    line-height: 1.55;
}

.journal-issue-details__latest-title:hover,
.journal-issue-details__latest-title:focus-visible {
    color: var(--portal-accent) !important;
    outline: 0;
}

.journal-issue-details #filePreviewModal iframe {
    height: min(70vh, 700px) !important;
}

[dir="rtl"] .journal-issue-details,
[dir="rtl"] .journal-issue-details__latest {
    font-family: "El Messiri", sans-serif;
}

.cart-experience #empty-cart-message .mesj-card {
    padding-block: 1rem;
}

[dir="rtl"] .account-profile,
[dir="rtl"] .research-submission,
[dir="rtl"] .draft-status-page,
[dir="rtl"] .cart-experience {
    font-family: "El Messiri", sans-serif;
}

[dir="rtl"] .cart-experience .quantity-input-group {
    direction: ltr;
}

.journal-access__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    margin-top: 1.2rem;
    padding: clamp(1.25rem, 2.8vw, 2rem);
}

.journal-access__footer p {
    max-width: 40rem;
    white-space: pre-line;
}

.journal-access__actions {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: .65rem;
}

.journal-access__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.9rem;
    padding: .65rem 1.1rem;
    border: 1px solid var(--portal-accent);
    border-radius: .12rem;
    color: var(--portal-accent);
    font-size: .88rem;
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.2;
    text-decoration: none;
    text-transform: uppercase;
    transition: background-color .18s ease, color .18s ease;
}

.journal-access__action:hover,
.journal-access__action:focus-visible,
.journal-access__action--primary {
    background: var(--portal-accent);
    color: #fff;
    text-decoration: none;
}

.journal-access__action--primary:hover,
.journal-access__action--primary:focus-visible {
    background: var(--portal-accent-dark);
}

.journal-indexing__container {
    max-width: 980px;
}

.journal-indexing__content {
    padding: clamp(1.35rem, 3vw, 2.5rem);
}

.journal-indexing__content > p {
    margin-bottom: 1.5rem;
}

.journal-indexing__content > div[style] {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    align-items: stretch !important;
}

.journal-indexing__content > div[style] a {
    display: grid;
    place-items: center;
    min-height: 8.75rem;
    padding: 1rem;
    border: 1px solid var(--portal-border);
    background: #fff;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.journal-indexing__content > div[style] a:hover,
.journal-indexing__content > div[style] a:focus-visible {
    border-color: #b6d4cc;
    box-shadow: 0 .75rem 1.6rem rgba(28, 67, 61, .1);
    transform: translateY(-2px);
}

.journal-indexing__content > div[style] img {
    width: min(100%, 9rem) !important;
    max-width: 100% !important;
    max-height: 5.2rem !important;
    object-fit: contain;
}

.journal-indexing__content > div:not([style]) {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--portal-border);
}

.journal-indexing__content a:not(:has(img)) {
    color: var(--portal-accent);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: rgba(45, 118, 111, .35);
    text-underline-offset: .18em;
}

.journal-search {
    background: #f8faf9;
}

.journal-search .mesj-container {
    max-width: 1180px !important;
}

.journal-search__filters {
    margin-bottom: 1.4rem;
    padding: clamp(1rem, 2.7vw, 1.8rem) 0 .45rem;
    border: 1px solid var(--portal-border);
    background: #fff;
    box-shadow: 0 .7rem 2rem rgba(28, 67, 61, .05);
}

.journal-search__filters .mesj-button {
    margin: .2rem 0 1.2rem;
}

.journal-search__filters #add-selected-to-cart {
    margin-inline-start: .4rem;
    border-color: #d0ded9;
    background: #fff;
    color: var(--portal-accent);
}

.journal-search__filters #add-selected-to-cart:hover,
.journal-search__filters #add-selected-to-cart:focus-visible {
    border-color: var(--portal-accent);
    background: var(--portal-soft);
}

.journal-search__result-count {
    margin-bottom: .8rem;
}

.journal-search__result-count p {
    display: inline-flex;
    align-items: center;
    min-height: 2.35rem;
    margin: 0;
    padding: .45rem .8rem;
    border: 1px solid var(--portal-border);
    background: #fff;
    color: var(--portal-muted);
    font-size: .94rem;
}

.journal-search__table-wrap {
    overflow-x: auto;
    border: 1px solid var(--portal-border);
    background: #fff;
    box-shadow: 0 .7rem 2rem rgba(28, 67, 61, .05);
}

.journal-search .mesj-table {
    min-width: 850px;
    margin: 0;
    color: var(--portal-muted);
}

.journal-search .mesj-table th {
    padding: .9rem .8rem;
    border-bottom: 1px solid var(--portal-border);
    background: var(--portal-soft);
    color: var(--portal-ink);
    font-size: .88rem;
    font-weight: 700;
    line-height: 1.45;
    text-align: start;
    white-space: nowrap;
}

.journal-search .mesj-table td {
    padding: .8rem;
    border-bottom: 1px solid #ebf0ed;
    font-size: .98rem;
    line-height: 1.6;
    vertical-align: middle;
}

.journal-search .mesj-table tbody tr:last-child td {
    border-bottom: 0;
}

.journal-search .limited-text {
    max-width: 30ch;
    overflow-wrap: anywhere;
}

.journal-search .limited-text p {
    margin: 0;
}

.journal-search .action-buttons {
    display: flex;
    gap: .45rem;
    white-space: nowrap;
}

.journal-search .action-buttons .mesj-button {
    min-height: 2.2rem;
    padding: .45rem .7rem;
    font-size: .82rem;
}

[dir="rtl"] .account-access,
[dir="rtl"] .subscription-experience,
[dir="rtl"] .contact-hub,
[dir="rtl"] .journal-access,
[dir="rtl"] .journal-indexing,
[dir="rtl"] .journal-search {
    font-family: "El Messiri", sans-serif;
}

[dir="rtl"] .terms-policy {
    font-family: "El Messiri", sans-serif;
}

[dir="rtl"] .subscription-experience__panel > .mesj-row > .mesj-col-md-8 > span {
    letter-spacing: 0;
    text-transform: none;
}

@media (max-width: 991px) {
    .contact-hub__main {
        grid-template-columns: 1fr;
    }

    .contact-hub__map iframe {
        min-height: 21rem;
    }

    .contact-hub__map {
        min-height: 21rem;
    }

    .journal-indexing__content > div[style] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .account-access,
    .subscription-experience,
    .contact-hub,
    .journal-access,
    .journal-indexing,
    .journal-search {
        padding-inline: .75rem;
    }

    .account-access__panel,
    .subscription-experience__panel {
        padding: 1.25rem;
    }

    .subscription-experience form > .mesj-row {
        grid-template-columns: minmax(0, 1fr);
        row-gap: .8rem;
    }

    .subscription-experience form > .mesj-row > .mesj-col-md-12 {
        grid-column: auto;
    }

    .account-access form .text-end.flex,
    .journal-access__footer {
        align-items: stretch;
        flex-direction: column;
    }

    .account-access form .text-end.flex .mesj-button,
    .contact-hub__submit,
    .journal-access__actions,
    .journal-access__action {
        width: 100%;
    }

    .contact-hub__cards {
        grid-template-columns: 1fr;
    }

    .contact-hub__card {
        padding: 1.2rem;
    }

    .payment-transfer-details__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .payment-transfer-details__card--online {
        grid-template-columns: minmax(0, 1fr);
        gap: .7rem;
    }

    .payment-transfer-details__card--online .payment-transfer-details__card-heading {
        margin-bottom: .1rem;
    }

    .payment-transfer-details__card--online .payment-transfer-details__steps {
        grid-template-columns: minmax(0, 1fr);
    }

    .journal-indexing__content > div[style] {
        grid-template-columns: 1fr;
    }

    .journal-search__filters #add-selected-to-cart {
        margin-inline-start: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .account-access .medium-input,
    .subscription-experience .medium-input,
    .journal-search .medium-input,
    .journal-indexing__content > div[style] a,
    .contact-hub__input,
    .contact-hub__submit,
    .journal-access__action {
        transition: none;
    }
}

@media (max-width: 767px) {
    .account-profile,
    .research-submission,
    .draft-status-page,
    .cart-experience {
        padding-inline: .75rem;
    }

    .account-profile__panel,
    .research-submission__panel {
        padding: 1.2rem;
    }

    .account-profile form > .mesj-row,
    .research-submission .mesj-col-12 > div > .mesj-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .account-profile form > .mesj-row > .mesj-col-md-6,
    .account-profile form > .mesj-row > .mesj-col-md-10,
    .account-profile form > .mesj-row > .mesj-col-md-2,
    .account-profile form > .mesj-row > .mesj-col-md-12,
    .research-submission .mesj-col-12 > div > .mesj-row > .mesj-col-md-12 {
        grid-column: auto;
    }

    .account-profile .mesj-col-md-2 {
        justify-self: start;
    }

    .account-profile__actions,
    .research-submission__actions > .flex {
        align-items: stretch;
        flex-direction: column;
    }

    .account-profile__actions .mesj-button,
    .research-submission__actions .mesj-button {
        width: 100%;
    }

    .cart-experience .payment-section,
    .cart-experience__panel .p-5,
    .cart-experience__item-card .p-5 {
        padding: 1rem;
    }

    .cart-experience .cart-item-card .mesj-col-3,
    .cart-experience .cart-item-card .mesj-col-6 {
        width: 100%;
    }

    .cart-experience .cart-item-card .mesj-col-3:last-child {
        margin-top: .75rem;
        text-align: start;
    }

    .cart-experience .cart-item-card .magazine-cover {
        width: min(8rem, 40%);
        margin-bottom: .8rem;
    }

    .journal-issues {
        padding-inline: .75rem;
    }

    .journal-issues .mesj-container > .mesj-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .journal-issues__navigation {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .journal-issues__navigation li:nth-last-child(2) {
        border-bottom: 0;
    }

    .journal-issues__navigation a {
        min-height: 100%;
        padding: .6rem .65rem;
    }

    .journal-issues__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .75rem;
    }

    .journal-issue-details,
    .journal-issue-details__latest {
        padding-inline: .75rem;
    }

    .journal-issue-details__main {
        grid-template-columns: minmax(0, 1fr);
    }

    .journal-issue-details__cover-column {
        width: min(100%, 24rem) !important;
        justify-self: center;
    }

    .journal-issue-details__quantity {
        margin-inline-start: 0;
    }

    .journal-issue-details__latest-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .75rem;
    }

    .journal-article {
        padding-inline: .75rem;
    }

    .journal-article__header,
    .journal-article__body {
        padding-inline: 1.25rem;
    }

    .journal-article__keywords,
    .journal-article__actions {
        margin-inline: 1.25rem;
    }
}

@media (max-width: 520px) {
    .journal-issues__navigation,
    .journal-issues__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .journal-issues__navigation li:nth-last-child(2) {
        border-bottom: 1px solid #edf2ef;
    }

    .journal-issues__details {
        padding: .9rem;
    }

    .journal-issue-details__summary-content {
        padding: 1.25rem !important;
    }

    .journal-issue-details__actions {
        align-items: stretch;
        padding: .85rem 1.25rem 1rem;
    }

    .journal-issue-details__button-group {
        flex: 1 1 100%;
    }

    .journal-issue-details__button-group .mesj-button {
        flex: 1 1 100%;
    }

    .journal-issue-details__quantity {
        justify-content: flex-start;
    }

    .journal-issue-details__latest-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .journal-article__metadata {
        gap: .4rem;
    }

    .journal-article__metadata li {
        width: 100%;
    }

    .journal-article__header,
    .journal-article__body {
        padding-inline: 1rem;
    }

    .journal-article__keywords,
    .journal-article__actions {
        margin-inline: 1rem;
    }

    .journal-article__actions .mesj-button {
        width: 100%;
    }
}
