/* Shared shell for the pages that are not the main page: 404, privacy,
   terms. The main page keeps its own stylesheet inline because it is the
   only page that needs the grid rig, the crossfade and the hover work.
   Tokens here are copied from it deliberately: three small text pages are
   not worth coupling to a 400 line stylesheet. */

:root{
  color-scheme:light only;      /* never auto-darken */
  --white:#FFFFFF;
  --black:#000000;
  --half:rgba(0,0,0,.6);
  --quarter:rgba(0,0,0,.38);
  --line:rgba(0,0,0,.14);
  --signal:#0152A2;
  --wash:#EFF4FA;
  --sans:"Instrument Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
  --serif:"Instrument Serif",Georgia,"Times New Roman",serif;
  --wrap:82rem;
  --gut:clamp(1.25rem,4vw,2.5rem);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--black);font-family:var(--sans);
  font-weight:400;line-height:1.5;min-height:100vh;display:flex;flex-direction:column;
  -webkit-font-smoothing:antialiased}
.wrap{max-width:var(--wrap);margin:0 auto;width:100%;padding:0 var(--gut)}
img{max-width:100%}

/* ---- masthead --------------------------------------------------- */
.hdr{position:sticky;top:0;z-index:50;background:var(--white);border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px}
.mark{text-decoration:none;color:var(--black);font-size:1.0625rem;line-height:1.2;
  display:flex;align-items:center;gap:.7rem}
.mark>img{display:block;height:2rem;width:auto;flex:none}
.mark-t{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}
.mark em{font-style:normal;color:var(--half);font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase}
@media (max-width:27rem){
  .mark-t{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
    clip-path:inset(50%);white-space:nowrap;border:0}
}
@media (max-width:36rem){
  .mark{font-size:.9375rem;gap:.55rem}
  .mark>img{height:1.75rem}
  .mark-t{flex-wrap:nowrap;white-space:nowrap}
  .hdr-in{min-height:56px}
}

.cta{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;
  background:var(--signal);color:var(--white);font-size:.9375rem;line-height:1;
  padding:.7rem 1.1rem;border-radius:999px;white-space:nowrap}
.cta:hover{background:#014080}

main{flex:1}

/* ---- long form -------------------------------------------------- */
.doc{padding:clamp(3rem,7vw,6rem) 0 clamp(3.5rem,8vw,7rem);max-width:64rem}
.doc h1{font-family:var(--serif);font-weight:400;letter-spacing:-.015em;
  font-size:clamp(2.25rem,5.4vw,4rem);line-height:1.04;margin:0;max-width:18ch}
.doc .lede{margin:2rem 0 0;font-size:clamp(1.0625rem,1.5vw,1.25rem);line-height:1.55;color:var(--half);max-width:60ch}
.doc h2{font-size:clamp(1.25rem,2vw,1.5rem);line-height:1.25;font-weight:400;
  margin:clamp(2.75rem,5vw,4rem) 0 0;padding-top:1.5rem;border-top:1px solid var(--black)}
.doc h3{font-size:1.0625rem;font-weight:500;margin:2rem 0 0}
.doc p,.doc li{font-size:1rem;line-height:1.65;color:var(--half);max-width:70ch}
.doc p{margin:1rem 0 0}
.doc ul{margin:1rem 0 0;padding-left:1.1rem}
.doc li{margin:.5rem 0 0}
.doc a{color:var(--signal)}
.doc b,.doc strong{font-weight:500;color:var(--black)}
.doc .panel{margin:1.75rem 0 0;background:var(--wash);border-top:2px solid var(--signal);
  padding:clamp(1.25rem,2.5vw,1.75rem)}
.doc .panel p:first-child{margin-top:0}

/* ---- footer ----------------------------------------------------- */
footer{border-top:1px solid var(--line);padding:clamp(2rem,4vw,3rem) 0;font-size:.9375rem}
footer nav{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem}
footer a{color:var(--signal);text-decoration:none;border-bottom:1px solid rgba(1,82,162,.28)}
footer a:hover{border-bottom-color:var(--signal)}
.f-legal{margin-top:1.5rem;font-size:.8125rem;line-height:1.65;color:var(--quarter);max-width:78ch}

/* placeholder marker, same as the main page */
.tk{border-bottom:2px dotted rgba(0,0,0,.4);background:rgba(0,0,0,.045)}

:focus-visible{outline:2px solid var(--black);outline-offset:3px}
