/* ================== BLOC 07 : PAGE PRESSE ================== */
.press { padding: 0 0 64px; }
.press .wrap { display: grid; gap: 56px; }
@media (min-width: 768px) {
    .press .wrap { gap: clamp(72px, 7vw, 104px); }
}
#ntx-press-intro .wrap {
    text-align: center;
    justify-items: center;
}
@media (min-width: 768px) {
    #ntx-press-intro .wrap {
        text-align: left;
        justify-items: start;
    }
}
.press-stories { display: grid; gap: 32px; }
@media (min-width: 1024px) {
    .press-stories { grid-template-columns: 7fr 5fr; gap: 24px; align-items: stretch; }
}
.press-story {
    position: relative; isolation: isolate; display: grid; grid-template-rows: auto 1fr;
    border-radius: 24px; overflow: hidden; color: var(--text);
    background: linear-gradient(180deg, #15120e, #0e0c0a);
    border: 1px solid rgba(255, 255, 255, 0.07);
    box-shadow: 0 30px 60px -40px rgba(0, 0, 0, 0.9);
    transition: transform 0.5s var(--ease), box-shadow 0.5s var(--ease), border-color 0.4s;
}
.press-story__media { position: relative; aspect-ratio: 16/9; overflow: hidden; background: #0e0c0a; }
.press-story__media img {
    width: 100%; height: 118%; object-fit: cover; object-position: var(--pos, 50% 20%); display: block;
    transform: translateY(var(--py, 0%)) scale(1.02);
    transition: scale 0.8s var(--ease);
}
.press-story__media::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(180deg, transparent 45%, rgba(10, 9, 8, 0.85));
    pointer-events: none;
}
.press-story__outlet {
    position: absolute; left: clamp(20px, 2.4vw, 32px); bottom: clamp(14px, 1.8vw, 22px); z-index: 1;
    font: 800 clamp(1.5rem, 3.2vw, 2.75rem)/1 var(--font-body);
    letter-spacing: -0.02em; color: var(--text);
    text-shadow: 0 2px 24px rgba(0, 0, 0, 0.6);
}
.press-story__outlet--rtbf { letter-spacing: 0.02em; text-transform: lowercase; }
.press-story__body {
    display: grid; align-content: start; gap: 14px;
    padding: clamp(24px, 2.4vw, 32px);
}
.press-story__kicker {
    font: 700 var(--fs-kicker)/1.4 var(--font-body);
    letter-spacing: 0.08em; text-transform: uppercase; color: var(--gold);
}
.press-story__title {
    font: 800 clamp(1.375rem, 2vw, 1.875rem)/1.18 var(--font-body);
    letter-spacing: -0.015em; text-wrap: balance; max-width: 28ch;
}
.press-story--lead .press-story__title { font-size: clamp(1.625rem, 2.6vw, 2.375rem); }
.press-story__title .au { color: var(--gold-2); }
.press-story__dek {
    font: 500 var(--fs-body)/1.55 var(--font-body);
    color: #c9c2b6; max-width: 52ch;
}
.press-story .btn-link { justify-self: start; margin-top: 8px; }
.press-story .btn-link::after {
    content: ""; position: absolute; inset: 0; z-index: 2;
}
.press-story .btn-link i { transition: transform 0.35s var(--ease); }
.press-story:focus-within {
    border-color: rgba(232, 197, 71, 0.45);
    box-shadow: var(--ring);
}
.press-story .btn-link:focus-visible { box-shadow: none; }
.press-story__media::before {
    content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
    background: linear-gradient(115deg, transparent 35%, rgba(255, 236, 170, 0.28) 50%, transparent 65%);
    transform: translateX(-120%);
}
@media (hover: hover) {
    .press-story:hover, .press-story.is-hover {
        transform: translateY(-6px);
        border-color: rgba(232, 197, 71, 0.3);
        box-shadow: 0 40px 80px -40px rgba(0, 0, 0, 0.95), 0 0 70px -30px rgba(232, 197, 71, 0.45);
    }
    .press-story:hover .press-story__media img,
    .press-story.is-hover .press-story__media img { scale: 1.07; }
    .press-story:hover .press-story__media::before {
        transform: translateX(120%);
        transition: transform 1s var(--ease);
    }
    .press-story:hover .btn-link span,
    .press-story.is-hover .btn-link span { background-size: 100% 1px; }
    .press-story:hover .btn-link i,
    .press-story.is-hover .btn-link i { transform: translate(3px, -3px); }
}
.press-quote {
    position: relative; display: grid; gap: 20px;
    padding: clamp(16px, 1vw, 12px) clamp(24px, 3vw, 0) clamp(16px, 1vw, 12px) clamp(24px, 3vw, 48px);
    border-left: 3px solid var(--gold-2); max-width: 1040px;
    text-align: center;
    margin-inline: auto;
}
@media (min-width: 768px) {
    .press-quote {
        text-align: left;
        margin-inline: 0;
    }
}
.press-quote::before {
    content: "\201C"; position: absolute; 
    left: 50%; transform: translateX(-50%); top: -16px;
    font: 900 clamp(5rem, 10vw, 9rem)/1 var(--font-display);
    color: rgba(232, 197, 71, 0.15); pointer-events: none;
    z-index: 0;
}
@media (min-width: 768px) {
    .press-quote::before {
        left: clamp(8px, 2vw, 32px);
        transform: none;
        font-size: clamp(7rem, 12vw, 11rem);
    }
}
.press-quote p {
    position: relative;
    font: italic 600 clamp(1.125rem, 2.4vw, 2.125rem)/1.35 var(--font-body);
    letter-spacing: -0.01em; text-wrap: pretty; margin: 0;
}
.press-quote p span { color: var(--text); }
.press-quote cite {
    font: 600 var(--fs-small)/1.4 var(--font-body);
    font-style: normal; color: var(--muted);
}
.press-quote cite a {
    color: var(--gold-2); text-decoration: underline;
    text-underline-offset: 3px; text-decoration-thickness: 1px;
}
.press-list-wrap { display: grid; gap: 20px; }
.press-list-wrap[hidden] { display: none !important; }
.press-list-title {
    font: 800 var(--fs-h2)/1.15 var(--font-body);
    letter-spacing: -0.015em;
}
.press-list {
    list-style: none;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.press-row {
    position: relative; display: grid;
    grid-template-columns: 1fr 24px; gap: 8px 16px; align-items: baseline;
    padding: 24px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    color: var(--text); text-decoration: none;
    transition: padding 0.35s var(--ease), background-color 0.35s;
}
@media (min-width: 768px) {
    .press-row {
        grid-template-columns: 130px 140px 1fr 24px;
        gap: 20px;
        padding: 20px 0;
    }
}
.press-row time { font: 600 var(--fs-small)/1.4 var(--font-body); color: var(--muted); grid-column: 1; }
.press-row .o { font: 800 0.9375rem/1.4 var(--font-body); color: var(--gold-2); grid-column: 1; }
.press-row .t { font: 700 1.0625rem/1.4 var(--font-body); grid-column: 1; }
.press-row i {
    color: rgba(248, 246, 240, 0.35);
    transition: transform 0.35s var(--ease), color 0.35s;
    grid-column: 2;
    grid-row: 1/4;
    align-self: center;
}
@media (hover: hover) {
    .press-row:hover, .press-row.is-hover {
        padding-left: 12px;
        background: linear-gradient(90deg, rgba(232, 197, 71, 0.07), transparent 70%);
    }
    .press-row:hover i, .press-row.is-hover i {
        transform: translate(3px, -3px);
        color: var(--gold-2);
    }
}
.press-row:focus-visible {
    outline: none;
    box-shadow: var(--ring);
}
.press-contact {
    display: grid; justify-items: center; gap: 12px;
    padding-top: clamp(48px, 4vw, 56px);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.press-contact > .wrap {
    gap: 12px;
}
.press-contact__intro {
    font: 600 0.9375rem/1.4 var(--font-body);
    color: #a39889;
    text-align: center;
    margin: 0;
}
.press-contact__mail {
    position: relative; display: inline-flex; align-items: center;
    gap: clamp(14px, 1.6vw, 20px); min-height: 44px;
    width: fit-content; margin-inline: auto;
    color: var(--text); text-decoration: none;
    font: 800 clamp(1.5rem, 5.4vw, 2rem)/1.05 var(--font-body);
    letter-spacing: -0.03em;
}
@media (min-width: 768px) {
    .press-contact__mail {
        margin-inline: 0;
    }
}
.press-contact__mail i { font-size: 0.62em; color: var(--gold-2); }
.press-contact__mail span {
    background: linear-gradient(90deg, var(--gold-2), var(--gold)) 0 100%/0% 3px no-repeat;
    padding-bottom: 0.08em;
    transition: background-size 0.6s var(--ease), color 0.4s;
}
@media (hover: hover) {
    .press-contact__mail:hover span,
    .press-contact__mail.is-hover span {
        background-size: 100% 3px;
        color: #fff4c9;
    }
}
.press-contact__mail:focus-visible {
    outline: none;
    box-shadow: var(--ring);
    border-radius: 8px;
}
@media (min-width: 768px) {
    .press-contact {
        justify-items: start;
    }
    .press-contact__intro {
        text-align: left;
    }
}
@supports (animation-timeline: view()) {
    @media (prefers-reduced-motion: no-preference) {
        .press-story__media img {
            animation: b07-par linear both;
            animation-timeline: view();
        }
        @keyframes b07-par {
            from { transform: translateY(-12%) scale(1.02); }
            to { transform: translateY(0%) scale(1.02); }
        }
        .press-story {
            animation: b07-story-in linear both;
            animation-timeline: view();
            animation-range: entry 0% entry 60%;
        }
        @keyframes b07-story-in {
            from { translate: 0 12px; }
        }
        .press-quote {
            animation: b07-rule-down linear both;
            animation-timeline: view();
            animation-range: entry 0% entry 80%;
        }
        @keyframes b07-rule-down {
            from { border-left-color: transparent; }
        }
    }
}
@media (prefers-reduced-motion: reduce) {
    .press *, .press *::before, .press *::after {
        animation: none !important;
        transition: none !important;
    }
}
@media (min-width: 1024px) {
    .press-story:not(.press-story--lead) {
        grid-template-rows: 1fr auto;
    }
    .press-story:not(.press-story--lead) .press-story__media {
        aspect-ratio: auto;
        min-height: 280px;
    }
    .press-story:not(.press-story--lead) .press-story__media img {
        position: absolute;
        inset: 0;
    }
}
.press-story:not(.press-story--lead) .press-story__media img {
    height: 100%;
    animation: none !important;
    transform: scale(1.02) !important;
}
