/* Inner pages: the design's header and footer wrapped around ordinary WordPress
   content, so nothing on the site falls back to the previous theme's styling. */

body.sps-page .page-hero{
  background:var(--navy-900);color:#fff;
  padding-top:clamp(120px,15vh,168px);padding-bottom:clamp(44px,6vw,72px);
  position:relative;overflow:hidden
}
body.sps-page .page-hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 90% at 10% 0%, rgba(45,68,130,.5) 0%, rgba(14,26,58,0) 62%)
}
body.sps-page .page-hero .wrap{position:relative;z-index:1}
body.sps-page .page-hero-eyebrow{color:var(--brand-lift);margin-bottom:16px}
body.sps-page .page-hero-title{
  font-family:var(--ff-display);font-weight:600;letter-spacing:-.022em;line-height:1.1;
  font-size:clamp(32px,5vw,60px);max-width:24ch;color:#fff
}

body.sps-page .page-body{padding-block:clamp(56px,7vw,96px)}

/* Editor content */
body.sps-page .prose{max-width:74ch;font-size:17px;line-height:1.7;color:var(--steel-600)}
body.sps-page .prose > * + *{margin-top:1.15em}
body.sps-page .prose h1,
body.sps-page .prose h2,
body.sps-page .prose h3,
body.sps-page .prose h4{color:var(--navy-800);margin-top:1.8em;line-height:1.2}
body.sps-page .prose h2{font-size:clamp(24px,3vw,34px)}
body.sps-page .prose h3{font-size:clamp(20px,2.2vw,24px)}
body.sps-page .prose h4{font-size:18px}
body.sps-page .prose a{color:var(--brand);text-decoration:underline;text-underline-offset:2px}
body.sps-page .prose a:hover{color:var(--brand-bright)}
body.sps-page .prose ul,
body.sps-page .prose ol{padding-left:1.3em}
body.sps-page .prose li + li{margin-top:.45em}
body.sps-page .prose img{border-radius:10px;margin-inline:auto}
body.sps-page .prose figure{margin:0}
body.sps-page .prose figcaption{font-size:13.5px;color:var(--steel-400);margin-top:10px}
body.sps-page .prose blockquote{
  border-left:2px solid var(--brand);padding:4px 0 4px 22px;margin-left:0;
  font-size:19px;color:var(--navy-700)
}
body.sps-page .prose hr{border:0;border-top:1px solid var(--hair-l);margin-block:2.4em}
body.sps-page .prose code{
  background:var(--steel-50);border:1px solid var(--hair-l);border-radius:5px;
  padding:2px 6px;font-size:14.5px
}
body.sps-page .prose pre{
  background:var(--navy-900);color:var(--steel-100);padding:18px 20px;border-radius:10px;
  overflow-x:auto;font-size:14px
}
body.sps-page .prose pre code{background:none;border:0;padding:0;color:inherit}
body.sps-page .prose table{width:100%;border-collapse:collapse;font-size:15.5px}
body.sps-page .prose th,
body.sps-page .prose td{border-bottom:1px solid var(--hair-l);padding:11px 12px;text-align:left}
body.sps-page .prose th{color:var(--navy-800);font-weight:600}

/* Listing pages */
body.sps-page .prose-entry + .prose-entry{margin-top:2.4em;padding-top:2.4em;border-top:1px solid var(--hair-l)}
body.sps-page .prose-entry h2{margin-top:0}
body.sps-page .prose-entry h2 a{text-decoration:none;color:var(--navy-800)}
body.sps-page .prose-entry h2 a:hover{color:var(--brand)}

body.sps-page .navigation.pagination{margin-top:3em}
body.sps-page .navigation.pagination .nav-links{display:flex;gap:6px;flex-wrap:wrap}
body.sps-page .navigation.pagination .page-numbers{
  display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;
  padding:0 12px;border:1px solid var(--hair-l);border-radius:8px;color:var(--steel-600);
  text-decoration:none;font-size:14.5px;font-weight:500
}
body.sps-page .navigation.pagination .page-numbers:hover{border-color:var(--brand);color:var(--brand)}
body.sps-page .navigation.pagination .page-numbers.current{
  background:var(--navy-800);border-color:var(--navy-800);color:#fff
}

/* WordPress alignment helpers */
body.sps-page .prose .alignleft{float:left;margin:.4em 1.4em 1em 0}
body.sps-page .prose .alignright{float:right;margin:.4em 0 1em 1.4em}
body.sps-page .prose .aligncenter{display:block;margin-inline:auto}
body.sps-page .prose .wp-caption{max-width:100%}
body.sps-page .screen-reader-text{
  position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);
  clip-path:inset(50%);white-space:nowrap
}
