.core-page--legal { background: #faf9f5; }
.legal-dossier { width: min(calc(100% - 36px), 1160px); margin: 0 auto; }
.legal-opening { display: grid; grid-template-columns: .9fr 1.1fr; gap: 3rem; align-items: start; }
.legal-opening .editorial-image { padding: 1rem; border: 1px solid #d8d2c5; background: #fff; box-shadow: 0 12px 35px rgba(46,38,22,.08); }
.legal-opening .editorial-image img { border-radius: 0; }
.legal-timeline { position: relative; margin: 5rem 0; padding-left: 3rem; }
.legal-timeline::before { content: ""; position: absolute; top: 0; bottom: 0; left: .6rem; width: 2px; background: #bd8a2d; }
.legal-event { position: relative; margin-bottom: 3rem; padding: 1.5rem; border: 1px solid #ded7c9; background: #fff; }
.legal-event::before { content: ""; position: absolute; top: 1.5rem; left: -3rem; width: 1.1rem; height: 1.1rem; border: 3px solid #faf9f5; border-radius: 50%; background: var(--accent-amber); }
.legal-event time { display: block; color: #7a5921; font-weight: 800; }
.legal-event h2 { margin-top: .4rem; font-size: 1.55rem; }
.legal-source { margin-top: 1rem; font-size: .84rem; }
.status-table td:nth-child(2) { font-weight: 720; }
.legal-disclaimer { margin: 4rem 0; padding: 1.5rem; border: 1px solid #cfc7b5; background: #fffdf6; }
.image-lightbox-trigger { display: block; color: inherit; text-decoration: none; }
.image-lightbox-trigger:focus-visible { outline-offset: 6px; }
.legal-source-link { margin: .8rem 0 3rem; text-align: right; font-size: .84rem; }
.legal-implementation-records { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr); gap: clamp(1.5rem, 4vw, 3.5rem); margin: 4rem 0; padding: clamp(1.25rem, 3vw, 2.5rem); border: 1px solid #d8d0bf; background: #fffdf7; }
#june-2026-records { scroll-margin-top: 8rem; }
.legal-implementation-copy > h2 { margin-top: .35rem; }
.implementation-timepoints { display: grid; gap: .85rem; margin: 1.5rem 0; }
.implementation-timepoints article { padding: 1rem 1.1rem; border-left: 4px solid var(--accent-amber); background: #fff; }
.implementation-timepoints time { color: #76551d; font-weight: 800; }
.implementation-timepoints h3 { margin: .35rem 0; font-size: 1.08rem; }
.implementation-timepoints p { margin-bottom: 0; }
.legal-limitation { padding: 1rem 1.1rem; border: 1px solid #dbbd81; background: #fff6df; }
.legal-document-gallery { display: grid; gap: 1rem; align-content: start; }
.legal-document-gallery .editorial-image { margin: 0; padding: .7rem; border: 1px solid #d8d2c5; background: #fff; }
.legal-document-gallery .editorial-image img { width: 100%; max-height: 560px; border-radius: 0; object-fit: contain; object-position: top; }
.legal-document-gallery .image-caption { font-size: .76rem; }
.legal-contact-note { width: min(100%, 760px); margin: 2rem auto; }
.image-lightbox { width: min(94vw, 1180px); max-height: 92vh; padding: 1rem; border: 0; border-radius: var(--radius-medium); background: #fff; box-shadow: 0 24px 80px rgba(0,0,0,.32); }
.image-lightbox::backdrop { background: rgba(2,16,18,.82); }
.image-lightbox img { width: 100%; max-height: 80vh; object-fit: contain; }
.image-lightbox__close { display: block; min-width: 44px; min-height: 44px; margin: 0 0 .7rem auto; border: 1px solid #81938f; border-radius: var(--radius-small); background: #fff; color: var(--text-main); cursor: pointer; }
