/* Fullscreen imprint, matching the existing dark navigation. */
body.legal-open { overflow: hidden !important; }
.menu.animate-in .navigation li:nth-of-type(6) { transition: opacity .5s 1.3s; }
.menu.animate-out .navigation li:nth-of-type(6) { transition: opacity .5s .9s; }
.legal-overlay {
  inset: 0; width: 100%; max-width: none; height: 100%; height: 100dvh;
  max-height: none; margin: 0; padding: 0; border: 0;
  background: #111; color: #e6e6e6; overflow-y: auto; overscroll-behavior: contain;
}
.legal-overlay::backdrop { background: #111; }
.legal-overlay[open] { animation: legal-enter .35s ease-out; }
.legal-page { margin: 0; background: #111; color: #e6e6e6; }
.legal-shell { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
.legal-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 32px 6vw; }
.legal-header img { width: 180px; max-width: 35vw; height: auto; }
.legal-close { display: inline-flex; align-items: center; gap: 18px; min-height: 48px; padding: 0 4px; border: 0; background: transparent; color: #fff; cursor: pointer; font: 400 14px/1.4 "OpenSans", sans-serif; letter-spacing: 2px; text-decoration: none; }
.legal-close span:last-child { font: 300 40px/1 sans-serif; }
.legal-layout { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(220px, .9fr) minmax(320px, 1.25fr); flex: 1; }
.legal-intro { padding: 64px 32px 48px 6vw; }
.legal-intro h1 { margin: 0 0 24px; color: #fff; font: 400 clamp(36px, 3.4vw, 60px)/1.1 "OldStandardTT", Georgia, serif; overflow-wrap: normal; }
.legal-intro p { color: #a9a9a9; font: 400 14px/1.7 "OpenSans", sans-serif; }
.legal-image { min-height: 400px; }
.legal-copy { padding: 60px clamp(24px, 4vw, 72px); }
.legal-block + .legal-block { margin-top: 32px; }
.legal-block h2 { margin: 0 0 14px; color: #fff; font: 400 28px/1.2 "OldStandardTT", Georgia, serif; }
.legal-block p { margin: 0; color: #d3d3d3; font: 400 16px/1.8 "OpenSans", sans-serif; overflow-wrap: anywhere; }
.legal-block a { color: #e6e6e6; text-decoration: underline; text-underline-offset: 4px; }
.legal-block a:hover { color: #fff; }
.legal-footer { padding: 24px 6vw; color: #a9a9a9; font: 400 14px/1.6 "OpenSans", sans-serif; }
.legal-shell a:focus-visible, .legal-shell button:focus-visible { outline: 2px solid #fff !important; outline-offset: 6px; }
@keyframes legal-enter { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1000px) {
  .legal-layout { grid-template-columns: 1fr 1.6fr; }
  .legal-image { display: none; }
  .legal-intro { padding-right: 24px; }
}
@media (max-width: 600px) {
  .legal-header { padding: 20px 24px; gap: 12px; }
  .legal-header img { max-width: 130px; }
  .legal-close { gap: 10px; font-size: 14px; letter-spacing: 1px; }
  .legal-layout { display: block; }
  .legal-intro { padding: 32px 24px 0; }
  .legal-intro h1 { font-size: 40px; margin-bottom: 12px; }
  .legal-copy { padding: 32px 24px; }
  .legal-footer { padding: 20px 24px; }
}
@media (prefers-reduced-motion: reduce) { .legal-overlay[open] { animation: none; } }
