/* Shared styles for the policy pages. Colours match index.html. */
:root{
  --navy:#091A38; --navy-line:#1D3054; --amber:#F5A03C; --rust:#C45E36;
  --cream:#F6F1E8; --stone:#B9C0D0; --ink:#14213D; --ink-soft:#4A5568;
  --pad:clamp(1.5rem, 5vw, 4rem);
}
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
  margin:0; background:var(--cream); color:var(--ink);
  font-family:"Source Sans 3", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size:1.1875rem; line-height:1.75; -webkit-font-smoothing:antialiased;
  /* keep the footer at the bottom when a page is short */
  min-height:100vh; display:flex; flex-direction:column;
}
main{ flex:1; }
a{ color:var(--rust); text-underline-offset:3px; }
:focus-visible{ outline:3px solid var(--amber); outline-offset:3px; border-radius:2px; }
.wrap{ width:min(72rem, 100%); margin-inline:auto; padding-inline:var(--pad); }

/* Header */
.site-head{ background:var(--navy); padding-block:1.4rem; }
.site-head a{
  display:inline-block; padding-block:.35rem;
  font-family:Newsreader, Georgia, serif; font-weight:600;
  font-size:1.4rem; color:var(--cream); text-decoration:none;
}

/* Document body — sized for long legal text */
.doc{ padding-block:clamp(3rem, 8vw, 5rem) clamp(4rem, 10vw, 6rem); }
.doc-inner{ max-width:46rem; }
.doc h1{
  font-family:Newsreader, Georgia, serif; font-weight:600;
  font-size:clamp(2.2rem, 5vw, 3.2rem); line-height:1.1;
  letter-spacing:-.015em; margin:0 0 .6rem;
}
.doc .updated{ color:var(--ink-soft); font-size:1rem; margin:0 0 2.5rem; }
.doc h2{
  font-family:Newsreader, Georgia, serif; font-weight:600;
  font-size:1.6rem; line-height:1.2; margin:2.75rem 0 .75rem;
}
.doc h3{ font-size:1.2rem; font-weight:700; margin:2rem 0 .5rem; }
.doc p, .doc li{ max-width:65ch; }
.doc p{ margin:0 0 1.1em; }
.doc ul, .doc ol{ padding-left:1.3rem; margin:0 0 1.2em; }
.doc li{ margin-bottom:.4em; }
.doc table{ width:100%; border-collapse:collapse; margin:1rem 0 1.5rem; font-size:1rem; }
.doc th, .doc td{ text-align:left; padding:.6rem .75rem; border-bottom:1px solid rgba(20,33,61,.15); vertical-align:top; }
.doc .table-scroll{ overflow-x:auto; }

/* Placeholder notice — delete with the placeholder text */
.pending{
  background:#fff; border-left:3px solid var(--amber);
  padding:1.4rem 1.6rem; margin:0; max-width:46rem;
}
.pending p:last-child{ margin-bottom:0; }

/* Footer */
footer{ background:var(--navy); color:var(--stone); padding-block:2.75rem 3rem; }
.foot-main{
  display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline;
  gap:.75rem 2rem; font-size:1.125rem;
}
footer a{ color:var(--amber); display:inline-block; padding-block:.4rem; }
.legal-links{
  display:flex; flex-wrap:wrap; gap:.25rem 1.6rem;
  list-style:none; margin:1.4rem 0 0; padding:1.2rem 0 0;
  border-top:1px solid var(--navy-line); font-size:1rem;
}
.legal-links a{ color:var(--stone); }
.legal-links a:hover, .legal-links a[aria-current="page"]{ color:var(--cream); }
.fine{ margin-top:1rem; font-size:.95rem; color:#7C879F; }
