/*
 * DÃ©fendre Paris Tâ€™aime
 * Styles isolÃ©s par le prÃ©fixe dpt- Â· version V100 · fusion comparateur procédural · forme / sens / double inopérance
 */

:root {
    --dpt-navy: #001944;
    --dpt-navy-deep: #020918;
    --dpt-red: #661919;
    --dpt-red-bright: #c51f24;
    --dpt-gold: #caa75b;
    --dpt-gold-soft: #ead59f;
    --dpt-ivory: #f7f3e9;
    --dpt-paper: #fffdf8;
    --dpt-ink: #172034;
    --dpt-muted: #687086;
    --dpt-line: rgba(0, 25, 68, .14);
    --dpt-blue-soft: #eef4ff;
    --dpt-red-soft: #fff0ee;
    --dpt-shadow: 0 24px 70px rgba(2, 9, 24, .15);
    --dpt-radius: 3px;
    --dpt-shell: 1480px;
}

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

html {
    scroll-behavior: smooth;
}

.dpt-body {
    margin: 0;
    background: #f2efe7;
    color: var(--dpt-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.6;
    text-rendering: optimizeLegibility;
}

.dpt-body img {
    display: block;
    max-width: 100%;
}

.dpt-body button,
.dpt-body a {
    font: inherit;
}

.dpt-body a {
    color: inherit;
}

.dpt-skip {
    position: fixed;
    z-index: 1000;
    top: 12px;
    left: 12px;
    transform: translateY(-160%);
    padding: .75rem 1rem;
    background: #fff;
    color: var(--dpt-navy);
    border-radius: var(--dpt-radius);
    box-shadow: var(--dpt-shadow);
}

.dpt-skip:focus {
    transform: translateY(0);
}

.dpt-page {
    overflow: clip;
}

.dpt-shell {
    width: min(calc(100% - 32px), var(--dpt-shell));
    margin-inline: auto;
}

.dpt-section {
    position: relative;
    padding: clamp(72px, 9vw, 132px) 0;
}

.dpt-section__header {
    max-width: 940px;
    margin-bottom: clamp(34px, 5vw, 64px);
}

.dpt-section__header h2,
.dpt-hero h1,
.dpt-epilogue h2 {
    margin: 0;
    color: var(--dpt-navy);
    font-family: Georgia, "Times New Roman", serif;
    letter-spacing: -.035em;
    line-height: .98;
}

.dpt-section__header h2 {
    font-size: clamp(2.25rem, 5.3vw, 5.4rem);
}

.dpt-section__header > p:last-child {
    max-width: 800px;
    margin: 1.4rem 0 0;
    color: #4d5568;
    font-size: clamp(1rem, 1.6vw, 1.25rem);
}

.dpt-kicker {
    margin: 0 0 1rem;
    color: var(--dpt-red);
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
    font-size: .79rem;
}

.dpt-hero {
    position: relative;
    min-height: min(920px, 100svh);
    display: grid;
    align-items: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 76% 20%, rgba(202, 167, 91, .16), transparent 32%),
        linear-gradient(140deg, #030814 0%, #08142c 47%, #16090b 100%);
    color: #fff;
}

.dpt-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, transparent 0 49.8%, rgba(255,255,255,.025) 49.8% 50%, transparent 50%),
        linear-gradient(0deg, transparent 0 49.8%, rgba(255,255,255,.018) 49.8% 50%, transparent 50%);
    background-size: 120px 120px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.5), transparent);
}

.dpt-hero__grain {
    position: absolute;
    inset: 0;
    opacity: .14;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.46'/%3E%3C/svg%3E");
    pointer-events: none;
}

.dpt-hero__inner {
    position: relative;
    z-index: 1;
    padding-block: 100px;
}

.dpt-hero .dpt-kicker {
    color: var(--dpt-gold-soft);
}

.dpt-hero h1 {
    max-width: 1100px;
    color: #fff;
    font-size: clamp(4rem, 10vw, 10.5rem);
}

.dpt-hero__lead {
    max-width: 1100px;
    margin: 1.5rem 0 0;
    color: var(--dpt-gold-soft);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.45rem, 3.5vw, 3.25rem);
    line-height: 1.15;
}

.dpt-hero__intro {
    max-width: 790px;
    margin: 2rem 0 0;
    color: rgba(255,255,255,.78);
    font-size: clamp(1rem, 1.5vw, 1.22rem);
}

.dpt-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 2.25rem;
}

.dpt-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: .85rem 1.25rem;
    border: 1px solid transparent;
    border-radius: var(--dpt-radius);
    text-decoration: none;
    font-weight: 800;
    transition: transform .2s ease, background-color .2s ease, border-color .2s ease;
}

.dpt-btn:hover {
    transform: translateY(-2px);
}

.dpt-btn--primary {
    background: var(--dpt-red);
    color: #fff;
}

.dpt-btn--ghost {
    border-color: rgba(255,255,255,.34);
    color: #fff;
    background: rgba(255,255,255,.04);
}

.dpt-hero__statement {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    align-items: baseline;
    max-width: 900px;
    margin-top: clamp(3rem, 8vw, 7rem);
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255,255,255,.16);
    font-size: clamp(1rem, 2vw, 1.55rem);
}

.dpt-hero__statement strong {
    color: var(--dpt-gold-soft);
    font-size: 1.45em;
}

.dpt-prologue {
    background: var(--dpt-paper);
}

.dpt-cinema-quote {
    margin: clamp(48px, 7vw, 88px) 0 0;
    padding: clamp(28px, 5vw, 60px);
    color: #fff;
    background:
        linear-gradient(110deg, rgba(0,25,68,.98), rgba(14,11,20,.96)),
        #001944;
    border-radius: var(--dpt-radius);
    box-shadow: var(--dpt-shadow);
}

.dpt-cinema-quote p {
    max-width: 1000px;
    margin: 0;
    color: var(--dpt-gold-soft);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.6rem, 4vw, 3.8rem);
    line-height: 1.15;
}

.dpt-originals {
    background: #ece7db;
}

.dpt-sign-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.dpt-sign {
    margin: 0;
    overflow: hidden;
    background: var(--dpt-paper);
    border: 1px solid rgba(0,0,0,.08);
    border-radius: var(--dpt-radius);
}

.dpt-sign__image {
    display: grid;
    place-items: center;
    min-height: 260px;
    padding: 26px;
}

.dpt-sign__image img {
    width: 100%;
    max-height: 210px;
    object-fit: contain;
}

.dpt-sign figcaption {
    display: grid;
    gap: .2rem;
    padding: 18px;
    background: var(--dpt-navy);
    color: #fff;
}

.dpt-sign figcaption strong {
    font-size: .95rem;
}

.dpt-sign figcaption span {
    color: var(--dpt-gold-soft);
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .09em;
}

.dpt-principle {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 18px;
    margin-top: 24px;
    padding: 22px;
    background: #fff;
    border-left: 5px solid var(--dpt-red);
    border-radius: var(--dpt-radius);
}

.dpt-principle__index {
    display: grid;
    place-items: center;
    width: 54px;
    aspect-ratio: 1;
    border-radius: 50%;
    background: var(--dpt-red);
    color: #fff;
    font-weight: 900;
}

.dpt-principle p {
    margin: 0;
}









.dpt-reading {
    padding: clamp(22px, 3vw, 38px);
    border: 1px solid rgba(255,255,255,.15);
    border-radius: var(--dpt-radius);
}

.dpt-reading--blue {
    background: rgba(0,25,68,.55);
}

.dpt-reading--red {
    background: rgba(102,25,25,.34);
}

.dpt-reading__label {
    color: var(--dpt-gold-soft);
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .12em;
}

.dpt-reading h3 {
    margin: .65rem 0 .8rem;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.6rem, 3vw, 2.7rem);
}

.dpt-reading p {
    margin: 0;
    color: rgba(255,255,255,.76);
}









.dpt-matrix {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 18px;
    align-items: center;
    width: 100%;
    max-width: 620px;
    padding: 20px;
    background: #fff;
    color: var(--dpt-navy);
    border: 2px dashed var(--dpt-red-bright);
    border-radius: var(--dpt-radius);
    text-align: center;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.8rem, 4vw, 3.7rem);
}

.dpt-matrix span:last-child {
    color: var(--dpt-red);
}

.dpt-matrix b {
    color: #8c8f98;
}





.dpt-cases {
    background: var(--dpt-paper);
}

.dpt-case-tabs {
    position: sticky;
    z-index: 30;
    top: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 10px;
    background: rgba(255,253,248,.92);
    border: 1px solid var(--dpt-line);
    border-radius: var(--dpt-radius);
    backdrop-filter: blur(14px);
    box-shadow: 0 10px 25px rgba(0,25,68,.08);
}

.dpt-case-tab {
    min-width: 0;
    padding: 14px 16px;
    border: 1px solid transparent;
    border-radius: var(--dpt-radius);
    background: #f1eee6;
    color: var(--dpt-navy);
    cursor: pointer;
    text-align: left;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.dpt-case-tab:hover {
    transform: translateY(-1px);
}

.dpt-case-tab span {
    display: block;
    color: var(--dpt-red);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-case-tab strong {
    display: block;
    margin-top: .15rem;
    font-size: clamp(.86rem, 1.4vw, 1rem);
}

.dpt-case-tab.is-active {
    background: var(--dpt-navy);
    color: #fff;
}

.dpt-case-tab.is-active span {
    color: var(--dpt-gold-soft);
}

.dpt-case-panel {
    padding-top: 34px;
}

.dpt-case-intro {
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 30px;
    align-items: center;
    margin-bottom: 28px;
    padding: clamp(24px, 4vw, 44px);
    background: #f1eee6;
    border: 1px solid rgba(0,0,0,.06);
    border-radius: var(--dpt-radius);
}

.dpt-case-intro h3 {
    max-width: 850px;
    margin: 0;
    color: var(--dpt-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 4.5vw, 4.1rem);
    line-height: 1.02;
}

.dpt-case-intro p:not(.dpt-kicker) {
    max-width: 780px;
    margin: 1rem 0;
    color: #525a6a;
}

.dpt-case-intro__theme {
    color: var(--dpt-red);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.dpt-case-intro__comparison {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 14px;
    align-items: center;
}

.dpt-case-intro__comparison img {
    width: 100%;
    max-height: 170px;
    object-fit: contain;
    padding: 18px;
    background: #fff;
    border: 1px solid var(--dpt-line);
    border-radius: var(--dpt-radius);
}

.dpt-case-intro__comparison span {
    color: var(--dpt-red);
    font-weight: 950;
}

.dpt-step-nav {
    display: grid;
    grid-template-columns: repeat(var(--dpt-step-count, 8), minmax(132px, 1fr));
    gap: 6px;
    margin-bottom: 14px;
    overflow-x: auto;
    scrollbar-width: thin;
}

.dpt-step-nav__button {
    min-width: 132px;
    min-height: 112px;
    display: grid;
    align-content: start;
    gap: 8px;
    padding: 12px;
    border: 1px solid var(--dpt-line);
    border-radius: var(--dpt-radius);
    background: #fff;
    color: var(--dpt-ink);
    text-align: left;
    cursor: pointer;
}

.dpt-step-nav__button span {
    display: grid;
    place-items: center;
    width: 30px;
    aspect-ratio: 1;
    border-radius: 50%;
    background: #e8e4dc;
    color: var(--dpt-navy);
    font-weight: 900;
}

.dpt-step-nav__button b {
    font-size: .78rem;
    line-height: 1.25;
}

.dpt-step-nav__button.is-active {
    background: var(--dpt-navy);
    color: #fff;
    border-color: var(--dpt-navy);
}

.dpt-step-nav__button.is-active span {
    background: var(--dpt-red);
    color: #fff;
}

.dpt-step-stage {
    min-height: 760px;
}

.dpt-step {
    scroll-margin-top: 105px;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--dpt-line);
    border-radius: var(--dpt-radius);
    box-shadow: var(--dpt-shadow);
}

.dpt-step__header {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 20px;
    align-items: center;
    padding: clamp(20px, 3vw, 34px);
    color: #fff;
    background: linear-gradient(115deg, var(--dpt-navy), #071126 62%, #260a0c);
}

.dpt-step__number {
    display: grid;
    gap: .1rem;
    min-width: 88px;
    padding: 13px 16px;
    background: var(--dpt-red);
    border-radius: var(--dpt-radius);
    text-align: center;
}

.dpt-step__number span {
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.dpt-step__number strong {
    color: #fff;
    font-size: 1.35rem;
}

.dpt-step__header h4 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.75rem, 4vw, 3.65rem);
    line-height: 1.05;
}

.dpt-step__header p {
    margin: .55rem 0 0;
    color: var(--dpt-gold-soft);
    font-weight: 700;
}

.dpt-step__content {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr);
    gap: 18px;
    padding: 18px;
    background: #ebe7df;
}

.dpt-step__copy {
    display: grid;
    gap: 14px;
    align-content: start;
}

.dpt-card {
    padding: clamp(18px, 2.5vw, 28px);
    background: #fff;
    border: 1px solid var(--dpt-line);
    border-radius: var(--dpt-radius);
}

.dpt-card__label {
    margin-bottom: .75rem;
    color: var(--dpt-navy);
    font-size: .75rem;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.dpt-card blockquote,
.dpt-card p {
    margin: 0;
}

.dpt-card blockquote {
    color: #222a3b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.02rem, 1.5vw, 1.2rem);
    line-height: 1.55;
}

.dpt-card__source {
    margin-top: 1rem !important;
    color: var(--dpt-muted);
    font-size: .78rem;
}

.dpt-double-reading {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.dpt-card--appearance {
    background: var(--dpt-blue-soft);
    border-color: rgba(0,25,68,.22);
}

.dpt-card--reality {
    background: var(--dpt-red-soft);
    border-color: rgba(197,31,36,.28);
}

.dpt-card--reality .dpt-card__label {
    color: var(--dpt-red-bright);
}

.dpt-card--effect {
    border-left: 5px solid var(--dpt-gold);
}

.dpt-step__conclusion {
    padding: 20px 24px;
    background: var(--dpt-navy);
    color: #fff;
    border-radius: var(--dpt-radius);
}

.dpt-step__conclusion span {
    color: var(--dpt-gold-soft);
    font-size: .75rem;
    font-weight: 950;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.dpt-step__conclusion p {
    margin: .6rem 0 0;
    font-weight: 750;
}

.dpt-step__visual {
    display: grid;
    grid-template-rows: 1fr auto;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    background: var(--dpt-navy-deep);
    border-radius: var(--dpt-radius);
}

.dpt-step__visual img {
    width: 100%;
    height: 100%;
    min-height: 540px;
    object-fit: contain;
}

.dpt-step__visual figcaption {
    padding: 16px 18px;
    color: rgba(255,255,255,.72);
    background: rgba(0,0,0,.28);
    border-top: 1px solid rgba(255,255,255,.12);
    font-size: .84rem;
}

.dpt-step__visual figcaption span {
    display: block;
    margin-bottom: .3rem;
    color: var(--dpt-gold-soft);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .09em;
}

.dpt-step__visual figcaption p {
    margin: 0;
}

.dpt-step__controls {
    display: grid;
    grid-template-columns: auto minmax(180px, 1fr) auto;
    align-items: center;
    gap: 16px;
    padding: 16px 18px;
    background: #fff;
    border-top: 1px solid var(--dpt-line);
}

.dpt-step-control {
    min-height: 44px;
    padding: .7rem 1rem;
    border: 1px solid var(--dpt-line);
    border-radius: var(--dpt-radius);
    background: #f2efe8;
    color: var(--dpt-navy);
    font-weight: 800;
    cursor: pointer;
}

.dpt-step-control:hover {
    background: #e6e1d6;
}

.dpt-step-progress {
    position: relative;
    display: grid;
    align-items: center;
    min-height: 36px;
    overflow: hidden;
    background: #e8e4dc;
    border-radius: var(--dpt-radius);
}

.dpt-step-progress span {
    position: absolute;
    inset: 0 auto 0 0;
    width: var(--dpt-progress);
    background: linear-gradient(90deg, var(--dpt-navy), var(--dpt-red));
}

.dpt-step-progress b {
    position: relative;
    z-index: 1;
    justify-self: center;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0,0,0,.5);
}



























.dpt-human {
    color: #fff;
    background:
        radial-gradient(circle at 15% 20%, rgba(202,167,91,.16), transparent 28%),
        linear-gradient(120deg, #16090b, #06142e);
}

.dpt-human__layout {
    display: grid;
    grid-template-columns: .78fr 1.22fr;
    gap: clamp(32px, 7vw, 90px);
    align-items: start;
}

.dpt-human .dpt-kicker {
    color: var(--dpt-gold-soft);
}

.dpt-human h2 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3rem, 7vw, 7rem);
    line-height: .95;
}

.dpt-human__copy {
    font-size: clamp(1.05rem, 1.7vw, 1.35rem);
}

.dpt-human__copy > p {
    margin: 0 0 1.4rem;
    color: rgba(255,255,255,.76);
}

.dpt-human__copy blockquote {
    margin: 2.5rem 0 0;
    padding: 28px;
    border-left: 5px solid var(--dpt-gold);
    background: rgba(255,255,255,.06);
    color: var(--dpt-gold-soft);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.6rem, 3vw, 2.65rem);
    line-height: 1.2;
}

.dpt-human__contrast {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: clamp(14px, 2.5vw, 26px);
    align-items: stretch;
    margin: clamp(28px, 4vw, 44px) 0;
}

.dpt-human__contrast article {
    min-width: 0;
    padding: clamp(20px, 3vw, 30px);
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--dpt-radius);
}

.dpt-human__contrast article:last-of-type {
    border-color: rgba(202,167,91,.42);
    background: rgba(202,167,91,.075);
}

.dpt-human__contrast span {
    display: block;
    margin-bottom: .55rem;
    color: var(--dpt-gold-soft);
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-human__contrast strong {
    display: block;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.25rem, 2.3vw, 2rem);
    line-height: 1.15;
}

.dpt-human__contrast p {
    margin: .85rem 0 0;
    color: rgba(255,255,255,.68);
    font-size: .92rem;
    line-height: 1.6;
}

.dpt-human__contrast > b {
    align-self: center;
    color: var(--dpt-gold-soft);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.6rem, 5vw, 5rem);
    line-height: 1;
}

.dpt-human__principle {
    padding: clamp(20px, 3vw, 28px);
    background: rgba(255,255,255,.045);
    border-left: 4px solid var(--dpt-red-bright);
}

.dpt-human__closing {
    margin-top: 1.5rem !important;
    color: rgba(255,255,255,.76) !important;
    font-weight: 700;
}

@media (max-width: 760px) {
    .dpt-human__contrast {
        grid-template-columns: 1fr;
    }

    .dpt-human__contrast > b {
        justify-self: center;
        transform: rotate(90deg);
        font-size: 3rem;
    }
}

.dpt-epilogue {
    min-height: 78vh;
    display: grid;
    align-items: center;
    color: #fff;
    background: #02050c;
    text-align: center;
}

.dpt-epilogue .dpt-kicker {
    color: var(--dpt-gold-soft);
}

.dpt-epilogue h2 {
    max-width: 1220px;
    margin-inline: auto;
    color: #fff;
    font-size: clamp(2.7rem, 6.5vw, 7.5rem);
}

.dpt-epilogue > .dpt-shell > p:not(.dpt-kicker):not(.dpt-epilogue__contact) {
    max-width: 760px;
    margin: 2rem auto 0;
    color: rgba(255,255,255,.68);
    font-size: 1.1rem;
}

.dpt-epilogue__final {
    display: grid;
    gap: .35rem;
    max-width: 980px;
    margin: clamp(3rem, 8vw, 7rem) auto 0;
    padding-top: 2rem;
    border-top: 1px solid rgba(255,255,255,.15);
    font-family: Georgia, "Times New Roman", serif;
}

.dpt-epilogue__final span {
    color: rgba(255,255,255,.74);
    font-size: clamp(1.35rem, 3vw, 2.7rem);
}

.dpt-epilogue__final strong {
    color: var(--dpt-gold-soft);
    font-size: clamp(1.75rem, 4vw, 4rem);
}

.dpt-epilogue__contact {
    margin-top: 3rem;
    color: rgba(255,255,255,.6);
    font-size: .9rem;
}

.dpt-epilogue__contact a {
    color: #fff;
    text-underline-offset: .25em;
}

.dpt-page button:focus-visible,
.dpt-page a:focus-visible {
    outline: 3px solid var(--dpt-gold);
    outline-offset: 3px;
}

[hidden] {
    display: none !important;
}

@media (max-width: 1120px) {
    .dpt-sign-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    

    

    .dpt-step__content {
        grid-template-columns: 1fr;
    }

    .dpt-step__visual img {
        min-height: auto;
        aspect-ratio: 16 / 9;
    }

    .dpt-human__layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 820px) {
    .dpt-section {
        padding: 70px 0;
    }

    .dpt-sign-grid{
        grid-template-columns: 1fr;
    }

    .dpt-case-tabs {
        grid-template-columns: 1fr;
        position: relative;
    }

    .dpt-case-intro {
        grid-template-columns: 1fr;
    }

    .dpt-step-nav {
        grid-template-columns: repeat(var(--dpt-step-count, 8), 142px);
    }

    .dpt-double-reading {
        grid-template-columns: 1fr;
    }

    

    

    .dpt-step__controls {
        grid-template-columns: 1fr 1fr;
    }

    .dpt-step-progress {
        grid-column: 1 / -1;
        grid-row: 1;
    }
}

@media (max-width: 600px) {
    .dpt-shell {
        width: min(calc(100% - 20px), var(--dpt-shell));
    }

    .dpt-hero {
        min-height: 92svh;
    }

    .dpt-hero__inner {
        padding-block: 86px 58px;
    }

    .dpt-hero__actions {
        display: grid;
    }

    

    

    

    .dpt-matrix {
        gap: 9px;
        padding: 14px;
    }

    .dpt-case-intro__comparison {
        grid-template-columns: 1fr;
    }

    .dpt-case-intro__comparison span {
        justify-self: center;
    }

    .dpt-step__header {
        grid-template-columns: 1fr;
    }

    .dpt-step__number {
        justify-self: start;
    }

    .dpt-step__content {
        padding: 10px;
    }

    .dpt-step__controls {
        gap: 8px;
        padding: 12px;
    }

    .dpt-step-control {
        padding-inline: .65rem;
        font-size: .83rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .001ms !important;
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* Question prÃ©alable â€” scÃ¨ne 00 */


















































/* AccordÃ©on du prologue */
.dpt-prologue-accordion {
    margin-top: clamp(24px, 4vw, 42px);
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--dpt-line);
    border-radius: var(--dpt-radius);
    box-shadow: 0 16px 40px rgba(0, 25, 68, .08);
}

.dpt-prologue-accordion__summary {
    position: relative;
    display: grid;
    gap: .45rem;
    padding: clamp(20px, 3vw, 30px) 72px clamp(20px, 3vw, 30px) clamp(20px, 3vw, 30px);
    color: #fff;
    background: linear-gradient(115deg, var(--dpt-navy), #071126 64%, #260a0c);
    cursor: pointer;
    list-style: none;
}

.dpt-prologue-accordion__summary::-webkit-details-marker {
    display: none;
}

.dpt-prologue-accordion__summary::marker {
    content: "";
}

.dpt-prologue-accordion__kicker {
    color: var(--dpt-gold-soft);
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-prologue-accordion__summary strong {
    max-width: 1000px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.2rem, 2.3vw, 2rem);
    line-height: 1.25;
}

.dpt-prologue-accordion__toggle {
    position: absolute;
    top: 50%;
    right: clamp(20px, 3vw, 30px);
    width: 28px;
    height: 28px;
    transform: translateY(-50%);
}

.dpt-prologue-accordion__toggle::before,
.dpt-prologue-accordion__toggle::after {
    content: "";
    position: absolute;
    top: 13px;
    left: 3px;
    width: 22px;
    height: 2px;
    background: var(--dpt-gold-soft);
    transition: transform .2s ease;
}

.dpt-prologue-accordion__toggle::after {
    transform: rotate(90deg);
}

.dpt-prologue-accordion[open] .dpt-prologue-accordion__toggle::after {
    transform: rotate(0);
}

.dpt-prologue-accordion__body {
    display: grid;
    grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr);
    gap: clamp(18px, 3vw, 32px);
    align-items: start;
    padding: clamp(18px, 3vw, 32px);
    background: linear-gradient(135deg, #fff, #f7f3e9);
}

.dpt-prologue-scene {
    width: min(100%, 520px);
    margin: 0 auto;
    overflow: hidden;
    background: var(--dpt-navy-deep);
    border-radius: var(--dpt-radius);
}

.dpt-prologue-scene img {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    aspect-ratio: auto;
    object-fit: contain;
    object-position: center;
    background: var(--dpt-navy-deep);
}

.dpt-prologue-scene figcaption {
    padding: 14px 16px;
    color: rgba(255, 255, 255, .78);
    background: rgba(0, 0, 0, .36);
    font-size: .88rem;
}

.dpt-prologue-story {
    display: grid;
    align-content: center;
    gap: 16px;
}

.dpt-prologue-story p {
    margin: 0;
    color: #51596a;
}

.dpt-prologue-question {
    padding: 20px 22px;
    color: var(--dpt-navy) !important;
    background: #fff;
    border-left: 5px solid var(--dpt-red);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.3rem, 2.2vw, 2rem);
    font-weight: 700;
    line-height: 1.25;
}

.dpt-prologue-route {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-top: 4px;
}

.dpt-prologue-route span {
    padding: 8px 10px;
    color: var(--dpt-navy);
    background: #fff;
    border: 1px solid var(--dpt-line);
    border-radius: var(--dpt-radius);
    font-size: .8rem;
    font-weight: 800;
}

.dpt-prologue-route b {
    color: var(--dpt-red);
}

@media (max-width: 820px) {
    .dpt-prologue-accordion__body {
        grid-template-columns: 1fr;
    }

    .dpt-prologue-scene {
        width: min(100%, 460px);
    }
}

@media (max-width: 600px) {
    .dpt-prologue-accordion__summary {
        padding-right: 58px;
    }

    .dpt-prologue-scene {
        width: 100%;
    }

    .dpt-prologue-route b {
        display: none;
    }

    .dpt-prologue-route span {
        width: 100%;
    }
}

/* Les quatre protagonistes â€” lecture neutre */





































































/* Anatomie de la dÃ©cision ADP */
.dpt-anatomy{color:#fff;background:radial-gradient(circle at 88% 7%,rgba(202,167,91,.15),transparent 27%),radial-gradient(circle at 10% 88%,rgba(102,25,25,.22),transparent 34%),linear-gradient(145deg,#020611,#071329 52%,#14090b)}
.dpt-anatomy .dpt-kicker{color:var(--dpt-gold-soft)}
.dpt-anatomy__header h2,.dpt-anatomy__header>p:last-child{color:#fff}
.dpt-anatomy__opening{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);gap:18px;margin-bottom:18px}
.dpt-anatomy__pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:14px;align-items:center;padding:clamp(16px,2.5vw,26px);background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.13);border-radius:var(--dpt-radius)}
.dpt-anatomy__pair figure{display:grid;place-items:center;aspect-ratio:1/1;min-width:0;margin:0;padding:clamp(12px,2vw,22px);background:#fff;border-radius:var(--dpt-radius)}
.dpt-anatomy__pair img{width:100%;height:100%;object-fit:contain}
.dpt-anatomy__pair>span{color:var(--dpt-gold-soft);font-weight:950}
.dpt-anatomy__first-question{display:grid;align-content:center;gap:12px;padding:clamp(22px,3.5vw,38px);background:rgba(102,25,25,.23);border:1px solid rgba(202,167,91,.33);border-left:5px solid var(--dpt-gold);border-radius:var(--dpt-radius)}
.dpt-anatomy__first-question span,.dpt-anatomy__result-label{color:var(--dpt-gold-soft);font-size:.74rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.dpt-anatomy__first-question strong{color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.4rem,2.5vw,2.5rem);line-height:1.12}
.dpt-anatomy__first-question p{margin:0;color:rgba(255,255,255,.72)}
.dpt-anatomy__method{display:grid;grid-template-columns:auto 1fr;gap:14px 20px;margin:0 0 28px;padding:18px 20px;color:rgba(255,255,255,.72);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.11);border-radius:var(--dpt-radius)}
.dpt-anatomy__method strong{color:var(--dpt-gold-soft)}.dpt-anatomy__method p{margin:0}
.dpt-anatomy__rail{display:grid;gap:clamp(18px,3vw,30px)}
.dpt-anatomy-box{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);min-width:0;overflow:hidden;background:#f0ece3;border:1px solid rgba(255,255,255,.14);border-radius:var(--dpt-radius);box-shadow:0 20px 54px rgba(0,0,0,.22)}
.dpt-anatomy-box--reverse{grid-template-columns:minmax(360px,.92fr) minmax(0,1.08fr)}
.dpt-anatomy-box--reverse .dpt-anatomy-box__copy{order:2}.dpt-anatomy-box--reverse .dpt-anatomy-box__visual{order:1}
.dpt-anatomy-box__copy{display:grid;gap:14px;align-content:start;padding:clamp(20px,3vw,34px);color:var(--dpt-ink);background:var(--dpt-paper)}
.dpt-anatomy-box__head{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;padding-bottom:16px;border-bottom:1px solid var(--dpt-line)}
.dpt-anatomy-box__number{display:grid;place-items:center;width:clamp(48px,5vw,66px);aspect-ratio:1;color:#fff;background:var(--dpt-red);border-radius:50%;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.4rem,2.5vw,2.2rem);font-weight:800}
.dpt-anatomy-box__head p{margin:0 0 .35rem;color:var(--dpt-red);font-size:.72rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.dpt-anatomy-box__head h3{margin:0;color:var(--dpt-navy);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.45rem,2.7vw,2.55rem);line-height:1.08}
.dpt-anatomy-box__quote{margin:0;padding:18px 20px;color:#272d3b;background:#fff6cf;border-left:5px solid var(--dpt-gold);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1rem,1.35vw,1.16rem);line-height:1.55;white-space:pre-line}
.dpt-anatomy-box__readings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dpt-anatomy-box__readings section{padding:16px 17px;border-radius:var(--dpt-radius)}
.dpt-anatomy-box__readings span{display:block;margin-bottom:.5rem;font-size:.71rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase}
.dpt-anatomy-box__readings p{margin:0;color:#4e5668;font-size:.92rem}
.dpt-anatomy-box__appearance{background:var(--dpt-blue-soft);border:1px solid rgba(0,25,68,.16)}.dpt-anatomy-box__appearance span{color:var(--dpt-navy)}
.dpt-anatomy-box__operation{background:var(--dpt-red-soft);border:1px solid rgba(197,31,36,.2)}.dpt-anatomy-box__operation span{color:var(--dpt-red-bright)}
.dpt-anatomy-box__status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;overflow:hidden;background:var(--dpt-line);border:1px solid var(--dpt-line);border-radius:var(--dpt-radius)}
.dpt-anatomy-box__status>div{padding:14px 16px;background:#fff}.dpt-anatomy-box__status dt{color:var(--dpt-red);font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.dpt-anatomy-box__status dd{margin:.35rem 0 0;color:#4d5567;font-size:.88rem;line-height:1.48}
.dpt-anatomy-box__visual{display:grid;grid-template-rows:1fr auto;min-width:0;margin:0;overflow:hidden;background:var(--dpt-navy-deep)}
.dpt-anatomy-box__visual img{display:block;width:100%;height:100%;min-height:480px;object-fit:contain}
.dpt-anatomy-box__visual figcaption{padding:15px 17px;color:rgba(255,255,255,.68);background:rgba(0,0,0,.32);border-top:1px solid rgba(255,255,255,.1);font-size:.82rem}
.dpt-anatomy-box__visual figcaption span{display:block;margin-bottom:.3rem;color:var(--dpt-gold-soft);font-weight:900;letter-spacing:.08em;text-transform:uppercase}.dpt-anatomy-box__visual figcaption p{margin:0}
.dpt-anatomy__result{margin-top:clamp(28px,5vw,56px);padding:clamp(26px,4.5vw,48px);background:radial-gradient(circle at 88% 12%,rgba(202,167,91,.14),transparent 30%),rgba(102,25,25,.22);border:1px solid rgba(202,167,91,.35);border-left:6px solid var(--dpt-gold);border-radius:var(--dpt-radius)}
.dpt-anatomy__result h3{max-width:1000px;margin:.7rem 0 0;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.8rem,4vw,4rem);line-height:1.05}
.dpt-anatomy__chain{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:24px}
.dpt-anatomy__chain span,.dpt-anatomy__chain strong{padding:9px 12px;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:var(--dpt-radius);font-size:.82rem}
.dpt-anatomy__chain strong{color:var(--dpt-gold-soft);background:rgba(102,25,25,.38)}.dpt-anatomy__chain b{color:var(--dpt-gold-soft)}
.dpt-anatomy__result-image{display:grid;grid-template-columns:minmax(0,.78fr) minmax(280px,1fr);max-width:980px;margin:clamp(24px,4vw,40px) 0 0;overflow:hidden;background:var(--dpt-navy-deep);border:1px solid rgba(202,167,91,.52);border-radius:var(--dpt-radius)}
.dpt-anatomy__result-image img{display:block;width:100%;height:auto;object-fit:contain}
.dpt-anatomy__result-image figcaption{display:grid;align-content:center;gap:12px;padding:clamp(20px,3vw,34px);color:rgba(255,255,255,.72);background:rgba(102,25,25,.22)}
.dpt-anatomy__result-image figcaption span{color:var(--dpt-gold-soft);font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.dpt-anatomy__result-image figcaption strong{color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.25rem,2.4vw,2rem);line-height:1.12}
.dpt-anatomy__result-image figcaption p{margin:0}
.dpt-anatomy__guide-reference{display:grid;grid-template-columns:minmax(360px,.92fr) minmax(0,1.08fr);max-width:1180px;margin:clamp(24px,4vw,42px) 0 0;overflow:hidden;background:var(--dpt-navy-deep);border:1px solid rgba(202,167,91,.42);border-radius:var(--dpt-radius)}
.dpt-anatomy__guide-reference>a{display:block;min-width:0;background:#fff}
.dpt-anatomy__guide-reference img{display:block;width:100%;height:auto;max-height:820px;object-fit:contain}
.dpt-anatomy__guide-reference figcaption{display:grid;align-content:center;gap:12px;padding:clamp(20px,3vw,34px);color:rgba(255,255,255,.72)}
.dpt-anatomy__guide-reference figcaption>span{color:var(--dpt-gold-soft);font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.dpt-anatomy__guide-reference figcaption>strong{color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.25rem,2.35vw,1.95rem);line-height:1.12}
.dpt-anatomy__guide-reference figcaption p{margin:0}
.dpt-anatomy__guide-reference figcaption>div{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.dpt-anatomy__guide-reference figcaption a{padding:9px 12px;color:#fff;background:rgba(102,25,25,.34);border:1px solid rgba(202,167,91,.36);border-radius:var(--dpt-radius);font-size:.78rem;font-weight:850;text-decoration:none}
.dpt-anatomy__result>p:last-child{max-width:920px;margin:22px 0 0;color:rgba(255,255,255,.74)}
@media(max-width:980px){.dpt-anatomy__opening,.dpt-anatomy-box,.dpt-anatomy-box--reverse{grid-template-columns:1fr}.dpt-anatomy-box--reverse .dpt-anatomy-box__copy,.dpt-anatomy-box--reverse .dpt-anatomy-box__visual{order:initial}.dpt-anatomy-box__visual img{min-height:auto;aspect-ratio:16/9}}
@media(max-width:650px){.dpt-anatomy__method,.dpt-anatomy-box__readings,.dpt-anatomy-box__status{grid-template-columns:1fr}.dpt-anatomy__pair{grid-template-columns:1fr}.dpt-anatomy__pair>span{justify-self:center}.dpt-anatomy-box__visual img{aspect-ratio:4/3}.dpt-anatomy-box__visual--scene img{height:auto;aspect-ratio:auto}.dpt-anatomy__chain b{display:none}.dpt-anatomy__chain span,.dpt-anatomy__chain strong{width:100%;text-align:center}.dpt-anatomy__result-image,.dpt-anatomy__guide-reference{grid-template-columns:1fr}.dpt-anatomy__result-image figcaption,.dpt-anatomy__guide-reference figcaption{padding:20px}.dpt-anatomy__guide-reference img{height:auto}}

/* V23 â€” mÃ©dias ADP plein cadre sur mobile, textes toujours protÃ©gÃ©s par leurs paddings */
@media(max-width:650px){
    .dpt-anatomy__rail,
    .dpt-anatomy__result{
        margin-inline:-10px;
    }
    .dpt-anatomy-box,
    .dpt-anatomy__result{
        border-radius:0;
    }
    .dpt-anatomy__result-image,
    .dpt-anatomy__before-after,
    .dpt-anatomy__guide-reference{
        width:auto;
        max-width:none;
        margin-left:calc(-1 * (clamp(26px,4.5vw,48px) + 5px));
        margin-right:calc(-1 * (clamp(26px,4.5vw,48px) + 1px));
        border-radius:0;
    }
    .dpt-anatomy__result-image,
    .dpt-anatomy__guide-reference{
        margin-top:clamp(24px,4vw,40px);
    }
    .dpt-anatomy__before-after{
        margin-top:26px;
    }
}

/* Radiographie cumulative â€” dÃ©cision ADP */
.dpt-anatomy__thesis{max-width:1120px;margin:0 0 clamp(28px,4vw,46px);padding:20px 24px;color:rgba(255,255,255,.78);background:rgba(255,255,255,.055);border-left:5px solid var(--dpt-gold);border-radius:var(--dpt-radius);font-size:clamp(1rem,1.55vw,1.22rem)}
.dpt-anatomy__thesis strong{color:#fff}
.dpt-anatomy__legend{display:flex;flex-wrap:wrap;gap:8px;margin:-10px 0 24px}
.dpt-anatomy__legend span{position:relative;padding:7px 10px 7px 26px;color:rgba(255,255,255,.82);background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);border-radius:var(--dpt-radius);font-size:.74rem;font-weight:800}
.dpt-anatomy__legend span::before{content:"";position:absolute;left:10px;top:50%;width:8px;height:8px;transform:translateY(-50%);border-radius:50%;background:#fff}
.dpt-anatomy__legend .is-isolated::before{background:#d7b66a}
.dpt-anatomy__legend .is-weakened::before{background:#df7e45}
.dpt-anatomy__legend .is-neutralized::before{background:#b72b32}
.dpt-anatomy__legend .is-dominant::before{background:#68a3ff;box-shadow:0 0 0 4px rgba(104,163,255,.14)}
.dpt-anatomy-box__cumulative{padding:16px 17px;background:#071126;border:1px solid rgba(0,25,68,.22);border-radius:var(--dpt-radius)}
.dpt-anatomy-box__cumulative header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;align-items:baseline;margin-bottom:12px}
.dpt-anatomy-box__cumulative header span{color:var(--dpt-gold-soft);font-size:.69rem;font-weight:950;letter-spacing:.11em;text-transform:uppercase}
.dpt-anatomy-box__cumulative header strong{color:#fff;font-size:.84rem}
.dpt-anatomy-box__cumulative ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none}
.dpt-anatomy-box__cumulative li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;min-width:0;padding:8px 9px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);border-radius:var(--dpt-radius)}
.dpt-anatomy-box__cumulative li i{width:9px;height:9px;border-radius:50%;background:#f5f7fb;box-shadow:0 0 0 3px rgba(255,255,255,.08)}
.dpt-anatomy-box__cumulative li b{min-width:0;color:#fff;font-size:.73rem;line-height:1.25}
.dpt-anatomy-box__cumulative li em{color:rgba(255,255,255,.6);font-size:.65rem;font-style:normal;text-align:right;line-height:1.2}
.dpt-anatomy-box__cumulative li.is-recognized i{background:#b7d7ff}
.dpt-anatomy-box__cumulative li.is-isolated i{background:#d7b66a}
.dpt-anatomy-box__cumulative li.is-weakened i{background:#df7e45}
.dpt-anatomy-box__cumulative li.is-neutralized{opacity:.66;background:rgba(102,25,25,.22)}
.dpt-anatomy-box__cumulative li.is-neutralized i{background:#b72b32}
.dpt-anatomy-box__cumulative li.is-not-built{opacity:.48}
.dpt-anatomy-box__cumulative li.is-not-built i{background:#697184}
.dpt-anatomy-box__cumulative li.is-emerging,.dpt-anatomy-box__cumulative li.is-reinforced,.dpt-anatomy-box__cumulative li.is-dominant{background:rgba(0,65,145,.23);border-color:rgba(104,163,255,.28)}
.dpt-anatomy-box__cumulative li.is-emerging i{background:#8bb8ff}
.dpt-anatomy-box__cumulative li.is-reinforced i{background:#68a3ff;box-shadow:0 0 0 4px rgba(104,163,255,.13)}
.dpt-anatomy-box__cumulative li.is-dominant{opacity:1;background:rgba(0,71,162,.38);border-color:rgba(139,184,255,.5)}
.dpt-anatomy-box__cumulative li.is-dominant i{background:#fff;box-shadow:0 0 0 4px rgba(104,163,255,.3),0 0 16px rgba(104,163,255,.7)}
.dpt-anatomy-box__cumulative li.is-dominant b,.dpt-anatomy-box__cumulative li.is-dominant em{color:#fff}
.dpt-anatomy-box__visual{grid-template-rows:1fr auto auto}
.dpt-anatomy-box__visual-reading{padding:17px 18px;color:#fff;background:linear-gradient(110deg,rgba(102,25,25,.88),rgba(23,7,10,.95));border-top:1px solid rgba(255,255,255,.12)}
.dpt-anatomy-box__visual-reading span{display:block;margin-bottom:.35rem;color:var(--dpt-gold-soft);font-size:.69rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase}
.dpt-anatomy-box__visual-reading strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.05rem,1.7vw,1.45rem);line-height:1.25}
.dpt-anatomy__before-after{display:grid;grid-template-columns:minmax(0,1.25fr) auto minmax(260px,.75fr);gap:16px;align-items:stretch;margin-top:26px}
.dpt-anatomy__before,.dpt-anatomy__after{padding:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);border-radius:var(--dpt-radius)}
.dpt-anatomy__before>span,.dpt-anatomy__after>span{display:block;margin-bottom:12px;color:var(--dpt-gold-soft);font-size:.71rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.dpt-anatomy__before>div{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center}
.dpt-anatomy__before figure{display:grid;place-items:center;min-width:0;aspect-ratio:1/1;margin:0;padding:12px;background:#fff;border-radius:var(--dpt-radius)}
.dpt-anatomy__before img{width:100%;height:100%;object-fit:contain}
.dpt-anatomy__before b,.dpt-anatomy__transformation{color:var(--dpt-gold-soft);font-weight:950}
.dpt-anatomy__transformation{display:grid;place-items:center;font-size:2rem}
.dpt-anatomy__after{display:grid;align-content:center;text-align:center;background:rgba(0,54,124,.24);border-color:rgba(104,163,255,.36)}
.dpt-anatomy__after strong{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dpt-anatomy__after strong i{padding:13px 10px;color:var(--dpt-navy);background:#fff;border-radius:var(--dpt-radius);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.5rem,3vw,2.8rem);font-style:normal}
.dpt-anatomy__after small{display:block;margin-top:10px;color:rgba(255,255,255,.66);font-size:.72rem}
@media(max-width:980px){.dpt-anatomy__before-after{grid-template-columns:1fr}.dpt-anatomy__transformation{transform:rotate(90deg)}}
@media(max-width:650px){.dpt-anatomy-box__cumulative ul{grid-template-columns:1fr}.dpt-anatomy-box__cumulative li{grid-template-columns:auto 1fr}.dpt-anatomy-box__cumulative li em{grid-column:2;text-align:left}.dpt-anatomy__legend span{width:100%}.dpt-anatomy__before>div{grid-template-columns:1fr}.dpt-anatomy__before b{justify-self:center}}

/* Corpus ADP â€” cadre non numÃ©rotÃ© + 7 passages numÃ©rotÃ©s */
.dpt-anatomy__corpus {
    margin: 0 0 30px;
    overflow: hidden;
    color: var(--dpt-ink);
    background: #f4efe4;
    border: 1px solid rgba(202, 167, 91, .42);
    border-radius: var(--dpt-radius);
    box-shadow: 0 20px 54px rgba(0, 0, 0, .2);
}

.dpt-anatomy__corpus-head {
    padding: clamp(22px, 3.5vw, 38px);
    color: #fff;
    background: linear-gradient(115deg, var(--dpt-navy), #071126 64%, #260a0c);
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.dpt-anatomy__corpus-head > span {
    display: block;
    margin-bottom: .55rem;
    color: var(--dpt-gold-soft);
    font-size: .73rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-anatomy__corpus-head h3 {
    max-width: 1050px;
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.75rem, 4vw, 3.8rem);
    line-height: 1.05;
}

.dpt-anatomy__corpus-head p {
    max-width: 860px;
    margin: 1rem 0 0;
    color: rgba(255, 255, 255, .72);
}

.dpt-anatomy__corpus-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin: 0;
    padding: 1px;
    background: rgba(0, 25, 68, .13);
    list-style: none;
    counter-reset: none;
}

.dpt-anatomy__corpus-list li {
    min-width: 0;
    background: var(--dpt-paper);
}

.dpt-anatomy__corpus-list a {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    height: 100%;
    padding: clamp(16px, 2.2vw, 24px);
    color: inherit;
    text-decoration: none;
    transition: background-color .2s ease, transform .2s ease;
}

.dpt-anatomy__corpus-list a:hover {
    background: #fff8df;
}

.dpt-anatomy__corpus-list a > span {
    display: grid;
    place-items: center;
    width: 46px;
    aspect-ratio: 1;
    flex: 0 0 auto;
    color: #fff;
    background: var(--dpt-red);
    border-radius: 50%;
    font-weight: 950;
    line-height: 1;
}

.dpt-anatomy__corpus-list blockquote {
    margin: 0;
    color: #273044;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(.96rem, 1.25vw, 1.08rem);
    line-height: 1.55;
    white-space: pre-line;
}

.dpt-anatomy-box {
    scroll-margin-top: 24px;
}

.dpt-anatomy-box__number {
    font-size: clamp(1.05rem, 1.8vw, 1.45rem);
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    letter-spacing: -.03em;
}

@media (max-width: 850px) {
    .dpt-anatomy__corpus-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .dpt-anatomy__corpus-list a {
        grid-template-columns: 1fr;
    }

    .dpt-anatomy__corpus-list a > span {
        width: 42px;
    }
}


/* Cadre mÃ©thodologique non numÃ©rotÃ© â€” dÃ©cision ADP */
.dpt-anatomy__context {
    margin: 0 0 22px;
    overflow: hidden;
    color: var(--dpt-ink);
    background: #ece7dc;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: var(--dpt-radius);
    box-shadow: 0 20px 54px rgba(0, 0, 0, .18);
}

.dpt-anatomy__context-head {
    padding: clamp(22px, 3.5vw, 38px);
    color: #fff;
    background: linear-gradient(115deg, #172034, #0a1325 68%, #1f1112);
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.dpt-anatomy__context-head > span {
    display: block;
    margin-bottom: .55rem;
    color: var(--dpt-gold-soft);
    font-size: .73rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-anatomy__context-head h3 {
    max-width: 1040px;
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.75rem, 4vw, 3.8rem);
    line-height: 1.05;
}

.dpt-anatomy__context-head p {
    max-width: 880px;
    margin: 1rem 0 0;
    color: rgba(255, 255, 255, .72);
}

.dpt-anatomy__context-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    padding: 1px;
    background: rgba(0, 25, 68, .13);
}

.dpt-anatomy-context-card {
    min-width: 0;
    padding: clamp(18px, 2.5vw, 28px);
    background: var(--dpt-paper);
}

.dpt-anatomy-context-card header {
    padding-bottom: 13px;
    border-bottom: 1px solid var(--dpt-line);
}

.dpt-anatomy-context-card header span {
    display: block;
    margin-bottom: .35rem;
    color: var(--dpt-red);
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.dpt-anatomy-context-card h4 {
    margin: 0;
    color: var(--dpt-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.15rem, 2vw, 1.7rem);
    line-height: 1.15;
}

.dpt-anatomy-context-card blockquote {
    margin: 16px 0 0;
    padding: 16px 17px;
    color: #273044;
    background: #f8f4e9;
    border-left: 4px solid var(--dpt-gold);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(.96rem, 1.25vw, 1.08rem);
    line-height: 1.55;
}

.dpt-anatomy-context-card > p {
    margin: 15px 0 0;
    color: #525b6d;
    font-size: .9rem;
}

.dpt-anatomy-context-card > p strong {
    display: block;
    margin-bottom: .35rem;
    color: var(--dpt-navy);
    font-size: .69rem;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.dpt-anatomy-context-card.is-pivot {
    grid-column: 1 / -1;
    background: #fff7d8;
    border-left: 6px solid var(--dpt-red);
}

.dpt-anatomy-context-card.is-pivot header span {
    color: var(--dpt-red-bright);
}

.dpt-anatomy-context-card.is-pivot blockquote {
    color: var(--dpt-navy);
    background: #fffdf3;
    border-left-color: var(--dpt-red);
    font-size: clamp(1.08rem, 1.7vw, 1.4rem);
    font-weight: 700;
}

/* Sous-analyse proposition par proposition */
.dpt-anatomy-box__quote {
    white-space: pre-line;
}

.dpt-anatomy-box__subanalysis {
    overflow: hidden;
    background: #f7f3ea;
    border: 1px solid rgba(0, 25, 68, .14);
    border-radius: var(--dpt-radius);
}

.dpt-anatomy-box__subanalysis > header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 6px 16px;
    align-items: baseline;
    padding: 13px 15px;
    color: #fff;
    background: var(--dpt-navy);
}

.dpt-anatomy-box__subanalysis > header span {
    color: var(--dpt-gold-soft);
    font-size: .69rem;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.dpt-anatomy-box__subanalysis > header strong {
    font-size: .84rem;
}

.dpt-anatomy-box__subanalysis ul {
    display: grid;
    gap: 1px;
    margin: 0;
    padding: 1px;
    background: rgba(0, 25, 68, .12);
    list-style: none;
}

.dpt-anatomy-box__subanalysis li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 13px;
    align-items: start;
    padding: 14px 15px;
    background: #fff;
}

.dpt-anatomy-box__detail-marker {
    display: grid;
    place-items: center;
    width: 11px;
    height: 11px;
    margin-top: .42rem;
    background: var(--dpt-red);
    border: 3px solid #f4d8d8;
    border-radius: 50%;
}

.dpt-anatomy-box__subanalysis blockquote {
    margin: 0;
    color: #273044;
    font-family: Georgia, "Times New Roman", serif;
    font-size: .96rem;
    line-height: 1.48;
}

.dpt-anatomy-box__subanalysis p {
    margin: .65rem 0 0;
    color: #555e70;
    font-size: .86rem;
    line-height: 1.5;
}

.dpt-anatomy-box__subanalysis p b {
    display: inline-block;
    margin-right: .5rem;
    color: var(--dpt-red);
    font-size: .68rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

@media (max-width: 850px) {
    .dpt-anatomy__context-grid {
        grid-template-columns: 1fr;
    }

    .dpt-anatomy-context-card.is-pivot {
        grid-column: auto;
    }
}

@media (max-width: 520px) {
    .dpt-anatomy-box__subanalysis li {
        grid-template-columns: 1fr;
    }

    .dpt-anatomy-box__detail-marker {
        justify-self: start;
    }
}


/* DPT ADP â€” version 7 passages, surcharge finale */
.dpt-anatomy-box__number {
    display: grid;
    place-items: center;
    width: clamp(48px, 5vw, 66px);
    aspect-ratio: 1;
    color: #fff;
    background: var(--dpt-red);
    border-radius: 50%;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-size: clamp(1.05rem, 1.8vw, 1.45rem);
    font-weight: 900;
    line-height: 1;
    letter-spacing: -.03em;
}


/* DPT ADP â€” garantie visuelle : exactement 7 opÃ©rations principales */
.dpt-anatomy-box__head > .dpt-anatomy-box__number {
    font-variant-numeric: tabular-nums;
}
.dpt-anatomy-box__subanalysis > header strong::after {
    content: " Â· aucune opÃ©ration supplÃ©mentaire";
    color: rgba(255,255,255,.62);
    font-weight: 600;
}


/* Dossier VOUS / Tâ€™ â€” synthÃ¨se critique aprÃ¨s les 8 opÃ©rations exactes */
.dpt-case-after {
    margin-top: 22px;
    overflow: hidden;
    border: 1px solid rgba(202, 167, 91, .42);
    border-radius: var(--dpt-radius);
    background: #f4efe4;
    box-shadow: 0 18px 46px rgba(2, 9, 24, .12);
}

.dpt-case-after__header {
    padding: clamp(22px, 3.5vw, 38px);
    color: #fff;
    background: linear-gradient(115deg, var(--dpt-navy), #071126 64%, #260a0c);
}

.dpt-case-after__header > span {
    display: block;
    margin-bottom: .55rem;
    color: var(--dpt-gold-soft);
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-case-after__header h4 {
    max-width: 1080px;
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.75rem, 3.8vw, 3.55rem);
    line-height: 1.06;
}

.dpt-case-after__header p {
    max-width: 900px;
    margin: 1rem 0 0;
    color: rgba(255, 255, 255, .72);
}

.dpt-case-after__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    padding: 1px;
    background: rgba(0, 25, 68, .13);
}

.dpt-case-after__grid article {
    padding: clamp(20px, 3vw, 32px);
    background: var(--dpt-paper);
}

.dpt-case-after__grid article > span {
    color: var(--dpt-red);
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.dpt-case-after__grid h5 {
    margin: .6rem 0 .75rem;
    color: var(--dpt-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.25rem, 2.2vw, 2rem);
    line-height: 1.15;
}

.dpt-case-after__grid p {
    margin: 0;
    color: #525b6d;
}

@media (max-width: 760px) {
    .dpt-case-after__grid {
        grid-template-columns: 1fr;
    }
}


/* Dossier VOUS / Tâ€™ â€” deux planches exactes visibles avant les 8 opÃ©rations */
.dpt-decision-plates {
    margin: 0 0 28px;
    overflow: hidden;
    background: #ece7dc;
    border: 1px solid var(--dpt-line);
    border-radius: var(--dpt-radius);
    box-shadow: 0 18px 46px rgba(0, 25, 68, .1);
}
.dpt-decision-plates__header {
    padding: clamp(20px, 3vw, 32px);
    color: #fff;
    background: linear-gradient(115deg, var(--dpt-navy), #071126 66%, #260a0c);
}
.dpt-decision-plates__header > span {
    display: block;
    margin-bottom: .45rem;
    color: var(--dpt-gold-soft);
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .11em;
    text-transform: uppercase;
}
.dpt-decision-plates__header h4 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.6rem, 3.2vw, 3rem);
    line-height: 1.08;
}
.dpt-decision-plates__header p {
    max-width: 900px;
    margin: .85rem 0 0;
    color: rgba(255,255,255,.72);
}
.dpt-decision-plates__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    padding: 1px;
    background: var(--dpt-line);
}
.dpt-decision-plate {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    min-width: 0;
    margin: 0;
    background: #fff;
}
.dpt-decision-plate__image {
    display: grid;
    place-items: center;
    min-height: 480px;
    padding: 10px;
    overflow: hidden;
    background: #f7f7f5;
}
.dpt-decision-plate__image img {
    width: 100%;
    height: 100%;
    max-height: 760px;
    object-fit: contain;
    object-position: center top;
}
.dpt-decision-plate figcaption {
    display: grid;
    gap: .25rem;
    min-height: 92px;
    padding: 16px 18px;
    color: #fff;
    background: var(--dpt-navy);
}
.dpt-decision-plate figcaption span {
    color: var(--dpt-gold-soft);
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.dpt-decision-plate figcaption strong {
    font-size: .95rem;
    line-height: 1.35;
}


@media (max-width: 900px) {
    .dpt-decision-plates__grid { grid-template-columns: 1fr; }
    .dpt-decision-plate__image { min-height: 0; }
    .dpt-decision-plate__image img { height: auto; max-height: none; }
}

/* V6 â€” planches VOUS / Tâ€™ visibles hors de lâ€™onglet masquÃ© */
.dpt-decision-plates--featured {
    scroll-margin-top: 24px;
    margin: 0 0 clamp(30px, 5vw, 56px);
    border: 2px solid rgba(202, 167, 91, .58);
    box-shadow: 0 28px 80px rgba(2, 9, 24, .18);
}

.dpt-decision-plates--featured .dpt-decision-plates__header {
    background:
        radial-gradient(circle at 88% 10%, rgba(202, 167, 91, .16), transparent 30%),
        linear-gradient(115deg, var(--dpt-navy), #071126 64%, #260a0c);
}

.dpt-decision-plates__cta {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 54px;
    padding: 14px 20px;
    color: #fff;
    background: var(--dpt-red);
    font-weight: 900;
    text-decoration: none;
    text-align: center;
}

.dpt-decision-plates__cta:hover {
    background: #7a2020;
}


/* PiÃ¨ces-source OTCP â€” 10 opÃ©rations */
.dpt-decision-plates--otcp {
    margin-top: clamp(24px, 4vw, 44px);
    background:
        radial-gradient(circle at 88% 10%, rgba(63, 133, 57, .15), transparent 30%),
        linear-gradient(135deg, #071329, #061a13 62%, #17100a);
}

.dpt-decision-plates--otcp .dpt-decision-plate figcaption span {
    color: #cbe7bf;
}


/* =========================================================
   OpÃ©rations nommÃ©es comme des scÃ¨nes de cinÃ©ma
   Une scÃ¨ne sensible + un nom technique prÃ©cis.
   ========================================================= */
.dpt-operation-technique {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 10px;
    align-items: center;
    margin-top: 10px;
}

.dpt-operation-technique span {
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 4px 8px;
    color: var(--dpt-gold-soft);
    background: rgba(202, 167, 91, .12);
    border: 1px solid rgba(202, 167, 91, .28);
    border-radius: var(--dpt-radius);
    font-size: .64rem;
    font-weight: 950;
    letter-spacing: .11em;
    line-height: 1;
    text-transform: uppercase;
}

.dpt-operation-technique strong {
    color: #fff;
    font-size: .82rem;
    line-height: 1.3;
}

.dpt-operation-technique--light span {
    color: #fff3c8;
    background: rgba(202, 167, 91, .15);
    border-color: rgba(234, 213, 159, .34);
}

.dpt-operation-technique--light strong {
    color: #fff;
}

.dpt-step__analytic-title,
.dpt-anatomy-box__analytic-title {
    margin: 10px 0 0 !important;
    color: rgba(255, 255, 255, .72) !important;
    font-size: .78rem !important;
    font-weight: 750;
    letter-spacing: .045em;
    line-height: 1.4 !important;
    text-transform: uppercase;
}

.dpt-anatomy-box__analytic-title {
    color: #5b6374 !important;
}

.dpt-anatomy-box__head .dpt-operation-technique strong {
    color: var(--dpt-navy);
}

.dpt-anatomy-box__head .dpt-operation-technique span {
    color: var(--dpt-red);
    background: var(--dpt-red-soft);
    border-color: rgba(197, 31, 36, .2);
}

.dpt-step-nav__button {
    grid-template-columns: auto 1fr;
    grid-template-areas:
        "number scene"
        "title title"
        "technique technique";
    align-content: start;
}

.dpt-step-nav__button > span {
    grid-area: number;
}

.dpt-step-nav__button > small {
    grid-area: scene;
    align-self: center;
    color: var(--dpt-red);
    font-size: .63rem;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.dpt-step-nav__button > b {
    grid-area: title;
    color: inherit;
    font-family: Georgia, "Times New Roman", serif;
    font-size: .9rem;
    line-height: 1.18;
}

.dpt-step-nav__button > em {
    grid-area: technique;
    color: var(--dpt-muted);
    font-size: .65rem;
    font-style: normal;
    font-weight: 780;
    line-height: 1.25;
}

.dpt-step-nav__button.is-active > small,
.dpt-step-nav__button.is-active > em {
    color: var(--dpt-gold-soft);
}

.dpt-anatomy__corpus-copy {
    min-width: 0;
}

.dpt-anatomy__corpus-copy > strong {
    display: block;
    color: var(--dpt-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.08rem, 1.7vw, 1.45rem);
    line-height: 1.18;
}

.dpt-anatomy__corpus-copy > em {
    display: inline-flex;
    margin: 6px 0 12px;
    padding: 4px 8px;
    color: var(--dpt-red);
    background: var(--dpt-red-soft);
    border: 1px solid rgba(197, 31, 36, .18);
    border-radius: var(--dpt-radius);
    font-size: .66rem;
    font-style: normal;
    font-weight: 900;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.dpt-anatomy__corpus-copy blockquote {
    margin: 0;
}

@media (max-width: 600px) {
    .dpt-operation-technique {
        display: grid;
        justify-items: start;
    }

    .dpt-step-nav__button {
        min-width: 164px;
    }
}


/* =========================================================
   V11 â€” MÃ©canique commune + inventaire des diffÃ©rences neutralisÃ©es
   ========================================================= */
.dpt-mechanics {
    margin: 0 0 clamp(34px, 5vw, 64px);
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(202,167,91,.18), transparent 28%),
        linear-gradient(125deg, #020611, #071329 58%, #1a090b);
    border: 1px solid rgba(202,167,91,.36);
    border-radius: var(--dpt-radius);
    box-shadow: var(--dpt-shadow);
}

.dpt-mechanics__header {
    padding: clamp(24px, 4vw, 44px);
    border-bottom: 1px solid rgba(255,255,255,.12);
}

.dpt-mechanics__header > span {
    display: block;
    margin-bottom: .65rem;
    color: var(--dpt-gold-soft);
    font-size: .73rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.dpt-mechanics__header h3 {
    max-width: 980px;
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 4.5vw, 4.5rem);
    line-height: 1.02;
}

.dpt-mechanics__header p {
    max-width: 920px;
    margin: 1.1rem 0 0;
    color: rgba(255,255,255,.72);
}

.dpt-mechanics__chain {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 1px;
    margin: 0;
    padding: 1px;
    background: rgba(255,255,255,.13);
    list-style: none;
}

.dpt-mechanics__chain li {
    position: relative;
    min-width: 0;
    padding: 20px 17px 24px;
    background: rgba(3,10,24,.95);
}

.dpt-mechanics__chain li:not(:last-child)::after {
    content: "â†’";
    position: absolute;
    z-index: 2;
    top: 50%;
    right: -11px;
    display: grid;
    place-items: center;
    width: 22px;
    height: 22px;
    transform: translateY(-50%);
    color: var(--dpt-gold-soft);
    background: var(--dpt-red);
    border-radius: 50%;
    font-size: .72rem;
    font-weight: 950;
}

.dpt-mechanics__chain li > span {
    display: grid;
    place-items: center;
    width: 34px;
    aspect-ratio: 1;
    margin-bottom: 14px;
    color: #fff;
    background: var(--dpt-red);
    border-radius: 50%;
    font-weight: 950;
}

.dpt-mechanics__chain small {
    display: block;
    min-height: 2.6em;
    color: rgba(255,255,255,.54);
    font-size: .67rem;
    font-weight: 780;
    line-height: 1.3;
    text-transform: uppercase;
}

.dpt-mechanics__chain strong {
    display: inline-block;
    margin-top: .6rem;
    padding-bottom: .35rem;
    color: #fff;
    border-bottom: 3px solid var(--dpt-gold);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1rem, 1.6vw, 1.38rem);
    line-height: 1.1;
}

.dpt-mechanics__chain p {
    margin: .8rem 0 0;
    color: rgba(255,255,255,.66);
    font-size: .78rem;
    line-height: 1.5;
}

.dpt-mechanics__statement {
    margin: 0;
    padding: 22px clamp(24px, 4vw, 44px);
    color: rgba(255,255,255,.78);
    background: rgba(102,25,25,.27);
    border-top: 1px solid rgba(202,167,91,.28);
}

.dpt-mechanics__statement strong {
    color: #fff;
}

.dpt-neutralized {
    color: #fff;
    background:
        radial-gradient(circle at 14% 18%, rgba(202,167,91,.16), transparent 29%),
        radial-gradient(circle at 88% 82%, rgba(102,25,25,.27), transparent 34%),
        linear-gradient(145deg, #02050c, #071329 52%, #16090b);
}

.dpt-neutralized__header h2,
.dpt-neutralized__header > p:last-child {
    color: #fff;
}

.dpt-neutralized__header .dpt-kicker {
    color: var(--dpt-gold-soft);
}





































.dpt-neutralized__montage {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) auto minmax(300px, .82fr);
    gap: 16px;
    align-items: stretch;
    margin-top: clamp(26px, 4vw, 44px);
    opacity: .35;
    transform: translateY(26px);
    transition: opacity .8s ease, transform .8s ease;
}

.dpt-neutralized__montage.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.dpt-neutralized__archive,
.dpt-neutralized__residue {
    padding: clamp(22px, 3.5vw, 38px);
    border-radius: var(--dpt-radius);
}

.dpt-neutralized__archive {
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.14);
}

.dpt-neutralized__archive > span,
.dpt-neutralized__residue > span {
    display: block;
    margin-bottom: .55rem;
    color: var(--dpt-gold-soft);
    font-size: .71rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-neutralized__archive h3 {
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.7rem, 3.5vw, 3.6rem);
    line-height: 1.04;
}

.dpt-neutralized__archive p {
    margin: 18px 0 0;
    color: rgba(255,255,255,.7);
}

.dpt-neutralized__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 20px;
}

.dpt-neutralized__tags i {
    padding: 7px 9px;
    color: #fff;
    background: rgba(102,25,25,.35);
    border: 1px solid rgba(202,167,91,.24);
    border-radius: var(--dpt-radius);
    font-size: .72rem;
    font-style: normal;
    font-weight: 800;
}

.dpt-neutralized__reduction {
    display: grid;
    align-content: center;
    gap: 8px;
    min-width: 128px;
    text-align: center;
}

.dpt-neutralized__reduction span {
    padding: 7px 9px;
    color: rgba(255,255,255,.72);
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.11);
    border-radius: var(--dpt-radius);
    font-size: .67rem;
    font-weight: 850;
    text-transform: uppercase;
}

.dpt-neutralized__reduction b {
    color: var(--dpt-gold-soft);
}

.dpt-neutralized__residue {
    display: grid;
    align-content: center;
    text-align: center;
    background: rgba(0,58,132,.27);
    border: 1px solid rgba(104,163,255,.42);
    box-shadow: inset 0 0 60px rgba(104,163,255,.08);
}

.dpt-neutralized__residue strong {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.dpt-neutralized__residue strong i {
    padding: 16px 10px;
    color: var(--dpt-navy);
    background: #fff;
    border-radius: var(--dpt-radius);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.8rem, 4vw, 4rem);
    font-style: normal;
    line-height: 1;
}

.dpt-neutralized__residue small {
    display: block;
    margin-top: 14px;
    color: rgba(255,255,255,.62);
    font-size: .74rem;
}

.dpt-neutralized__question {
    margin: clamp(26px, 5vw, 52px) 0 0;
    padding: clamp(24px, 4vw, 44px);
    color: #fff;
    background: rgba(102,25,25,.28);
    border: 1px solid rgba(202,167,91,.32);
    border-left: 6px solid var(--dpt-gold);
    border-radius: var(--dpt-radius);
}

.dpt-neutralized__question p {
    max-width: 1080px;
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.5rem, 3.2vw, 3rem);
    line-height: 1.15;
}

.dpt-neutralized__question footer {
    margin-top: 18px;
    color: var(--dpt-gold-soft);
    font-size: .86rem;
    font-weight: 800;
}

@media (max-width: 1120px) {
    .dpt-mechanics__chain {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .dpt-mechanics__chain li:nth-child(4)::after {
        display: none;
    }
    
    .dpt-neutralized__montage {
        grid-template-columns: 1fr;
    }
    .dpt-neutralized__reduction {
        grid-template-columns: repeat(7, auto);
        justify-content: center;
        min-width: 0;
    }
}

@media (max-width: 700px) {
    .dpt-mechanics__chain {
        grid-template-columns: 1fr;
    }
    .dpt-mechanics__chain li:not(:last-child)::after {
        top: auto;
        right: 50%;
        bottom: -11px;
        transform: translateX(50%) rotate(90deg);
    }
    
    
    .dpt-neutralized__reduction {
        grid-template-columns: 1fr;
    }
    .dpt-neutralized__reduction b {
        transform: rotate(90deg);
    }
    .dpt-neutralized__residue strong {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dpt-neutralized__montage {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* V12 â€” conclusion cinÃ©matographique du rÃ©sidu */
.dpt-neutralized__residue-thesis {
    margin: 22px 0 0;
    padding-top: 18px;
    color: #fff;
    border-top: 1px solid rgba(255,255,255,.18);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1rem, 1.55vw, 1.28rem);
    font-weight: 700;
    line-height: 1.45;
}

.dpt-neutralized__final-line {
    max-width: 1180px;
    margin: clamp(24px, 4vw, 42px) auto 0;
    padding: clamp(22px, 3.4vw, 36px);
    color: var(--dpt-gold-soft);
    background: rgba(255,255,255,.055);
    border-top: 1px solid rgba(202,167,91,.34);
    border-bottom: 1px solid rgba(202,167,91,.34);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.3rem, 2.7vw, 2.55rem);
    font-weight: 700;
    line-height: 1.22;
    text-align: center;
}

@media (max-width: 650px) {
    .dpt-neutralized__residue-thesis {
        font-size: 1rem;
    }

    .dpt-neutralized__final-line {
        text-align: left;
    }
}

/* RÃ¨gles du jeu â€” prologue juridique avant lâ€™entrÃ©e des protagonistes */




























/* ADN du signe â€” identitÃ© concrÃ¨te protÃ©gÃ©e / contenu abstrait non appropriable */











































































/* Question centrale â€” la confusion dÃ©pend-elle d'un regard construit ? */








































/* V16 â€” synchronisation stricte entre les piÃ¨ces rÃ©elles et les placeholders cinÃ©matographiques */
.dpt-card--sync{
    background:linear-gradient(150deg,rgba(0,25,68,.055),rgba(202,167,91,.11));
    border-color:rgba(0,25,68,.18);
    border-left:5px solid var(--dpt-gold);
}
.dpt-step__visuals,
.dpt-anatomy-box__visuals{
    display:grid;
    gap:18px;
    min-width:0;
    align-content:start;
}
.dpt-step__visual--decision,
.dpt-anatomy-box__visual--decision{
    border:1px solid rgba(202,167,91,.34);
}
.dpt-anatomy-box__visual--scene{
    border:1px solid rgba(202,167,91,.52);
    box-shadow:inset 0 0 0 1px rgba(102,25,25,.18);
}
.dpt-step__visual--placeholder,
.dpt-anatomy-box__visual--placeholder{
    border:1px dashed rgba(202,167,91,.62);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
}
.dpt-step__visual--placeholder img,
.dpt-anatomy-box__visual--placeholder img{
    filter:saturate(.72) contrast(.96);
}
.dpt-anatomy-box--reverse .dpt-anatomy-box__visuals{order:1}
.dpt-anatomy-box--reverse .dpt-anatomy-box__copy{order:2}
@media(max-width:980px){
    .dpt-anatomy-box--reverse .dpt-anatomy-box__visuals,
    .dpt-anatomy-box--reverse .dpt-anatomy-box__copy{order:initial}
}

/* =========================================================
   V18 â€” storyboard de synchronisation texte rÃ©el â†’ effet visuel
   Ajout uniquement : aucun bloc antÃ©rieur n'est supprimÃ©.
   ========================================================= */
























.dpt-visual-plan {
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(202,167,91,.42);
    border-radius: var(--dpt-radius);
    box-shadow: 0 12px 32px rgba(2,9,24,.08);
}

.dpt-visual-plan > header {
    display: grid;
    gap: .35rem;
    padding: 15px 17px;
    color: #fff;
    background: linear-gradient(110deg, var(--dpt-navy), #071126 68%, #260a0c);
}

.dpt-visual-plan > header span {
    color: var(--dpt-gold-soft);
    font-size: .69rem;
    font-weight: 950;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.dpt-visual-plan > header strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1rem, 1.7vw, 1.35rem);
    line-height: 1.25;
}

.dpt-visual-plan__body {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(240px, .88fr);
    gap: 1px;
    background: var(--dpt-line);
}

.dpt-visual-plan__body > div {
    padding: 16px 17px;
    background: var(--dpt-paper);
}

.dpt-visual-plan__label {
    margin: 0 0 .7rem;
    color: var(--dpt-red);
    font-size: .69rem;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.dpt-visual-plan ul {
    display: grid;
    gap: .55rem;
    margin: 0;
    padding-left: 1.2rem;
    color: #4f586a;
    font-size: .9rem;
}

.dpt-visual-plan__trace {
    display: grid;
    align-content: start;
    gap: 12px;
    background: #f6f0e4 !important;
}

.dpt-visual-plan__trace p {
    margin: 0;
    color: #525b6d;
    font-size: .88rem;
}

.dpt-visual-plan__trace b {
    display: block;
    margin-bottom: .35rem;
    color: var(--dpt-navy);
    font-size: .68rem;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.dpt-visual-plan--inside-card {
    box-shadow: none;
}

@media (max-width: 820px) {
    .dpt-visual-plan__body{
        grid-template-columns: 1fr;
    }

    

    
}


/* =========================================================
   V25 â€” Description verbale â‰  marque Ã  comparer
   ========================================================= */




















































/* =========================================================
   V27 â€” Inventaire prÃ©alable des signes
   PlacÃ© entre lâ€™Ã©tat original et la description verbale.
   ========================================================= */
















































































































/* ===== Chapitre 00 Â· premier regard ===== */



































































/* V39 Â· formes-source Ã  cÃ´tÃ© des logos originaux */













/* =========================================================
   Formulaire comparatif OTCP Â· V40
   Texte rÃ©el / lecture troquÃ©e / image / lecture loyale
   ========================================================= */
.dpt-analysis-form{margin:28px 0 42px;overflow:hidden;background:#f5f1e8;border:1px solid rgba(0,25,68,.16);border-radius:var(--dpt-radius);box-shadow:0 22px 60px rgba(2,9,24,.12)}
.dpt-analysis-form__header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;padding:clamp(24px,4vw,44px);color:#fff;background:radial-gradient(circle at 88% 10%,rgba(202,167,91,.17),transparent 30%),linear-gradient(115deg,var(--dpt-navy),#071126 64%,#260a0c)}
.dpt-analysis-form__header .dpt-kicker{color:var(--dpt-gold-soft)}
.dpt-analysis-form__header h4{max-width:980px;margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.8rem,3.8vw,3.7rem);line-height:1.06}
.dpt-analysis-form__header p:not(.dpt-kicker){max-width:900px;margin:1rem 0 0;color:rgba(255,255,255,.74)}
.dpt-analysis-form__legend{display:grid;gap:8px;min-width:190px}.dpt-analysis-form__legend span{display:flex;gap:9px;align-items:center;color:rgba(255,255,255,.78);font-size:.78rem;font-weight:800}.dpt-analysis-form__legend i{width:10px;height:10px;border-radius:50%;background:#fff}.dpt-analysis-form__legend .is-source{background:var(--dpt-gold)}.dpt-analysis-form__legend .is-troquee{background:#d45252}.dpt-analysis-form__legend .is-loyale{background:#4d8b61}
.dpt-analysis-form__head,.dpt-analysis-form-row{display:grid;grid-template-columns:90px minmax(230px,1.3fr) minmax(210px,1fr) minmax(230px,.9fr) minmax(210px,1fr)}
.dpt-analysis-form__head{color:#fff;background:#121827;border-top:1px solid rgba(255,255,255,.1)}.dpt-analysis-form__head span{padding:14px 15px;border-right:1px solid rgba(255,255,255,.1);font-size:.73rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.dpt-analysis-form__rows{margin:0;padding:0;list-style:none}.dpt-analysis-form-row{min-width:0;background:rgba(255,255,255,.92);border-bottom:1px solid rgba(0,25,68,.13)}.dpt-analysis-form-row:last-child{border-bottom:0}
.dpt-analysis-form-row__step,.dpt-analysis-form-cell{min-width:0;padding:17px 16px;border-right:1px solid rgba(0,25,68,.11)}
.dpt-analysis-form-row__step{display:grid;align-content:start;justify-items:start;gap:6px;color:#fff;background:var(--dpt-navy)}.dpt-analysis-form-row__step>span{color:var(--dpt-gold-soft);font-size:.64rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.dpt-analysis-form-row__step strong{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--dpt-red);font-size:1.1rem}.dpt-analysis-form-row__step small{color:rgba(255,255,255,.76);font-size:.72rem;line-height:1.35}
.dpt-analysis-form-cell__label{display:none;margin-bottom:.55rem;color:var(--dpt-red);font-size:.68rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.dpt-analysis-form-cell blockquote,.dpt-analysis-form-cell p{margin:0}.dpt-analysis-form-cell blockquote{color:#273044;font-family:Georgia,"Times New Roman",serif;font-size:.96rem;line-height:1.52}.dpt-analysis-form-cell p{color:#4e586b;font-size:.9rem;line-height:1.52}
.dpt-analysis-form-cell--source{background:#fffaf0;border-left:4px solid var(--dpt-gold)}.dpt-analysis-form-cell--troquee{background:#fff0ef}.dpt-analysis-form-cell--loyale{background:#eef8f0;border-right:0}
.dpt-analysis-form-cell--image{display:grid;grid-template-rows:auto minmax(150px,1fr) auto;gap:9px;margin:0;background:#eef2f7}.dpt-analysis-form-cell--image img{width:100%;height:100%;min-height:150px;object-fit:contain;background:#09152b;border-radius:var(--dpt-radius)}.dpt-analysis-form-cell--image figcaption{color:#5b6475;font-size:.75rem;line-height:1.35}
.dpt-analysis-form__footer{padding:22px clamp(20px,3vw,34px);color:#fff;background:linear-gradient(110deg,var(--dpt-red),#351014 68%,var(--dpt-navy))}.dpt-analysis-form__footer span{display:block;margin-bottom:.4rem;color:var(--dpt-gold-soft);font-size:.7rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.dpt-analysis-form__footer p{max-width:1100px;margin:0;color:rgba(255,255,255,.82)}
@media(max-width:1180px){.dpt-analysis-form__head{display:none}.dpt-analysis-form-row{grid-template-columns:82px 1fr 1fr;grid-template-areas:"step source source" "step troquee loyale" "step image image"}.dpt-analysis-form-row__step{grid-area:step}.dpt-analysis-form-cell--source{grid-area:source}.dpt-analysis-form-cell--troquee{grid-area:troquee}.dpt-analysis-form-cell--loyale{grid-area:loyale}.dpt-analysis-form-cell--image{grid-area:image}.dpt-analysis-form-cell__label{display:block}}
@media(max-width:760px){.dpt-analysis-form__header{grid-template-columns:1fr}.dpt-analysis-form__legend{grid-template-columns:repeat(3,minmax(0,1fr));min-width:0}.dpt-analysis-form-row{display:grid;grid-template-columns:1fr;grid-template-areas:"step" "source" "troquee" "image" "loyale"}.dpt-analysis-form-row__step{display:flex;align-items:center;gap:12px;padding:14px 16px}.dpt-analysis-form-row__step small{font-size:.8rem}.dpt-analysis-form-cell{border-right:0;border-bottom:1px solid rgba(0,25,68,.1)}.dpt-analysis-form-cell--image img{min-height:220px}}


/* =========================================================
   V36 â€” RÃ©ponses visuelles cachÃ©es dans chaque dossier
   AccordÃ©ons natifs + agrandissement plein format sur mobile
   ========================================================= */
.dpt-response-accordion {
    margin-top: clamp(24px, 4vw, 42px);
    overflow: hidden;
    background: var(--dpt-paper);
    border: 1px solid rgba(202, 167, 91, .46);
    border-radius: var(--dpt-radius);
    box-shadow: 0 18px 52px rgba(2, 9, 24, .13);
}

.dpt-response-accordion__summary {
    position: relative;
    display: grid;
    gap: .35rem;
    min-height: 112px;
    padding: clamp(20px, 3vw, 30px) 76px clamp(20px, 3vw, 30px) clamp(20px, 3vw, 30px);
    color: #fff;
    background:
        radial-gradient(circle at 90% 12%, rgba(202, 167, 91, .16), transparent 28%),
        linear-gradient(115deg, var(--dpt-navy), #071126 64%, #260a0c);
    cursor: pointer;
    list-style: none;
}

.dpt-response-accordion__summary::-webkit-details-marker {
    display: none;
}

.dpt-response-accordion__summary::marker {
    content: "";
}

.dpt-response-accordion__eyebrow {
    color: var(--dpt-gold-soft);
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-response-accordion__summary strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.28rem, 2.5vw, 2.15rem);
    line-height: 1.12;
}

.dpt-response-accordion__summary small {
    max-width: 980px;
    color: rgba(255, 255, 255, .7);
    font-size: .86rem;
    line-height: 1.45;
}

.dpt-response-accordion__summary i,
.dpt-response-accordion__summary i::after {
    position: absolute;
    width: 24px;
    height: 2px;
    background: var(--dpt-gold-soft);
    transition: transform .22s ease;
}

.dpt-response-accordion__summary i {
    top: 50%;
    right: clamp(22px, 3vw, 32px);
    transform: translateY(-50%);
}

.dpt-response-accordion__summary i::after {
    content: "";
    inset: 0;
    transform: rotate(90deg);
}

.dpt-response-accordion[open] .dpt-response-accordion__summary i::after {
    transform: rotate(0);
}

.dpt-response-accordion__body {
    padding: clamp(18px, 3vw, 32px);
    background: linear-gradient(180deg, #fff, #f3eee3);
}

.dpt-response-accordion__header {
    max-width: 1020px;
    margin-bottom: 20px;
}

.dpt-response-accordion__header > span {
    color: var(--dpt-red);
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.dpt-response-accordion__header h3,
.dpt-response-accordion__header h4 {
    margin: .45rem 0 0;
    color: var(--dpt-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.7rem, 3.7vw, 3.45rem);
    line-height: 1.05;
}

.dpt-response-accordion__header p {
    max-width: 900px;
    margin: .9rem 0 0;
    color: #535c6e;
}

.dpt-response-board {
    margin: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--dpt-line);
    border-radius: var(--dpt-radius);
}

.dpt-response-board__image {
    display: block;
    width: 100%;
    padding: clamp(8px, 1.6vw, 18px);
    background: #fff;
    cursor: zoom-in;
}

.dpt-response-board__image img {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
}

.dpt-response-board figcaption {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px 24px;
    align-items: center;
    padding: 16px 18px;
    color: rgba(255, 255, 255, .76);
    background: var(--dpt-navy);
}

.dpt-response-board figcaption p {
    margin: 0;
}

.dpt-response-board figcaption a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: .65rem .9rem;
    color: #fff;
    background: var(--dpt-red);
    border: 1px solid rgba(255,255,255,.16);
    border-radius: var(--dpt-radius);
    font-size: .82rem;
    font-weight: 900;
    text-decoration: none;
    white-space: nowrap;
}

.dpt-response-board figcaption a:hover {
    background: #7a2020;
}

.dpt-response-accordion__conclusion {
    margin: 18px 0 0;
    padding: 18px 20px;
    color: #4c5568;
    background: #fff8df;
    border-left: 5px solid var(--dpt-gold);
    border-radius: var(--dpt-radius);
}

.dpt-response-accordion__conclusion strong {
    color: var(--dpt-navy);
}

@media (max-width: 760px) {
    .dpt-response-accordion__summary {
        min-height: 0;
        padding: 18px 58px 18px 18px;
    }

    .dpt-response-accordion__summary i {
        right: 20px;
    }

    .dpt-response-accordion__body {
        padding: 16px 10px 18px;
    }

    .dpt-response-accordion__header,
    .dpt-response-accordion__conclusion {
        margin-inline: 8px;
    }

    .dpt-response-board {
        width: calc(100% + 20px);
        margin-left: -10px;
        margin-right: -10px;
        border-left: 0;
        border-right: 0;
        border-radius: 0;
    }

    .dpt-response-board__image {
        padding: 0;
    }

    .dpt-response-board__image img {
        width: 100%;
        height: auto;
    }

    .dpt-response-board figcaption {
        grid-template-columns: 1fr;
        padding: 15px 16px;
    }

    .dpt-response-board figcaption a {
        width: 100%;
    }
}

@media (max-width: 600px) {
    .dpt-response-accordion {
        margin-inline: -10px;
        border-left: 0;
        border-right: 0;
        border-radius: 0;
    }

    .dpt-response-accordion__summary small {
        display: none;
    }
}


/* V46 â€” formulaire OTCP toujours visible hors onglet */
.dpt-analysis-form { scroll-margin-top: 24px; }
.dpt-analysis-form__cta {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 48px;
    margin-top: 16px;
    padding: .75rem 1rem;
    color: #fff;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.24);
    border-radius: var(--dpt-radius);
    font-weight: 900;
    text-decoration: none;
}
.dpt-analysis-form__cta:hover { background: rgba(255,255,255,.16); }


/* V47 â€” triptyque des trois formulaires comparatifs */
.dpt-analysis-form--adp .dpt-analysis-form__header {
    background:
        radial-gradient(circle at 88% 10%, rgba(202,167,91,.18), transparent 30%),
        linear-gradient(115deg, #071329, #0a1934 62%, #251011);
}

.dpt-analysis-form--pva .dpt-analysis-form__header {
    background:
        radial-gradient(circle at 88% 10%, rgba(226,130,58,.16), transparent 30%),
        linear-gradient(115deg, #0b234c, #071126 62%, #2b160b);
}

.dpt-analysis-form--adp,
.dpt-analysis-form--pva,
.dpt-analysis-form--otcp {
    scroll-margin-top: 24px;
}

/* V48 â€” formulaires rÃ©ellement responsives : aucune largeur de tableau imposÃ©e sur mobile */
@media (max-width: 1080px) {
    .dpt-analysis-form {
        overflow: hidden;
    }

    .dpt-analysis-form__header,
    .dpt-analysis-form__footer,
    .dpt-analysis-form__head,
    .dpt-analysis-form-row {
        min-width: 0;
        max-width: 100%;
    }

    .dpt-analysis-form-cell--image {
        min-width: 0;
    }

    .dpt-analysis-form-cell--image img {
        display: block;
        width: 100%;
        height: auto;
        min-height: 0;
        max-width: 100%;
        aspect-ratio: 16 / 9;
        object-fit: contain;
        object-position: center;
    }
}

@media (max-width: 760px) {
    .dpt-analysis-form {
        margin-inline: 0;
        overflow: hidden;
        border-left: 1px solid rgba(0,25,68,.16);
        border-right: 1px solid rgba(0,25,68,.16);
        border-radius: var(--dpt-radius);
    }

    .dpt-analysis-form__header,
    .dpt-analysis-form__footer {
        width: 100%;
        min-width: 0;
    }

    .dpt-analysis-form__rows,
    .dpt-analysis-form-row,
    .dpt-analysis-form-cell,
    .dpt-analysis-form-cell--image {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .dpt-analysis-form-cell--image {
        grid-template-rows: auto auto auto;
        padding: 14px;
    }

    .dpt-analysis-form-cell--image img {
        width: 100%;
        height: auto;
        min-height: 0;
        aspect-ratio: 16 / 9;
        object-fit: contain;
    }

    .dpt-analysis-form-cell--image figcaption {
        overflow-wrap: anywhere;
    }
}

@media (max-width: 520px) {
    .dpt-analysis-form__header {
        padding: 22px 16px;
    }

    .dpt-analysis-form__footer {
        padding: 20px 16px;
    }

    .dpt-analysis-form__legend {
        grid-template-columns: 1fr;
    }

    .dpt-analysis-form-row__step,
    .dpt-analysis-form-cell {
        padding: 14px;
    }
}


/* =========================================================
   V24 â€” Grille gÃ©nÃ©rale de contrÃ´le des minorations
   ========================================================= */
.dpt-minoration-control {
    margin: clamp(28px, 5vw, 54px) clamp(16px, 3.5vw, 42px) clamp(18px, 3vw, 34px);
    overflow: hidden;
    color: var(--dpt-ink);
    background: #f4efe4;
    border: 1px solid rgba(202, 167, 91, .42);
    border-radius: var(--dpt-radius);
}

.dpt-minoration-control__header {
    padding: clamp(22px, 3.5vw, 38px);
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(202, 167, 91, .15), transparent 30%),
        linear-gradient(115deg, #071126, #10182b 62%, #290b0e);
}

.dpt-minoration-control__header > span,
.dpt-minoration-control__formula > span,
.dpt-minoration-control__scope > span,
.dpt-minoration-control__pivot > span {
    display: block;
    margin-bottom: .55rem;
    color: var(--dpt-gold-soft);
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-minoration-control__header h4 {
    max-width: 1050px;
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.8rem, 4vw, 3.8rem);
    line-height: 1.05;
}

.dpt-minoration-control__header p {
    max-width: 940px;
    margin: 1rem 0 0;
    color: rgba(255,255,255,.72);
}

.dpt-minoration-control__questions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin: 0;
    padding: 1px;
    background: rgba(0, 25, 68, .13);
    list-style: none;
}

.dpt-minoration-control__questions li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    padding: clamp(16px, 2.5vw, 24px);
    background: var(--dpt-paper);
}

.dpt-minoration-control__questions li:last-child {
    grid-column: 1 / -1;
}

.dpt-minoration-control__questions li > span {
    display: grid;
    place-items: center;
    width: 42px;
    aspect-ratio: 1;
    color: #fff;
    background: var(--dpt-red);
    border-radius: 50%;
    font-weight: 950;
}

.dpt-minoration-control__questions strong {
    display: block;
    color: var(--dpt-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.05rem, 1.65vw, 1.4rem);
    line-height: 1.18;
}

.dpt-minoration-control__questions p {
    margin: .55rem 0 0;
    color: #555e70;
    font-size: .9rem;
}

.dpt-minoration-control__pivot {
    padding: clamp(22px, 3.5vw, 34px);
    color: #fff;
    background: linear-gradient(110deg, var(--dpt-red), #2a0c10 78%);
    border-top: 1px solid rgba(255,255,255,.12);
    border-bottom: 1px solid rgba(255,255,255,.12);
}

.dpt-minoration-control__pivot strong {
    display: block;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.6rem, 3.5vw, 3.2rem);
    line-height: 1.08;
}

.dpt-minoration-control__pivot p {
    max-width: 900px;
    margin: .9rem 0 0;
    color: rgba(255,255,255,.74);
}

.dpt-minoration-control__examples {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    padding: 1px;
    background: rgba(0, 25, 68, .13);
}

.dpt-minoration-control__examples article {
    min-width: 0;
    padding: clamp(18px, 2.8vw, 28px);
    background: #fff;
}

.dpt-minoration-control__examples article header {
    display: grid;
    gap: .45rem;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--dpt-line);
}

.dpt-minoration-control__examples article header span {
    color: var(--dpt-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.35rem, 2.5vw, 2.15rem);
    font-weight: 800;
    line-height: 1.08;
}

.dpt-minoration-control__examples article header em {
    color: var(--dpt-red);
    font-size: .68rem;
    font-style: normal;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.dpt-minoration-control__examples dl {
    display: grid;
    gap: 12px;
    margin: 16px 0 0;
}

.dpt-minoration-control__examples dl > div {
    padding: 13px 14px;
    background: #f7f3ea;
    border-left: 3px solid var(--dpt-gold);
}

.dpt-minoration-control__examples dt {
    color: var(--dpt-red);
    font-size: .67rem;
    font-weight: 950;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.dpt-minoration-control__examples dd {
    margin: .35rem 0 0;
    color: #4f586a;
    font-size: .88rem;
    line-height: 1.5;
}

.dpt-minoration-control__formula {
    padding: clamp(22px, 3.5vw, 36px);
    color: #fff;
    background: #071126;
}

.dpt-minoration-control__formula p {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin: 0;
}

.dpt-minoration-control__formula strong {
    padding: 9px 11px;
    color: #fff;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--dpt-radius);
    font-size: .82rem;
}

.dpt-minoration-control__formula strong:last-of-type {
    color: var(--dpt-gold-soft);
    background: rgba(102,25,25,.42);
    border-color: rgba(202,167,91,.34);
}

.dpt-minoration-control__formula b {
    color: var(--dpt-gold-soft);
}

.dpt-minoration-control__scope {
    padding: clamp(20px, 3vw, 30px);
    color: #4f586a;
    background: #fff8df;
    border-top: 1px solid rgba(202,167,91,.35);
}

.dpt-minoration-control__scope > span {
    color: var(--dpt-red);
}

.dpt-minoration-control__scope p {
    max-width: 1040px;
    margin: 0;
}

@media (max-width: 820px) {
    .dpt-minoration-control__questions,
    .dpt-minoration-control__examples {
        grid-template-columns: 1fr;
    }

    .dpt-minoration-control__questions li:last-child {
        grid-column: auto;
    }
}

@media (max-width: 600px) {
    .dpt-minoration-control {
        margin-inline: 0;
        border-radius: 0;
    }

    .dpt-minoration-control__questions li {
        grid-template-columns: 1fr;
    }

    .dpt-minoration-control__formula p {
        display: grid;
    }

    .dpt-minoration-control__formula b {
        justify-self: center;
        transform: rotate(90deg);
    }
}


/* =========================================================
   V25 â€” Sources officielles sous chaque interprÃ©tation
   ========================================================= */
.dpt-minoration-source {
    margin-top: 16px;
    padding: 15px;
    background: #f3f6fb;
    border: 1px solid rgba(0, 25, 68, .13);
    border-top: 4px solid var(--dpt-navy);
    border-radius: var(--dpt-radius);
}

.dpt-minoration-source__level {
    display: inline-flex;
    margin-bottom: 10px;
    padding: 5px 8px;
    color: var(--dpt-navy);
    background: #e8eef8;
    border: 1px solid rgba(0, 25, 68, .12);
    border-radius: var(--dpt-radius);
    font-size: .65rem;
    font-weight: 950;
    letter-spacing: .075em;
    line-height: 1.25;
    text-transform: uppercase;
}

.dpt-minoration-source ul {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.dpt-minoration-source li {
    padding: 12px;
    background: #fff;
    border: 1px solid rgba(0, 25, 68, .11);
    border-radius: var(--dpt-radius);
}

.dpt-minoration-source li a {
    display: grid;
    gap: 4px;
    color: inherit;
    text-decoration: none;
}

.dpt-minoration-source li a:hover strong {
    text-decoration: underline;
    text-underline-offset: .2em;
}

.dpt-minoration-source li strong {
    color: var(--dpt-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: .98rem;
    line-height: 1.3;
}

.dpt-minoration-source li small {
    color: #626b7d;
    font-size: .72rem;
    line-height: 1.35;
}

.dpt-minoration-source li em {
    color: var(--dpt-red);
    font-size: .65rem;
    font-style: normal;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.dpt-minoration-source li > p {
    margin: 9px 0 0;
    color: #525b6d;
    font-size: .78rem;
    line-height: 1.45;
}

.dpt-minoration-source__note {
    margin: 11px 0 0;
    padding-top: 11px;
    color: #4e5769;
    border-top: 1px solid rgba(0, 25, 68, .12);
    font-size: .78rem;
    line-height: 1.5;
}

.dpt-minoration-control__source-rule {
    padding: clamp(18px, 3vw, 28px);
    color: #4f586a;
    background: #eef4ff;
    border-top: 1px solid rgba(0, 25, 68, .14);
    border-bottom: 1px solid rgba(0, 25, 68, .14);
}

.dpt-minoration-control__source-rule > span {
    display: block;
    margin-bottom: .5rem;
    color: var(--dpt-navy);
    font-size: .69rem;
    font-weight: 950;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.dpt-minoration-control__source-rule p {
    max-width: 1040px;
    margin: 0;
}


/* V10 â€” limite documentaire de la marque autonome PARIS VOUS AIME */
.dpt-pva-source-boundary {
    margin-top: 16px;
    overflow: hidden;
    color: var(--dpt-ink);
    background: #fff;
    border: 1px solid rgba(0, 25, 68, .18);
    border-left: 6px solid var(--dpt-red);
    border-radius: var(--dpt-radius);
}

.dpt-pva-source-boundary > header {
    padding: 20px 22px;
    color: #fff;
    background: linear-gradient(115deg, var(--dpt-navy), #071126 68%, #260a0c);
}

.dpt-pva-source-boundary > header > span,
.dpt-pva-source-boundary section > span {
    display: block;
    color: var(--dpt-gold-soft);
    font-size: .69rem;
    font-weight: 950;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.dpt-pva-source-boundary h5 {
    max-width: 1000px;
    margin: .55rem 0 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.35rem, 2.5vw, 2.3rem);
    line-height: 1.12;
}

.dpt-pva-source-boundary > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    padding: 1px;
    background: rgba(0, 25, 68, .12);
}

.dpt-pva-source-boundary section {
    min-width: 0;
    padding: 18px 20px;
    background: var(--dpt-paper);
}

.dpt-pva-source-boundary section:nth-child(2) {
    background: #fff0ee;
}

.dpt-pva-source-boundary section > span {
    color: var(--dpt-red);
}

.dpt-pva-source-boundary section p {
    margin: .65rem 0 0;
    color: #4f586a;
    font-size: .9rem;
    line-height: 1.55;
}

@media (max-width: 760px) {
    .dpt-pva-source-boundary > div {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   V11 â€” conclusion cumulative PARIS VOUS AIME / PARIS Tâ€™AIME
   ========================================================= */
.dpt-pva-conclusion {
    scroll-margin-top: 24px;
    margin: clamp(26px, 5vw, 58px) 0 clamp(40px, 7vw, 82px);
    overflow: hidden;
    color: var(--dpt-ink);
    background: #f2eee5;
    border: 1px solid rgba(202, 167, 91, .48);
    border-radius: var(--dpt-radius);
    box-shadow: var(--dpt-shadow);
}

.dpt-pva-conclusion__header {
    padding: clamp(24px, 4vw, 46px);
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(202, 167, 91, .18), transparent 28%),
        linear-gradient(118deg, var(--dpt-navy), #071126 62%, #260a0c);
}

.dpt-pva-conclusion__header > span,
.dpt-pva-conclusion__holding > span,
.dpt-pva-conclusion__counterpoint > span,
.dpt-pva-conclusion__sources > span,
.dpt-pva-conclusion__reasoning section > span {
    display: block;
    margin-bottom: .55rem;
    color: var(--dpt-gold-soft);
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-pva-conclusion__header h4 {
    max-width: 1080px;
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 4.6vw, 4.7rem);
    line-height: 1.02;
}

.dpt-pva-conclusion__header p {
    max-width: 900px;
    margin: 1.2rem 0 0;
    color: rgba(255, 255, 255, .76);
    font-size: clamp(1rem, 1.55vw, 1.22rem);
}

.dpt-pva-conclusion__signs {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: clamp(14px, 3vw, 28px);
    align-items: center;
    padding: clamp(18px, 3vw, 34px);
    background: #e8e3d8;
    border-bottom: 1px solid var(--dpt-line);
}

.dpt-pva-conclusion__signs figure {
    display: grid;
    grid-template-rows: minmax(210px, 1fr) auto;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--dpt-line);
    border-radius: var(--dpt-radius);
}

.dpt-pva-conclusion__signs img {
    width: 100%;
    height: 100%;
    max-height: 300px;
    object-fit: contain;
    padding: clamp(18px, 3vw, 34px);
}

.dpt-pva-conclusion__signs figcaption {
    display: grid;
    gap: .25rem;
    padding: 15px 18px;
    color: #fff;
    background: var(--dpt-navy);
}

.dpt-pva-conclusion__signs figcaption span {
    color: var(--dpt-gold-soft);
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.dpt-pva-conclusion__signs figcaption strong {
    font-size: 1rem;
}

.dpt-pva-conclusion__signs > b {
    color: var(--dpt-red);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3rem, 7vw, 6.5rem);
}

.dpt-pva-conclusion__axes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin: 0;
    padding: 1px;
    background: rgba(0, 25, 68, .14);
    list-style: none;
}

.dpt-pva-conclusion__axes > li {
    min-width: 0;
    padding: clamp(20px, 3vw, 32px);
    background: var(--dpt-paper);
}

.dpt-pva-conclusion__axes > li > header {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 13px;
    align-items: center;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--dpt-line);
}

.dpt-pva-conclusion__axes > li > header span {
    display: grid;
    place-items: center;
    width: 43px;
    aspect-ratio: 1;
    color: #fff;
    background: var(--dpt-red);
    border-radius: 50%;
    font-weight: 950;
}

.dpt-pva-conclusion__axes > li > header strong {
    color: var(--dpt-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.25rem, 2vw, 1.8rem);
}

.dpt-pva-conclusion__axis-comparison {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 15px;
}

.dpt-pva-conclusion__axis-comparison section {
    padding: 14px 15px;
    background: #f4f1ea;
    border-left: 3px solid var(--dpt-gold);
}

.dpt-pva-conclusion__axis-comparison section:last-child {
    border-left-color: var(--dpt-red);
}

.dpt-pva-conclusion__axis-comparison small {
    display: block;
    margin-bottom: .4rem;
    color: var(--dpt-red);
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.dpt-pva-conclusion__axis-comparison p,
.dpt-pva-conclusion__axis-effect,
.dpt-pva-conclusion__reasoning p,
.dpt-pva-conclusion__counterpoint p,
.dpt-pva-conclusion__sources p {
    margin: 0;
    color: #515a6c;
}

.dpt-pva-conclusion__axis-effect {
    margin-top: 13px;
    padding-top: 13px;
    border-top: 1px dashed rgba(0, 25, 68, .18);
    font-size: .91rem;
}

.dpt-pva-conclusion__axis-effect strong {
    color: var(--dpt-navy);
}

.dpt-pva-conclusion__reasoning {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    padding: 1px;
    background: rgba(0, 25, 68, .14);
}

.dpt-pva-conclusion__reasoning section {
    padding: clamp(20px, 3vw, 32px);
    background: #eef4ff;
}

.dpt-pva-conclusion__reasoning section:last-child {
    background: #fff0ee;
}

.dpt-pva-conclusion__reasoning section > span {
    color: var(--dpt-red);
}

.dpt-pva-conclusion__holding {
    margin: 0;
    padding: clamp(26px, 4vw, 46px);
    color: #fff;
    background:
        radial-gradient(circle at 90% 10%, rgba(202, 167, 91, .14), transparent 28%),
        var(--dpt-navy);
    border: 0;
}

.dpt-pva-conclusion__holding p {
    max-width: 1120px;
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.45rem, 2.8vw, 2.8rem);
    line-height: 1.2;
}

.dpt-pva-conclusion__counterpoint {
    padding: clamp(22px, 3.5vw, 38px);
    color: #fff;
    background: linear-gradient(115deg, #290b0e, #16080a);
    border-top: 1px solid rgba(255, 255, 255, .12);
}

.dpt-pva-conclusion__counterpoint p {
    max-width: 1050px;
    color: rgba(255, 255, 255, .77);
}

.dpt-pva-conclusion__sources {
    padding: clamp(20px, 3vw, 32px);
    background: #fffdf8;
    border-top: 1px solid var(--dpt-line);
}

.dpt-pva-conclusion__sources > span {
    color: var(--dpt-red);
}

.dpt-pva-conclusion__sources ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 15px;
    padding: 0;
    list-style: none;
}

.dpt-pva-conclusion__sources li {
    padding: 15px 16px;
    background: #f5f2eb;
    border: 1px solid var(--dpt-line);
}

.dpt-pva-conclusion__sources a {
    display: grid;
    gap: .25rem;
    color: var(--dpt-navy);
    text-decoration: none;
}

.dpt-pva-conclusion__sources a:hover strong {
    text-decoration: underline;
    text-underline-offset: .22em;
}

.dpt-pva-conclusion__sources a small {
    color: var(--dpt-muted);
}

.dpt-pva-conclusion__sources li p {
    margin-top: .65rem;
    font-size: .86rem;
}

.dpt-pva-conclusion__sources > p {
    max-width: 1000px;
    font-size: .88rem;
}

.dpt-pva-conclusion__cta {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 58px;
    padding: 15px 20px;
    color: #fff;
    background: var(--dpt-red);
    font-weight: 900;
    text-align: center;
    text-decoration: none;
}

.dpt-pva-conclusion__cta:hover {
    background: #7a2020;
}

@media (max-width: 900px) {
    .dpt-pva-conclusion__axes,
    .dpt-pva-conclusion__reasoning,
    .dpt-pva-conclusion__sources ul {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .dpt-pva-conclusion {
        margin-inline: -10px;
        border-radius: 0;
    }

    .dpt-pva-conclusion__signs {
        grid-template-columns: 1fr;
    }

    .dpt-pva-conclusion__signs > b {
        justify-self: center;
        transform: rotate(90deg);
    }

    .dpt-pva-conclusion__axis-comparison {
        grid-template-columns: 1fr;
    }

    .dpt-pva-conclusion__holding p {
        font-size: clamp(1.35rem, 7vw, 2rem);
    }
}



/* =========================================================
   V48 â€” FINAL MONTAGE
   Deux vitesses de lecture : montage essentiel / dossier intÃ©gral
   ========================================================= */

.dpt-js.dpt-mode-essential [data-dpt-depth="evidence"] {
    display: none !important;
}

.dpt-view-switch {
    position: sticky;
    z-index: 80;
    top: 0;
    color: #fff;
    background: rgba(2, 6, 17, .94);
    border-top: 1px solid rgba(255, 255, 255, .08);
    border-bottom: 1px solid rgba(202, 167, 91, .28);
    backdrop-filter: blur(18px);
}

.dpt-view-switch__inner {
    min-height: 70px;
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    padding-block: 10px;
}

.dpt-view-switch__inner > div:first-child {
    display: grid;
    gap: .1rem;
}

.dpt-view-switch__inner span {
    color: rgba(255,255,255,.56);
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.dpt-view-switch__inner strong {
    color: var(--dpt-gold-soft);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.05rem;
}

.dpt-view-switch__buttons {
    display: grid;
    grid-template-columns: repeat(2, minmax(118px, 1fr));
    gap: 6px;
    padding: 5px;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--dpt-radius);
}

.dpt-view-switch__buttons button {
    min-height: 40px;
    padding: .6rem .9rem;
    color: rgba(255,255,255,.68);
    background: transparent;
    border: 0;
    border-radius: var(--dpt-radius);
    cursor: pointer;
    font-weight: 850;
}

.dpt-view-switch__buttons button.is-active {
    color: #fff;
    background: var(--dpt-red);
}

.dpt-hero__actions--final button {
    cursor: pointer;
}

.dpt-hero__choice {
    max-width: 850px;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px 18px;
    align-items: start;
    margin-top: 18px;
    padding: 16px 18px;
    color: rgba(255,255,255,.72);
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.12);
    border-left: 4px solid var(--dpt-gold);
    border-radius: var(--dpt-radius);
}

.dpt-hero__choice span {
    color: var(--dpt-gold-soft);
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.dpt-hero__choice p {
    margin: 0;
    font-size: .9rem;
}

.dpt-essential {
    color: #fff;
    background:
        radial-gradient(circle at 12% 8%, rgba(202,167,91,.14), transparent 25%),
        radial-gradient(circle at 88% 58%, rgba(102,25,25,.22), transparent 32%),
        linear-gradient(150deg, #020611 0%, #071329 48%, #14090b 100%);
}

.dpt-essential__header {
    max-width: 1180px;
    margin-bottom: clamp(34px, 6vw, 72px);
}

.dpt-essential__header .dpt-kicker {
    color: var(--dpt-gold-soft);
}

.dpt-essential__date {
    width: fit-content;
    margin: 0 0 1rem;
    padding: .55rem .85rem;
    color: #fff;
    background: var(--dpt-red);
    border-radius: 3px;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.dpt-essential-shock__question-label {
    display: block;
    margin-bottom: .7rem;
    color: var(--dpt-gold-soft);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.dpt-essential__header h2 {
    max-width: 1150px;
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.5rem, 6vw, 6.2rem);
    letter-spacing: -.045em;
    line-height: .98;
}

.dpt-essential__header > p:last-child {
    max-width: 900px;
    margin: 1.4rem 0 0;
    color: rgba(255,255,255,.72);
    font-size: clamp(1rem, 1.6vw, 1.22rem);
}

.dpt-essential__teaser {
    display: grid;
    grid-template-columns: minmax(280px, .9fr) minmax(0, 1.1fr);
    gap: clamp(18px, 3vw, 28px);
    align-items: center;
    margin: clamp(18px, 3vw, 30px) 0;
    padding: clamp(18px, 3vw, 28px);
    background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(139,0,0,.12));
    border: 1px solid rgba(202,167,91,.28);
    border-radius: var(--dpt-radius);
}

.dpt-essential__teaser-copy {
    display: grid;
    gap: .9rem;
}

.dpt-essential__teaser-copy > span {
    color: var(--dpt-gold-soft);
    font-size: .74rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-essential__teaser-copy h3 {
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.35rem, 2.3vw, 2.15rem);
    line-height: 1.14;
}

.dpt-essential__teaser-copy p {
    margin: 0;
    color: rgba(255,255,255,.76);
    max-width: 52ch;
}

.dpt-essential__teaser-media {
    min-width: 0;
}

.dpt-video-embed {
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #000;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: calc(var(--dpt-radius) - 2px);
    box-shadow: 0 22px 45px rgba(0,0,0,.28);
}

.dpt-video-embed iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.dpt-essential__stage {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    padding: 10px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--dpt-radius);
}

.dpt-essential__stage figure {
    min-width: 0;
    display: grid;
    grid-template-rows: minmax(185px, 1fr) auto;
    margin: 0;
    overflow: hidden;
    background: #fff;
    border-radius: var(--dpt-radius);
}

.dpt-essential__stage img {
    width: 100%;
    height: 100%;
    max-height: 230px;
    object-fit: contain;
    padding: 20px;
}

.dpt-essential__stage figcaption {
    display: grid;
    gap: .2rem;
    min-height: 76px;
    padding: 12px 14px;
    color: #fff;
    background: #071126;
}

.dpt-essential__stage figcaption strong {
    font-size: .82rem;
    line-height: 1.25;
}

.dpt-essential__stage figcaption span {
    color: var(--dpt-gold-soft);
    font-size: .67rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.dpt-common-signs__card {
    min-width: 0;
    display: grid;
    grid-template-rows: minmax(185px, auto) auto auto;
    margin: 0;
    overflow: hidden;
    background: #fff;
    border-radius: var(--dpt-radius);
}

.dpt-common-signs__original {
    display: grid;
    place-items: center;
    min-height: 210px;
    background: #fff;
}

.dpt-common-signs__original img {
    width: 100%;
    height: 100%;
    max-height: 230px;
    object-fit: contain;
    padding: 20px;
}

.dpt-common-signs__shape {
    display: grid;
    gap: 10px;
    padding: 12px 12px 14px;
    background: #f3efe6;
    border-top: 1px solid rgba(7,17,38,.12);
}

.dpt-common-signs__shape > span {
    color: #415579;
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-common-signs__shape-image {
    display: grid;
    place-items: center;
    min-height: 132px;
    padding: 12px;
    background: #fff;
    border: 1px solid rgba(7,17,38,.08);
}

.dpt-common-signs__shape-image img {
    width: 100%;
    max-height: 104px;
    object-fit: contain;
}

.dpt-essential__thesis {
    max-width: 1120px;
    margin: clamp(26px, 5vw, 54px) auto;
    padding: clamp(24px, 4vw, 46px);
    text-align: center;
    background: rgba(102,25,25,.22);
    border: 1px solid rgba(202,167,91,.4);
    border-top: 5px solid var(--dpt-gold);
    border-radius: var(--dpt-radius);
}

.dpt-essential__thesis > span{
    color: var(--dpt-gold-soft);
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-essential__thesis blockquote {
    max-width: 940px;
    margin: 1rem auto;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.55rem, 3vw, 3rem);
    line-height: 1.18;
}

.dpt-essential__thesis p {
    margin: 0;
    color: rgba(255,255,255,.7);
}

.dpt-essential__verdicts {
    display: grid;
    gap: clamp(18px, 3vw, 30px);
}

.dpt-essential-verdict {
    display: grid;
    grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr);
    grid-template-areas:
        "head head"
        "signs copy"
        "question question"
        "link link";
    gap: 18px 26px;
    padding: clamp(20px, 3vw, 34px);
    color: var(--dpt-ink);
    background: var(--dpt-paper);
    border: 1px solid rgba(202,167,91,.3);
    border-left: 7px solid var(--dpt-red);
    border-radius: var(--dpt-radius);
    box-shadow: 0 24px 70px rgba(0,0,0,.24);
}

.dpt-essential-verdict--with-legal-note {
    grid-template-areas:
        "head head"
        "signs copy"
        "question question"
        "legal legal"
        "link link";
}

.dpt-essential-verdict > header {
    grid-area: head;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--dpt-line);
}

.dpt-essential-verdict > header > span {
    display: grid;
    place-items: center;
    width: 58px;
    aspect-ratio: 1;
    color: #fff;
    background: var(--dpt-red);
    border-radius: 50%;
    font-weight: 950;
}

.dpt-essential-verdict header small {
    color: var(--dpt-red);
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.dpt-essential-verdict h3 {
    max-width: 990px;
    margin: .4rem 0 0;
    color: var(--dpt-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.65rem, 3.2vw, 3.25rem);
    line-height: 1.05;
}

.dpt-essential-verdict__signs {
    grid-area: signs;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 12px;
    background: #ece8df;
    border-radius: var(--dpt-radius);
}

.dpt-essential-verdict__signs figure {
    min-width: 0;
    display: grid;
    grid-template-rows: 1fr auto;
    margin: 0;
    overflow: hidden;
    background: #fff;
    border-radius: var(--dpt-radius);
}

.dpt-essential-verdict__signs img {
    width: 100%;
    height: 175px;
    object-fit: contain;
    padding: 16px;
}

.dpt-essential-verdict__signs figcaption {
    min-height: 48px;
    display: grid;
    place-items: center;
    padding: 8px;
    color: var(--dpt-navy);
    background: #f7f4ed;
    font-size: .7rem;
    font-weight: 850;
    text-align: center;
}

.dpt-essential-verdict__signs > b {
    color: var(--dpt-red);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2.2rem;
}

.dpt-essential-verdict > dl {
    grid-area: copy;
    display: grid;
    gap: 10px;
    margin: 0;
}

.dpt-essential-verdict > dl > div {
    padding: 16px 18px;
    background: #f7f4ed;
    border-left: 4px solid var(--dpt-gold);
}

.dpt-essential-verdict dt {
    color: var(--dpt-red);
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.dpt-essential-verdict dd {
    margin: .45rem 0 0;
    color: #4e5668;
}

.dpt-essential-verdict > blockquote {
    grid-area: question;
    margin: 0;
    padding: 18px 20px;
    color: #fff;
    background: var(--dpt-navy);
    border-left: 5px solid var(--dpt-gold);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.1rem, 1.7vw, 1.45rem);
    line-height: 1.35;
}

.dpt-essential-verdict__legal-note {
    grid-area: legal;
    padding: clamp(20px, 3vw, 30px);
    color: #dce4f2;
    background: #0b1220;
    border-top: 4px solid var(--dpt-red);
}

.dpt-essential-verdict__legal-kicker {
    display: block;
    color: #e6ca8c;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-essential-verdict__legal-note h4 {
    max-width: 900px;
    margin: .65rem 0 1rem;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.35rem, 2.4vw, 2.15rem);
    line-height: 1.12;
}

.dpt-essential-verdict__legal-note p {
    max-width: 980px;
    margin: .75rem 0 0;
    color: #c8d0df;
}

.dpt-essential-verdict__legal-note p strong {
    color: #fff;
    font-weight: 950;
}

.dpt-essential-verdict__legal-note .dpt-essential-verdict__legal-conclusion {
    margin-top: 1.15rem;
    padding: 15px 17px;
    color: #fff;
    background: rgba(102, 25, 25, .26);
    border-left: 4px solid #e6ca8c;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.08rem;
}

.dpt-essential-verdict__legal-sources {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    margin-top: 18px;
}

.dpt-essential-verdict__legal-sources a {
    color: #e6ca8c;
    font-size: .78rem;
    font-weight: 800;
    text-underline-offset: .22em;
}

.dpt-essential-verdict > a {
    grid-area: link;
    justify-self: start;
    color: var(--dpt-red);
    font-weight: 900;
    text-decoration: none;
}

.dpt-essential-verdict > a:hover {
    text-decoration: underline;
    text-underline-offset: .25em;
}

































@media (max-width: 1100px) {
    .dpt-essential__teaser {
        grid-template-columns: 1fr;
    }

    .dpt-essential__stage {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    

    
}

@media (max-width: 820px) {
    .dpt-view-switch {
        position: relative;
    }

    .dpt-essential-verdict {
        grid-template-columns: 1fr;
        grid-template-areas:
            "head"
            "signs"
            "copy"
            "question"
            "link";
    }

    .dpt-essential-verdict--with-legal-note {
        grid-template-areas:
            "head"
            "signs"
            "copy"
            "question"
            "legal"
            "link";
    }
}

@media (max-width: 600px) {
    .dpt-view-switch__inner {
        display: grid;
    }

    .dpt-view-switch__buttons {
        width: 100%;
    }

    .dpt-hero__choice {
        grid-template-columns: 1fr;
    }

    #dpt-signes-complets .dpt-essential__stage {
        width: calc(100% - 16px);
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin-inline: auto;
        padding: 0;
        background: transparent;
        border: 0;
    }

    #dpt-signes-complets .dpt-common-signs__card {
        grid-template-rows: auto auto auto;
        border-radius: 8px;
    }

    #dpt-signes-complets .dpt-common-signs__original {
        position: relative;
        overflow: hidden;
        min-height: 0;
        height: clamp(116px, 32vw, 128px);
    }

    #dpt-signes-complets .dpt-common-signs__original img {
        position: absolute;
        inset: 10px;
        width: calc(100% - 20px);
        height: calc(100% - 20px);
        max-height: none;
        padding: 0;
        object-fit: contain;
    }

    #dpt-signes-complets .dpt-common-signs__shape {
        gap: 5px;
        padding: 7px;
    }

    #dpt-signes-complets .dpt-common-signs__shape > span {
        font-size: .48rem;
        letter-spacing: .06em;
        line-height: 1.25;
    }

    #dpt-signes-complets .dpt-common-signs__shape-image {
        position: relative;
        overflow: hidden;
        min-height: 0;
        height: auto;
        aspect-ratio: 4 / 3;
        padding: 0;
    }

    #dpt-signes-complets .dpt-common-signs__shape-image img {
        position: absolute;
        inset: 5px;
        width: calc(100% - 10px);
        height: calc(100% - 10px);
        max-width: none;
        max-height: none;
        object-fit: contain;
    }

    #dpt-signes-complets .dpt-essential__stage figcaption {
        gap: 2px;
        align-content: center;
        min-height: 78px;
        padding: 8px;
        overflow-wrap: anywhere;
    }

    #dpt-signes-complets .dpt-essential__stage figcaption strong {
        font-size: .61rem;
        line-height: 1.15;
    }

    #dpt-signes-complets .dpt-essential__stage figcaption span {
        font-size: .47rem;
        line-height: 1.25;
    }

    .dpt-essential-verdict {
        margin-inline: -10px;
        border-radius: 0;
    }

    .dpt-essential-verdict__signs {
        grid-template-columns: 1fr;
    }

    .dpt-essential-verdict__signs > b {
        justify-self: center;
        transform: rotate(90deg);
    }

    
}


/* =========================================================
   V49 â€” Verrou essentiel : pas de monopole indirect sur PARIS + AIME
   ========================================================= */

































































/* V15 â€” Diptyque cinÃ©matographique : protÃ©ger les signes, laisser vivre la langue */





































/* V16 â€” correctif de rendu du diptyque et limitation de largeur tablette */





/* =========================================================
   FINALE IMAGE â€” clÃ´ture restaurÃ©e et contraste corrigÃ©
   ========================================================= */
.dpt-finale-image {
    color: #fff;
    background:
        radial-gradient(circle at 84% 14%, rgba(202, 167, 91, .16), transparent 28%),
        radial-gradient(circle at 16% 84%, rgba(102, 25, 25, .22), transparent 34%),
        linear-gradient(135deg, #020611, #061429 56%, #12070b);
}

.dpt-finale-image .dpt-kicker {
    color: var(--dpt-gold-soft);
}

.dpt-finale-image .dpt-section__header h2 {
    color: #fff;
    text-shadow: 0 3px 24px rgba(0, 0, 0, .34);
}

.dpt-finale-image .dpt-section__header > p:last-child {
    color: rgba(255, 255, 255, .84);
}

.dpt-finale-image__header {
    max-width: 1180px;
}

.dpt-finale-image__header h2 {
    max-width: 1120px;
    font-size: clamp(2.7rem, 6vw, 6.7rem);
    line-height: .98;
}

.dpt-finale-image__header > p:last-child {
    max-width: 980px;
    font-size: clamp(1.05rem, 1.7vw, 1.3rem);
    line-height: 1.7;
}

.dpt-finale-image__duo {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(18px, 2.4vw, 28px);
    margin: 0 0 clamp(24px, 3.5vw, 36px);
}

.dpt-finale-image__duo-card {
    margin: 0;
    overflow: hidden;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(202,167,91,.22);
    border-radius: clamp(16px, 1.8vw, 24px);
    box-shadow: 0 20px 56px rgba(0,0,0,.22);
}

.dpt-finale-image__duo-card img {
    display: block;
    width: 100%;
    height: auto;
    background: #04070e;
}

.dpt-finale-image__duo-card figcaption {
    display: grid;
    gap: .45rem;
    padding: clamp(18px, 2.5vw, 26px);
    background: linear-gradient(180deg, rgba(2,5,12,.22), rgba(2,5,12,.92)), #02050c;
    border-top: 1px solid rgba(255,255,255,.08);
}

.dpt-finale-image__duo-card strong {
    color: var(--dpt-gold-soft);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.1rem, 2vw, 1.55rem);
    line-height: 1.15;
}

.dpt-finale-image__duo-card span {
    color: rgba(255,255,255,.82);
    font-size: clamp(.94rem, 1.2vw, 1.02rem);
    line-height: 1.6;
}

.dpt-finale-image__figure {
    margin: 0;
    overflow: hidden;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(202,167,91,.28);
    border-radius: clamp(18px, 2vw, 28px);
    box-shadow: 0 26px 80px rgba(0,0,0,.28);
}

.dpt-finale-image__figure img {
    display: block;
    width: 100%;
    height: auto;
    background: #02050b;
}

.dpt-finale-image__figure figcaption {
    display: grid;
    gap: .45rem;
    padding: clamp(20px, 2.8vw, 30px);
    background:
        linear-gradient(180deg, rgba(2, 5, 12, .28), rgba(2, 5, 12, .94)),
        #02050c;
    border-top: 1px solid rgba(255,255,255,.08);
    text-align: center;
}

.dpt-finale-image__figure strong {
    color: var(--dpt-gold-soft);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.35rem, 2.6vw, 2.4rem);
    line-height: 1.15;
}

.dpt-finale-image__figure span {
    color: rgba(255,255,255,.84);
    font-size: clamp(.98rem, 1.4vw, 1.08rem);
    line-height: 1.6;
}

@media (max-width: 900px) {
    .dpt-finale-image__duo {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .dpt-finale-image__figure {
        border-radius: 18px;
    }
}


/* AccordÃ©ons galerie du prologue â€” version essentielle */
.dpt-prologue-gallery-section {
    padding: 0;
    background: #05070c;
}

.dpt-prologue-gallery-section > .dpt-shell {
    width: 100%;
    max-width: none;
}

.dpt-prologue-gallery-section .dpt-prologue-gallery {
    margin-top: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.dpt-prologue-gallery {
    margin-top: 0;
    overflow: hidden;
    background: #05070c;
    border: 1px solid var(--dpt-line);
    border-radius: var(--dpt-radius);
    box-shadow: 0 18px 46px rgba(0, 25, 68, .08);
}

.dpt-prologue-gallery__summary {
    position: relative;
    display: grid;
    gap: .45rem;
    padding: clamp(20px, 3vw, 30px) 72px clamp(20px, 3vw, 30px) clamp(20px, 3vw, 30px);
    color: #fff;
    background: linear-gradient(115deg, var(--dpt-navy), #071126 64%, #260a0c);
    cursor: pointer;
    list-style: none;
}

.dpt-prologue-gallery__summary::-webkit-details-marker {
    display: none;
}

.dpt-prologue-gallery__summary::marker {
    content: "";
}

.dpt-prologue-gallery__kicker {
    color: var(--dpt-gold-soft);
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-prologue-gallery__summary strong {
    max-width: 1000px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.15rem, 2.1vw, 1.9rem);
    line-height: 1.25;
}

.dpt-prologue-gallery__toggle {
    position: absolute;
    top: 50%;
    right: clamp(20px, 3vw, 30px);
    width: 28px;
    height: 28px;
    transform: translateY(-50%);
}

.dpt-prologue-gallery__toggle::before,
.dpt-prologue-gallery__toggle::after {
    content: "";
    position: absolute;
    top: 13px;
    left: 3px;
    width: 22px;
    height: 2px;
    background: var(--dpt-gold-soft);
    transition: transform .2s ease;
}

.dpt-prologue-gallery__toggle::after {
    transform: rotate(90deg);
}

.dpt-prologue-gallery[open] .dpt-prologue-gallery__toggle::after {
    transform: rotate(0);
}

.dpt-prologue-gallery__body {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    padding: 0;
    background: #05070c;
}

.dpt-prologue-gallery__card {
    margin: 0;
    overflow: hidden;
    background: #05070c;
    border: 2px solid rgba(234, 213, 159, .72);
    border-radius: 0;
    box-shadow: none;
}

.dpt-prologue-gallery__card img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: auto;
    object-fit: contain;
    background: #05070c;
}

.dpt-prologue-gallery__video {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
    gap: clamp(18px, 3vw, 30px);
    align-items: center;
    padding: clamp(18px, 3vw, 30px);
    background: linear-gradient(135deg, rgba(0,25,68,.96), rgba(38,10,12,.96));
    border-top: 1px solid rgba(202,167,91,.38);
}

.dpt-prologue-gallery__video-copy {
    display: grid;
    gap: .9rem;
}

.dpt-prologue-gallery__video-copy > span {
    color: var(--dpt-gold-soft);
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-prologue-gallery__video-copy h3 {
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.35rem, 2.4vw, 2.25rem);
    line-height: 1.12;
}

.dpt-prologue-gallery__video-copy p {
    margin: 0;
    color: rgba(255,255,255,.74);
}

.dpt-prologue-gallery__video-media {
    min-width: 0;
}

.dpt-prologue-gallery--opening .dpt-prologue-gallery__video {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr);
    width: 100%;
    gap: 0;
    padding: 0;
    overflow: hidden;
    background: linear-gradient(135deg, #071126 0%, #05070c 60%, #21090b 100%);
    border: 2px solid rgba(234, 213, 159, .72);
}

.dpt-prologue-gallery--opening .dpt-prologue-gallery__video-copy {
    align-content: center;
    padding: clamp(24px, 4vw, 52px);
    border-right: 1px solid rgba(234, 213, 159, .24);
}

.dpt-prologue-gallery--opening .dpt-prologue-gallery__video-copy .dpt-prologue-gallery__video-lead {
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.05rem, 1.6vw, 1.3rem);
    line-height: 1.45;
}

.dpt-prologue-gallery--opening .dpt-prologue-gallery__video-media {
    width: 100%;
    min-width: 0;
}

.dpt-prologue-gallery--opening .pt-youtube-facade {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #05070c;
}

.dpt-prologue-gallery--opening .pt-youtube-facade__trigger {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    appearance: none;
    cursor: pointer;
    background: #05070c;
}

.dpt-prologue-gallery--opening .pt-youtube-facade__poster,
.dpt-prologue-gallery--opening .pt-youtube-facade__iframe {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    object-fit: cover;
}

.dpt-prologue-gallery--opening .pt-youtube-facade__trigger::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(5, 7, 12, .08);
}

.dpt-prologue-gallery--opening .pt-youtube-facade__play {
    position: absolute;
    z-index: 1;
    left: 50%;
    top: 50%;
    width: 48px;
    height: 48px;
    border: 0;
    background: transparent;
    filter: drop-shadow(0 4px 8px rgba(5, 7, 12, .75));
    fill: #f2ebdd;
    pointer-events: none;
    transform: translate(-50%, -50%);
}

.dpt-prologue-gallery--opening .pt-youtube-facade__play::after {
    content: none;
}

.dpt-prologue-gallery--opening .pt-youtube-facade__trigger:focus-visible {
    outline: 2px solid rgba(242, 235, 221, .8);
    outline-offset: -2px;
}


@media (max-width: 980px) {
    .dpt-prologue-gallery__video,
    .dpt-prologue-gallery--opening .dpt-prologue-gallery__video {
        grid-template-columns: 1fr;
    }

    .dpt-prologue-gallery--opening .dpt-prologue-gallery__video-copy {
        border-right: 0;
        border-bottom: 1px solid rgba(234, 213, 159, .24);
    }

    .dpt-prologue-gallery__body {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .dpt-prologue-gallery__summary {
        padding-right: 58px;
    }
}

/* V49 â€” prologues bord Ã  bord sur mobile : suppression de toutes les marges blanches */
@media (max-width: 640px) {
    .dpt-prologue-gallery {
        width: calc(100% + 20px);
        margin-left: -10px;
        margin-right: -10px;
        border-left: 0;
        border-right: 0;
        border-radius: 0;
        box-shadow: none;
        background: transparent;
    }

    .dpt-prologue-gallery__body {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
        padding: 0;
        background: transparent;
    }

    .dpt-prologue-gallery__card {
        width: 100%;
        margin: 0;
        border: 2px solid rgba(234, 213, 159, .72);
        border-radius: 0;
        box-shadow: none;
        background: transparent;
    }

    .dpt-prologue-gallery__card img {
        display: block;
        width: 100%;
        height: auto;
        margin: 0;
        background: transparent;
    }

    .dpt-prologue-gallery__video {
        padding: 18px 12px;
    }

    .dpt-prologue-gallery--opening .dpt-prologue-gallery__video {
        grid-template-columns: 1fr;
        padding: 0;
    }

    .dpt-prologue-gallery--opening .dpt-prologue-gallery__video-copy {
        padding: 22px 16px;
        border-right: 0;
        border-bottom: 1px solid rgba(234, 213, 159, .24);
    }
}

/* V50 â€” Montage essentiel desktop : comparaison des marques sur une ligne entiÃ¨re */
@media (min-width: 821px) {
    .dpt-essential-verdict {
        grid-template-columns: 1fr;
        grid-template-areas:
            "head"
            "signs"
            "copy"
            "question"
            "link";
    }

    .dpt-essential-verdict--with-legal-note {
        grid-template-areas:
            "head"
            "signs"
            "copy"
            "question"
            "legal"
            "link";
    }

    .dpt-essential-verdict__signs {
        width: 100%;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    }

    .dpt-essential-verdict__signs img {
        height: clamp(210px, 17vw, 290px);
    }

    .dpt-essential-verdict > dl {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* V53 â€” Bloc Cour de cassation : signe complet, facteurs perceptifs et restauration */
#dpt-montage-essentiel .dpt-essential-verdict__legal-note--cassation {
    grid-area: legal;
    width: 100%;
    padding: clamp(24px, 3.5vw, 38px);
    color: #dce4f2;
    background: linear-gradient(135deg, #080f1e 0%, #0b1220 72%, #11182a 100%);
    border-top: 4px solid #661919;
}

#dpt-montage-essentiel .dpt-essential-verdict__legal-note--cassation .dpt-essential-verdict__legal-kicker {
    display: block;
    color: #e6ca8c;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

#dpt-montage-essentiel .dpt-essential-verdict__legal-note--cassation h4 {
    max-width: 980px;
    margin: .65rem 0 1rem;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.45rem, 2.7vw, 2.55rem);
    line-height: 1.08;
}

#dpt-montage-essentiel .dpt-essential-verdict__legal-note--cassation p {
    max-width: 1120px;
    margin: .8rem 0 0;
    color: #c8d0df;
    font-size: clamp(1rem, 1.35vw, 1.13rem);
    line-height: 1.65;
}

#dpt-montage-essentiel .dpt-essential-verdict__legal-note--cassation p strong {
    color: #fff;
    font-weight: 950;
}

#dpt-montage-essentiel .dpt-essential-verdict__legal-note--cassation .dpt-essential-verdict__legal-conclusion {
    margin-top: 1.25rem;
    padding: 17px 20px;
    color: #fff;
    background: rgba(102, 25, 25, .30);
    border-left: 4px solid #e6ca8c;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.02rem, 1.45vw, 1.18rem);
    font-weight: 700;
}

#dpt-montage-essentiel .dpt-essential-verdict__legal-note--cassation .dpt-essential-verdict__legal-sources {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin-top: 20px;
}

#dpt-montage-essentiel .dpt-essential-verdict__legal-note--cassation .dpt-essential-verdict__legal-sources a {
    color: #e6ca8c;
    font-size: .8rem;
    font-weight: 850;
    text-underline-offset: .22em;
}

/* V53 â€” DÃ©veloppement mÃ©thodologique du repÃ¨re Cour de cassation */
#dpt-montage-essentiel .dpt-essential-verdict__legal-note--cassation h5 {
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.05rem, 1.7vw, 1.35rem);
    line-height: 1.2;
}

#dpt-montage-essentiel .dpt-essential-verdict__legal-application,
#dpt-montage-essentiel .dpt-essential-verdict__legal-method {
    max-width: 1180px;
    margin-top: 1.25rem;
    padding: clamp(18px, 2.5vw, 25px);
    background: rgba(255, 255, 255, .045);
    border: 1px solid rgba(230, 202, 140, .18);
    border-left: 4px solid rgba(230, 202, 140, .72);
}

#dpt-montage-essentiel .dpt-essential-verdict__legal-application > p,
#dpt-montage-essentiel .dpt-essential-verdict__legal-method > p {
    margin-top: .7rem;
}

#dpt-montage-essentiel .dpt-essential-verdict__legal-application ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 22px;
    margin: 1rem 0;
    padding: 0;
    list-style: none;
}

#dpt-montage-essentiel .dpt-essential-verdict__legal-application li {
    position: relative;
    padding-left: 1.15rem;
    color: #eef2f8;
    line-height: 1.5;
}

#dpt-montage-essentiel .dpt-essential-verdict__legal-application li::before {
    content: "";
    position: absolute;
    top: .68em;
    left: 0;
    width: 6px;
    height: 6px;
    background: #e6ca8c;
    border-radius: 50%;
}

#dpt-montage-essentiel .dpt-essential-verdict__legal-principle {
    max-width: 1180px;
    margin: 1.25rem 0 0;
    padding: clamp(17px, 2.3vw, 24px);
    color: #fff;
    background: #001944;
    border-left: 5px solid #e6ca8c;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.18rem, 2vw, 1.65rem);
    font-weight: 700;
    line-height: 1.3;
}

#dpt-montage-essentiel .dpt-essential-verdict__legal-chain {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 1rem;
}

#dpt-montage-essentiel .dpt-essential-verdict__legal-chain span {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: .55rem .8rem;
    color: #fff;
    background: rgba(102, 25, 25, .36);
    border: 1px solid rgba(230, 202, 140, .28);
    font-size: .84rem;
    font-weight: 900;
    letter-spacing: .025em;
}

#dpt-montage-essentiel .dpt-essential-verdict__legal-chain b {
    color: #e6ca8c;
    font-size: 1.15rem;
}

#dpt-montage-essentiel .dpt-essential-verdict__legal-products {
    max-width: 1180px;
    margin-top: 1rem;
    padding: 14px 17px;
    color: #eef2f8;
    background: rgba(0, 25, 68, .48);
    border-left: 4px solid #7083a8;
    font-weight: 750;
}

@media (max-width: 760px) {
    #dpt-montage-essentiel .dpt-essential-verdict__legal-application ul {
        grid-template-columns: 1fr;
    }

    #dpt-montage-essentiel .dpt-essential-verdict__legal-chain {
        display: grid;
        grid-template-columns: 1fr;
    }

    #dpt-montage-essentiel .dpt-essential-verdict__legal-chain span {
        justify-content: center;
        text-align: center;
    }

    #dpt-montage-essentiel .dpt-essential-verdict__legal-chain b {
        justify-self: center;
        transform: rotate(90deg);
    }
}

/* V56 â€” Mobile : fond bleu conservÃ©, sans boÃ®te fermÃ©e */
@media (max-width: 760px) {
    #dpt-montage-essentiel .dpt-essential-verdict__legal-note--cassation {
        width: calc(100% + 40px);
        margin: 0 -20px;
        padding: 24px 20px 20px;
        color: #dce4f2;
        background: linear-gradient(135deg, #080f1e 0%, #0b1220 72%, #11182a 100%);
        border-top: 3px solid var(--dpt-red);
        border-radius: 0;
        box-shadow: none;
    }

    #dpt-montage-essentiel .dpt-essential-verdict__legal-note--cassation .dpt-essential-verdict__legal-kicker {
        color: #e6ca8c;
    }

    #dpt-montage-essentiel .dpt-essential-verdict__legal-note--cassation h4,
    #dpt-montage-essentiel .dpt-essential-verdict__legal-note--cassation h5 {
        color: #fff;
    }

    #dpt-montage-essentiel .dpt-essential-verdict__legal-note--cassation p,
    #dpt-montage-essentiel .dpt-essential-verdict__legal-note--cassation li {
        color: #c8d0df;
    }

    #dpt-montage-essentiel .dpt-essential-verdict__legal-note--cassation p strong {
        color: #fff;
    }

    #dpt-montage-essentiel .dpt-essential-verdict__legal-application,
    #dpt-montage-essentiel .dpt-essential-verdict__legal-method {
        margin-top: 1.15rem;
        padding: 18px 0 0;
        background: transparent;
        border: 0;
        border-top: 1px solid rgba(255,255,255,.14);
    }

    #dpt-montage-essentiel .dpt-essential-verdict__legal-application li::before {
        background: #e6ca8c;
    }

    #dpt-montage-essentiel .dpt-essential-verdict__legal-principle {
        margin-top: 1.2rem;
        padding: 18px 0;
        color: #fff;
        background: transparent;
        border: 0;
        border-top: 4px solid #e6ca8c;
        border-bottom: 1px solid rgba(255,255,255,.14);
    }

    #dpt-montage-essentiel .dpt-essential-verdict__legal-chain span {
        color: #fff;
        background: rgba(102, 25, 25, .36);
        border-color: rgba(230, 202, 140, .28);
    }

    #dpt-montage-essentiel .dpt-essential-verdict__legal-chain b {
        color: #e6ca8c;
    }

    #dpt-montage-essentiel .dpt-essential-verdict__legal-products {
        margin-top: 1rem;
        padding: 15px 0;
        color: #eef2f8;
        background: transparent;
        border: 0;
        border-top: 1px solid rgba(255,255,255,.14);
    }

    #dpt-montage-essentiel .dpt-essential-verdict__legal-note--cassation .dpt-essential-verdict__legal-conclusion {
        margin-top: 1.15rem;
        padding: 18px 0;
        color: #fff;
        background: transparent;
        border: 0;
        border-top: 3px solid var(--dpt-red);
        border-bottom: 1px solid rgba(255,255,255,.14);
    }

    #dpt-montage-essentiel .dpt-essential-verdict__legal-note--cassation .dpt-essential-verdict__legal-sources {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
        margin-top: 18px;
        padding-bottom: 4px;
    }

    #dpt-montage-essentiel .dpt-essential-verdict__legal-note--cassation .dpt-essential-verdict__legal-sources a {
        color: #e6ca8c;
        font-size: .82rem;
        line-height: 1.45;
        overflow-wrap: anywhere;
    }
}

/* V55 â€” SynthÃ¨se transversale : huit exigences juridiques et leurs sources */
#dpt-montage-essentiel .dpt-legal-audit {
    position: relative;
    margin-top: clamp(34px, 5vw, 64px);
    padding: clamp(28px, 4.5vw, 54px);
    overflow: hidden;
    color: #dce4f2;
    background:
        radial-gradient(circle at 92% 4%, rgba(202, 167, 91, .13), transparent 31%),
        linear-gradient(135deg, #060d1b 0%, #0a1428 58%, #11172a 100%);
    border-top: 5px solid var(--dpt-red);
    box-shadow: 0 28px 72px rgba(2, 9, 24, .22);
}

#dpt-montage-essentiel .dpt-legal-audit::before {
    content: "08";
    position: absolute;
    top: -48px;
    right: 18px;
    color: rgba(255, 255, 255, .035);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(10rem, 21vw, 20rem);
    font-weight: 900;
    line-height: 1;
    pointer-events: none;
}

#dpt-montage-essentiel .dpt-legal-audit__header,
#dpt-montage-essentiel .dpt-legal-audit__grid,
#dpt-montage-essentiel .dpt-legal-audit__conclusion,
#dpt-montage-essentiel .dpt-legal-audit__question {
    position: relative;
    z-index: 1;
}

#dpt-montage-essentiel .dpt-legal-audit__header {
    max-width: 1140px;
}

#dpt-montage-essentiel .dpt-legal-audit__kicker {
    margin: 0 0 .85rem;
    color: #e6ca8c;
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

#dpt-montage-essentiel .dpt-legal-audit__header h2 {
    max-width: 1080px;
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 4.4vw, 4.7rem);
    line-height: 1.02;
    letter-spacing: -.035em;
}

#dpt-montage-essentiel .dpt-legal-audit__header > p:not(.dpt-legal-audit__kicker) {
    max-width: 990px;
    margin: 1.25rem 0 0;
    color: #c8d0df;
    font-size: clamp(1rem, 1.4vw, 1.16rem);
    line-height: 1.7;
}

#dpt-montage-essentiel .dpt-legal-audit__header > p strong {
    color: #fff;
}

#dpt-montage-essentiel .dpt-legal-audit__foundation {
    display: grid;
    gap: .35rem;
    max-width: 980px;
    margin-top: 1.35rem;
    padding: 16px 19px;
    background: rgba(102, 25, 25, .28);
    border-left: 4px solid #e6ca8c;
}

#dpt-montage-essentiel .dpt-legal-audit__foundation span {
    color: #e6ca8c;
    font-size: .69rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

#dpt-montage-essentiel .dpt-legal-audit__foundation strong {
    color: #fff;
    font-size: .98rem;
    line-height: 1.5;
}

#dpt-montage-essentiel .dpt-legal-audit__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: clamp(28px, 4vw, 46px) 0 0;
    padding: 0;
    list-style: none;
}

#dpt-montage-essentiel .dpt-legal-rule {
    min-width: 0;
}

#dpt-montage-essentiel .dpt-legal-rule > article {
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: clamp(20px, 2.5vw, 29px);
    background: rgba(255, 255, 255, .045);
    border: 1px solid rgba(230, 202, 140, .18);
    border-top: 3px solid rgba(230, 202, 140, .72);
}

#dpt-montage-essentiel .dpt-legal-rule__header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 15px;
    align-items: start;
}

#dpt-montage-essentiel .dpt-legal-rule__number {
    display: grid;
    place-items: center;
    width: 46px;
    min-width: 46px;
    aspect-ratio: 1;
    color: #fff;
    background: var(--dpt-red);
    font-weight: 950;
    line-height: 1;
}

#dpt-montage-essentiel .dpt-legal-rule__header h3 {
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.22rem, 2vw, 1.72rem);
    line-height: 1.16;
}

#dpt-montage-essentiel .dpt-legal-rule__text {
    margin: 1rem 0 0;
    color: #cbd3e0;
    line-height: 1.65;
}

#dpt-montage-essentiel .dpt-legal-rule__application {
    display: grid;
    gap: .35rem;
    margin: 1rem 0 0;
    padding: 14px 15px;
    color: #eef2f8;
    background: rgba(0, 25, 68, .58);
    border-left: 4px solid #7083a8;
}

#dpt-montage-essentiel .dpt-legal-rule__application span {
    color: #e6ca8c;
    font-size: .67rem;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
}

#dpt-montage-essentiel .dpt-legal-rule__application strong {
    color: #fff;
    font-size: .93rem;
    line-height: 1.5;
}

#dpt-montage-essentiel .dpt-legal-rule__references {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-top: auto;
    padding-top: 1.2rem;
}

#dpt-montage-essentiel .dpt-legal-rule__references section {
    min-width: 0;
    padding-top: 13px;
    border-top: 1px solid rgba(255, 255, 255, .13);
}

#dpt-montage-essentiel .dpt-legal-rule__references h4 {
    margin: 0 0 .6rem;
    color: #e6ca8c;
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
}

#dpt-montage-essentiel .dpt-legal-rule__references ul {
    display: grid;
    gap: .55rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

#dpt-montage-essentiel .dpt-legal-rule__references a {
    display: inline;
    color: #d8e0ec;
    font-size: .79rem;
    font-weight: 720;
    line-height: 1.45;
    text-decoration-color: rgba(230, 202, 140, .55);
    text-underline-offset: .2em;
    overflow-wrap: anywhere;
}

#dpt-montage-essentiel .dpt-legal-rule__references a:hover {
    color: #fff;
    text-decoration-color: #e6ca8c;
}

#dpt-montage-essentiel .dpt-legal-rule__references a span {
    color: #e6ca8c;
}

#dpt-montage-essentiel .dpt-legal-audit__conclusion {
    display: grid;
    gap: .55rem;
    margin: clamp(24px, 3.5vw, 38px) 0 0;
    padding: clamp(20px, 3vw, 30px);
    color: #fff;
    background: rgba(102, 25, 25, .38);
    border-left: 5px solid #e6ca8c;
}

#dpt-montage-essentiel .dpt-legal-audit__conclusion span {
    color: #e6ca8c;
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

#dpt-montage-essentiel .dpt-legal-audit__conclusion strong {
    max-width: 1120px;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.18rem, 2vw, 1.65rem);
    line-height: 1.38;
}

#dpt-montage-essentiel .dpt-legal-audit__question {
    max-width: 1050px;
    margin: 1.15rem 0 0;
    color: #e6ca8c;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.3rem, 2.4vw, 2.1rem);
    font-weight: 700;
    line-height: 1.25;
}

@media (max-width: 980px) {
    #dpt-montage-essentiel .dpt-legal-audit__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    #dpt-montage-essentiel .dpt-legal-audit {
        width: calc(100% + 32px);
        margin: 32px -16px 0;
        padding: 28px 16px 24px;
        background:
            radial-gradient(circle at 100% 0%, rgba(202, 167, 91, .11), transparent 28%),
            linear-gradient(135deg, #060d1b 0%, #0a1428 62%, #11172a 100%);
        border-radius: 0;
        box-shadow: none;
    }

    #dpt-montage-essentiel .dpt-legal-audit::before {
        top: -20px;
        right: -10px;
        font-size: 10rem;
    }

    #dpt-montage-essentiel .dpt-legal-audit__header h2 {
        font-size: clamp(2rem, 10vw, 3.1rem);
    }

    #dpt-montage-essentiel .dpt-legal-audit__foundation {
        padding: 15px 0;
        background: transparent;
        border-left: 0;
        border-top: 3px solid #e6ca8c;
        border-bottom: 1px solid rgba(255,255,255,.14);
    }

    #dpt-montage-essentiel .dpt-legal-audit__grid {
        gap: 12px;
    }

    #dpt-montage-essentiel .dpt-legal-rule > article {
        padding: 20px 0;
        background: transparent;
        border: 0;
        border-top: 2px solid rgba(230, 202, 140, .45);
    }

    #dpt-montage-essentiel .dpt-legal-rule__references {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    #dpt-montage-essentiel .dpt-legal-rule__application {
        padding: 14px 0 14px 14px;
        background: transparent;
        border-top: 1px solid rgba(255,255,255,.12);
        border-bottom: 1px solid rgba(255,255,255,.12);
    }

    #dpt-montage-essentiel .dpt-legal-audit__conclusion {
        padding: 20px 0;
        background: transparent;
        border-left: 0;
        border-top: 4px solid var(--dpt-red);
        border-bottom: 1px solid rgba(255,255,255,.14);
    }
}

/* =========================================================
   V58 â€” VidÃ©o intÃ©grÃ©e au carrousel final, sans boÃ®te sÃ©parÃ©e
   ========================================================= */
.dpt-prologue-gallery--closing .dpt-prologue-gallery__card--video {
    grid-column: 1 / -1;
    position: relative;
    width: 100%;
    margin: 0;
    overflow: hidden;
    background: #05070c;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.dpt-prologue-gallery--closing .dpt-prologue-gallery__card--video .pt-youtube-facade {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #05070c;
}

.dpt-prologue-gallery--closing .dpt-prologue-gallery__card--video .pt-youtube-facade__trigger {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    appearance: none;
    cursor: pointer;
    background: #05070c;
}

.dpt-prologue-gallery--closing .dpt-prologue-gallery__card--video .pt-youtube-facade__poster,
.dpt-prologue-gallery--closing .dpt-prologue-gallery__card--video .pt-youtube-facade__iframe {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    object-fit: cover;
}

.dpt-prologue-gallery--closing .dpt-prologue-gallery__card--video .pt-youtube-facade__trigger::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(5,7,12,.05) 28%, rgba(5,7,12,.84) 100%);
    pointer-events: none;
}

.dpt-prologue-gallery--closing .dpt-prologue-gallery__video-overlay {
    position: absolute;
    z-index: 2;
    right: clamp(20px, 4vw, 64px);
    bottom: clamp(20px, 4vw, 58px);
    left: clamp(20px, 4vw, 64px);
    display: grid;
    gap: .35rem;
    color: #fff;
    text-align: left;
    pointer-events: none;
}

.dpt-prologue-gallery--closing .dpt-prologue-gallery__video-overlay small {
    color: var(--dpt-gold-soft);
    font-size: clamp(.68rem, 1vw, .82rem);
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.dpt-prologue-gallery--closing .dpt-prologue-gallery__video-overlay strong {
    max-width: 980px;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.55rem, 4.2vw, 4.8rem);
    line-height: 1.02;
    text-wrap: balance;
}

.dpt-prologue-gallery--closing .dpt-prologue-gallery__card--video .pt-youtube-facade__play {
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 50%;
    width: clamp(52px, 6vw, 82px);
    height: clamp(52px, 6vw, 82px);
    border: 0;
    background: transparent;
    fill: #f2ebdd;
    filter: drop-shadow(0 8px 18px rgba(5, 7, 12, .9));
    pointer-events: none;
    transform: translate(-50%, -50%);
}

.dpt-prologue-gallery--closing .dpt-prologue-gallery__card--video .pt-youtube-facade__trigger:focus-visible {
    outline: 3px solid var(--dpt-gold-soft);
    outline-offset: -3px;
}

@media (max-width: 640px) {
    .dpt-prologue-gallery--closing .dpt-prologue-gallery__card--video {
        width: 100%;
        border: 0;
    }

    .dpt-prologue-gallery--closing .dpt-prologue-gallery__video-overlay {
        right: 16px;
        bottom: 16px;
        left: 16px;
    }

    .dpt-prologue-gallery--closing .dpt-prologue-gallery__video-overlay strong {
        max-width: 82%;
        font-size: clamp(1.35rem, 8vw, 2.5rem);
    }
}


/* V58 â€” menu plus contrastÃ© + suppression des effets de flash */
.pt-site-header {
    background: rgba(3, 8, 20, .96) !important;
    border-bottom: 1px solid rgba(202, 167, 91, .18);
    box-shadow: 0 14px 32px rgba(2, 9, 24, .28);
    backdrop-filter: blur(14px);
}

.pt-site-header__brand,
.pt-site-header__link,
.pt-site-header__submenu-toggle,
.pt-site-header__toggle {
    color: #f8f4ec !important;
}

.pt-site-header__tag {
    color: rgba(230, 202, 140, .9) !important;
}

.pt-site-header__logo {
    color: #ffffff !important;
}

.pt-site-header__link:hover,
.pt-site-header__link:focus-visible,
.pt-site-header__item.is-active .pt-site-header__link,
.pt-site-header__submenu-toggle:hover,
.pt-site-header__submenu-toggle:focus-visible {
    color: #e6ca8c !important;
}

.pt-site-header__toggle-line {
    stroke: #ffffff !important;
}

.pt-site-header__submenu {
    background: rgba(7, 17, 38, .98) !important;
    border: 1px solid rgba(202, 167, 91, .16);
    box-shadow: 0 18px 38px rgba(2, 9, 24, .34);
}

.pt-site-header__submenu-link {
    color: rgba(255, 255, 255, .92) !important;
}

.pt-site-header__submenu-link:hover,
.pt-site-header__submenu-link:focus-visible {
    color: #e6ca8c !important;
    background: rgba(255, 255, 255, .04);
}

/* le menu occupe dÃ©jÃ  sa propre hauteur : aucun espace artificiel */
.dpt-page {
    padding-top: 0;
}

/* suppression du flash visuel sur l'ouverture */
.dpt-hero {
    background: linear-gradient(140deg, #030814 0%, #071126 50%, #14090b 100%);
}

.dpt-hero::before {
    background: none;
}

.dpt-hero__grain {
    opacity: .06;
}

@media (max-width: 980px) {
    .pt-site-header__nav {
        background: rgba(3, 8, 20, .985) !important;
        border-left: 1px solid rgba(202, 167, 91, .16);
        box-shadow: -18px 0 38px rgba(2, 9, 24, .34);
    }
}

@media (max-width: 760px) {
    .dpt-page {
        padding-top: 0;
    }

    .pt-site-header {
        background: rgba(3, 8, 20, .985) !important;
    }
}


/* V59 â€” footer canonique : contraste renforcÃ© */
.pt-site-footer {
    position: relative;
    padding: clamp(34px, 5vw, 58px) max(20px, 4vw);
    color: #f8f4ec !important;
    background: #030814 !important;
    border-top: 1px solid rgba(202, 167, 91, .34);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025);
}

.pt-site-footer__line {
    max-width: 1100px;
    margin: 0 auto clamp(22px, 3vw, 34px);
    color: #ffffff !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.05rem, 1.8vw, 1.4rem);
    line-height: 1.45;
    text-align: center;
    opacity: 1 !important;
}

.pt-site-footer__nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px clamp(18px, 3vw, 34px);
    max-width: 1200px;
    margin: 0 auto;
}

.pt-site-footer__nav a {
    color: rgba(255, 255, 255, .82) !important;
    font-size: .9rem;
    font-weight: 750;
    text-decoration-color: rgba(230, 202, 140, .45);
    text-underline-offset: .28em;
    transition: color .2s ease, text-decoration-color .2s ease;
}

.pt-site-footer__nav a:hover,
.pt-site-footer__nav a:focus-visible,
.pt-site-footer__nav a[aria-current="page"] {
    color: #e6ca8c !important;
    text-decoration-color: #e6ca8c;
}

@media (max-width: 640px) {
    .pt-site-footer {
        padding: 32px 20px 38px;
    }

    .pt-site-footer__line {
        margin-bottom: 24px;
        font-size: 1.08rem;
        text-align: left;
    }

    .pt-site-footer__nav {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .pt-site-footer__nav a {
        display: block;
        padding: 8px 0;
        border-bottom: 1px solid rgba(255, 255, 255, .1);
    }
}


/* V59 â€” transition compacte vers les preuves */
.dpt-legal-audit__next {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(18px, 3vw, 34px);
    margin-top: clamp(28px, 4vw, 44px);
    padding: clamp(20px, 3vw, 30px);
    color: #eef2f8;
    background: rgba(0, 25, 68, .55);
    border-top: 1px solid rgba(230, 202, 140, .34);
    border-bottom: 1px solid rgba(230, 202, 140, .18);
}

.dpt-legal-audit__next p {
    max-width: 900px;
    margin: 0;
    color: #c8d0df;
    font-size: clamp(1rem, 1.35vw, 1.12rem);
}

.dpt-legal-audit__next p strong {
    color: #fff;
}

.dpt-legal-audit__next .dpt-btn {
    flex: 0 0 auto;
}

.dpt-proof-transition {
    color: #fff;
    background: linear-gradient(135deg, #030814 0%, #071329 60%, #16090b 100%);
    border-top: 1px solid rgba(202, 167, 91, .22);
    border-bottom: 1px solid rgba(202, 167, 91, .18);
}

.dpt-proof-transition .dpt-shell {
    max-width: 1180px;
}

.dpt-proof-transition .dpt-kicker {
    color: var(--dpt-gold-soft);
}

.dpt-proof-transition h2 {
    max-width: 1100px;
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.35rem, 5vw, 5.5rem);
    line-height: .98;
    letter-spacing: -.035em;
}

.dpt-proof-transition p:not(.dpt-kicker) {
    max-width: 920px;
    margin: 1.4rem 0 0;
    color: rgba(255,255,255,.74);
    font-size: clamp(1rem, 1.5vw, 1.2rem);
}

.dpt-proof-transition p strong {
    color: #fff;
}

.dpt-proof-transition__route {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
    margin-top: clamp(26px, 4vw, 42px);
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,.14);
}

.dpt-proof-transition__route span {
    color: var(--dpt-gold-soft);
    font-weight: 900;
    letter-spacing: .025em;
}

.dpt-proof-transition__route b {
    color: var(--dpt-red-bright);
}

/* SynthÃ¨se finale allÃ©gÃ©e */
.dpt-neutralized__montage {
    margin-top: 0;
}

@media (max-width: 760px) {
    .dpt-legal-audit__next {
        display: grid;
        grid-template-columns: 1fr;
    }

    .dpt-legal-audit__next .dpt-btn {
        width: 100%;
    }

    .dpt-proof-transition__route {
        display: grid;
        grid-template-columns: 1fr;
    }

    .dpt-proof-transition__route b {
        justify-self: center;
        transform: rotate(90deg);
    }
}


/* V59 â€” section restaurÃ©e : la dame arrose lâ€™arbre */
.dpt-language-garden {
    margin-top: clamp(34px, 6vw, 72px);
    padding: clamp(28px, 5vw, 58px);
    color: #fff;
    background: linear-gradient(145deg, #020611 0%, #071329 56%, #16090b 100%);
    border-top: 4px solid var(--dpt-gold);
}

.dpt-language-garden__header {
    max-width: 1040px;
}

.dpt-language-garden__kicker {
    margin: 0 0 .8rem;
    color: var(--dpt-gold-soft);
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.dpt-language-garden__header h2 {
    max-width: 980px;
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 4.5vw, 4.65rem);
    line-height: 1;
    letter-spacing: -.035em;
}

.dpt-language-garden__header > p:last-child {
    max-width: 900px;
    margin: 1.25rem 0 0;
    color: rgba(255,255,255,.74);
    font-size: clamp(1rem, 1.4vw, 1.16rem);
}

.dpt-language-garden__header strong {
    color: #fff;
}

.dpt-language-garden__parable {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: clamp(14px, 2vw, 24px);
    align-items: stretch;
    margin: clamp(30px, 5vw, 54px) 0 20px;
}

.dpt-language-garden__card {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    background: #070b14;
    border: 1px solid rgba(202,167,91,.38);
    box-shadow: 0 22px 60px rgba(0,0,0,.25);
}

.dpt-language-garden__image {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #02050c;
}

.dpt-language-garden__image::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(to top, rgba(2,5,12,.68), transparent 34%);
}

.dpt-language-garden__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.dpt-language-garden__card figcaption {
    display: grid;
    gap: .55rem;
    padding: clamp(18px, 2.7vw, 28px);
    background: linear-gradient(135deg, #071126, #12090b);
}

.dpt-language-garden__card figcaption > span {
    color: var(--dpt-gold-soft);
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-language-garden__card figcaption > strong {
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.25rem, 2.15vw, 2rem);
    line-height: 1.12;
}

.dpt-language-garden__card figcaption p {
    margin: 0;
    color: rgba(255,255,255,.7);
    font-size: .92rem;
}

.dpt-language-garden__divider {
    display: grid;
    place-content: center;
    justify-items: center;
    gap: 8px;
    min-width: 84px;
    color: var(--dpt-gold-soft);
    text-align: center;
}

.dpt-language-garden__divider span {
    font-size: .66rem;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.dpt-language-garden__divider b {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.6rem, 5vw, 5rem);
    line-height: 1;
}

.dpt-language-garden__thesis {
    max-width: 1120px;
    margin: 0 auto;
    padding: clamp(20px, 3vw, 30px);
    color: rgba(255,255,255,.78);
    background: rgba(255,255,255,.055);
    border-left: 5px solid var(--dpt-gold);
    text-align: center;
}

.dpt-language-garden__thesis strong {
    color: #fff;
}

@media (max-width: 940px) {
    .dpt-language-garden__parable {
        grid-template-columns: 1fr;
    }

    .dpt-language-garden__card {
        width: min(100%, 760px);
        margin-inline: auto;
    }

    .dpt-language-garden__divider {
        grid-template-columns: auto auto auto;
        min-width: 0;
        padding: 4px 0;
    }

    .dpt-language-garden__divider b {
        transform: rotate(90deg);
        font-size: 2.5rem;
    }
}

@media (max-width: 600px) {
    .dpt-language-garden {
        width: calc(100% + 32px);
        margin-inline: -16px;
        padding: 30px 16px 34px;
    }

    .dpt-language-garden__card {
        width: 100%;
    }

    .dpt-language-garden__card figcaption {
        padding: 18px 16px 20px;
    }

    .dpt-language-garden__thesis {
        text-align: left;
    }
}

/* V60 â€” section arbre : fondements lÃ©gaux, jurisprudence et limite de la notoriÃ©tÃ© */
.dpt-language-garden__legal {
    margin-top: clamp(34px, 5vw, 58px);
    padding: clamp(22px, 4vw, 42px);
    color: var(--dpt-ink);
    background: #f7f3e9;
    border: 1px solid rgba(202, 167, 91, .45);
    box-shadow: 0 24px 64px rgba(0, 0, 0, .22);
}

.dpt-language-garden__legal-head {
    max-width: 980px;
    margin-bottom: clamp(22px, 4vw, 38px);
}

.dpt-language-garden__legal-head > p {
    margin: 0 0 .6rem;
    color: var(--dpt-red);
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.dpt-language-garden__legal-head h3 {
    margin: 0;
    color: var(--dpt-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.8rem, 3.8vw, 3.65rem);
    line-height: 1.04;
    letter-spacing: -.03em;
}

.dpt-language-garden__law-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.dpt-language-garden__law-card {
    position: relative;
    display: grid;
    align-content: start;
    min-width: 0;
    padding: clamp(20px, 3vw, 30px);
    background: #fff;
    border: 1px solid rgba(0, 25, 68, .14);
    border-top: 4px solid var(--dpt-navy);
}

.dpt-language-garden__law-card:nth-child(even) {
    border-top-color: var(--dpt-red);
}

.dpt-language-garden__law-index {
    display: grid;
    place-items: center;
    width: 40px;
    aspect-ratio: 1;
    margin-bottom: 1rem;
    color: #fff;
    background: var(--dpt-navy);
    font-size: .72rem;
    font-weight: 950;
}

.dpt-language-garden__law-card:nth-child(even) .dpt-language-garden__law-index {
    background: var(--dpt-red);
}

.dpt-language-garden__law-card h4 {
    margin: 0;
    color: var(--dpt-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.2rem, 2vw, 1.65rem);
    line-height: 1.16;
}

.dpt-language-garden__law-card p {
    margin: .9rem 0 1.1rem;
    color: #535c70;
    font-size: .94rem;
}

.dpt-language-garden__law-card p strong {
    color: var(--dpt-navy);
}

.dpt-language-garden__law-source {
    align-self: end;
    width: fit-content;
    color: var(--dpt-red) !important;
    font-size: .79rem;
    font-weight: 900;
    text-decoration-thickness: 1px;
    text-underline-offset: .24em;
}

.dpt-language-garden__law-source:hover,
.dpt-language-garden__law-source:focus-visible {
    color: var(--dpt-navy) !important;
}

.dpt-language-garden__case-law {
    margin-top: clamp(22px, 4vw, 38px);
    padding: clamp(22px, 4vw, 38px);
    color: #fff;
    background: linear-gradient(125deg, #020611, #071329 60%, #17090b);
    border-left: 5px solid var(--dpt-gold);
}

.dpt-language-garden__case-law-head {
    max-width: 900px;
}

.dpt-language-garden__case-law-head > span {
    color: var(--dpt-gold-soft);
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.dpt-language-garden__case-law-head h3 {
    margin: .55rem 0 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.65rem, 3.3vw, 3rem);
    line-height: 1.05;
}

.dpt-language-garden__case-law-head p {
    max-width: 780px;
    margin: .9rem 0 0;
    color: rgba(255, 255, 255, .72);
}

.dpt-language-garden__case-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 24px;
}

.dpt-language-garden__case-grid article {
    padding: clamp(18px, 2.5vw, 26px);
    background: rgba(255, 255, 255, .055);
    border: 1px solid rgba(255, 255, 255, .13);
}

.dpt-language-garden__case-grid time {
    color: var(--dpt-gold-soft);
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.dpt-language-garden__case-grid h4 {
    margin: .55rem 0 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.15rem, 1.8vw, 1.5rem);
    line-height: 1.15;
}

.dpt-language-garden__case-grid p {
    margin: .8rem 0 1rem;
    color: rgba(255, 255, 255, .7);
    font-size: .9rem;
}

.dpt-language-garden__case-grid a {
    color: var(--dpt-gold-soft) !important;
    font-size: .78rem;
    font-weight: 900;
    text-underline-offset: .24em;
}

.dpt-language-garden__case-grid a:hover,
.dpt-language-garden__case-grid a:focus-visible {
    color: #fff !important;
}

.dpt-language-garden__balance {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: clamp(22px, 4vw, 38px);
}

.dpt-language-garden__balance-card {
    min-width: 0;
    padding: clamp(22px, 3vw, 32px);
    border: 1px solid rgba(0, 25, 68, .14);
}

.dpt-language-garden__balance-card--can {
    background: #edf4ff;
    border-top: 5px solid var(--dpt-navy);
}

.dpt-language-garden__balance-card--cannot {
    background: #fff0ee;
    border-top: 5px solid var(--dpt-red);
}

.dpt-language-garden__balance-card > span {
    color: var(--dpt-red);
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-language-garden__balance-card--can > span {
    color: var(--dpt-navy);
}

.dpt-language-garden__balance-card h3 {
    margin: .55rem 0 0;
    color: var(--dpt-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.35rem, 2.4vw, 2rem);
    line-height: 1.1;
}

.dpt-language-garden__balance-card ul {
    display: grid;
    gap: .7rem;
    margin: 1rem 0 0;
    padding-left: 1.15rem;
    color: #4f586b;
}

.dpt-language-garden__balance-card li::marker {
    color: var(--dpt-red);
}

.dpt-language-garden__balance-card--can li::marker {
    color: var(--dpt-navy);
}

.dpt-language-garden__maxim {
    max-width: 1120px;
    margin: clamp(24px, 4vw, 42px) auto 16px;
    padding: clamp(22px, 4vw, 38px);
    color: #fff;
    background: rgba(102, 25, 25, .36);
    border: 1px solid rgba(202, 167, 91, .35);
    border-left: 6px solid var(--dpt-gold);
}

.dpt-language-garden__maxim span {
    display: block;
    margin-bottom: .7rem;
    color: var(--dpt-gold-soft);
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-language-garden__maxim strong {
    display: block;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.35rem, 2.8vw, 2.45rem);
    line-height: 1.18;
}

@media (max-width: 900px) {
    .dpt-language-garden__law-grid,
    .dpt-language-garden__case-grid,
    .dpt-language-garden__balance {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .dpt-language-garden__legal {
        padding: 22px 16px;
    }

    .dpt-language-garden__law-card,
    .dpt-language-garden__case-law,
    .dpt-language-garden__balance-card,
    .dpt-language-garden__maxim {
        padding: 20px 17px;
    }
}


/* =========================================================
   V60 â€” ArrÃªt sur image juridique avant toute lecture dÃ©taillÃ©e
   Signes complets â†’ loi â†’ Cour de cassation â†’ phrase INPI â†’ question.
   ========================================================= */
.dpt-legal-freeze {
    margin: clamp(28px, 5vw, 64px) 0;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 84% 12%, rgba(202, 167, 91, .18), transparent 30%),
        linear-gradient(135deg, #020611, #071329 58%, #24090d);
    border: 1px solid rgba(202, 167, 91, .46);
    border-radius: var(--dpt-radius);
    box-shadow: 0 28px 85px rgba(2, 9, 24, .24);
}

.dpt-legal-freeze__header {
    padding: clamp(26px, 4.5vw, 52px);
    border-bottom: 1px solid rgba(255, 255, 255, .13);
}

.dpt-legal-freeze__header > span {
    display: block;
    margin-bottom: .7rem;
    color: var(--dpt-gold-soft);
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.dpt-legal-freeze__header h3 {
    max-width: 1080px;
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.1rem, 5vw, 5.2rem);
    line-height: 1;
    letter-spacing: -.035em;
}

.dpt-legal-freeze__header p {
    max-width: 920px;
    margin: 1.2rem 0 0;
    color: rgba(255, 255, 255, .72);
    font-size: clamp(1rem, 1.55vw, 1.2rem);
}

.dpt-legal-freeze__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    padding: 1px;
    background: rgba(255, 255, 255, .14);
}

.dpt-legal-freeze__card {
    min-width: 0;
    padding: clamp(22px, 3vw, 34px);
    background: rgba(3, 10, 24, .96);
}

.dpt-legal-freeze__card > span {
    display: block;
    color: var(--dpt-gold-soft);
    font-size: .69rem;
    font-weight: 950;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.dpt-legal-freeze__card h4 {
    margin: .6rem 0 1rem;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.35rem, 2.3vw, 2.2rem);
    line-height: 1.08;
}

.dpt-legal-freeze__card blockquote {
    margin: 0;
    padding: 18px 19px;
    color: var(--dpt-navy);
    background: #fff8df;
    border-left: 5px solid var(--dpt-gold);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1rem, 1.4vw, 1.18rem);
    line-height: 1.5;
}

.dpt-legal-freeze__card p {
    margin: 1rem 0 0;
    color: rgba(255, 255, 255, .7);
    font-size: .92rem;
}

.dpt-legal-freeze__card p strong {
    color: #fff;
}

.dpt-legal-freeze__card--decision {
    background: linear-gradient(145deg, rgba(102, 25, 25, .9), rgba(28, 7, 10, .98));
}

.dpt-legal-freeze__card--decision blockquote {
    color: #fff;
    background: rgba(197, 31, 36, .22);
    border-color: #fff;
    font-size: clamp(1.15rem, 1.8vw, 1.5rem);
    font-weight: 750;
}

.dpt-legal-freeze__question {
    margin: 0;
    padding: clamp(28px, 5vw, 58px);
    color: #fff;
    background:
        linear-gradient(90deg, rgba(102, 25, 25, .94), rgba(38, 8, 11, .96));
    border-top: 1px solid rgba(202, 167, 91, .36);
    border-bottom: 1px solid rgba(202, 167, 91, .36);
}

.dpt-legal-freeze__question span {
    display: block;
    margin-bottom: .75rem;
    color: var(--dpt-gold-soft);
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.dpt-legal-freeze__question strong {
    display: block;
    max-width: 1240px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.75rem, 4vw, 4.15rem);
    line-height: 1.08;
    letter-spacing: -.025em;
}

.dpt-legal-freeze__cut {
    max-width: 1120px;
    margin: 0;
    padding: clamp(22px, 3.5vw, 36px) clamp(28px, 5vw, 58px) 0;
    color: rgba(255, 255, 255, .72);
    font-size: clamp(1rem, 1.5vw, 1.18rem);
}

.dpt-legal-freeze__cut strong {
    color: #fff;
}

.dpt-legal-freeze__sources {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    padding: 22px clamp(28px, 5vw, 58px) clamp(28px, 4vw, 44px);
}

.dpt-legal-freeze__sources a {
    padding: 9px 11px;
    color: #fff;
    background: rgba(255, 255, 255, .065);
    border: 1px solid rgba(202, 167, 91, .32);
    border-radius: var(--dpt-radius);
    font-size: .76rem;
    font-weight: 820;
    text-decoration: none;
}

.dpt-legal-freeze__sources a:hover {
    background: rgba(202, 167, 91, .14);
}

@media (max-width: 980px) {
    .dpt-legal-freeze__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .dpt-legal-freeze {
        margin-inline: -10px;
        border-radius: 0;
    }

    .dpt-legal-freeze__question strong {
        font-size: clamp(1.65rem, 8vw, 2.7rem);
    }

    .dpt-legal-freeze__sources {
        display: grid;
    }

    .dpt-legal-freeze__sources a {
        width: 100%;
    }
}


/* =========================================================
   V61 â€” Radiographie cinÃ©matographique de la soustraction ADP
   100 % du signe â†’ â‰ˆ 86 % Ã©cartÃ©s â†’ â‰ˆ 9,7 % de rÃ©sidu.
   Le pourcentage est explicitement prÃ©sentÃ© comme outil pÃ©dagogique.
   ========================================================= */
.dpt-visual-subtraction {
    position: relative;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 12% 10%, rgba(202, 167, 91, .15), transparent 26%),
        linear-gradient(145deg, #050b18, #090f1d 56%, #1b080b);
    border-top: 1px solid rgba(202, 167, 91, .34);
    border-bottom: 1px solid rgba(202, 167, 91, .34);
}

.dpt-visual-subtraction::before {
    content: "86%";
    position: absolute;
    right: -1.5rem;
    top: 8rem;
    color: rgba(255, 255, 255, .025);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(9rem, 24vw, 24rem);
    font-weight: 900;
    line-height: .75;
    pointer-events: none;
}

.dpt-visual-subtraction__header,
.dpt-visual-subtraction__film,
.dpt-visual-subtraction__legal,
.dpt-visual-subtraction__verdict,
.dpt-visual-subtraction__method {
    position: relative;
    z-index: 1;
}

.dpt-visual-subtraction__header {
    max-width: 1120px;
    padding: clamp(28px, 4.5vw, 52px) clamp(28px, 5vw, 58px) 0;
}

.dpt-visual-subtraction__header > span,
.dpt-visual-subtraction__shot-label,
.dpt-visual-subtraction__legal > span,
.dpt-visual-subtraction__verdict > span {
    display: block;
    color: var(--dpt-gold-soft);
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-visual-subtraction__header h4 {
    max-width: 1050px;
    margin: .65rem 0 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.75rem, 3.8vw, 3.75rem);
    line-height: 1.04;
    letter-spacing: -.025em;
}

.dpt-visual-subtraction__header p {
    max-width: 920px;
    margin: 1rem 0 0;
    color: rgba(255, 255, 255, .7);
}

.dpt-visual-subtraction__film {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, .9fr) auto minmax(0, 1fr);
    gap: 14px;
    align-items: stretch;
    padding: clamp(26px, 4vw, 46px) clamp(28px, 5vw, 58px);
}

.dpt-visual-subtraction__shot {
    min-width: 0;
    display: grid;
    align-content: start;
    gap: 16px;
    padding: clamp(18px, 2.5vw, 28px);
    background: rgba(255, 255, 255, .055);
    border: 1px solid rgba(255, 255, 255, .13);
}

.dpt-visual-subtraction__shot--whole {
    background: rgba(0, 25, 68, .35);
    border-color: rgba(104, 163, 255, .34);
}

.dpt-visual-subtraction__shot--removed {
    background: rgba(102, 25, 25, .29);
    border-color: rgba(202, 167, 91, .34);
}

.dpt-visual-subtraction__shot--residue {
    background: rgba(255, 255, 255, .07);
    border-color: rgba(255, 255, 255, .18);
}

.dpt-visual-subtraction__shot figure {
    min-height: 250px;
    display: grid;
    place-items: center;
    margin: 0;
    padding: 18px;
    background: #fff;
}

.dpt-visual-subtraction__shot figure img {
    width: 100%;
    max-height: 245px;
    object-fit: contain;
}

.dpt-visual-subtraction__arrow {
    align-self: center;
    display: grid;
    place-items: center;
    width: 38px;
    aspect-ratio: 1;
    color: var(--dpt-gold-soft);
    background: var(--dpt-red);
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 50%;
    font-weight: 950;
}

.dpt-visual-subtraction__removed-parts {
    display: grid;
    gap: 10px;
}

.dpt-visual-subtraction__removed-parts > div {
    min-height: 108px;
    display: grid;
    align-content: center;
    gap: 8px;
    padding: 18px;
    color: #fff;
    background:
        repeating-linear-gradient(-45deg, rgba(255, 255, 255, .04) 0 8px, transparent 8px 16px),
        rgba(0, 0, 0, .2);
    border-left: 5px solid var(--dpt-gold);
}

.dpt-visual-subtraction__removed-parts span {
    color: rgba(255, 255, 255, .74);
    font-size: .84rem;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.dpt-visual-subtraction__removed-parts strong {
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 4vw, 4rem);
    line-height: .9;
}

.dpt-visual-subtraction__meter {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    margin-top: auto;
    padding-top: 15px;
    border-top: 1px solid rgba(255, 255, 255, .15);
}

.dpt-visual-subtraction__meter strong {
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.8rem, 3vw, 3.2rem);
    line-height: 1;
}

.dpt-visual-subtraction__meter span {
    color: rgba(255, 255, 255, .65);
    font-size: .78rem;
    line-height: 1.35;
}

.dpt-visual-subtraction__meter--alert strong {
    color: var(--dpt-gold-soft);
}

.dpt-visual-subtraction__meter--residue strong {
    color: #fff;
}

.dpt-visual-subtraction__residue {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(92px, .8fr) minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    min-height: 158px;
    padding: 18px;
    color: var(--dpt-navy);
    background: #fff;
    text-align: center;
}

.dpt-visual-subtraction__residue span,
.dpt-visual-subtraction__residue del {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.25rem, 2.3vw, 2.25rem);
    font-weight: 800;
    letter-spacing: .03em;
}

.dpt-visual-subtraction__residue del {
    position: relative;
    color: rgba(102, 25, 25, .28);
    text-decoration-thickness: 3px;
    text-decoration-color: var(--dpt-red-bright);
}

.dpt-visual-subtraction__shot--residue > p {
    margin: 0;
    color: rgba(255, 255, 255, .7);
    font-size: .88rem;
}

.dpt-visual-subtraction__shot--residue > p strong {
    color: #fff;
}

.dpt-visual-subtraction__legal {
    display: grid;
    gap: .55rem;
    margin: 0 clamp(28px, 5vw, 58px);
    padding: clamp(20px, 3vw, 30px);
    color: rgba(255, 255, 255, .78);
    background: rgba(0, 25, 68, .45);
    border-left: 5px solid #7083a8;
}

.dpt-visual-subtraction__legal p {
    max-width: 1100px;
    margin: 0;
    line-height: 1.65;
}

.dpt-visual-subtraction__legal p strong {
    color: #fff;
}

.dpt-visual-subtraction__verdict {
    margin: clamp(18px, 3vw, 28px) clamp(28px, 5vw, 58px) 0;
    padding: clamp(22px, 3.5vw, 38px);
    color: #fff;
    background: rgba(102, 25, 25, .42);
    border: 1px solid rgba(202, 167, 91, .34);
    border-left: 6px solid var(--dpt-gold);
}

.dpt-visual-subtraction__verdict strong {
    display: block;
    max-width: 1120px;
    margin-top: .65rem;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.45rem, 2.8vw, 2.75rem);
    line-height: 1.16;
}

.dpt-visual-subtraction__method {
    margin: 0;
    padding: 18px clamp(28px, 5vw, 58px) clamp(28px, 4vw, 42px);
    color: rgba(255, 255, 255, .52);
    font-size: .76rem;
    line-height: 1.5;
}

.dpt-visual-subtraction__method strong {
    color: rgba(255, 255, 255, .78);
}

@media (max-width: 1120px) {
    .dpt-visual-subtraction__film {
        grid-template-columns: 1fr;
    }

    .dpt-visual-subtraction__arrow {
        justify-self: center;
        transform: rotate(90deg);
    }

    .dpt-visual-subtraction__shot figure {
        min-height: 220px;
    }
}

@media (max-width: 650px) {
    .dpt-visual-subtraction__header,
    .dpt-visual-subtraction__film,
    .dpt-visual-subtraction__method {
        padding-left: 16px;
        padding-right: 16px;
    }

    .dpt-visual-subtraction__legal,
    .dpt-visual-subtraction__verdict {
        margin-left: 16px;
        margin-right: 16px;
    }

    .dpt-visual-subtraction__residue {
        grid-template-columns: 1fr;
    }

    .dpt-visual-subtraction__residue del {
        min-height: 48px;
        display: grid;
        place-items: center;
    }

    .dpt-visual-subtraction__meter {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   V63 â€” Interrogatoire du passage exact de la dÃ©cision
   La formule est confrontÃ©e aux signes complets et au rÃ©sidu reconstruit.
   ========================================================= */
.dpt-visual-interrogation {
    position: relative;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 90% 8%, rgba(197, 31, 36, .18), transparent 29%),
        linear-gradient(135deg, #050812, #0a1122 55%, #26090d);
    border-top: 1px solid rgba(202, 167, 91, .34);
    border-bottom: 1px solid rgba(202, 167, 91, .34);
}

.dpt-visual-interrogation::before {
    content: "?";
    position: absolute;
    right: clamp(-1rem, -1vw, 0rem);
    top: clamp(-2rem, -4vw, -1rem);
    color: rgba(255, 255, 255, .025);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(15rem, 38vw, 38rem);
    font-weight: 900;
    line-height: .8;
    pointer-events: none;
}

.dpt-visual-interrogation__header,
.dpt-visual-interrogation__grid,
.dpt-visual-interrogation__test {
    position: relative;
    z-index: 1;
}

.dpt-visual-interrogation__header {
    padding: clamp(30px, 5vw, 58px) clamp(28px, 5vw, 58px) clamp(24px, 3.5vw, 38px);
}

.dpt-visual-interrogation__header > span,
.dpt-visual-interrogation__test > span {
    display: block;
    color: var(--dpt-gold-soft);
    font-size: .71rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.dpt-visual-interrogation__header blockquote {
    max-width: 1160px;
    margin: .7rem 0 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.5rem, 6vw, 6.7rem);
    font-weight: 800;
    line-height: .95;
    letter-spacing: -.04em;
}

.dpt-visual-interrogation__header p {
    max-width: 900px;
    margin: 1.35rem 0 0;
    color: rgba(255, 255, 255, .72);
    font-size: clamp(1rem, 1.45vw, 1.16rem);
}

.dpt-visual-interrogation__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    padding: 1px;
    background: rgba(255, 255, 255, .14);
}

.dpt-visual-interrogation__grid article {
    min-width: 0;
    padding: clamp(22px, 3vw, 34px);
    background: rgba(3, 10, 24, .96);
}

.dpt-visual-interrogation__grid article:nth-child(2) {
    background: rgba(102, 25, 25, .28);
}

.dpt-visual-interrogation__grid article:nth-child(3) {
    background: rgba(0, 25, 68, .42);
}

.dpt-visual-interrogation__grid article > span {
    display: grid;
    place-items: center;
    width: 38px;
    aspect-ratio: 1;
    color: #fff;
    background: var(--dpt-red);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 50%;
    font-size: .72rem;
    font-weight: 950;
}

.dpt-visual-interrogation__grid h4 {
    margin: 1rem 0 .75rem;
    color: var(--dpt-gold-soft);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.55rem, 3vw, 3rem);
    line-height: 1;
}

.dpt-visual-interrogation__grid p {
    margin: 0;
    color: rgba(255, 255, 255, .72);
    font-size: .94rem;
    line-height: 1.62;
}

.dpt-visual-interrogation__test {
    margin: 0;
    padding: clamp(28px, 4.5vw, 52px) clamp(28px, 5vw, 58px);
    color: #fff;
    background:
        linear-gradient(90deg, rgba(102, 25, 25, .92), rgba(31, 7, 10, .97));
    border-top: 1px solid rgba(202, 167, 91, .34);
}

.dpt-visual-interrogation__test strong {
    display: block;
    max-width: 1180px;
    margin-top: .75rem;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.55rem, 3.2vw, 3.25rem);
    line-height: 1.12;
    letter-spacing: -.025em;
}

@media (max-width: 900px) {
    .dpt-visual-interrogation__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .dpt-visual-interrogation__header,
    .dpt-visual-interrogation__test {
        padding-left: 16px;
        padding-right: 16px;
    }

    .dpt-visual-interrogation__header blockquote {
        font-size: clamp(2.25rem, 12vw, 4rem);
    }

    .dpt-visual-interrogation__test strong {
        font-size: clamp(1.45rem, 7.5vw, 2.35rem);
    }
}

/* =========================================================
   V63 â€” Lecture exacte du passage ADP
   Phrase prÃ©cÃ©dente â†’ conclusion â†’ diffÃ©rences reconnues.
   ========================================================= */
.dpt-decision-sequence {
    color: #fff;
    background: #090f1d;
    border-top: 1px solid rgba(202, 167, 91, .34);
    border-bottom: 1px solid rgba(202, 167, 91, .34);
}

.dpt-decision-sequence__header {
    padding: clamp(26px, 4vw, 46px) clamp(28px, 5vw, 58px);
}

.dpt-decision-sequence__header > span,
.dpt-decision-sequence__step > span {
    display: block;
    color: var(--dpt-gold-soft);
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-decision-sequence__header h4 {
    max-width: 1050px;
    margin: .65rem 0 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.8rem, 4vw, 4rem);
    line-height: 1.05;
}

.dpt-decision-sequence__header p {
    max-width: 920px;
    margin: 1rem 0 0;
    color: rgba(255,255,255,.7);
}

.dpt-decision-sequence__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    padding: 1px;
    background: rgba(255,255,255,.14);
}

.dpt-decision-sequence__step {
    min-width: 0;
    padding: clamp(22px, 3vw, 34px);
    background: rgba(3,10,24,.97);
}

.dpt-decision-sequence__step--pivot {
    background: linear-gradient(145deg, rgba(102,25,25,.92), rgba(31,7,10,.98));
}

.dpt-decision-sequence__step--after {
    background: rgba(0,25,68,.48);
}

.dpt-decision-sequence__step h5 {
    margin: .7rem 0 1rem;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.3rem, 2.3vw, 2.15rem);
    line-height: 1.1;
}

.dpt-decision-sequence__step blockquote {
    margin: 0;
    padding: 17px 18px;
    color: var(--dpt-navy);
    background: #fff8df;
    border-left: 5px solid var(--dpt-gold);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(.98rem, 1.25vw, 1.08rem);
    line-height: 1.55;
}

.dpt-decision-sequence__step--pivot blockquote {
    color: #fff;
    background: rgba(197,31,36,.24);
    border-left-color: #fff;
    font-weight: 750;
}

.dpt-decision-sequence__step p {
    margin: 1rem 0 0;
    color: rgba(255,255,255,.72);
    font-size: .9rem;
    line-height: 1.58;
}

.dpt-decision-sequence__step p strong {
    color: #fff;
}

.dpt-visual-interrogation__header .dpt-visual-interrogation__exact {
    max-width: 1250px;
    font-size: clamp(1.9rem, 4vw, 4.3rem);
    line-height: 1.06;
}

@media (max-width: 900px) {
    .dpt-decision-sequence__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .dpt-decision-sequence__header {
        padding-left: 16px;
        padding-right: 16px;
    }

    .dpt-visual-interrogation__header .dpt-visual-interrogation__exact {
        font-size: clamp(1.65rem, 8vw, 2.8rem);
    }
}


/* =========================================================
   V64 â€” Lecture exacte du dossier PARIS VOUS AIME
   Signes reproduits â†’ inventaire â†’ matrice commune â†’ conclusion
   â†’ diffÃ©rences reconnues â†’ double relativisation.
   ========================================================= */
.dpt-legal-freeze--pva {
    background:
        radial-gradient(circle at 14% 10%, rgba(33, 78, 143, .22), transparent 30%),
        radial-gradient(circle at 88% 88%, rgba(194, 84, 43, .18), transparent 32%),
        linear-gradient(135deg, #020611, #071329 56%, #170b09);
}

.dpt-decision-sequence--pva {
    border-top-color: rgba(116, 158, 222, .38);
    border-bottom-color: rgba(210, 108, 62, .35);
}

.dpt-decision-sequence__plates {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    padding: 1px;
    background: rgba(255, 255, 255, .14);
}

.dpt-decision-sequence__plates figure {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    min-width: 0;
    margin: 0;
    background: #fff;
}

.dpt-decision-sequence__plates img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 430px;
    max-height: 760px;
    object-fit: contain;
    object-position: center top;
    background: #fff;
}

.dpt-decision-sequence__plates figcaption {
    display: grid;
    gap: .3rem;
    min-height: 86px;
    padding: 15px 18px;
    color: #fff;
    background: #071329;
}

.dpt-decision-sequence__plates figcaption span {
    color: var(--dpt-gold-soft);
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.dpt-decision-sequence__plates figcaption strong {
    font-size: .9rem;
    line-height: 1.35;
}

.dpt-decision-sequence__grid--six {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dpt-decision-sequence__step--inventory {
    background: rgba(25, 30, 43, .98);
}

.dpt-decision-sequence__step--difference {
    background: rgba(0, 25, 68, .52);
}

.dpt-decision-sequence__step--reduction {
    background: linear-gradient(145deg, rgba(42, 24, 11, .96), rgba(16, 12, 9, .99));
}

.dpt-decision-sequence__step--form {
    background: linear-gradient(145deg, rgba(31, 47, 74, .96), rgba(6, 15, 31, .99));
}

.dpt-decision-sequence__step--reduction blockquote,
.dpt-decision-sequence__step--form blockquote {
    background: #f7f0df;
}

.dpt-pva-audit {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    padding: 1px;
    background: rgba(255, 255, 255, .14);
    border-top: 1px solid rgba(255, 255, 255, .1);
}

.dpt-pva-audit article {
    min-width: 0;
    padding: clamp(22px, 3vw, 34px);
    background: rgba(3, 10, 24, .96);
}

.dpt-pva-audit article:nth-child(2) {
    background: rgba(102, 25, 25, .34);
}

.dpt-pva-audit span {
    display: block;
    color: var(--dpt-gold-soft);
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.dpt-pva-audit h4 {
    margin: .65rem 0 .8rem;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.3rem, 2.2vw, 2rem);
    line-height: 1.12;
}

.dpt-pva-audit p {
    margin: 0;
    color: rgba(255, 255, 255, .72);
    font-size: .92rem;
    line-height: 1.6;
}

.dpt-pva-audit p strong {
    color: #fff;
}

.dpt-legal-freeze__question--pva {
    background:
        linear-gradient(90deg, rgba(20, 50, 101, .95), rgba(74, 24, 18, .96));
}

@media (max-width: 980px) {
    .dpt-decision-sequence__plates,
    .dpt-decision-sequence__grid--six,
    .dpt-pva-audit {
        grid-template-columns: 1fr;
    }

    .dpt-decision-sequence__plates img {
        min-height: 0;
        height: auto;
        max-height: none;
    }
}

@media (max-width: 650px) {
    .dpt-decision-sequence__plates {
        margin-inline: -1px;
    }

    .dpt-decision-sequence__plates figcaption {
        min-height: 0;
    }
}

/* =========================================================
   V65 â€” PARIS VOUS AIME / PARIS Tâ€™AIME
   ArrÃªt sur image structurel + transformation grammaticale
   Aucun pourcentage : opposition de forme, de phrase et dâ€™adresse.
   ========================================================= */
.dpt-pva-stop {
    margin: 0 0 clamp(34px, 6vw, 72px);
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 14% 10%, rgba(202, 167, 91, .14), transparent 30%),
        radial-gradient(circle at 88% 88%, rgba(102, 25, 25, .2), transparent 34%),
        linear-gradient(140deg, #020611, #071329 56%, #17090b);
    border: 1px solid rgba(202, 167, 91, .42);
    border-radius: var(--dpt-radius);
    box-shadow: var(--dpt-shadow);
}

.dpt-pva-stop__header {
    padding: clamp(26px, 4.5vw, 50px);
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.dpt-pva-stop__header > span,
.dpt-pva-stop__question > span,
.dpt-pva-grammar > header > span,
.dpt-pva-grammar__verdict > span {
    display: block;
    margin-bottom: .65rem;
    color: var(--dpt-gold-soft);
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.dpt-pva-stop__header h4 {
    max-width: 1120px;
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 4.6vw, 4.65rem);
    line-height: 1.02;
}

.dpt-pva-stop__header p {
    max-width: 950px;
    margin: 1.1rem 0 0;
    color: rgba(255, 255, 255, .72);
    font-size: clamp(.98rem, 1.45vw, 1.18rem);
}

.dpt-pva-stop__signs {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: clamp(14px, 2.5vw, 28px);
    align-items: stretch;
    padding: clamp(18px, 3vw, 34px);
    background: rgba(255, 255, 255, .035);
}

.dpt-pva-stop__sign {
    display: grid;
    grid-template-rows: auto minmax(300px, 1fr) auto;
    min-width: 0;
    overflow: hidden;
    color: var(--dpt-ink);
    background: var(--dpt-paper);
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: var(--dpt-radius);
}

.dpt-pva-stop__sign-kind {
    padding: 13px 16px;
    color: #fff;
    background: var(--dpt-navy);
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.dpt-pva-stop__sign figure {
    display: grid;
    place-items: center;
    min-width: 0;
    margin: 0;
    padding: clamp(20px, 3vw, 38px);
    background: #fff;
}

.dpt-pva-stop__sign figure img {
    display: block;
    width: 100%;
    height: 100%;
    max-height: 420px;
    object-fit: contain;
}

.dpt-pva-stop__sign--figurative figure img {
    max-width: 430px;
}

.dpt-pva-stop__sign--verbal figure img {
    max-width: 540px;
}

.dpt-pva-stop__sign ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin: 0;
    padding: 1px;
    background: var(--dpt-line);
    list-style: none;
}

.dpt-pva-stop__sign li {
    min-width: 0;
    padding: 13px 15px;
    background: #f5f1e8;
    color: #5a6272;
    font-size: .84rem;
    line-height: 1.35;
}

.dpt-pva-stop__sign li strong {
    display: block;
    color: var(--dpt-navy);
    font-size: .92rem;
}

.dpt-pva-stop__opposition {
    align-self: center;
    color: var(--dpt-gold-soft);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.8rem, 5vw, 5rem);
    font-weight: 800;
}

.dpt-pva-stop__decision {
    display: grid;
    grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr);
    gap: 1px;
    padding: 1px;
    background: rgba(255, 255, 255, .13);
}

.dpt-pva-stop__decision blockquote {
    margin: 0;
    padding: clamp(22px, 3.5vw, 38px);
    color: #273044;
    background: #fff9df;
    border: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.04rem, 1.65vw, 1.35rem);
    line-height: 1.52;
}

.dpt-pva-stop__decision blockquote span {
    display: block;
    margin-bottom: .75rem;
    color: var(--dpt-red);
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.dpt-pva-stop__decision .dpt-pva-stop__decision-conclusion {
    color: #fff;
    background: linear-gradient(135deg, rgba(102, 25, 25, .96), rgba(39, 7, 10, .98));
}

.dpt-pva-stop__decision .dpt-pva-stop__decision-conclusion span {
    color: var(--dpt-gold-soft);
}

.dpt-pva-stop__question {
    margin: 0;
    padding: clamp(26px, 5vw, 54px);
    color: #fff;
    background: rgba(102, 25, 25, .24);
    border-top: 1px solid rgba(202, 167, 91, .3);
    border-bottom: 1px solid rgba(202, 167, 91, .3);
}

.dpt-pva-stop__question strong {
    display: block;
    max-width: 1180px;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.65rem, 3.5vw, 3.4rem);
    line-height: 1.12;
}

.dpt-pva-grammar {
    padding: clamp(26px, 4.5vw, 50px);
}

.dpt-pva-grammar > header {
    max-width: 1020px;
}

.dpt-pva-grammar > header h5 {
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.8rem, 3.8vw, 3.7rem);
    line-height: 1.05;
}

.dpt-pva-grammar > header p {
    margin: 1rem 0 0;
    color: rgba(255, 255, 255, .72);
}

.dpt-pva-grammar__flow {
    display: grid;
    grid-template-columns: minmax(190px, 1fr) auto minmax(230px, .95fr) auto minmax(190px, 1fr);
    gap: 12px;
    align-items: stretch;
    margin-top: clamp(24px, 4vw, 42px);
}

.dpt-pva-grammar__source,
.dpt-pva-grammar__residue {
    display: grid;
    align-content: center;
    gap: 16px;
    min-width: 0;
    padding: clamp(20px, 3vw, 30px);
    border-radius: var(--dpt-radius);
}

.dpt-pva-grammar__source {
    color: var(--dpt-ink);
    background: var(--dpt-paper);
    border: 1px solid rgba(255, 255, 255, .15);
}

.dpt-pva-grammar__source > span,
.dpt-pva-grammar__residue > span {
    color: var(--dpt-red);
    font-size: .69rem;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.dpt-pva-grammar__source p,
.dpt-pva-grammar__residue p {
    margin: 0;
    font-size: .88rem;
    line-height: 1.5;
}

.dpt-pva-grammar__stack {
    display: grid;
    gap: 5px;
    justify-items: center;
    padding: 18px;
    color: #fff;
    background: #071329;
    border-radius: var(--dpt-radius);
    text-align: center;
}

.dpt-pva-grammar__stack b,
.dpt-pva-grammar__stack mark {
    display: block;
    min-width: 120px;
    padding: 8px 10px;
    font-size: clamp(1.05rem, 2vw, 1.55rem);
    letter-spacing: .15em;
}

.dpt-pva-grammar__stack b {
    color: #fff;
    background: rgba(255, 255, 255, .06);
}

.dpt-pva-grammar__stack mark,
.dpt-pva-grammar__line mark {
    color: #fff;
    background: var(--dpt-red);
}

.dpt-pva-grammar__line {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: baseline;
    min-height: 118px;
    padding: 24px 16px;
    color: #111;
    background: #fff;
    border: 1px solid var(--dpt-line);
    border-radius: var(--dpt-radius);
    font-family: "Courier New", Courier, monospace;
    font-size: clamp(1.4rem, 2.7vw, 2.25rem);
}

.dpt-pva-grammar__line b {
    font-weight: 500;
}

.dpt-pva-grammar__line mark {
    margin-left: .18em;
    padding: .08em .13em;
    font-family: inherit;
}

.dpt-pva-grammar__residue {
    color: #fff;
    background: rgba(0, 58, 132, .25);
    border: 1px solid rgba(104, 163, 255, .42);
    box-shadow: inset 0 0 50px rgba(104, 163, 255, .07);
    text-align: center;
}

.dpt-pva-grammar__residue > span {
    color: var(--dpt-gold-soft);
}

.dpt-pva-grammar__residue > div {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 8px;
    align-items: center;
}

.dpt-pva-grammar__residue b,
.dpt-pva-grammar__residue i {
    padding: 13px 10px;
    border-radius: var(--dpt-radius);
    font-style: normal;
}

.dpt-pva-grammar__residue b {
    color: var(--dpt-navy);
    background: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.25rem, 2.2vw, 2rem);
}

.dpt-pva-grammar__residue i {
    color: var(--dpt-gold-soft);
    background: rgba(102, 25, 25, .52);
    border: 1px dashed rgba(202, 167, 91, .5);
    font-size: .78rem;
    font-weight: 950;
    letter-spacing: .08em;
}

.dpt-pva-grammar__arrow {
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 8px;
    min-width: 72px;
    color: var(--dpt-gold-soft);
    text-align: center;
}

.dpt-pva-grammar__arrow span {
    max-width: 70px;
    color: rgba(255, 255, 255, .64);
    font-size: .67rem;
    font-weight: 850;
    line-height: 1.25;
    text-transform: uppercase;
}

.dpt-pva-grammar__arrow b {
    font-size: 2rem;
}

.dpt-pva-grammar__verdict {
    margin: clamp(24px, 4vw, 42px) 0 0;
    padding: clamp(22px, 3.5vw, 38px);
    color: #fff;
    background: rgba(102, 25, 25, .28);
    border-left: 6px solid var(--dpt-gold);
}

.dpt-pva-grammar__verdict strong {
    display: block;
    max-width: 1080px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.35rem, 2.7vw, 2.55rem);
    line-height: 1.2;
}

.dpt-pva-stop__final {
    margin: 0;
    padding: clamp(22px, 3.5vw, 38px) clamp(26px, 4.5vw, 50px);
    color: rgba(255, 255, 255, .76);
    background: rgba(255, 255, 255, .045);
    border-top: 1px solid rgba(255, 255, 255, .11);
    font-size: clamp(1rem, 1.6vw, 1.25rem);
}

.dpt-pva-stop__final strong {
    color: #fff;
}

@media (max-width: 1120px) {
    .dpt-pva-grammar__flow {
        grid-template-columns: 1fr;
    }

    .dpt-pva-grammar__arrow {
        grid-template-columns: auto auto;
        justify-content: center;
        min-width: 0;
    }

    .dpt-pva-grammar__arrow--left b,
    .dpt-pva-grammar__arrow--right b {
        transform: rotate(90deg);
    }

    .dpt-pva-grammar__arrow span {
        max-width: none;
    }

    .dpt-pva-grammar__source--collective { order: 1; }
    .dpt-pva-grammar__arrow--left { order: 2; }
    .dpt-pva-grammar__residue { order: 3; }
    .dpt-pva-grammar__arrow--right { order: 4; }
    .dpt-pva-grammar__source--singular { order: 5; }
}

@media (max-width: 860px) {
    .dpt-pva-stop__signs,
    .dpt-pva-stop__decision {
        grid-template-columns: 1fr;
    }

    .dpt-pva-stop__opposition {
        justify-self: center;
        transform: rotate(90deg);
    }

    .dpt-pva-stop__sign {
        grid-template-rows: auto minmax(240px, auto) auto;
    }
}

@media (max-width: 560px) {
    .dpt-pva-stop {
        margin-inline: -10px;
        border-radius: 0;
    }

    .dpt-pva-stop__signs {
        padding-inline: 10px;
    }

    .dpt-pva-stop__sign ul {
        grid-template-columns: 1fr;
    }

    .dpt-pva-grammar__residue > div {
        grid-template-columns: 1fr;
    }

    .dpt-pva-grammar__line {
        min-height: 92px;
    }
}


/* =========================================================
   V66 Â· OTCP â€” lecture visuelle complÃ¨te avant la grammaire
   ========================================================= */
.dpt-otcp-prelude {
    margin: clamp(2.4rem, 5vw, 5.4rem) 0;
    border: 1px solid rgba(202, 167, 91, .62);
    background:
        radial-gradient(circle at 22% 18%, rgba(54, 120, 35, .18), transparent 34%),
        linear-gradient(145deg, #071126 0%, #0a1020 55%, #180b10 100%);
    color: #fff;
    overflow: hidden;
    box-shadow: 0 28px 80px rgba(0, 0, 0, .28);
}

.dpt-otcp-prelude__header {
    padding: clamp(1.5rem, 4vw, 3.6rem);
    border-bottom: 1px solid rgba(202, 167, 91, .42);
}

.dpt-otcp-prelude__header > span,
.dpt-otcp-prelude__transition-title > span,
.dpt-otcp-prelude__question > span {
    display: block;
    margin-bottom: .65rem;
    color: #f0ca67;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-otcp-prelude__header h4 {
    max-width: 24ch;
    margin: 0;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(2rem, 4.5vw, 4.8rem);
    line-height: .98;
}

.dpt-otcp-prelude__header p {
    max-width: 72ch;
    margin: 1.2rem 0 0;
    color: rgba(255, 255, 255, .78);
    font-size: clamp(.98rem, 1.35vw, 1.18rem);
    line-height: 1.72;
}

.dpt-otcp-prelude__signs {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: stretch;
    gap: 0;
    background: #f6f2e9;
    color: #071126;
}

.dpt-otcp-prelude__sign {
    display: grid;
    grid-template-rows: minmax(340px, 48vw) auto;
    margin: 0;
}

.dpt-otcp-prelude__image {
    display: grid;
    place-items: center;
    min-height: 340px;
    padding: clamp(1.2rem, 4vw, 4rem);
    background: #fff;
}

.dpt-otcp-prelude__sign--figurative .dpt-otcp-prelude__image {
    background: radial-gradient(circle, #fff 0 55%, #f3f4ef 100%);
}

.dpt-otcp-prelude__sign--verbal .dpt-otcp-prelude__image {
    background: linear-gradient(180deg, #fff, #f7f3ea);
}

.dpt-otcp-prelude__image img {
    display: block;
    width: min(86%, 620px);
    max-height: 92%;
    object-fit: contain;
}

.dpt-otcp-prelude__sign figcaption {
    min-height: 118px;
    padding: 1.1rem clamp(1rem, 3vw, 2rem) 1.35rem;
    border-top: 1px solid rgba(7, 17, 38, .13);
}

.dpt-otcp-prelude__sign figcaption small {
    display: block;
    margin-bottom: .45rem;
    color: #6d6255;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.dpt-otcp-prelude__sign figcaption strong {
    display: block;
    font-size: clamp(1rem, 1.55vw, 1.35rem);
    line-height: 1.3;
}

.dpt-otcp-prelude__versus {
    display: grid;
    place-content: center;
    gap: .5rem;
    width: clamp(68px, 8vw, 118px);
    padding: 1rem .55rem;
    color: #fff;
    text-align: center;
    background: #661919;
}

.dpt-otcp-prelude__versus span {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(2.4rem, 5vw, 5rem);
    line-height: 1;
}

.dpt-otcp-prelude__versus small {
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    writing-mode: vertical-rl;
    justify-self: center;
}

.dpt-otcp-prelude__visual-readings {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid rgba(202, 167, 91, .42);
    border-bottom: 1px solid rgba(202, 167, 91, .42);
}

.dpt-otcp-prelude__visual-readings li {
    min-width: 0;
    padding: clamp(1.25rem, 3vw, 2.4rem);
}

.dpt-otcp-prelude__visual-readings li + li {
    border-left: 1px solid rgba(202, 167, 91, .3);
}

.dpt-otcp-prelude__visual-readings span {
    display: block;
    margin-bottom: .9rem;
    color: #f0ca67;
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.dpt-otcp-prelude__visual-readings div {
    display: grid;
    gap: .65rem;
}

.dpt-otcp-prelude__visual-readings strong {
    font-size: clamp(.98rem, 1.45vw, 1.2rem);
    line-height: 1.45;
}

.dpt-otcp-prelude__visual-readings b {
    color: rgba(255, 255, 255, .48);
    font-size: .72rem;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.dpt-otcp-prelude__transition {
    padding: clamp(1.5rem, 4vw, 3.6rem);
    background: linear-gradient(180deg, rgba(102, 25, 25, .2), rgba(0, 0, 0, .12));
}

.dpt-otcp-prelude__transition-title h5 {
    margin: 0 0 1.4rem;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(1.7rem, 3.2vw, 3.2rem);
}

.dpt-otcp-prelude__grammar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: clamp(1rem, 3vw, 2.4rem);
    align-items: stretch;
}

.dpt-otcp-prelude__grammar section {
    padding: clamp(1.15rem, 2.6vw, 2rem);
    border: 1px solid rgba(202, 167, 91, .34);
    background: rgba(255, 255, 255, .05);
}

.dpt-otcp-prelude__grammar section small {
    display: block;
    margin-bottom: .8rem;
    color: rgba(255, 255, 255, .62);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.dpt-otcp-prelude__grammar p {
    margin: 0 0 1rem;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(1.6rem, 3.3vw, 3rem);
    line-height: 1.05;
}

.dpt-otcp-prelude__grammar mark {
    color: #fff;
    background: transparent;
    border-bottom: .16em solid #4d8b2d;
}

.dpt-otcp-prelude__grammar em {
    color: #f0ca67;
    font-style: normal;
}

.dpt-otcp-prelude__grammar ul {
    margin: 0;
    padding-left: 1.15rem;
    color: rgba(255, 255, 255, .78);
    line-height: 1.65;
}

.dpt-otcp-prelude__grammar-operation {
    display: grid;
    place-content: center;
    min-width: 124px;
    text-align: center;
}

.dpt-otcp-prelude__grammar-operation span,
.dpt-otcp-prelude__grammar-operation small {
    font-size: .67rem;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.dpt-otcp-prelude__grammar-operation span {
    color: #ffb6a0;
}

.dpt-otcp-prelude__grammar-operation strong {
    margin: .35rem 0;
    color: #f0ca67;
    font-size: clamp(2rem, 4vw, 4rem);
}

.dpt-otcp-prelude__grammar-operation small {
    color: rgba(255, 255, 255, .45);
}

.dpt-otcp-prelude__transition blockquote {
    max-width: 78ch;
    margin: 1.4rem 0 0;
    padding: 1rem 1.2rem;
    border-left: 4px solid #f0ca67;
    color: #fff;
    background: rgba(0, 0, 0, .22);
    font-size: clamp(1rem, 1.4vw, 1.2rem);
    line-height: 1.65;
}

.dpt-otcp-prelude__question {
    padding: clamp(1.5rem, 4vw, 3.6rem);
    border-top: 1px solid rgba(202, 167, 91, .42);
    background: linear-gradient(135deg, #320d13, #16090c);
}

.dpt-otcp-prelude__question p {
    max-width: 31ch;
    margin: 0;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(1.75rem, 3.8vw, 4rem);
    line-height: 1.04;
}

@media (max-width: 900px) {
    .dpt-otcp-prelude__signs,
    .dpt-otcp-prelude__grammar {
        grid-template-columns: 1fr;
    }

    .dpt-otcp-prelude__versus {
        width: 100%;
        min-height: 74px;
    }

    .dpt-otcp-prelude__versus small {
        writing-mode: initial;
    }

    .dpt-otcp-prelude__sign {
        grid-template-rows: minmax(280px, 78vw) auto;
    }

    .dpt-otcp-prelude__grammar-operation {
        min-height: 88px;
    }

    .dpt-otcp-prelude__grammar-operation strong {
        transform: rotate(90deg);
    }
}

@media (max-width: 680px) {
    .dpt-otcp-prelude__visual-readings {
        grid-template-columns: 1fr;
    }

    .dpt-otcp-prelude__visual-readings li + li {
        border-left: 0;
        border-top: 1px solid rgba(202, 167, 91, .3);
    }

    .dpt-otcp-prelude__header h4,
    .dpt-otcp-prelude__question p {
        max-width: none;
    }
}

/* =========================================================
   V68 â€” deux montages autonomes dans une seule page
   Film essentiel : storyboard, deux accordÃ©ons et image finale.
   Dossier intÃ©gral : preuves, sources et opÃ©rations dÃ©taillÃ©es.
   ========================================================= */

.dpt-js.dpt-mode-full [data-dpt-view="essential"] {
    display: none !important;
}

/* Les développements retirés du montage essentiel restent accessibles en lecture approfondie. */
.dpt-js.dpt-mode-full #dpt-montage-essentiel {
    display: block !important;
}

.dpt-js.dpt-mode-full #dpt-montage-essentiel > .dpt-shell > :not([data-dpt-depth="evidence"]) {
    display: none !important;
}

.dpt-essential-summary {
    margin-top: clamp(24px, 4vw, 42px);
    padding: clamp(22px, 4vw, 38px);
    color: #fff;
    background: #080d16;
    border: 1px solid rgba(202, 167, 91, .34);
    border-left: 6px solid var(--dpt-gold);
}

.dpt-essential-summary header > span,
.dpt-essential-deferred__header .dpt-kicker {
    color: var(--dpt-gold-soft);
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-essential-summary h3,
.dpt-essential-deferred__header h2 {
    margin: .55rem 0 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.65rem, 4vw, 3rem);
    line-height: 1.1;
}

.dpt-essential-summary ul {
    display: grid;
    gap: 10px;
    margin: 1.25rem 0;
    padding-left: 1.25rem;
    color: rgba(255, 255, 255, .78);
}

.dpt-essential-summary blockquote {
    margin: 0;
    padding: 18px;
    color: #fff;
    background: rgba(102, 25, 25, .3);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.2rem, 2.5vw, 1.8rem);
    line-height: 1.3;
}

.dpt-essential-deferred__header {
    margin-bottom: clamp(24px, 4vw, 42px);
    padding: clamp(22px, 4vw, 38px);
    color: rgba(255, 255, 255, .76);
    background: #080d16;
    border-top: 4px solid var(--dpt-gold);
}

/* Ouverture dramatique â€” 8 juillet 2026 */
.dpt-hero--storyboard {
    min-height: auto;
    padding: clamp(72px, 9vw, 132px) 0;
}

.dpt-hero--storyboard .dpt-hero__inner {
    padding-block: 0;
}

.dpt-hero__date {
    display: block;
    margin: 0 0 1rem;
    color: var(--dpt-gold-soft);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.6rem, 3.4vw, 3.4rem);
    line-height: 1;
}

.dpt-hero--storyboard h1 {
    max-width: 1180px;
    font-size: clamp(3.4rem, 8.8vw, 9.2rem);
}

.dpt-hero--storyboard .dpt-hero__lead {
    max-width: 1030px;
}

.dpt-hero--storyboard .dpt-hero__image {
    width: 100%;
    margin: clamp(26px, 4vw, 48px) 0 0;
    overflow: hidden;
    background: #080d16;
    border: 1px solid rgba(202, 167, 91, .42);
    border-radius: 3px;
}

.dpt-hero--storyboard .dpt-hero__image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1672 / 941;
    object-fit: contain;
}

.dpt-hero__counts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    max-width: 1180px;
    margin-top: clamp(24px, 4vw, 42px);
    padding: 1px;
    background: rgba(255,255,255,.13);
    border: 1px solid rgba(202,167,91,.26);
}

.dpt-hero__counts span {
    display: grid;
    align-content: center;
    min-height: 112px;
    padding: 18px;
    color: rgba(255,255,255,.72);
    background: rgba(4,12,28,.92);
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.dpt-hero__counts strong {
    display: block;
    margin-bottom: .2rem;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 4vw, 4rem);
    line-height: 1;
}

.dpt-hero__confrontations {
    display: grid;
    gap: 1px;
    max-width: 1180px;
    margin-top: 16px;
    padding: 1px;
    background: rgba(255,255,255,.12);
}

.dpt-hero__confrontations p {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    margin: 0;
    padding: 14px 17px;
    color: rgba(255,255,255,.82);
    background: rgba(255,255,255,.045);
    font-size: clamp(.86rem, 1.3vw, 1.05rem);
    font-weight: 800;
}

.dpt-hero__confrontations p span {
    display: grid;
    place-items: center;
    width: 34px;
    aspect-ratio: 1;
    color: #fff;
    background: var(--dpt-red);
    border-radius: 50%;
    font-size: .72rem;
}

.dpt-hero__confrontations b {
    color: var(--dpt-gold-soft);
}

.dpt-hero__question {
    max-width: 1120px;
    margin: clamp(28px, 5vw, 56px) 0 0;
    padding: clamp(22px, 3.8vw, 38px);
    color: #fff;
    background: rgba(102,25,25,.26);
    border: 1px solid rgba(202,167,91,.34);
    border-left: 6px solid var(--dpt-gold);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.4rem, 3vw, 3rem);
    line-height: 1.2;
}

/* Film essentiel */
.dpt-essential-film {
    display: grid;
    gap: clamp(42px, 7vw, 84px);
}

.dpt-essential__header--intrigue {
    margin-bottom: 0;
}

.dpt-intrigue-chain {
    display: grid;
    grid-template-columns: repeat(7, auto);
    gap: 10px;
    align-items: center;
    margin-top: clamp(24px, 4vw, 40px);
    padding: clamp(18px, 3vw, 28px);
    color: #fff;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.12);
}

.dpt-intrigue-chain span,
.dpt-intrigue-chain strong {
    padding: 10px 12px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.11);
    font-size: .78rem;
    line-height: 1.35;
    text-align: center;
}

.dpt-intrigue-chain strong {
    color: var(--dpt-gold-soft);
    background: rgba(102,25,25,.34);
    border-color: rgba(202,167,91,.34);
}

.dpt-intrigue-chain b {
    color: var(--dpt-gold-soft);
}

.dpt-essential-chapter {
    max-width: 1100px;
    display: grid;
    gap: .65rem;
}

.dpt-essential-chapter > span {
    color: var(--dpt-gold-soft);
    font-size: .73rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-essential-chapter h3 {
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 4.7vw, 4.9rem);
    letter-spacing: -.035em;
    line-height: 1.03;
}

.dpt-essential-chapter p {
    max-width: 880px;
    margin: 0;
    color: rgba(255,255,255,.7);
}

.dpt-essential-prologue,
.dpt-essential-controls,
.dpt-essential-tree,
.dpt-essential-finale {
    display: grid;
    gap: clamp(20px, 3.5vw, 34px);
}

.dpt-essential-prologue .dpt-prologue-gallery {
    margin-top: 0;
    border-color: rgba(202,167,91,.36);
    box-shadow: 0 24px 70px rgba(0,0,0,.28);
}

/* Huit contrÃ´les en version rapide */
.dpt-essential-controls {
    padding: clamp(24px, 4vw, 46px);
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(202,167,91,.28);
}

.dpt-essential-controls ol {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin: 0;
    padding: 1px;
    background: rgba(255,255,255,.13);
    list-style: none;
}

.dpt-essential-controls li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    min-width: 0;
    padding: 18px;
    color: var(--dpt-ink);
    background: var(--dpt-paper);
}

.dpt-essential-controls li > span {
    display: grid;
    place-items: center;
    width: 42px;
    aspect-ratio: 1;
    color: #fff;
    background: var(--dpt-red);
    border-radius: 50%;
    font-weight: 950;
}

.dpt-essential-controls li strong {
    display: block;
    color: var(--dpt-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.08rem;
    line-height: 1.2;
}

.dpt-essential-controls li p {
    margin: .55rem 0 0;
    color: #586073;
    font-size: .86rem;
    line-height: 1.52;
}

.dpt-essential-controls blockquote {
    margin: 0;
    padding: 20px 22px;
    color: #fff;
    background: var(--dpt-red);
    border-left: 5px solid var(--dpt-gold);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.15rem, 2.2vw, 1.9rem);
    line-height: 1.3;
}

/* Arbre commun â€” synthÃ¨se cinÃ©matographique */
.dpt-essential-tree {
    padding: clamp(24px, 4vw, 46px);
    background: linear-gradient(135deg, rgba(7,19,41,.94), rgba(24,11,12,.96));
    border: 1px solid rgba(202,167,91,.34);
}

.dpt-essential-tree__duo {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.dpt-essential-tree__duo figure {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    background: #05070c;
    border: 1px solid rgba(202,167,91,.35);
}

.dpt-essential-tree__duo img {
    width: 100%;
    height: 100%;
    min-height: 360px;
    object-fit: cover;
}

.dpt-essential-tree__duo figcaption {
    display: grid;
    gap: .35rem;
    padding: 17px 18px;
    color: #fff;
    background: rgba(0,0,0,.48);
}

.dpt-essential-tree__duo figcaption strong {
    color: var(--dpt-gold-soft);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.2rem;
}

.dpt-essential-tree__duo figcaption span {
    color: rgba(255,255,255,.7);
    font-size: .86rem;
}

.dpt-essential-tree__principle {
    margin: 0;
    padding: 20px 22px;
    color: rgba(255,255,255,.76);
    background: rgba(102,25,25,.26);
    border-left: 5px solid var(--dpt-gold);
}

.dpt-essential-tree__principle strong {
    color: #fff;
}

/* Image finale : dernier plan du film essentiel */
.dpt-essential-finale {
    padding-top: clamp(16px, 3vw, 30px);
}

.dpt-essential-chapter--finale {
    max-width: 1180px;
    text-align: center;
    justify-self: center;
}

.dpt-essential-chapter--finale p {
    margin-inline: auto;
}

.dpt-essential-finale .dpt-finale-image__figure {
    margin: 0;
}

/* Dossier intÃ©gral : Ã©viter un vide visuel lorsque le film est masquÃ©. */
.dpt-mode-full .dpt-essential {
    padding-top: clamp(48px, 6vw, 82px);
}

@media (max-width: 1000px) {
    .dpt-hero__counts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dpt-intrigue-chain {
        grid-template-columns: 1fr;
    }

    .dpt-intrigue-chain b {
        justify-self: center;
        transform: rotate(90deg);
    }
}

@media (max-width: 760px) {
    .dpt-hero__counts,
    .dpt-essential-controls ol,
    .dpt-essential-tree__duo {
        grid-template-columns: 1fr;
    }

    .dpt-hero__counts span {
        min-height: 92px;
    }

    .dpt-essential-controls,
    .dpt-essential-tree {
        margin-inline: -10px;
        border-radius: 0;
    }

    .dpt-essential-tree__duo img {
        min-height: 0;
        height: auto;
        object-fit: contain;
    }
}

@media (max-width: 560px) {
    .dpt-hero--storyboard {
        padding-top: 62px;
    }

    .dpt-hero__confrontations p {
        grid-template-columns: auto minmax(0, 1fr);
        font-size: .76rem;
    }

    .dpt-hero__confrontations b {
        display: block;
    }

    .dpt-essential-controls li {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   V69 â€” huit questions ouvertes, chacune appuyÃ©e par le texte
   lÃ©gal et un extrait visible de la Cour de cassation.
   Aucun accordÃ©on : les huit contrÃ´les restent tous dÃ©ployÃ©s.
   ========================================================= */
.dpt-essential-controls {
    padding: clamp(26px, 4.5vw, 54px);
    background:
        radial-gradient(circle at 92% 6%, rgba(202,167,91,.13), transparent 27%),
        linear-gradient(145deg, rgba(4,11,27,.98), rgba(12,20,40,.98) 58%, rgba(35,10,13,.96));
    border: 1px solid rgba(202,167,91,.38);
    box-shadow: 0 28px 80px rgba(0,0,0,.24);
}

.dpt-essential-controls__foundation {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    color: var(--dpt-ink);
    background: rgba(202,167,91,.26);
    border: 1px solid rgba(202,167,91,.38);
}

.dpt-essential-controls__foundation > span {
    grid-column: 1 / -1;
    padding: 12px 18px;
    color: var(--dpt-gold-soft);
    background: rgba(102,25,25,.48);
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-essential-controls__foundation > div {
    display: grid;
    align-content: start;
    gap: 12px;
    min-width: 0;
    padding: clamp(20px, 3vw, 30px);
    background: var(--dpt-paper);
}

.dpt-essential-controls__foundation strong {
    color: var(--dpt-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.15rem, 2vw, 1.7rem);
    line-height: 1.15;
}

.dpt-essential-controls__foundation blockquote {
    margin: 0;
    padding: 0;
    color: #2d3548;
    background: transparent;
    border: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(.96rem, 1.3vw, 1.08rem);
    line-height: 1.58;
}

.dpt-essential-controls__foundation a,
.dpt-essential-control-card__support a {
    justify-self: start;
    color: var(--dpt-red);
    font-size: .78rem;
    font-weight: 900;
    text-underline-offset: .22em;
}

.dpt-essential-controls__list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: clamp(16px, 2.5vw, 24px) !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    list-style: none !important;
}

.dpt-essential-control-card {
    display: block !important;
    min-width: 0;
    padding: 0 !important;
    color: var(--dpt-ink);
    background: var(--dpt-paper) !important;
    border: 1px solid rgba(202,167,91,.32);
    box-shadow: 0 18px 50px rgba(0,0,0,.16);
}

.dpt-essential-control-card > article {
    display: grid;
    gap: 18px;
    padding: clamp(20px, 3.5vw, 36px);
}

.dpt-essential-control-card__header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    padding-bottom: 17px;
    border-bottom: 1px solid var(--dpt-line);
}

.dpt-essential-control-card__header > span {
    display: grid;
    place-items: center;
    width: 52px;
    aspect-ratio: 1;
    color: #fff;
    background: var(--dpt-red);
    border-radius: 50%;
    font-weight: 950;
    font-variant-numeric: tabular-nums;
}

.dpt-essential-control-card__header small {
    display: block;
    margin-bottom: .35rem;
    color: var(--dpt-red);
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.dpt-essential-control-card__header h4 {
    margin: 0;
    color: var(--dpt-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.45rem, 2.8vw, 2.7rem);
    line-height: 1.08;
}

.dpt-essential-control-card__question {
    margin: 0 !important;
    padding: clamp(18px, 2.6vw, 26px);
    color: #fff !important;
    background: linear-gradient(115deg, var(--dpt-red), #3a1115);
    border-left: 5px solid var(--dpt-gold);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.22rem, 2.4vw, 2.05rem) !important;
    font-weight: 700;
    line-height: 1.3 !important;
}

.dpt-essential-control-card__rule {
    padding: 17px 19px;
    background: var(--dpt-blue-soft);
    border: 1px solid rgba(0,25,68,.16);
    border-left: 4px solid var(--dpt-navy);
}

.dpt-essential-control-card__rule > span,
.dpt-essential-control-card__support > span {
    display: block;
    margin-bottom: .55rem;
    color: var(--dpt-red);
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.dpt-essential-control-card__rule p {
    margin: 0 !important;
    color: #384154 !important;
    font-size: .95rem !important;
    line-height: 1.6 !important;
}

.dpt-essential-control-card__supports {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.dpt-essential-control-card__support {
    display: grid;
    align-content: start;
    gap: 10px;
    min-width: 0;
    padding: clamp(17px, 2.5vw, 24px);
    border: 1px solid var(--dpt-line);
}

.dpt-essential-control-card__support--law {
    background: #fff8df;
    border-top: 4px solid var(--dpt-gold);
}

.dpt-essential-control-card__support--case {
    background: #eef4ff;
    border-top: 4px solid var(--dpt-navy);
}

.dpt-essential-control-card__support h5 {
    margin: 0;
    color: var(--dpt-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.02rem, 1.8vw, 1.38rem);
    line-height: 1.2;
}

.dpt-essential-control-card__support blockquote {
    margin: 0;
    padding: 0;
    color: #30384a;
    background: transparent;
    border: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(.94rem, 1.25vw, 1.06rem);
    line-height: 1.58;
}

.dpt-essential-control-card__open-note {
    margin: 0 !important;
    padding: 14px 16px;
    color: #515a6d !important;
    background: #f3efe6;
    border-left: 4px solid var(--dpt-red);
    font-size: .86rem !important;
    line-height: 1.55 !important;
}

.dpt-essential-control-card__open-note strong {
    display: inline;
    color: var(--dpt-red);
    font-family: inherit;
    font-size: inherit;
}

.dpt-essential-controls__closing {
    margin: 0 !important;
    padding: clamp(22px, 3.5vw, 34px) !important;
    color: #fff !important;
    background: rgba(102,25,25,.78) !important;
    border-left: 6px solid var(--dpt-gold) !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.3rem, 2.6vw, 2.35rem) !important;
    line-height: 1.25 !important;
}

@media (max-width: 900px) {
    .dpt-essential-controls__foundation,
    .dpt-essential-control-card__supports {
        grid-template-columns: 1fr;
    }

    .dpt-essential-controls__foundation > span {
        grid-column: auto;
    }
}

@media (max-width: 560px) {
    .dpt-essential-controls {
        margin-inline: -10px;
        padding-inline: 10px;
        border-radius: 0;
    }

    .dpt-essential-control-card__header {
        grid-template-columns: 1fr;
    }

    .dpt-essential-control-card__header > span {
        width: 46px;
    }
}


/* =========================================================
   V70 â€” deux prologues communs + quatre signes + trois questions
   Ordre : hero / prologue I / signes / choix / lecture / prologue II / image finale
   ========================================================= */

.dpt-common-prologue {
    padding-block: clamp(42px, 6vw, 82px);
    background: linear-gradient(180deg, #f4f0e7, #e9e3d7);
}

.dpt-common-prologue--closing {
    color: #fff;
    background:
        radial-gradient(circle at 15% 12%, rgba(202,167,91,.14), transparent 28%),
        linear-gradient(145deg, #020611, #071329 55%, #16090b);
}

.dpt-common-prologue .dpt-prologue-gallery {
    margin: 0;
}

.dpt-common-signs {
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(202,167,91,.15), transparent 28%),
        linear-gradient(145deg, #030814, #071329 58%, #16090b);
}

.dpt-common-signs__header {
    max-width: 1050px;
    margin-bottom: clamp(28px, 5vw, 54px);
}

.dpt-common-signs__header .dpt-kicker {
    color: var(--dpt-gold-soft);
}

.dpt-common-signs__header h2 {
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.3rem, 5.5vw, 5.8rem);
    line-height: .98;
    letter-spacing: -.045em;
}

.dpt-common-signs__header p:last-child {
    max-width: 780px;
    margin: 1.25rem 0 0;
    color: rgba(255,255,255,.72);
    font-size: clamp(1rem, 1.5vw, 1.2rem);
}

.dpt-common-signs__rule {
    max-width: 1050px;
    margin: clamp(22px, 4vw, 38px) 0 0;
    padding: 20px 22px;
    color: rgba(255,255,255,.78);
    background: rgba(102,25,25,.25);
    border-left: 5px solid var(--dpt-gold);
}

.dpt-common-signs__rule strong {
    color: #fff;
}

.dpt-three-questions__header {
    margin-bottom: clamp(42px, 7vw, 76px);
}

.dpt-resemblance-map {
    width: min(100%, 1500px);
    margin: 0 auto clamp(52px, 8vw, 96px);
}

.dpt-resemblance-map__link {
    display: block;
    overflow: hidden;
    background: #f5efe4;
    border: 1px solid rgba(202, 167, 91, .42);
    border-radius: clamp(14px, 2vw, 24px);
    box-shadow: 0 28px 70px rgba(0, 0, 0, .28);
    cursor: zoom-in;
}

.dpt-resemblance-map__link img {
    display: block;
    width: 100%;
    height: auto;
}

.dpt-resemblance-map figcaption {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 12px;
    margin-top: 15px;
    color: rgba(255, 255, 255, .7);
    font-size: clamp(.78rem, 1.1vw, .92rem);
    line-height: 1.55;
}

.dpt-resemblance-map figcaption strong {
    color: #fff;
}

@media (max-width: 700px) {
    .dpt-resemblance-map {
        width: calc(100% + 2 * var(--dpt-shell-pad, 20px));
        margin-left: calc(-1 * var(--dpt-shell-pad, 20px));
        margin-right: calc(-1 * var(--dpt-shell-pad, 20px));
    }

    .dpt-resemblance-map__link {
        border-right: 0;
        border-left: 0;
        border-radius: 0;
    }

    .dpt-resemblance-map figcaption {
        padding: 0 var(--dpt-shell-pad, 20px);
    }
}

.dpt-three-questions__acts {
    display: grid;
    gap: clamp(52px, 8vw, 100px);
}

.dpt-question-act {
    display: grid;
    gap: clamp(22px, 4vw, 38px);
    padding: clamp(24px, 4vw, 48px);
    background:
        radial-gradient(circle at 92% 5%, rgba(202,167,91,.11), transparent 23rem),
        rgba(255,255,255,.045);
    border: 1px solid rgba(255,255,255,.13);
    border-top: 5px solid var(--dpt-red);
    box-shadow: 0 28px 80px rgba(0,0,0,.24);
}

.dpt-question-act__header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: clamp(18px, 3vw, 30px);
    align-items: start;
}

.dpt-question-act__number {
    display: grid;
    place-items: center;
    width: clamp(64px, 8vw, 102px);
    aspect-ratio: 1;
    color: #fff;
    background: var(--dpt-red);
    border-radius: 50%;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.7rem, 3.5vw, 3.4rem);
    font-weight: 800;
}

.dpt-question-act__header p {
    margin: 0 0 .65rem;
    color: var(--dpt-gold-soft);
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.dpt-question-act__header h3 {
    max-width: 1050px;
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.8rem, 4.2vw, 4.15rem);
    line-height: 1.05;
    letter-spacing: -.035em;
}

.dpt-question-storyboard {
    display: grid;
    gap: 12px;
}

.dpt-question-storyboard--objects {
    grid-template-columns: 1fr;
}

.dpt-question-storyboard--objects .dpt-question-frame {
    width: 100%;
}

.dpt-question-storyboard--objects .dpt-question-frame--operation {
    min-height: 0;
}

.dpt-question-storyboard--objects .dpt-question-removals {
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.dpt-question-storyboard--objects .dpt-question-frame--residue {
    min-height: 0;
    padding-block: clamp(24px, 4vw, 44px);
}

.dpt-question-storyboard--objects .dpt-question-frame--residue strong {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    width: min(100%, 900px);
    margin-inline: auto;
}

.dpt-question-storyboard--objects .dpt-question-frame--residue small {
    max-width: 720px;
    margin-inline: auto;
}

.dpt-question-frame {
    min-width: 0;
    padding: clamp(18px, 2.6vw, 28px);
    background: rgba(2,7,18,.76);
    border: 1px solid rgba(255,255,255,.13);
}

.dpt-question-frame > span,
.dpt-question-relation > span,
.dpt-question-language-ground div > span,
.dpt-question-split section > span,
.dpt-question-split__center > span {
    display: block;
    margin-bottom: 16px;
    color: var(--dpt-gold-soft);
    font-size: .67rem;
    font-weight: 950;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.dpt-question-mini-signs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.dpt-question-mini-signs figure {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    background: #fff;
}

.dpt-question-sign-pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    background: #d5d8e0;
}

.dpt-question-sign-pair__panel {
    display: grid;
    align-content: start;
    min-width: 0;
    background: #fff;
}

.dpt-question-sign-pair__panel > span {
    display: block;
    padding: 7px 8px 0;
    color: #6b7692;
    font-size: .54rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.dpt-question-mini-signs img {
    width: 100%;
    height: 108px;
    padding: 8px 8px 10px;
    object-fit: contain;
}

.dpt-question-sign-pair__panel--reconstructed {
    background: #f4f4f6;
}

.dpt-question-mini-signs figcaption {
    display: grid;
    gap: 5px;
    min-height: 64px;
    padding: 8px 9px;
    color: #fff;
    background: #071126;
    font-size: .63rem;
    line-height: 1.25;
}

.dpt-question-mini-signs figcaption strong {
    color: #fff;
    font-size: .78rem;
    line-height: 1.2;
}

.dpt-question-mini-signs figcaption small {
    color: rgba(255,255,255,.7);
    font-size: .58rem;
    line-height: 1.3;
}

.dpt-question-removals {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px 10px;
    align-items: start;
}

.dpt-question-removals figure {
    min-width: 0;
    margin: 0;
    padding: 6px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(217,145,136,.28);
}

.dpt-question-removals figure.is-lower-row {
    margin-top: 2px;
}

.dpt-question-removals img {
    display: block;
    width: 100%;
    height: 72px;
    padding: 4px;
    object-fit: contain;
    background: linear-gradient(180deg, #fcfcfb 0%, #f1f0ec 100%);
    border: 1px solid rgba(10, 20, 40, .14);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.78);
    filter: drop-shadow(0 1px 1px rgba(0,0,0,.45)) drop-shadow(0 0 6px rgba(0,0,0,.18));
}

.dpt-question-frame--operation {
    align-content: start;
}


.dpt-question-frame--residue {
    display: grid;
    align-content: center;
    text-align: center;
    background: rgba(0,58,132,.25);
    border-color: rgba(104,163,255,.4);
}

.dpt-question-frame--residue strong {
    display: grid;
    gap: 7px;
}

.dpt-question-frame--residue strong i {
    padding: 14px 10px;
    color: var(--dpt-navy);
    background: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.55rem, 3vw, 2.8rem);
    font-style: normal;
}

.dpt-question-frame--residue small {
    margin-top: 14px;
    color: rgba(255,255,255,.62);
}

.dpt-question-freeze {
    margin: 0;
    padding: clamp(22px, 3.5vw, 38px);
    color: #fff;
    background: rgba(102,25,25,.26);
    border: 1px solid rgba(202,167,91,.35);
    border-left: 6px solid var(--dpt-gold);
}

.dpt-question-freeze span {
    display: block;
    margin-bottom: .7rem;
    color: var(--dpt-gold-soft);
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-question-freeze p {
    max-width: 1020px;
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.35rem, 2.8vw, 2.65rem);
    line-height: 1.18;
}

.dpt-question-legal {
    padding: clamp(20px, 3vw, 30px);
    color: var(--dpt-ink);
    background: var(--dpt-paper);
    border-left: 5px solid var(--dpt-gold);
}

.dpt-question-legal > span {
    display: block;
    margin-bottom: .65rem;
    color: var(--dpt-red);
    font-size: .69rem;
    font-weight: 950;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.dpt-question-legal p {
    margin: 0;
}

.dpt-question-legal > div,
.dpt-coherence-deep__sources {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
}

.dpt-question-legal a,
.dpt-coherence-deep__sources a {
    padding: 8px 10px;
    color: var(--dpt-navy);
    background: #f2eee5;
    border: 1px solid var(--dpt-line);
    font-size: .73rem;
    font-weight: 850;
    text-decoration: none;
}


.dpt-question-method-guide {
    display: grid;
    grid-template-columns: minmax(320px, .9fr) minmax(0, 1.1fr);
    min-width: 0;
    overflow: hidden;
    background: #071126;
    border: 1px solid rgba(202,167,91,.42);
}

.dpt-question-method-guide__image {
    display: grid;
    place-items: center;
    min-width: 0;
    padding: clamp(12px, 2vw, 20px);
    background: #fff;
}

.dpt-question-method-guide__image img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 760px;
    object-fit: contain;
}

.dpt-question-method-guide__copy {
    display: grid;
    align-content: center;
    gap: 12px;
    padding: clamp(22px, 3.5vw, 38px);
    color: rgba(255,255,255,.76);
}

.dpt-question-method-guide__copy > span {
    color: var(--dpt-gold-soft);
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-question-method-guide__copy h4 {
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.35rem, 2.5vw, 2.45rem);
    line-height: 1.12;
}

.dpt-question-method-guide__copy p {
    margin: 0;
    line-height: 1.65;
}

.dpt-question-method-guide__note {
    color: rgba(255,255,255,.58);
    font-size: .84rem;
}

.dpt-question-method-guide__copy > div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 4px;
}

.dpt-question-method-guide__copy a {
    padding: 9px 11px;
    color: #fff;
    background: rgba(102,25,25,.38);
    border: 1px solid rgba(202,167,91,.34);
    font-size: .75rem;
    font-weight: 850;
    text-decoration: none;
}

@media (max-width: 900px) {
    .dpt-question-method-guide {
        grid-template-columns: 1fr;
    }

    .dpt-question-method-guide__image img {
        max-height: none;
    }
}

.dpt-question-deep-link {
    justify-self: start;
    padding: 12px 15px;
    color: #fff;
    background: var(--dpt-red);
    border: 1px solid rgba(202,167,91,.3);
    font-weight: 900;
    text-decoration: none;
}

.dpt-question-storyboard--grammar {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dpt-question-relation {
    min-width: 0;
    padding: clamp(20px, 3vw, 30px);
    background: rgba(2,7,18,.72);
    border: 1px solid rgba(255,255,255,.13);
}

.dpt-question-relation strong {
    display: block;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.35rem, 2.4vw, 2.25rem);
}

.dpt-question-relation strong b {
    color: var(--dpt-gold-soft);
}

.dpt-question-relation p {
    margin: 14px 0 0;
    color: rgba(255,255,255,.68);
}

.dpt-question-language-ground {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 12px;
    align-items: stretch;
}

.dpt-question-language-ground > div {
    display: grid;
    align-content: center;
    padding: 22px;
    text-align: center;
    background: rgba(0,58,132,.23);
    border: 1px solid rgba(104,163,255,.34);
}

.dpt-question-language-ground > div strong {
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 4vw, 4rem);
}

.dpt-question-language-ground > b {
    align-self: center;
    color: var(--dpt-gold-soft);
    font-size: 2rem;
}

.dpt-question-language-ground > p {
    grid-column: 1 / -1;
    margin: 0;
    padding: 18px 20px;
    color: rgba(255,255,255,.74);
    background: rgba(255,255,255,.05);
    border-left: 4px solid var(--dpt-gold);
}

.dpt-question-split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, .66fr) minmax(0, 1fr);
    gap: 12px;
    align-items: stretch;
}

.dpt-question-split > section,
.dpt-question-split__center {
    min-width: 0;
    padding: clamp(20px, 3vw, 30px);
    border: 1px solid rgba(255,255,255,.13);
}

.dpt-question-split > section {
    background: rgba(102,25,25,.17);
}

.dpt-question-split section h4 {
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.3rem, 2.4vw, 2.2rem);
}

.dpt-question-split section p {
    margin: 14px 0 0;
    color: rgba(255,255,255,.68);
}

.dpt-question-split__center {
    display: grid;
    align-content: center;
    text-align: center;
    background: rgba(0,58,132,.25);
    border-color: rgba(104,163,255,.38);
}

.dpt-question-split__center strong {
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.55rem, 3vw, 2.8rem);
}

.dpt-question-split__center small {
    margin-top: 12px;
    color: rgba(255,255,255,.62);
}

.dpt-question-nuance {
    margin: 0;
    padding: 18px 20px;
    color: rgba(255,255,255,.76);
    background: rgba(255,255,255,.055);
    border-left: 4px solid var(--dpt-gold);
}

.dpt-question-nuance strong {
    color: #fff;
}

.dpt-three-questions__closing {
    max-width: 1120px;
    margin: clamp(48px, 7vw, 86px) auto 0;
    padding: clamp(26px, 4vw, 46px);
    color: var(--dpt-gold-soft);
    border-top: 1px solid rgba(202,167,91,.36);
    border-bottom: 1px solid rgba(202,167,91,.36);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.4rem, 3vw, 2.8rem);
    line-height: 1.2;
    text-align: center;
}

.dpt-deep-overview {
    border-top: 1px solid rgba(202,167,91,.25);
}

.dpt-coherence-deep {
    margin-top: clamp(46px, 7vw, 82px);
    padding: clamp(24px, 4vw, 46px);
    color: #fff;
    background:
        radial-gradient(circle at 88% 8%, rgba(202,167,91,.15), transparent 24rem),
        linear-gradient(135deg, #031027, #071329 58%, #1a090b);
    border: 1px solid rgba(202,167,91,.35);
}

.dpt-coherence-deep__header > span {
    color: var(--dpt-gold-soft);
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-coherence-deep__header h2 {
    max-width: 1000px;
    margin: .7rem 0 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.9rem, 4.3vw, 4.3rem);
    line-height: 1.04;
}

.dpt-coherence-deep__header p {
    max-width: 880px;
    color: rgba(255,255,255,.72);
}

.dpt-coherence-deep__stable {
    margin-top: 28px;
    padding: 24px;
    text-align: center;
    background: rgba(0,58,132,.27);
    border: 1px solid rgba(104,163,255,.4);
}

.dpt-coherence-deep__stable span {
    color: var(--dpt-gold-soft);
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.dpt-coherence-deep__stable strong {
    display: block;
    margin-top: 10px;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 4vw, 4rem);
}

.dpt-coherence-deep__stable p {
    margin: 10px 0 0;
    color: rgba(255,255,255,.68);
}

.dpt-coherence-deep__grid,
.dpt-coherence-deep__test {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 12px;
}

.dpt-coherence-deep__grid article,
.dpt-coherence-deep__test article {
    padding: 22px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.12);
}

.dpt-coherence-deep__grid span,
.dpt-coherence-deep__test span {
    color: var(--dpt-gold-soft);
    font-size: .67rem;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.dpt-coherence-deep__grid h3 {
    margin: .55rem 0 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.25rem, 2.2vw, 2rem);
}

.dpt-coherence-deep__grid ul {
    margin: 16px 0 0;
    padding-left: 1.2rem;
    color: rgba(255,255,255,.7);
}

.dpt-coherence-deep__test strong {
    display: block;
    margin-top: .55rem;
    color: #fff;
}

.dpt-coherence-deep > blockquote {
    margin: 28px 0 0;
    padding: 24px;
    color: var(--dpt-gold-soft);
    background: rgba(102,25,25,.26);
    border-left: 5px solid var(--dpt-gold);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.35rem, 2.8vw, 2.5rem);
}

.dpt-common-finale {
    color: #fff;
    background: #02050c;
    text-align: center;
}

.dpt-common-finale__header {
    max-width: 1100px;
    margin: 0 auto clamp(28px, 5vw, 54px);
}

.dpt-common-finale__header > span {
    color: var(--dpt-gold-soft);
    font-size: .73rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-common-finale__header h2 {
    margin: .7rem 0 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.5rem, 6vw, 6.6rem);
    line-height: .98;
    letter-spacing: -.04em;
}

.dpt-common-finale__header p {
    margin: 1.2rem auto 0;
    color: rgba(255,255,255,.7);
    font-size: clamp(1.05rem, 1.7vw, 1.3rem);
}

.dpt-common-finale .dpt-finale-image__figure {
    margin: 0;
}

@media (max-width: 1000px) {
    .dpt-question-storyboard--objects,
    .dpt-question-split {
        grid-template-columns: 1fr;
    }

    .dpt-question-storyboard--grammar {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .dpt-question-act {
        margin-inline: -10px;
        padding-inline: 16px;
        border-left: 0;
        border-right: 0;
    }

    .dpt-question-act__header {
        grid-template-columns: 1fr;
    }

    .dpt-question-act__number {
        width: 64px;
    }

    .dpt-question-mini-signs,
    .dpt-coherence-deep__grid,
    .dpt-coherence-deep__test {
        grid-template-columns: 1fr;
    }

    .dpt-question-language-ground {
        grid-template-columns: 1fr;
    }

    .dpt-question-language-ground > b {
        justify-self: center;
    }

    .dpt-question-language-ground > p {
        grid-column: auto;
    }

    .dpt-three-questions__closing {
        text-align: left;
    }

    .dpt-question-mini-signs {
        display: flex;
        gap: 12px;
        overflow-x: auto;
        padding-bottom: 6px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .dpt-question-mini-signs figure {
        flex: 0 0 calc(100vw - 68px);
        scroll-snap-align: start;
    }

    .dpt-question-removals {
        display: flex;
        gap: 12px;
        overflow-x: auto;
        padding-bottom: 6px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .dpt-question-removals figure,
    .dpt-question-removals figure.is-lower-row {
        flex: 0 0 calc(100vw - 96px);
        margin-top: 0;
        scroll-snap-align: start;
    }

    .dpt-question-removals img {
        height: 140px;
        padding: 12px;
    }
}


@media (max-width: 680px) {
    .dpt-question-sign-pair {
        grid-template-columns: 1fr;
    }

    .dpt-question-mini-signs figure {
        flex-basis: calc(100vw - 48px);
    }

    .dpt-question-mini-signs img {
        height: 150px;
        padding: 12px 10px 14px;
    }

    .dpt-question-mini-signs figcaption {
        min-height: 0;
    }

    .dpt-question-removals figure,
    .dpt-question-removals figure.is-lower-row {
        flex-basis: calc(100vw - 48px);
    }

    .dpt-question-removals img {
        height: 170px;
    }
}


@media (max-width: 980px) {
    .dpt-question-removals {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}


@media (max-width: 760px) {
    .dpt-question-mini-signs::-webkit-scrollbar,
    .dpt-question-removals::-webkit-scrollbar {
        height: 8px;
    }

    .dpt-question-mini-signs::-webkit-scrollbar-thumb,
    .dpt-question-removals::-webkit-scrollbar-thumb {
        background: rgba(202,167,91,.45);
        border-radius: 999px;
    }
}


@media (max-width: 1180px) {
    .dpt-question-storyboard--objects .dpt-question-removals {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .dpt-question-storyboard--objects .dpt-question-removals {
        display: flex;
    }

    .dpt-question-storyboard--objects .dpt-question-frame--residue strong {
        grid-template-columns: 1fr;
    }
}


.dpt-question-removals-impact {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid rgba(217,145,136,.18);
}

.dpt-question-removals-impact__head {
    margin-bottom: 14px;
}

.dpt-question-removals-impact__head strong {
    display: block;
    margin-bottom: 8px;
    color: var(--dpt-gold-soft);
    font-size: 1rem;
    line-height: 1.35;
}

.dpt-question-removals-impact__head p {
    margin: 0;
    color: rgba(255,255,255,.75);
    font-size: .86rem;
    line-height: 1.55;
}

.dpt-question-removals-impact__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.dpt-question-removals-impact__grid figure {
    min-width: 0;
    margin: 0;
    padding: 8px;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(217,145,136,.22);
}

.dpt-question-removals-impact__grid img {
    display: block;
    width: 100%;
    height: 130px;
    object-fit: contain;
    background: linear-gradient(180deg, #fcfcfb 0%, #f1f0ec 100%);
    border: 1px solid rgba(10,20,40,.14);
}

.dpt-question-removals-impact__grid figcaption {
    margin-top: 8px;
    color: rgba(255,255,255,.8);
    font-size: .76rem;
    font-weight: 700;
}

@media (max-width: 760px) {
    .dpt-question-removals-impact__grid {
        display: flex;
        gap: 12px;
        overflow-x: auto;
        padding-bottom: 6px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .dpt-question-removals-impact__grid figure {
        flex: 0 0 calc(100vw - 68px);
        scroll-snap-align: start;
    }

    .dpt-question-removals-impact__grid img {
        height: 200px;
    }
}

@media (max-width: 680px) {
    .dpt-question-removals-impact__grid figure {
        flex-basis: calc(100vw - 48px);
    }
}


/* V85 â€” section commune des deux arbres arrosÃ©s, avant le Prologue II */
.dpt-common-tree-section {
    padding-block: clamp(54px, 7vw, 96px);
    background:
        radial-gradient(circle at 12% 18%, rgba(202,167,91,.12), transparent 28%),
        linear-gradient(135deg, #071126, #12090b);
}

.dpt-common-tree-section .dpt-essential-tree {
    margin: 0;
}

.dpt-common-tree-section .dpt-essential-chapter {
    margin-bottom: 24px;
}

.dpt-common-tree-section .dpt-essential-chapter h2 {
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 4.7vw, 4.9rem);
    letter-spacing: -.035em;
    line-height: 1.03;
}

@media (max-width: 760px) {
    .dpt-common-tree-section {
        padding-block: 46px;
    }

    .dpt-common-tree-section .dpt-essential-tree {
        margin-inline: -10px;
    }
}


/* V86 â€” textes complets des arbres + nouvelle mission du Chat */
@media (min-width: 761px) {
    .dpt-common-tree-section .dpt-essential-tree__duo figcaption {
        min-height: 230px;
        align-content: start;
    }
}

.dpt-common-tree-section .dpt-essential-tree__duo figcaption span {
    line-height: 1.62;
}

.dpt-human__mission {
    margin: 1.6rem 0 0 !important;
    padding: clamp(20px, 3vw, 28px);
    color: rgba(255,255,255,.82) !important;
    background: rgba(202,167,91,.08);
    border: 1px solid rgba(202,167,91,.3);
    border-left: 5px solid var(--dpt-gold);
}

.dpt-human__mission strong {
    display: block;
    margin-bottom: .45rem;
    color: var(--dpt-gold-soft);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.15rem, 2vw, 1.65rem);
}

@media (max-width: 760px) {
    .dpt-common-tree-section .dpt-essential-tree__duo figcaption {
        min-height: 0;
    }
}


/* V87 â€” Acte I refondu en quatre triptyques carrÃ©s */
.dpt-question-storyboard--triptychs {
    grid-template-columns: 1fr;
}

.dpt-question-frame--triptychs {
    padding: clamp(20px, 3vw, 34px);
}

.dpt-triptychs__intro {
    display: grid;
    gap: 8px;
    margin-bottom: 22px;
}

.dpt-triptychs__intro > span {
    color: var(--dpt-gold-soft);
    font-size: .69rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-triptychs__intro h4 {
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.5rem, 2.8vw, 2.7rem);
    line-height: 1.08;
}

.dpt-triptychs__intro p {
    max-width: 980px;
    margin: 0;
    color: rgba(255,255,255,.7);
    line-height: 1.65;
}

.dpt-triptychs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.dpt-triptych {
    min-width: 0;
    overflow: hidden;
    background: #071126;
    border: 1px solid rgba(255,255,255,.12);
}

.dpt-triptych__header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 13px 14px;
    border-bottom: 1px solid rgba(255,255,255,.1);
}

.dpt-triptych__header > span {
    display: grid;
    place-items: center;
    width: 30px;
    aspect-ratio: 1;
    color: #fff;
    background: var(--dpt-red);
    border-radius: 50%;
    font-size: .68rem;
    font-weight: 950;
}

.dpt-triptych__header h5 {
    margin: 0;
    color: #fff;
    font-size: .83rem;
    line-height: 1.3;
}

.dpt-triptych__rail {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    background: rgba(0,25,68,.18);
}

.dpt-triptych__rail figure {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    min-width: 0;
    margin: 0;
    padding: 8px;
    background: #f6f5f2;
}

.dpt-triptych__rail figure > span {
    display: block;
    min-height: 2.4em;
    padding: 1px 2px 7px;
    color: #65708c;
    font-size: .57rem;
    font-weight: 950;
    letter-spacing: .08em;
    line-height: 1.2;
    text-transform: uppercase;
}

.dpt-triptych__rail img {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    object-fit: contain;
    background: #fff;
}

.dpt-triptychs__question {
    display: grid;
    gap: 8px;
    margin-top: 18px;
    padding: clamp(20px, 3vw, 30px);
    color: #fff;
    background: rgba(102,25,25,.28);
    border: 1px solid rgba(202,167,91,.32);
    border-left: 6px solid var(--dpt-gold);
}

.dpt-triptychs__question > span,
.dpt-triptychs__result span {
    color: var(--dpt-gold-soft);
    font-size: .69rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-triptychs__question strong {
    max-width: 1120px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.3rem, 2.8vw, 2.55rem);
    line-height: 1.18;
}

.dpt-triptychs__question p {
    max-width: 980px;
    margin: 0;
    color: rgba(255,255,255,.74);
    line-height: 1.65;
}


.dpt-triptychs__discarded {
    margin-top: 14px;
    padding: clamp(18px, 2.8vw, 28px);
    background: rgba(255,255,255,.035);
    border: 1px solid rgba(217,145,136,.24);
}

.dpt-triptychs__discarded > header {
    display: grid;
    gap: 7px;
    margin-bottom: 16px;
}

.dpt-triptychs__discarded > header span {
    color: var(--dpt-gold-soft);
    font-size: .69rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-triptychs__discarded > header h5 {
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.2rem, 2vw, 1.75rem);
    line-height: 1.18;
}

.dpt-triptychs__discarded-rail {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 10px;
}

.dpt-triptychs__discarded-rail figure {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    min-width: 0;
    margin: 0;
    padding: 7px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(217,145,136,.22);
}

.dpt-triptychs__discarded-image {
    position: relative;
    aspect-ratio: 1;
    overflow: hidden;
    background: linear-gradient(180deg, #fcfcfb 0%, #f1f0ec 100%);
    border: 1px solid rgba(10,20,40,.14);
}

.dpt-triptychs__discarded-rail img {
    display: block;
    width: 100%;
    height: 100%;
    padding: 7px;
    object-fit: contain;
    transform-origin: center;
}

.dpt-triptychs__discarded-rail figure.is-third-size img {
    transform: scale(.3333);
}

.dpt-triptychs__discarded-rail figure.is-double-size img {
    transform: scale(2);
}

.dpt-triptychs__discarded-rail figure.is-wide-size img {
    width: 100%;
    max-width: 100%;
    padding-inline: 3px;
    transform: scale(1.42);
}

.dpt-triptychs__discarded-rail figcaption {
    min-height: 2.7em;
    padding: 8px 2px 1px;
    color: rgba(255,255,255,.78);
    font-size: .66rem;
    font-weight: 800;
    line-height: 1.3;
    text-align: center;
    text-transform: uppercase;
}

.dpt-triptychs__discarded > p {
    max-width: 1080px;
    margin: 16px 0 0;
    color: rgba(255,255,255,.7);
    font-size: .86rem;
    line-height: 1.62;
}

@media (max-width: 1100px) {
    .dpt-triptychs__discarded-rail {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .dpt-triptychs__discarded {
        padding-inline: 14px;
    }

    .dpt-triptychs__discarded-rail {
        display: flex;
        gap: 12px;
        overflow-x: auto;
        padding-bottom: 7px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .dpt-triptychs__discarded-rail figure {
        flex: 0 0 calc(100vw - 66px);
        scroll-snap-align: start;
    }

    .dpt-triptychs__discarded-rail img {
        padding: 12px;
    }

    .dpt-triptychs__discarded-rail figcaption {
        min-height: 0;
        font-size: .74rem;
    }
}

.dpt-triptychs__result {
    display: grid;
    grid-template-columns: minmax(260px, .55fr) minmax(0, 1fr);
    gap: 22px;
    align-items: center;
    margin-top: 14px;
    padding: clamp(20px, 3vw, 30px);
    background: rgba(0,58,132,.24);
    border: 1px solid rgba(104,163,255,.38);
}

.dpt-triptychs__result > div {
    display: grid;
    gap: 10px;
}

.dpt-triptychs__result strong {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.dpt-triptychs__result strong i {
    padding: 14px 10px;
    color: var(--dpt-navy);
    background: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.55rem, 3vw, 2.8rem);
    font-style: normal;
    text-align: center;
}

.dpt-triptychs__result p {
    margin: 0;
    color: rgba(255,255,255,.72);
    line-height: 1.65;
}

@media (max-width: 980px) {
    .dpt-triptychs {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .dpt-question-frame--triptychs {
        padding-inline: 14px;
    }

    .dpt-triptych__rail {
        display: flex;
        gap: 12px;
        overflow-x: auto;
        padding: 10px;
        background: #050a15;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .dpt-triptych__rail figure {
        /* 95 % de la largeur utile : la carte suivante reste visible Ã  5 %. */
        flex: 0 0 calc(95% - 12px);
        padding: 10px;
        scroll-snap-align: start;
    }

    .dpt-triptych__rail figure > span {
        min-height: 0;
        font-size: .67rem;
    }

    .dpt-triptychs__result {
        grid-template-columns: 1fr;
    }

    .dpt-triptychs__result strong {
        grid-template-columns: 1fr;
    }
}


@media (max-width: 680px) {
    .dpt-triptychs__discarded-rail figure.is-wide-size img {
        transform: scale(1.3);
    }
}


/* =========================================================
   V95 â€” thÃ¨se centrale : matrice analytique / objet juridique
   Structure conservÃ©e, argument directeur rendu explicite.
   ========================================================= */
.dpt-object-thesis {
    margin: clamp(26px, 4vw, 46px) 0;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(202, 167, 91, .17), transparent 30%),
        linear-gradient(125deg, #020611, #071329 58%, #1a090b);
    border: 1px solid rgba(202, 167, 91, .42);
    border-left: 6px solid var(--dpt-gold);
    border-radius: var(--dpt-radius);
    box-shadow: var(--dpt-shadow);
}

.dpt-object-thesis__header {
    padding: clamp(24px, 4vw, 44px);
    border-bottom: 1px solid rgba(255, 255, 255, .13);
}

.dpt-object-thesis__header > span {
    display: block;
    margin-bottom: .65rem;
    color: var(--dpt-gold-soft);
    font-size: .73rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.dpt-object-thesis__header h4 {
    max-width: 1080px;
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.7rem, 3.7vw, 3.7rem);
    line-height: 1.05;
}

.dpt-object-thesis__header p {
    max-width: 940px;
    margin: 1rem 0 0;
    color: rgba(255, 255, 255, .72);
}

.dpt-object-thesis__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    padding: 1px;
    background: rgba(255, 255, 255, .13);
}

.dpt-object-thesis__grid article {
    min-width: 0;
    padding: clamp(22px, 3.2vw, 36px);
    background: rgba(3, 10, 24, .96);
}

.dpt-object-thesis__grid article > span {
    display: block;
    color: var(--dpt-gold-soft);
    font-size: .71rem;
    font-weight: 950;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.dpt-object-thesis__grid h5 {
    margin: .7rem 0 .85rem;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.25rem, 2.4vw, 2.15rem);
    line-height: 1.12;
}

.dpt-object-thesis__grid p {
    margin: 0;
    color: rgba(255, 255, 255, .68);
}

.dpt-object-thesis > blockquote {
    margin: 0;
    padding: clamp(22px, 3.5vw, 38px) clamp(24px, 4vw, 44px);
    color: var(--dpt-gold-soft);
    background: rgba(102, 25, 25, .31);
    border-top: 1px solid rgba(202, 167, 91, .28);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.2rem, 2.4vw, 2.25rem);
    line-height: 1.25;
}

.dpt-object-thesis > blockquote strong {
    color: #fff;
}

@media (max-width: 760px) {
    .dpt-object-thesis__grid {
        grid-template-columns: 1fr;
    }

    .dpt-object-thesis {
        margin-inline: -10px;
        border-radius: 0;
    }
}

/* =========================================================
   V96 â€” restauration du repÃ¨re + formes visibles dÃ¨s le dÃ©part
   + double opÃ©ration inopÃ©rante dans la version essentielle
   ========================================================= */
.dpt-common-shapes {
    margin-top: clamp(28px, 5vw, 56px);
    padding: clamp(22px, 3.5vw, 38px);
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.14);
    border-top: 4px solid var(--dpt-gold);
}

.dpt-common-shapes__header {
    max-width: 980px;
    margin-bottom: clamp(20px, 3.5vw, 34px);
}

.dpt-common-shapes__header > span {
    display: block;
    margin-bottom: .55rem;
    color: var(--dpt-gold-soft);
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-common-shapes__header h3 {
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.65rem, 3.6vw, 3.5rem);
    line-height: 1.06;
}

.dpt-common-shapes__header p {
    max-width: 860px;
    margin: 1rem 0 0;
    color: rgba(255,255,255,.7);
}

.dpt-common-shapes__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.dpt-common-shapes__grid figure {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(255,255,255,.15);
}

.dpt-common-shapes__image {
    display: grid;
    place-items: center;
    min-height: 210px;
    padding: 16px;
    background: #f7f4ed;
}

.dpt-common-shapes__image img {
    width: 100%;
    max-height: 185px;
    object-fit: contain;
}

.dpt-common-shapes__grid figcaption {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    gap: 10px;
    align-items: center;
    min-height: 76px;
    padding: 13px 14px;
    color: #fff;
    background: var(--dpt-navy);
}

.dpt-common-shapes__grid figcaption span {
    display: grid;
    place-items: center;
    width: 30px;
    aspect-ratio: 1;
    color: #fff;
    background: var(--dpt-red);
    border-radius: 50%;
    font-size: .72rem;
    font-weight: 950;
}

.dpt-common-shapes__grid figcaption strong {
    min-width: 0;
    font-size: .78rem;
    line-height: 1.28;
}

.dpt-common-shapes > blockquote {
    margin: 20px 0 0;
    padding: 18px 20px;
    color: rgba(255,255,255,.76);
    background: rgba(102,25,25,.27);
    border-left: 5px solid var(--dpt-gold);
}

.dpt-common-shapes > blockquote strong {
    color: #fff;
}

.dpt-object-thesis__categories {
    padding: clamp(20px, 3vw, 32px) clamp(24px, 4vw, 44px);
    color: rgba(255,255,255,.75);
    background: rgba(0,58,132,.2);
    border-top: 1px solid rgba(104,163,255,.28);
}

.dpt-object-thesis__categories > span {
    display: block;
    margin-bottom: .55rem;
    color: var(--dpt-gold-soft);
    font-size: .71rem;
    font-weight: 950;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.dpt-object-thesis__categories p {
    max-width: 1080px;
    margin: 0;
}

@media (max-width: 1000px) {
    .dpt-common-shapes__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .dpt-common-shapes {
        margin-inline: -10px;
        padding-inline: 14px;
    }

    .dpt-common-shapes__grid {
        display: flex;
        gap: 12px;
        overflow-x: auto;
        padding-bottom: 8px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .dpt-common-shapes__grid figure {
        flex: 0 0 calc(95% - 12px);
        scroll-snap-align: start;
    }

    .dpt-common-shapes__image {
        min-height: 250px;
    }
}


/* =========================================================
   V98 â€” frontiÃ¨re entre lâ€™idÃ©e-matrice et les signes protÃ©gÃ©s
   PlacÃ©e entre le rÃ©sidu reconstruit et la double opÃ©ration.
   ========================================================= */
.dpt-matrix-boundary {
    margin: clamp(28px, 4.5vw, 52px) 0;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 10% 10%, rgba(202, 167, 91, .16), transparent 28%),
        radial-gradient(circle at 92% 82%, rgba(104, 163, 255, .12), transparent 30%),
        linear-gradient(132deg, #020611, #071329 58%, #16090b);
    border: 1px solid rgba(202, 167, 91, .44);
    border-top: 5px solid var(--dpt-gold);
    border-radius: var(--dpt-radius);
    box-shadow: var(--dpt-shadow);
}

.dpt-matrix-boundary__header {
    padding: clamp(25px, 4vw, 46px);
    border-bottom: 1px solid rgba(255, 255, 255, .13);
}

.dpt-matrix-boundary__header > span,
.dpt-matrix-boundary__grid article > span,
.dpt-matrix-boundary__transition > span {
    display: block;
    color: var(--dpt-gold-soft);
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-matrix-boundary__header h4 {
    max-width: 1120px;
    margin: .65rem 0 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.85rem, 4vw, 4rem);
    line-height: 1.04;
}

.dpt-matrix-boundary__header p {
    max-width: 980px;
    margin: 1rem 0 0;
    color: rgba(255, 255, 255, .72);
}

.dpt-matrix-boundary__grid {
    display: grid;
    grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
    gap: 1px;
    padding: 1px;
    background: rgba(255, 255, 255, .13);
}

.dpt-matrix-boundary__grid article {
    min-width: 0;
    padding: clamp(24px, 3.5vw, 40px);
    background: rgba(3, 10, 24, .96);
}

.dpt-matrix-boundary__idea {
    background:
        radial-gradient(circle at 50% 18%, rgba(202, 167, 91, .12), transparent 34%),
        rgba(3, 10, 24, .97) !important;
}

.dpt-matrix-boundary__signs {
    background:
        radial-gradient(circle at 88% 16%, rgba(104, 163, 255, .1), transparent 30%),
        rgba(5, 16, 37, .98) !important;
}

.dpt-matrix-boundary__grid h5 {
    margin: .75rem 0 .9rem;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.25rem, 2.25vw, 2.05rem);
    line-height: 1.14;
}

.dpt-matrix-boundary__grid p {
    margin: 0;
    color: rgba(255, 255, 255, .68);
}

.dpt-matrix-boundary__formula {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    margin: 22px 0;
    padding: clamp(18px, 3vw, 28px);
    color: var(--dpt-navy);
    background: #fff;
    border: 2px dashed var(--dpt-red-bright);
    text-align: center;
}

.dpt-matrix-boundary__formula strong {
    min-width: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.75rem, 3.7vw, 3.7rem);
    line-height: 1;
}

.dpt-matrix-boundary__formula b {
    color: var(--dpt-red);
    font-size: clamp(1.4rem, 2.4vw, 2.4rem);
}

.dpt-matrix-boundary__expressions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 18px;
}

.dpt-matrix-boundary__expressions i {
    padding: 7px 9px;
    color: #fff;
    background: rgba(102, 25, 25, .32);
    border: 1px solid rgba(202, 167, 91, .26);
    font-size: .73rem;
    font-style: normal;
    font-weight: 800;
}

.dpt-matrix-boundary__sign-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin: 19px 0;
}

.dpt-matrix-boundary__sign-grid figure {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(202, 167, 91, .22);
}

.dpt-matrix-boundary__sign-grid figure > div {
    display: grid;
    place-items: center;
    min-height: 118px;
    padding: 13px;
    background: #fff;
}

.dpt-matrix-boundary__sign-grid img {
    width: 100%;
    max-height: 92px;
    object-fit: contain;
}

.dpt-matrix-boundary__sign-grid figcaption {
    min-height: 54px;
    padding: 10px 11px;
    color: #fff;
    background: var(--dpt-navy);
    font-size: .68rem;
    font-weight: 850;
    line-height: 1.28;
}

.dpt-matrix-boundary > blockquote {
    margin: 0;
    padding: clamp(23px, 3.6vw, 39px) clamp(25px, 4vw, 46px);
    color: var(--dpt-gold-soft);
    background: rgba(102, 25, 25, .3);
    border-top: 1px solid rgba(202, 167, 91, .28);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.18rem, 2.35vw, 2.2rem);
    line-height: 1.26;
}

.dpt-matrix-boundary > blockquote strong {
    color: #fff;
}

.dpt-matrix-boundary__transition {
    display: grid;
    grid-template-columns: minmax(180px, .28fr) minmax(0, .72fr);
    gap: 18px;
    align-items: start;
    padding: clamp(20px, 3vw, 30px) clamp(25px, 4vw, 46px);
    color: rgba(255, 255, 255, .78);
    background: rgba(0, 58, 132, .2);
    border-top: 1px solid rgba(104, 163, 255, .28);
}

.dpt-matrix-boundary__transition p {
    margin: 0;
    font-weight: 750;
}

@media (max-width: 900px) {
    .dpt-matrix-boundary__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .dpt-matrix-boundary {
        margin-inline: -10px;
        border-radius: 0;
    }

    .dpt-matrix-boundary__formula {
        grid-template-columns: 1fr;
    }

    .dpt-matrix-boundary__formula b {
        transform: rotate(90deg);
    }

    .dpt-matrix-boundary__sign-grid {
        display: flex;
        gap: 10px;
        overflow-x: auto;
        padding-bottom: 7px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .dpt-matrix-boundary__sign-grid figure {
        flex: 0 0 calc(92% - 10px);
        scroll-snap-align: start;
    }

    .dpt-matrix-boundary__sign-grid figure > div {
        min-height: 170px;
    }

    .dpt-matrix-boundary__sign-grid img {
        max-height: 138px;
    }

    .dpt-matrix-boundary__transition {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   V99 â€” double inopÃ©rance dans la forme et dans le sens
   puis double opÃ©ration mÃ©thodologique
   ========================================================= */
.dpt-object-thesis__dimensions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    padding: clamp(20px, 3.2vw, 34px) clamp(24px, 4vw, 44px);
    background: rgba(255, 255, 255, .045);
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.dpt-object-thesis__dimension {
    min-width: 0;
    padding: clamp(20px, 3vw, 32px);
    background: rgba(3, 10, 24, .92);
    border: 1px solid rgba(255, 255, 255, .12);
    border-top: 4px solid var(--dpt-gold);
}

.dpt-object-thesis__dimension--sense {
    background: rgba(102, 25, 25, .22);
    border-top-color: var(--dpt-red-bright);
}

.dpt-object-thesis__dimension > span,
.dpt-object-thesis__bridge > span {
    display: block;
    color: var(--dpt-gold-soft);
    font-size: .71rem;
    font-weight: 950;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.dpt-object-thesis__dimension h5 {
    margin: .7rem 0 .85rem;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.25rem, 2.35vw, 2.05rem);
    line-height: 1.12;
}

.dpt-object-thesis__dimension p {
    margin: 0;
    color: rgba(255, 255, 255, .7);
}

.dpt-object-thesis__bridge {
    display: grid;
    grid-template-columns: minmax(210px, .34fr) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    padding: 20px clamp(24px, 4vw, 44px);
    color: rgba(255, 255, 255, .74);
    background: rgba(0, 58, 132, .23);
    border-bottom: 1px solid rgba(104, 163, 255, .3);
}

.dpt-object-thesis__bridge p {
    margin: 0;
}

.dpt-matrix-boundary__transition strong {
    color: #fff;
}

@media (max-width: 820px) {
    .dpt-object-thesis__dimensions,
    .dpt-object-thesis__bridge {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .dpt-object-thesis__dimensions {
        padding-inline: 14px;
    }

    .dpt-object-thesis__dimension {
        padding: 20px 18px;
    }
}



/* =========================================================
   V100 â€” formule de synthÃ¨se : deux rÃ©ductions / deux opÃ©rations
   ========================================================= */
.dpt-object-thesis__formula {
    display: grid;
    gap: .45rem;
}

.dpt-object-thesis__formula > span {
    display: block;
}

.dpt-object-thesis__formula > span + span {
    padding-top: .45rem;
    border-top: 1px solid rgba(202, 167, 91, .2);
}

@media (max-width: 650px) {
    .dpt-object-thesis__formula {
        gap: .7rem;
    }
}


/* =========================================================
   V101 â€” deux logiques dÃ©cisionnelles sÃ©parÃ©es
   ADP â†’ matrice PARIS â€¦ AIME / OTCP â†’ sÃ©quence PARIS Tâ€™AIME
   ========================================================= */
.dpt-logic-groups {
    display: grid;
    gap: clamp(26px, 4vw, 48px);
    margin-top: clamp(26px, 4vw, 44px);
}

.dpt-logic-group {
    overflow: hidden;
    background: #f2eee5;
    border: 1px solid rgba(0, 25, 68, .17);
    border-radius: var(--dpt-radius);
    box-shadow: 0 20px 58px rgba(2, 9, 24, .12);
}

.dpt-logic-group--adp {
    border-top: 6px solid var(--dpt-gold);
}

.dpt-logic-group--otcp {
    border-top: 6px solid #3f7b24;
}

.dpt-logic-group__header {
    padding: clamp(22px, 3.6vw, 40px);
    color: #fff;
    background:
        radial-gradient(circle at 88% 10%, rgba(202, 167, 91, .16), transparent 30%),
        linear-gradient(115deg, var(--dpt-navy), #071126 65%, #260a0c);
}

.dpt-logic-group--otcp .dpt-logic-group__header {
    background:
        radial-gradient(circle at 88% 10%, rgba(77, 139, 49, .2), transparent 30%),
        linear-gradient(115deg, #071329, #071a13 66%, #17100a);
}

.dpt-logic-group__header > span,
.dpt-logic-group__discarded > span,
.dpt-logic-divergence > span {
    display: block;
    margin-bottom: .55rem;
    color: var(--dpt-gold-soft);
    font-size: .71rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-logic-group--otcp .dpt-logic-group__header > span {
    color: #cbe7bf;
}

.dpt-logic-group__header h5 {
    max-width: 1080px;
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.8rem, 4vw, 4rem);
    line-height: 1.04;
}

.dpt-logic-group__header p {
    max-width: 970px;
    margin: 1rem 0 0;
    color: rgba(255, 255, 255, .74);
}

.dpt-logic-group__labels {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    padding: 1px;
    color: #fff;
    background: rgba(255, 255, 255, .13);
}

.dpt-logic-group__labels span {
    padding: 11px 14px;
    background: var(--dpt-navy);
    font-size: .69rem;
    font-weight: 900;
    letter-spacing: .09em;
    text-align: center;
    text-transform: uppercase;
}

.dpt-logic-group--otcp .dpt-logic-group__labels span {
    background: #173018;
}

.dpt-logic-group__rows {
    display: grid;
    gap: 1px;
    padding: 1px;
    background: rgba(0, 25, 68, .13);
}

.dpt-logic-row {
    min-width: 0;
    background: var(--dpt-paper);
}

.dpt-logic-row__header {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 13px;
    align-items: center;
    padding: 13px 16px;
    border-bottom: 1px solid var(--dpt-line);
}

.dpt-logic-row__header > span {
    display: grid;
    place-items: center;
    width: 38px;
    aspect-ratio: 1;
    color: #fff;
    background: var(--dpt-red);
    border-radius: 50%;
    font-weight: 950;
}

.dpt-logic-group--otcp .dpt-logic-row__header > span {
    background: #3f7b24;
}

.dpt-logic-row__header h6 {
    margin: 0;
    color: var(--dpt-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1rem, 1.8vw, 1.45rem);
    line-height: 1.15;
}

.dpt-logic-row__header p {
    margin: .25rem 0 0;
    color: var(--dpt-muted);
    font-size: .78rem;
}

.dpt-logic-row__rail {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    min-width: 0;
    padding: 1px;
    background: var(--dpt-line);
}

.dpt-logic-row__rail figure,
.dpt-logic-row__result {
    position: relative;
    min-width: 0;
    min-height: 235px;
    margin: 0;
    padding: 36px 18px 18px;
    background: #fff;
}

.dpt-logic-row__rail figure > span,
.dpt-logic-row__result > span {
    position: absolute;
    top: 10px;
    left: 12px;
    right: 12px;
    color: var(--dpt-muted);
    font-size: .64rem;
    font-weight: 900;
    letter-spacing: .08em;
    line-height: 1.25;
    text-align: center;
    text-transform: uppercase;
}

.dpt-logic-row__rail figure {
    display: grid;
    place-items: center;
}

.dpt-logic-row__rail img {
    width: 100%;
    height: 100%;
    max-height: 190px;
    object-fit: contain;
}

.dpt-logic-row__result {
    display: grid;
    place-items: center;
    color: var(--dpt-navy);
    background: #fffdf8;
    border-left: 4px solid var(--dpt-gold);
}

.dpt-logic-group--otcp .dpt-logic-row__result {
    border-left-color: #3f7b24;
}

.dpt-logic-row__result strong {
    display: grid;
    gap: 14px;
    width: min(100%, 260px);
    text-align: center;
}

.dpt-logic-row__result strong i {
    display: block;
    color: #1f2635;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.35rem, 2.7vw, 2.65rem);
    font-style: normal;
    font-weight: 500;
    line-height: 1.05;
}

.dpt-logic-row__result.is-split strong {
    grid-template-columns: 1fr 1fr;
    align-items: center;
}

.dpt-logic-row__result.is-single strong {
    grid-template-columns: 1fr;
}

.dpt-logic-group__discarded {
    padding: clamp(18px, 3vw, 28px);
    color: #fff;
    background: #081226;
    border-top: 1px solid rgba(255, 255, 255, .1);
}

.dpt-logic-group--otcp .dpt-logic-group__discarded {
    background: #0e2112;
}

.dpt-logic-group__discarded > div {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.dpt-logic-group--otcp .dpt-logic-group__discarded > div {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dpt-logic-group__discarded figure {
    display: grid;
    grid-template-rows: minmax(96px, 1fr) auto;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: var(--dpt-radius);
}

.dpt-logic-group__discarded figure > div {
    display: grid;
    place-items: center;
    min-height: 110px;
    padding: 12px;
    background: #fff;
}

.dpt-logic-group__discarded img {
    width: 100%;
    height: 100%;
    max-height: 92px;
    object-fit: contain;
}

.dpt-logic-group__discarded figcaption {
    padding: 9px 10px;
    color: #fff;
    font-size: .7rem;
    font-weight: 850;
    text-align: center;
}

.dpt-logic-group__note {
    margin: 0;
    padding: 20px clamp(22px, 3.4vw, 38px);
    color: #394255;
    background: #fff9e8;
    border-top: 1px solid rgba(202, 167, 91, .35);
    font-weight: 700;
}

.dpt-logic-group--otcp .dpt-logic-group__note {
    background: #f1f8ed;
    border-top-color: rgba(63, 123, 36, .32);
}

.dpt-logic-divergence {
    margin-top: clamp(24px, 4vw, 42px);
    padding: clamp(24px, 4vw, 42px);
    color: #fff;
    background:
        radial-gradient(circle at 88% 12%, rgba(202, 167, 91, .16), transparent 30%),
        linear-gradient(120deg, #06142e, #16090b);
    border-left: 6px solid var(--dpt-gold);
    border-radius: var(--dpt-radius);
}

.dpt-logic-divergence h5 {
    max-width: 1000px;
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.7rem, 3.6vw, 3.5rem);
    line-height: 1.08;
}

.dpt-logic-divergence p {
    max-width: 1000px;
    margin: 1rem 0 0;
    color: rgba(255, 255, 255, .76);
}

@media (max-width: 980px) {
    .dpt-logic-group__labels {
        display: none;
    }

    .dpt-logic-row__rail {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .dpt-logic-row__rail {
        grid-template-columns: 1fr;
    }

    .dpt-logic-row__rail figure,
    .dpt-logic-row__result {
        min-height: 220px;
    }

    .dpt-logic-row__result.is-split strong {
        grid-template-columns: 1fr 1fr;
    }

    .dpt-logic-group__discarded > div,
    .dpt-logic-group--otcp .dpt-logic-group__discarded > div {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 470px) {
    .dpt-logic-group__discarded > div,
    .dpt-logic-group--otcp .dpt-logic-group__discarded > div {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   V102 â€” statut prÃ©cis de la forme dans chaque dÃ©cision
   Â« RelativisÃ©e Â» ne signifie pas absente ou non examinÃ©e.
   ========================================================= */
.dpt-logic-row__shape {
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) auto;
    place-items: stretch !important;
    gap: 12px;
}

.dpt-logic-row__shape > img {
    align-self: center;
    justify-self: center;
    max-height: 145px;
}

.dpt-logic-row__shape-note {
    display: grid;
    gap: .38rem;
    width: 100%;
    padding: 10px 11px;
    color: #4b5568;
    background: #f7f3ea;
    border: 1px solid rgba(0, 25, 68, .12);
    border-left: 4px solid var(--dpt-gold);
    border-radius: var(--dpt-radius);
    text-align: left;
}

.dpt-logic-row__shape-note strong {
    color: var(--dpt-red);
    font-size: .64rem;
    font-weight: 950;
    letter-spacing: .085em;
    line-height: 1.25;
    text-transform: uppercase;
}

.dpt-logic-row__shape-note p {
    margin: 0;
    font-size: .7rem;
    line-height: 1.42;
}

.dpt-logic-row__shape-note.is-verbal {
    background: #eef4ff;
    border-left-color: var(--dpt-navy);
}

.dpt-logic-row__shape-note.is-verbal strong {
    color: var(--dpt-navy);
}

.dpt-logic-row__shape-note.is-preserved {
    background: #f1f8ed;
    border-left-color: #3f7b24;
}

.dpt-logic-row__shape-note.is-preserved strong {
    color: #2f6818;
}

@media (max-width: 700px) {
    .dpt-logic-row__shape > img {
        max-height: 165px;
    }

    .dpt-logic-row__shape-note p {
        font-size: .74rem;
    }
}


/* ========================================================================== */
/* Question 1 · Comparateur procédural intégré                                */
/* ========================================================================== */

.dpt-procedure {
    margin-top: clamp(34px, 5vw, 64px);
    padding: clamp(24px, 4vw, 54px);
    background:
        linear-gradient(180deg, rgba(255,255,255,.97), rgba(247,243,233,.98)),
        var(--dpt-paper);
    border: 1px solid rgba(0,25,68,.14);
    border-radius: var(--dpt-radius);
    box-shadow: 0 28px 80px rgba(2,9,24,.12);
}

.dpt-procedure__header {
    max-width: 1080px;
}

.dpt-procedure__header h3 {
    margin: .25rem 0 0;
    color: var(--dpt-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.35rem, 5vw, 5rem);
    line-height: .98;
    letter-spacing: -.035em;
}

.dpt-procedure__lead {
    max-width: 900px;
    margin: 1.2rem 0 0;
    color: #4d5568;
    font-size: clamp(1.02rem, 1.7vw, 1.28rem);
}

.dpt-procedure__axiom {
    display: grid;
    gap: .45rem;
    margin-top: 28px;
    padding: clamp(18px, 3vw, 28px);
    background: var(--dpt-navy);
    color: #fff;
    border-left: 5px solid var(--dpt-gold);
}

.dpt-procedure__axiom > span {
    color: var(--dpt-gold-soft);
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.dpt-procedure__axiom > strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.25rem, 2.2vw, 2rem);
    line-height: 1.2;
}

.dpt-procedure__axiom > p {
    margin: 0;
    color: rgba(255,255,255,.76);
}

.dpt-procedure__tabs {
    position: sticky;
    z-index: 24;
    top: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 34px 0 0;
    padding: 8px;
    background: rgba(247,243,233,.94);
    border: 1px solid var(--dpt-line);
    backdrop-filter: blur(14px);
    box-shadow: 0 10px 28px rgba(0,25,68,.08);
}

.dpt-procedure__tabs button {
    min-width: 0;
    padding: 14px 16px;
    border: 1px solid transparent;
    background: #fff;
    color: var(--dpt-navy);
    text-align: left;
    cursor: pointer;
}

.dpt-procedure__tabs button small,
.dpt-procedure__tabs button strong {
    display: block;
}

.dpt-procedure__tabs button small {
    color: var(--dpt-red);
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-procedure__tabs button strong {
    margin-top: .15rem;
    font-size: clamp(.82rem, 1.2vw, 1rem);
    line-height: 1.25;
}

.dpt-procedure__tabs button[aria-selected="true"] {
    background: var(--dpt-navy);
    color: #fff;
    border-color: var(--dpt-navy);
}

.dpt-procedure__tabs button[aria-selected="true"] small {
    color: var(--dpt-gold-soft);
}

.dpt-procedure__case {
    padding-top: 24px;
}

.dpt-procedure__case[hidden] {
    display: none !important;
}

.dpt-procedure__case-head {
    padding: clamp(20px, 3vw, 34px);
    background: #eee9df;
    border: 1px solid rgba(0,25,68,.08);
}

.dpt-procedure__case-head > span {
    color: var(--dpt-red);
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-procedure__case-head h4 {
    margin: .45rem 0 0;
    color: var(--dpt-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.7rem, 3.4vw, 3.25rem);
    line-height: 1.04;
}

.dpt-procedure__case-head p {
    max-width: 980px;
    margin: .85rem 0 0;
    color: #555d6f;
}

.dpt-procedure__steps {
    display: grid;
    gap: 18px;
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
}

.dpt-procedure__step {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--dpt-line);
    box-shadow: 0 18px 50px rgba(2,9,24,.07);
}

.dpt-procedure__step-index {
    display: grid;
    place-items: start center;
    padding-top: 28px;
    background: var(--dpt-navy);
    color: var(--dpt-gold-soft);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.45rem;
    font-weight: 800;
}

.dpt-procedure__step--critical .dpt-procedure__step-index {
    background: var(--dpt-red);
    color: #fff;
}

.dpt-procedure__step--final .dpt-procedure__step-index {
    background: #172034;
    color: #fff;
}

.dpt-procedure__step-main {
    min-width: 0;
    padding: clamp(22px, 4vw, 42px);
}

.dpt-procedure__step-main > header > span,
.dpt-procedure__reconstruction > header > span,
.dpt-procedure__relegated > header > span {
    color: var(--dpt-red);
    font-size: .74rem;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.dpt-procedure__step-main > header h5 {
    margin: .3rem 0 .5rem;
    color: var(--dpt-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.55rem, 3vw, 2.8rem);
    line-height: 1.06;
}

.dpt-procedure__step-main > header p {
    max-width: 900px;
    margin: 0;
    color: #5b6272;
}

.dpt-procedure__sign-pair {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    margin-top: 26px;
}

.dpt-procedure__sign-pair > b {
    color: var(--dpt-red);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2rem;
}

.dpt-procedure__sign-pair figure {
    min-width: 0;
    margin: 0;
}

.dpt-proc-sign {
    display: grid;
    place-items: center;
    min-height: 235px;
    padding: clamp(18px, 3vw, 30px);
    background: #fffdf8;
    border: 1px solid rgba(0,25,68,.12);
}

.dpt-proc-sign img {
    width: 100%;
    max-height: 190px;
    object-fit: contain;
}

.dpt-procedure__sign-pair figcaption {
    padding-top: 8px;
    color: #687086;
    font-size: .78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.dpt-procedure__legal-baseline {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 22px;
}

.dpt-procedure__legal-baseline article {
    display: grid;
    gap: .35rem;
    padding: 18px;
    background: var(--dpt-blue-soft);
    border-left: 4px solid var(--dpt-navy);
}

.dpt-procedure__legal-baseline span {
    color: var(--dpt-red);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.dpt-procedure__law {
    margin-top: 18px;
    border: 1px solid var(--dpt-line);
    background: #faf8f2;
}

.dpt-procedure__law summary {
    padding: 14px 18px;
    color: var(--dpt-navy);
    font-weight: 900;
    cursor: pointer;
}

.dpt-procedure__law > div,
.dpt-procedure__law > ul {
    margin: 0;
    padding: 0 18px 18px;
}

.dpt-procedure__law > div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
}

.dpt-procedure__law a {
    color: var(--dpt-red);
    font-weight: 800;
    text-underline-offset: 3px;
}

.dpt-procedure__law ul {
    padding-left: 38px;
}

.dpt-procedure__inventory {
    margin-top: 24px;
    border: 1px solid var(--dpt-line);
    overflow: hidden;
}

.dpt-procedure__inventory-head,
.dpt-procedure__inventory-row {
    display: grid;
    grid-template-columns: minmax(150px, .72fr) minmax(0, 1fr) minmax(0, 1fr);
}

.dpt-procedure__inventory-head {
    background: var(--dpt-navy);
    color: #fff;
}

.dpt-procedure__inventory-head > * {
    padding: 13px 15px;
    border-right: 1px solid rgba(255,255,255,.12);
}

.dpt-procedure__inventory-row {
    border-top: 1px solid var(--dpt-line);
}

.dpt-procedure__inventory-row > * {
    min-width: 0;
    padding: 14px 15px;
    border-right: 1px solid var(--dpt-line);
}

.dpt-procedure__inventory-row > span {
    background: #f2eee5;
    color: var(--dpt-navy);
    font-weight: 900;
}

.dpt-procedure__inventory-row > div {
    color: #4e5668;
}

.dpt-procedure__inventory-row > div.is-image {
    display: grid;
    gap: 8px;
}

.dpt-procedure__inventory-row img {
    width: 100%;
    max-height: 180px;
    object-fit: contain;
    padding: 8px;
    background: #fff;
}

.dpt-procedure__inventory-row small {
    color: #687086;
}

.dpt-procedure__rule,
.dpt-procedure__restore-note,
.dpt-procedure__final-rule {
    margin: 20px 0 0;
    padding: 18px 20px;
    background: #fff7e8;
    border-left: 5px solid var(--dpt-gold);
    color: #3e4656;
}

.dpt-procedure__operation {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(210px, .68fr) minmax(0, 1fr);
    gap: 14px;
    align-items: stretch;
    margin-top: 24px;
}

.dpt-procedure__operation > section {
    padding: 20px;
    background: #f3efe7;
    border: 1px solid var(--dpt-line);
}

.dpt-procedure__operation h6,
.dpt-procedure__reconstruction h6,
.dpt-procedure__relegated h6,
.dpt-procedure__restore h6 {
    margin: 0 0 14px;
    color: var(--dpt-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.25rem, 2.1vw, 1.8rem);
    line-height: 1.1;
}

.dpt-procedure__operation section > b {
    display: block;
    margin: 14px 0 8px;
    color: #5b6272;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.dpt-procedure__operation section > div {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.dpt-procedure__pivot {
    display: grid;
    place-items: center;
    align-content: center;
    gap: 8px;
    min-height: 240px;
    padding: 22px;
    background: var(--dpt-red);
    color: #fff;
    text-align: center;
}

.dpt-procedure__pivot span,
.dpt-procedure__pivot small {
    color: rgba(255,255,255,.74);
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.dpt-procedure__pivot strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.7rem, 3.7vw, 3.4rem);
    line-height: .98;
}

.dpt-proc-chip {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 6px 10px;
    background: #fff;
    border: 1px solid rgba(0,25,68,.14);
    color: var(--dpt-navy);
    font-size: .79rem;
    font-weight: 800;
    line-height: 1.15;
}

.dpt-proc-chip.is-kept {
    background: #eef4ff;
    border-color: rgba(0,25,68,.22);
}

.dpt-proc-chip.is-removed {
    background: #fff0ee;
    border-color: rgba(197,31,36,.24);
    color: #731a1f;
}

.dpt-proc-chip--image {
    width: 88px;
    min-height: 62px;
    justify-content: center;
    padding: 5px;
}

.dpt-proc-chip--image img {
    width: 100%;
    max-height: 52px;
    object-fit: contain;
}

.dpt-proc-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.dpt-procedure__reconstruction,
.dpt-procedure__relegated {
    margin-top: 22px;
    padding: clamp(18px, 3vw, 28px);
    border: 1px solid var(--dpt-line);
}

.dpt-procedure__reconstruction {
    background: #fffaf0;
}

.dpt-procedure__reconstruction-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.dpt-procedure__reconstruction-grid.is-single {
    grid-template-columns: minmax(0, 640px);
}

.dpt-procedure__reconstruction figure,
.dpt-procedure__relegated figure {
    margin: 0;
    background: #fff;
    border: 1px solid var(--dpt-line);
}

.dpt-procedure__reconstruction figure img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: contain;
}

.dpt-procedure__reconstruction figcaption,
.dpt-procedure__relegated figcaption {
    padding: 10px 12px;
    color: #5c6474;
    font-size: .78rem;
}

.dpt-procedure__reconstruction > p,
.dpt-procedure__relegated header > p {
    margin: 16px 0 0;
    color: #4f5768;
}

.dpt-procedure__relegated {
    background: #f3f7ff;
}

.dpt-procedure__relegated > div {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
}

.dpt-procedure__relegated figure {
    display: grid;
    grid-template-rows: minmax(110px, 1fr) auto;
}

.dpt-procedure__relegated figure img {
    width: 100%;
    height: 100%;
    max-height: 170px;
    object-fit: contain;
    padding: 12px;
}

.dpt-procedure__relegated blockquote {
    margin: 16px 0 0;
    padding: 15px 18px;
    background: var(--dpt-navy);
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
}

.dpt-procedure__case-question,
.dpt-procedure__final-question {
    margin: 22px 0 0;
    padding: clamp(18px, 3vw, 28px);
    background: #2a0c10;
    color: #fff;
    border-left: 5px solid var(--dpt-red-bright);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.25rem, 2.4vw, 2rem);
    line-height: 1.25;
}

.dpt-procedure__check {
    margin-top: 16px;
    padding: 20px;
    border: 1px solid rgba(102,25,25,.22);
    background: #fff7f4;
}

.dpt-procedure__check > span {
    color: var(--dpt-red);
    font-size: .74rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.dpt-procedure__check ol {
    margin: 12px 0 0;
    padding-left: 1.4rem;
}

.dpt-procedure__check li + li {
    margin-top: .35rem;
}

.dpt-procedure__restore {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 22px;
}

.dpt-procedure__restore > section {
    padding: 20px;
    background: #f5f2eb;
    border: 1px solid var(--dpt-line);
}

.dpt-procedure__restore dl {
    display: grid;
    gap: 0;
    margin: 0;
}

.dpt-procedure__restore dl > div {
    display: grid;
    grid-template-columns: minmax(120px, .52fr) minmax(0, 1fr);
    gap: 10px;
    padding: 10px 0;
    border-top: 1px solid var(--dpt-line);
}

.dpt-procedure__restore dt {
    color: var(--dpt-navy);
    font-size: .76rem;
    font-weight: 900;
}

.dpt-procedure__restore dd {
    margin: 0;
    color: #555d6e;
}

.dpt-procedure__synthesis {
    margin-top: 24px;
    padding: clamp(22px, 4vw, 38px);
    background: linear-gradient(135deg, #03102a, #13080c);
    color: #fff;
}

.dpt-procedure__synthesis > span {
    color: var(--dpt-gold-soft);
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.dpt-procedure__synthesis > div {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
}

.dpt-procedure__synthesis article {
    padding: 18px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.12);
}

.dpt-procedure__synthesis article.is-conclusion {
    background: rgba(102,25,25,.4);
}

.dpt-procedure__synthesis small,
.dpt-procedure__synthesis strong {
    display: block;
}

.dpt-procedure__synthesis small {
    color: var(--dpt-gold-soft);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.dpt-procedure__synthesis strong {
    margin-top: 6px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.35rem;
}

.dpt-procedure__synthesis p {
    margin: .65rem 0 0;
    color: rgba(255,255,255,.74);
}

.dpt-procedure__synthesis blockquote {
    margin: 18px 0 0;
    padding: 18px 20px;
    background: #fff;
    color: var(--dpt-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.05rem, 1.8vw, 1.35rem);
}

.dpt-procedure__synthesis blockquote strong + strong {
    margin-left: .4em;
}

/* Les développements préexistants restent disponibles sans doubler la lecture principale. */
.dpt-procedure-evidence {
    margin-top: 28px;
    border: 1px solid var(--dpt-line);
    background: #f4f0e7;
}

.dpt-procedure-evidence > summary {
    display: grid;
    gap: .3rem;
    padding: clamp(18px, 3vw, 28px);
    cursor: pointer;
    list-style: none;
}

.dpt-procedure-evidence > summary::-webkit-details-marker {
    display: none;
}

.dpt-procedure-evidence > summary::after {
    content: "+";
    grid-column: 2;
    grid-row: 1 / span 3;
    align-self: center;
    justify-self: end;
    color: var(--dpt-red);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2.3rem;
}

.dpt-procedure-evidence[open] > summary::after {
    content: "–";
}

.dpt-procedure-evidence > summary span {
    color: var(--dpt-red);
    font-size: .74rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-procedure-evidence > summary strong {
    color: var(--dpt-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.3rem, 2.3vw, 2rem);
}

.dpt-procedure-evidence > summary small {
    color: #697083;
    font-size: .88rem;
}

.dpt-procedure-evidence__body {
    padding: 0 clamp(16px, 3vw, 28px) clamp(20px, 4vw, 34px);
}

.dpt-procedure-evidence__body > .dpt-legal-freeze:first-child {
    margin-top: 0;
}

@media (max-width: 900px) {
    .dpt-procedure {
        padding-inline: 16px;
    }

    .dpt-procedure__tabs {
        position: relative;
        grid-template-columns: 1fr;
    }

    .dpt-procedure__step {
        grid-template-columns: 48px minmax(0, 1fr);
    }

    .dpt-procedure__step-index {
        padding-top: 24px;
        font-size: 1.05rem;
    }

    .dpt-procedure__sign-pair,
    .dpt-procedure__operation,
    .dpt-procedure__restore,
    .dpt-procedure__synthesis > div {
        grid-template-columns: 1fr;
    }

    .dpt-procedure__sign-pair > b {
        transform: rotate(90deg);
        justify-self: center;
    }

    .dpt-procedure__pivot {
        min-height: 180px;
    }

    .dpt-procedure__legal-baseline {
        grid-template-columns: 1fr;
    }

    .dpt-procedure__inventory {
        overflow-x: auto;
    }

    .dpt-procedure__inventory-head,
    .dpt-procedure__inventory-row {
        min-width: 760px;
    }

    .dpt-procedure__relegated > div {
        grid-template-columns: 1fr;
    }

    .dpt-procedure__reconstruction-grid {
        grid-template-columns: 1fr;
    }

    .dpt-procedure__restore dl > div {
        grid-template-columns: 1fr;
        gap: 3px;
    }
}

@media (max-width: 560px) {
    .dpt-procedure {
        margin-inline: -16px;
        border-left: 0;
        border-right: 0;
        box-shadow: none;
    }

    .dpt-procedure__case-head,
    .dpt-procedure__step-main {
        padding-left: 14px;
        padding-right: 14px;
    }

    .dpt-procedure__step {
        grid-template-columns: 38px minmax(0, 1fr);
    }

    .dpt-proc-sign {
        min-height: 190px;
    }

    .dpt-procedure__reconstruction,
    .dpt-procedure__relegated,
    .dpt-procedure__check {
        padding: 14px;
    }

    .dpt-procedure-evidence {
        margin-inline: -16px;
        border-left: 0;
        border-right: 0;
    }
}

/* ==========================================================
   CORRECTION CONTRASTE — Comparateur procédural
   Le bloc clair ne doit jamais hériter du texte blanc des
   sections sombres parentes.
   ========================================================== */
.dpt-procedure__check {
    background: #fff7f4;
    color: #2b1b1d !important;
    border-color: rgba(102, 25, 25, .28);
}

.dpt-procedure__check > span {
    color: #6b2020 !important;
}

.dpt-procedure__check ol,
.dpt-procedure__check li,
.dpt-procedure__check li strong {
    color: #2b1b1d !important;
}

.dpt-procedure__check li::marker {
    color: #8d2c2c;
    font-weight: 800;
}

.dpt-procedure__check li strong {
    font-weight: 850;
}


/* ========================================================================== */
/* V100.3 · Correctifs post-fusion : Question 1 + synthèse juridique          */
/* ========================================================================== */

/* 1. Le comparateur est posé sur une surface claire : ses deux énoncés de
   principe ne doivent jamais hériter du blanc d'un ancêtre sombre. */
.dpt-procedure .dpt-procedure__legal-baseline article {
    color: var(--dpt-navy);
}

.dpt-procedure .dpt-procedure__legal-baseline article > strong {
    display: block;
    color: var(--dpt-navy) !important;
    font-size: clamp(1rem, 1.45vw, 1.18rem);
    font-weight: 800;
    line-height: 1.55;
}

.dpt-procedure .dpt-procedure__legal-baseline article > span {
    color: var(--dpt-red) !important;
}

/* 2. La synthèse juridique a été déplacée hors de #dpt-montage-essentiel
   lors de la fusion. On restaure ici exactement son habillage, mais dans
   son conteneur réel : .dpt-deep-foundations. */
.dpt-deep-foundations .dpt-legal-audit {
    position: relative;
    margin-top: clamp(34px, 5vw, 64px);
    padding: clamp(28px, 4.5vw, 54px);
    overflow: hidden;
    color: #dce4f2;
    background:
        radial-gradient(circle at 92% 4%, rgba(202, 167, 91, .13), transparent 31%),
        linear-gradient(135deg, #060d1b 0%, #0a1428 58%, #11172a 100%);
    border-top: 5px solid var(--dpt-red);
    box-shadow: 0 28px 72px rgba(2, 9, 24, .22);
}

.dpt-deep-foundations .dpt-legal-audit::before {
    content: "08";
    position: absolute;
    top: -48px;
    right: 18px;
    color: rgba(255, 255, 255, .035);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(10rem, 21vw, 20rem);
    font-weight: 900;
    line-height: 1;
    pointer-events: none;
}

.dpt-deep-foundations .dpt-legal-audit__header,
.dpt-deep-foundations .dpt-legal-audit__grid,
.dpt-deep-foundations .dpt-legal-audit__conclusion,
.dpt-deep-foundations .dpt-legal-audit__question {
    position: relative;
    z-index: 1;
}

.dpt-deep-foundations .dpt-legal-audit__header {
    max-width: 1140px;
}

.dpt-deep-foundations .dpt-legal-audit__kicker {
    margin: 0 0 .85rem;
    color: #e6ca8c;
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.dpt-deep-foundations .dpt-legal-audit__header h2 {
    max-width: 1080px;
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 4.4vw, 4.7rem);
    line-height: 1.02;
    letter-spacing: -.035em;
}

.dpt-deep-foundations .dpt-legal-audit__header > p:not(.dpt-legal-audit__kicker) {
    max-width: 990px;
    margin: 1.25rem 0 0;
    color: #c8d0df;
    font-size: clamp(1rem, 1.4vw, 1.16rem);
    line-height: 1.7;
}

.dpt-deep-foundations .dpt-legal-audit__header > p strong {
    color: #fff;
}

.dpt-deep-foundations .dpt-legal-audit__foundation {
    display: grid;
    gap: .35rem;
    max-width: 980px;
    margin-top: 1.35rem;
    padding: 16px 19px;
    background: rgba(102, 25, 25, .28);
    border-left: 4px solid #e6ca8c;
}

.dpt-deep-foundations .dpt-legal-audit__foundation span {
    color: #e6ca8c;
    font-size: .69rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-deep-foundations .dpt-legal-audit__foundation strong {
    color: #fff;
    font-size: .98rem;
    line-height: 1.5;
}

.dpt-deep-foundations .dpt-legal-audit__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: clamp(28px, 4vw, 46px) 0 0;
    padding: 0;
    list-style: none;
}

.dpt-deep-foundations .dpt-legal-rule {
    min-width: 0;
}

.dpt-deep-foundations .dpt-legal-rule > article {
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: clamp(20px, 2.5vw, 29px);
    background: rgba(255, 255, 255, .045);
    border: 1px solid rgba(230, 202, 140, .18);
    border-top: 3px solid rgba(230, 202, 140, .72);
}

.dpt-deep-foundations .dpt-legal-rule__header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 15px;
    align-items: start;
}

.dpt-deep-foundations .dpt-legal-rule__number {
    display: grid;
    place-items: center;
    width: 46px;
    min-width: 46px;
    aspect-ratio: 1;
    color: #fff;
    background: var(--dpt-red);
    font-weight: 950;
    line-height: 1;
}

.dpt-deep-foundations .dpt-legal-rule__header h3 {
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.22rem, 2vw, 1.72rem);
    line-height: 1.16;
}

.dpt-deep-foundations .dpt-legal-rule__text {
    margin: 1rem 0 0;
    color: #cbd3e0;
    line-height: 1.65;
}

.dpt-deep-foundations .dpt-legal-rule__application {
    display: grid;
    gap: .35rem;
    margin: 1rem 0 0;
    padding: 14px 15px;
    color: #eef2f8;
    background: rgba(0, 25, 68, .58);
    border-left: 4px solid #7083a8;
}

.dpt-deep-foundations .dpt-legal-rule__application span {
    color: #e6ca8c;
    font-size: .67rem;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.dpt-deep-foundations .dpt-legal-rule__application strong {
    color: #fff;
    font-size: .93rem;
    line-height: 1.5;
}

.dpt-deep-foundations .dpt-legal-rule__references {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-top: auto;
    padding-top: 1.2rem;
}

.dpt-deep-foundations .dpt-legal-rule__references section {
    min-width: 0;
    padding-top: 13px;
    border-top: 1px solid rgba(255, 255, 255, .13);
}

.dpt-deep-foundations .dpt-legal-rule__references h4 {
    margin: 0 0 .6rem;
    color: #e6ca8c;
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.dpt-deep-foundations .dpt-legal-rule__references ul {
    display: grid;
    gap: .55rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.dpt-deep-foundations .dpt-legal-rule__references a {
    display: inline;
    color: #d8e0ec;
    font-size: .79rem;
    font-weight: 720;
    line-height: 1.45;
    text-decoration-color: rgba(230, 202, 140, .55);
    text-underline-offset: .2em;
    overflow-wrap: anywhere;
}

.dpt-deep-foundations .dpt-legal-rule__references a:hover {
    color: #fff;
    text-decoration-color: #e6ca8c;
}

.dpt-deep-foundations .dpt-legal-rule__references a span {
    color: #e6ca8c;
}

.dpt-deep-foundations .dpt-legal-audit__conclusion {
    display: grid;
    gap: .55rem;
    margin: clamp(24px, 3.5vw, 38px) 0 0;
    padding: clamp(20px, 3vw, 30px);
    color: #fff;
    background: rgba(102, 25, 25, .38);
    border-left: 5px solid #e6ca8c;
}

.dpt-deep-foundations .dpt-legal-audit__conclusion span {
    color: #e6ca8c;
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-deep-foundations .dpt-legal-audit__conclusion strong {
    max-width: 1120px;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.18rem, 2vw, 1.65rem);
    line-height: 1.38;
}

.dpt-deep-foundations .dpt-legal-audit__question {
    max-width: 1050px;
    margin: 1.15rem 0 0;
    color: #e6ca8c;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.3rem, 2.4vw, 2.1rem);
    font-weight: 700;
    line-height: 1.25;
}

@media (max-width: 980px) {
    .dpt-deep-foundations .dpt-legal-audit__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .dpt-deep-foundations .dpt-legal-audit {
        width: calc(100% + 32px);
        margin: 32px -16px 0;
        padding: 28px 16px 24px;
        background:
            radial-gradient(circle at 100% 0%, rgba(202, 167, 91, .11), transparent 28%),
            linear-gradient(135deg, #060d1b 0%, #0a1428 62%, #11172a 100%);
        border-radius: 0;
        box-shadow: none;
    }

    .dpt-deep-foundations .dpt-legal-audit::before {
        top: -20px;
        right: -10px;
        font-size: 10rem;
    }

    .dpt-deep-foundations .dpt-legal-audit__header h2 {
        font-size: clamp(2rem, 10vw, 3.1rem);
    }

    .dpt-deep-foundations .dpt-legal-audit__foundation {
        padding: 15px 0;
        background: transparent;
        border-left: 0;
        border-top: 3px solid #e6ca8c;
        border-bottom: 1px solid rgba(255,255,255,.14);
    }

    .dpt-deep-foundations .dpt-legal-audit__grid {
        gap: 12px;
    }

    .dpt-deep-foundations .dpt-legal-rule > article {
        padding: 20px 0;
        background: transparent;
        border: 0;
        border-top: 2px solid rgba(230, 202, 140, .45);
    }

    .dpt-deep-foundations .dpt-legal-rule__references {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .dpt-deep-foundations .dpt-legal-rule__application {
        padding: 14px 0 14px 14px;
        background: transparent;
        border-top: 1px solid rgba(255,255,255,.12);
        border-bottom: 1px solid rgba(255,255,255,.12);
    }

    .dpt-deep-foundations .dpt-legal-audit__conclusion {
        padding: 20px 0;
        background: transparent;
        border-left: 0;
        border-top: 4px solid var(--dpt-red);
        border-bottom: 1px solid rgba(255,255,255,.14);
    }
}



/* Verrouillage de contraste pour les cartes de la synthèse juridique. */
.dpt-deep-foundations .dpt-legal-audit,
.dpt-deep-foundations .dpt-legal-audit p,
.dpt-deep-foundations .dpt-legal-audit li {
    color: #dce4f2;
}

.dpt-deep-foundations .dpt-legal-audit__header h2,
.dpt-deep-foundations .dpt-legal-rule__header h3,
.dpt-deep-foundations .dpt-legal-rule__application strong,
.dpt-deep-foundations .dpt-legal-audit__conclusion strong {
    color: #fff;
}

.dpt-deep-foundations .dpt-legal-rule__references h4,
.dpt-deep-foundations .dpt-legal-audit__kicker,
.dpt-deep-foundations .dpt-legal-audit__foundation span,
.dpt-deep-foundations .dpt-legal-audit__conclusion span,
.dpt-deep-foundations .dpt-legal-audit__question {
    color: #e6ca8c;
}

.dpt-deep-foundations .dpt-legal-rule__references a {
    color: #d8e0ec;
}

.dpt-deep-foundations .dpt-legal-rule__references a:hover {
    color: #fff;
}

/* V101 — contrôle séquentiel : ordre de pondération et recomposition */
.dpt-procedure__decision-sequence {
    margin-top: clamp(22px, 3vw, 34px);
    padding: clamp(20px, 3vw, 30px);
    background: #fffdf8;
    border: 1px solid rgba(0, 25, 68, .15);
    border-left: 5px solid var(--dpt-red);
    border-radius: var(--dpt-radius);
}

.dpt-procedure__decision-sequence > header > span,
.dpt-procedure__scope-note > span {
    display: block;
    margin-bottom: .5rem;
    color: var(--dpt-red);
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-procedure__decision-sequence > header h6 {
    max-width: 980px;
    margin: 0;
    color: var(--dpt-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.25rem, 2.3vw, 2rem);
    line-height: 1.18;
}

.dpt-procedure__decision-sequence ol {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
}

.dpt-procedure__decision-sequence li {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
    min-width: 0;
    padding: 16px;
    background: #f5f1e8;
    border: 1px solid rgba(0, 25, 68, .11);
}

.dpt-procedure__decision-sequence li > span {
    display: grid;
    place-items: center;
    width: 32px;
    aspect-ratio: 1;
    background: var(--dpt-navy);
    color: #fff;
    font-weight: 950;
}

.dpt-procedure__decision-sequence li strong {
    display: block;
    color: var(--dpt-navy);
    font-size: .9rem;
    line-height: 1.3;
}

.dpt-procedure__decision-sequence li p {
    margin: .45rem 0 0;
    color: #4c5568;
    font-size: .86rem;
    line-height: 1.55;
}

.dpt-procedure__scope-note {
    margin-top: 18px;
    padding: 18px 20px;
    background: #eef4ff;
    border: 1px solid rgba(0, 25, 68, .16);
    border-left: 5px solid var(--dpt-navy);
}

.dpt-procedure__scope-note p {
    margin: 0;
    color: var(--dpt-navy);
    font-size: .94rem;
    line-height: 1.65;
}

.dpt-procedure__reconstruction > header > span {
    color: var(--dpt-red);
}

.dpt-procedure__pivot small {
    max-width: 220px;
    text-align: center;
    line-height: 1.3;
}

@media (max-width: 980px) {
    .dpt-procedure__decision-sequence ol {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .dpt-procedure__decision-sequence {
        padding: 18px 14px;
    }

    .dpt-procedure__decision-sequence ol {
        grid-template-columns: 1fr;
    }

    .dpt-procedure__decision-sequence li {
        padding: 14px;
    }

    .dpt-procedure__scope-note {
        padding: 16px;
    }
}


/* =========================================================
   V67 — Ouverture essentielle : phrase des grandes ressemblances
   Puis trois paires de signes complets et interrogation immédiate.
   ========================================================= */
.dpt-essential-shock {
    position: relative;
    margin: 0 0 clamp(34px, 4vw, 56px);
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 88% 14%, rgba(202, 167, 91, .18), transparent 24%),
        linear-gradient(135deg, #060b16 0%, #08152f 50%, #2b0a0d 100%);
    border: 1px solid rgba(202, 167, 91, .28);
    border-radius: 18px;
    box-shadow: 0 24px 70px rgba(2, 9, 24, .18);
}

.dpt-essential-shock::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, transparent 0 49.8%, rgba(255,255,255,.03) 49.8% 50%, transparent 50%),
        linear-gradient(0deg, transparent 0 49.8%, rgba(255,255,255,.02) 49.8% 50%, transparent 50%);
    background-size: 110px 110px;
    pointer-events: none;
}

.dpt-essential-shock__interrogation,
.dpt-essential-shock__pairs,
.dpt-essential-shock__rule,
.dpt-essential-shock__verdict {
    position: relative;
    z-index: 1;
}

.dpt-essential-shock__verdict > span,
.dpt-essential-pair__differences > span {
    display: block;
    color: var(--dpt-gold-soft);
    font-size: .73rem;
    font-weight: 950;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.dpt-essential-shock__interrogation {
    display: grid;
    gap: .7rem;
    padding: clamp(30px, 4.5vw, 52px) clamp(24px, 4vw, 48px) clamp(22px, 3vw, 28px);
}

.dpt-essential-shock__interrogation h3 {
    margin: 0;
    color: var(--dpt-gold-soft);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.8rem, 4vw, 3rem);
    line-height: 1.04;
}

.dpt-essential-shock__interrogation p {
    margin: 0;
    max-width: 980px;
    color: rgba(255,255,255,.82);
    font-size: clamp(1rem, 1.45vw, 1.12rem);
}

.dpt-essential-shock__pairs {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(24px, 4vw, 46px);
    padding: 0 clamp(18px, 3vw, 42px) clamp(28px, 4vw, 48px);
}

.dpt-essential-pair {
    display: grid;
    gap: clamp(16px, 2vw, 24px);
    padding: clamp(18px, 3vw, 34px);
    background: rgba(4, 10, 24, .78);
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 20px;
}

.dpt-essential-pair__header {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
}

.dpt-essential-pair__header > span {
    display: grid;
    place-items: center;
    width: 36px;
    aspect-ratio: 1;
    border-radius: 50%;
    background: var(--dpt-red);
    color: #fff;
    font-size: .74rem;
    font-weight: 950;
}

.dpt-essential-pair__header h4 {
    margin: 0;
    color: #fff;
    font-size: clamp(1rem, 1.8vw, 1.35rem);
    line-height: 1.25;
}

.dpt-essential-pair__signs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(14px, 2.2vw, 30px);
    align-items: stretch;
}

.dpt-essential-pair__signs figure {
    margin: 0;
    display: grid;
    grid-template-rows: 1fr auto;
}

.dpt-essential-pair__signs figure > div {
    min-height: clamp(280px, 34vw, 460px);
    display: grid;
    place-items: center;
    padding: clamp(20px, 4vw, 54px);
    background: #fff;
    border-radius: 12px;
}

.dpt-essential-pair__signs img {
    width: 100%;
    height: 100%;
    max-height: 370px;
    object-fit: contain;
}

.dpt-essential-pair__signs figcaption {
    margin-top: .55rem;
    color: rgba(255,255,255,.72);
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .04em;
    line-height: 1.35;
}

.dpt-essential-pair__glance {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 9px;
}

.dpt-essential-pair__glance span {
    padding: .48rem .74rem;
    color: #fff;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 999px;
    font-size: .78rem;
    line-height: 1.2;
}

.dpt-essential-pair__visual-verdict {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 14px;
    align-items: baseline;
    padding: clamp(15px, 2vw, 22px);
    background: linear-gradient(105deg, rgba(102, 25, 25, .62), rgba(202, 167, 91, .10));
    border-left: 4px solid var(--dpt-gold-soft);
    border-radius: 4px 12px 12px 4px;
}

.dpt-essential-pair__visual-verdict span {
    color: var(--dpt-gold-soft);
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-essential-pair__visual-verdict strong {
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.1rem, 2vw, 1.55rem);
    line-height: 1.3;
}

.dpt-essential-pair__question {
    margin: 0;
    color: var(--dpt-gold-soft);
    font-weight: 700;
    line-height: 1.5;
}

.dpt-essential-pair__answer {
    overflow: hidden;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(202, 167, 91, .28);
    border-radius: 12px;
}

.dpt-essential-pair__answer summary {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 15px 17px;
    background: linear-gradient(135deg, rgba(202, 167, 91, .18), rgba(102, 25, 25, .18));
    color: #fff;
    cursor: pointer;
    font-weight: 850;
    list-style: none;
}

.dpt-essential-pair__answer summary::-webkit-details-marker { display: none; }

.dpt-essential-pair__answer summary::after {
    content: "+";
    grid-column: 2;
    grid-row: 1 / span 2;
    color: var(--dpt-gold-soft);
    font-size: 1.45rem;
}

.dpt-essential-pair__answer[open] summary::after { content: "−"; }

.dpt-essential-pair__answer summary small {
    display: block;
    color: var(--dpt-gold-soft);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.dpt-essential-pair__answer dl {
    margin: 0;
}

.dpt-essential-pair__answer dl > div {
    display: grid;
    gap: .4rem;
    padding: 13px 14px;
    border-top: 1px solid rgba(255,255,255,.075);
}

.dpt-essential-pair__answer dl > div:first-child {
    border-top: 0;
}

.dpt-essential-pair__answer dt {
    color: var(--dpt-gold-soft);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.dpt-essential-pair__answer dd {
    margin: 0;
    color: rgba(255,255,255,.86);
    font-size: .84rem;
    line-height: 1.5;
}

.dpt-essential-pair__answer dd span,
.dpt-essential-pair__answer dd b {
    display: block;
}

.dpt-essential-pair__answer dd span + span {
    margin-top: .25rem;
}

.dpt-essential-pair__answer dd b {
    margin-top: .55rem;
    color: #fff;
}

.dpt-essential-shock__verdict {
    margin: 0;
    padding: clamp(24px, 3.8vw, 36px) clamp(24px, 4vw, 48px) clamp(28px, 4vw, 42px);
    background: linear-gradient(90deg, rgba(102, 25, 25, .92), rgba(31, 7, 10, .98));
    border-top: 1px solid rgba(202, 167, 91, .24);
}

.dpt-essential-shock__rule {
    margin: 0;
    padding: clamp(18px, 3vw, 26px) clamp(24px, 4vw, 48px);
    color: rgba(255, 255, 255, .82);
    background: rgba(11, 18, 32, .72);
    border-top: 1px solid rgba(202, 167, 91, .2);
    border-left: 3px solid #d9af59;
    line-height: 1.55;
}

.dpt-essential-shock__verdict strong {
    display: block;
    max-width: 1120px;
    margin-top: .7rem;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.45rem, 3.2vw, 3rem);
    line-height: 1.12;
    letter-spacing: -.02em;
}

@media (max-width: 1100px) {
    .dpt-essential-shock__pairs {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .dpt-essential-shock {
        border-radius: 14px;
    }

    .dpt-essential-pair {
        padding: 14px;
    }

    .dpt-essential-pair__signs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dpt-essential-pair__signs figure > div {
        min-height: clamp(220px, 70vw, 340px);
    }

    .dpt-essential-pair__visual-verdict {
        grid-template-columns: 1fr;
        gap: 7px;
    }

    .dpt-essential-pair__signs figure > div {
        min-height: clamp(220px, 70vw, 340px);
    }
}


/* =========================================================
   V68 — Essentiel · arrêt sur image ADP après la première paire
   Phrase originale + définition de la présentation particulière
   + mesure graphique pédagogique > 90 %.
   ========================================================= */
.dpt-essential-pair:first-child {
    grid-column: 1 / -1;
}

.dpt-essential-pair:first-child .dpt-essential-pair__signs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    margin-inline: auto;
}

@media (max-width: 760px) {
    .dpt-essential-pair:first-child .dpt-essential-pair__signs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.dpt-essential-adp-focus {
    position: relative;
    overflow: hidden;
    margin-top: 6px;
    padding: clamp(22px, 3.2vw, 36px);
    color: #fff;
    background:
        radial-gradient(circle at 92% 10%, rgba(202, 167, 91, .16), transparent 27%),
        linear-gradient(135deg, rgba(78, 10, 14, .96), rgba(31, 7, 10, .98));
    border: 2px solid rgba(197, 31, 36, .92);
    border-radius: 16px;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .22);
}

.dpt-essential-adp-focus::after {
    content: "";
    position: absolute;
    inset: 8px;
    border: 1px dashed rgba(234, 213, 159, .28);
    border-radius: 11px;
    pointer-events: none;
}

.dpt-essential-adp-focus > * {
    position: relative;
    z-index: 1;
}

.dpt-essential-adp-focus__eyebrow,
.dpt-essential-adp-focus__question > span {
    display: block;
    color: var(--dpt-gold-soft);
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.dpt-essential-adp-focus > blockquote:not(.dpt-essential-adp-focus__question) {
    max-width: 1180px;
    margin: .8rem 0 0;
    padding: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.35rem, 2.5vw, 2.35rem);
    font-weight: 750;
    line-height: 1.25;
}

.dpt-essential-adp-focus__source {
    margin: 18px 0 0;
}

.dpt-essential-adp-focus__source a,
.dpt-essential-adp-focus__source img {
    display: block;
    width: 100%;
}

.dpt-essential-adp-focus__source a {
    overflow: hidden;
    background: #080d16;
    border: 1px solid rgba(234, 213, 159, .26);
    border-radius: 12px;
}

.dpt-essential-adp-focus__source img {
    height: auto;
}

.dpt-essential-adp-focus__source figcaption {
    padding-top: 9px;
    color: rgba(255, 255, 255, .66);
    font-size: .76rem;
    letter-spacing: .06em;
    text-align: center;
    text-transform: uppercase;
}

.dpt-essential-pair__decision-source {
    margin-top: 18px;
    padding: clamp(18px, 2.7vw, 28px);
    background: linear-gradient(145deg, rgba(102, 25, 25, .42), rgba(11, 18, 32, .88));
    border: 1px solid rgba(234, 213, 159, .28);
    border-radius: 14px;
}

.dpt-essential-pair__decision-source > span {
    display: block;
    margin-bottom: 12px;
    color: var(--dpt-gold-soft);
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.dpt-essential-pair__decision-source figure {
    margin: 0;
}

.dpt-essential-pair__decision-source a,
.dpt-essential-pair__decision-source img {
    display: block;
    width: 100%;
}

.dpt-essential-pair__decision-source a {
    overflow: hidden;
    background: #080d16;
    border-radius: 10px;
}

.dpt-essential-pair__decision-source img {
    height: auto;
}

.dpt-essential-pair__decision-source figcaption {
    padding-top: 9px;
    color: rgba(255, 255, 255, .66);
    font-size: .76rem;
    letter-spacing: .06em;
    text-align: center;
    text-transform: uppercase;
}

.dpt-essential-pair__evidence {
    margin-top: 18px;
    padding: clamp(18px, 2.8vw, 30px);
    background: #080d16;
    border: 1px solid rgba(234, 213, 159, .3);
    border-radius: 16px;
}

.dpt-essential-pair__evidence > header span {
    display: block;
    color: var(--dpt-gold-soft);
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.dpt-essential-pair__evidence > header h5 {
    max-width: 880px;
    margin: .55rem 0 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.35rem, 3vw, 2.2rem);
    line-height: 1.12;
}

.dpt-essential-pair__shape-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 20px;
}

.dpt-essential-pair__shape-grid figure {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    background: #f6f4ee;
    border-radius: 12px;
}

.dpt-essential-pair__shape-grid figure > div {
    aspect-ratio: 1;
}

.dpt-essential-pair__shape-grid img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.dpt-essential-pair__shape-grid figcaption {
    min-height: 58px;
    padding: 10px;
    color: #08152d;
    font-size: clamp(.66rem, 1.4vw, .8rem);
    font-weight: 900;
    line-height: 1.3;
    text-align: center;
    text-transform: uppercase;
}

.dpt-essential-pair__evidence-axes {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 14px;
}

.dpt-essential-pair__evidence-axes article {
    min-width: 0;
    padding: 16px;
    background: rgba(102, 25, 25, .2);
    border: 1px solid rgba(234, 213, 159, .22);
    border-radius: 12px;
}

.dpt-essential-pair__evidence-axes h6 {
    margin: 0 0 12px;
    color: var(--dpt-gold-soft);
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.dpt-essential-pair__evidence-axes article > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 8px;
    align-items: center;
}

.dpt-essential-pair__evidence-axes p {
    min-width: 0;
    margin: 0;
}

.dpt-essential-pair__evidence-axes p span,
.dpt-essential-pair__evidence-axes p strong {
    display: block;
}

.dpt-essential-pair__evidence-axes p span {
    color: rgba(255, 255, 255, .58);
    font-size: .64rem;
    font-weight: 850;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.dpt-essential-pair__evidence-axes p strong {
    margin-top: 5px;
    color: #fff;
    font-size: clamp(.82rem, 1.4vw, 1rem);
    line-height: 1.35;
}

.dpt-essential-pair__evidence-axes article > div > b {
    color: #d9af59;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.25rem;
}

.dpt-essential-pair__evidence-axes small {
    display: block;
    margin-top: 12px;
    color: rgba(255, 255, 255, .7);
    font-size: .76rem;
    line-height: 1.45;
}

@media (max-width: 760px) {
    .dpt-essential-pair__evidence-axes {
        grid-template-columns: 1fr;
    }

    .dpt-essential-pair__evidence {
        margin-inline: -14px;
        padding: 18px 14px;
        background: transparent;
        border: 0;
        border-radius: 0;
    }

    .dpt-essential-pair__shape-grid figure {
        background: transparent;
        border-radius: 0;
    }

    .dpt-essential-pair__shape-grid figure > div {
        overflow: hidden;
        background: #f6f4ee;
        border-radius: 8px;
    }

    .dpt-essential-pair__shape-grid figcaption {
        min-height: 0;
        color: rgba(255, 255, 255, .76);
    }

    .dpt-essential-pair__evidence-axes {
        gap: 0;
    }

    .dpt-essential-pair__evidence-axes article {
        padding: 18px 0;
        background: transparent;
        border: 0;
        border-top: 1px solid rgba(234, 213, 159, .22);
        border-radius: 0;
    }

}

.dpt-essential-adp-focus__questions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 22px;
}

.dpt-essential-adp-focus__questions p {
    margin: 0;
    padding: 16px;
    color: rgba(255, 255, 255, .82);
    background: rgba(255, 255, 255, .055);
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 12px;
    line-height: 1.55;
}

.dpt-essential-adp-focus__questions strong {
    color: var(--dpt-gold-soft);
}

.dpt-essential-adp-focus__measure {
    display: grid;
    grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr);
    gap: 16px;
    align-items: stretch;
    margin-top: 18px;
}

.dpt-essential-adp-focus__measure figure {
    margin: 0;
    padding: 14px;
    background: #fff;
    border-radius: 12px;
}

.dpt-essential-adp-focus__measure figure > div {
    min-height: 190px;
    display: grid;
    place-items: center;
}

.dpt-essential-adp-focus__measure img {
    width: 100%;
    max-height: 170px;
    object-fit: contain;
}

.dpt-essential-adp-focus__measure figcaption {
    padding-top: 9px;
    color: #5f6674;
    font-size: .78rem;
    text-align: center;
}

.dpt-essential-adp-focus__number {
    display: grid;
    align-content: center;
    padding: clamp(20px, 3vw, 34px);
    background: rgba(3, 10, 24, .72);
    border: 1px solid rgba(234, 213, 159, .26);
    border-radius: 12px;
}

.dpt-essential-adp-focus__number strong {
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(4rem, 9vw, 8rem);
    line-height: .82;
    letter-spacing: -.055em;
}

.dpt-essential-adp-focus__number span {
    max-width: 760px;
    margin-top: 1rem;
    color: var(--dpt-gold-soft);
    font-size: clamp(.95rem, 1.5vw, 1.15rem);
    line-height: 1.45;
}

.dpt-essential-adp-focus__method {
    margin: 14px 0 0;
    padding: 14px 16px;
    color: rgba(255, 255, 255, .68);
    background: rgba(255, 255, 255, .04);
    border-left: 3px solid rgba(234, 213, 159, .72);
    font-size: .82rem;
    line-height: 1.55;
}

.dpt-essential-adp-focus__method strong {
    color: #fff;
}

.dpt-essential-adp-focus__question {
    margin: 18px 0 0;
    padding: clamp(18px, 2.7vw, 28px);
    background: rgba(0, 25, 68, .42);
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 12px;
}

.dpt-essential-adp-focus__question strong {
    display: block;
    margin-top: .55rem;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.45rem, 2.7vw, 2.55rem);
    line-height: 1.15;
}

@media (max-width: 900px) {
    .dpt-essential-adp-focus__questions,
    .dpt-essential-adp-focus__measure {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .dpt-essential-pair:first-child .dpt-essential-pair__signs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dpt-essential-adp-focus {
        padding: 18px 14px;
    }

    .dpt-essential-adp-focus__number strong {
        font-size: clamp(3.5rem, 20vw, 6rem);
    }
}

/* ==========================================================
   V101.1 — MOBILE · ADP ESSENTIEL
   Une seule surface continue : pas de boîte dans boîte.
   Desktop inchangé.
   ========================================================== */
@media (max-width: 760px) {

    .dpt-essential-adp-focus {
        margin-inline: -14px;
        padding: 22px 14px;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .dpt-essential-adp-focus::after {
        display: none;
    }

    .dpt-essential-adp-focus__questions {
        gap: 0;
    }

    .dpt-essential-adp-focus__questions p {
        margin: 0;
        padding: 16px 0;
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .dpt-essential-adp-focus__questions p + p {
        border-top: 1px solid rgba(234, 213, 159, .22);
    }

    .dpt-essential-adp-focus__measure {
        gap: 14px;
    }

    .dpt-essential-adp-focus__measure figure,
    .dpt-essential-adp-focus__number {
        border-radius: 0;
        box-shadow: none;
    }

    .dpt-essential-adp-focus__method {
        padding: 14px 0 14px 12px;
        background: transparent;
        border-top: 0;
        border-right: 0;
        border-bottom: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .dpt-essential-adp-focus__question {
        margin-inline: -14px;
        padding: 22px 14px;
        border: 0;
        border-top: 1px solid rgba(255, 255, 255, .12);
        border-radius: 0;
        box-shadow: none;
    }
}

/* ==========================================================
   V101.2 — MOBILE · AUCUNE BOÎTE DANS BOÎTE
   Essentiel ADP : une seule surface continue.
   Desktop inchangé.
   ========================================================== */
@media (max-width: 760px) {

    /* Le conteneur général reste la seule scène extérieure. */
    .dpt-essential-shock__pairs {
        padding-inline: 0;
        gap: 28px;
    }

    /* Les trois paires cessent d'être des cartes sur mobile. */
    .dpt-essential-pair {
        padding: 0 14px;
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    /* La première paire ADP prend toute la largeur disponible. */
    .dpt-essential-pair:first-child {
        padding-inline: 0;
    }

    .dpt-essential-pair:first-child > .dpt-essential-pair__header,
    .dpt-essential-pair:first-child > .dpt-essential-pair__signs,
    .dpt-essential-pair:first-child > .dpt-essential-pair__glance,
    .dpt-essential-pair:first-child > .dpt-essential-pair__visual-verdict,
    .dpt-essential-pair:first-child > .dpt-essential-pair__question,
    .dpt-essential-pair:first-child > .dpt-essential-pair__answer,
    .dpt-essential-pair:first-child > .dpt-essential-pair__decision-source,
    .dpt-essential-pair:first-child > .dpt-essential-pair__evidence {
        margin-inline: 14px;
    }

    /* Focus ADP = une section pleine largeur, plus une carte. */
    .dpt-essential-adp-focus {
        margin: 6px 0 0;
        padding: 24px 14px 26px;
        background:
            radial-gradient(circle at 92% 10%, rgba(202, 167, 91, .12), transparent 29%),
            linear-gradient(135deg, rgba(78, 10, 14, .96), rgba(31, 7, 10, .98));
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .dpt-essential-adp-focus::after {
        display: none;
    }

    /* Phrase originale : simple flux texte → image → légende. */
    .dpt-essential-adp-focus__source {
        margin: 18px 0 0;
        padding: 0;
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .dpt-essential-adp-focus__source a {
        display: block;
        overflow: visible;
        padding: 0;
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .dpt-essential-adp-focus__source img {
        display: block;
        width: 100%;
        height: auto;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .dpt-essential-adp-focus__source figcaption {
        margin: 0;
        padding: 10px 0 0;
        background: transparent;
        border: 0;
        border-radius: 0;
    }

    /* Questions : plus de petites cartes imbriquées. */
    .dpt-essential-adp-focus__questions {
        gap: 0;
    }

    .dpt-essential-adp-focus__questions p {
        margin: 0;
        padding: 16px 0;
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .dpt-essential-adp-focus__questions p + p {
        border-top: 1px solid rgba(234, 213, 159, .20);
    }

    /* Mesure : pas de cadre décoratif autour des deux éléments. */
    .dpt-essential-adp-focus__measure {
        gap: 14px;
        padding: 0;
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .dpt-essential-adp-focus__measure figure,
    .dpt-essential-adp-focus__number {
        border-radius: 0;
        box-shadow: none;
    }

    /* Note pédagogique : simple séparation typographique. */
    .dpt-essential-adp-focus__method {
        margin: 16px 0 0;
        padding: 14px 0 14px 12px;
        background: transparent;
        border-top: 0;
        border-right: 0;
        border-bottom: 0;
        border-radius: 0;
        box-shadow: none;
    }

    /* Question finale : bande pleine largeur, pas carte dans la carte. */
    .dpt-essential-adp-focus__question {
        margin: 20px -14px -26px;
        padding: 22px 14px 24px;
        background: rgba(0, 25, 68, .52);
        border: 0;
        border-top: 1px solid rgba(255, 255, 255, .12);
        border-radius: 0;
        box-shadow: none;
    }

    /* Les sources décisionnelles éventuelles cessent aussi d'être des cartes. */
    .dpt-essential-pair__decision-source {
        padding: 18px 0;
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .dpt-essential-pair__decision-source figure,
    .dpt-essential-pair__decision-source a {
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .dpt-essential-pair__decision-source img {
        border-radius: 0;
    }
}

/* ==========================================================
   INTRO CINÉ · TROIS CONFRONTATIONS VISUELLES
   Les signes restent côte à côte sur desktop et mobile.
   ========================================================== */
.dpt-hero__confrontations {
    display: grid;
    gap: 0;
    width: min(100%, 1260px);
    max-width: none;
    margin-top: clamp(22px, 3vw, 36px);
    padding: 0;
    background: transparent;
}

.dpt-hero-pair {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 58px minmax(0, 1fr);
    gap: clamp(10px, 1.8vw, 22px);
    align-items: center;
    min-width: 0;
    padding: clamp(16px, 2.2vw, 24px) 0;
    border-top: 1px solid rgba(255,255,255,.14);
}

.dpt-hero-pair:last-child {
    border-bottom: 1px solid rgba(255,255,255,.14);
}

.dpt-hero-pair__index {
    display: grid;
    place-items: center;
    width: 34px;
    aspect-ratio: 1;
    color: #fff;
    background: var(--dpt-red);
    border-radius: 50%;
    font-size: .72rem;
    font-weight: 900;
}

.dpt-hero-pair__sign {
    display: grid;
    grid-template-rows: auto auto;
    gap: 8px;
    min-width: 0;
    margin: 0;
}

.dpt-hero-pair__sign img {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    max-height: none;
    object-fit: contain;
    object-position: center;
    background: #fff;
    border-radius: 10px;
}

.dpt-hero-pair__sign figcaption {
    margin: 0;
    color: rgba(255,255,255,.78);
    font-size: clamp(.72rem, 1vw, .9rem);
    font-weight: 800;
    line-height: 1.25;
    text-align: center;
}

.dpt-hero-pair__versus {
    justify-self: center;
    color: var(--dpt-gold-soft);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 3.5vw, 3.2rem);
    line-height: 1;
}

@media (max-width: 560px) {
    .dpt-hero__confrontations {
        margin-top: 20px;
    }

    .dpt-hero-pair {
        position: relative;
        grid-template-columns: minmax(0, 1fr) 28px minmax(0, 1fr);
        gap: 7px;
        padding: 15px 0 18px;
    }

    .dpt-hero-pair__index {
        position: absolute;
        z-index: 1;
        top: 50%;
        left: 0;
        width: 26px;
        transform: translate(-35%, -50%);
        font-size: .58rem;
    }

    .dpt-hero-pair__sign {
        grid-template-rows: auto auto;
        gap: 6px;
    }

    .dpt-hero-pair__sign img {
        width: 100%;
        height: auto;
        max-height: none;
        aspect-ratio: 1;
    }

    .dpt-hero-pair__sign figcaption {
        font-size: .58rem;
        line-height: 1.18;
    }

    .dpt-hero-pair__versus {
        font-size: 1.55rem;
    }
}

/* ==========================================================
   INTRO CINÉ · TRANSITION DIRECTE VERS LE PROLOGUE
   Pas de bande blanche / beige autour du Prologue I.
   ========================================================== */
.dpt-common-prologue.dpt-prologue-gallery-section {
    padding: 0;
    background: #05070c;
}

.dpt-common-prologue.dpt-prologue-gallery-section > .dpt-shell {
    width: 100%;
    max-width: none;
    margin: 0;
}

.dpt-common-prologue.dpt-prologue-gallery-section .dpt-prologue-gallery {
    margin: 0;
}

/* Mobile : continuité noire totale entre l'intro et l'accordéon. */
@media (max-width: 640px) {
    .dpt-common-prologue.dpt-prologue-gallery-section {
        padding: 0 !important;
        background: #05070c !important;
    }

    .dpt-common-prologue.dpt-prologue-gallery-section > .dpt-shell {
        width: 100%;
        margin: 0;
    }

    .dpt-common-prologue.dpt-prologue-gallery-section .dpt-prologue-gallery {
        width: 100%;
        margin: 0;
    }
}

/* ==========================================================
   INTRO CINÉ · HIÉRARCHIE DU RETOUR AU COMMENCEMENT
   Un seul bloc, trois temps de lecture.
   ========================================================== */
.dpt-hero__question--cinema {
    display: grid;
    gap: clamp(22px, 3vw, 34px);
}

.dpt-hero__question--cinema p {
    margin: 0;
}

.dpt-hero__question-main {
    max-width: 980px;
}

.dpt-hero__question-return {
    display: grid;
    gap: 12px;
    padding-top: clamp(20px, 2.8vw, 30px);
    border-top: 1px solid rgba(234, 213, 159, .28);
}

.dpt-hero__question-bridge {
    color: var(--dpt-gold-soft);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: clamp(.88rem, 1.15vw, 1.02rem);
    font-weight: 900;
    letter-spacing: .08em;
    line-height: 1.35;
    text-transform: uppercase;
}

.dpt-hero__question-origin {
    max-width: 900px;
    color: rgba(255,255,255,.76);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: clamp(.96rem, 1.45vw, 1.18rem);
    line-height: 1.65;
}

.dpt-hero__question-final {
    margin-top: 4px !important;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.8rem, 3.7vw, 3.8rem);
    font-weight: 800;
    letter-spacing: -.025em;
    line-height: 1.02;
}

@media (max-width: 600px) {
    .dpt-hero__question--cinema {
        gap: 22px;
        padding: 24px 24px 26px;
        font-size: 1.58rem;
        line-height: 1.17;
    }

    .dpt-hero__question-return {
        gap: 10px;
        padding-top: 18px;
    }

    .dpt-hero__question-bridge {
        font-size: .72rem;
        letter-spacing: .085em;
    }

    .dpt-hero__question-origin {
        font-size: .98rem;
        line-height: 1.58;
    }

    .dpt-hero__question-final {
        font-size: clamp(1.9rem, 9vw, 2.6rem);
        line-height: 1.02;
    }
}

/* ==========================================================
   MOMENT DE VÉRITÉ · AVANT LA SECTION ARBRE
   Basculement cinématographique, sans cartes imbriquées.
   ========================================================== */
.dpt-truth-turn {
    position: relative;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 88% 16%, rgba(202,167,91,.12), transparent 28%),
        radial-gradient(circle at 8% 82%, rgba(102,25,25,.22), transparent 34%),
        linear-gradient(135deg, #030713 0%, #08142a 52%, #16090b 100%);
}

.dpt-truth-turn::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.025) 50%,
        transparent
    );
}

.dpt-truth-turn__inner {
    position: relative;
    z-index: 1;
    max-width: 1180px;
}

.dpt-truth-turn .dpt-kicker {
    color: var(--dpt-gold-soft);
}

.dpt-truth-turn h2 {
    max-width: 1080px;
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.8rem, 6.4vw, 6.8rem);
    letter-spacing: -.04em;
    line-height: .96;
}

.dpt-truth-turn__lead,
.dpt-truth-turn__language {
    max-width: 920px;
    margin: clamp(24px, 4vw, 42px) 0 0;
    color: rgba(255,255,255,.76);
    font-size: clamp(1.02rem, 1.65vw, 1.3rem);
    line-height: 1.7;
}

.dpt-truth-turn__lead strong {
    color: var(--dpt-gold-soft);
}

.dpt-truth-turn__pivot {
    max-width: 1040px;
    margin: clamp(34px, 5vw, 58px) 0 0;
    padding: 4px 0 4px clamp(20px, 3vw, 34px);
    background: transparent;
    border: 0;
    border-left: 5px solid var(--dpt-gold);
}

.dpt-truth-turn__pivot p {
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.65rem, 3.4vw, 3.45rem);
    font-weight: 700;
    line-height: 1.12;
}

.dpt-truth-turn__arrival {
    display: grid;
    gap: 9px;
    max-width: 940px;
    margin-top: clamp(38px, 6vw, 68px);
    padding-top: clamp(24px, 3vw, 34px);
    border-top: 1px solid rgba(234,213,159,.28);
}

.dpt-truth-turn__arrival span {
    color: var(--dpt-gold-soft);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.8rem, 3.7vw, 3.7rem);
    font-weight: 800;
    line-height: 1;
}

.dpt-truth-turn__arrival p {
    max-width: 820px;
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: clamp(1rem, 1.5vw, 1.2rem);
}

.dpt-truth-turn__question {
    max-width: 1080px;
    margin: clamp(34px, 5vw, 56px) 0 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 4.5vw, 4.7rem);
    font-weight: 800;
    letter-spacing: -.025em;
    line-height: 1.04;
}

.dpt-truth-turn__bridge {
    max-width: 900px;
    margin: clamp(26px, 4vw, 40px) 0 0;
    color: var(--dpt-gold-soft);
    font-weight: 850;
    letter-spacing: .02em;
    font-size: clamp(.95rem, 1.45vw, 1.15rem);
}

@media (max-width: 640px) {
    .dpt-truth-turn {
        padding: 64px 0;
    }

    .dpt-truth-turn h2 {
        font-size: clamp(2.7rem, 13vw, 4.2rem);
    }

    .dpt-truth-turn__lead,
    .dpt-truth-turn__language {
        font-size: 1rem;
        line-height: 1.62;
    }

    .dpt-truth-turn__pivot {
        margin-top: 30px;
        padding-left: 18px;
        border-left-width: 4px;
    }

    .dpt-truth-turn__pivot p {
        font-size: clamp(1.65rem, 8vw, 2.35rem);
    }

    .dpt-truth-turn__arrival {
        margin-top: 38px;
        padding-top: 22px;
    }

    .dpt-truth-turn__arrival span {
        font-size: clamp(2rem, 9vw, 2.8rem);
    }

    .dpt-truth-turn__question {
        margin-top: 32px;
        font-size: clamp(2rem, 9.6vw, 3rem);
    }

    .dpt-truth-turn__bridge {
        margin-top: 24px;
    }
}

/* ==========================================================
   2026 → 2029 · CONTINUER
   Mouvement de film, sans cartes ni boîtes imbriquées.
   ========================================================== */
.dpt-horizon-film {
    position: relative;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 82% 18%, rgba(234,213,159,.10), transparent 31%),
        linear-gradient(180deg, #05070c 0%, #071327 56%, #07101d 100%);
}

.dpt-horizon-film__inner {
    position: relative;
    max-width: 1160px;
}

.dpt-horizon-film .dpt-kicker {
    color: var(--dpt-gold-soft);
}

.dpt-horizon-film h2 {
    max-width: 1050px;
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.8rem, 6.5vw, 6.7rem);
    font-weight: 800;
    letter-spacing: -.045em;
    line-height: .96;
}

.dpt-horizon-film h2 em {
    color: var(--dpt-gold-soft);
    font-weight: 400;
}

.dpt-horizon-film__movement {
    max-width: 940px;
    margin: clamp(32px, 5vw, 56px) 0 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.45rem, 3vw, 2.8rem);
    font-weight: 700;
    line-height: 1.18;
}

.dpt-horizon-film__purpose {
    max-width: 860px;
    margin: 22px 0 0;
    color: rgba(255,255,255,.70);
    font-size: clamp(1rem, 1.55vw, 1.22rem);
    line-height: 1.72;
}

.dpt-horizon-film__question {
    margin: clamp(38px, 6vw, 72px) 0 0;
    padding: clamp(22px, 3vw, 34px) 0 0;
    border: 0;
    border-top: 1px solid rgba(234,213,159,.30);
    background: transparent;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.4rem, 6vw, 6rem);
    font-weight: 800;
    letter-spacing: -.035em;
    line-height: .98;
}

/* ==========================================================
   APRÈS 2029
   Dernier battement avant l'épilogue.
   ========================================================== */
.dpt-after-2029 {
    color: #fff;
    background: #05070c;
}

.dpt-after-2029__inner {
    max-width: 1080px;
}

.dpt-after-2029 .dpt-kicker {
    color: var(--dpt-gold-soft);
}

.dpt-after-2029 h2 {
    max-width: 1000px;
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.4rem, 5.4vw, 5.4rem);
    letter-spacing: -.035em;
    line-height: 1;
}

.dpt-after-2029__lines {
    display: grid;
    gap: 8px;
    margin-top: clamp(34px, 5vw, 56px);
    padding-top: clamp(24px, 3vw, 34px);
    border-top: 1px solid rgba(255,255,255,.15);
}

.dpt-after-2029__lines span {
    color: rgba(255,255,255,.60);
    font-size: clamp(1.05rem, 1.7vw, 1.35rem);
}

.dpt-after-2029__lines strong {
    margin-top: 10px;
    color: var(--dpt-gold-soft);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.9rem, 4.1vw, 4rem);
    line-height: 1.06;
}

/* Portée humaine raccourcie : respiration plus forte avant le Postlogue. */
.dpt-human__copy > blockquote strong {
    color: var(--dpt-gold-soft);
}

@media (max-width: 640px) {
    .dpt-horizon-film,
    .dpt-after-2029 {
        padding-block: 64px;
    }

    .dpt-horizon-film h2 {
        font-size: clamp(2.65rem, 12vw, 4rem);
    }

    .dpt-horizon-film__movement {
        font-size: clamp(1.45rem, 7vw, 2rem);
    }

    .dpt-horizon-film__purpose {
        font-size: 1rem;
        line-height: 1.62;
    }

    .dpt-horizon-film__question {
        font-size: clamp(2.6rem, 12vw, 4rem);
    }

    .dpt-after-2029 h2 {
        font-size: clamp(2.45rem, 11vw, 3.7rem);
    }

    .dpt-after-2029__lines strong {
        font-size: clamp(2rem, 9vw, 3rem);
    }
}

/* Comparaison immédiate : les deux signes complets restent dans le même cadre mobile. */
@media (max-width: 760px) {
    #dpt-montage-essentiel .dpt-essential-pair__signs,
    #dpt-montage-essentiel .dpt-essential-pair:first-child .dpt-essential-pair__signs {
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        align-items: start;
    }

    #dpt-montage-essentiel .dpt-essential-pair:first-child .dpt-essential-pair__signs {
        margin-inline: 0;
    }

    #dpt-montage-essentiel .dpt-essential-pair__signs figure {
        min-width: 0;
        grid-template-rows: auto auto;
    }

    #dpt-montage-essentiel .dpt-essential-pair__signs figure > div {
        min-height: 0;
        aspect-ratio: 1;
        padding: 8px;
        overflow: hidden;
        background: #fff;
        border-radius: 10px;
    }

    #dpt-montage-essentiel .dpt-essential-pair__signs img {
        width: 100%;
        height: 100%;
        max-height: none;
        object-fit: contain;
    }

    #dpt-montage-essentiel .dpt-essential-pair__signs figcaption {
        margin-top: 7px;
        font-size: .62rem;
        line-height: 1.2;
        text-align: center;
        overflow-wrap: anywhere;
    }

}

/* ==========================================================
   V103 — ESSENTIEL · DOUBLE VERROU + QUESTION FINALE RDC
   Placé après les trois comparaisons concrètes.
   1) intégrité des relations linguistiques (ADP / OTCP) ;
   2) poids concret des éléments communs PARIS / AIME ;
   puis retour obligatoire aux signes complets.
   ========================================================== */
#dpt-montage-essentiel .dpt-essential-locks {
    position: relative;
    margin-top: clamp(30px, 5vw, 64px);
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 10% 10%, rgba(202, 167, 91, .14), transparent 27%),
        radial-gradient(circle at 92% 88%, rgba(102, 25, 25, .28), transparent 34%),
        linear-gradient(135deg, #030915 0%, #07162f 52%, #19090c 100%);
    border: 1px solid rgba(202, 167, 91, .34);
    border-radius: 18px;
    box-shadow: 0 24px 70px rgba(2, 9, 24, .18);
}

#dpt-montage-essentiel .dpt-essential-locks::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, transparent 0 49.85%, rgba(255,255,255,.025) 49.85% 50%, transparent 50%),
        linear-gradient(0deg, transparent 0 49.85%, rgba(255,255,255,.018) 49.85% 50%, transparent 50%);
    background-size: 120px 120px;
}

#dpt-montage-essentiel .dpt-essential-locks > * {
    position: relative;
    z-index: 1;
}

#dpt-montage-essentiel .dpt-essential-locks__header {
    max-width: 1180px;
    padding: clamp(28px, 4.5vw, 50px);
}

#dpt-montage-essentiel .dpt-essential-locks__header > span,
#dpt-montage-essentiel .dpt-essential-lock > header small,
#dpt-montage-essentiel .dpt-essential-lock__relations span,
#dpt-montage-essentiel .dpt-essential-lock__path header span,
#dpt-montage-essentiel .dpt-essential-lock__path-grid span,
#dpt-montage-essentiel .dpt-essential-lock__common span,
#dpt-montage-essentiel .dpt-essential-locks__junction > span,
#dpt-montage-essentiel .dpt-essential-summary--rdc blockquote > span {
    color: var(--dpt-gold-soft);
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

#dpt-montage-essentiel .dpt-essential-locks__header h3 {
    max-width: 1050px;
    margin: .65rem 0 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 4.5vw, 4.35rem);
    line-height: 1.03;
    letter-spacing: -.025em;
}

#dpt-montage-essentiel .dpt-essential-locks__header p {
    max-width: 920px;
    margin: 1.1rem 0 0;
    color: rgba(255,255,255,.76);
    font-size: clamp(1rem, 1.45vw, 1.14rem);
    line-height: 1.65;
}

#dpt-montage-essentiel .dpt-essential-locks__header p strong {
    color: #fff;
}

#dpt-montage-essentiel .dpt-essential-locks__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    padding: 1px;
    background: rgba(202, 167, 91, .23);
    border-top: 1px solid rgba(202, 167, 91, .2);
    border-bottom: 1px solid rgba(202, 167, 91, .2);
}

#dpt-montage-essentiel .dpt-essential-lock {
    display: grid;
    align-content: start;
    gap: clamp(18px, 2.6vw, 26px);
    min-width: 0;
    padding: clamp(24px, 3.5vw, 40px);
    background: rgba(4, 10, 24, .93);
}

#dpt-montage-essentiel .dpt-essential-lock--language {
    background: rgba(17, 10, 18, .94);
}

#dpt-montage-essentiel .dpt-essential-lock > header {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 15px;
    align-items: start;
}

#dpt-montage-essentiel .dpt-essential-lock__number {
    display: grid;
    place-items: center;
    width: 46px;
    aspect-ratio: 1;
    color: #fff;
    background: var(--dpt-red);
    border-radius: 50%;
    font-weight: 950;
}

#dpt-montage-essentiel .dpt-essential-lock > header h4 {
    max-width: 720px;
    margin: .45rem 0 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.45rem, 2.7vw, 2.55rem);
    line-height: 1.08;
}

#dpt-montage-essentiel .dpt-essential-lock__relations {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
}

#dpt-montage-essentiel .dpt-essential-lock__paths {
    display: grid;
    gap: 12px;
}

#dpt-montage-essentiel .dpt-essential-lock__path {
    overflow: hidden;
    background: rgba(255,255,255,.035);
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 10px;
}

#dpt-montage-essentiel .dpt-essential-lock__path > header {
    display: grid;
    gap: .35rem;
    padding: 15px 16px;
    background: rgba(255,255,255,.055);
    border-bottom: 1px solid rgba(255,255,255,.09);
}

#dpt-montage-essentiel .dpt-essential-lock__path > header strong {
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.02rem, 1.6vw, 1.28rem);
    line-height: 1.2;
}

#dpt-montage-essentiel .dpt-essential-lock__path-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    background: rgba(255,255,255,.09);
}

#dpt-montage-essentiel .dpt-essential-lock__path-grid > div {
    min-width: 0;
    padding: 16px;
    background: rgba(4,10,24,.96);
}

#dpt-montage-essentiel .dpt-essential-lock__path-grid > div.is-focus {
    background: rgba(102,25,25,.34);
}

#dpt-montage-essentiel .dpt-essential-lock__path-grid strong {
    display: block;
    margin-top: .5rem;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.18rem, 2vw, 1.75rem);
    line-height: 1.06;
}

#dpt-montage-essentiel .dpt-essential-lock__path-grid strong b {
    color: var(--dpt-gold-soft);
}

#dpt-montage-essentiel .dpt-essential-lock__path-grid small {
    display: block;
    margin-top: .55rem;
    color: rgba(255,255,255,.62);
    font-size: .75rem;
    line-height: 1.45;
}

#dpt-montage-essentiel .dpt-essential-lock__relations > div,
#dpt-montage-essentiel .dpt-essential-lock__common > div {
    min-width: 0;
    padding: 17px 16px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 10px;
}

#dpt-montage-essentiel .dpt-essential-lock__relations > div.is-residue {
    background: rgba(102, 25, 25, .34);
    border-color: rgba(202, 167, 91, .34);
}

#dpt-montage-essentiel .dpt-essential-lock__relations strong,
#dpt-montage-essentiel .dpt-essential-lock__common strong {
    display: block;
    margin-top: .55rem;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.35rem, 2.6vw, 2.3rem);
    line-height: 1.04;
}

#dpt-montage-essentiel .dpt-essential-lock__relations strong b {
    color: var(--dpt-gold-soft);
}

#dpt-montage-essentiel .dpt-essential-lock__relations small,
#dpt-montage-essentiel .dpt-essential-lock__common small {
    display: block;
    margin-top: .6rem;
    color: rgba(255,255,255,.62);
    font-size: .77rem;
    line-height: 1.45;
}

#dpt-montage-essentiel .dpt-essential-lock__common {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 12px;
    align-items: stretch;
}

#dpt-montage-essentiel .dpt-essential-lock__common > b {
    align-self: center;
    color: var(--dpt-gold-soft);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 4vw, 4rem);
}

#dpt-montage-essentiel .dpt-essential-lock__thesis {
    margin: 0;
    color: rgba(255,255,255,.80);
    font-size: clamp(.98rem, 1.35vw, 1.09rem);
    line-height: 1.68;
}

#dpt-montage-essentiel .dpt-essential-lock__thesis strong {
    color: #fff;
}

#dpt-montage-essentiel .dpt-essential-lock > blockquote {
    margin: 0;
    padding: 19px 20px;
    color: #fff;
    background: rgba(202, 167, 91, .08);
    border-left: 4px solid var(--dpt-gold);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.08rem, 1.8vw, 1.45rem);
    line-height: 1.35;
}

#dpt-montage-essentiel .dpt-essential-lock__proof {
    overflow: hidden;
    background: rgba(255,255,255,.035);
    border: 1px solid rgba(202, 167, 91, .22);
    border-radius: 10px;
}

#dpt-montage-essentiel .dpt-essential-lock__proof summary {
    position: relative;
    display: grid;
    gap: .25rem;
    padding: 15px 48px 15px 16px;
    color: #fff;
    background: rgba(255,255,255,.045);
    cursor: pointer;
    list-style: none;
}

#dpt-montage-essentiel .dpt-essential-lock__proof summary::-webkit-details-marker {
    display: none;
}

#dpt-montage-essentiel .dpt-essential-lock__proof summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 17px;
    transform: translateY(-50%);
    color: var(--dpt-gold-soft);
    font-size: 1.45rem;
    font-weight: 700;
}

#dpt-montage-essentiel .dpt-essential-lock__proof[open] summary::after {
    content: "−";
}

#dpt-montage-essentiel .dpt-essential-lock__proof summary > span {
    font-weight: 900;
}

#dpt-montage-essentiel .dpt-essential-lock__proof summary > small {
    color: var(--dpt-gold-soft);
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .09em;
    text-transform: uppercase;
}

#dpt-montage-essentiel .dpt-essential-lock__proof > div {
    padding: 17px 18px 19px;
    border-top: 1px solid rgba(255,255,255,.08);
}

#dpt-montage-essentiel .dpt-essential-lock__proof p {
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: .88rem;
    line-height: 1.6;
}

#dpt-montage-essentiel .dpt-essential-lock__proof p + p {
    margin-top: .8rem;
}

#dpt-montage-essentiel .dpt-essential-lock__proof p strong {
    color: #fff;
}

#dpt-montage-essentiel .dpt-essential-lock__sources {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    margin-top: 16px;
}

#dpt-montage-essentiel .dpt-essential-lock__sources a {
    color: var(--dpt-gold-soft);
    font-size: .76rem;
    font-weight: 850;
    text-underline-offset: .22em;
}

#dpt-montage-essentiel .dpt-essential-locks__junction {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 12px 16px;
    align-items: center;
    padding: clamp(24px, 4vw, 42px);
    background: linear-gradient(90deg, rgba(102,25,25,.82), rgba(28,8,12,.94));
}

#dpt-montage-essentiel .dpt-essential-locks__junction > span {
    grid-column: 1 / -1;
}

#dpt-montage-essentiel .dpt-essential-locks__junction > strong {
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.03rem, 1.8vw, 1.4rem);
    line-height: 1.35;
}

#dpt-montage-essentiel .dpt-essential-locks__junction > b {
    color: var(--dpt-gold-soft);
    font-size: 1.5rem;
}

#dpt-montage-essentiel .dpt-essential-locks__junction > p {
    grid-column: 1 / -1;
    max-width: 980px;
    margin: 2px 0 0;
    color: rgba(255,255,255,.72);
    line-height: 1.58;
}

#dpt-montage-essentiel .dpt-essential-summary--rdc {
    margin-top: clamp(24px, 4vw, 42px);
    padding: clamp(28px, 5vw, 54px);
    background:
        radial-gradient(circle at 88% 8%, rgba(202,167,91,.13), transparent 30%),
        #05070b;
    border-left-width: 7px;
}

#dpt-montage-essentiel .dpt-essential-summary--rdc h3 {
    max-width: 1050px;
    font-size: clamp(2.25rem, 5.5vw, 5.5rem);
    line-height: .98;
    letter-spacing: -.035em;
}

#dpt-montage-essentiel .dpt-essential-summary__differences {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: clamp(22px, 3vw, 34px) 0;
}

#dpt-montage-essentiel .dpt-essential-summary__differences span {
    padding: .55rem .78rem;
    color: rgba(255,255,255,.88);
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 999px;
    font-size: .78rem;
    line-height: 1.25;
}

#dpt-montage-essentiel .dpt-essential-summary__reasoning {
    max-width: 1080px;
    margin: 0 0 clamp(22px, 3vw, 32px);
    color: rgba(255,255,255,.76);
    font-size: clamp(1rem, 1.5vw, 1.16rem);
    line-height: 1.68;
}

#dpt-montage-essentiel .dpt-essential-summary__reasoning strong {
    color: #fff;
}

#dpt-montage-essentiel .dpt-essential-summary--rdc blockquote {
    display: grid;
    gap: .65rem;
    padding: clamp(20px, 3vw, 30px);
    background: linear-gradient(105deg, rgba(102,25,25,.52), rgba(202,167,91,.07));
    border-left: 4px solid var(--dpt-gold-soft);
}

#dpt-montage-essentiel .dpt-essential-summary--rdc blockquote strong {
    max-width: 1080px;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.25rem, 2.5vw, 2.15rem);
    line-height: 1.25;
}

#dpt-montage-essentiel .dpt-essential-summary__final {
    margin: clamp(32px, 5vw, 54px) 0 0;
    color: var(--dpt-gold-soft);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.8rem, 8vw, 8rem);
    font-weight: 800;
    line-height: .9;
    letter-spacing: -.055em;
    text-align: center;
}

@media (max-width: 980px) {
    #dpt-montage-essentiel .dpt-essential-locks__grid {
        grid-template-columns: 1fr;
    }

    #dpt-montage-essentiel .dpt-essential-locks__junction {
        grid-template-columns: 1fr;
    }

    #dpt-montage-essentiel .dpt-essential-locks__junction > span,
    #dpt-montage-essentiel .dpt-essential-locks__junction > p {
        grid-column: auto;
    }

    #dpt-montage-essentiel .dpt-essential-locks__junction > b {
        justify-self: start;
    }
}

@media (max-width: 760px) {
    /* Mobile : une scène continue, sans effet de boîtes dans des boîtes. */
    #dpt-montage-essentiel .dpt-essential-locks {
        margin-inline: -10px;
        border-inline: 0;
        border-radius: 0;
        box-shadow: none;
    }

    #dpt-montage-essentiel .dpt-essential-locks__header,
    #dpt-montage-essentiel .dpt-essential-lock,
    #dpt-montage-essentiel .dpt-essential-locks__junction {
        padding-inline: 20px;
    }

    #dpt-montage-essentiel .dpt-essential-lock {
        background: transparent;
        border: 0;
    }

    #dpt-montage-essentiel .dpt-essential-lock--language {
        border-top: 1px solid rgba(202,167,91,.22);
    }

    #dpt-montage-essentiel .dpt-essential-lock__paths {
        gap: 18px;
    }

    #dpt-montage-essentiel .dpt-essential-lock__path {
        border-inline: 0;
        border-radius: 0;
        background: transparent;
    }

    #dpt-montage-essentiel .dpt-essential-lock__path > header {
        padding-inline: 0;
        background: transparent;
    }

    #dpt-montage-essentiel .dpt-essential-lock__path-grid {
        grid-template-columns: 1fr;
        gap: 0;
        background: transparent;
    }

    #dpt-montage-essentiel .dpt-essential-lock__path-grid > div {
        padding: 15px 0;
        background: transparent;
        border-top: 1px solid rgba(255,255,255,.10);
    }

    #dpt-montage-essentiel .dpt-essential-lock__path-grid > div.is-focus {
        padding-inline: 12px;
        background: rgba(102,25,25,.18);
        border-bottom: 1px solid rgba(202,167,91,.24);
    }

    #dpt-montage-essentiel .dpt-essential-lock__relations {
        grid-template-columns: 1fr;
        gap: 0;
    }

    #dpt-montage-essentiel .dpt-essential-lock__relations > div,
    #dpt-montage-essentiel .dpt-essential-lock__common > div {
        padding: 15px 0;
        background: transparent;
        border: 0;
        border-top: 1px solid rgba(255,255,255,.10);
        border-radius: 0;
    }

    #dpt-montage-essentiel .dpt-essential-lock__relations > div:last-child,
    #dpt-montage-essentiel .dpt-essential-lock__common > div:last-child {
        border-bottom: 1px solid rgba(255,255,255,.10);
    }

    #dpt-montage-essentiel .dpt-essential-lock__relations > div.is-residue {
        padding-inline: 12px;
        background: rgba(102,25,25,.18);
        border-color: rgba(202,167,91,.24);
    }

    #dpt-montage-essentiel .dpt-essential-lock__common {
        grid-template-columns: 1fr;
        gap: 0;
    }

    #dpt-montage-essentiel .dpt-essential-lock__common > b {
        justify-self: center;
        padding: 8px 0;
        font-size: 2rem;
    }

    #dpt-montage-essentiel .dpt-essential-lock > blockquote {
        padding: 18px 0 18px 14px;
        background: transparent;
        border-left-width: 3px;
    }

    #dpt-montage-essentiel .dpt-essential-lock__proof {
        border-radius: 0;
        background: transparent;
        border-inline: 0;
    }

    #dpt-montage-essentiel .dpt-essential-lock__proof summary {
        padding-left: 0;
        background: transparent;
    }

    #dpt-montage-essentiel .dpt-essential-lock__proof > div {
        padding-inline: 0;
    }

    #dpt-montage-essentiel .dpt-essential-summary--rdc {
        margin-inline: -10px;
        padding-inline: 20px;
        border-inline: 0;
    }

    #dpt-montage-essentiel .dpt-essential-summary__differences {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1px;
        background: rgba(255,255,255,.10);
    }

    #dpt-montage-essentiel .dpt-essential-summary__differences span {
        padding: 11px 10px;
        background: #090d15;
        border: 0;
        border-radius: 0;
        font-size: .72rem;
    }

    #dpt-montage-essentiel .dpt-essential-summary--rdc blockquote {
        padding-inline: 14px 0;
        background: transparent;
        border-left-width: 3px;
    }

    #dpt-montage-essentiel .dpt-essential-summary__final {
        text-align: left;
    }
}

@media (max-width: 460px) {
    #dpt-montage-essentiel .dpt-essential-lock > header {
        grid-template-columns: 1fr;
    }

    #dpt-montage-essentiel .dpt-essential-lock__number {
        width: 40px;
    }

    #dpt-montage-essentiel .dpt-essential-summary__differences {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   V103 · ESSENTIEL SYNCHRONISÉ
   Trois confrontations avec une même grammaire de lecture :
   complet → visuel / phonétique / conceptuel → axe analytique
   → pondération des différences → retour obligatoire au complet.
   ========================================================= */
#dpt-montage-essentiel .dpt-sync-rule {
    margin: 0 0 clamp(28px, 4vw, 48px);
    padding: clamp(22px, 3.5vw, 38px);
    color: #fff;
    background: linear-gradient(125deg, #020611, #071329 58%, #1a090b);
    border: 1px solid rgba(202,167,91,.34);
    border-left: 6px solid var(--dpt-gold);
    border-radius: var(--dpt-radius);
}
#dpt-montage-essentiel .dpt-sync-rule > span {
    display:block;
    color:var(--dpt-gold-soft);
    font-size:.72rem;
    font-weight:950;
    letter-spacing:.12em;
    text-transform:uppercase;
}
#dpt-montage-essentiel .dpt-sync-rule h4 {
    max-width:1050px;
    margin:.65rem 0 0;
    color:#fff;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(1.55rem,3.3vw,3.2rem);
    line-height:1.08;
}
#dpt-montage-essentiel .dpt-sync-rule p {
    max-width:980px;
    margin:1rem 0 0;
    color:rgba(255,255,255,.72);
}
#dpt-montage-essentiel .dpt-sync-rule__flow {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
    margin-top:20px;
}
#dpt-montage-essentiel .dpt-sync-rule__flow strong,
#dpt-montage-essentiel .dpt-sync-rule__flow span,
#dpt-montage-essentiel .dpt-sync-rule__flow em {
    padding:8px 10px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:var(--dpt-radius);
    font-size:.78rem;
    font-style:normal;
    font-weight:850;
}
#dpt-montage-essentiel .dpt-sync-rule__flow strong {background:rgba(202,167,91,.12);color:#fff;}
#dpt-montage-essentiel .dpt-sync-rule__flow span {background:rgba(255,255,255,.055);color:rgba(255,255,255,.82);}
#dpt-montage-essentiel .dpt-sync-rule__flow em {background:rgba(102,25,25,.4);color:var(--dpt-gold-soft);border-style:dashed;}
#dpt-montage-essentiel .dpt-sync-rule__flow b {color:var(--dpt-gold-soft);}

#dpt-montage-essentiel .dpt-sync-comparisons {
    display:grid;
    gap:clamp(36px,6vw,78px);
}
#dpt-montage-essentiel .dpt-sync-chapter {
    overflow:hidden;
    color:var(--dpt-ink);
    background:#eee9df;
    border:1px solid rgba(0,25,68,.16);
    border-radius:var(--dpt-radius);
    box-shadow:0 24px 68px rgba(2,9,24,.13);
}
#dpt-montage-essentiel .dpt-sync-chapter__header {
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:18px;
    align-items:start;
    padding:clamp(24px,4vw,44px);
    color:#fff;
    background:radial-gradient(circle at 88% 10%,rgba(202,167,91,.16),transparent 30%),linear-gradient(115deg,var(--dpt-navy),#071126 64%,#260a0c);
}
#dpt-montage-essentiel .dpt-sync-chapter__index {
    display:grid;
    place-items:center;
    width:50px;
    aspect-ratio:1;
    color:#fff;
    background:var(--dpt-red);
    border-radius:50%;
    font-weight:950;
}
#dpt-montage-essentiel .dpt-sync-chapter__header small {
    display:block;
    color:var(--dpt-gold-soft);
    font-size:.72rem;
    font-weight:950;
    letter-spacing:.12em;
    text-transform:uppercase;
}
#dpt-montage-essentiel .dpt-sync-chapter__header h4 {
    max-width:1120px;
    margin:.4rem 0 0;
    color:#fff;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(1.8rem,4vw,4rem);
    line-height:1.04;
}
#dpt-montage-essentiel .dpt-sync-chapter__header p {
    max-width:1040px;
    margin:1rem 0 0;
    color:rgba(255,255,255,.72);
}

#dpt-montage-essentiel .dpt-sync-signs,
#dpt-montage-essentiel .dpt-sync-common-axis,
#dpt-montage-essentiel .dpt-sync-relegated,
#dpt-montage-essentiel .dpt-sync-return {
    margin:0;
    background:var(--dpt-paper);
    border-top:1px solid rgba(0,25,68,.12);
}
#dpt-montage-essentiel .dpt-sync-signs > header,
#dpt-montage-essentiel .dpt-sync-common-axis > header,
#dpt-montage-essentiel .dpt-sync-relegated > header,
#dpt-montage-essentiel .dpt-sync-return > header,
#dpt-montage-essentiel .dpt-sync-axis-card > header {
    display:flex;
    gap:10px;
    align-items:center;
    padding:13px 18px;
    color:var(--dpt-navy);
    background:#ece7dc;
    border-bottom:1px solid var(--dpt-line);
}
#dpt-montage-essentiel .dpt-sync-signs > header span,
#dpt-montage-essentiel .dpt-sync-common-axis > header span,
#dpt-montage-essentiel .dpt-sync-relegated > header span,
#dpt-montage-essentiel .dpt-sync-return > header span,
#dpt-montage-essentiel .dpt-sync-axis-card > header span {
    display:grid;
    place-items:center;
    width:30px;
    aspect-ratio:1;
    color:#fff;
    background:var(--dpt-red);
    border-radius:50%;
    font-size:.72rem;
    font-weight:950;
}
#dpt-montage-essentiel .dpt-sync-axis-card > header h5 {
    margin:0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:1.05rem;
}
#dpt-montage-essentiel .dpt-sync-signs__grid {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    gap:18px;
    align-items:center;
    padding:clamp(20px,3vw,34px);
}
#dpt-montage-essentiel .dpt-sync-signs__grid > b,
#dpt-montage-essentiel .dpt-sync-return__signs > b,
#dpt-montage-essentiel .dpt-sync-phonetic > b,
#dpt-montage-essentiel .dpt-sync-grammar > b {
    color:var(--dpt-red);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(2rem,4vw,4rem);
}
#dpt-montage-essentiel .dpt-sync-signs figure,
#dpt-montage-essentiel .dpt-sync-shapes figure,
#dpt-montage-essentiel .dpt-sync-return figure {
    min-width:0;
    margin:0;
}
#dpt-montage-essentiel .dpt-sync-signs figure > div,
#dpt-montage-essentiel .dpt-sync-shapes figure > div {
    display:grid;
    place-items:center;
    min-height:230px;
    padding:18px;
    background:#fff;
    border:1px solid var(--dpt-line);
}
#dpt-montage-essentiel .dpt-sync-signs img,
#dpt-montage-essentiel .dpt-sync-shapes img,
#dpt-montage-essentiel .dpt-sync-return img {
    width:100%;
    max-height:210px;
    object-fit:contain;
}
#dpt-montage-essentiel .dpt-sync-signs figcaption,
#dpt-montage-essentiel .dpt-sync-shapes figcaption,
#dpt-montage-essentiel .dpt-sync-return figcaption {
    padding:10px 12px;
    color:#fff;
    background:var(--dpt-navy);
    font-size:.75rem;
    font-weight:850;
    text-align:center;
}

#dpt-montage-essentiel .dpt-sync-analysis-grid {
    display:grid;
    grid-template-columns:1.15fr .85fr 1fr;
    gap:1px;
    padding:1px;
    background:rgba(0,25,68,.13);
}
#dpt-montage-essentiel .dpt-sync-axis-card {
    min-width:0;
    background:var(--dpt-paper);
}
#dpt-montage-essentiel .dpt-sync-shapes {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    padding:14px 14px 0;
}
#dpt-montage-essentiel .dpt-sync-shapes figure > div {min-height:135px;padding:10px;}
#dpt-montage-essentiel .dpt-sync-shapes img {max-height:120px;}
#dpt-montage-essentiel .dpt-sync-compare-copy {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    padding:14px;
}
#dpt-montage-essentiel .dpt-sync-compare-copy > div {
    padding:14px;
    background:#f7f3e9;
    border:1px solid var(--dpt-line);
}
#dpt-montage-essentiel .dpt-sync-compare-copy strong {
    display:block;
    color:var(--dpt-navy);
    font-size:.78rem;
}
#dpt-montage-essentiel .dpt-sync-compare-copy ul {
    margin:.7rem 0 0;
    padding-left:1.1rem;
    color:#51596a;
    font-size:.78rem;
    line-height:1.5;
}
#dpt-montage-essentiel .dpt-sync-phonetic,
#dpt-montage-essentiel .dpt-sync-grammar {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    gap:10px;
    align-items:center;
    padding:18px;
}
#dpt-montage-essentiel .dpt-sync-phonetic p,
#dpt-montage-essentiel .dpt-sync-grammar > div {
    margin:0;
    padding:16px;
    background:#f7f3e9;
    border:1px solid var(--dpt-line);
}
#dpt-montage-essentiel .dpt-sync-phonetic span,
#dpt-montage-essentiel .dpt-sync-grammar span {
    display:block;
    margin-bottom:.5rem;
    color:var(--dpt-red);
    font-size:.68rem;
    font-weight:950;
    letter-spacing:.08em;
    text-transform:uppercase;
}
#dpt-montage-essentiel .dpt-sync-phonetic strong,
#dpt-montage-essentiel .dpt-sync-grammar strong {
    display:block;
    color:var(--dpt-navy);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(1rem,1.7vw,1.35rem);
    line-height:1.25;
}
#dpt-montage-essentiel .dpt-sync-grammar small {
    display:block;
    margin-top:.65rem;
    color:#5a6272;
    line-height:1.45;
}
#dpt-montage-essentiel .dpt-sync-axis-card__note {
    margin:0;
    padding:0 18px 18px;
    color:#596174;
    font-size:.82rem;
}

#dpt-montage-essentiel .dpt-sync-common-axis {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(260px,.45fr);
}
#dpt-montage-essentiel .dpt-sync-common-axis > header {grid-column:1/-1;}
#dpt-montage-essentiel .dpt-sync-common-axis__main {
    display:grid;
    align-content:center;
    justify-items:center;
    gap:10px;
    padding:clamp(24px,4vw,42px);
    text-align:center;
}
#dpt-montage-essentiel .dpt-sync-common-axis__main > small {
    color:var(--dpt-red);
    font-size:.7rem;
    font-weight:950;
    letter-spacing:.11em;
    text-transform:uppercase;
}
#dpt-montage-essentiel .dpt-sync-common-axis__main > strong {
    color:var(--dpt-navy);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(2.6rem,6vw,6rem);
    line-height:1;
}
#dpt-montage-essentiel .dpt-sync-common-axis__main p {
    max-width:760px;
    margin:0;
    color:#51596a;
}
#dpt-montage-essentiel .dpt-sync-common-axis__chips {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:7px;
}
#dpt-montage-essentiel .dpt-sync-common-axis__chips span {
    padding:6px 9px;
    color:var(--dpt-navy);
    background:#fff;
    border:1px solid var(--dpt-line);
    font-size:.72rem;
    font-weight:900;
}
#dpt-montage-essentiel .dpt-sync-common-axis__warning {
    display:grid;
    align-content:center;
    gap:8px;
    padding:clamp(22px,3vw,32px);
    color:#fff;
    background:linear-gradient(135deg,#5b1619,#21080a);
    border-left:1px solid rgba(202,167,91,.35);
}
#dpt-montage-essentiel .dpt-sync-common-axis__warning strong {
    color:var(--dpt-gold-soft);
    letter-spacing:.08em;
}
#dpt-montage-essentiel .dpt-sync-common-axis__warning span {color:rgba(255,255,255,.75);}

#dpt-montage-essentiel .dpt-sync-relegated {background:#fff8e5;}
#dpt-montage-essentiel .dpt-sync-relegated__chips {
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    padding:20px 20px 0;
}
#dpt-montage-essentiel .dpt-sync-relegated__chips span {
    padding:7px 10px;
    color:#672126;
    background:#fff;
    border:1px solid rgba(102,25,25,.18);
    border-radius:999px;
    font-size:.73rem;
    font-weight:850;
}
#dpt-montage-essentiel .dpt-sync-relegated > p {
    max-width:1100px;
    margin:0;
    padding:18px 20px 24px;
    color:#5a5260;
}

#dpt-montage-essentiel .dpt-sync-return {
    color:#fff;
    background:linear-gradient(125deg,#020611,#071329 62%,#14090b);
}
#dpt-montage-essentiel .dpt-sync-return > header {
    color:#fff;
    background:rgba(255,255,255,.055);
    border-color:rgba(255,255,255,.1);
}
#dpt-montage-essentiel .dpt-sync-return > header strong {color:#fff;}
#dpt-montage-essentiel .dpt-sync-return__signs {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    gap:18px;
    align-items:center;
    max-width:980px;
    margin:0 auto;
    padding:clamp(24px,4vw,42px) clamp(18px,3vw,30px) 18px;
}
#dpt-montage-essentiel .dpt-sync-return figure {
    display:grid;
    grid-template-rows:minmax(180px,1fr) auto;
    place-items:center;
    overflow:hidden;
    background:#fff;
}
#dpt-montage-essentiel .dpt-sync-return figure img {padding:16px;}
#dpt-montage-essentiel .dpt-sync-return__points {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:7px;
    padding:0 20px 24px;
}
#dpt-montage-essentiel .dpt-sync-return__points span {
    padding:7px 10px;
    color:rgba(255,255,255,.82);
    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.12);
    font-size:.72rem;
    font-weight:800;
}
#dpt-montage-essentiel .dpt-sync-return blockquote {
    max-width:1080px;
    margin:0 auto;
    padding:0 clamp(20px,4vw,44px) clamp(28px,4vw,44px);
    border:0;
}
#dpt-montage-essentiel .dpt-sync-return blockquote span {
    display:block;
    margin-bottom:.55rem;
    color:var(--dpt-gold-soft);
    font-size:.7rem;
    font-weight:950;
    letter-spacing:.1em;
    text-transform:uppercase;
}
#dpt-montage-essentiel .dpt-sync-return blockquote strong {
    display:block;
    color:#fff;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(1.2rem,2.4vw,2.1rem);
    line-height:1.3;
}

@media (max-width: 1050px) {
    #dpt-montage-essentiel .dpt-sync-analysis-grid {grid-template-columns:1fr;}
    #dpt-montage-essentiel .dpt-sync-common-axis {grid-template-columns:1fr;}
    #dpt-montage-essentiel .dpt-sync-common-axis__warning {border-left:0;border-top:1px solid rgba(202,167,91,.35);}
}

@media (max-width: 700px) {
    #dpt-montage-essentiel .dpt-sync-rule,
    #dpt-montage-essentiel .dpt-sync-chapter {
        margin-inline:-10px;
        border-inline:0;
        border-radius:0;
    }
    #dpt-montage-essentiel .dpt-sync-rule {padding-inline:20px;}
    #dpt-montage-essentiel .dpt-sync-rule__flow {display:grid;grid-template-columns:1fr;}
    #dpt-montage-essentiel .dpt-sync-rule__flow b {justify-self:center;transform:rotate(90deg);}
    #dpt-montage-essentiel .dpt-sync-chapter__header {grid-template-columns:1fr;padding:24px 20px;}
    #dpt-montage-essentiel .dpt-sync-chapter__index {width:42px;}
    #dpt-montage-essentiel .dpt-sync-signs__grid,
    #dpt-montage-essentiel .dpt-sync-return__signs,
    #dpt-montage-essentiel .dpt-sync-phonetic,
    #dpt-montage-essentiel .dpt-sync-grammar {
        grid-template-columns:1fr;
    }
    #dpt-montage-essentiel .dpt-sync-signs__grid > b,
    #dpt-montage-essentiel .dpt-sync-return__signs > b,
    #dpt-montage-essentiel .dpt-sync-phonetic > b,
    #dpt-montage-essentiel .dpt-sync-grammar > b {
        justify-self:center;
        transform:rotate(90deg);
        font-size:2.5rem;
    }
    #dpt-montage-essentiel .dpt-sync-signs figure > div {min-height:180px;}
    #dpt-montage-essentiel .dpt-sync-shapes {grid-template-columns:1fr 1fr;gap:1px;padding:1px;background:var(--dpt-line);}
    #dpt-montage-essentiel .dpt-sync-shapes figure > div {min-height:120px;border:0;}
    #dpt-montage-essentiel .dpt-sync-shapes figcaption {font-size:.67rem;}
    #dpt-montage-essentiel .dpt-sync-compare-copy {grid-template-columns:1fr;}
    #dpt-montage-essentiel .dpt-sync-common-axis__main > strong {font-size:clamp(2.4rem,12vw,4rem);}
    #dpt-montage-essentiel .dpt-sync-return figure {grid-template-rows:minmax(150px,1fr) auto;}
    #dpt-montage-essentiel .dpt-sync-return__points {justify-content:flex-start;}
}


/* =========================================================
   V102 — Essentiel synchronisé : contrôle de transformation
   PARIS … AIME n'est plus présenté comme une matrice préexistante.
   On visualise : relation déterminée → abstraction → relation indéterminée.
   ========================================================= */
#dpt-montage-essentiel .dpt-sync-common-axis--transform {
    grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
    background:#fffdf8;
}

#dpt-montage-essentiel .dpt-sync-transform {
    display:grid;
    align-content:center;
    gap:18px;
    min-width:0;
    padding:clamp(24px,4vw,44px);
    background:
        radial-gradient(circle at 50% 70%,rgba(102,25,25,.055),transparent 42%),
        #fffdf8;
}

#dpt-montage-essentiel .dpt-sync-transform__kicker {
    justify-self:center;
    color:var(--dpt-red);
    font-size:.72rem;
    font-weight:950;
    letter-spacing:.12em;
    text-align:center;
    text-transform:uppercase;
}

#dpt-montage-essentiel .dpt-sync-transform__sources {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    gap:14px;
    align-items:stretch;
}

#dpt-montage-essentiel .dpt-sync-transform__sources > div {
    display:grid;
    align-content:center;
    gap:7px;
    min-width:0;
    padding:18px;
    text-align:center;
    background:#f7f3e9;
    border:1px solid var(--dpt-line);
}

#dpt-montage-essentiel .dpt-sync-transform__sources > div > span {
    color:var(--dpt-red);
    font-size:.7rem;
    font-weight:950;
    letter-spacing:.08em;
    text-transform:uppercase;
}

#dpt-montage-essentiel .dpt-sync-transform__sources > div > strong {
    color:var(--dpt-navy);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(1.35rem,2.35vw,2.2rem);
    line-height:1.15;
}

#dpt-montage-essentiel .dpt-sync-transform__sources > div > small {
    color:#5b6374;
    font-weight:800;
}

#dpt-montage-essentiel .dpt-sync-transform__sources > b {
    align-self:center;
    color:var(--dpt-red);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(2rem,4vw,4rem);
}

#dpt-montage-essentiel .dpt-sync-transform__operator {
    display:grid;
    justify-items:center;
    gap:7px;
    margin-inline:auto;
    padding:10px 18px 4px;
    color:#6a2024;
    text-align:center;
}

#dpt-montage-essentiel .dpt-sync-transform__operator span {
    padding:8px 12px;
    background:#fff1ee;
    border:1px solid rgba(197,31,36,.22);
    font-size:.78rem;
    font-weight:900;
}

#dpt-montage-essentiel .dpt-sync-transform__operator b {
    color:var(--dpt-red);
    font-size:1.8rem;
    line-height:1;
}

#dpt-montage-essentiel .dpt-sync-transform__result {
    display:grid;
    justify-items:center;
    gap:8px;
    max-width:860px;
    width:100%;
    margin-inline:auto;
    padding:clamp(20px,3vw,30px);
    text-align:center;
    background:#fff;
    border:2px dashed rgba(102,25,25,.46);
    box-shadow:0 14px 34px rgba(2,9,24,.07);
}

#dpt-montage-essentiel .dpt-sync-transform__result > small {
    color:var(--dpt-red);
    font-size:.68rem;
    font-weight:950;
    letter-spacing:.1em;
    text-transform:uppercase;
}

#dpt-montage-essentiel .dpt-sync-transform__result > strong {
    color:var(--dpt-navy);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(2.8rem,6.2vw,6rem);
    line-height:.95;
}

#dpt-montage-essentiel .dpt-sync-transform__result > em {
    color:#7b2025;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(1.15rem,2.2vw,1.8rem);
    font-style:normal;
    font-weight:800;
}

#dpt-montage-essentiel .dpt-sync-transform__note {
    max-width:980px;
    margin:0 auto;
    padding:16px 18px;
    color:#4e5668;
    background:#f7f3e9;
    border-left:5px solid var(--dpt-red);
    font-size:.94rem;
    line-height:1.62;
}

#dpt-montage-essentiel .dpt-sync-common-axis--transform .dpt-sync-common-axis__warning {
    align-content:center;
    gap:15px;
    background:
        radial-gradient(circle at 90% 10%,rgba(202,167,91,.13),transparent 35%),
        linear-gradient(145deg,#5b1619,#21080a);
}

#dpt-montage-essentiel .dpt-sync-common-axis--transform .dpt-sync-common-axis__warning strong {
    font-size:.95rem;
    line-height:1.25;
}

#dpt-montage-essentiel .dpt-sync-common-axis--transform .dpt-sync-common-axis__warning span {
    color:rgba(255,255,255,.84);
    font-size:.92rem;
    line-height:1.62;
}

#dpt-montage-essentiel .dpt-sync-common-axis--transform .dpt-sync-common-axis__warning em {
    display:block;
    padding-top:14px;
    color:var(--dpt-gold-soft);
    border-top:1px solid rgba(255,255,255,.16);
    font-family:Georgia,"Times New Roman",serif;
    font-size:1rem;
    font-style:normal;
    font-weight:800;
    line-height:1.45;
}

#dpt-montage-essentiel .dpt-sync-relegated--structural {
    background:#fff8e5;
}

#dpt-montage-essentiel .dpt-sync-relegated__critical {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    gap:12px;
    align-items:stretch;
    padding:22px 20px 4px;
}

#dpt-montage-essentiel .dpt-sync-relegated__critical > div {
    display:grid;
    align-content:center;
    gap:6px;
    min-width:0;
    padding:18px;
    text-align:center;
    background:#fff;
    border:1px solid rgba(0,25,68,.13);
}

#dpt-montage-essentiel .dpt-sync-relegated__critical > div > span {
    color:#667084;
    font-size:.68rem;
    font-weight:950;
    letter-spacing:.09em;
    text-transform:uppercase;
}

#dpt-montage-essentiel .dpt-sync-relegated__critical > div > strong {
    color:var(--dpt-navy);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(1.45rem,2.6vw,2.45rem);
    line-height:1.12;
}

#dpt-montage-essentiel .dpt-sync-relegated__critical > b {
    align-self:center;
    color:var(--dpt-red);
    font-size:2rem;
}

#dpt-montage-essentiel .dpt-sync-relegated__critical > .is-alert {
    color:#fff;
    background:linear-gradient(135deg,#681b20,#2c0a0d);
    border-color:#681b20;
}

#dpt-montage-essentiel .dpt-sync-relegated__critical > .is-alert > span {
    color:var(--dpt-gold-soft);
}

#dpt-montage-essentiel .dpt-sync-relegated__critical > .is-alert > strong {
    color:#fff;
}

#dpt-montage-essentiel .dpt-sync-relegated__subhead {
    padding:18px 20px 0;
    color:#6c2025;
    font-size:.7rem;
    font-weight:950;
    letter-spacing:.1em;
    text-transform:uppercase;
}

@media(max-width:980px){
    #dpt-montage-essentiel .dpt-sync-common-axis--transform {
        grid-template-columns:1fr;
    }
    #dpt-montage-essentiel .dpt-sync-common-axis--transform .dpt-sync-common-axis__warning {
        border-left:0;
        border-top:1px solid rgba(202,167,91,.35);
    }
}

@media(max-width:700px){
    #dpt-montage-essentiel .dpt-sync-transform {
        padding:18px 12px;
    }
    #dpt-montage-essentiel .dpt-sync-transform__sources,
    #dpt-montage-essentiel .dpt-sync-relegated__critical {
        grid-template-columns:1fr;
    }
    #dpt-montage-essentiel .dpt-sync-transform__sources > b {
        justify-self:center;
        transform:rotate(90deg);
        font-size:2.4rem;
    }
    #dpt-montage-essentiel .dpt-sync-relegated__critical > b {
        justify-self:center;
        transform:rotate(90deg);
    }
    #dpt-montage-essentiel .dpt-sync-transform__result > strong {
        font-size:clamp(2.5rem,14vw,4rem);
    }
    #dpt-montage-essentiel .dpt-sync-transform__note {
        text-align:left;
    }
}

/* =========================================================
   V102 — Idée générale ≠ matrice linguistique reconstruite
   Harmonisation de la section de frontière avec le verrou
   « relation déterminée → relation indéterminée ».
   ========================================================= */
.dpt-matrix-boundary__concept {
    display: grid;
    gap: .45rem;
    margin: 22px 0;
    padding: clamp(20px, 3vw, 30px);
    color: var(--dpt-navy);
    background: #fff;
    border-left: 6px solid var(--dpt-gold);
    box-shadow: inset 0 0 0 1px rgba(0, 25, 68, .12);
}

.dpt-matrix-boundary__concept small {
    color: var(--dpt-red);
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dpt-matrix-boundary__concept strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 4vw, 4rem);
    line-height: 1;
}

.dpt-matrix-boundary__concept em {
    color: #555e70;
    font-size: .86rem;
    font-style: normal;
    font-weight: 750;
}

.dpt-matrix-boundary__transition strong {
    color: #fff;
}

@media (max-width: 680px) {
    .dpt-matrix-boundary__concept {
        margin-inline: 0;
    }
}


/* =========================================================
   V102 — Appuis juridiques immédiats sous chaque étape
   Sources officielles visibles : Légifrance / EUR-Lex.
   ========================================================= */
#dpt-montage-essentiel .dpt-legal-support,
#dpt-arbres-arroses .dpt-legal-support {
    grid-column: 1 / -1;
    margin-top: 18px;
    overflow: hidden;
    background: #fbfaf6;
    border: 1px solid rgba(0,25,68,.16);
    border-left: 5px solid var(--dpt-gold);
    border-radius: var(--dpt-radius);
    box-shadow: 0 10px 28px rgba(2,9,24,.055);
}

#dpt-montage-essentiel .dpt-legal-support__header,
#dpt-arbres-arroses .dpt-legal-support__header {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    gap: 10px 16px;
    align-items: baseline;
    padding: 13px 16px;
    color: #fff;
    background: linear-gradient(110deg, var(--dpt-navy), #081126 72%, #1f0b0d);
}

#dpt-montage-essentiel .dpt-legal-support__header span,
#dpt-arbres-arroses .dpt-legal-support__header span {
    color: var(--dpt-gold-soft);
    font-size: .67rem;
    font-weight: 950;
    letter-spacing: .11em;
    text-transform: uppercase;
    white-space: nowrap;
}

#dpt-montage-essentiel .dpt-legal-support__header strong,
#dpt-arbres-arroses .dpt-legal-support__header strong {
    min-width: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(.98rem,1.3vw,1.17rem);
    line-height: 1.28;
}

#dpt-montage-essentiel .dpt-legal-support__body,
#dpt-arbres-arroses .dpt-legal-support__body {
    display: grid;
    gap: 10px;
    padding: 14px 16px 16px;
}

#dpt-montage-essentiel .dpt-legal-support__refs,
#dpt-arbres-arroses .dpt-legal-support__refs {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

#dpt-montage-essentiel .dpt-legal-support__refs a,
#dpt-arbres-arroses .dpt-legal-support__refs a {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    min-height: 30px;
    padding: 5px 9px;
    color: var(--dpt-navy);
    background: #fff;
    border: 1px solid rgba(0,25,68,.17);
    border-radius: 999px;
    font-size: .69rem;
    font-weight: 900;
    line-height: 1.2;
    text-decoration: none;
}

#dpt-montage-essentiel .dpt-legal-support__refs a:hover,
#dpt-arbres-arroses .dpt-legal-support__refs a:hover {
    background: var(--dpt-blue-soft);
    border-color: rgba(0,25,68,.34);
}

#dpt-montage-essentiel .dpt-legal-support__body p,
#dpt-arbres-arroses .dpt-legal-support__body p {
    margin: 0;
    color: #4c5567;
    font-size: .82rem;
    line-height: 1.55;
}

#dpt-montage-essentiel .dpt-legal-support__body p b,
#dpt-arbres-arroses .dpt-legal-support__body p b {
    color: var(--dpt-navy);
}

#dpt-montage-essentiel .dpt-legal-support__application,
#dpt-arbres-arroses .dpt-legal-support__application {
    padding-top: 9px;
    border-top: 1px solid rgba(0,25,68,.11);
}

/* Les cartes 02/03/04 deviennent verticales afin que l'appui juridique reste lisible. */
#dpt-montage-essentiel .dpt-sync-axis-card .dpt-legal-support {
    margin-top: auto;
}

/* Dans l'étape 05 à deux colonnes, l'appui juridique occupe toute la largeur. */
#dpt-montage-essentiel .dpt-sync-common-axis--transform > .dpt-legal-support {
    grid-column: 1 / -1;
    margin: 0 22px 22px;
}

/* Les verrous ont déjà un fond dense : différencier le fondement immédiat du détail accordéon. */
#dpt-montage-essentiel .dpt-essential-lock > .dpt-legal-support {
    margin: 18px 0 0;
}

#dpt-montage-essentiel .dpt-essential-summary .dpt-legal-support {
    max-width: 1120px;
    margin-inline: auto;
    text-align: left;
}

#dpt-arbres-arroses .dpt-legal-support {
    margin-top: 24px;
}

@media (max-width: 760px) {
    #dpt-montage-essentiel .dpt-legal-support__header,
    #dpt-arbres-arroses .dpt-legal-support__header {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    #dpt-montage-essentiel .dpt-legal-support__header span,
    #dpt-arbres-arroses .dpt-legal-support__header span {
        white-space: normal;
    }

    #dpt-montage-essentiel .dpt-legal-support__refs,
    #dpt-arbres-arroses .dpt-legal-support__refs {
        display: grid;
    }

    #dpt-montage-essentiel .dpt-legal-support__refs a,
    #dpt-arbres-arroses .dpt-legal-support__refs a {
        width: 100%;
        border-radius: var(--dpt-radius);
    }

    #dpt-montage-essentiel .dpt-sync-common-axis--transform > .dpt-legal-support {
        margin: 0 14px 16px;
    }
}

/* =========================================================
   V5 — Pièce-source « grandes ressemblances » + fondement
   immédiat de l'opération analytique dans l'Essentiel.
   ========================================================= */
#dpt-montage-essentiel .dpt-sync-decision-pivot {
    margin: 22px 0 0;
    overflow: hidden;
    background: #f6f2e8;
    border: 1px solid rgba(0,25,68,.18);
    border-top: 5px solid var(--dpt-red);
    border-radius: var(--dpt-radius);
    box-shadow: 0 18px 48px rgba(2,9,24,.09);
}

#dpt-montage-essentiel .dpt-sync-decision-pivot__header {
    padding: clamp(22px,3.4vw,38px);
    color: #fff;
    background:
        radial-gradient(circle at 90% 10%, rgba(202,167,91,.16), transparent 28%),
        linear-gradient(115deg, var(--dpt-navy), #071126 68%, #260a0c);
}

#dpt-montage-essentiel .dpt-sync-decision-pivot__header > span,
#dpt-montage-essentiel .dpt-sync-analytic-foundation > header > span {
    display: block;
    margin-bottom: .55rem;
    color: var(--dpt-gold-soft);
    font-size: .71rem;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

#dpt-montage-essentiel .dpt-sync-decision-pivot__header h5 {
    max-width: 1050px;
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem,4.4vw,4.25rem);
    line-height: 1.02;
}

#dpt-montage-essentiel .dpt-sync-decision-pivot__header p {
    max-width: 850px;
    margin: 1rem 0 0;
    color: rgba(255,255,255,.74);
}

#dpt-montage-essentiel .dpt-sync-decision-pivot__evidence {
    display: grid;
    grid-template-columns: minmax(0,1.05fr) minmax(360px,.95fr);
    gap: 1px;
    background: rgba(0,25,68,.13);
}

#dpt-montage-essentiel .dpt-sync-decision-pivot__pair {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
    gap: 12px;
    align-items: stretch;
    padding: clamp(18px,2.8vw,28px);
    background: #fff;
}

#dpt-montage-essentiel .dpt-sync-decision-pivot__pair figure,
#dpt-montage-essentiel .dpt-sync-decision-pivot__source {
    min-width: 0;
    margin: 0;
}

#dpt-montage-essentiel .dpt-sync-decision-pivot__pair figure {
    display: grid;
    grid-template-rows: minmax(190px,1fr) auto;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--dpt-line);
}

#dpt-montage-essentiel .dpt-sync-decision-pivot__pair img {
    width: 100%;
    height: 100%;
    min-height: 190px;
    padding: 16px;
    object-fit: contain;
}

#dpt-montage-essentiel .dpt-sync-decision-pivot__pair figcaption {
    padding: 11px 12px;
    color: #fff;
    background: var(--dpt-navy);
    font-size: .73rem;
    font-weight: 850;
    line-height: 1.3;
    text-align: center;
}

#dpt-montage-essentiel .dpt-sync-decision-pivot__pair > b {
    align-self: center;
    color: var(--dpt-red);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2.2rem;
}

#dpt-montage-essentiel .dpt-sync-decision-pivot__source {
    display: grid;
    grid-template-rows: minmax(0,1fr) auto;
    background: #f9f7f1;
}

#dpt-montage-essentiel .dpt-sync-decision-pivot__source > a {
    display: grid;
    place-items: center;
    min-height: 330px;
    padding: 12px;
    background: #ebe8df;
}

#dpt-montage-essentiel .dpt-sync-decision-pivot__source img {
    width: 100%;
    height: auto;
    max-height: 520px;
    object-fit: contain;
}

#dpt-montage-essentiel .dpt-sync-decision-pivot__source figcaption {
    display: grid;
    gap: .45rem;
    padding: 17px 19px;
    color: #fff;
    background: var(--dpt-red);
}

#dpt-montage-essentiel .dpt-sync-decision-pivot__source figcaption span {
    color: #f4d9a1;
    font-size: .69rem;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
}

#dpt-montage-essentiel .dpt-sync-decision-pivot__source figcaption strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1rem,1.55vw,1.25rem);
    line-height: 1.35;
}

#dpt-montage-essentiel .dpt-sync-decision-pivot__questions {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 1px;
    padding: 1px;
    background: rgba(0,25,68,.13);
}

#dpt-montage-essentiel .dpt-sync-decision-pivot__questions article {
    padding: clamp(18px,2.5vw,27px);
    background: var(--dpt-paper);
}

#dpt-montage-essentiel .dpt-sync-decision-pivot__questions article > span {
    display: block;
    margin-bottom: .45rem;
    color: var(--dpt-red);
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
}

#dpt-montage-essentiel .dpt-sync-decision-pivot__questions article > strong {
    display: block;
    color: var(--dpt-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.15rem,2vw,1.7rem);
    line-height: 1.15;
}

#dpt-montage-essentiel .dpt-sync-decision-pivot__questions article p {
    margin: .8rem 0 0;
    color: #525b6d;
    font-size: .9rem;
}

#dpt-montage-essentiel .dpt-sync-decision-pivot__questions article.is-question {
    background: #fff4d2;
    border-left: 5px solid var(--dpt-gold);
}

#dpt-montage-essentiel .dpt-sync-decision-pivot > .dpt-legal-support {
    margin: 18px;
}

#dpt-montage-essentiel .dpt-sync-analytic-foundation {
    margin: 18px;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(0,25,68,.16);
    border-radius: var(--dpt-radius);
}

#dpt-montage-essentiel .dpt-sync-analytic-foundation > header {
    padding: clamp(20px,3vw,30px);
    color: #fff;
    background: linear-gradient(112deg,#172034,#071126 68%,#1c0b0d);
}

#dpt-montage-essentiel .dpt-sync-analytic-foundation > header h6 {
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.65rem,3.2vw,3rem);
    line-height: 1.06;
}

#dpt-montage-essentiel .dpt-sync-analytic-foundation__flows {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
    gap: 1px;
    align-items: stretch;
    background: rgba(0,25,68,.12);
}

#dpt-montage-essentiel .dpt-sync-analytic-foundation__flows article {
    padding: clamp(20px,3vw,30px);
    background: #fff;
}

#dpt-montage-essentiel .dpt-sync-analytic-foundation__flows article > span {
    display: block;
    margin-bottom: .55rem;
    color: var(--dpt-red);
    font-size: .69rem;
    font-weight: 950;
    letter-spacing: .09em;
    text-transform: uppercase;
}

#dpt-montage-essentiel .dpt-sync-analytic-foundation__flows article > strong {
    display: block;
    color: var(--dpt-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.15rem,2vw,1.65rem);
    line-height: 1.17;
}

#dpt-montage-essentiel .dpt-sync-analytic-foundation__flows article p {
    margin: .8rem 0 0;
    color: #525b6d;
}

#dpt-montage-essentiel .dpt-sync-analytic-foundation__flows article.is-lawful {
    background: #eef6ee;
    border-top: 4px solid #3c7c49;
}

#dpt-montage-essentiel .dpt-sync-analytic-foundation__flows article.is-control {
    background: #fff1ee;
    border-top: 4px solid var(--dpt-red-bright);
}

#dpt-montage-essentiel .dpt-sync-analytic-foundation__flows > b {
    align-self: center;
    padding: 8px;
    color: var(--dpt-red);
    background: #f4efe4;
    font-size: 1.6rem;
}

#dpt-montage-essentiel .dpt-sync-adp-measure {
    display: grid;
    grid-template-columns: minmax(180px,.32fr) minmax(0,.68fr);
    gap: 20px;
    align-items: center;
    margin: 18px;
    padding: clamp(20px,3vw,30px);
    color: #fff;
    background: linear-gradient(115deg,var(--dpt-red),#3a0e11);
    border-left: 6px solid var(--dpt-gold);
}

#dpt-montage-essentiel .dpt-sync-adp-measure > div span {
    display: block;
    color: #f4d9a1;
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
}

#dpt-montage-essentiel .dpt-sync-adp-measure > div strong {
    display: block;
    margin-top: .25rem;
    font-family: Georgia,"Times New Roman",serif;
    font-size: clamp(3.2rem,7vw,6.2rem);
    line-height: .95;
}

#dpt-montage-essentiel .dpt-sync-adp-measure p {
    margin: 0;
    color: rgba(255,255,255,.84);
}

#dpt-montage-essentiel .dpt-sync-adp-measure small {
    grid-column: 1 / -1;
    color: rgba(255,255,255,.68);
    line-height: 1.5;
}

#dpt-montage-essentiel .dpt-sync-analytic-foundation__question {
    margin: 18px;
    padding: clamp(20px,3vw,30px);
    background: #fff8df;
    border-left: 6px solid var(--dpt-red);
}

#dpt-montage-essentiel .dpt-sync-analytic-foundation__question span {
    display: block;
    margin-bottom: .45rem;
    color: var(--dpt-red);
    font-size: .69rem;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
}

#dpt-montage-essentiel .dpt-sync-analytic-foundation__question strong {
    color: var(--dpt-navy);
    font-family: Georgia,"Times New Roman",serif;
    font-size: clamp(1.2rem,2.3vw,2rem);
    line-height: 1.22;
}

#dpt-montage-essentiel .dpt-sync-analytic-foundation > .dpt-legal-support {
    margin: 18px;
}

@media (max-width: 900px) {
    #dpt-montage-essentiel .dpt-sync-decision-pivot__evidence,
    #dpt-montage-essentiel .dpt-sync-analytic-foundation__flows {
        grid-template-columns: 1fr;
    }
    #dpt-montage-essentiel .dpt-sync-analytic-foundation__flows > b {
        justify-self: center;
        transform: rotate(90deg);
    }
    #dpt-montage-essentiel .dpt-sync-adp-measure {
        grid-template-columns: 1fr;
    }
    #dpt-montage-essentiel .dpt-sync-adp-measure small {
        grid-column: auto;
    }
}

@media (max-width: 650px) {
    #dpt-montage-essentiel .dpt-sync-decision-pivot {
        margin-inline: -10px;
        border-radius: 0;
    }
    #dpt-montage-essentiel .dpt-sync-decision-pivot__pair,
    #dpt-montage-essentiel .dpt-sync-decision-pivot__questions {
        grid-template-columns: 1fr;
    }
    #dpt-montage-essentiel .dpt-sync-decision-pivot__pair > b {
        justify-self: center;
        transform: rotate(90deg);
    }
    #dpt-montage-essentiel .dpt-sync-decision-pivot__questions {
        display: grid;
    }
    #dpt-montage-essentiel .dpt-sync-decision-pivot__source > a {
        min-height: 0;
    }
    #dpt-montage-essentiel .dpt-sync-decision-pivot__pair figure {
        grid-template-rows: minmax(150px,1fr) auto;
    }
    #dpt-montage-essentiel .dpt-sync-analytic-foundation,
    #dpt-montage-essentiel .dpt-sync-decision-pivot > .dpt-legal-support {
        margin: 10px;
    }
    #dpt-montage-essentiel .dpt-sync-adp-measure,
    #dpt-montage-essentiel .dpt-sync-analytic-foundation__question,
    #dpt-montage-essentiel .dpt-sync-analytic-foundation > .dpt-legal-support {
        margin: 10px;
    }
}
