/* legal.css - v1.1.0 - 2026-11-01 - Public legal subjects and the existing-brand media package. */
.legal-layout-wide { align-items: stretch; display: grid; gap: 16px; grid-template-columns: 1fr; min-width: 0; width: 100%; }
.legal-panel { align-content: start; align-self: start; background: #f0f1ee; border: 1px solid #87958e; border-radius: 8px; box-shadow: none; color: #202c33; display: grid; gap: 14px; min-width: 0; padding: 16px; }
.legal-box { align-self: stretch; background: #f0f1ee; border: 1px solid #87958e; border-radius: 8px; box-shadow: none; display: grid; gap: 14px; max-width: 100%; min-width: 0; padding: 16px; width: 100%; }
.legal-brand { align-items: center; display: flex; gap: 12px; min-width: 0; padding-top: 10px; }
.legal-logo { border-radius: 8px; display: block; flex: 0 0 auto; height: auto; max-width: 54px; }
.legal-brand-copy { display: grid; gap: 4px; min-width: 0; }
.legal-brand-name { color: #2b323b; display: block; font-size: small; font-weight: 800; letter-spacing: 0.04em; line-height: 1.2; min-width: 0; text-transform: uppercase; }
.legal-brand-tagline { color: #202c33; display: block; font-size: medium; font-weight: 700; line-height: 1.25; min-width: 0; }
.legal-panel-copy { color: #495c66; font-size: small; line-height: 1.6; margin: 0; min-width: 0; }
.legal-copy { color: #495c66; font-size: small; line-height: 1.6; margin: 0; min-width: 0; }
.legal-step-list { display: grid; gap: 9px; min-width: 0; }
.legal-step-item { align-items: center; background: #dce0dc; border: 1px solid #87958e; border-radius: 8px; color: #202c33; display: flex; gap: 10px; min-width: 0; padding: 10px 12px; }
.legal-step-number { align-items: center; background: #006b67; border-radius: 999px; color: #f7f9fb !important; fill: currentColor; display: inline-flex; font-size: small; font-weight: 800; height: 1.75rem; justify-content: center; min-width: 1.75rem; }
.legal-action-grid { display: grid; gap: 10px; grid-template-columns: 1fr; min-width: 0; }
.legal-create-account-link { align-items: center; background: #006b67; border: 1px solid #3b4552; border-radius: 8px; color: #f7f9fb !important; fill: currentColor; cursor: pointer; display: inline-flex; font: inherit; font-weight: 700; gap: 8px; justify-content: center; min-height: 40px; min-width: 0; overflow-wrap: anywhere; padding: 8px 12px; text-align: center; text-decoration: none; width: 100%; }
.legal-create-account-link:hover { background: #005550; }
.legal-create-account-link:focus-visible { box-shadow: none; outline: 2px solid #006b67;  outline-offset: 3px; }
.legal-return-link { align-items: center; background: #f0f1ee; border: 1px solid #667a83; border-radius: 8px; color: #202c33; display: inline-flex; font-size: small; font-weight: 700; gap: 8px; justify-content: center; min-height: 40px; min-width: 0; overflow-wrap: anywhere; padding: 8px 12px; text-align: center; text-decoration: none; }
.legal-return-link:hover { border-color: #2b323b; color: #2b323b; }
.legal-return-link:focus-visible { box-shadow: none; outline: 2px solid #006b67;  outline-offset: 3px; }
.legal-inline-link { color: #2b323b; font-weight: 700; text-decoration: none; }
.legal-inline-link:hover { color: #b02741; }
.legal-inline-link:focus-visible { border-radius: 6px; box-shadow: none; outline: 2px solid #006b67;  outline-offset: 3px; }
.legal-terms-list { display: grid; gap: 16px; min-width: 0; }
.legal-term { display: grid; gap: 8px; min-width: 0; }
.legal-term-title { color: #202c33; font-size: medium; font-weight: 800; line-height: 1.3; margin: 0; min-width: 0; }
.legal-term-copy { overflow-wrap: anywhere; color: #495c66; font-size: small; line-height: 1.65; margin: 0; min-width: 0; }
.legal-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; min-width: 0; }
.legal-nav-link { background: #f0f1ee; border: 1px solid #87958e; border-radius: 8px; color: #202c33; font-size: small; font-weight: 700; line-height: 1.5; overflow-wrap: anywhere; padding: 8px 12px; text-decoration: none; }
.legal-nav-link:hover { background: #dce0dc; }
.legal-nav-link[aria-current="page"] { background: #006b67; border-color: #006b67; color: #f7f9fb; }
.legal-nav-link:focus-visible { outline: 2px solid #006b67; outline-offset: 3px; }
/* Existing official media files and the reusable short description. */
.legal-media-figure { display: grid; gap: 12px; margin: 0; min-width: 0; }
.legal-media-mark { display: block; height: auto; max-width: 100%; width: 360px; }
.legal-media-description { border-left: 4px solid #006b67; color: #202c33; font-size: medium; line-height: 1.7; margin: 0; padding: 8px 16px; }
@media (min-width: 960px) {
.legal-layout-wide { grid-template-columns: minmax(18rem, 22rem) minmax(0, 1fr); }
}
