/* Public bare-act pages (generated by scripts/build-act-pages.mjs). */
@font-face { font-family: 'Inter'; font-weight: 400; font-display: swap; src: url('/fonts/inter-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-weight: 600; font-display: swap; src: url('/fonts/inter-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-weight: 700; font-display: swap; src: url('/fonts/inter-latin-700-normal.woff2') format('woff2'); }
@font-face { font-family: 'Source Serif 4'; font-weight: 400 700; font-display: swap; src: url('/fonts/source-serif-4-latin-opsz-normal.woff2') format('woff2'); }

:root {
  --brand: #215dcc; --brand2: #4934b8; --gold: #f4c86a;
  --bg: #f6f7f9; --card: #ffffff; --ink: #111827; --muted: #5b6577; --line: #e2e8f0;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root { --brand: #6b9cf0; --bg: #0b1222; --card: #111a2e; --ink: #e8edf6; --muted: #9aa6bb; --line: #26324a; color-scheme: dark; }
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 400 17px/1.7 Inter, system-ui, sans-serif; }
a { color: var(--brand); }

.top { position: sticky; top: 0; z-index: 5; display: flex; align-items: center; gap: 1rem; padding: .7rem max(1rem, calc((100vw - 900px) / 2)); background: var(--card); border-bottom: 1px solid var(--line); }
.brand { display: flex; align-items: center; gap: .5rem; color: var(--ink); text-decoration: none; font: 700 1.2rem 'Source Serif 4', Georgia, serif; }
.top nav { display: flex; gap: .5rem; margin-left: auto; }
.top nav a { padding: .5rem 1.05rem; border-radius: 999px; font-weight: 700; font-size: .92rem; text-decoration: none; }
.join { color: #fff; background: linear-gradient(135deg, #215dcc, #4934b8); }
.signin { color: var(--brand); border: 2px solid var(--brand); }

main { width: min(900px, calc(100% - 2rem)); margin: 0 auto; padding: 1.5rem 0 3rem; }
.crumbs { font-size: .88rem; color: var(--muted); }
.crumbs a { text-decoration: none; }
.eyebrow { margin: 1.25rem 0 .25rem; color: var(--brand); font-size: .8rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
h1 { margin: 0; font: 700 clamp(1.7rem, 4.5vw, 2.5rem)/1.15 'Source Serif 4', Georgia, serif; }
.chapter { margin: .5rem 0 0; color: var(--muted); font-size: .95rem; }
.lede { color: var(--muted); font-size: 1.1rem; }

.text { margin-top: 1.5rem; padding: 1.5rem 1.75rem; background: var(--card); border: 1px solid var(--line); border-radius: 16px; font-family: 'Source Serif 4', Georgia, serif; font-size: 1.12rem; }
.text p { margin: 0 0 .9rem; }
.text p.clause { padding-left: 1.5rem; }
.text p.note { padding-left: .75rem; border-left: 3px solid var(--line); color: var(--muted); }

.old-law { margin-top: 1rem; padding: 1rem 1.25rem; border-radius: 14px; background: color-mix(in srgb, var(--brand) 8%, var(--card)); border: 1px solid color-mix(in srgb, var(--brand) 30%, var(--line)); }
.old-law h2 { margin: 0 0 .25rem; font-size: 1rem; }
.old-law p { margin: 0; } .small { font-size: .88rem; color: var(--muted); margin-top: .4rem !important; }

.cta { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin: 1.5rem 0; padding: 1.25rem 1.5rem; border-radius: 16px; color: #fff; background: linear-gradient(160deg, #173b7a, #215dcc 55%, #4934b8); }
.cta > div:first-child { flex: 1 1 300px; } .cta strong { display: block; font-size: 1.1rem; } .cta span { opacity: .85; font-size: .93rem; }
.cta-buttons { display: flex; flex-wrap: wrap; gap: .6rem; }
.cta-buttons a { padding: .7rem 1.3rem; border-radius: 999px; font-weight: 700; text-decoration: none; }
.cta .primary { color: #173b7a; background: var(--gold); } .cta .ghost { color: #fff; border: 2px solid #fff; }

.pager { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1rem; font-size: .93rem; }
.pager a { max-width: 48%; text-decoration: none; } .pager .next { text-align: right; margin-left: auto; }
.source { margin-top: 1.5rem; color: var(--muted); font-size: .86rem; }

.toc { margin-top: 1.5rem; } .toc h2 { font-size: 1.05rem; margin: 0 0 .5rem; }
.toc ol { list-style: none; margin: 0; padding: 0; background: var(--card); border: 1px solid var(--line); border-radius: 14px; }
.toc li a { display: block; padding: .55rem 1rem; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; font-size: .96rem; }
.toc li:last-child a { border-bottom: 0; } .toc li a:hover { background: color-mix(in srgb, var(--brand) 7%, transparent); }
.toc b { color: var(--brand); margin-right: .35rem; }

.acts { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; margin-top: 1.5rem; }
.act { display: flex; flex-direction: column; gap: .3rem; padding: 1.25rem; border-radius: 16px; background: var(--card); border: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.act b { font: 700 1.6rem 'Source Serif 4', Georgia, serif; color: var(--brand); } .act small { color: var(--muted); }

footer { padding: 1.5rem max(1rem, calc((100vw - 900px) / 2)) 2.5rem; color: var(--muted); font-size: .85rem; border-top: 1px solid var(--line); }
footer p { margin: .3rem 0; }
@media (max-width: 600px) {
  body { font-size: 16px; } .text { padding: 1rem; font-size: 1.05rem; }
  .top nav a { padding: .42rem .8rem; font-size: .85rem; } .brand span { font-size: 1.05rem; }
  .pager { flex-direction: column; } .pager a { max-width: 100%; } .pager .next { text-align: left; margin-left: 0; }
}
