/* Shared legal pages stylesheet - loaded only by the privacy and terms pages */

:root{
  --legal-ink:#22303B;
  --legal-paper:#EFE9DE;
  --legal-ochre:#B9802A;
  --legal-green:#3D5B4A;
  --legal-line:#CFC6B5;
  --legal-card:#FBF9F4;
}

*{box-sizing:border-box;margin:0;padding:0;}

html,body{
  background:var(--legal-paper);
}

body{
  font-family:Georgia,'Times New Roman',serif;
  font-size:16px;
  line-height:1.75;
  color:var(--legal-ink);
  background:var(--legal-paper);
  margin:0;
  padding:0;
  overflow-x:hidden;
}

a{color:#84571E;text-decoration:underline;text-underline-offset:3px;}
a:hover{color:var(--legal-green);}

h1,h2,h3,h4,h5,h6{
  font-family:'Trebuchet MS','Helvetica Neue',Helvetica,Arial,sans-serif;
  color:var(--legal-ink);
}

/* Scope isolation: any page that includes legal.css may also carry nav and
   footer styling from the site stylesheet. This rule resets every content
   section to a transparent, unstyled background so the legal document keeps
   a clean reading pane regardless of host page chrome. */
.legal-page .legal-content section{
  background:transparent !important;
}

.legal-page .legal-content{
  background:transparent;
}

/* Legal document wrap - max-width blocks must centre themselves and pad the
   narrow gutter so long content never touches the viewport edges. */
.legal-content{
  max-width:900px;
  margin:0 auto;
  padding:0 24px;
}

.legal-copy .legal-block{
  max-width:892px;
  margin:0 auto;
  padding:0 24px;
}

/* Legal header: a solid panel that keeps strong contrast between the paper
   band below and the ink used for the main title. */
.legal-header{
  background:#22303B;
  padding:52px 0 40px;
}

.legal-header .legal-hwrap{
  max-width:900px;
  margin:0 auto;
  padding:0 24px;
}

.legal-header .legal-brand{
  font-family:'Trebuchet MS',sans-serif;
  font-size:13px;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:#C9A25C;
  margin-bottom:18px;
}

.legal-header .legal-brand .dot{
  color:#4E6E52;
  font-weight:800;
  margin-left:6px;
}

.legal-header h1{
  font-size:42px;
  line-height:1.15;
  color:#FBF9F4;
  margin-bottom:14px;
}

.legal-header .legal-sub{
  font-size:16px;
  color:#EFE7D7;
  max-width:720px;
}

.legal-meta{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid #44525E;
  font-family:'Courier New',monospace;
  font-size:13px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#CBBFA9;
}

.legal-meta .mmeta{
  color:#FBF9F4;
  font-weight:800;
}

.legal-welcome{
  background:#F7F2E7;
  border-left:6px solid #B9802A;
  padding:24px 28px;
  margin:34px 0 24px;
}

.legal-welcome p{
  font-size:17px;
  color:#22303B;
}

/* Table of contents block */
.legal-toc{
  max-width:900px;
  margin:30px auto 0;
  padding:28px 30px;
  background:#FBF9F4;
  border:1px solid var(--legal-line);
}

.legal-toc h2{
  font-size:15px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:#84571E;
  margin-bottom:16px;
  border-bottom:2px dashed #D9CFBC;
  padding-bottom:10px;
}

.legal-toc-list{
  list-style:none;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 30px;
}

.legal-toc-list li{
  font-family:'Trebuchet MS',sans-serif;
  font-size:14px;
}

.legal-toc-list a{
  text-decoration:none;
  font-weight:700;
  color:var(--legal-ink);
}

.legal-toc-list a:hover{
  color:#84571E;
}

.legal-toc-list .tocnum{
  color:#84571E;
  font-family:'Courier New',monospace;
  font-weight:800;
  margin-right:8px;
}

.legal-sec{
  margin-top:40px;
}

.legal-sec h2{
  font-size:25px;
  color:#22303B;
  margin:36px 0 8px;
  padding-bottom:12px;
  border-bottom:3px solid #B9802A;
  scroll-margin-top:90px;
}

.legal-sec h3{
  font-size:19px;
  margin:22px 0 8px;
  color:#33414E;
}

.legal-sec p{
  margin-bottom:16px;
  color:var(--legal-ink);
}

.legal-sec ul{
  margin:0 0 18px 26px;
  list-style:square;
}

.legal-sec li{
  margin-bottom:8px;
}

.legal-sec strong{
  color:#22303B;
}

.legal-sec .anchorid{
  display:block;
  position:relative;
  top:-16px;
}

/* Definition table for legal terms */
.legal-table{
  width:100%;
  border-collapse:collapse;
  margin:6px 0 22px;
  background:#FBF9F4;
}

.legal-table th{
  background:#22303B;
  color:#FBF9F4;
  text-align:left;
  font-family:'Trebuchet MS',sans-serif;
  font-size:14px;
  letter-spacing:.06em;
  padding:12px 16px;
}

.legal-table td{
  border:1px solid var(--legal-line);
  padding:12px 16px;
  vertical-align:top;
}

/* Emphasis note band */
.legal-note{
  background:#3D5B4A;
  color:#F7F2E7;
  padding:20px 26px;
  margin:22px 0;
  border-left:6px solid #B9802A;
}

.legal-note p{
  color:#F7F2E7;
}

/* Legal footer link band returning to the homepage */
.legal-back{
  background:#232E38;
  border-top:3px solid #B9802A;
  margin-top:54px;
  padding:46px 0 20px;
}

.legal-back .legal-backwrap{
  max-width:900px;
  margin:0 auto;
  padding:0 24px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:26px;
  flex-wrap:wrap;
}

.legal-back .backhome{
  background:#C08A2E;
  color:#232E38;
  font-family:'Trebuchet MS',sans-serif;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:15px;
  text-decoration:none;
  padding:14px 28px;
}

.legal-back .backhome:hover{
  background:#FBF9F4;
  color:#232E38;
}

.legal-back .backnote{
  color:#E8E0D0;
  font-size:14px;
  max-width:500px;
}

.legal-colophon{
  background:#1B262F;
  padding:18px 0;
}

.legal-colophon .colophonwrap{
  max-width:900px;
  margin:0 auto;
  padding:0 24px;
  font-family:'Courier New',monospace;
  font-size:12px;
  letter-spacing:.08em;
  color:#CFC6B5;
  text-align:center;
}

.legal-addrblock{
  background:#FBF9F4;
  border:1px dashed #A98F62;
  padding:20px 24px;
  margin:24px 0;
  font-size:15px;
}

.legal-addrblock p{
  margin-bottom:6px;
}

@media (max-width:760px){
  .legal-toc-list{
    grid-template-columns:1fr;
  }

  .legal-header h1{
    font-size:30px;
  }
}
