/* Core theme for the public legal pages; brand tokens load first. */
body { margin: 0; }
main, header, footer { width: min(100%,850px); margin: auto; padding: 32px 24px; }
header, footer { display: flex; align-items: center; gap: 24px; justify-content: space-between; flex-wrap: wrap; }
.brand { padding-block: 16px; }.brand img { display: block; width: 155px; height: auto; }
main { line-height: 26px; min-height: 65vh; overflow-wrap: anywhere; }
h1 { font: 700 clamp(32px,5vw,52px)/1.2 var(--tw-display); }
h2 { font: 700 23px/1.3 var(--tw-display); margin-top: 40px; }
a { color: inherit; text-underline-offset: 3px; }
header > a, footer a { display: inline-flex; align-items: center; min-height: 44px; }
address { font-style: normal; }p { max-width: 70ch; }
footer { border-top: 1px solid var(--tw-line); font-size: 14px; }
.notice { border: 2px solid var(--tw-ink); border-radius: var(--tw-radius-card); padding: 4px 24px 16px; margin-top: 40px; }
.notice h2 { margin-top: 16px; }
.stand { color: var(--tw-muted); }
