/* Privacy page only. Header, footer, and tokens stay in the shared system. */

.pp-preview{
  margin:0;
  height:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--c-canvas-alt);
  border-bottom:1px solid var(--c-rule);
  color:var(--c-ink-muted);
  font:500 0.6875rem/1 var(--ff-mono);
  letter-spacing:.08em;
  text-transform:uppercase;
}

.pp-frame{padding-bottom:0}
.pp-open{padding-top:80px}
.pp-eyebrow,
.pp-kicker,
.pp-date span,
.pp-rail>p,
.pp-num,
.pp-jump-box{
  font-family:var(--ff-mono);
  font-weight:500;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.pp-eyebrow{
  margin:0;
  color:var(--c-ink-muted);
  font-size:0.6875rem;
  line-height:1.4;
}
.pp-title{
  margin:35px 0 132px;
  max-width:12ch;
  color:var(--c-ink);
  font-family:var(--ff-serif);
  font-weight:var(--fw-serif);
  font-size:66px;
  line-height:1.06;
  letter-spacing:var(--ls-display);
}
.pp-rule{
  width:100%;
  height:0;
  margin:0;
  border:0;
  border-top:1px solid var(--c-rule);
}
.pp-rule--close{margin-top:72px}
.pp-date,
.pp-overview{margin-top:32px}
.pp-date{
  margin-bottom:0;
  color:var(--c-ink);
  font:400 16px/1.5 var(--ff-sans);
}
.pp-date span,
.pp-kicker{
  display:block;
  margin:0 0 24px;
  color:var(--c-ink-muted);
  font-size:0.6875rem;
  line-height:1.4;
}
.pp-overview p{
  margin:0;
  max-width:680px;
  color:var(--c-ink);
  font:400 20px/1.6 var(--ff-sans);
  text-wrap:pretty;
}
.pp-rail>p{
  margin:0;
  color:var(--c-ink-muted);
  font-size:0.6875rem;
  line-height:1.4;
}
.pp-rail ol{
  margin:40px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:14px;
}
.pp-rail a{
  position:relative;
  display:grid;
  grid-template-columns:30px minmax(0,230px);
  align-items:start;
  padding-left:16px;
  color:var(--c-ink-muted);
  font:400 15px/1.55 var(--ff-sans);
  text-decoration:none;
}
.pp-rail a span:first-child{
  color:color-mix(in srgb,var(--c-ink) 48%,var(--c-canvas));
  font:500 0.6875rem/1.55 var(--ff-mono);
  letter-spacing:.04em;
}
.pp-rail a[aria-current="true"]{color:var(--c-ink)}
.pp-rail a[aria-current="true"] span:first-child{color:var(--c-signal-text)}
.pp-rail a[aria-current="true"]::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:2px;
  background:var(--c-signal);
}
.pp-jump{display:none}
.pp-section{scroll-margin-top:40px}
.pp-num{
  margin:0 0 22px;
  color:color-mix(in srgb,var(--c-ink) 48%,var(--c-canvas));
  font-size:0.6875rem;
  line-height:1;
}
.pp-section h2{
  margin:0 0 24px;
  color:var(--c-ink);
  font-family:var(--ff-serif);
  font-weight:var(--fw-serif);
  font-size:44px;
  line-height:1.12;
  letter-spacing:var(--ls-display);
}
.pp-section p,
.pp-section li{
  margin:0 0 16px;
  max-width:680px;
  color:var(--c-ink);
  font:400 17px/1.7 var(--ff-sans);
  text-wrap:pretty;
}
.pp-section p:last-child,
.pp-section li:last-child{margin-bottom:0}
.pp-section ul{
  margin:0 0 16px;
  padding:0 0 0 26px;
  max-width:680px;
  list-style:disc;
}
.pp-section li+li{margin-top:10px}
.pp-section a{
  color:var(--c-ink);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  overflow-wrap:anywhere;
}
.pp-section a:hover{text-decoration-color:var(--c-signal)}
.pp-section+.pp-section{
  margin-top:28px;
  padding-top:56px;
  border-top:1px solid var(--c-rule);
}
.pp-article{padding-bottom:64px}

@media (min-width:901px){
  .pp-open,
  .pp-layout{
    display:grid;
    grid-template-columns:360px minmax(0,680px);
    align-items:start;
  }
  .pp-eyebrow,
  .pp-title,
  .pp-rule{grid-column:1 / -1}
  .pp-date{grid-column:1}
  .pp-overview{grid-column:2}
  .pp-rail{
    position:sticky;
    top:calc(var(--header-h) + 40px);
    grid-column:1;
  }
  .pp-layout{margin-top:56px}
  .pp-read{
    grid-column:2;
    min-width:0;
  }
}

@media (max-width:900px){
  .pp-open{padding-top:48px}
  .pp-title{margin-bottom:96px;font-size:52px}
  .pp-rule--close{margin-top:40px}
  .pp-date{font-size:15px}
  .pp-overview{margin-top:28px}
  .pp-overview p{font-size:18px}
  .pp-rail{display:none}
  .pp-read{padding-top:28px}
  .pp-jump{
    display:block;
    position:sticky;
    top:var(--header-h-sm);
    z-index:40;
    margin:0 0 60px;
    background:var(--c-canvas);
  }
  .pp-jump-box{
    position:relative;
    display:block;
    height:60px;
    padding:12px 16px 0;
    border:1px solid var(--c-rule);
    color:var(--c-ink-muted);
    font-size:0.6875rem;
    line-height:1;
    letter-spacing:.08em;
  }
  .pp-jump-box::after{
    content:"";
    position:absolute;
    right:18px;
    top:24px;
    width:8px;
    height:8px;
    border-right:1.5px solid var(--c-ink);
    border-bottom:1.5px solid var(--c-ink);
    transform:rotate(45deg);
    pointer-events:none;
  }
  .pp-jump-box select{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    width:100%;
    height:34px;
    margin:0;
    padding:0 40px 10px 16px;
    border:0;
    background:transparent;
    color:var(--c-ink);
    font:400 15px/1.2 var(--ff-sans);
    letter-spacing:0;
    text-transform:none;
    appearance:none;
  }
  .pp-section{scroll-margin-top:56px}
  .pp-num{margin-bottom:18px}
  .pp-section h2{font-size:30px}
  .pp-section+.pp-section{margin-top:20px;padding-top:44px}
  .pp-article{padding-bottom:48px}
}

@media (max-width:640px){
  .pp-title{font-size:44px}
  .pp-section p,
  .pp-section li{font-size:16px}
}

@media (prefers-reduced-motion:no-preference){
  .costello-system{scroll-behavior:smooth}
}
