/* Gamanet Legal Document v06 / Pandoc conversion package v06.4.
   PAGE GEOMETRY: same .gmn-document pattern as Corporate CSS v02.3.
   TYPOGRAPHY: isolate heading styles from Pandoc section wrappers (v06.4).
   Legal Word margins are retained; corporate heading colours/sizes are NOT used.
   One CSS file; no remote imports, scripts or embedded font data.
*/

:root {
  --gmn-page-width: 210mm;
  --gmn-page-height: 297mm;
  --gmn-margin-top: 17.4978mm;
  --gmn-margin-right: 25.4mm;
  --gmn-margin-bottom: 25.4mm;
  --gmn-margin-left: 25.4mm;
}
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body.gmn-page, body.gamanet-legal-page {
  margin: 0;
  padding: 24px 16px;
  background: #F2F4F6;
}

/* Fixed A4 paper on desktop, centred with border-box sizing. Literal fallbacks
   also work when a host strips custom properties. These plain selectors match
   the existing corporate shell as well as the Lua-produced body fragment.
   The page constraint is NEVER reset to an unlimited width on a nested sheet. */
.gmn-document, .legal-document, #legal-document,
#legal-document-body.gmn-document.legal-document {
  display: block !important;
  box-sizing: border-box !important;
  width: 210mm !important;
  width: var(--gmn-page-width, 210mm) !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 297mm;
  min-height: var(--gmn-page-height, 297mm);
  margin: 0 auto !important;
  padding: 17.4978mm 25.4mm 25.4mm !important;
  padding: var(--gmn-margin-top, 17.4978mm) var(--gmn-margin-right, 25.4mm)
           var(--gmn-margin-bottom, 25.4mm) var(--gmn-margin-left, 25.4mm) !important;
  background: #FFFFFF;
  box-shadow: 0 2px 16px #252B3214;
  overflow-wrap: break-word;
  flex: 0 1 auto !important;
  float: none !important;
}
.gmn-document, .gmn-document * { box-sizing: border-box; }

/* The standalone main is a bounded, unpadded shell. The body Div owns the
   margins, so extracting $body$ for a CMS keeps the SAME fixed-width page.
   The shell also contains Pandoc's native endnotes and the document footer.
   Legacy corporate/legal main wrappers are handled ONLY when their direct
   child is the new legal body. No general descendant width:100% override. */
main.gmn-document.legal-document-shell,
main.gmn-document:has(> #legal-document-body),
main#legal-document:has(> #legal-document-body) {
  min-height: 0 !important;
  padding: 0 !important;
}
main.gmn-document.legal-document-shell > #legal-document-body,
main.gmn-document > #legal-document-body,
main#legal-document > #legal-document-body {
  box-shadow: none;
}

:is(#legal-document, #legal-document-body.legal-document, .legal-document) {
  --legal-font: "Noto Sans", sans-serif;
  --legal-body-size: 11pt;
  --legal-article-size: 11pt;
  --legal-title-size: 15pt;
  --legal-table-size: 10pt;
  --legal-text-size: var(--legal-body-size);
  --legal-ink: #000000;
  --legal-muted: #666666;
  --legal-border: #d0d0d0;
  --legal-table-head: #f2f2f2;
  /* Word auto line spacing is 259/240 of the font's single line, not
     1.079 CSS em. Noto Sans hhea is 1362/1000 em: 1.362*259/240=1.469825. */
  --legal-line-height: 1.469825;
  color: var(--legal-ink);
  background: #ffffff;
  font-family: var(--legal-font) !important;
  font-size: var(--legal-text-size) !important;
  font-weight: 400;
  font-style: normal;
  line-height: var(--legal-line-height);
  text-align: justify;
  text-transform: none;
  letter-spacing: normal;
  hyphens: manual;
  overflow-wrap: break-word;
  font-synthesis: none;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* Do not inherit list typography from the hosting CMS. The previous version
   fixed h2 and table sizes but allowed a host's li/p rule to enlarge clauses.
   Every block receives an explicit local size; small/table/title components
   change --legal-text-size below. !important is deliberately limited to the
   layout/font contract within this document, not to the surrounding website. */
:is(#legal-document, #legal-document-body.legal-document, .legal-document) :where(div, section, p, ol, ul, li, h1, h2, h3, h4, h5, h6,
                       table, thead, tbody, tfoot, tr, th, td, caption, figcaption, footer) {
  font-family: var(--legal-font) !important;
  font-size: var(--legal-text-size) !important;
  line-height: var(--legal-line-height) !important;
}
:is(#legal-document, #legal-document-body.legal-document, .legal-document) :where(p, span, a, strong, b, em, i, u, s) {
  font-family: var(--legal-font) !important;
}
:is(#legal-document, #legal-document-body.legal-document, .legal-document) :where(span, a, strong, b, em, i, u, s) {
  font-size: inherit !important;
}
:is(#legal-document, #legal-document-body.legal-document, .legal-document) p { font-weight: inherit !important; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) :where(strong, b) { font-weight: 700 !important; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) :where(em, i) { font-style: italic !important; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-list,
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-list > :is(ol, ul),
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-list > :is(ol, ul) > li {
  font-family: var(--legal-font) !important;
  font-size: var(--legal-text-size) !important;
  font-weight: 400 !important;
  font-style: normal;
}
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-list > :is(ol, ul) > li::marker {
  font-family: var(--legal-font) !important;
  font-size: 1em !important;
  font-weight: 400 !important;
}

:is(#legal-document, #legal-document-body.legal-document, .legal-document) *, :is(#legal-document, #legal-document-body.legal-document, .legal-document) *::before, :is(#legal-document, #legal-document-body.legal-document, .legal-document) *::after { box-sizing: border-box; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) p { margin: 0 0 6pt; font: inherit; text-align: inherit; widows: 2; orphans: 2; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) strong, :is(#legal-document, #legal-document-body.legal-document, .legal-document) b { font-weight: 700; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) em, :is(#legal-document, #legal-document-body.legal-document, .legal-document) i { font-style: italic; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) a { color: inherit; text-decoration: underline; text-underline-offset: 0.12em; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) img, :is(#legal-document, #legal-document-body.legal-document, .legal-document) svg { max-width: 100%; height: auto; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) figure { margin: 6pt 0; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) figcaption { --legal-text-size: 9.5pt; font-size: var(--legal-text-size); }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) sup { font-size: 0.75em; line-height: 0; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) sub { font-size: 0.75em; line-height: 0; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) [id] { scroll-margin-top: 12pt; }

/* The body already contains the title; the HTML5 template adds no second title.
   v06.4: --section-divs copies a heading's classes onto its enclosing section.
   Heading-specific size, alignment, margins and page-break rules therefore use
   h1-h6 selectors. A section carrying .legal-title must NOT pass 15pt to the
   Opening statement, Customers heading or other ordinary body paragraphs. */
:is(#legal-document, #legal-document-body.legal-document, .legal-document) h1, :is(#legal-document, #legal-document-body.legal-document, .legal-document) h2, :is(#legal-document, #legal-document-body.legal-document, .legal-document) h3,
:is(#legal-document, #legal-document-body.legal-document, .legal-document) h4, :is(#legal-document, #legal-document-body.legal-document, .legal-document) h5, :is(#legal-document, #legal-document-body.legal-document, .legal-document) h6 {
  font-family: var(--legal-font);
  color: var(--legal-ink);
  font-size: 11pt;
  font-weight: 700;
  font-style: normal;
  line-height: var(--legal-line-height);
  letter-spacing: normal;
  border: 0;
  padding: 0;
  background: transparent;
  text-transform: none;
  break-after: avoid-page;
  page-break-after: avoid;
  break-inside: avoid;
}
:is(#legal-document, #legal-document-body.legal-document, .legal-document) :is(h1, h2, h3, h4, h5, h6).legal-title { --legal-text-size: var(--legal-title-size); font-size: var(--legal-text-size); text-align: center; margin: 0 0 10pt; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-brand { --legal-text-size: 9pt; font-size: var(--legal-text-size); font-weight: 700; text-align: center; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-brand > p { margin: 0 0 8pt; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-subtitle { --legal-text-size: 10.5pt; font-size: var(--legal-text-size); text-align: center; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-subtitle > p { margin: 0 0 15pt; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) :is(h1, h2, h3, h4, h5, h6).legal-article { --legal-text-size: var(--legal-article-size); text-align: center; margin: 14pt 0 9pt; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) :is(h1, h2, h3, h4, h5, h6).legal-article.legal-first-article { margin-top: 14pt; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-section-number { white-space: nowrap; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) :is(h1, h2, h3, h4, h5, h6).legal-front-heading { --legal-text-size: var(--legal-body-size, 11pt); text-align: left; margin: 12pt 0 7pt; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) :is(h1, h2, h3, h4, h5, h6).legal-section-heading { --legal-text-size: var(--legal-body-size, 11pt); text-align: center; margin: 0 0 12pt; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) :is(h1, h2, h3, h4, h5, h6).legal-annex-heading { --legal-text-size: var(--legal-body-size, 11pt); text-align: center; margin: 0 0 10pt; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-note { --legal-text-size: 9.5pt; font-size: var(--legal-text-size); color: var(--legal-muted); text-align: left; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-note > p { margin: 3pt 0 7pt; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-small { --legal-text-size: 9.5pt; font-size: var(--legal-text-size); text-align: left; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-small > p { margin: 0 0 3pt; }
/* Body Text is a normal legal paragraph, not a title/lead paragraph.
   Its local size also protects it when embedded in a CMS introduction block. */
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-body-text {
  --legal-text-size: var(--legal-body-size, 11pt);
  font-size: var(--legal-text-size) !important;
  font-weight: 400;
  text-align: justify;
}
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-body-text > p { margin: 0 0 6pt; }

/* Template paragraph wrappers contain no heading-size or bold default. */
:is(#legal-document, #legal-document-body.legal-document, .legal-document) :is(.legal-body-text, .legal-clause,
    .legal-subclause, .legal-sub-subclause, .legal-bullet, .legal-bullet-2,
    .legal-clause-continuation) {
  font-weight: 400;
  font-style: normal;
}

/* Real <ol>/<ul>/<li>, not empty pseudo-element labels or JavaScript counters.
   Explicit display/list-style rules protect numbering from common CMS resets.
   An ordered list's start attribute preserves numbering across interruptions. */
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-list { margin: 0; padding: 0; font-weight: 400; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-list > ol, :is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-list > ul {
  margin: 0;
  padding-block: 0;
  padding-inline-end: 0;
  padding-inline-start: var(--legal-list-offset, 18.45pt);
  list-style-position: outside;
  font-weight: 400;
}
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-list > ol > li, :is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-list > ul > li {
  display: list-item;
  margin: 0 0 7pt;
  padding: 0;
  font-weight: 400;
  text-align: justify;
  line-height: var(--legal-line-height);
  widows: 2;
  orphans: 2;
}
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-list > ol > li::marker, :is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-list > ul > li::marker {
  color: var(--legal-ink);
  font-family: var(--legal-font);
  font-size: 1em;
  font-weight: 400;
  font-variant-numeric: tabular-nums;
}
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-list-clause > ol,
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-list-annexclause > ol { list-style-type: decimal; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-list-clause > ol > li::marker,
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-list-annexclause > ol > li::marker { content: counter(list-item, decimal) ". "; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-list-subclause > ol,
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-list-annexsubclause > ol { list-style-type: lower-alpha; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-list-subclause > ol > li::marker,
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-list-annexsubclause > ol > li::marker { content: counter(list-item, lower-alpha) ") "; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-list-subsubclause > ol { list-style-type: lower-roman; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-list-subsubclause > ol > li::marker { content: counter(list-item, lower-roman) ") "; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-list-bullet > ul { list-style-type: disc; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-list-bullet > ul > li::marker { content: "\2022\0020"; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-list-bullet2 > ul { list-style-type: square; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-list-bullet2 > ul > li::marker { content: "\2013\0020"; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-clause > p,
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-subclause > p,
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-sub-subclause > p,
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-bullet > p,
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-bullet-2 > p { margin: 0; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-list li > .legal-list { margin-top: 7pt; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-list li > .legal-list:last-child > ol > li:last-child,
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-list li > .legal-list:last-child > ul > li:last-child { margin-bottom: 0; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-clause-continuation > p { margin: 7pt 0 0; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) > .legal-clause-continuation { margin-inline-start: 18.45pt; }

/* Word table cell padding: vertical 80 twips, horizontal 100 twips.
   No zebra stripes. Non-header first rows stay unshaded and keep mixed weight. */
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-table-wrap { width: 100%; margin: 0 0 6pt; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-table {
  --legal-text-size: var(--legal-table-size);
  width: 100%;
  max-width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
  font-family: var(--legal-font);
  font-size: 10pt;
  font-weight: 400;
  line-height: var(--legal-line-height);
  text-align: left;
  color: var(--legal-ink);
  background: #ffffff;
}
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-table > colgroup > col:nth-child(1) { width: var(--legal-col-1, auto) !important; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-table > colgroup > col:nth-child(2) { width: var(--legal-col-2, auto) !important; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-table > colgroup > col:nth-child(3) { width: var(--legal-col-3, auto) !important; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-table > colgroup > col:nth-child(4) { width: var(--legal-col-4, auto) !important; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-table > colgroup > col:nth-child(5) { width: var(--legal-col-5, auto) !important; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-table > colgroup > col:nth-child(6) { width: var(--legal-col-6, auto) !important; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-table > colgroup > col:nth-child(7) { width: var(--legal-col-7, auto) !important; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-table > colgroup > col:nth-child(8) { width: var(--legal-col-8, auto) !important; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-table > colgroup > col:nth-child(9) { width: var(--legal-col-9, auto) !important; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-table > colgroup > col:nth-child(10) { width: var(--legal-col-10, auto) !important; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-table > colgroup > col:nth-child(11) { width: var(--legal-col-11, auto) !important; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-table > colgroup > col:nth-child(12) { width: var(--legal-col-12, auto) !important; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-entity-register tr > :first-child { white-space: nowrap; overflow-wrap: normal; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-table th, :is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-table td {
  padding: 4pt 5pt;
  border: 0.5pt solid var(--legal-border);
  height: auto;
  vertical-align: middle;
  text-align: left;
  color: var(--legal-ink);
  font-weight: 400;
  overflow-wrap: anywhere;
  background: #ffffff;
}
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-table thead th {
  font-weight: 700;
  background: var(--legal-table-head);
}
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-table thead { display: table-header-group; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-table tr { break-inside: avoid; page-break-inside: avoid; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-table-text, :is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-table-header { --legal-text-size: var(--legal-table-size); font-size: var(--legal-text-size); text-align: left; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-table-text > p, :is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-table-header > p,
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-table p { margin: 0 0 1pt; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-table-header { font-weight: 700; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-table .legal-list > ol > li,
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-table .legal-list > ul > li { text-align: left; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-table caption { --legal-text-size: 9.5pt; font-size: var(--legal-text-size); text-align: left; margin-bottom: 4pt; }

/* Word footnotes become linked HTML endnotes; their text is not dropped. */
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .footnotes { --legal-text-size: 9pt; font-size: var(--legal-text-size); line-height: var(--legal-line-height); margin-top: 18pt; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .footnotes hr { width: 30%; margin: 0 0 6pt; border: 0; border-top: 0.5pt solid #000000; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .footnotes ol { padding-inline-start: 18.45pt; list-style: decimal outside; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .footnotes li { display: list-item; font-weight: 400; margin-bottom: 6pt; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .footnotes li::marker { color: #000000; font-weight: 400; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .footnote-ref { text-decoration: none; }
:is(#legal-document, #legal-document-body.legal-document, .legal-document) .legal-document-footer {
  --legal-text-size: 8pt;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12pt;
  margin-top: 24pt;
  color: var(--legal-muted);
  font: 400 8pt/1.469825 var(--legal-font);
  text-align: left;
}

/* Native endnotes emitted after a fragment stay at the same A4 width. */
#legal-document-body + section.footnotes {
  display: block;
  box-sizing: border-box !important;
  width: 210mm !important;
  width: var(--gmn-page-width, 210mm) !important;
  max-width: 100% !important;
  min-width: 0;
  margin: 0 auto !important;
  padding: 18pt var(--gmn-margin-right, 25.4mm) var(--gmn-margin-bottom, 25.4mm)
          var(--gmn-margin-left, 25.4mm);
  background: #FFFFFF;
  color: #000000;
  font: 400 9pt/1.469825 "Noto Sans", sans-serif;
  text-align: left;
}
#legal-document-body + section.footnotes :where(p, li, ol, div, span, a) {
  font-family: "Noto Sans", sans-serif !important;
  font-size: 9pt !important;
  line-height: 1.469825 !important;
  font-weight: 400;
}
#legal-document-body + section.footnotes p { margin: 0 0 6pt; }
#legal-document-body + section.footnotes ol { padding-inline-start: 18.45pt; list-style: decimal outside; }
#legal-document-body + section.footnotes li { display: list-item; }
#legal-document-body + section.footnotes hr { width: 30%; margin: 0 0 6pt; border: 0; border-top: 0.5pt solid #000000; }
#legal-document-body.gmn-document.legal-document:has(+ section.footnotes),
main.legal-document-shell:has(> .legal-document-footer) > #legal-document-body.gmn-document.legal-document {
  padding-bottom: 0 !important;
}
main.legal-document-shell > #legal-document-body + section.footnotes { padding-bottom: 0; }

/* A footer belongs to the page shell, not to the host's full-width viewport. */
main.legal-document-shell > .legal-document-footer {
  display: flex;
  justify-content: space-between;
  gap: 12pt;
  box-sizing: border-box;
  margin: 0;
  padding: 24pt var(--gmn-margin-right, 25.4mm) var(--gmn-margin-bottom, 25.4mm)
          var(--gmn-margin-left, 25.4mm);
  background: #FFFFFF;
  color: #666666;
  font: 400 8pt/1.469825 "Noto Sans", sans-serif;
  text-align: left;
}
main.legal-document-shell > .legal-document-footer span {
  font: inherit !important;
}

/* Legal documents do not have Contents. */
.legal-document #TOC, .legal-document nav[role="doc-toc"] { display: none; }

/* Same narrow-screen breakpoint and gutter approach as Corporate v02.3.
   Only small viewports use full AVAILABLE width; desktop stays 210 mm. */
@media screen and (max-width: 840px) {
  body.gmn-page, body.gamanet-legal-page { padding: 0; }
  .gmn-document, .legal-document, #legal-document,
  #legal-document-body.gmn-document.legal-document {
    width: 100% !important;
    min-height: 100vh;
    padding: 24px clamp(14px, 4vw, 25.4mm) !important;
    box-shadow: none;
  }
  main.gmn-document.legal-document-shell,
  main.gmn-document:has(> #legal-document-body),
  main#legal-document:has(> #legal-document-body) {
    min-height: 0 !important;
    padding: 0 !important;
  }
  #legal-document-body + section.footnotes {
    width: 100% !important;
    padding: 18pt clamp(14px, 4vw, 25.4mm) 24px;
  }
  main.legal-document-shell > .legal-document-footer {
    padding: 24pt clamp(14px, 4vw, 25.4mm) 24px;
  }
  .legal-document .legal-table-wrap { overflow-x: auto; }
  .legal-document .legal-table { min-width: 601.75px; }
}

@page {
  size: A4;
  margin: 17.4978mm 25.4mm 25.4mm;
  @bottom-left {
    font-family: "Noto Sans", sans-serif;
    font-size: 8pt;
    font-weight: 400;
    color: #666666;
    text-align: left;
    vertical-align: middle;
  }
  @bottom-center {
    content: "Page " counter(page) " of " counter(pages);
    font-family: "Noto Sans", sans-serif;
    font-size: 8pt;
    font-weight: 400;
    color: #666666;
    vertical-align: middle;
  }
  @bottom-right {
    font-family: "Noto Sans", sans-serif;
    font-size: 8pt;
    font-weight: 400;
    color: #666666;
    text-align: right;
    vertical-align: middle;
  }
}
@media print {
  html, body.gmn-page, body.gamanet-legal-page {
    margin: 0;
    padding: 0;
    background: #FFFFFF;
  }
  .gmn-document, .legal-document, #legal-document,
  #legal-document-body.gmn-document.legal-document {
    width: auto !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
  }
  .legal-document, .legal-document * {
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
  .legal-document :is(h1, h2, h3, h4, h5, h6).legal-first-article,
  .legal-document :is(h1, h2, h3, h4, h5, h6).legal-section-heading,
  .legal-document :is(h1, h2, h3, h4, h5, h6).legal-annex-heading {
    break-before: page;
    page-break-before: always;
    margin-top: 0;
  }
  .legal-document .legal-table-wrap { overflow: visible; }
  .legal-document .legal-table { min-width: 0; }
  .legal-document .legal-document-footer,
  main.legal-document-shell > .legal-document-footer { display: none; }
  #legal-document-body + section.footnotes {
    width: auto !important;
    max-width: none !important;
    margin: 18pt 0 0 !important;
    padding: 0 !important;
  }
  .legal-document a { color: #000000; }
}
