/*
 * The Schools Challenge: Privacy Policy.
 * Load after screenNEW.css and home.css.
 * Scoped by unique #privacycontent; header, navigation and footer are untouched.
 */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');

body:has(> #container .contentfullwidth > #privacycontent) > #container {
  --tsc-navy:#192b6d;
  --tsc-blue:#2f5caa;
  --tsc-sky:#91c5ed;
  --tsc-pale:#edf6fc;
  --tsc-ink:#172243;
  --tsc-muted:#5e6981;
  --tsc-line:rgba(25,43,109,.16);
  --tsc-serif:'Playfair Display',Georgia,serif;
  --tsc-sans:'DM Sans',Arial,sans-serif;
  box-sizing:border-box;
  width:min(1000px,calc(100% - 2*clamp(18px,4vw,56px)))!important;
  max-width:1000px!important;
  min-height:0!important;
  margin:0 auto!important;
  padding:clamp(44px,7vw,78px) 0 clamp(56px,8vw,88px)!important;
  background:transparent!important;
  color:var(--tsc-ink);
  font:400 16px/1.75 var(--tsc-sans);
  -webkit-font-smoothing:antialiased;
}

body:has(> #container .contentfullwidth > #privacycontent) > #container::before {
  content:'';
  position:fixed;
  z-index:-2;
  inset:0;
  background:linear-gradient(180deg,var(--tsc-pale) 0,#fff 700px);
}

body:has(> #container .contentfullwidth > #privacycontent) > #container *,
body:has(> #container .contentfullwidth > #privacycontent) > #container *::before,
body:has(> #container .contentfullwidth > #privacycontent) > #container *::after { box-sizing:border-box; }

body:has(> #container .contentfullwidth > #privacycontent) > #container .contentfullwidth {
  float:none!important;
  width:100%!important;
  max-width:920px!important;
  margin:0 auto!important;
  padding:clamp(34px,6vw,64px) clamp(24px,7vw,70px)!important;
  border:1px solid var(--tsc-line)!important;
  border-top:6px solid var(--tsc-navy)!important;
  background:#fff!important;
  box-shadow:0 16px 46px rgba(25,43,109,.075);
}

/* Page heading and revision date */
body:has(> #container .contentfullwidth > #privacycontent) > #container .contentfullwidth > h1 {
  max-width:760px;
  margin:0 auto 16px!important;
  padding:0!important;
  color:var(--tsc-navy)!important;
  font:500 clamp(2.4rem,5vw,3.75rem)/1.1 var(--tsc-serif)!important;
  letter-spacing:-.035em;
  text-align:center!important;
}

body:has(> #container .contentfullwidth > #privacycontent) > #container .contentfullwidth > h2 {
  width:max-content;
  max-width:100%;
  margin:0 auto 42px!important;
  padding:8px 14px!important;
  border:1px solid var(--tsc-line)!important;
  background:var(--tsc-pale)!important;
  color:var(--tsc-muted)!important;
  font:600 12px/1.35 var(--tsc-sans)!important;
  letter-spacing:.08em;
  text-align:center!important;
  text-transform:uppercase;
}

body:has(> #container .contentfullwidth > #privacycontent) > #container .contentfullwidth > h2 br { display:none!important; }

/* Policy document */
body:has(> #container .contentfullwidth > #privacycontent) #privacycontent {
  width:100%!important;
  max-width:780px!important;
  margin:0 auto!important;
  padding:0!important;
  color:var(--tsc-ink)!important;
  text-align:left!important;
}

body:has(> #container .contentfullwidth > #privacycontent) #privacycontent h3 {
  position:relative;
  margin:42px 0 18px!important;
  padding:15px 20px 15px 24px!important;
  border:1px solid var(--tsc-line)!important;
  border-left:5px solid var(--tsc-blue)!important;
  background:var(--tsc-pale)!important;
  color:var(--tsc-navy)!important;
  font:500 clamp(1.35rem,2.3vw,1.7rem)/1.25 var(--tsc-serif)!important;
  letter-spacing:-.015em;
  text-align:left!important;
}

body:has(> #container .contentfullwidth > #privacycontent) #privacycontent h3:first-child { margin-top:0!important; }

body:has(> #container .contentfullwidth > #privacycontent) #privacycontent p {
  margin:0 0 20px!important;
  padding:0!important;
  color:var(--tsc-muted)!important;
  font:400 16px/1.8 var(--tsc-sans)!important;
  text-align:left!important;
}

body:has(> #container .contentfullwidth > #privacycontent) #privacycontent a { color:var(--tsc-blue)!important;font-weight:700!important;text-underline-offset:4px;overflow-wrap:anywhere; }
body:has(> #container .contentfullwidth > #privacycontent) #privacycontent a:hover { color:var(--tsc-navy)!important; }

/* Lists: remove legacy images and markers before adding one consistent bullet. */
body:has(> #container .contentfullwidth > #privacycontent) #privacycontent ul {
  margin:0 0 24px!important;
  padding:0!important;
  list-style:none!important;
}

body:has(> #container .contentfullwidth > #privacycontent) #privacycontent li {
  position:relative;
  margin:0!important;
  padding:9px 0 9px 28px!important;
  background:none!important;
  color:var(--tsc-muted)!important;
  font:400 16px/1.7 var(--tsc-sans)!important;
  list-style:none!important;
  text-align:left!important;
}

body:has(> #container .contentfullwidth > #privacycontent) #privacycontent li::marker { content:''!important;font-size:0!important; }
body:has(> #container .contentfullwidth > #privacycontent) #privacycontent li::before {
  content:'•';
  position:absolute;
  left:4px;
  top:50%;
  color:var(--tsc-blue);
  font:900 1.3rem/1 var(--tsc-sans);
  transform:translateY(-50%);
}

body:has(> #container .contentfullwidth > #privacycontent) #privacycontent li + li { border-top:1px solid rgba(25,43,109,.08); }
body:has(> #container .contentfullwidth > #privacycontent) #privacycontent > br:last-child { display:none!important; }

@media (max-width:700px) {
  body:has(> #container .contentfullwidth > #privacycontent) > #container { width:calc(100% - 30px)!important;padding:38px 0 56px!important; }
  body:has(> #container .contentfullwidth > #privacycontent) > #container .contentfullwidth { padding:32px 17px 28px!important; }
  body:has(> #container .contentfullwidth > #privacycontent) > #container .contentfullwidth > h1 { font-size:2.35rem!important; }
  body:has(> #container .contentfullwidth > #privacycontent) > #container .contentfullwidth > h2 { margin-bottom:30px!important; }
  body:has(> #container .contentfullwidth > #privacycontent) #privacycontent h3 { margin-top:32px!important;padding:13px 14px 13px 17px!important; }
  body:has(> #container .contentfullwidth > #privacycontent) #privacycontent h3:first-child { margin-top:0!important; }
  body:has(> #container .contentfullwidth > #privacycontent) #privacycontent p,
  body:has(> #container .contentfullwidth > #privacycontent) #privacycontent li { font-size:15px!important; }
  body:has(> #container .contentfullwidth > #privacycontent) #privacycontent li { padding-left:25px!important; }
}

@media (prefers-reduced-motion:reduce) {
  body:has(> #container .contentfullwidth > #privacycontent) > #container *,body:has(> #container .contentfullwidth > #privacycontent) > #container *::before,body:has(> #container .contentfullwidth > #privacycontent) > #container *::after { transition:none!important; }
}
