:root {
  color-scheme: light;
  --navy: #10294a;
  --navy-deep: #091a30;
  --gold: #c59845;
  --gold-pale: #f2e6c8;
  --paper: #f7f4ec;
  --ink: #172538;
  --muted: #536174;
  --line: #d8d2c5;
  font-family: "Segoe UI", "Noto Sans", Arial, sans-serif;
  background: var(--navy-deep);
  color: var(--ink);
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-width: 320px;
  background: linear-gradient(160deg, var(--navy) 0, var(--navy-deep) 42rem);
  color: var(--ink);
  line-height: 1.68;
}

a { color: #183e68; text-underline-offset: 0.2em; }
a:hover { color: #805b1b; }
a:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }

.shell {
  width: min(100% - 32px, 880px);
  margin: 0 auto;
  padding: 28px 0 64px;
}

.masthead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: #fff;
  padding: 8px 0 20px;
  border-bottom: 1px solid rgba(255,255,255,.2);
}

.brand {
  margin: 0;
  font: 700 1.12rem/1.2 Georgia, "Times New Roman", serif;
  letter-spacing: .01em;
}

.masthead .brand { color: #fff; text-decoration: none; }

.status {
  margin: 0;
  padding: 5px 10px;
  border: 1px solid rgba(242,230,200,.58);
  border-radius: 2px;
  color: #f4dfb3;
  font-size: .78rem;
}

.intro, .document {
  margin-top: 24px;
  padding: clamp(24px, 6vw, 60px);
  background: var(--paper);
  border-top: 4px solid var(--gold);
  box-shadow: 0 18px 50px rgba(0,0,0,.18);
}

.eyebrow {
  margin: 0 0 8px;
  color: #805b1b;
  font-size: .82rem;
  font-weight: 700;
}

h1, h2, h3 {
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.2;
}

h1 {
  max-width: 17ch;
  margin: 0 0 18px;
  font-size: clamp(2rem, 6vw, 3.35rem);
  letter-spacing: -.025em;
}

h2 { margin: 2.25rem 0 .7rem; font-size: 1.48rem; }
h3 { margin: 1.5rem 0 .5rem; font-size: 1.12rem; }
p { margin: .65rem 0 1rem; }
ul, ol { padding-left: 1.3rem; }
li { margin: .38rem 0; }

.lead {
  max-width: 66ch;
  margin: 0;
  color: #35465a;
  font-size: 1.06rem;
}

.documents {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-top: 18px;
  background: var(--gold);
  border: 1px solid var(--gold);
}

.documents a {
  display: flex;
  min-height: 168px;
  flex-direction: column;
  gap: 7px;
  padding: 24px;
  background: var(--paper);
  text-decoration: none;
}

.documents a:hover { background: #fffdf8; }
.documents strong { color: var(--navy); font: 700 1.3rem/1.3 Georgia, "Times New Roman", serif; }
.documents span:last-child { color: var(--muted); font-size: .93rem; }
.document-type { color: #805b1b; font-size: .8rem; font-weight: 700; }

.language-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 0 28px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
  font-size: .92rem;
}

.notice {
  margin: 1.5rem 0;
  padding: 14px 16px;
  border-left: 3px solid var(--gold);
  background: var(--gold-pale);
}

.notice strong { color: var(--navy); }
.document section + section { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--line); }
.document .opening { max-width: 68ch; color: #35465a; }
.document h1 { font-size: clamp(1.9rem, 5vw, 2.8rem); }
.document .locale-title { margin: 0 0 1rem; font-size: clamp(1.55rem, 4.4vw, 2.25rem); }
.document h2 { scroll-margin-top: 1rem; }
.document p, .document li { max-width: 72ch; }
.document footer { margin-top: 3rem; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .9rem; }
.footer { padding: 18px 4px 0; color: #f2e6c8; font-size: .9rem; }
.footer p { margin: 0; }

@media (max-width: 600px) {
  .shell { width: min(100% - 22px, 880px); padding-top: 14px; }
  .masthead { align-items: flex-start; flex-direction: column; gap: 10px; }
  .documents { grid-template-columns: 1fr; }
  .documents a { min-height: 0; padding: 20px; }
  .intro, .document { margin-top: 14px; padding: 24px 20px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
