/* ============================================================
   AGENCE AUGUSTIN — Articles du Journal
   ============================================================ */

.single-journal {
    background: var(--aa-lin);
}

.aa-article {
    --article-background: var(--aa-lin);
    --article-title-color: var(--aa-brun);
    --article-subtitle-color: var(--aa-brun);
    --article-text-color: var(--aa-brun);
    --article-caption-color: var(--aa-brun);
    --article-quote-color: var(--aa-brun);
    --article-author-color: var(--aa-brun);
    --article-accent-color: var(--aa-or);
    --article-title-font: var(--aa-font-display);
    --article-subtitle-font: var(--aa-font-display);
    --article-text-font: var(--aa-font-body);
    --article-caption-font: var(--aa-font-body);
    --article-quote-font: var(--aa-font-display);
    --article-author-font: var(--aa-font-body);
    --article-cta-color: var(--aa-brun);
}

.aa-article-intro,
.aa-article-section {
    background: var(--article-background);
}

.aa-article-spacing--default,
.aa-article-spacing--standard {
    padding-block: clamp(4.75rem, 8vw, 8rem);
}

.aa-article-spacing--compact {
    padding-block: clamp(3rem, 5vw, 5rem);
}

.aa-article-spacing--large {
    padding-block: clamp(6rem, 10vw, 10rem);
}

/* ---------- Introduction ---------- */

.aa-article-intro {
    display: flex;
    min-height: min(72vh, 760px);
    align-items: center;
    padding-top: calc(var(--aa-header-height) + clamp(3rem, 6vw, 6rem));
    border-bottom: 1px solid color-mix(in srgb, var(--aa-brun) 9%, transparent);
}

.aa-article-intro__inner {
    display: flex;
    width: min(100%, 920px);
    flex-direction: column;
}

.aa-article-intro__inner.aa-article-align--left,
.aa-article-intro__inner.aa-article-align--default {
    align-items: flex-start;
}

.aa-article-intro__inner.aa-article-align--center {
    align-items: center;
}

.aa-article-intro__inner.aa-article-align--right {
    align-items: flex-end;
}

.aa-article-intro__inner.aa-article-align--center .aa-article-intro__meta {
    justify-content: center;
}

.aa-article-intro__inner.aa-article-align--right .aa-article-intro__meta {
    justify-content: flex-end;
}

.aa-article-intro__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .65rem;
    margin-bottom: clamp(1.5rem, 2.4vw, 2.2rem);
    color: var(--aa-ardoise);
    font-family: var(--aa-font-body);
    font-size: .65rem;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.aa-article-intro__title {
    max-width: 100%;
    color: var(--article-title-color);
    font-family: var(--article-title-font);
    font-size: var(--article-intro-title-size, clamp(3rem, 7vw, 6.6rem));
    font-weight: 300;
    line-height: .96;
    letter-spacing: .025em;
    text-wrap: balance;
}

.aa-article-intro__subtitle {
    max-width: 46ch;
    margin-top: clamp(1.7rem, 3vw, 2.8rem);
    color: var(--article-subtitle-color);
    font-family: var(--article-subtitle-font);
    font-size: var(--article-intro-subtitle-size, clamp(1.15rem, 2.1vw, 1.8rem));
    font-weight: 300;
    line-height: 1.38;
    letter-spacing: .025em;
}

.aa-article-intro__text {
    max-width: 62ch;
    margin-top: clamp(1.45rem, 2.4vw, 2.15rem);
    color: var(--article-text-color);
    font-family: var(--article-text-font);
    font-size: var(--article-intro-text-size, clamp(.9rem, 1.1vw, 1rem));
    font-weight: 300;
    line-height: 1.9;
    letter-spacing: .012em;
}

.aa-article-intro__inner.aa-article-size--small {
    --article-intro-title-size: clamp(2.45rem, 5.6vw, 5.15rem);
    --article-intro-subtitle-size: clamp(1rem, 1.65vw, 1.45rem);
    --article-intro-text-size: clamp(.82rem, .95vw, .92rem);
}

.aa-article-intro__inner.aa-article-size--medium {
    --article-intro-title-size: clamp(3rem, 7vw, 6.6rem);
    --article-intro-subtitle-size: clamp(1.15rem, 2.1vw, 1.8rem);
    --article-intro-text-size: clamp(.9rem, 1.1vw, 1rem);
}

.aa-article-intro__inner.aa-article-size--large {
    --article-intro-title-size: clamp(3.35rem, 7.8vw, 7.35rem);
    --article-intro-subtitle-size: clamp(1.3rem, 2.45vw, 2.1rem);
    --article-intro-text-size: clamp(.98rem, 1.25vw, 1.12rem);
}

.aa-article-featured {
    width: min(100%, 1600px);
    margin: 0 auto;
    background: var(--aa-nuit);
    overflow: hidden;
}

.aa-article-featured__image {
    width: 100%;
    height: min(72vh, 900px);
    object-fit: cover;
}

/* ---------- Shared width, alignment and type controls ---------- */

.aa-article-width--default,
.aa-article-width--medium {
    width: min(100%, 760px);
}

.aa-article-width--narrow {
    width: min(100%, 600px);
}

.aa-article-width--wide {
    width: min(100%, 1040px);
}

.aa-article-align--default,
.aa-article-align--left {
    margin-left: 0;
    margin-right: auto;
    text-align: left !important;
}

.aa-article-align--center {
    margin-left: auto;
    margin-right: auto;
    text-align: center !important;
}

.aa-article-align--right {
    margin-left: auto;
    margin-right: 0;
    text-align: right !important;
}

.aa-article-align--default :is(h1, h2, h3, h4, p, ul, ol, li, div, span),
.aa-article-align--left :is(h1, h2, h3, h4, p, ul, ol, li, div, span),
.aa-article-align--center :is(h1, h2, h3, h4, p, ul, ol, li, div, span),
.aa-article-align--right :is(h1, h2, h3, h4, p, ul, ol, li, div, span) {
    text-align: inherit;
}

.aa-article-align--center :is(p, ul, ol),
.aa-article-align--center .aa-article-copy__content,
.aa-article-align--center .aa-article-image-text__content {
    margin-inline: auto;
}

.aa-article-align--right :is(p, ul, ol),
.aa-article-align--right .aa-article-copy__content,
.aa-article-align--right .aa-article-image-text__content {
    margin-left: auto;
}

.aa-article-font-style--normal {
    font-style: normal;
}

.aa-article-font-style--italic {
    font-style: italic;
}

.aa-article-decoration-size--small {
    --article-decoration-width: clamp(3.5rem, 7vw, 6rem);
}

.aa-article-decoration-size--medium {
    --article-decoration-width: clamp(5.25rem, 10vw, 9rem);
}

.aa-article-decoration-size--large {
    --article-decoration-width: clamp(7rem, 14vw, 12rem);
}

.aa-article-decoration--line_top,
.aa-article-decoration--line_both {
    padding-top: clamp(1.5rem, 2.8vw, 2.5rem);
}

.aa-article-decoration--line_bottom,
.aa-article-decoration--line_both {
    padding-bottom: clamp(1.5rem, 2.8vw, 2.5rem);
}

.aa-article-decoration--line_top::before,
.aa-article-decoration--line_both::before,
.aa-article-decoration--line_bottom::after,
.aa-article-decoration--line_both::after {
    content: "";
    display: block;
    width: var(--article-decoration-width, clamp(3.5rem, 7vw, 6rem));
    height: 1px;
    margin-inline: auto;
    background: var(--article-accent-color);
}

.aa-article-decoration--line_top::before,
.aa-article-decoration--line_both::before {
    margin-bottom: clamp(1.5rem, 2.8vw, 2.5rem);
}

.aa-article-decoration--line_bottom::after,
.aa-article-decoration--line_both::after {
    margin-top: clamp(1.5rem, 2.8vw, 2.5rem);
}

/* ---------- Editorial text ---------- */

.aa-article-copy {
    width: 100%;
}

.aa-article-copy__inner {
    width: min(100%, 820px);
}

.aa-article-copy__inner.aa-article-size--small {
    --article-copy-title-size: clamp(1.65rem, 3.2vw, 2.85rem);
    --article-copy-text-size: clamp(.82rem, .92vw, .92rem);
}

.aa-article-copy__inner.aa-article-size--medium {
    --article-copy-title-size: clamp(2rem, 4.2vw, 3.65rem);
    --article-copy-text-size: clamp(.91rem, 1.05vw, 1rem);
}

.aa-article-copy__inner.aa-article-size--large {
    --article-copy-title-size: clamp(2.35rem, 4.9vw, 4.35rem);
    --article-copy-text-size: clamp(.98rem, 1.2vw, 1.12rem);
}

.aa-article-copy__title,
.aa-article-image-text__title {
    color: var(--article-title-color);
    font-family: var(--article-title-font);
    font-size: var(--article-copy-title-size, clamp(2rem, 4.2vw, 3.65rem));
    font-weight: 300;
    line-height: 1.04;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.aa-article-copy__content,
.aa-article-image-text__content {
    color: var(--article-text-color);
    font-family: var(--article-text-font);
    font-size: var(--article-copy-text-size, clamp(.91rem, 1.05vw, 1rem));
    font-weight: 300;
    line-height: 1.92;
    letter-spacing: .012em;
}

.aa-article-copy__title + .aa-article-copy__content,
.aa-article-image-text__title + .aa-article-image-text__content {
    margin-top: clamp(1.8rem, 3.2vw, 3rem);
}

.aa-article-copy__content > * + *,
.aa-article-image-text__content > * + * {
    margin-top: 1.35em;
}

.aa-article-copy__content :is(p, li, strong, em, a),
.aa-article-image-text__content :is(p, li, strong, em, a) {
    color: inherit;
    font-family: inherit;
}

.aa-article-copy__content :is(h2, h3, h4),
.aa-article-image-text__content :is(h2, h3, h4) {
    margin-top: 1.8em;
    color: var(--article-title-color);
    font-family: var(--article-title-font);
}

.aa-article-copy__content ul,
.aa-article-copy__content ol,
.aa-article-image-text__content ul,
.aa-article-image-text__content ol {
    max-width: 62ch;
    padding-left: 1.35rem;
}

.aa-article-copy__content a,
.aa-article-image-text__content a {
    border-bottom: 1px solid var(--article-accent-color);
}

.aa-article-copy__content a:hover,
.aa-article-image-text__content a:hover {
    opacity: .62;
}

/* ---------- Images ---------- */

.aa-article-image__container--full {
    width: 100%;
}

.aa-article-image__figure {
    margin-top: 0;
    margin-bottom: 0;
}

.aa-article-image-width--default,
.aa-article-image-width--medium {
    width: min(100%, 980px);
}

.aa-article-image-width--narrow {
    width: min(100%, 680px);
}

.aa-article-image-width--wide {
    width: min(100%, 1280px);
}

.aa-article-image-width--full {
    width: 100%;
}

.aa-article-image-align--left {
    margin-right: auto;
}

.aa-article-image-align--center {
    margin-inline: auto;
}

.aa-article-image-align--right {
    margin-left: auto;
}

.aa-article-media {
    position: relative;
    overflow: hidden;
    background: color-mix(in srgb, var(--aa-brun) 6%, transparent);
}

.aa-article-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.aa-article-ratio--original {
    overflow: visible;
    background: transparent;
}

.aa-article-ratio--original img {
    height: auto;
    object-fit: contain;
}

.aa-article-ratio--landscape {
    aspect-ratio: 16 / 10;
}

.aa-article-ratio--portrait {
    aspect-ratio: 4 / 5;
}

.aa-article-ratio--square {
    aspect-ratio: 1;
}

.aa-article-ratio--panoramic {
    aspect-ratio: 21 / 8;
}

.aa-article-image__caption {
    max-width: 68ch;
    margin-top: 1rem;
    color: var(--article-caption-color);
    font-family: var(--article-caption-font);
    font-size: .72rem;
    font-weight: 300;
    line-height: 1.75;
    letter-spacing: .07em;
}

.aa-article-image-width--full .aa-article-image__caption {
    margin-inline: var(--aa-container-x);
}

/* ---------- Image + text ---------- */

.aa-article-image-text__frame {
    width: 100%;
}

.aa-article-image-text__grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: clamp(2.5rem, 6vw, 7rem);
}

.aa-article-image-text__media,
.aa-article-image-text__copy {
    min-width: 0;
}

.aa-article-image-text--equal .aa-article-image-text__media,
.aa-article-image-text--equal .aa-article-image-text__copy {
    grid-column: span 6;
}

.aa-article-image-text--image_small .aa-article-image-text__media {
    grid-column: span 5;
}

.aa-article-image-text--image_small .aa-article-image-text__copy {
    grid-column: span 7;
}

.aa-article-image-text--image_large .aa-article-image-text__media {
    grid-column: span 7;
}

.aa-article-image-text--image_large .aa-article-image-text__copy {
    grid-column: span 5;
}

.aa-article-image-text--right .aa-article-image-text__copy {
    order: 1;
}

.aa-article-image-text--right .aa-article-image-text__media {
    order: 2;
}

.aa-article-image-text__copy {
    align-self: center;
}

/* ---------- Quote ---------- */

.aa-article-quote__figure {
    position: relative;
    width: min(100%, 1040px);
    margin: 0 auto;
    padding: clamp(1.2rem, 2.5vw, 2.2rem) clamp(1rem, 4vw, 4rem);
}

.aa-article-quote--small {
    width: min(100%, 760px);
}

.aa-article-quote--standard {
    width: min(100%, 1040px);
}

.aa-article-quote--large {
    width: min(100%, 1180px);
}

.aa-article-quote__figure::before {
    content: "";
    display: block;
    width: var(--article-decoration-width, clamp(3.5rem, 7vw, 6rem));
    height: 1px;
    margin-inline: auto;
    margin-bottom: clamp(2rem, 4vw, 3.5rem);
    background: var(--article-accent-color);
}

.aa-article-quote__text {
    margin: 0;
    color: var(--article-quote-color);
    font-family: var(--article-quote-font);
    font-size: clamp(2rem, 4.6vw, 4.2rem);
    font-weight: 300;
    line-height: 1.08;
    letter-spacing: .02em;
}

.aa-article-quote--small .aa-article-quote__text {
    font-size: clamp(1.45rem, 2.8vw, 2.55rem);
    line-height: 1.18;
}

.aa-article-quote--standard .aa-article-quote__text {
    font-size: clamp(2.05rem, 4.2vw, 3.85rem);
    line-height: 1.09;
    text-wrap: balance;
}

.aa-article-quote--large .aa-article-quote__text {
    font-size: clamp(2.45rem, 5vw, 4.75rem);
    line-height: 1.04;
    text-wrap: balance;
}

.aa-article-quote__content {
    display: inline;
}

.aa-article-quote__mark {
    display: inline-block;
    color: var(--article-accent-color);
    font-family: var(--aa-font-display);
    font-size: 1.12em;
    font-weight: 300;
    line-height: .7;
    opacity: .62;
    pointer-events: none;
    vertical-align: baseline;
}

.aa-article-quote__mark--open {
    margin-right: .12em;
    transform: translateY(.04em);
}

.aa-article-quote__mark--close {
    margin-left: .12em;
    transform: translateY(.08em);
}

.aa-article-quote__caption {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    margin-top: clamp(2rem, 4vw, 3.5rem);
    color: var(--article-author-color);
    font-family: var(--article-author-font);
}

.aa-article-quote__author {
    color: inherit;
    font-size: .72rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.aa-article-quote__role {
    color: inherit;
    font-size: .68rem;
    font-weight: 300;
    line-height: 1.55;
    letter-spacing: .08em;
    opacity: .72;
}

/* ---------- Gallery ---------- */

.aa-article-gallery__grid {
    display: grid;
}

.aa-article-gallery--columns-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.aa-article-gallery--columns-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.aa-article-gallery--gap-compact {
    gap: clamp(.5rem, 1vw, 1rem);
}

.aa-article-gallery--gap-standard {
    gap: clamp(1rem, 2vw, 2rem);
}

.aa-article-gallery--gap-large {
    gap: clamp(1.75rem, 4vw, 4rem);
}

.aa-article-gallery__item {
    margin: 0;
}

/* ---------- Article CTA ---------- */

.aa-article-cta {
    display: flex;
    margin-top: clamp(1.75rem, 3.2vw, 3rem);
}

.aa-article-cta--default,
.aa-article-cta--left {
    justify-content: flex-start;
}

.aa-article-cta--center {
    justify-content: center;
}

.aa-article-cta--right {
    justify-content: flex-end;
}

.aa-article-cta .cta-link,
.aa-article-cta a.cta-link {
    color: var(--article-cta-color) !important;
}

.aa-article-cta .cta-link::after,
.aa-article-cta a.cta-link::after {
    background: var(--aa-or) !important;
}

/* ---------- Article navigation ---------- */

.aa-article-navigation {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
    padding-block: clamp(4rem, 7vw, 7rem);
    border-top: 1px solid color-mix(in srgb, var(--aa-brun) 12%, transparent);
}

.aa-article-navigation__next {
    text-align: right;
}

.aa-article-navigation a {
    display: inline-flex;
    max-width: 28rem;
    flex-direction: column;
    gap: .65rem;
}

.aa-article-navigation__next a {
    align-items: flex-end;
}

.aa-article-navigation__label {
    color: var(--aa-ardoise);
    font-family: var(--aa-font-body);
    font-size: .62rem;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.aa-article-navigation__title {
    color: var(--aa-brun);
    font-family: var(--aa-font-display);
    font-size: clamp(1.25rem, 2.2vw, 2rem);
    font-weight: 300;
    line-height: 1.15;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.aa-article-navigation a:hover {
    opacity: .58;
}

/* Archive pagination retained from the Journal listing. */
.nav-links {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-top: 3rem;
}

.page-numbers {
    padding: .5rem;
    border-bottom: 1px solid transparent;
}

.page-numbers.current {
    border-color: var(--color-or);
}

@supports not (color: color-mix(in srgb, black, white)) {
    .aa-article-intro,
    .aa-article-navigation {
        border-color: rgba(60, 42, 30, .1);
    }

    .aa-article-media {
        background: rgba(60, 42, 30, .06);
    }
}

@media (max-width: 900px) {
    .aa-article-image-text__grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .aa-article-image-text--equal .aa-article-image-text__media,
    .aa-article-image-text--equal .aa-article-image-text__copy,
    .aa-article-image-text--image_small .aa-article-image-text__media,
    .aa-article-image-text--image_small .aa-article-image-text__copy,
    .aa-article-image-text--image_large .aa-article-image-text__media,
    .aa-article-image-text--image_large .aa-article-image-text__copy {
        grid-column: 1;
    }

    .aa-article-image-text--right .aa-article-image-text__media {
        order: 1;
    }

    .aa-article-image-text--right .aa-article-image-text__copy {
        order: 2;
    }
}

@media (max-width: 767px) {
    .aa-article-intro {
        min-height: auto;
        padding-top: calc(var(--aa-header-height) + 4.25rem);
    }

    .aa-article-intro__inner.aa-article-size--small {
        --article-intro-title-size: clamp(2.25rem, 11vw, 3.65rem);
    }

    .aa-article-intro__inner.aa-article-size--medium {
        --article-intro-title-size: clamp(2.6rem, 13vw, 4.35rem);
    }

    .aa-article-intro__inner.aa-article-size--large {
        --article-intro-title-size: clamp(2.9rem, 14vw, 4.8rem);
    }

    .aa-article-featured__image {
        height: min(58vh, 620px);
    }

    .aa-article-image-width--full .aa-article-image__caption {
        margin-inline: 1.5rem;
    }

    .aa-article-ratio--panoramic {
        aspect-ratio: 16 / 9;
    }

    .aa-article-gallery--columns-2,
    .aa-article-gallery--columns-3 {
        grid-template-columns: 1fr;
    }

    .aa-article-navigation {
        grid-template-columns: 1fr;
    }

    .aa-article-navigation__next {
        text-align: left;
    }

    .aa-article-navigation__next a {
        align-items: flex-start;
    }
}
