.ng-news-feed__cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
    width: 100%
}

.ng-news-subscribe__form {
    width: min(390px, 100%)
}

.ng-news-pagination {
    align-items: center;
    display: flex;
    gap: .45rem;
    justify-content: center;
    margin-top: 2.5rem
}

.ng-news-pagination li {
    background: #fff;
    border: 1px solid var(--news-line);
    color: var(--news-muted);
    font: inherit;
    font-size: .78rem;
    min-height: 38px;
    min-width: 38px;
	list-style: none;
	padding-top: 10px;
}

.ng-news-pagination li.is-active,
.ng-news-pagination li:hover {
    background: var(--news-dark);
    border-color: var(--news-dark);
    color: #fff
}

.ng-news-pagination li:disabled {
    cursor: not-allowed;
    opacity: .4
}

.ng-news-pagination li a {
	padding: 8px 12px
}

.ng-news {
    --news-ink: #171717;
    --news-muted: #736f68;
    --news-gold: #c9a961;
    --news-paper: #f5f3ef;
    --news-line: #ded8cd;
    --news-dark: #171717;
    box-sizing: border-box;
    color: var(--news-ink);
    font-family: 'Vazirmatn', 'IRANSans', sans-serif;
    overflow: hidden
}

.ng-news *,
.ng-news *::before,
.ng-news *::after {
    box-sizing: border-box
}

.ng-news h1,
.ng-news h2,
.ng-news h3,
.ng-news p {
    margin-top: 0
}

.ng-news img {
    display: block;
    max-width: 100%
}

.ng-news a {
    color: inherit
}

.ng-news__eyebrow,
.ng-news__section-number {
    color: var(--news-gold);
    font-size: .68rem;
    letter-spacing: .18em;
    text-transform: uppercase
}

.ng-news__section-number {
    margin-bottom: 1rem
}

.ng-news__sr-only {
    height: 1px;
    margin: -1px;
    overflow: hidden;
    position: absolute;
    width: 1px;
    clip: rect(0, 0, 0, 0)
}

.ng-news-masthead,
.ng-news-lead,
.ng-news-controls,
.ng-news-feed,
.ng-news-media,
.ng-news-subscribe {
    margin-left: auto;
    margin-right: auto;
    max-width: 1320px;
    padding-left: clamp(1rem, 5vw, 4rem);
    padding-right: clamp(1rem, 5vw, 4rem)
}

.ng-news-masthead {
    align-items: end;
    display: flex;
    justify-content: space-between;
    padding-bottom: clamp(3rem, 7vw, 7rem);
    padding-top: clamp(3rem, 7vw, 7rem)
}

.ng-news-masthead__copy {
    max-width: 760px
}

.ng-news-masthead h1 {
    font-size: clamp(2.5rem, 6vw, 5.6rem);
    font-weight: 300;
    line-height: 1.2;
    margin-bottom: 1.5rem
}

.ng-news-masthead h1 em {
    color: var(--news-gold);
    font-style: normal
}

.ng-news-masthead__intro {
    color: var(--news-muted);
    font-size: 1.05rem;
    line-height: 2;
    max-width: 610px
}

.ng-news-masthead__mark {
    align-items: center;
    border: 1px solid var(--news-gold);
    display: flex;
    flex-direction: column;
    height: 116px;
    justify-content: center;
    margin-bottom: .5rem;
    min-width: 116px;
    transform: rotate(-7deg)
}

.ng-news-masthead__mark span {
    font-size: .68rem;
    letter-spacing: .2em
}

.ng-news-masthead__mark strong {
    color: var(--news-gold);
    font-size: 2rem;
    font-weight: 400
}

.ng-news-ticker {
    align-items: center;
    background: #eee5d4;
    border-bottom: 1px solid #d8c8a6;
    border-top: 1px solid #d8c8a6;
    display: flex;
    gap: 1rem;
    min-height: 54px;
    padding-bottom: .75rem;
    padding-top: .75rem
}

.ng-news-ticker__label {
    background: var(--news-ink);
    color: #fff;
    font-size: .7rem;
    padding: .4rem .65rem;
    white-space: nowrap
}

.ng-news-ticker p {
    font-size: .86rem;
    margin-bottom: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.ng-news-ticker a {
    color: #5f6561;
    font-size: .78rem;
    margin-right: auto;
    white-space: nowrap
}

.ng-news-lead {
    background: var(--news-dark);
    color: #fff;
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(300px, .88fr);
    margin-bottom: clamp(4rem, 8vw, 8rem);
    padding-left: 0;
    padding-right: 0
}

.ng-news-lead__media {
    min-height: 460px;
    position: relative
}

.ng-news-lead__media img {
    height: 100%;
    object-fit: cover;
    width: 100%
}

.ng-news-lead__media::after {
    background: linear-gradient(90deg, rgba(23, 23, 23, .86), transparent 65%);
    content: '';
    inset: 0;
    position: absolute
}

.ng-news-lead__stamp {
    border: 1px solid rgba(255, 255, 255, .65);
    bottom: 1.5rem;
    color: #fff;
    font-size: .65rem;
    left: 1.5rem;
    letter-spacing: .12em;
    padding: .65rem;
    position: absolute;
    z-index: 1
}

.ng-news-lead__stamp strong {
    color: var(--news-gold);
    font-size: 1rem;
    font-weight: 400
}

.ng-news-lead__copy {
    align-self: center;
    padding: clamp(2rem, 5vw, 5rem)
}

.ng-news-lead__date {
    color: #b7b0a3;
    font-size: .76rem
}

.ng-news-lead h2 {
    font-size: clamp(1.7rem, 3vw, 3rem);
    font-weight: 300;
    line-height: 1.55;
    margin-bottom: 1.25rem
}

.ng-news-lead__copy>p:not(.ng-news__section-number):not(.ng-news-lead__date) {
    color: #c8c5bf;
    line-height: 2
}

.ng-news-lead__actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 1.4rem;
    margin-top: 2rem
}

.ng-news__button {
    border: 1px solid transparent;
    display: inline-flex;
    gap: .75rem;
    justify-content: center;
    padding: .8rem 1.1rem;
    text-decoration: none
}

.ng-news__button-gold {
    background: var(--news-gold);
    color: #171717
}

.ng-news__button-dark {
    background: var(--news-dark);
    color: #fff
}

.ng-news__text-link {
    font-size: .82rem;
    text-decoration: none
}

.ng-news__text-link span {
    color: var(--news-gold);
    margin-right: .35rem
}

.ng-news-controls {
    padding-bottom: 2rem
}

.ng-news-controls__heading {
    align-items: end;
    display: flex;
    justify-content: space-between
}

.ng-news-controls h2,
.ng-news-feed h2,
.ng-news-media h2,
.ng-news-subscribe h2 {
    font-size: clamp(1.8rem, 3vw, 3rem);
    font-weight: 300;
    line-height: 1.4
}

.ng-news-controls__tools {
    display: flex;
    gap: .6rem;
    margin: 1.5rem 0
}

.ng-news__search {
    align-items: center;
    border: 1px solid var(--news-line);
    display: flex;
    flex: 1;
    min-width: 190px
}

.ng-news__search input,
.ng-news-controls select {
    background: #fff;
    border: 0;
    color: var(--news-ink);
    font: inherit;
    font-size: .8rem;
    min-height: 44px;
    padding: .6rem .8rem
}

.ng-news__search input {
    flex: 1;
    outline: 0
}

.ng-news__search>span {
    color: var(--news-gold);
    font-size: 1.4rem;
    padding: 0 .65rem
}

.ng-news-controls select {
    border: 1px solid var(--news-line);
    min-width: 130px
}

.ng-news-controls__filters {
    border-bottom: 1px solid var(--news-line);
    display: flex;
    flex-wrap: wrap;
    gap: .25rem
}

.ng-news-controls__filters button {
    background: transparent;
    border: 0;
    border-bottom: 2px solid transparent;
    color: var(--news-muted);
    font: inherit;
    font-size: .78rem;
    padding: .8rem .7rem
}

.ng-news-controls__filters button.is-active,
.ng-news-controls__filters button:hover {
    border-bottom-color: var(--news-gold);
    color: var(--news-ink)
}

.ng-news-feed {
    display: grid;
    gap: clamp(2rem, 5vw, 5rem);
    grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr);
    padding-bottom: clamp(4rem, 8vw, 8rem);
    padding-top: 2rem
}

.ng-news-feed__head {
    align-items: end;
    display: flex;
    justify-content: space-between
}

.ng-news-feed__head>span {
    color: var(--news-muted);
    font-size: .8rem
}

.ng-news-feed__cards {
    display: grid;
    gap: 1.25rem
}

.ng-news-card {
    border-bottom: 1px solid var(--news-line);
    display: grid;
    gap: 1.25rem;
    grid-template-columns: minmax(190px, .8fr) minmax(0, 1.2fr);
    padding: 1.25rem 0
}

.ng-news-card__media {
    min-height: 190px;
    position: relative
}

.ng-news-card__media img {
    height: 100%;
    object-fit: cover;
    width: 100%
}

.ng-news-card__media span {
    background: rgba(23, 23, 23, .78);
    bottom: .7rem;
    color: #fff;
    font-size: .68rem;
    left: .7rem;
    padding: .35rem .55rem;
    position: absolute
}

.ng-news-card__body {
    padding: .2rem 0
}

.ng-news-card__meta {
    color: #666b67;
    font-size: .72rem;
    margin-bottom: .7rem
}

.ng-news-card h3 {
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.65;
    margin-bottom: .7rem
}

.ng-news-card__body>p:not(.ng-news-card__meta) {
    color: var(--news-muted);
    font-size: .84rem;
    line-height: 1.9
}

.ng-news-card .ng-news__text-link {
    display: inline-block;
    margin-top: .65rem
}

.ng-news-feed__quick {
    background: var(--news-paper);
    padding: clamp(1.5rem, 3vw, 2.5rem)
}

.ng-news-feed__quick h2 {
    font-size: 1.65rem
}

.ng-news-feed__quick ul {
    list-style: none;
    margin: 1rem 0 2rem;
    padding: 0
}

.ng-news-feed__quick li {
    border-top: 1px solid var(--news-line);
    padding: 1rem 0
}

.ng-news-feed__quick time {
    color: var(--news-gold);
    display: block;
    font-size: .7rem;
    margin-bottom: .45rem
}

.ng-news-feed__quick strong {
    display: block;
    font-size: .84rem;
    font-weight: 400;
    line-height: 1.8
}

.ng-news-feed__quick li span {
    color: var(--news-muted);
    display: block;
    font-size: .68rem;
    margin-top: .35rem
}

.ng-news-feed__empty {
    color: var(--news-muted);
    padding: 2rem 0
}

.ng-news-media {
    align-items: center;
    background: #eee5d4;
    display: grid;
    gap: 3rem;
    grid-template-columns: minmax(250px, .8fr) minmax(0, 1.2fr);
    padding-bottom: clamp(2rem, 5vw, 4rem);
    padding-top: clamp(2rem, 5vw, 4rem)
}

.ng-news-media>div:first-child p:last-child,
.ng-news-subscribe>div:first-child p:last-child {
    color: var(--news-muted);
    line-height: 1.9
}

.ng-news-media__links {
    display: grid;
    grid-template-columns: repeat(3, 1fr)
}

.ng-news-media__links a {
    border-right: 1px solid rgba(114, 91, 44, .28);
    display: flex;
    flex-direction: column;
    gap: .65rem;
    padding: 0 1.25rem;
    text-decoration: none
}

.ng-news-media__links a:first-child {
    border-right: 0
}

.ng-news-media__links span {
    color: #666b67;
    font-size: .65rem;
    letter-spacing: .1em
}

.ng-news-media__links strong {
    font-size: .9rem;
    font-weight: 400;
    line-height: 1.7
}

.ng-news-media__links small {
    color: var(--news-muted);
    font-size: .7rem;
    line-height: 1.7
}

.ng-news-media__links b {
    color: #666b67;
    font-size: 1rem;
    font-weight: 400;
    margin-right: .3rem
}

.ng-news-subscribe {
    align-items: center;
    display: grid;
    gap: 3rem;
    grid-template-columns: minmax(0, 1fr) minmax(280px, .9fr);
    padding-bottom: clamp(4rem, 8vw, 8rem);
    padding-top: clamp(4rem, 8vw, 8rem)
}

.ng-news-subscribe__form {
    display: grid;
    gap: .7rem;
    grid-template-columns: 1fr auto
}

.ng-news-subscribe__form input {
    border: 1px solid var(--news-line);
    font: inherit;
    min-width: 0;
    padding: .85rem
}

.ng-news-subscribe__status {
    color: #6e8056;
    font-size: .75rem;
    grid-column: 1/-1;
    margin: 0
}

.ng-news [hidden] {
    display: none !important
}

@media(max-width:900px) {
    .ng-news-lead {
        grid-template-columns: 1fr
    }

    .ng-news-lead__media {
        min-height: 330px
    }

    .ng-news-feed {
        grid-template-columns: 1fr
    }

    .ng-news-media {
        grid-template-columns: 1fr
    }

    .ng-news-media__links {
        gap: 1rem
    }

    .ng-news-media__links a {
        border-right: 0;
        border-top: 1px solid rgba(114, 91, 44, .28);
        padding: 1rem 0
    }

    .ng-news-media__links a:first-child {
        border-top: 0
    }

    .ng-news-subscribe {
        grid-template-columns: 1fr
    }
}

@media(max-width:600px) {
    .ng-news-masthead {
        align-items: start;
        flex-direction: column;
        gap: 2rem
    }

    .ng-news-masthead__mark {
        margin-right: 1rem
    }

    .ng-news-ticker {
        align-items: start;
        flex-wrap: wrap
    }

    .ng-news-ticker p {
        flex-basis: calc(100% - 8rem);
        white-space: normal
    }

    .ng-news-ticker a {
        margin-right: 0
    }

    .ng-news-controls__heading {
        align-items: start;
        flex-direction: column
    }

    .ng-news-controls__tools {
        flex-wrap: wrap
    }

    .ng-news__search {
        flex-basis: 100%
    }

    .ng-news-controls select {
        flex: 1
    }

    .ng-news-controls__filters {
        display: grid;
        grid-template-columns: repeat(2, 1fr)
    }

    .ng-news-controls__filters button {
        text-align: right
    }

    .ng-news-card {
        grid-template-columns: 1fr
    }

    .ng-news-card__media {
        min-height: 220px
    }

    .ng-news-subscribe__form {
        grid-template-columns: 1fr
    }

    .ng-news-subscribe__status {
        grid-column: auto
    }
}

@media(prefers-reduced-motion:reduce) {

    .ng-news *,
    .ng-news *::before,
    .ng-news *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important
    }
}

/* Final layout contract for the current news markup. */
.ng-news-ticker {
    display: flex;
    margin: 0 auto clamp(3rem, 6vw, 5rem);
    max-width: 1320px;
    padding: .8rem clamp(1rem, 5vw, 4rem);
    width: calc(100% - clamp(2rem, 10vw, 8rem));
}

.ng-news-feed {
    display: block;
    max-width: 1320px;
}

.ng-news-feed__head {
    margin-bottom: 1.5rem;
}

.ng-news-feed__cards {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
}

.ng-news-card {
    background: #fff;
    border: 1px solid rgba(31, 36, 33, .07);
    display: block;
    padding: 0;
    transition: border-color .35s ease, box-shadow .35s ease, transform .35s ease;
}

.ng-news-card:hover {
    border-color: rgba(184, 151, 88, .45);
    box-shadow: 0 18px 38px rgba(31, 36, 33, .1);
    transform: translateY(-6px);
}

.ng-news-card__media {
    height: 210px;
    min-height: 0;
    overflow: hidden;
}

.ng-news-card__media img {
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
    width: 100%;
}

.ng-news-card:hover .ng-news-card__media img {
    transform: scale(1.05);
}

.ng-news-card__body {
    padding: 1.25rem;
}

.ng-news-card h3 {
    font-size: 1.1rem;
    line-height: 1.7;
}

.ng-news-pagination {
    align-items: center;
    display: flex;
    gap: .45rem;
    justify-content: center;
    margin: 2.5rem auto 0;
    min-height: 38px;
}

.ng-news-pagination button {
    background: #fff;
    border: 1px solid var(--news-line);
    color: var(--news-muted);
    cursor: pointer;
    font: inherit;
    font-size: .78rem;
    min-height: 38px;
    min-width: 38px;
    padding: .35rem .65rem;
}

.ng-news-pagination button.is-active,
.ng-news-pagination button:hover {
    background: var(--news-dark);
    border-color: var(--news-dark);
    color: #fff;
}

.ng-news-pagination button:disabled {
    cursor: not-allowed;
    opacity: .45;
}

.ng-news-subscribe {
    align-items: flex-end;
    border-top: 1px solid #d6c7aa;
    display: flex;
    gap: 2rem;
    justify-content: space-between;
    margin: 0 auto 6rem;
    padding: 3rem 0;
    width: min(1180px, 90%);
}

.ng-news-subscribe h2 {
    font-size: 2rem;
    font-weight: 300;
    margin: .7rem 0;
}

.ng-news-subscribe__form {
    align-items: stretch;
    border-bottom: 1px solid var(--news-ink);
    display: flex;
    gap: 0;
    min-width: min(390px, 100%);
    width: min(390px, 100%);
}

.ng-news-subscribe__form input {
    background: transparent;
    border: 0;
    color: var(--news-ink);
    flex: 1;
    font: inherit;
    min-width: 0;
    padding: .8rem;
}

.ng-news-subscribe__form input:focus {
    outline: 0;
}

.ng-news-subscribe__form .ng-news__button {
    background: transparent;
    border: 0;
    color: var(--news-gold);
    cursor: pointer;
    white-space: nowrap;
}

@media (max-width: 900px) {
    .ng-news-feed__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ng-news-subscribe {
        align-items: stretch;
        display: block;
    }

    .ng-news-subscribe__form {
        margin-top: 1.5rem;
    }
}

@media (max-width: 600px) {
    .ng-news-ticker {
        align-items: flex-start;
        flex-wrap: wrap;
        width: calc(100% - 2rem);
    }

    .ng-news-ticker p {
        flex: 1 1 100%;
        order: 3;
        white-space: normal;
    }

    .ng-news-ticker a {
        margin-right: auto;
    }

    .ng-news-feed__cards {
        grid-template-columns: 1fr;
    }

    .ng-news-subscribe {
        margin-bottom: 4rem;
        padding: 2.5rem 0;
    }

    .ng-news-subscribe h2 {
        font-size: 1.7rem;
    }

    .ng-news-subscribe__form {
        min-width: 0;
        width: 100%;
    }
}

/* Match the island journal card language. */
.ng-news-feed {
    padding-bottom: 4rem;
    padding-top: 2rem;
}

.ng-news-feed__head {
    margin-bottom: 2rem;
}

.ng-news-feed__cards {
    display: grid;
    gap: 24px;
    padding: 10px 0 30px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: visible;
}

.ng-news-card {
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .04);
    border-radius: 8px;
    cursor: pointer;
    min-width: 280px;
    overflow: hidden;
    padding: 0;
    transition: all .4s cubic-bezier(.25, .46, .45, .94);
}

.ng-news-card:hover {
    border-color: rgba(23, 23, 23, .16);
    box-shadow: 0 15px 35px rgba(23, 23, 23, .08);
    transform: translateY(-6px);
}

.ng-news-card__media {
    height: 180px;
    min-height: 0;
    overflow: hidden;
    position: relative;
}

.ng-news-card__media::before {
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .4), transparent);
    content: '';
    inset: 0 auto 0 -100%;
    position: absolute;
    transform: skewX(-20deg);
    transition: left .6s ease;
    width: 50%;
    z-index: 1;
}

.ng-news-card:hover .ng-news-card__media::before {
    left: 150%;
}

.ng-news-card__media::after {
    background: linear-gradient(90deg, #46504b, #626964, #46504b);
    bottom: 0;
    content: '';
    height: 3px;
    left: 0;
    position: absolute;
    right: 0;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .5s ease;
    z-index: 2;
}

.ng-news-card:hover .ng-news-card__media::after {
    transform: scaleX(1);
}

.ng-news-card__media img {
    filter: saturate(.8);
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
    width: 100%;
}

.ng-news-card:hover .ng-news-card__media img {
    transform: scale(1.05);
}

.ng-news-card__media span {
    background: rgba(26, 26, 26, .78);
    bottom: .7rem;
    font-size: .68rem;
    left: .7rem;
    padding: .35rem .55rem;
    z-index: 3;
}

.ng-news-card > .ng-news-card__body {
    padding: 1.5rem;
}

.ng-news-card__meta {
    color: #46504b;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: 1px;
    line-height: 1.7;
}

.ng-news-card h3 {
    color: #1a1a1a;
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.7;
    transition: color .3s ease;
}

.ng-news-card:hover h3 {
    color: #46504b;
}

.ng-news-card__body > p:not(.ng-news-card__meta) {
    color: #888;
    font-size: .8rem;
    line-height: 1.9;
}

.ng-news-card .ng-news__text-link {
    color: #46504b;
    font-size: .85rem;
    margin-top: .9rem;
}

.ng-news-controls__filters {
    gap: .7rem;
    margin-bottom: 2rem;
}

.ng-news-controls__filters button {
    background: transparent;
    border: 1px solid rgba(23, 23, 23, .22);
    border-radius: 2px;
    color: #888;
    cursor: pointer;
    font-size: .8rem;
    padding: .6rem 1rem;
    transition: all .25s ease;
}

.ng-news-controls__filters button.is-active,
.ng-news-controls__filters button:hover {
    background: #46504b;
    border-color: #46504b;
    color: #fff;
}

@media (max-width: 900px) {
    .ng-news-feed__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ng-news-card {
        min-width: 0;
    }
}

@media (max-width: 600px) {
    .ng-news-feed__cards {
        grid-template-columns: 1fr;
    }

    .ng-news-card {
        min-width: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ng-news-card,
    .ng-news-card__media img,
    .ng-news-card__media::before,
    .ng-news-card__media::after {
        transition: none;
    }
}
/* ==========================================================================\n   NARGOON NEWSROOM / EDITORIAL MASTHEAD V2\n   Scope: Hero only. Existing news sections remain untouched.\n   ========================================================================== */
.ng-news-masthead {
    align-items: center;
    display: grid;
    grid-template-columns: minmax(150px, .48fr) minmax(0, 1.52fr);
    min-height: clamp(560px, 72vh, 760px);
    overflow: hidden;
    padding-bottom: clamp(5.5rem, 9vw, 8rem);
    padding-top: clamp(5rem, 8vw, 7.5rem);
    position: relative;
    isolation: isolate;
}

.ng-news-masthead::before {
    content: '';
    height: 1px;
    left: clamp(1rem, 5vw, 4rem);
    position: absolute;
    right: clamp(1rem, 5vw, 4rem);
    top: clamp(2rem, 4vw, 8.4rem);
    transform: scaleX(1);
    transform-origin: right center;
    z-index: 2;
}

.ng-news-masthead__backword {
    bottom: clamp(2.8rem, 5vw, 4.8rem);
    color: rgba(23, 23, 23, .035);
    direction: ltr;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(7rem, 18vw, 17rem);
    font-weight: 400;
    left: 50%;
    letter-spacing: -.055em;
    line-height: .72;
    pointer-events: none;
    position: absolute;
    transform: translate3d(-50%, var(--news-backword-y, 0px), 0);
    user-select: none;
    white-space: nowrap;
    z-index: 0;
}

.ng-news-masthead__copy {
    grid-column: 2;
    justify-self: end;
    max-width: 790px;
    position: relative;
    width: 100%;
    z-index: 3;
}

.ng-news-masthead .ng-news__eyebrow {
    margin-bottom: clamp(1.25rem, 2.2vw, 2rem);
}

.ng-news-masthead h1 {
    font-size: clamp(3.2rem, 6.4vw, 6.35rem);
    font-weight: 300;
    letter-spacing: -.035em;
    line-height: 1.13;
    margin-bottom: clamp(1.5rem, 2.5vw, 2.1rem);
    max-width: 780px;
}

.ng-news-masthead h1 span {
    display: block;
}

.ng-news-masthead h1 em {
    color: var(--news-gold);
    display: inline-block;
    font-style: normal;
}

.ng-news-masthead__intro {
    color: var(--news-muted);
    font-size: clamp(.9rem, 1.1vw, 1.04rem);
    line-height: 2.05;
    margin-bottom: 0;
    max-width: 670px;
}

.ng-news-masthead__mark {
    align-items: flex-start;
    align-self: center;
    border: 0;
    border-right: 1px solid rgba(23, 23, 23, .36);
    display: flex;
    flex-direction: column;
    grid-column: 1;
    height: auto;
    justify-content: center;
    justify-self: start;
    margin: 0;
    min-height: 156px;
    min-width: 150px;
    padding: 1.15rem 1.35rem 1.15rem 0;
    position: relative;
    transform: translate3d(0, var(--news-folio-y, 0px), 0);
    z-index: 3;
}

.ng-news-masthead__mark::before,
.ng-news-masthead__mark::after {
    background: var(--news-gold);
    content: '';
    height: 1px;
    position: absolute;
    right: 0;
    width: 34px;
}

.ng-news-masthead__mark::before { top: 0; }
.ng-news-masthead__mark::after { bottom: 0; }

.ng-news-masthead__mark span {
    color: var(--news-ink);
    font-size: .62rem;
    letter-spacing: .22em;
}

.ng-news-masthead__mark strong {
    color: var(--news-gold);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(2.8rem, 4.5vw, 4.4rem);
    font-weight: 400;
    line-height: 1;
    margin: .5rem 0 .65rem;
}

.ng-news-masthead__mark small {
    color: var(--news-muted);
    font-size: .58rem;
    letter-spacing: .16em;
}
.ng-news { padding-top:3%;}
.ng-news-masthead__meta {
    align-items: center;
    bottom: clamp(1.6rem, 3vw, 2.5rem);
    direction: ltr;
    display: flex;
    gap: clamp(.65rem, 1.2vw, 1.25rem);
    left: clamp(1rem, 5vw, 4rem);
    position: absolute;
    right: clamp(1rem, 5vw, 4rem);
    z-index: 3;
}

.ng-news-masthead__meta::before {
    background: rgba(23, 23, 23, .16);
    content: '';
    height: 1px;
    left: 0;
    position: absolute;
    right: 0;
    top: -1.15rem;
}

.ng-news-masthead__meta span {
    color: #8b857b;
    font-size: clamp(.52rem, .65vw, .64rem);
    letter-spacing: .12em;
    white-space: nowrap;
}

.ng-news-masthead__meta i {
    background: var(--news-gold);
    border-radius: 50%;
    display: block;
    height: 3px;
    opacity: .8;
    width: 3px;
}

/* Entrance choreography is activated only when JS is available. */
.ng-news-masthead.ng-news-motion::before {
    transform: scaleX(0);
}

.ng-news-masthead.ng-news-motion .ng-news-masthead__backword,
.ng-news-masthead.ng-news-motion .ng-news__eyebrow,
.ng-news-masthead.ng-news-motion h1,
.ng-news-masthead.ng-news-motion .ng-news-masthead__intro,
.ng-news-masthead.ng-news-motion .ng-news-masthead__mark,
.ng-news-masthead.ng-news-motion .ng-news-masthead__meta {
    opacity: 0;
}

.ng-news-masthead.ng-news-motion .ng-news__eyebrow,
.ng-news-masthead.ng-news-motion h1,
.ng-news-masthead.ng-news-motion .ng-news-masthead__intro {
    transform: translate3d(0, 26px, 0);
}

.ng-news-masthead.ng-news-motion .ng-news-masthead__mark {
    transform: translate3d(-18px, var(--news-folio-y, 0px), 0);
}

.ng-news-masthead.ng-news-motion .ng-news-masthead__backword {
    transform: translate3d(-50%, calc(var(--news-backword-y, 0px) + 22px), 0);
}

.ng-news-masthead.ng-news-motion::before,
.ng-news-masthead.ng-news-motion .ng-news-masthead__backword,
.ng-news-masthead.ng-news-motion .ng-news__eyebrow,
.ng-news-masthead.ng-news-motion h1,
.ng-news-masthead.ng-news-motion .ng-news-masthead__intro,
.ng-news-masthead.ng-news-motion .ng-news-masthead__mark,
.ng-news-masthead.ng-news-motion .ng-news-masthead__meta {
    transition-property: opacity, transform;
    transition-timing-function: cubic-bezier(.22, 1, .36, 1);
}

.ng-news-masthead.ng-news-motion::before { transition-duration: 1.25s; }
.ng-news-masthead.ng-news-motion .ng-news-masthead__backword { transition-duration: 1.45s; transition-delay: .12s; }
.ng-news-masthead.ng-news-motion .ng-news__eyebrow { transition-duration: .9s; transition-delay: .2s; }
.ng-news-masthead.ng-news-motion h1 { transition-duration: 1.05s; transition-delay: .34s; }
.ng-news-masthead.ng-news-motion .ng-news-masthead__intro { transition-duration: 1s; transition-delay: .52s; }
.ng-news-masthead.ng-news-motion .ng-news-masthead__mark { transition-duration: 1.15s; transition-delay: .62s; }
.ng-news-masthead.ng-news-motion .ng-news-masthead__meta { transition-duration: 1s; transition-delay: .76s; }

.ng-news-masthead.ng-news-motion.is-ready::before {
    transform: scaleX(1);
}

.ng-news-masthead.ng-news-motion.is-ready .ng-news-masthead__backword,
.ng-news-masthead.ng-news-motion.is-ready .ng-news__eyebrow,
.ng-news-masthead.ng-news-motion.is-ready h1,
.ng-news-masthead.ng-news-motion.is-ready .ng-news-masthead__intro,
.ng-news-masthead.ng-news-motion.is-ready .ng-news-masthead__mark,
.ng-news-masthead.ng-news-motion.is-ready .ng-news-masthead__meta {
    opacity: 1;
}

.ng-news-masthead.ng-news-motion.is-ready .ng-news__eyebrow,
.ng-news-masthead.ng-news-motion.is-ready h1,
.ng-news-masthead.ng-news-motion.is-ready .ng-news-masthead__intro {
    transform: translate3d(0, var(--news-copy-y, 0px), 0);
}

.ng-news-masthead.ng-news-motion.is-ready .ng-news-masthead__mark {
    transform: translate3d(0, var(--news-folio-y, 0px), 0);
}

.ng-news-masthead.ng-news-motion.is-ready .ng-news-masthead__backword {
    transform: translate3d(-50%, var(--news-backword-y, 0px), 0);
}

@media (max-width: 900px) {
    .ng-news-masthead {
        grid-template-columns: minmax(110px, .36fr) minmax(0, 1.64fr);
        min-height: 620px;
    }

    .ng-news-masthead h1 {
        font-size: clamp(3rem, 8vw, 5rem);
    }

    .ng-news-masthead__mark {
        min-width: 112px;
        padding-right: 1rem;
    }

    .ng-news-masthead__meta span:nth-of-type(3) {
        display: none;
    }
}

@media (max-width: 600px) {
    .ng-news-masthead {
        align-items: start;
        display: flex;
        flex-direction: column;
        gap: 0;
        min-height: 600px;
        padding-bottom: 6.5rem;
        padding-top: 5rem;
    }

    .ng-news-masthead__copy {
        max-width: 100%;
		padding-top:5%;
    }

    .ng-news-masthead h1 {
        font-size: clamp(2.55rem, 12.5vw, 4rem);
        line-height: 1.18;
    }

    .ng-news-masthead__intro {
        font-size: .88rem;
        line-height: 2;
        max-width: 100%;
    }

    .ng-news-masthead__mark {
        border-right: 0;
        border-top: 1px solid rgba(23, 23, 23, .3);
        flex-direction: row;
        gap: .8rem;
        margin: 2rem 0 0;
        min-height: 0;
        min-width: 0;
        padding: .8rem 0 0;
        width: 100%;
    }

    .ng-news-masthead__mark::before,
    .ng-news-masthead__mark::after {
        display: none;
    }

    .ng-news-masthead__mark strong {
        font-size: 1.55rem;
        margin: 0;
    }

    .ng-news-masthead__mark span,
    .ng-news-masthead__mark small {
        align-self: center;
    }

    .ng-news-masthead__backword {
        bottom: 5.2rem;
        font-size: clamp(5rem, 31vw, 8.5rem);
        opacity: .7;
    }

    .ng-news-masthead__meta {
        gap: .55rem;
        overflow: hidden;
    }

    .ng-news-masthead__meta span {
        font-size: .48rem;
    }

    .ng-news-masthead__meta span:nth-of-type(2),
    .ng-news-masthead__meta i:nth-of-type(2) {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ng-news-masthead.ng-news-motion::before,
    .ng-news-masthead.ng-news-motion .ng-news-masthead__backword,
    .ng-news-masthead.ng-news-motion .ng-news__eyebrow,
    .ng-news-masthead.ng-news-motion h1,
    .ng-news-masthead.ng-news-motion .ng-news-masthead__intro,
    .ng-news-masthead.ng-news-motion .ng-news-masthead__mark,
    .ng-news-masthead.ng-news-motion .ng-news-masthead__meta {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .ng-news-masthead.ng-news-motion .ng-news-masthead__backword {
        transform: translateX(-50%);
    }
}


/* ==========================================================================
   NARGOON NEWSROOM / HERO V2 — WIDER EDITORIAL COMPOSITION
   Scope: masthead only. Reduces dead space, widens Persian headline,
   and increases NEWSROOM backword legibility.
   ========================================================================== */
@media (min-width: 901px) {
    .ng-news-masthead {
        display: grid;
        grid-template-columns: 1fr;
        min-height: clamp(450px, 56vh, 590px);
        padding-top: clamp(3.8rem, 5.5vw, 13.4rem);
        padding-bottom: clamp(5.8rem, 7vw, 7rem);
    }

    .ng-news-masthead__copy {
        grid-column: 1;
        justify-self: end;
        max-width: 1040px;
        width: min(82%, 1040px);
        text-align: right;
    }

    .ng-news-masthead .ng-news__eyebrow {
        margin-bottom: clamp(1rem, 1.5vw, 1.35rem);
    }

    .ng-news-masthead h1 {
        font-size: clamp(3.25rem, 5.15vw, 5.65rem);
        letter-spacing: -.03em;
        line-height: 1.12;
        margin-bottom: clamp(1.15rem, 1.8vw, 1.6rem);
        max-width: 1020px;
        text-align: right;
    }

    .ng-news-masthead h1 span {
        display: inline;
    }

    .ng-news-masthead__intro {
        font-size: clamp(.9rem, 1vw, 1rem);
        line-height: 1.95;
        max-width: 760px;
        text-align: right;
    }

    .ng-news-masthead__mark {
        grid-column: auto;
        left: clamp(1rem, 5vw, 4rem);
        position: absolute;
        top: 49%;
        transform: translate3d(0, calc(-50% + var(--news-folio-y, 0px)), 0);
    }

    .ng-news-masthead__backword {
        bottom: clamp(3.8rem, 5vw, 4.8rem);
        color: rgba(23, 23, 23, .075);
        font-size: clamp(8rem, 16vw, 15rem);
        line-height: .76;
    }

    .ng-news-masthead.ng-news-motion .ng-news-masthead__mark {
        transform: translate3d(-18px, calc(-50% + var(--news-folio-y, 0px)), 0);
    }

    .ng-news-masthead.ng-news-motion.is-ready .ng-news-masthead__mark {
        transform: translate3d(0, calc(-50% + var(--news-folio-y, 0px)), 0);
    }
}

@media (min-width: 601px) and (max-width: 900px) {
    .ng-news-masthead {
        grid-template-columns: 1fr;
        min-height: 520px;
        padding-top: 4rem;
        padding-bottom: 6.5rem;
    }

    .ng-news-masthead__copy {
        grid-column: 1;
        justify-self: end;
        max-width: 760px;
        width: 82%;
        text-align: right;
    }

    .ng-news-masthead h1 {
        font-size: clamp(3rem, 7vw, 4.5rem);
        line-height: 1.14;
        max-width: 760px;
        text-align: right;
    }

    .ng-news-masthead h1 span {
        display: inline;
    }

    .ng-news-masthead__intro {
        max-width: 620px;
    }

    .ng-news-masthead__mark {
        left: clamp(1rem, 4vw, 2.5rem);
        min-width: 105px;
        position: absolute;
        top: 50%;
        transform: translate3d(0, calc(-50% + var(--news-folio-y, 0px)), 0);
    }

    .ng-news-masthead__backword {
        color: rgba(23, 23, 23, .065);
        font-size: clamp(7rem, 20vw, 11rem);
    }

    .ng-news-masthead.ng-news-motion .ng-news-masthead__mark {
        transform: translate3d(-14px, calc(-50% + var(--news-folio-y, 0px)), 0);
    }

    .ng-news-masthead.ng-news-motion.is-ready .ng-news-masthead__mark {
        transform: translate3d(0, calc(-50% + var(--news-folio-y, 0px)), 0);
    }
}

@media (max-width: 600px) {
    .ng-news-masthead {
        min-height: 0;
        padding-top: 4rem;
        padding-bottom: 6.2rem;
    }

    .ng-news-masthead h1 {
        margin-bottom: 1.25rem;
        max-width: 100%;
        text-align: right;
    }

    .ng-news-masthead h1 span {
        display: inline;
    }

    .ng-news-masthead__backword {
        color: rgba(23, 23, 23, .06);
    }
}


/* ==========================================================================
   NARGOON NEWSROOM / HERO V3 — RESERVED FOLIO COLUMN
   Scope: desktop/tablet masthead only.
   Keeps the left folio in its own column so it never collides with the title.
   ========================================================================== */
@media (min-width: 901px) {
    .ng-news-masthead {
        grid-template-columns: minmax(190px, .34fr) minmax(0, 1.66fr);
        min-height: clamp(470px, 58vh, 610px);
		 
    }

    .ng-news-masthead__copy {
        grid-column: 2;
        justify-self: stretch;
        max-width: none;
        width: 100%;
        padding-left: clamp(1.5rem, 3vw, 3.25rem);
        text-align: right;
    }

    .ng-news-masthead h1 {
        font-size: clamp(3.25rem, 4.75vw, 5.25rem);
        line-height: 1.13;
        max-width: 980px;
    }

    .ng-news-masthead__intro {
        max-width: 760px;
    }

    .ng-news-masthead__mark,
    .ng-news-masthead.ng-news-motion .ng-news-masthead__mark,
    .ng-news-masthead.ng-news-motion.is-ready .ng-news-masthead__mark {
        align-self: center;
        grid-column: 1;
        justify-self: start;
        left: auto;
        position: relative;
        top: auto;
        transform: translate3d(0, var(--news-folio-y, 0px), 0);
    }

    .ng-news-masthead.ng-news-motion .ng-news-masthead__mark {
        transform: translate3d(-18px, var(--news-folio-y, 0px), 0);
    }

    .ng-news-masthead.ng-news-motion.is-ready .ng-news-masthead__mark {
        transform: translate3d(0, var(--news-folio-y, 0px), 0);
    }

    .ng-news-masthead__meta {
        direction: rtl;
        justify-content: flex-start;
    }

    .ng-news-masthead__meta span {
        letter-spacing: 0;
        font-size: clamp(.62rem, .72vw, .72rem);
        white-space: nowrap;
    }
}

@media (min-width: 601px) and (max-width: 900px) {
    .ng-news-masthead {
        grid-template-columns: minmax(135px, .32fr) minmax(0, 1.68fr);
    }

    .ng-news-masthead__copy {
        grid-column: 2;
        justify-self: stretch;
        max-width: none;
        width: 100%;
        padding-left: 1.25rem;
    }

    .ng-news-masthead__mark,
    .ng-news-masthead.ng-news-motion .ng-news-masthead__mark,
    .ng-news-masthead.ng-news-motion.is-ready .ng-news-masthead__mark {
        grid-column: 1;
        justify-self: start;
        left: auto;
        position: relative;
        top: auto;
        transform: translate3d(0, var(--news-folio-y, 0px), 0);
    }

    .ng-news-masthead.ng-news-motion .ng-news-masthead__mark {
        transform: translate3d(-14px, var(--news-folio-y, 0px), 0);
    }

    .ng-news-masthead__meta {
        direction: rtl;
    }

    .ng-news-masthead__meta span {
        letter-spacing: 0;
    }
}

@media (max-width: 600px) {
    .ng-news-masthead__meta {
        direction: rtl;
    }

    .ng-news-masthead__meta span {
        letter-spacing: 0;
    }
}

/* Nargoon Newsroom — editorial ticker patch (isolated) */
.ng-news-ticker.ng-news-ticker--editorial {
    align-items: center;
    background: transparent;
    border-bottom: 1px solid rgba(114, 91, 44, .28);
    border-top: 1px solid rgba(114, 91, 44, .28);
    display: grid;
    gap: clamp(1.25rem, 3vw, 3.5rem);
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-height: 86px;
    overflow: hidden;
    padding-bottom: 1.15rem;
    padding-top: 1.15rem;
    position: relative;
}

.ng-news-ticker.ng-news-ticker--editorial::after {
    background: var(--news-gold);
    bottom: -1px;
    content: '';
    height: 1px;
    position: absolute;
    right: 0;
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform 1s cubic-bezier(.22, 1, .36, 1);
    width: 100%;
}

.ng-news-ticker--editorial.is-inview::after {
    transform: scaleX(1);
}

.ng-news-ticker--editorial .ng-news-ticker__identity {
    align-items: center;
    display: flex;
    gap: .8rem;
    min-width: max-content;
}

.ng-news-ticker--editorial .ng-news-ticker__label {
    background: transparent;
    color: var(--news-gold);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: 0;
    padding: 0;
    white-space: nowrap;
}

.ng-news-ticker--editorial .ng-news-ticker__number {
    border-right: 1px solid rgba(114, 91, 44, .28);
    color: var(--news-muted);
    direction: rtl;
    font-size: .72rem;
    line-height: 1;
    padding-right: .8rem;
    white-space: nowrap;
}

.ng-news-ticker--editorial .ng-news-ticker__headline {
    color: var(--news-ink);
    font-size: clamp(.88rem, 1vw, 1rem);
    font-weight: 400;
    line-height: 1.9;
    margin: 0;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ng-news-ticker--editorial .ng-news-ticker__link {
    align-items: center;
    color: var(--news-ink);
    display: inline-flex;
    font-size: .76rem;
    gap: .55rem;
    margin-right: 0;
    text-decoration: none;
    white-space: nowrap;
}

.ng-news-ticker--editorial .ng-news-ticker__link span {
    color: var(--news-gold);
    display: inline-block;
    transition: transform .35s cubic-bezier(.22, 1, .36, 1);
}

.ng-news-ticker--editorial .ng-news-ticker__link:hover span,
.ng-news-ticker--editorial .ng-news-ticker__link:focus-visible span {
    transform: translateX(-5px);
}

.ng-news-ticker--editorial.ng-news-ticker-motion .ng-news-ticker__identity,
.ng-news-ticker--editorial.ng-news-ticker-motion .ng-news-ticker__headline,
.ng-news-ticker--editorial.ng-news-ticker-motion .ng-news-ticker__link {
    opacity: 0;
    transform: translate3d(18px, 0, 0);
    transition: opacity .7s ease, transform .8s cubic-bezier(.22, 1, .36, 1);
}

.ng-news-ticker--editorial.ng-news-ticker-motion.is-inview .ng-news-ticker__identity,
.ng-news-ticker--editorial.ng-news-ticker-motion.is-inview .ng-news-ticker__headline,
.ng-news-ticker--editorial.ng-news-ticker-motion.is-inview .ng-news-ticker__link {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.ng-news-ticker--editorial.ng-news-ticker-motion.is-inview .ng-news-ticker__headline {
    transition-delay: .1s;
}

.ng-news-ticker--editorial.ng-news-ticker-motion.is-inview .ng-news-ticker__link {
    transition-delay: .18s;
}

@media (max-width: 760px) {
    .ng-news-ticker.ng-news-ticker--editorial {
        align-items: start;
        gap: .8rem 1rem;
        grid-template-columns: minmax(0, 1fr) auto;
        min-height: 0;
        padding-bottom: 1.25rem;
        padding-top: 1.25rem;
    }

    .ng-news-ticker--editorial .ng-news-ticker__identity {
        grid-column: 1;
        grid-row: 1;
    }

    .ng-news-ticker--editorial .ng-news-ticker__headline {
        grid-column: 1 / -1;
        grid-row: 2;
        line-height: 1.85;
        overflow: visible;
        text-overflow: clip;
        white-space: normal;
    }

    .ng-news-ticker--editorial .ng-news-ticker__link {
        grid-column: 2;
        grid-row: 1;
    }
}

@media (max-width: 480px) {
    .ng-news-ticker.ng-news-ticker--editorial {
        display: grid;
        grid-template-columns: 1fr;
    }

    .ng-news-ticker--editorial .ng-news-ticker__identity,
    .ng-news-ticker--editorial .ng-news-ticker__headline,
    .ng-news-ticker--editorial .ng-news-ticker__link {
        grid-column: 1;
    }

    .ng-news-ticker--editorial .ng-news-ticker__identity {
        grid-row: 1;
    }

    .ng-news-ticker--editorial .ng-news-ticker__headline {
        grid-row: 2;
    }

    .ng-news-ticker--editorial .ng-news-ticker__link {
        grid-row: 3;
        justify-self: start;
        margin-top: .2rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ng-news-ticker--editorial::after,
    .ng-news-ticker--editorial .ng-news-ticker__identity,
    .ng-news-ticker--editorial .ng-news-ticker__headline,
    .ng-news-ticker--editorial .ng-news-ticker__link,
    .ng-news-ticker--editorial .ng-news-ticker__link span {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* Nargoon Newsroom — V5 ticker compatibility patch
   Targets the CURRENT CMS ticker markup directly; no HTML modifier class required. */
.ng-news.ng-news-ticker {
    align-items: center;
    background: transparent;
    border-top: 1px solid rgba(114, 91, 44, .30);
    border-bottom: 1px solid rgba(114, 91, 44, .30);
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: clamp(1.2rem, 3vw, 3rem);
    min-height: 82px;
    padding: 1rem clamp(0.25rem, 1vw, 0.75rem);
    position: relative;
}

.ng-news.ng-news-ticker::after {
    background: var(--news-gold);
    bottom: -1px;
    content: '';
    height: 1px;
    position: absolute;
    right: 0;
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform 1.05s cubic-bezier(.22, 1, .36, 1);
    width: 100%;
}

.ng-news.ng-news-ticker.is-inview::after {
    transform: scaleX(1);
}

.ng-news.ng-news-ticker > .ng-news-ticker__label {
    background: transparent;
    color: var(--news-gold);
    font-size: .72rem;
    font-weight: 600;
    line-height: 1;
    padding: 0;
    white-space: nowrap;
}

.ng-news.ng-news-ticker > p {
    color: var(--news-ink);
    font-size: clamp(.88rem, 1vw, 1rem);
    font-weight: 400;
    line-height: 1.9;
    margin: 0;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ng-news.ng-news-ticker > p strong {
    color: var(--news-muted);
    font-size: .75rem;
    font-weight: 500;
    margin-left: .55rem;
}

.ng-news.ng-news-ticker > a {
    align-items: center;
    color: var(--news-ink);
    display: inline-flex;
    font-size: .76rem;
    gap: .55rem;
    margin-right: 0;
    text-decoration: none;
    white-space: nowrap;
}

.ng-news.ng-news-ticker > a span {
    color: var(--news-gold);
    display: inline-block;
    transition: transform .35s cubic-bezier(.22, 1, .36, 1);
}

.ng-news.ng-news-ticker > a:hover span,
.ng-news.ng-news-ticker > a:focus-visible span {
    transform: translateX(-5px);
}

.ng-news.ng-news-ticker.ng-news-ticker-motion > .ng-news-ticker__label,
.ng-news.ng-news-ticker.ng-news-ticker-motion > p,
.ng-news.ng-news-ticker.ng-news-ticker-motion > a {
    opacity: 0;
    transform: translate3d(16px, 0, 0);
    transition: opacity .65s ease, transform .8s cubic-bezier(.22, 1, .36, 1);
}

.ng-news.ng-news-ticker.ng-news-ticker-motion.is-inview > .ng-news-ticker__label,
.ng-news.ng-news-ticker.ng-news-ticker-motion.is-inview > p,
.ng-news.ng-news-ticker.ng-news-ticker-motion.is-inview > a {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.ng-news.ng-news-ticker.ng-news-ticker-motion.is-inview > p { transition-delay: .09s; }
.ng-news.ng-news-ticker.ng-news-ticker-motion.is-inview > a { transition-delay: .17s; }

@media (max-width: 760px) {
    .ng-news.ng-news-ticker {
        grid-template-columns: 1fr auto;
        gap: .65rem 1rem;
        min-height: 0;
        padding: 1rem 0;
    }

    .ng-news.ng-news-ticker > p {
        grid-column: 1 / -1;
        grid-row: 2;
        white-space: normal;
    }

    .ng-news.ng-news-ticker > a {
        grid-column: 2;
        grid-row: 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ng-news.ng-news-ticker::after,
    .ng-news.ng-news-ticker.ng-news-ticker-motion > .ng-news-ticker__label,
    .ng-news.ng-news-ticker.ng-news-ticker-motion > p,
    .ng-news.ng-news-ticker.ng-news-ticker-motion > a {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* =========================================================
   Nargoon Newsroom — V7 Cinematic Featured Reveal
   Scope: #ngNewsLead only. No other newsroom section changed.
   ========================================================= */
#ngNewsLead.ng-news-lead {
    --lead-parallax-y: 0px;
    --lead-pointer-x: 0deg;
    --lead-pointer-y: 0deg;
    align-items: stretch;
    background: transparent;
    color: var(--news-ink);
    display: grid;
    gap: clamp(2rem, 5vw, 5.25rem);
    grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr);
    margin-bottom: clamp(4rem, 7vw, 6.5rem);
    margin-top: clamp(3.25rem, 6vw, 5.5rem);
    min-height: 0;
    overflow: visible;
    padding-left: clamp(1rem, 5vw, 4rem);
    padding-right: clamp(1rem, 5vw, 4rem);
    position: relative;
}

#ngNewsLead .ng-news-lead__media {
    align-self: stretch;
    background: #e8e3d9;
    clip-path: inset(0 47% 0 47% round 2px);
    min-height: clamp(390px, 34vw, 500px);
    opacity: .35;
    overflow: hidden;
    perspective: 1200px;
    position: relative;
    transform: translate3d(0, 18px, 0);
    transition:
        clip-path 1.25s cubic-bezier(.16, 1, .3, 1),
        opacity .75s ease,
        transform 1.1s cubic-bezier(.16, 1, .3, 1);
    will-change: clip-path, transform;
}

#ngNewsLead.is-featured-inview .ng-news-lead__media {
    clip-path: inset(0 0 0 0 round 2px);
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

#ngNewsLead .ng-news-lead__media img {
    height: calc(100% + 56px);
    max-width: none;
    object-fit: cover;
    object-position: center center;
    transform:
        translate3d(0, var(--lead-parallax-y), 0)
        scale(1.095)
        rotateX(var(--lead-pointer-x))
        rotateY(var(--lead-pointer-y));
    transform-origin: center center;
    transition: transform 1.45s cubic-bezier(.16, 1, .3, 1), filter .65s ease;
    width: 100%;
    will-change: transform;
}

#ngNewsLead.is-featured-inview .ng-news-lead__media img {
    transform:
        translate3d(0, var(--lead-parallax-y), 0)
        scale(1.015)
        rotateX(var(--lead-pointer-x))
        rotateY(var(--lead-pointer-y));
}

#ngNewsLead .ng-news-lead__media::after {
    background:
        linear-gradient(180deg, transparent 62%, rgba(16, 16, 16, .16) 100%),
        linear-gradient(90deg, rgba(23, 23, 23, .075), transparent 28%);
    content: '';
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 1;
}

#ngNewsLead .ng-news-lead__media::before {
    background: var(--news-gold);
    content: '';
    height: 2px;
    left: 0;
    position: absolute;
    top: 0;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 1.05s .42s cubic-bezier(.16, 1, .3, 1);
    width: 38%;
    z-index: 3;
}

#ngNewsLead.is-featured-inview .ng-news-lead__media::before {
    transform: scaleX(1);
}

#ngNewsLead .ng-news-lead__stamp {
    backdrop-filter: blur(7px);
    background: rgba(20, 20, 20, .14);
    border: 1px solid rgba(255, 255, 255, .62);
    bottom: 1.25rem;
    color: #fff;
    font-size: .62rem;
    left: 1.25rem;
    letter-spacing: .08em;
    line-height: 1.7;
    opacity: 0;
    padding: .6rem .72rem;
    position: absolute;
    transform: translate3d(0, 12px, 0);
    transition: opacity .6s .72s ease, transform .75s .72s cubic-bezier(.16, 1, .3, 1);
    z-index: 4;
}

#ngNewsLead.is-featured-inview .ng-news-lead__stamp {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

#ngNewsLead .ng-news-lead__stamp strong {
    color: #fff;
    display: block;
    font-size: .9rem;
    font-weight: 400;
    letter-spacing: .02em;
}

#ngNewsLead .ng-news-lead__copy {
    align-self: center;
    max-width: 610px;
    padding: clamp(.5rem, 1.5vw, 1.25rem) 0;
    position: relative;
}

#ngNewsLead .ng-news-lead__copy::before {
    background: var(--news-gold);
    content: '';
    height: 0;
    position: absolute;
    right: -1.25rem;
    top: .65rem;
    transition: height .9s .28s cubic-bezier(.16, 1, .3, 1);
    width: 1px;
}

#ngNewsLead.is-featured-inview .ng-news-lead__copy::before {
    height: clamp(64px, 8vw, 104px);
}

#ngNewsLead .ng-news__section-number,
#ngNewsLead .ng-news-lead__date,
#ngNewsLead .ng-news-lead__copy > p:not(.ng-news__section-number):not(.ng-news-lead__date),
#ngNewsLead .ng-news-lead__actions {
    opacity: 0;
    transform: translate3d(0, 16px, 0);
    transition: opacity .62s ease, transform .8s cubic-bezier(.16, 1, .3, 1);
}

#ngNewsLead .ng-news__section-number {
    color: var(--news-gold);
    font-size: .68rem;
    letter-spacing: .08em;
    margin-bottom: 1.1rem;
}

#ngNewsLead .ng-news-lead__date {
    color: var(--news-muted);
    font-size: .72rem;
    margin-bottom: 1.15rem;
}

#ngNewsLead h2 {
    clip-path: inset(0 0 100% 0);
    color: var(--news-ink);
    font-size: clamp(2rem, 3.3vw, 3.7rem);
    font-weight: 300;
    letter-spacing: -.035em;
    line-height: 1.45;
    margin: 0 0 1.3rem;
    opacity: 0;
    transform: translate3d(0, 28px, 0);
    transition:
        clip-path 1s .16s cubic-bezier(.16, 1, .3, 1),
        opacity .55s .16s ease,
        transform 1s .16s cubic-bezier(.16, 1, .3, 1);
}

#ngNewsLead .ng-news-lead__copy > p:not(.ng-news__section-number):not(.ng-news-lead__date) {
    color: var(--news-muted);
    font-size: clamp(.86rem, .95vw, .98rem);
    line-height: 2.05;
    margin-bottom: 0;
    max-width: 52ch;
}

#ngNewsLead .ng-news-lead__actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    margin-top: 1.65rem;
}

#ngNewsLead.is-featured-inview .ng-news__section-number,
#ngNewsLead.is-featured-inview .ng-news-lead__date,
#ngNewsLead.is-featured-inview .ng-news-lead__copy > p:not(.ng-news__section-number):not(.ng-news-lead__date),
#ngNewsLead.is-featured-inview .ng-news-lead__actions {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

#ngNewsLead.is-featured-inview .ng-news__section-number { transition-delay: .12s; }
#ngNewsLead.is-featured-inview .ng-news-lead__date { transition-delay: .24s; }
#ngNewsLead.is-featured-inview .ng-news-lead__copy > p:not(.ng-news__section-number):not(.ng-news-lead__date) { transition-delay: .42s; }
#ngNewsLead.is-featured-inview .ng-news-lead__actions { transition-delay: .54s; }

#ngNewsLead.is-featured-inview h2 {
    clip-path: inset(0 0 0 0);
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

#ngNewsLead .ng-news__button-gold,
#ngNewsLead .ng-news__text-link {
    align-items: center;
    background: transparent;
    border: 0;
    border-bottom: 1px solid rgba(114, 91, 44, .42);
    color: var(--news-ink);
    display: inline-flex;
    font-size: .78rem;
    gap: .65rem;
    padding: .5rem 0 .45rem;
    position: relative;
    text-decoration: none;
}

#ngNewsLead .ng-news__button-gold::after,
#ngNewsLead .ng-news__text-link::after {
    background: var(--news-gold);
    bottom: -1px;
    content: '';
    height: 1px;
    position: absolute;
    right: 0;
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform .42s cubic-bezier(.16, 1, .3, 1);
    width: 100%;
}

#ngNewsLead .ng-news__button-gold:hover::after,
#ngNewsLead .ng-news__button-gold:focus-visible::after,
#ngNewsLead .ng-news__text-link:hover::after,
#ngNewsLead .ng-news__text-link:focus-visible::after {
    transform: scaleX(1);
}

#ngNewsLead .ng-news__button-gold span,
#ngNewsLead .ng-news__text-link span {
    color: var(--news-gold);
    display: inline-block;
    transition: transform .38s cubic-bezier(.16, 1, .3, 1);
}

#ngNewsLead .ng-news__button-gold:hover span,
#ngNewsLead .ng-news__button-gold:focus-visible span {
    transform: translateY(4px);
}

#ngNewsLead .ng-news__text-link:hover span,
#ngNewsLead .ng-news__text-link:focus-visible span {
    transform: translateX(-5px);
}

@media (max-width: 900px) {
    #ngNewsLead.ng-news-lead {
        gap: 2rem;
        grid-template-columns: 1fr;
        margin-top: 3rem;
    }

    #ngNewsLead .ng-news-lead__media {
        min-height: 0;
        order: 1;
        aspect-ratio: 16 / 9;
    }

    #ngNewsLead .ng-news-lead__copy {
        max-width: 760px;
        order: 2;
        padding: 0;
    }

    #ngNewsLead .ng-news-lead__copy::before {
        right: -1rem;
    }

    #ngNewsLead h2 {
        font-size: clamp(2rem, 6vw, 3.25rem);
     }
}

@media (max-width: 600px) {
    #ngNewsLead.ng-news-lead {
        gap: 1.55rem;
        margin-bottom: 4rem;
        margin-top: 1rem;
    }

    #ngNewsLead .ng-news-lead__media {
        aspect-ratio: 4 / 3;
    }

    #ngNewsLead .ng-news-lead__media img {
        height: calc(100% + 34px);
    }

    #ngNewsLead .ng-news-lead__copy::before {
        display: none;
    }

    #ngNewsLead h2 {
        font-size: clamp(1.85rem, 9vw, 2.65rem);
        line-height: 1.5;
    }

    #ngNewsLead .ng-news-lead__actions {
        gap: 1rem 1.35rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    #ngNewsLead .ng-news-lead__media,
    #ngNewsLead .ng-news-lead__media img,
    #ngNewsLead .ng-news-lead__media::before,
    #ngNewsLead .ng-news-lead__stamp,
    #ngNewsLead .ng-news-lead__copy::before,
    #ngNewsLead .ng-news__section-number,
    #ngNewsLead .ng-news-lead__date,
    #ngNewsLead h2,
    #ngNewsLead .ng-news-lead__copy > p:not(.ng-news__section-number):not(.ng-news-lead__date),
    #ngNewsLead .ng-news-lead__actions {
        clip-path: none;
        opacity: 1;
        transform: none;
        transition: none;
    }

    #ngNewsLead .ng-news-lead__media::before {
        transform: scaleX(1);
    }

    #ngNewsLead .ng-news-lead__copy::before {
        height: 88px;
    }
}

/* ========================================================================== */
/* NARGOON NEWS — ISOLATED PANORAMIC NEWS STAGE / V9                          */
/* Scoped only to #ngNewsPanorama. No other section is modified.              */
/* ========================================================================== */
#ngNewsPanorama.ng-news-panorama {
    --pano-progress: 0;
    --pano-tilt-x: 0deg;
    --pano-tilt-y: 0deg;
    background: #f5f3ef;
    box-sizing: border-box;
    contain: layout paint;
    height: 175vh;
    isolation: isolate;
    margin: 0;
    overflow: clip;
    position: relative;
    width: 100%;
    z-index: 30;
}

#ngNewsPanorama,
#ngNewsPanorama *,
#ngNewsPanorama *::before,
#ngNewsPanorama *::after {
    box-sizing: border-box;
}

#ngNewsPanorama .ng-news-panorama__sticky {
    align-items: center;
    background: #f5f3ef;
    display: flex;
    height: 100svh;
    justify-content: center;
    overflow: hidden;
    perspective: 1200px;
    position: sticky;
    top: 0;
    width: 100%;
    z-index: 2;
}

#ngNewsPanorama .ng-news-panorama__sticky::before {
    background: linear-gradient(90deg, transparent, rgba(23,23,23,.24), transparent);
    content: '';
    height: 1px;
    left: 50%;
    opacity: calc(.18 + (var(--pano-progress) * .55));
    position: absolute;
    top: clamp(22px, 4vh, 42px);
    transform: translateX(-50%) scaleX(calc(.16 + (var(--pano-progress) * .84)));
    transform-origin: center;
    width: min(86vw, 1180px);
    z-index: 4;
}

#ngNewsPanorama .ng-news-panorama__intro {
    left: 50%;
    max-width: 760px;
    pointer-events: none;
    position: absolute;
    text-align: center;
    top: clamp(62px, 8vh, 92px);
    transform: translateX(-50%) translateY(calc(var(--pano-progress) * -22px));
    width: min(88vw, 760px);
    z-index: 20;
}

#ngNewsPanorama .ng-news-panorama__kicker {
    color: #46504b;
    font-size: .72rem;
    letter-spacing: .06em;
    margin: 0 0 .7rem;
}

#ngNewsPanorama .ng-news-panorama__title {
    color: #171717;
    font-family: 'Vazirmatn', 'IRANSans', sans-serif;
    font-size: clamp(2rem, 3.5vw, 4rem);
    font-weight: 400;
    line-height: 1.35;
    margin: 0;
}

#ngNewsPanorama .ng-news-panorama__hint {
    color: rgba(23,23,23,.48);
    font-size: .76rem;
    margin: .65rem 0 0;
    opacity: max(0, calc(1 - (var(--pano-progress) * 2.2)));
    transform: translateY(calc(var(--pano-progress) * -7px));
}

#ngNewsPanorama .ng-news-panorama__scene {
    height: min(48vh, 500px);
    left: 50%;
    min-height: 340px;
    position: absolute;
    transform: translate(-50%, -50%) rotateX(var(--pano-tilt-x)) rotateY(var(--pano-tilt-y));
    transform-style: preserve-3d;
    transition: transform .22s ease-out;
    width: 100%;
    z-index: 10;
}

#ngNewsPanorama .ng-news-panorama__card {
    --card-x: 0vw;
    --card-y: 0vh;
    --card-rz: 0deg;
    --card-ry: 0deg;
    --card-scale: .78;
    background: #fff;
    border: 1px solid rgba(23,23,23,.07);
    box-shadow: 0 18px 46px rgba(24,21,15,.11);
    display: block;
    height: clamp(235px, 30vh, 315px);
    left: 50%;
    overflow: hidden;
    position: absolute;
    text-decoration: none;
    top: 50%;
    transform: translate(-50%, -50%) translate3d(var(--card-x), var(--card-y), 0) rotateZ(var(--card-rz)) rotateY(var(--card-ry)) scale(var(--card-scale));
    transform-origin: center center -42px;
    transform-style: preserve-3d;
    transition: box-shadow .38s cubic-bezier(.16,1,.3,1), filter .38s cubic-bezier(.16,1,.3,1);
    width: clamp(180px, 18vw, 265px);
    will-change: transform;
}

#ngNewsPanorama .ng-news-panorama__card::after {
    background: linear-gradient(180deg, transparent 38%, rgba(9,9,8,.82) 100%);
    content: '';
    inset: 0;
    opacity: .08;
    pointer-events: none;
    position: absolute;
    transition: opacity .38s cubic-bezier(.16,1,.3,1);
    z-index: 1;
}

#ngNewsPanorama .ng-news-panorama__card img {
    display: block;
    height: 100%;
    max-width: none;
    object-fit: cover;
    transform: scale(1.045);
    transition: transform .65s cubic-bezier(.16,1,.3,1), filter .4s ease;
    width: 100%;
}

#ngNewsPanorama .ng-news-panorama__card-content {
    bottom: 0;
    color: #fff;
    left: 0;
    opacity: 0;
    padding: 1rem 1.05rem 1.1rem;
    pointer-events: none;
    position: absolute;
    right: 0;
    transform: translateY(12px);
    transition: opacity .35s cubic-bezier(.16,1,.3,1), transform .4s cubic-bezier(.16,1,.3,1);
    z-index: 2;
}

#ngNewsPanorama .ng-news-panorama__card-meta {
    color: rgba(255,255,255,.72);
    display: block;
    font-size: .64rem;
    margin-bottom: .35rem;
}

#ngNewsPanorama .ng-news-panorama__card-title {
    display: block;
    font-size: clamp(.82rem, 1vw, .98rem);
    font-weight: 500;
    line-height: 1.7;
}

#ngNewsPanorama.is-spread .ng-news-panorama__card {
    cursor: pointer;
}

#ngNewsPanorama.is-spread .ng-news-panorama__card:hover,
#ngNewsPanorama.is-spread .ng-news-panorama__card:focus-visible {
    box-shadow: 0 28px 62px rgba(24,21,15,.22);
    filter: saturate(1.04);
    outline: none;
    z-index: 50 !important;
}

#ngNewsPanorama.is-spread .ng-news-panorama__card:hover::after,
#ngNewsPanorama.is-spread .ng-news-panorama__card:focus-visible::after {
    opacity: 1;
}

#ngNewsPanorama.is-spread .ng-news-panorama__card:hover img,
#ngNewsPanorama.is-spread .ng-news-panorama__card:focus-visible img {
    transform: scale(1.085);
}

#ngNewsPanorama.is-spread .ng-news-panorama__card:hover .ng-news-panorama__card-content,
#ngNewsPanorama.is-spread .ng-news-panorama__card:focus-visible .ng-news-panorama__card-content {
    opacity: 1;
    transform: translateY(0);
}

#ngNewsPanorama .ng-news-panorama__footer {
    bottom: clamp(28px, 4.5vh, 48px);
    left: 50%;
    opacity: max(0, calc((var(--pano-progress) - .68) * 3.2));
    position: absolute;
    transform: translateX(-50%) translateY(calc((1 - var(--pano-progress)) * 12px));
    z-index: 22;
}

#ngNewsPanorama .ng-news-panorama__all {
    color: #171717;
    display: inline-flex;
    font-size: .78rem;
    gap: .55rem;
    padding-bottom: .35rem;
    position: relative;
    text-decoration: none;
}

#ngNewsPanorama .ng-news-panorama__all::after {
    background: #46504b;
    bottom: 0;
    content: '';
    height: 1px;
    position: absolute;
    right: 0;
    transform: scaleX(.32);
    transform-origin: right center;
    transition: transform .35s cubic-bezier(.16,1,.3,1);
    width: 100%;
}

#ngNewsPanorama .ng-news-panorama__all:hover::after,
#ngNewsPanorama .ng-news-panorama__all:focus-visible::after {
    transform: scaleX(1);
}

@media (max-width: 900px) {
    #ngNewsPanorama.ng-news-panorama { height: 160vh; }
    #ngNewsPanorama .ng-news-panorama__intro { top: 7vh; }
    #ngNewsPanorama .ng-news-panorama__scene { height: 45vh;   }
    #ngNewsPanorama .ng-news-panorama__card {
        height: clamp(215px, 28vh, 280px);
        width: clamp(165px, 25vw, 220px);
    }
}

@media (max-width: 600px) {
    #ngNewsPanorama.ng-news-panorama { height: 150vh; }
    #ngNewsPanorama .ng-news-panorama__intro { top: 7vh; width: 90vw; }
    #ngNewsPanorama .ng-news-panorama__title { font-size: clamp(1.8rem, 8.6vw, 2.55rem); }
    #ngNewsPanorama .ng-news-panorama__hint { display: none; }
    #ngNewsPanorama .ng-news-panorama__scene { height: 42vh; min-height: 290px;   }
    #ngNewsPanorama .ng-news-panorama__card {
        height: clamp(195px, 27vh, 245px);
        width: clamp(140px, 38vw, 178px);
    }
    #ngNewsPanorama .ng-news-panorama__card-content { padding: .8rem; }
    #ngNewsPanorama .ng-news-panorama__card-title { font-size: .76rem; line-height: 1.6; }
    #ngNewsPanorama .ng-news-panorama__footer { bottom: 4vh; }
}

@media (prefers-reduced-motion: reduce) {
    #ngNewsPanorama.ng-news-panorama {
        contain: none;
        height: auto;
        overflow: visible;
    }
    #ngNewsPanorama .ng-news-panorama__sticky {
        display: block;
        height: auto;
        overflow: visible;
        padding: 5rem 1rem;
        position: relative;
    }
    #ngNewsPanorama .ng-news-panorama__intro,
    #ngNewsPanorama .ng-news-panorama__footer {
        bottom: auto;
        left: auto;
        margin: 0 auto 2rem;
        opacity: 1;
        position: relative;
        top: auto;
        transform: none;
    }
    #ngNewsPanorama .ng-news-panorama__scene {
        display: grid;
        gap: .75rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        height: auto;
        left: auto;
        min-height: 0;
        position: relative;
        top: auto;
        transform: none;
    }
    #ngNewsPanorama .ng-news-panorama__card {
        aspect-ratio: 4 / 5;
        height: auto;
        left: auto;
        position: relative;
        top: auto;
        transform: none !important;
        width: 100%;
    }
    #ngNewsPanorama .ng-news-panorama__footer { text-align: center; margin-top: 2rem; }
}

/* ========================================================================== */
/* NARGOON NEWS — PANORAMIC V10 / FORCE INTENDED STAGE IN THIS COMPONENT ONLY */
/* The CMS/browser can report prefers-reduced-motion and V9 then became a      */
/* two-column static grid. V10 restores the intended stacked→spread stage      */
/* only for #ngNewsPanorama. All other page accessibility fallbacks remain.    */
/* ========================================================================== */
@media (prefers-reduced-motion: reduce) {
    #ngNewsPanorama.ng-news-panorama {
        contain: layout paint;
        height: 175vh;
        overflow: clip;
        position: relative;
    }

    #ngNewsPanorama .ng-news-panorama__sticky {
        align-items: center;
        display: flex;
        height: 100svh;
        overflow: hidden;
        padding: 0;
        position: sticky;
        top: 0;
    }

    #ngNewsPanorama .ng-news-panorama__intro {
        bottom: auto;
        left: 50%;
        margin: 0;
        opacity: 1;
        position: absolute;
        top: clamp(62px, 8vh, 92px);
        transform: translateX(-50%) translateY(calc(var(--pano-progress) * -22px));
    }

    #ngNewsPanorama .ng-news-panorama__scene {
        display: block;
        height: min(48vh, 500px);
        left: 50%;
        min-height: 340px;
        position: absolute;
        
        transform: translate(-50%, -50%) rotateX(var(--pano-tilt-x)) rotateY(var(--pano-tilt-y));
        width: 100%;
    }

    #ngNewsPanorama .ng-news-panorama__card {
        aspect-ratio: auto;
        height: clamp(235px, 30vh, 315px);
        left: 50%;
        position: absolute;
        top: 50%;
        transform: translate(-50%, -50%) translate3d(var(--card-x), var(--card-y), 0) rotateZ(var(--card-rz)) rotateY(var(--card-ry)) scale(var(--card-scale)) !important;
        width: clamp(180px, 18vw, 265px);
    }

    #ngNewsPanorama .ng-news-panorama__footer {
        bottom: clamp(28px, 4.5vh, 48px);
        left: 50%;
        margin: 0;
        opacity: max(0, calc((var(--pano-progress) - .68) * 3.2));
        position: absolute;
        text-align: initial;
        transform: translateX(-50%) translateY(calc((1 - var(--pano-progress)) * 12px));
    }
}

/* Closer to the reference: slightly larger editorial cards and a stronger arc. */
@media (min-width: 901px) {
    #ngNewsPanorama .ng-news-panorama__card {
        height: clamp(250px, 32vh, 330px);
        width: clamp(190px, 20vw, 285px);
    }
}

/* ========================================================================== */
/* NARGOON NEWS — V11 EDITORIAL FLOW                                          */
/* Scope: Featured release + Panoramic stage only.                            */
/* Keeps Hero, ticker, archive, feed, press center and footer untouched.      */
/* ========================================================================== */

/* Featured release: make it read as an editorial chapter, not a second hero. */
@media (min-width: 901px) {
    #ngNewsLead.ng-news-lead {
        align-items: center;
          gap: clamp(2.5rem, 5.2vw, 5.75rem);
        grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr);
        margin-bottom: clamp(4.5rem, 6.5vw, 6.75rem);
        margin-top: clamp(1rem, 3vw, 2.75rem);
        padding-bottom: clamp(2.5rem, 4vw, 4rem);
        padding-left: clamp(1rem, 5vw, 4rem);
        padding-right: clamp(1rem, 5vw, 4rem);
        padding-top: clamp(1rem, 4vw, 4rem);
    }

    #ngNewsLead .ng-news-lead__media {
        aspect-ratio: 16 / 10;
        align-self: center;
        min-height: 0;
        max-height: 410px;
        order: 2;
    }

    #ngNewsLead .ng-news-lead__copy {
        max-width: 690px;
        order: 1;
        padding: .25rem 0;
    }

    #ngNewsLead h2 {
        font-size: clamp(2.15rem, 3vw, 3.35rem);
        line-height: 1.5;
        margin-bottom: 1rem;
     }

    #ngNewsLead .ng-news-lead__copy > p:not(.ng-news__section-number):not(.ng-news-lead__date) {
        font-size: clamp(.82rem, .9vw, .94rem);
        line-height: 2;
        max-width: 50ch;
    }

    #ngNewsLead .ng-news__section-number {
        margin-bottom: .8rem;
    }

    #ngNewsLead .ng-news-lead__date {
        margin-bottom: .9rem;
    }

    #ngNewsLead .ng-news-lead__actions {
        margin-top: 1.25rem;
    }

    #ngNewsLead .ng-news-lead__copy::before {
        right: -1.4rem;
        top: .15rem;
    }

    #ngNewsLead.is-featured-inview .ng-news-lead__copy::before {
        height: 76px;
    }
}

/* Tablet/mobile keep the same chapter language without forcing a tall card. */
@media (max-width: 900px) {
    #ngNewsLead.ng-news-lead {
         margin-bottom: 4rem;
        margin-top: 1.5rem;
        padding-bottom: 2.5rem;
        padding-top: 1rem;
    }

    #ngNewsLead .ng-news-lead__media {
        aspect-ratio: 16 / 9;
    }
}

/* Panoramic chapter: tighter rhythm, same interaction, stronger editorial arc. */
#ngNewsPanorama.ng-news-panorama {
    height: 155vh;
}

#ngNewsPanorama .ng-news-panorama__intro {
    top: clamp(52px, 6.5vh, 76px);
}

#ngNewsPanorama .ng-news-panorama__title {
    font-size: clamp(1.95rem, 3.1vw, 3.45rem);
}

 

#ngNewsPanorama .ng-news-panorama__footer {
    bottom: clamp(24px, 3.4vh, 38px);
}

@media (min-width: 901px) {
    #ngNewsPanorama .ng-news-panorama__card {
        height: clamp(260px, 33vh, 340px);
        width: clamp(195px, 20.5vw, 292px);
    }

    #ngNewsPanorama.is-spread .ng-news-panorama__scene:has(.ng-news-panorama__card:hover) .ng-news-panorama__card:not(:hover),
    #ngNewsPanorama.is-spread .ng-news-panorama__scene:has(.ng-news-panorama__card:focus-visible) .ng-news-panorama__card:not(:focus-visible) {
        filter: saturate(.72) brightness(.86);
        opacity: .62;
    }
}

@media (max-width: 900px) {
    #ngNewsPanorama.ng-news-panorama { height: 150vh; }
    #ngNewsPanorama .ng-news-panorama__intro { top: 6vh; }
    
}

@media (max-width: 600px) {
    #ngNewsPanorama.ng-news-panorama { height: 145vh; }
}

/* ========================================================================== */
/* NARGOON NEWS — V12 FEATURED EDITORIAL COMPOSITION                          */
/* Scope: #ngNewsLead only. Adds visual hierarchy without adding HTML/images. */
/* ========================================================================== */
@media (min-width: 901px) {
    #ngNewsLead.ng-news-lead {
        isolation: isolate;
        gap: clamp(3.25rem, 6.4vw, 7rem);
        grid-template-columns: minmax(360px, .92fr) minmax(0, 1.08fr);
        min-height: 440px;
        overflow: hidden;
        padding-bottom: clamp(3rem, 4.5vw, 4.75rem);
        padding-top: clamp(1rem, 4.5vw, 4.75rem);
    }

    /* Oversized folio number: the same editorial language as NEWSROOM in hero. */
    #ngNewsLead.ng-news-lead::before {
        color: var(--news-ink);
        content: '01';
        direction: ltr;
        font-family: Georgia, 'Times New Roman', serif;
        font-size: clamp(9rem, 15vw, 14.5rem);
        font-weight: 400;
        left: 47.5%;
        line-height: .75;
        opacity: 0;
        pointer-events: none;
        position: absolute;
        top: 50%;
        transform: translate(-50%, -42%) scale(.94);
        transition: opacity 1s .18s ease, transform 1.25s .18s cubic-bezier(.16, 1, .3, 1);
        user-select: none;
        z-index: 0;
    }

    #ngNewsLead.is-featured-inview::before {
        opacity: .035;
        transform: translate(-50%, -50%) scale(1);
    }

    /* Fine architectural axis joining image and copy. */
    #ngNewsLead.ng-news-lead::after {
        background: linear-gradient(180deg, transparent 0, var(--news-gold) 16%, var(--news-gold) 84%, transparent 100%);
        content: '';
        height: 54%;
        left: 50%;
        opacity: .42;
        pointer-events: none;
        position: absolute;
        top: 23%;
        transform: scaleY(0);
        transform-origin: center top;
        transition: transform 1.05s .35s cubic-bezier(.16, 1, .3, 1);
        width: 1px;
        z-index: 1;
    }

    #ngNewsLead.is-featured-inview::after {
        transform: scaleY(1);
    }

    #ngNewsLead .ng-news-lead__media {
        aspect-ratio: 16 / 9;
        align-self: center;
        max-height: 355px;
        min-height: 0;
        order: 2;
        overflow: hidden;
        transform-origin: center center;
        z-index: 2;
    }

    #ngNewsLead .ng-news-lead__media img {
        object-position: center 46%;
    }

    #ngNewsLead .ng-news-lead__stamp {
        background: rgba(19, 19, 18, .22);
        bottom: 1rem;
        left: 1rem;
        padding: .52rem .65rem;
    }

    #ngNewsLead .ng-news-lead__copy {
        max-width: 650px;
        order: 1;
        padding: .5rem 0;
        z-index: 2;
    }

    /* Existing gold rule becomes a deliberate editorial marker. */
    #ngNewsLead .ng-news-lead__copy::before {
        right: -1.7rem;
        top: 0;
    }

    #ngNewsLead.is-featured-inview .ng-news-lead__copy::before {
        height: 92px;
    }

    #ngNewsLead .ng-news__section-number {
        font-size: .66rem;
        letter-spacing: .12em;
        margin-bottom: .72rem;
    }

    #ngNewsLead .ng-news-lead__date {
        border-bottom: 1px solid rgba(114, 91, 44, .16);
        display: inline-block;
        margin-bottom: 1.25rem;
        padding-bottom: .72rem;
    }

    #ngNewsLead h2 {
        font-size: clamp(2.25rem, 3.2vw, 3.55rem);
        letter-spacing: -.04em;
        line-height: 1.48;
        margin-bottom: 1.05rem;
     }

    #ngNewsLead .ng-news-lead__copy > p:not(.ng-news__section-number):not(.ng-news-lead__date) {
        font-size: clamp(.82rem, .88vw, .93rem);
        line-height: 2.05;
        max-width: 47ch;
    }

    #ngNewsLead .ng-news-lead__actions {
        gap: 1.75rem;
        margin-top: 1.35rem;
    }

    #ngNewsLead .ng-news__button-gold,
    #ngNewsLead .ng-news__text-link {
        font-size: .75rem;
        letter-spacing: .01em;
    }
}

@media (max-width: 900px) {
    #ngNewsLead.ng-news-lead {
        isolation: isolate;
        overflow: hidden;
        position: relative;
    }

    #ngNewsLead.ng-news-lead::before {
        color: var(--news-ink);
        content: '01';
        direction: ltr;
        font-family: Georgia, 'Times New Roman', serif;
        font-size: clamp(7rem, 24vw, 11rem);
        left: 1rem;
        line-height: .8;
        opacity: .03;
        pointer-events: none;
        position: absolute;
        top: 46%;
        z-index: 0;
    }

    #ngNewsLead .ng-news-lead__media,
    #ngNewsLead .ng-news-lead__copy {
        position: relative;
        z-index: 1;
    }
}

@media (max-width: 600px) {
    #ngNewsLead.ng-news-lead::before {
        font-size: 7.5rem;
        top: 52%;
    }

    #ngNewsLead .ng-news-lead__date {
        border-bottom: 1px solid rgba(114, 91, 44, .15);
        display: inline-block;
        padding-bottom: .6rem;
    }
}

/* ========================================================================== */
/* NARGOON NEWS — V13 PANORAMA HOVER CLARITY                                 */
/* Scope: #ngNewsPanorama only. Keeps the active story crisp and readable.    */
/* ========================================================================== */

@media (hover: hover) and (pointer: fine) {
    #ngNewsPanorama.is-spread .ng-news-panorama__card:hover,
    #ngNewsPanorama.is-spread .ng-news-panorama__card:focus-visible {
        background: #fff;
        filter: none;
        isolation: isolate;
        opacity: 1;
    }

    #ngNewsPanorama.is-spread .ng-news-panorama__card:hover img,
    #ngNewsPanorama.is-spread .ng-news-panorama__card:focus-visible img {
        backface-visibility: hidden;
        filter: none;
        opacity: 1;
        transform: scale(1.07);
    }

    #ngNewsPanorama.is-spread .ng-news-panorama__card:hover::after,
    #ngNewsPanorama.is-spread .ng-news-panorama__card:focus-visible::after {
        background: linear-gradient(
            180deg,
            rgba(9, 9, 8, 0) 0%,
            rgba(9, 9, 8, 0) 61%,
            rgba(9, 9, 8, .10) 70%,
            rgba(9, 9, 8, .88) 100%
        );
        opacity: 1;
    }

    #ngNewsPanorama.is-spread .ng-news-panorama__card:hover .ng-news-panorama__card-content,
    #ngNewsPanorama.is-spread .ng-news-panorama__card:focus-visible .ng-news-panorama__card-content {
        opacity: 1;
        text-shadow: 0 1px 12px rgba(0, 0, 0, .32);
        transform: translateY(0);
    }

    #ngNewsPanorama.is-spread .ng-news-panorama__scene:has(.ng-news-panorama__card:hover) .ng-news-panorama__card:not(:hover),
    #ngNewsPanorama.is-spread .ng-news-panorama__scene:has(.ng-news-panorama__card:focus-visible) .ng-news-panorama__card:not(:focus-visible) {
        filter: saturate(.82) brightness(.91);
        opacity: .76;
    }
}

/* ========================================================================== */
/* NARGOON NEWS — V14 PANORAMA ACTIVE-CARD DEPTH FIX                          */
/* Scope: #ngNewsPanorama only. The hovered card is physically moved forward  */
/* in the preserve-3d scene so adjacent cards cannot glass/cover its surface.  */
/* ========================================================================== */

#ngNewsPanorama .ng-news-panorama__card {
    --card-z: 0px;
    transform: translate(-50%, -50%) translate3d(var(--card-x), var(--card-y), var(--card-z)) rotateZ(var(--card-rz)) rotateY(var(--card-ry)) scale(var(--card-scale));
}

@media (hover: hover) and (pointer: fine) {
    #ngNewsPanorama.is-spread .ng-news-panorama__card:hover,
    #ngNewsPanorama.is-spread .ng-news-panorama__card:focus-visible {
        --card-z: 190px;
        z-index: 999 !important;
    }

    #ngNewsPanorama.is-spread .ng-news-panorama__card:hover::after,
    #ngNewsPanorama.is-spread .ng-news-panorama__card:focus-visible::after {
        background: linear-gradient(
            180deg,
            rgba(9, 9, 8, 0) 0%,
            rgba(9, 9, 8, 0) 70%,
            rgba(9, 9, 8, .06) 78%,
            rgba(9, 9, 8, .78) 100%
        );
    }
}

/* ========================================================================== */
/* NARGOON NEWS — V15 PANORAMA HOVER DEPTH / VERIFIED CASCADE FIX             */
/* Scope: #ngNewsPanorama only.                                                */
/* V10 contains a reduced-motion transform with !important. This later rule   */
/* must also be !important so the hovered card can actually move forward.      */
/* ========================================================================== */
@media (hover: hover) and (pointer: fine) {
    #ngNewsPanorama.is-spread .ng-news-panorama__card:hover,
    #ngNewsPanorama.is-spread .ng-news-panorama__card:focus-visible {
        --card-z: 240px;
        filter: none !important;
        opacity: 1 !important;
        transform: translate(-50%, -50%) translate3d(var(--card-x), var(--card-y), var(--card-z)) rotateZ(var(--card-rz)) rotateY(var(--card-ry)) scale(var(--card-scale)) !important;
        z-index: 9999 !important;
    }

    #ngNewsPanorama.is-spread .ng-news-panorama__scene:has(.ng-news-panorama__card:hover) .ng-news-panorama__card:not(:hover),
    #ngNewsPanorama.is-spread .ng-news-panorama__scene:has(.ng-news-panorama__card:focus-visible) .ng-news-panorama__card:not(:focus-visible) {
        --card-z: -70px;
    }
}

/* ========================================================================== */
/* NARGOON NEWS — V16 PANORAMA HOVER STABILITY                               */
/* Scope: #ngNewsPanorama only.                                               */
/* Keeps the active card at the same perceived size while bringing it above  */
/* adjacent cards; removes image zoom and softens card corners.               */
/* ========================================================================== */

#ngNewsPanorama .ng-news-panorama__card {
    border-radius: 14px;
}

@media (hover: hover) and (pointer: fine) {
    #ngNewsPanorama.is-spread .ng-news-panorama__scene:has(.ng-news-panorama__card:hover) .ng-news-panorama__card:hover,
    #ngNewsPanorama.is-spread .ng-news-panorama__scene:has(.ng-news-panorama__card:focus-visible) .ng-news-panorama__card:focus-visible {
        /* 1200px scene perspective + 240px translateZ projects to 1.25x.
           Counter-scale by .8 so the card keeps the same visible size. */
        transform: translate(-50%, -50%) translate3d(var(--card-x), var(--card-y), 240px) rotateZ(var(--card-rz)) rotateY(var(--card-ry)) scale(calc(var(--card-scale) * .8)) !important;
        transition: transform .18s cubic-bezier(.16,1,.3,1), box-shadow .3s ease, filter .3s ease;
        z-index: 9999 !important;
    }

    #ngNewsPanorama.is-spread .ng-news-panorama__card:hover img,
    #ngNewsPanorama.is-spread .ng-news-panorama__card:focus-visible img {
        /* Keep the image itself at its normal crop: no hover zoom. */
        transform: scale(1.045) !important;
    }
}

/* ========================================================================== */
/* NARGOON NEWS — V18 PANORAMA SOFT FOCUS HOVER                              */
/* Scope: #ngNewsPanorama only.                                               */
/* Active card stays fixed, crisp and full-opacity. Background cards move     */
/* gently backward and blur instead of becoming translucent.                  */
/* ========================================================================== */

@property --card-z {
    syntax: '<length>';
    inherits: false;
    initial-value: 0px;
}

@media (hover: hover) and (pointer: fine) {
    #ngNewsPanorama.is-spread .ng-news-panorama__card {
        transition:
            --card-z .44s cubic-bezier(.22, 1, .36, 1),
            filter .44s cubic-bezier(.22, 1, .36, 1),
            opacity .44s cubic-bezier(.22, 1, .36, 1),
            box-shadow .44s cubic-bezier(.22, 1, .36, 1);
    }

    /* The selected story does not scale or travel. It simply becomes the
       visual front layer while the other cards recede behind it. */
    #ngNewsPanorama.is-spread .ng-news-panorama__scene:has(.ng-news-panorama__card:hover) .ng-news-panorama__card:hover,
    #ngNewsPanorama.is-spread .ng-news-panorama__scene:has(.ng-news-panorama__card:focus-visible) .ng-news-panorama__card:focus-visible {
        --card-z: 0px;
        filter: none !important;
        opacity: 1 !important;
        transform: translate(-50%, -50%) translate3d(var(--card-x), var(--card-y), 0px) rotateZ(var(--card-rz)) rotateY(var(--card-ry)) scale(var(--card-scale)) !important;
        z-index: 9999 !important;
    }

    /* Background cards remain opaque; depth is communicated by optical blur,
       not glass/transparency. */
    #ngNewsPanorama.is-spread .ng-news-panorama__scene:has(.ng-news-panorama__card:hover) .ng-news-panorama__card:not(:hover),
    #ngNewsPanorama.is-spread .ng-news-panorama__scene:has(.ng-news-panorama__card:focus-visible) .ng-news-panorama__card:not(:focus-visible) {
        --card-z: -110px;
        filter: blur(3.2px) saturate(.76) brightness(.90) !important;
        opacity: 1 !important;
    }

    #ngNewsPanorama.is-spread .ng-news-panorama__card:hover img,
    #ngNewsPanorama.is-spread .ng-news-panorama__card:focus-visible img {
        filter: none !important;
        opacity: 1 !important;
        transform: scale(1.045) !important;
    }
}

/* ========================================================================== */
/* NARGOON NEWS — V19 PANORAMA SELECTED CARD FRONT LAYER                     */
/* Scope: #ngNewsPanorama only.                                               */
/* The selected card physically comes forward while a perspective counter-   */
/* scale keeps its perceived size stable. Background cards stay opaque/blur. */
/* ========================================================================== */

@media (hover: hover) and (pointer: fine) {
    #ngNewsPanorama.is-spread .ng-news-panorama__card {
        transition:
            transform .48s cubic-bezier(.22, 1, .36, 1),
            filter .48s cubic-bezier(.22, 1, .36, 1),
            box-shadow .48s cubic-bezier(.22, 1, .36, 1),
            opacity .48s cubic-bezier(.22, 1, .36, 1) !important;
    }

    #ngNewsPanorama.is-spread .ng-news-panorama__scene:has(.ng-news-panorama__card:hover) .ng-news-panorama__card:hover,
    #ngNewsPanorama.is-spread .ng-news-panorama__scene:has(.ng-news-panorama__card:focus-visible) .ng-news-panorama__card:focus-visible {
        /* Scene perspective is 1200px. At +160px Z, .8667 counter-scale
           neutralizes the perspective enlargement, so the card comes forward
           without looking larger. */
        --card-z: 160px;
        filter: none !important;
        opacity: 1 !important;
        transform: translate(-50%, -50%) translate3d(var(--card-x), var(--card-y), 160px) rotateZ(var(--card-rz)) rotateY(var(--card-ry)) scale(calc(var(--card-scale) * .8667)) !important;
        z-index: 9999 !important;
    }

    #ngNewsPanorama.is-spread .ng-news-panorama__scene:has(.ng-news-panorama__card:hover) .ng-news-panorama__card:not(:hover),
    #ngNewsPanorama.is-spread .ng-news-panorama__scene:has(.ng-news-panorama__card:focus-visible) .ng-news-panorama__card:not(:focus-visible) {
        --card-z: -90px;
        filter: blur(3.2px) saturate(.78) brightness(.91) !important;
        opacity: 1 !important;
    }

    #ngNewsPanorama.is-spread .ng-news-panorama__card:hover img,
    #ngNewsPanorama.is-spread .ng-news-panorama__card:focus-visible img {
        filter: none !important;
        opacity: 1 !important;
        transform: scale(1.045) !important;
    }
}

/* ========================================================================== */
/* NARGOON NEWS — V20 REFERENCE-LIKE CLOSED DECK / INTERACTION GATE           */
/* Scope: #ngNewsPanorama only.                                               */
/* Closed deck stays fully opaque and readable with a white 5px photo frame.  */
/* Cards become selectable only after the panoramic spread is fully complete. */
/* ========================================================================== */

#ngNewsPanorama .ng-news-panorama__card {
    background: #fff !important;
    border: 5px solid #fff !important;
    border-radius: 16px !important;
    box-sizing: border-box;
    opacity: 1 !important;
    pointer-events: none;
}

#ngNewsPanorama .ng-news-panorama__card::after {
    opacity: 0;
}

#ngNewsPanorama .ng-news-panorama__card img {
    border-radius: 10px;
    opacity: 1 !important;
}

/* Interaction starts only when JS marks the spread as fully open. */
#ngNewsPanorama.is-spread .ng-news-panorama__card {
    pointer-events: auto;
}

/* Before full spread, never introduce blur/transparency from hover/focus. */
#ngNewsPanorama:not(.is-spread) .ng-news-panorama__card,
#ngNewsPanorama:not(.is-spread) .ng-news-panorama__card img {
    filter: none !important;
    opacity: 1 !important;
}

#ngNewsPanorama:not(.is-spread) .ng-news-panorama__card::after,
#ngNewsPanorama:not(.is-spread) .ng-news-panorama__card-content {
    opacity: 0 !important;
}

/* ========================================================================== */
/* NARGOON NEWS — V21 EDITORIAL ARCHIVE CONTROLS                             */
/* Scope: .ng-news-controls only. Existing archive/filter behavior untouched. */
/* ========================================================================== */

.ng-news-controls {
    position: relative;
    margin-top: clamp(2rem, 7vw, 6.5rem);
    padding-top: clamp(1rem, 4vw, 3.5rem);
    padding-bottom: clamp(2.25rem, 4vw, 3.75rem);
     overflow: visible;
}

.ng-news-controls::before {
    content: "ARCHIVE / 02";
    position: absolute;
    top: 0;
    right: clamp(1rem, 5vw, 4rem);
    transform: translateY(-50%);
    padding-left: .8rem;
    background: #f5f3ef;
    color: var(--news-gold);
    font-size: .61rem;
    letter-spacing: .18em;
    line-height: 1;
    white-space: nowrap;
}

.ng-news-controls__heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: clamp(1.6rem, 3vw, 2.5rem);
}

.ng-news-controls__heading .ng-news__section-number {
    margin: 0 0 .55rem;
    color: var(--news-gold);
    font-size: .62rem;
    letter-spacing: .16em;
}

.ng-news-controls h2 {
    margin: 0;
    font-size: clamp(2rem, 3.4vw, 3.35rem);
    font-weight: 300;
    line-height: 1.25;
    letter-spacing: -.025em;
}

.ng-news-controls__tools {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(145px, .22fr) minmax(145px, .22fr);
    gap: 0;
    margin: 0;
    border-top: 1px solid var(--news-line);
    border-bottom: 1px solid var(--news-line);
}

.ng-news__search {
    position: relative;
    display: flex;
    align-items: center;
    min-width: 0;
    border: 0;
    border-left: 1px solid var(--news-line);
    background: transparent;
    transition: background-color .32s ease, box-shadow .32s ease;
}

.ng-news__search::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -1px;
    width: 0;
    height: 1px;
    background: var(--news-gold);
    transition: width .42s cubic-bezier(.22, 1, .36, 1);
}

.ng-news__search:focus-within {
    background: rgba(255, 255, 255, .38);
    box-shadow: inset 0 0 0 1px rgba(23, 23, 23, .055);
}

.ng-news__search:focus-within::after {
    width: 100%;
}

.ng-news__search input,
.ng-news-controls select {
    min-height: 58px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--news-ink);
    font: inherit;
    font-size: .8rem;
}

.ng-news__search input {
    width: 100%;
    padding: .8rem 1rem;
    outline: 0;
}

.ng-news__search input::placeholder {
    color: rgba(115, 111, 104, .72);
    transition: color .25s ease;
}

.ng-news__search:focus-within input::placeholder {
    color: rgba(115, 111, 104, .42);
}

.ng-news__search > span {
    display: grid;
    width: 48px;
    min-width: 48px;
    height: 58px;
    place-items: center;
    padding: 0;
    color: var(--news-gold);
    font-size: 1.2rem;
    transition: transform .3s cubic-bezier(.22, 1, .36, 1);
}

.ng-news__search:focus-within > span {
    transform: translateX(-3px);
}

.ng-news-controls select {
    width: 100%;
    min-width: 0;
    padding: .7rem 1rem;
    border-left: 1px solid var(--news-line);
    outline: 0;
    cursor: pointer;
    transition: background-color .28s ease, color .28s ease;
}

.ng-news-controls select:hover,
.ng-news-controls select:focus {
    background: rgba(23, 23, 23, .045);
    color: #8f733b;
}

.ng-news-controls__filters {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: clamp(.15rem, 1vw, .75rem);
    margin: 1.15rem 0 0;
    padding: 0;
    border: 0;
}

.ng-news-controls__filters button {
    position: relative;
    appearance: none;
    margin: 0;
    padding: .8rem .72rem .72rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--news-muted);
    cursor: pointer;
    font: inherit;
    font-size: .78rem;
    line-height: 1.4;
    transition: color .28s ease, transform .28s cubic-bezier(.22, 1, .36, 1);
}

.ng-news-controls__filters button::after {
    content: "";
    position: absolute;
    right: .72rem;
    bottom: .22rem;
    width: 0;
    height: 1px;
    background: var(--news-gold);
    transition: width .38s cubic-bezier(.22, 1, .36, 1);
}

.ng-news-controls__filters button:hover {
    border: 0;
    background: transparent;
    color: var(--news-ink);
    transform: translateY(-1px);
}

.ng-news-controls__filters button:hover::after {
    width: 20px;
}

.ng-news-controls__filters button.is-active {
    border: 0;
    background: transparent;
    color: var(--news-ink);
    font-weight: 600;
}

.ng-news-controls__filters button.is-active::after {
    width: calc(100% - 1.44rem);
}

@media (max-width: 760px) {
    .ng-news-controls {
        margin-top: 3.5rem;
        padding-top: 2.4rem;
        padding-bottom: 2.5rem;
    }

    .ng-news-controls__heading {
        display: block;
        margin-bottom: 1.5rem;
    }

    .ng-news-controls h2 {
        font-size: clamp(1.85rem, 8vw, 2.6rem);
    }

    .ng-news-controls__tools {
        grid-template-columns: 1fr 1fr;
    }

    .ng-news__search {
        grid-column: 1 / -1;
        border-left: 0;
        border-bottom: 1px solid var(--news-line);
    }

    .ng-news-controls select:first-of-type {
        border-left: 1px solid var(--news-line);
    }

    .ng-news-controls select:last-of-type {
        border-left: 0;
    }

    .ng-news-controls__filters {
        gap: .1rem .35rem;
        margin-top: 1rem;
    }

    .ng-news-controls__filters button {
        padding-right: .55rem;
        padding-left: .55rem;
        font-size: .74rem;
    }

    .ng-news-controls__filters button::after {
        right: .55rem;
    }

    .ng-news-controls__filters button.is-active::after {
        width: calc(100% - 1.1rem);
    }
}

/* ========================================================================== */
/* NARGOON NEWS — V22 ARCHIVE SCALE REFINEMENT                               */
/* Scope: .ng-news-controls only.                                             */
/* ========================================================================== */

.ng-news-controls {
    margin-top: clamp(2.25rem, 4.5vw, 4.25rem);
    padding-top: clamp(1.55rem, 2.7vw, 2.35rem);
    padding-bottom: clamp(1.75rem, 2.8vw, 2.55rem);
}

/* Keep the real section label from the HTML; remove the duplicate decorative label. */
.ng-news-controls::before {
    content: none;
    display: none;
}

.ng-news-controls__heading {
    align-items: center;
    margin-bottom: clamp(1.05rem, 1.8vw, 1.55rem);
}

.ng-news-controls__heading .ng-news__section-number {
    margin-bottom: .25rem;
    font-size: .58rem;
}

.ng-news-controls h2 {
    font-size: clamp(1.8rem, 2.55vw, 2.65rem);
    line-height: 1.2;
}

.ng-news__search input,
.ng-news-controls select {
    min-height: 52px;
}

.ng-news__search > span {
    height: 52px;
}

.ng-news-controls__filters {
    margin-top: .75rem;
}

.ng-news-controls__filters button {
    padding-top: .65rem;
    padding-bottom: .62rem;
}

@media (max-width: 760px) {
    .ng-news-controls {
        margin-top: 2.5rem;
        padding-top: 1.75rem;
        padding-bottom: 2rem;
    }

    .ng-news-controls__heading {
        margin-bottom: 1.1rem;
    }

    .ng-news-controls h2 {
        font-size: clamp(1.7rem, 7vw, 2.2rem);
    }

    .ng-news-controls__filters {
        margin-top: .7rem;
    }
}

/* ========================================================================== */
/* NARGOON NEWS — V23 EDITORIAL FEED                                          */
/* Scope: .ng-news-feed only. Mirrors the editorial card language used        */
/* across Nargoon journal/blog pages without changing feed structure.          */
/* ========================================================================== */

.ng-news-feed {
    margin-top: clamp(1.5rem, 3vw, 3rem);
    padding-top: clamp(1.2rem, 2vw, 2rem);
    padding-bottom: clamp(3.5rem, 6vw, 6rem);
}

.ng-news-feed__head {
    align-items: flex-end;
    border-top: 1px solid var(--news-line);
    display: flex;
    justify-content: space-between;
    margin-bottom: clamp(1.8rem, 3vw, 2.8rem);
    padding-top: clamp(1.65rem, 2.6vw, 2.4rem);
}

.ng-news-feed__head .ng-news__section-number {
    color: var(--news-gold);
    font-size: .6rem;
    letter-spacing: .14em;
    margin-bottom: .55rem;
}

.ng-news-feed__head h2 {
    font-size: clamp(2rem, 3.15vw, 3.2rem);
    font-weight: 500;
    line-height: 1.25;
    margin: 0;
}

.ng-news-feed__head > span {
    color: var(--news-muted);
    font-size: .72rem;
    margin-bottom: .45rem;
    white-space: nowrap;
}

.ng-news-feed__cards {
    display: grid;
    gap: clamp(1.35rem, 2vw, 1.8rem);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: visible;
    padding: 0;
}

.ng-news-card {
    background: #fff;
    border: 1px solid rgba(20, 20, 20, .055);
    border-radius: 0;
    box-shadow: none;
    cursor: default;
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    padding: 0;
    transform: none;
    transition: border-color .35s ease, box-shadow .35s ease;
}

.ng-news-card:hover {
    border-color: rgba(191, 145, 55, .22);
    box-shadow: 0 12px 32px rgba(24, 22, 18, .055);
    transform: none;
}

.ng-news-card__media {
    aspect-ratio: 1.48 / 1;
    height: auto;
    min-height: 0;
    overflow: hidden;
    position: relative;
}

.ng-news-card__media::before,
.ng-news-card__media::after {
    content: none;
    display: none;
}

.ng-news-card__media img {
    filter: none;
    height: 100%;
    object-fit: cover;
    transform: scale(1.001);
    transition: transform .75s cubic-bezier(.22, .61, .36, 1), filter .45s ease;
    width: 100%;
}

.ng-news-card:hover .ng-news-card__media img {
    filter: saturate(.96);
    transform: scale(1.025);
}

.ng-news-card__media span {
    background: rgba(255, 255, 255, .94);
    bottom: auto;
    color: var(--news-gold);
    font-size: .62rem;
    font-weight: 600;
    left: .85rem;
    line-height: 1;
    padding: .62rem .72rem;
    position: absolute;
    top: .85rem;
    z-index: 2;
}

.ng-news-card > .ng-news-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: clamp(1.15rem, 1.7vw, 1.55rem) clamp(1.15rem, 1.65vw, 1.5rem) 1.25rem;
}

.ng-news-card__meta {
    color: var(--news-gold);
    font-size: .66rem;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.8;
    margin: 0 0 .6rem;
}

.ng-news-card h3 {
    color: var(--news-ink);
    font-size: clamp(1rem, 1.15vw, 1.16rem);
    font-weight: 600;
    line-height: 1.75;
    margin: 0 0 .65rem;
    min-height: 3.5em;
    transition: color .3s ease;
}

.ng-news-card:hover h3 {
    color: var(--news-gold);
}

.ng-news-card__body > p:not(.ng-news-card__meta) {
    color: var(--news-muted);
    font-size: .78rem;
    line-height: 1.95;
    margin: 0 0 1.15rem;
}

.ng-news-card .ng-news__text-link {
    align-items: center;
    border-top: 1px solid rgba(20, 20, 20, .075);
    color: var(--news-gold);
    display: flex;
    font-size: .72rem;
    justify-content: space-between;
    margin-top: auto;
    padding-top: .85rem;
    text-decoration: none;
    transition: color .25s ease;
}

.ng-news-card .ng-news__text-link span {
    transition: transform .3s ease;
}

.ng-news-card .ng-news__text-link:hover span {
    transform: translateX(-4px);
}

.ng-news-pagination {
    margin-top: clamp(2rem, 3vw, 3rem);
}

@media (max-width: 900px) {
    .ng-news-feed__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ng-news-card h3 {
        min-height: 0;
    }
}

@media (max-width: 600px) {
    .ng-news-feed {
        padding-bottom: 3.5rem;
    }

    .ng-news-feed__head {
        align-items: flex-start;
        gap: .8rem;
    }

    .ng-news-feed__head h2 {
        font-size: clamp(1.8rem, 8vw, 2.35rem);
    }

    .ng-news-feed__cards {
        gap: 1.25rem;
        grid-template-columns: 1fr;
    }

    .ng-news-card__media {
        aspect-ratio: 1.42 / 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ng-news-card,
    .ng-news-card__media img,
    .ng-news-card .ng-news__text-link span {
        transition: none;
    }
}

/* ========================================================================== */
/* NARGOON NEWS — V26 BLOG-MATCHED CARD HOVER                                */
/* Scope: editorial feed cards only. Mirrors the Journal card hover language. */
/* ========================================================================== */

.ng-news-feed .ng-news-card {
    transition: transform .4s ease, box-shadow .4s ease, border-color .4s ease;
}

.ng-news-feed .ng-news-card:hover {
    transform: translateY(-8px);
    border-color: rgba(184, 151, 88, .45);
    box-shadow: 0 18px 38px rgba(31, 36, 33, .1);
}

.ng-news-feed .ng-news-card__media::after {
    content: '';
    display: block;
    position: absolute;
    inset: auto 0 0;
    height: 3px;
    background: linear-gradient(90deg, #b89758, #d6b875, #b89758);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .45s ease;
    z-index: 3;
    pointer-events: none;
}

.ng-news-feed .ng-news-card:hover .ng-news-card__media::after {
    transform: scaleX(1);
}

.ng-news-feed .ng-news-card__media img {
    filter: none;
    transition: transform .7s ease;
}

.ng-news-feed .ng-news-card:hover .ng-news-card__media img {
    filter: none;
    transform: scale(1.06);
}

.ng-news-feed .ng-news-card h3 {
    transition: color .3s ease;
}

.ng-news-feed .ng-news-card:hover h3 {
    color: #b89758;
}

@media (prefers-reduced-motion: reduce) {
    .ng-news-feed .ng-news-card,
    .ng-news-feed .ng-news-card__media img,
    .ng-news-feed .ng-news-card__media::after,
    .ng-news-feed .ng-news-card h3 {
        transition-duration: .01ms !important;
    }
}

/* ========================================================================== */
/* NARGOON NEWS — V27 SMOOTH CARD LIFT                                       */
/* Scope: editorial feed hover motion only.                                   */
/* ========================================================================== */

.ng-news-feed .ng-news-card {
    transform: translate3d(0, 0, 0);
    will-change: transform;
    transition:
        transform .68s cubic-bezier(.22, 1, .36, 1),
        box-shadow .55s cubic-bezier(.22, 1, .36, 1),
        border-color .45s ease;
}

.ng-news-feed .ng-news-card:hover {
    transform: translate3d(0, -8px, 0);
}

.ng-news-feed .ng-news-card__media img {
    will-change: transform;
    transition: transform .82s cubic-bezier(.22, 1, .36, 1);
}

.ng-news-feed .ng-news-card h3 {
    transition: color .42s ease;
}


/* ========================================================================== */
/* NARGOON NEWS — V28 EXACT JOURNAL CARD INTERACTION                          */
/* Scope: editorial feed only. Matches .ng-journal-card hover behavior.        */
/* ========================================================================== */

.ng-news-feed .ng-news-card {
    position: relative;
    transform: none;
    will-change: auto;
    transition: transform .4s ease, box-shadow .4s ease, border-color .4s ease;
}

.ng-news-feed .ng-news-card:hover {
    transform: translateY(-8px);
    border-color: rgba(184, 151, 88, .45);
    box-shadow: 0 18px 38px rgba(31, 36, 33, .1);
}

.ng-news-feed .ng-news-card > .ng-news-card__link {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

.ng-news-feed .ng-news-card__media::before {
    display: none;
}

.ng-news-feed .ng-news-card__media::after {
    content: '';
    display: block;
    position: absolute;
    inset: auto 0 0;
    height: 3px;
    background: linear-gradient(90deg, #b89758, #d6b875, #b89758);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .45s ease;
    z-index: 3;
    pointer-events: none;
}

.ng-news-feed .ng-news-card:hover .ng-news-card__media::after {
    transform: scaleX(1);
}

.ng-news-feed .ng-news-card__media img {
    filter: none;
    transform: none;
    will-change: auto;
    transition: transform .7s ease;
}

.ng-news-feed .ng-news-card:hover .ng-news-card__media img {
    filter: none;
    transform: scale(1.06);
}

.ng-news-feed .ng-news-card h3 {
    transition: color .3s ease;
}

.ng-news-feed .ng-news-card:hover h3 {
    color: #b89758;
}

.ng-news-feed .ng-news-card > .ng-news-card__link > .ng-news-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: clamp(1.15rem, 1.7vw, 1.55rem) clamp(1.15rem, 1.65vw, 1.5rem) 1.25rem;
}

/* .ng-news-feed .ng-news-card .ng-news__text-link {
    pointer-events: none;
} */

@media (prefers-reduced-motion: reduce) {
    .ng-news-feed .ng-news-card,
    .ng-news-feed .ng-news-card__media img,
    .ng-news-feed .ng-news-card__media::after,
    .ng-news-feed .ng-news-card h3 {
        transition-duration: .01ms !important;
    }
}


/* ========================================================================== */
/* NARGOON NEWS — V29 JOURNAL CARD VISUAL PARITY                              */
/* Scope: #ngNewsFeed only. Base card layout now follows #ng-journal-grid.     */
/* Card count, filters, URLs and page-wide behavior are unchanged.             */
/* ========================================================================== */

#ngNewsFeed .ng-news-feed__cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(18px, 2vw, 30px);
    align-items: stretch;
}

#ngNewsFeed .ng-news-card {
    background: #fff;
    border: 1px solid rgba(31, 36, 33, .07);
    border-radius: 0;
    box-shadow: none;
    overflow: hidden;
    transform: none;
    transition: transform .4s ease, box-shadow .4s ease, border-color .4s ease;
}

#ngNewsFeed .ng-news-card:hover {
    transform: translateY(-8px);
    border-color: rgba(184, 151, 88, .45);
    box-shadow: 0 18px 38px rgba(31, 36, 33, .1);
}

#ngNewsFeed .ng-news-card > .ng-news-card__link {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

#ngNewsFeed .ng-news-card__media {
    position: relative;
    height: 240px;
    aspect-ratio: auto;
    overflow: hidden;
}

#ngNewsFeed .ng-news-card__media::before {
    display: none;
}

#ngNewsFeed .ng-news-card__media::after {
    content: '';
    display: block;
    position: absolute;
    inset: auto 0 0;
    height: 3px;
    background: linear-gradient(90deg, #b89758, #d6b875, #b89758);
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .45s ease;
    z-index: 3;
    pointer-events: none;
}

#ngNewsFeed .ng-news-card:hover .ng-news-card__media::after {
    transform: scaleX(1);
}

#ngNewsFeed .ng-news-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: none;
    transform: none;
    transition: transform .7s ease;
}

#ngNewsFeed .ng-news-card:hover .ng-news-card__media img {
    transform: scale(1.06);
}

#ngNewsFeed .ng-news-card__media > span {
    position: absolute;
    z-index: 2;
    top: 1rem;
    right: 1rem;
    left: auto;
    bottom: auto;
    padding: .3rem .65rem;
    background: rgba(255, 255, 255, .9);
    color: #b89758;
    font-size: .68rem;
    font-weight: 400;
    line-height: 1.5;
}

#ngNewsFeed .ng-news-card > .ng-news-card__link > .ng-news-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1.4rem;
}

#ngNewsFeed .ng-news-card h3 {
    order: 1;
    min-height: 0;
    margin: 0 0 .6rem;
    color: #1f2421;
    font-size: 1.15rem;
    font-weight: 500;
    line-height: 1.65;
    transition: color .3s ease;
}

#ngNewsFeed .ng-news-card:hover h3 {
    color: #b89758;
}

#ngNewsFeed .ng-news-card__body > p:not(.ng-news-card__meta) {
    order: 2;
    margin: 0;
    color: #888;
    font-size: .83rem;
    line-height: 1.9;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

#ngNewsFeed .ng-news-card .ng-news__text-link {
    order: 3;
    align-items: center;
    align-self: flex-start;
    border: 0;
    color: #b89758;
    display: inline-flex;
    font-size: .72rem;
    gap: .45rem;
    justify-content: flex-start;
    margin: .8rem 0 0;
    padding: 0;
    /* pointer-events: none; */
}

#ngNewsFeed .ng-news-card__meta {
    order: 4;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin: 1.4rem 0 0;
    padding-top: .8rem;
    border-top: 1px solid #eee;
    color: #999;
    font-size: .72rem;
    font-weight: 400;
    line-height: 1.6;
}

#ngNewsFeed .ng-news-card__meta span + span::before {
    content: '•';
    margin-left: 1rem;
    color: #b89758;
}

@media (max-width: 900px) {
    #ngNewsFeed .ng-news-feed__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    #ngNewsFeed .ng-news-feed__cards {
        grid-template-columns: 1fr;
    }

    #ngNewsFeed .ng-news-card__media {
        height: 200px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #ngNewsFeed .ng-news-card,
    #ngNewsFeed .ng-news-card__media img,
    #ngNewsFeed .ng-news-card__media::after,
    #ngNewsFeed .ng-news-card h3 {
        transition-duration: .01ms !important;
    }
}

/* ========================================================================== */
/* NARGOON NEWS — V30 FEED HOVER MOTION FIX                                   */
/* Scope: #ngNewsFeed only. Keeps the Journal timings even when the host       */
/* environment reports reduced motion, which previously made hover instant.    */
/* ========================================================================== */

#ngNewsFeed .ng-news-card {
    transition: transform .4s ease, box-shadow .4s ease, border-color .4s ease;
}

#ngNewsFeed .ng-news-card__media img {
    transition: transform .7s ease;
}

#ngNewsFeed .ng-news-card__media::after {
    transition: transform .45s ease;
}

#ngNewsFeed .ng-news-card h3 {
    transition: color .3s ease;
}

@media (prefers-reduced-motion: reduce) {
    #ngNewsFeed .ng-news-card {
        transition: transform .4s ease, box-shadow .4s ease, border-color .4s ease !important;
    }

    #ngNewsFeed .ng-news-card__media img {
        transition: transform .7s ease !important;
    }

    #ngNewsFeed .ng-news-card__media::after {
        transition: transform .45s ease !important;
    }

    #ngNewsFeed .ng-news-card h3 {
        transition: color .3s ease !important;
    }
}

/* ========================================================================== */
/* NARGOON NEWS — V32 MASTHEAD FULL WIDTH WITH FOLIO SAFE ZONE               */
/* Scope: desktop masthead only. Expands copy while preserving folio space.   */
/* ========================================================================== */
@media (min-width: 901px) {
    .ng-news-masthead__copy {
        grid-column: 1 / -1;
        justify-self: stretch;
        max-width: none;
        width: 100%;
        padding-inline-start: clamp(210px, 15vw, 250px);
    }

    .ng-news-masthead h1,
    .ng-news-masthead__intro {
        max-width: none;
        width: 100%;
    }
}

/* ========================================================================== */
/* NARGOON NEWS — V33 MASTHEAD TITLE VISUAL WIDTH ALIGNMENT                  */
/* Scope: desktop masthead title only. Matches headline span to intro line.   */
/* ========================================================================== */
@media (min-width: 901px) {
    .ng-news-masthead h1 {
        font-size: clamp(3.55rem, 5.35vw, 6.8rem);
        letter-spacing: -.025em;
    }
}

/* ========================================================================== */
/* NARGOON NEWS — V34 MASTHEAD SHARED COPY WIDTH                              */
/* Scope: desktop masthead only. Headline and intro share one exact measure.   */
/* ========================================================================== */
@media (min-width: 901px) {
    .ng-news-masthead__copy {
        --ng-news-copy-measure: min(100%, 900px);
        display: flex;
        flex-direction: column;
        align-items: flex-end;
    }

    .ng-news-masthead .ng-news__eyebrow,
    .ng-news-masthead h1,
    .ng-news-masthead__intro {
        box-sizing: border-box;
        width: var(--ng-news-copy-measure);
        max-width: var(--ng-news-copy-measure);
        margin-inline: 0;
    }

    .ng-news-masthead h1,
    .ng-news-masthead__intro {
        text-align: right;
    }
}

/* ========================================================================== */
/* NARGOON NEWS — V35 MASTHEAD RIGHT EDGE ALIGNMENT                           */
/* Scope: desktop masthead only. Removes the reserved blank inset on right.   */
/* ========================================================================== */
@media (min-width: 901px) {
    .ng-news-masthead__copy {
        padding-inline-start: 0;
    }
}

/* ========================================================================== */
/* NARGOON NEWS — V36 MASTHEAD RTL RIGHT ALIGNMENT                            */
/* Scope: desktop masthead copy only. In RTL column flex, flex-start is right. */
/* ========================================================================== */
@media (min-width: 901px) {
    .ng-news-masthead__copy {
        align-items: flex-start;
    }
}

/* ========================================================================== */
/* NARGOON NEWS — FINAL MASTHEAD TOP SPACING                                  */
/* Scope: masthead top spacing only.                                           */
/* ========================================================================== */
@media (min-width: 901px) {
    .ng-news-masthead {
        padding-top: clamp(9rem, 11vw, 13rem);
    }
}

@media (min-width: 601px) and (max-width: 900px) {
    .ng-news-masthead {
        padding-top: 7rem;
    }
}

@media (max-width: 600px) {
    .ng-news-masthead {
        padding-top: 6.5rem;
    }
}


/* ==========================================================================
   NARGOON NEWS — SECTION RHYTHM / MASTHEAD → PANORAMA
   Scope: only the vertical handoff between the first two sections.
   Reduces the empty visual gap without changing either section's effect.
   ========================================================================== */
@media (min-width: 901px) {
    .ng-news-masthead {
        padding-bottom: clamp(3rem, 4.5vw, 4.75rem);
    }

    #ngNewsPanorama .ng-news-panorama__scene {
        top: 43%;
    }
}

@media (min-width: 601px) and (max-width: 900px) {
    .ng-news-masthead {
        padding-bottom: 3rem;
    }

    #ngNewsPanorama .ng-news-panorama__scene {
        top: 44%;
    }
}

@media (max-width: 600px) {
    .ng-news-masthead {
        padding-bottom: 2.5rem;
    }

    #ngNewsPanorama .ng-news-panorama__scene {
        top: 45%;
    }
}

/* ==========================================================================
   NARGOON NEWS — PANORAMA TRUE PAGE CONTAINER / V3
   Scope: #ngNewsPanorama only.
   The scene is constrained to the page container; horizontal card positions
   are calculated in JS relative to that scene instead of the full viewport.
   ========================================================================== */
@media (min-width: 901px) {
    #ngNewsPanorama.ng-news-panorama {
        height: 122vh;
    }

    #ngNewsPanorama .ng-news-panorama__sticky {
        padding-left: clamp(1rem, 5vw, 4rem);
        padding-right: clamp(1rem, 5vw, 4rem);
    }

    #ngNewsPanorama .ng-news-panorama__scene {
        top: 49%;
        width: min(1180px, calc(100% - clamp(2rem, 10vw, 8rem)));
        max-width: 1180px;
    }

    #ngNewsPanorama .ng-news-panorama__footer {
        bottom: clamp(10px, 1.8vh, 18px);
    }
}

@media (min-width: 601px) and (max-width: 900px) {
    #ngNewsPanorama.ng-news-panorama {
        height: 118vh;
    }

    #ngNewsPanorama .ng-news-panorama__sticky {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    #ngNewsPanorama .ng-news-panorama__scene {
        top: 50%;
        width: calc(100% - 2rem);
        max-width: 980px;
    }

    #ngNewsPanorama .ng-news-panorama__footer {
        bottom: 14px;
    }
}

@media (max-width: 600px) {
    #ngNewsPanorama.ng-news-panorama {
        height: 108vh;
    }

    #ngNewsPanorama .ng-news-panorama__sticky {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    #ngNewsPanorama .ng-news-panorama__scene {
        top: 51%;
        width: calc(100% - 2rem);
        max-width: 100%;
    }

    #ngNewsPanorama .ng-news-panorama__footer {
        bottom: 10px;
    }
}

/* ==========================================================================
   NARGOON NEWS — PANORAMA COMPACT STAGE / V4
   Scope: #ngNewsPanorama only.
   Removes the large empty vertical areas above/below the card deck while
   preserving the same stacked→spread interaction and container width.
   ========================================================================== */
@media (min-width: 901px) {
    #ngNewsPanorama.ng-news-panorama {
        height: 120vh;
        min-height: 760px;
    }

    #ngNewsPanorama .ng-news-panorama__sticky {
        height: 74svh;
        min-height: 600px;
    }

    #ngNewsPanorama .ng-news-panorama__scene {
        top: 50%;
    }

    #ngNewsPanorama .ng-news-panorama__footer {
        bottom: 8px;
    }
}

@media (min-width: 601px) and (max-width: 900px) {
    #ngNewsPanorama.ng-news-panorama {
        height: 118vh;
        min-height: 700px;
    }

    #ngNewsPanorama .ng-news-panorama__sticky {
        height: 76svh;
        min-height: 560px;
    }

    #ngNewsPanorama .ng-news-panorama__scene {
        top: 50%;
    }

    #ngNewsPanorama .ng-news-panorama__footer {
        bottom: 8px;
    }
}

@media (max-width: 600px) {
    #ngNewsPanorama.ng-news-panorama {
        height: 114vh;
        min-height: 640px;
    }

    #ngNewsPanorama .ng-news-panorama__sticky {
        height: 78svh;
        min-height: 520px;
    }

    #ngNewsPanorama .ng-news-panorama__scene {
        top: 50%;
    }

    #ngNewsPanorama .ng-news-panorama__footer {
        bottom: 6px;
    }
}

/* ==========================================================================
   NARGOON NEWS — PANORAMA ULTRA-COMPACT STAGE / V5
   Scope: #ngNewsPanorama only.
   Tightens the selected sticky box itself so the deck no longer sits inside
   a large empty vertical field.
   ========================================================================== */
@media (min-width: 901px) {
    #ngNewsPanorama.ng-news-panorama {
        height: 86vh;
        min-height: 620px;
    }

    #ngNewsPanorama .ng-news-panorama__sticky {
        height: 58svh;
        min-height: 440px;
    }

    #ngNewsPanorama .ng-news-panorama__scene {
        top: 50%;
    }

    #ngNewsPanorama .ng-news-panorama__footer {
        bottom: 4px;
    }
}

@media (min-width: 601px) and (max-width: 900px) {
    #ngNewsPanorama.ng-news-panorama {
        height: 92vh;
        min-height: 620px;
    }

    #ngNewsPanorama .ng-news-panorama__sticky {
        height: 62svh;
        min-height: 440px;
    }

    #ngNewsPanorama .ng-news-panorama__scene {
        top: 50%;
    }

    #ngNewsPanorama .ng-news-panorama__footer {
        bottom: 4px;
    }
}

@media (max-width: 600px) {
    #ngNewsPanorama.ng-news-panorama {
        height: 96vh;
        min-height: 600px;
    }

    #ngNewsPanorama .ng-news-panorama__sticky {
        height: 66svh;
        min-height: 430px;
    }

    #ngNewsPanorama .ng-news-panorama__scene {
        top: 50%;
    }

    #ngNewsPanorama .ng-news-panorama__footer {
        bottom: 2px;
    }
}


/* ==========================================================================
   NARGOON NEWS — NAVBAR BACKGROUND + MASTHEAD FULL-WIDTH COPY / V6
   Scope: news page navbar visibility and desktop masthead copy only.
   ========================================================================== */

/* The site header is fixed. Give it an opaque page-matching surface so
   masthead text never visually passes underneath a transparent navbar. */
#ctl01_fwk_PageHead_ctl00_divCtrl.header.navbar.fixed-top,
header#ctl01_fwk_PageHead_ctl00_divCtrl.navbar.fixed-top {
    background: #f5f3ef !important;
    z-index: 9000 !important;
    box-shadow: 0 1px 0 rgba(23, 23, 23, .08);
    isolation: isolate;
}

/* Desktop: title/intro use the complete masthead width instead of the old
   900px editorial measure. No reserved blank strip on either side. */
@media (min-width: 901px) {
    .ng-news-masthead {
        max-width: none;
        width: 100%;
    }

    .ng-news-masthead__copy {
        grid-column: 1 / -1;
        justify-self: stretch;
        align-items: stretch;
        max-width: none;
        width: 100%;
        padding-inline: 0;
    }

    .ng-news-masthead .ng-news__eyebrow,
    .ng-news-masthead h1,
    .ng-news-masthead__intro {
        width: 100%;
        max-width: none;
        margin-inline: 0;
    }

    .ng-news-masthead h1,
    .ng-news-masthead__intro {
        text-align: right;
    }
}


/* ==========================================================================
   NARGOON NEWS — MASTHEAD CONTAINER ALIGNMENT / V7
   Scope: desktop masthead width only.
   Match the hero block to the page/container width used by the section below.
   ========================================================================== */
@media (min-width: 901px) {
    .ng-news-masthead {
        max-width: 1320px;
        margin-left: auto;
        margin-right: auto;
        width: 100%;
    }

    .ng-news-masthead__copy {
        max-width: 100%;
        width: 100%;
    }
}


/* ==========================================================================
   NARGOON NEWS — FEATURED RELEASE COMPACT RHYTHM / V8
   Scope: #ngNewsLead only.
   Reduces the excessive empty space above and below the featured release
   without changing its composition, image, copy, or reveal interaction.
   ========================================================================== */
@media (min-width: 901px) {
    #ngNewsLead.ng-news-lead {
        min-height: 0;
        margin-top: .5rem;
        margin-bottom: 2.25rem;
        padding-top: 1rem;
        padding-bottom: 1.25rem;
    }
}

@media (min-width: 601px) and (max-width: 900px) {
    #ngNewsLead.ng-news-lead {
        margin-top: .5rem;
        margin-bottom: 2rem;
        padding-top: .75rem;
        padding-bottom: 1.5rem;
    }
}

@media (max-width: 600px) {
    #ngNewsLead.ng-news-lead {
        margin-top: .25rem;
        margin-bottom: 1.5rem;
        padding-top: .5rem;
        padding-bottom: 1.25rem;
    }
}


/* ==========================================================================
   NARGOON NEWS — NO-GOLD COLOR PASS / V9
   Scope: color palette only.
   Gold/yellow accents were neutralized across the news page.
   Layout, responsive behavior, spacing, imagery and interactions are unchanged.
   ========================================================================== */


/* ==========================================================================
   NARGOON NEWS — ARCHIVE → EDITORIAL FEED RHYTHM / V10
   Scope: .ng-news-controls + .ng-news-feed only.
   Removes the unnecessary vertical gap between NEWS ARCHIVE / 02 and
   EDITORIAL FEED / 03 without changing filters, cards, or interactions.
   ========================================================================== */
@media (min-width: 901px) {
    .ng-news-controls {
        padding-bottom: .75rem;
    }

    .ng-news-feed {
        margin-top: 0;
        padding-top: .75rem;
    }

    .ng-news-feed__head {
        padding-top: 1rem;
        margin-bottom: 1.4rem;
    }
}

@media (min-width: 601px) and (max-width: 900px) {
    .ng-news-controls {
        padding-bottom: .75rem;
    }

    .ng-news-feed {
        margin-top: 0;
        padding-top: .75rem;
    }

    .ng-news-feed__head {
        padding-top: 1rem;
        margin-bottom: 1.35rem;
    }
}

@media (max-width: 600px) {
    .ng-news-controls {
        padding-bottom: .5rem;
    }

    .ng-news-feed {
        margin-top: 0;
        padding-top: .5rem;
    }

    .ng-news-feed__head {
        padding-top: .85rem;
        margin-bottom: 1.15rem;
    }
}
