/* FGLaw — shared legal-document template. Font families inherited from Astra. */
.fg-legal { background: var(--fg-color-paper); color: var(--fg-color-ink); }
.fg-legal__hero { padding: clamp(4rem, 8vw, 8.5rem) 0 clamp(3.5rem, 7vw, 6.5rem); background: var(--fg-color-wine); color: var(--fg-color-paper); }
.fg-legal__hero-grid { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(13rem, .7fr); align-items: end; gap: clamp(2rem, 6vw, 7rem); }
.fg-legal__eyebrow, .fg-legal__aside-label { font-size: .72rem; text-transform: uppercase; letter-spacing: .2em; }
.fg-legal__eyebrow { color: var(--fg-color-sand); margin-bottom: 1.6rem; }
.fg-legal__hero h1 { color: var(--fg-color-paper); font-size: clamp(3.3rem, 8vw, 8.5rem); line-height: .96; overflow-wrap: anywhere; }
.fg-legal__hero-note { max-width: 23rem; padding-left: 1.5rem; border-left: 1px solid var(--fg-color-sand); color: var(--fg-color-paper); font-size: clamp(.98rem, 1.2vw, 1.2rem); }
.fg-legal__layout { display: grid; grid-template-columns: minmax(12rem, 1fr) minmax(0, 3fr); gap: clamp(2rem, 6vw, 8rem); padding-top: clamp(3.5rem, 8vw, 8rem); padding-bottom: clamp(5rem, 10vw, 10rem); }
.fg-legal__aside { align-self: start; position: sticky; top: 2rem; border-top: 1px solid var(--fg-color-line-strong); padding-top: 1.2rem; }
.fg-legal__aside-label { margin-bottom: 1.8rem; color: var(--fg-color-ink-soft); }
.fg-legal__aside nav { display: flex; flex-direction: column; gap: .85rem; }
.fg-legal__aside a { display: inline-block; width: fit-content; color: var(--fg-color-wine); text-underline-offset: .3em; }
.fg-legal__aside a[aria-current="page"] { text-decoration-thickness: 2px; font-weight: 600; }
.fg-legal__content { width: 100%; max-width: 47rem; min-width: 0; overflow-wrap: anywhere; }
.fg-legal__content :is(h2,h3,h4) { color: var(--fg-color-wine); line-height: 1.12; scroll-margin-top: 5rem; }
.fg-legal__content h2 { font-size: clamp(1.85rem, 3vw, 2.8rem); border-top: 1px solid var(--fg-color-line-strong); padding-top: 1.5rem; margin-top: 3.2rem; margin-bottom: 1.5rem; }
.fg-legal__content h3 { font-size: clamp(1.3rem, 2vw, 1.8rem); margin: 2rem 0 1rem; }
.fg-legal__content :is(p,li) { line-height: 1.8; }
.fg-legal__content :is(ul,ol) { padding-left: 1.5rem; margin: 0 0 1.5rem; }
.fg-legal__content a { color: var(--fg-color-wine); text-decoration: underline; }
.fg-legal__content a:focus-visible, .fg-legal__aside a:focus-visible { outline: 3px solid var(--fg-color-wine); outline-offset: 4px; }
.fg-legal__content table { display: block; overflow-x: auto; max-width: 100%; border-collapse: collapse; }
.fg-legal__content :is(th,td) { border: 1px solid var(--fg-color-line-strong); padding: .8rem; text-align: left; }
.fg-legal__empty { border: 1px solid var(--fg-color-line-strong); padding: 1.5rem; }
@media (max-width: 767px) { .fg-legal__hero-grid,.fg-legal__layout { grid-template-columns: 1fr; } .fg-legal__hero-note { max-width: 30rem; } .fg-legal__aside { position: static; } .fg-legal__aside nav { flex-direction: row; flex-wrap: wrap; gap: 1.5rem; } }
