:root { color-scheme: light; font-family: system-ui, sans-serif; color: #17263b; background: #f3f6fb; line-height: 1.6; }
* { box-sizing: border-box; }
body { margin: 0; }
header, footer { padding: 1rem max(1rem, calc((100% - 1080px) / 2)); background: #17263b; color: white; }
header { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem; }
header a { color: white; }
main { max-width: 1120px; margin: auto; padding: 1.25rem; }
section { margin-bottom: 1.5rem; padding: 1.5rem; background: white; border: 1px solid #d2dce9; border-radius: 12px; scroll-margin-top: 1rem; }
h1 { font-size: clamp(1.8rem, 4vw, 2.5rem); line-height: 1.2; }
h2, h3, h4 { line-height: 1.3; }
a { color: #234e98; text-underline-offset: 3px; }
button { padding: .65rem 1rem; border: 1px solid #234e98; border-radius: 6px; background: #234e98; color: white; font: inherit; cursor: pointer; }
button[aria-pressed="false"] { background: white; color: #234e98; }
button:disabled { background: #596777; border-color: #596777; cursor: default; }
:focus-visible { outline: 3px solid #bd5b00; outline-offset: 4px; }
.eyebrow { text-transform: uppercase; font-size: .8rem; letter-spacing: .06em; font-weight: 700; }
.notice, .case-card { padding: 1rem; background: #edf3ff; border-left: 4px solid #234e98; }
.brief-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.5rem; }
.brief-grid h2 { font-size: 1.15rem; }
.actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.agenda, .checklist { padding-left: 1.5rem; }
li { margin-bottom: .6rem; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: .95rem; }
th, td { text-align: left; vertical-align: top; padding: .8rem; border: 1px solid #d2dce9; }
thead { background: #edf3ff; }
caption { text-align: left; font-weight: 600; margin-bottom: .6rem; }
video { width: 100%; max-width: 960px; background: #17263b; }
summary { cursor: pointer; font-weight: 600; }
.print-only { display: none; }
@media (max-width: 620px) { .brief-grid { grid-template-columns: 1fr; } main { padding: .75rem; } section { padding: 1rem; } }
@media print {
  @page { size: A4; margin: 14mm; }
  body { background: white; font-size: 10pt; line-height: 1.35; }
  header, footer, main > section:not(#brief), .actions { display: none; }
  main, #brief { margin: 0; padding: 0; border: 0; }
  h1 { font-size: 23pt; }
  .brief-grid { grid-template-columns: 1fr 1fr; }
  .print-only { display: block; }
  a { color: #17263b; }
}
