/* Shared styles for terms.html, privacy.html and contact.html */

:root{
  color-scheme: light;
  --paper:#FFFFFF;
  --ink:#15191E;
  --ink-soft:#4C555F;
  --navy:#0E1621;
  --hilite:#FFE94D;
  --green:#37B34A;
  --red:#D0021B;
  --rule:#E2E5E8;
  --wash:#F7F8F7;
}

*{box-sizing:border-box;}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Open Sans","Helvetica Neue",Arial,sans-serif;
  font-size:17px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;}

.wrap{
  max-width:760px;
  margin:0 auto;
  padding-inline:20px;
}

/* ---------- site nav ---------- */
.nav{
  background:var(--navy);
  padding-block:14px;
  padding-inline:20px;
}
.nav .wrap{
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px;
  align-items:baseline;
  justify-content:space-between;
  padding-inline:0;
}
.nav .brand{
  font-family:"Oswald",Impact,sans-serif;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:16px;
  color:#fff;
  text-decoration:none;
  font-weight:600;
}
.nav ul{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  margin:0;
  padding:0;
}
.nav a{
  color:#B9C4CE;
  text-decoration:none;
  font-size:14px;
  letter-spacing:.03em;
}
.nav a:hover,.nav a[aria-current="page"]{color:var(--hilite);}
.nav a:focus-visible,.nav .brand:focus-visible{outline:3px solid var(--hilite);outline-offset:3px;}

/* ---------- document head ---------- */
.dochead{
  padding-block:44px 8px;
  border-bottom:3px solid var(--ink);
}
.dochead .kicker{
  font-family:"Oswald",Impact,sans-serif;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:13px;
  color:var(--ink-soft);
  margin:0 0 10px;
}
h1{
  font-family:"Oswald",Impact,sans-serif;
  font-weight:700;
  text-transform:uppercase;
  font-size:clamp(30px,6vw,44px);
  line-height:1.1;
  text-wrap:balance;
  margin:0 0 14px;
}
.dates{
  display:flex;
  flex-wrap:wrap;
  gap:6px 26px;
  margin:0 0 22px;
  padding:0;
  list-style:none;
  font-size:14px;
  color:var(--ink-soft);
}
.dates b{
  font-family:"Oswald",Impact,sans-serif;
  text-transform:uppercase;
  letter-spacing:.07em;
  font-weight:600;
  color:var(--ink);
  font-size:13px;
}

/* ---------- table of contents ---------- */
.toc{
  background:var(--wash);
  border:1px solid var(--rule);
  border-radius:4px;
  padding:22px 24px;
  margin-block:30px;
}
.toc h2{
  font-size:14px;
  letter-spacing:.12em;
  margin:0 0 12px;
  border:0;
  padding:0;
}
.toc ol{
  margin:0;
  padding-left:1.5em;
  columns:2;
  column-gap:34px;
  font-size:15px;
  line-height:1.9;
}
.toc li{break-inside:avoid;}
.toc a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule);}
.toc a:hover{border-bottom-color:var(--ink);}
@media (max-width:620px){ .toc ol{columns:1;} }

/* ---------- document body ---------- */
main{padding-bottom:20px;}

h2{
  font-family:"Oswald",Impact,sans-serif;
  font-weight:600;
  text-transform:uppercase;
  font-size:21px;
  letter-spacing:.03em;
  line-height:1.25;
  text-wrap:balance;
  margin:42px 0 14px;
  padding-top:14px;
  border-top:1px solid var(--rule);
  scroll-margin-top:16px;
}
h2 .num{color:var(--red);margin-right:.5em;}

h3{
  font-family:"Open Sans",Arial,sans-serif;
  font-weight:800;
  font-size:17px;
  margin:26px 0 8px;
}

p{margin:0 0 16px;}
ul,ol{margin:0 0 16px;padding-left:1.4em;}
li{margin-bottom:8px;}
li::marker{color:var(--ink-soft);}
a{color:#1A5FB4;}
a:focus-visible{outline:3px solid var(--navy);outline-offset:2px;}

/* placeholder you still need to fill in */
.fill{
  background:var(--hilite);
  padding:0 .25em;
  font-weight:700;
  border-radius:2px;
  white-space:nowrap;
}

/* callout */
.note{
  border-left:6px solid var(--hilite);
  background:#FFFDF0;
  padding:18px 20px;
  margin-block:24px;
}
.note p:last-child{margin-bottom:0;}
.note.warn{border-left-color:var(--red);background:#FFF5F5;}
.note.ok{border-left-color:var(--green);background:#F4FBF5;}
.note strong{font-weight:800;}

/* tables */
.tablewrap{overflow-x:auto;margin-block:22px;}
table{
  border-collapse:collapse;
  width:100%;
  min-width:520px;
  font-size:15px;
}
caption{
  text-align:left;
  font-size:14px;
  color:var(--ink-soft);
  padding-bottom:10px;
  font-style:italic;
}
th,td{
  border:1px solid var(--rule);
  padding:11px 13px;
  text-align:left;
  vertical-align:top;
}
th{
  background:var(--wash);
  font-family:"Oswald",Impact,sans-serif;
  font-weight:600;
  text-transform:uppercase;
  font-size:13px;
  letter-spacing:.06em;
}

/* definition-style contact block */
.idcard{
  border:2px solid var(--ink);
  border-radius:4px;
  padding:22px 24px;
  margin-block:26px;
}
.idcard dl{
  margin:0;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px 22px;
}
.idcard dt{
  font-family:"Oswald",Impact,sans-serif;
  text-transform:uppercase;
  font-size:13px;
  letter-spacing:.06em;
  color:var(--ink-soft);
  padding-top:3px;
}
.idcard dd{margin:0;}
@media (max-width:520px){
  .idcard dl{grid-template-columns:1fr;gap:2px;}
  .idcard dd{margin-bottom:12px;}
}

/* ---------- footer ---------- */
footer{
  background:var(--navy);
  color:#9AA6B2;
  margin-top:48px;
  padding-block:30px 36px;
  font-size:14px;
  line-height:1.6;
}
footer p{margin:0 0 12px;}
footer a{color:#C8D2DC;}
footer .legal{font-size:13px;color:#77848F;}

@media (prefers-reduced-motion:reduce){ *{transition:none !important;} }
