*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --ivory:#f4f8fb;
  --paper:#ffffff;
  --stone:#d9e4ed;
  --ink:#102e4e;
  --sage:#617e95;
  --deep:#102e4e;
  --line:rgba(41,72,63,.12);
}
html,body{
  height:100%;
  background:var(--ivory);
  color:var(--ink);
  font-family:'Montserrat',sans-serif;
  font-weight:300;
  -webkit-font-smoothing:antialiased;
}
body{
  display:flex;
  flex-direction:column;
  min-height:100vh;
}

/* HEADER */
.pp-header{
  position:sticky;
  top:0;
  z-index:100;
  background:var(--deep);
  padding:0 clamp(24px,6vw,80px);
  height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.pp-logo{
  height:42px;
  width:auto;
}
.pp-back{
  font-size:9px;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(242,237,230,.6);
  text-decoration:none;
  transition:color .2s;
}
.pp-back:hover{color:var(--ivory);}

/* HERO BAND */
.pp-hero{
  background:var(--deep);
  padding:clamp(48px,8vw,80px) clamp(24px,6vw,80px) clamp(40px,6vw,64px);
  border-bottom:0.5px solid rgba(255,255,255,.08);
}
.pp-eyebrow{
  font-size:9px;
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--sage);
  margin-bottom:16px;
}
.pp-hero-heading{
  font-size:clamp(2rem,5vw,4rem);
  font-weight:200;
  letter-spacing:-.02em;
  line-height:1.05;
  color:var(--ivory);
  margin-bottom:16px;
}
.pp-hero-date{
  font-size:10px;
  font-weight:300;
  letter-spacing:.1em;
  color:rgba(242,237,230,.4);
}

/* CONTENT */
.pp-content{
  flex:1;
  max-width:780px;
  width:100%;
  margin:0 auto;
  padding:clamp(48px,8vw,80px) clamp(24px,6vw,48px) clamp(64px,10vw,100px);
}

/* SECTION */
.pp-section{
  margin-bottom:clamp(36px,5vw,52px);
  padding-bottom:clamp(36px,5vw,52px);
  border-bottom:0.5px solid var(--line);
}
.pp-section:last-child{
  border-bottom:none;
  margin-bottom:0;
}
.pp-section-num{
  font-size:9px;
  font-weight:500;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--sage);
  margin-bottom:10px;
}
.pp-section h2{
  font-size:clamp(1rem,2.2vw,1.4rem);
  font-weight:400;
  letter-spacing:.01em;
  line-height:1.3;
  color:var(--ink);
  margin-bottom:16px;
}
.pp-section p{
  font-size:clamp(0.875rem,1.5vw,1rem);
  font-weight:300;
  line-height:1.85;
  color:#526779;
}
.pp-section p + p{
  margin-top:12px;
}

/* FOOTER */
.pp-footer{
  background:var(--deep);
  padding:clamp(24px,4vw,36px) clamp(24px,6vw,80px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
}
.pp-footer-text{
  font-size:9px;
  font-weight:400;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(242,237,230,.3);
}
.pp-footer-link{
  font-size:9px;
  font-weight:400;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(242,237,230,.5);
  text-decoration:none;
  transition:color .2s;
}
.pp-footer-link:hover{color:var(--ivory);}

/* MOBILE */
@media(max-width:600px){
  .pp-header{height:64px;}
  .pp-logo{height:34px;}
  .pp-footer{flex-direction:column;align-items:flex-start;gap:10px;}
}

@font-face{font-family:Montserrat;src:url(../fonts/Montserrat.ttf);font-weight:100 900;font-display:swap}.page-brand{color:white;text-decoration:none;font-size:20px;letter-spacing:3px;font-weight:400}.page-brand small{display:block;font-size:8px;letter-spacing:3px;margin-top:5px}.ty-footer-text{color:#617e95}.pp-hero-date,.pp-back,.pp-footer-text,.pp-footer-link{color:#c4d4e0}.pp-eyebrow{color:#a9c7df}

/* Give the brand consistent breathing room; prevent flex shrink. */
.pp-header{height:auto;min-height:104px;flex-shrink:0;padding-top:26px;padding-bottom:26px;gap:24px}
.pp-header .page-brand{display:block;line-height:1.25;flex-shrink:0}
.pp-header .page-brand small{line-height:1.5;margin-top:8px}
@media(max-width:600px){.pp-header{height:auto;min-height:96px;padding-top:24px;padding-bottom:24px;gap:16px}.pp-header .page-brand{font-size:18px}.pp-back{font-size:8px;letter-spacing:.1em}}
