/* CI Immersion: readable pages, restrained display type, and existing brand colors. */
@font-face {
  font-family:Newsreader;
  src:url(/assets/ci_immersion/fonts/newsreader-7f5d3cd042735698655e1a9ff2eda413251dd7475b75df63043a630bb83404d1.ttf) format('truetype');
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
@font-face {
  font-family:Newsreader;
  src:url(/assets/ci_immersion/fonts/newsreader-italic-da5558a0b2ac6abf01a15e5ae6b9951b633af41b20995f3a47455903b84bc614.ttf) format('truetype');
  font-style:italic;
  font-weight:400;
  font-display:swap;
}
:root {
  --paper:#f3f0e7;
  --ink:#20241f;
  --blue:#213bb6;
  --butter:#f0e5a6;
  --muted:#555a53;
  --rule:#a7aaa0;
  --serif:Newsreader,Georgia,serif;
  --sans:Arial,Helvetica,sans-serif;
  /* Shared reading scale: rem units respect the reader’s default text size. */
  --type-page:clamp(2.25rem,3.4vw,2.75rem);
  --type-section:2rem;
  --type-subheading:1.625rem;
  --type-episode:clamp(1.75rem,2.5vw,2.125rem);
  --type-number:2rem;
  --type-intro:1.25rem;
  --type-body:1.125rem;
  --type-description:1.0625rem;
  --type-ui:1rem;
  --type-meta:.9375rem;
  --type-label:.875rem;
}
* {
  box-sizing:border-box;
}
body.ci {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:var(--type-body)/1.65 var(--sans);
}
a {
  color:inherit;
  text-underline-offset:.2em;
}
a:hover {
  color:var(--blue);
}
button,input,select,textarea {
  font:inherit;
}
a,button,input {
  touch-action:manipulation;
}
:is(a,button,input,select,textarea,summary,audio):focus-visible {
  outline:3px solid #b1301b;
  outline-offset:4px;
  box-shadow:0 0 0 2px var(--paper);
}
::selection {
  background:var(--butter);
  color:var(--ink);
}
[hidden] {
  display:none!important;
}
.ci-header-shell {
  max-width:1600px;
  margin:auto;
  padding:0 clamp(20px,3vw,64px);
}
.ci-shell {
  max-width:1280px;
  margin:auto;
  padding:0 5%;
}
h1,h2,h3,p,figure {
  margin:0 0 18px;
}
h1,h2,h3 {
  font-family:var(--serif);
  font-weight:400;
  line-height:1.2;
  letter-spacing:-.025em;
  overflow-wrap:break-word;
}
h1 {
  font-size:var(--type-page);
  color:var(--blue);
}
h2 {
  font-size:var(--type-section);
}
h3 {
  font-size:var(--type-subheading);
}
h1 em,h2 em {
  font-style:normal;
}
p {
  overflow-wrap:anywhere;
  max-width:70ch;
}
.ci-header {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:22px 0;
  border-bottom:1px solid var(--ink);
}
.ci-wordmark {
  display:flex;
  align-items:center;
  gap:9px;
  font:29px/1 var(--serif);
  letter-spacing:-1px;
  white-space:nowrap;
  text-decoration:none;
}
.ci-wordmark-sub {
  display:block;
  margin-top:8px;
  font:7px/1.5 var(--sans);
  letter-spacing:1px;
}
.ci-mark {
  display:flex;
  align-items:center;
  gap:3px;
  font:40px/1 var(--serif);
  color:var(--blue);
  letter-spacing:-4px;
}
.ci-mark i {
  font-size:34px;
  letter-spacing:-3px;
  padding-right:3px;
}
.ci-header nav {
  display:flex;
  gap:20px;
  font-size:var(--type-ui);
}
.ci-header nav a {
  white-space:nowrap;
  padding:12px 0;
  text-decoration:none;
}
.ci-header [aria-current=page] {
  text-decoration:underline;
  text-decoration-thickness:2px;
}
.ci-header-tools {
  flex-shrink:0;
  display:flex;
  align-items:center;
  gap:16px;
}
.ci-reading-options {
  display:flex;
  align-items:center;
  gap:6px;
  flex-shrink:0;
}
.ci-mode-input {
  flex-shrink:0;
  width:24px;
  height:24px;
  margin:0;
  accent-color:var(--blue);
}
.ci-mode-toggle {
  white-space:nowrap;
  font-size:var(--type-ui);
  cursor:pointer;
  padding:8px 0;
}
.ci-mobile-menu {
  display:none;
}
.ci-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:13px 19px;
  min-height:46px;
  background:var(--blue);
  color:white;
  border:1px solid transparent;
  font:600 var(--type-ui)/1.5 var(--sans);
  text-decoration:none;
}
.ci-button:hover {
  background:var(--ink);
  color:white;
}
.ci-button-small {
  white-space:nowrap;
  flex-shrink:0;
  font-size:var(--type-ui);
  padding:10px 13px;
  min-height:42px;
}
.ci-text-link {
  display:inline-block;
  padding:9px 0;
  font-size:var(--type-ui);
  font-weight:600;
}
.ci-eyebrow,.ci-meta,.ci-section-label,figcaption,.ci-development-details {
  font:var(--type-label)/1.6 var(--sans);
  letter-spacing:.04em;
}
.ci-eyebrow {
  color:var(--muted);
  font-weight:600;
  margin-bottom:14px;
}
.ci-meta {
  color:var(--muted);
}
.ci-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 22px;
  margin-top:22px;
}
.ci-tagline {
  color:var(--blue);
  font:var(--type-subheading)/1.3 var(--serif);
}
.ci-official {
  font-size:var(--type-intro);
  line-height:1.55;
}
.ci-home-intro {
  display:grid;
  grid-template-columns:minmax(0,1fr) 200px;
  align-items:center;
  gap:7%;
  padding:38px 0 32px;
}
.ci-home-intro h1 {
  margin-bottom:12px;
}
.ci-home-intro p {
  max-width:750px;
}
.ci-home-artwork img {
  display:block;
  width:100%;
  height:auto;
}
.ci-home-artwork {
  display:block;
}
.ci-section {
  padding:38px 0;
  border-top:1px solid var(--rule);
}
.ci-section-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}
.ci-section-heading>div {
  min-width:0;
}
.ci-section-heading h2 {
  margin-bottom:9px;
}
.ci-section-heading p {
  font-size:var(--type-description);
}
.ci-section-heading>.ci-text-link {
  flex-shrink:0;
}
.ci-latest {
  border-top:2px solid var(--blue);
}
.ci-episode-row {
  display:grid;
  grid-template-columns:4.5rem minmax(0,1fr) 9rem;
  gap:22px;
  align-items:start;
  padding:23px 0;
  border-top:1px solid var(--rule);
}
.ci-episode-number {
  color:var(--blue);
  font:var(--type-number)/1.1 var(--serif);
}
.ci-episode-number>span {
  display:block;
  font:var(--type-label)/1.5 var(--sans);
  letter-spacing:.6px;
  color:var(--muted);
  margin-bottom:4px;
}
.ci-episode-row h3 {
  font-size:var(--type-episode);
  margin-bottom:9px;
}
.ci-episode-row h3 a {
  text-decoration:none;
}
.ci-episode-row h3 a:hover {
  text-decoration:underline;
}
.ci-excerpt {
  font-size:var(--type-description);
  margin-bottom:10px;
  line-height:1.6;
}
.ci-episode-summary {
  min-width:0;
}
.ci-meta {
  font-size:var(--type-meta);
  margin-bottom:0;
}
.ci-meta span {
  padding:0 8px;
}
.ci-listen {
  font-size:var(--type-ui);
  padding:9px 0;
  align-self:center;
}
.ci-empty {
  padding:20px 0;
}
.ci-split {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7%;
}
.ci-split>* {
  min-width:0;
}
.ci-lead {
  font-size:var(--type-intro);
}
.ci-home-pd {
  background:var(--butter);
  padding:28px;
  margin:0 0 30px;
  border:0;
}
.ci-home-pd p {
  max-width:850px;
}
.ci-home-about {
  padding-top:28px;
}
.ci-social-proof {
  font-size:var(--type-meta);
  color:var(--muted);
}
.ci-prose {
  max-width:700px;
}
.ci-page-heading {
  padding:35px 0 28px;
  border-bottom:1px solid var(--rule);
}
.ci-page-heading .ci-intro {
  max-width:70ch;
  font-size:var(--type-intro);
  margin-bottom:12px;
}
.ci-podcast-heading {
  display:grid;
  grid-template-columns:minmax(0,1fr) 160px;
  align-items:center;
  gap:7%;
}
.ci-podcast-heading img {
  display:block;
  width:100%;
  height:auto;
}
.ci-archive-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  margin-bottom:25px;
}
.ci-archive-top h2 {
  margin:0;
}
.ci-search {
  width:330px;
  max-width:100%;
}
.ci-search label {
  display:block;
  font-size:var(--type-ui);
  margin-bottom:7px;
}
.ci-search>div {
  display:flex;
}
.ci-search input {
  font-size:var(--type-ui);
  border:1px solid var(--ink);
  padding:11px;
  min-width:0;
  min-height:44px;
  background:transparent;
}
.ci-search input[type=search] {
  width:100%;
  border-right:0;
}
.ci-search input[type=submit] {
  background:var(--ink);
  color:white;
  cursor:pointer;
}
.ci-search>a {
  display:inline-block;
  padding:9px 0;
  font-size:var(--type-ui);
}
.pagination {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:25px;
}
.pagination :is(a,em,span) {
  padding:8px 14px;
  min-width:44px;
}
.pagination .current {
  background:var(--blue);
  color:white;
}
.ci-reading-note {
  padding:28px 0;
  border-top:1px solid var(--rule);
}
.ci-reading-note h2 {
  font-size:var(--type-section);
}
.ci-engine {
  background:var(--butter);
  padding:28px;
  margin:0 0 30px;
  border:0;
}
.ci-topic-list {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px 40px;
  padding-left:20px;
  margin:25px 0;
}
.ci-practices article {
  padding-bottom:20px;
  margin-bottom:22px;
  border-bottom:1px solid var(--rule);
}
.ci-practices h3 {
  font-size:var(--type-subheading);
}
.ci-note {
  font-size:var(--type-ui);
  color:var(--muted);
  margin-top:15px;
}
.ci-invitation {
  background:var(--butter);
  padding:28px;
  margin:20px 0;
}
.ci-invitation h2 {
  font-size:var(--type-section);
}
.ci-invitation p {
  max-width:800px;
}
.ci-development-heading {
  background:var(--butter);
  padding:30px;
  margin-top:25px;
  border:0;
}
.ci-development-intro {
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:6%;
  margin-top:22px;
}
.ci-development-intro>* {
  min-width:0;
}
.ci-development-intro h2 {
  font-size:var(--type-section);
}
.ci-development-intro .ci-intro {
  font-size:var(--type-body);
}
.ci-development-details {
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-top:22px;
  padding-top:15px;
  border-top:1px solid var(--rule);
  font-size:var(--type-label);
}
.ci-services article {
  display:flex;
  gap:18px;
  border-top:1px solid var(--rule);
  padding:22px 0;
}
.ci-services article>div {
  min-width:0;
}
.ci-services article>span {
  font:var(--type-number)/1 var(--serif);
  color:var(--blue);
}
.ci-services h3 {
  font-size:var(--type-subheading);
}
.ci-services p {
  font-size:var(--type-body);
}
.ci-inquiry-guide {
  padding:24px;
  background:var(--butter);
}
.ci-inquiry-guide h2 {
  font-size:var(--type-section);
}
.ci-inquiry-guide ul {
  padding-left:20px;
}
.ci-inquiry-guide li {
  margin-bottom:12px;
}
.ci-inquiry-guide>p:last-child {
  font-size:var(--type-ui);
}
.ci-author {
  display:grid;
  grid-template-columns:160px minmax(0,720px);
  align-items:start;
  gap:40px;
}
.ci-author figure {
  margin:0;
}
.ci-author img {
  display:block;
  width:100%;
  height:auto;
  filter:none;
}
.ci-author figcaption {
  font-size:var(--type-label);
  margin-top:10px;
}
.ci-author h2 {
  font-size:var(--type-section);
}
.ci-episode {
  max-width:900px;
  margin:auto;
}
.ci-episode-heading {
  padding:28px 0;
  border-bottom:1px solid var(--rule);
}
.ci-episode-heading>.ci-text-link {
  margin-bottom:22px;
}
.ci-episode-heading h1 {
  font-size:var(--type-episode);
}
.ci-episode-description {
  font-size:var(--type-body);
  line-height:1.7;
  margin-top:22px;
  max-width:780px;
}
.ci-player {
  background:#e7e9f5;
  border-left:4px solid var(--blue);
  padding:23px;
  margin-top:25px;
}
.ci-player #ci-audio-label {
  font:var(--type-subheading)/1.3 var(--serif);
  margin-bottom:16px;
}
.ci-player audio {
  display:block;
  width:100%;
  margin-bottom:12px;
}
.ci-player a,.ci-player>span {
  font-size:var(--type-ui);
}
.ci-player>span {
  margin:0 8px;
}
.ci-audio-status,.ci-audio-unavailable {
  font-size:var(--type-meta);
  padding:12px 0;
}
.ci-audio-unavailable {
  border-top:1px solid var(--rule);
  margin-top:22px;
}
.ci-show-notes {
  padding:28px 0;
  font-size:var(--type-body);
  line-height:1.8;
  overflow-wrap:anywhere;
}
.ci-show-notes h2 {
  font-size:var(--type-section);
  margin:25px 0 18px;
}
.ci-show-notes h3 {
  font-size:var(--type-subheading);
  margin:28px 0 16px;
}
.ci-show-notes :is(p,li) {
  margin-bottom:16px;
}
.ci-show-notes :is(ul,ol) {
  padding-left:25px;
}
.ci-show-notes section {
  padding:0;
  max-width:100%;
}
.ci-show-notes :is(img,iframe) {
  max-width:100%;
  height:auto;
}
.ci-show-notes .hidden {
  display:none;
}
.ci-show-notes table {
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  font-size:var(--type-meta);
  line-height:1.5;
}
.ci-show-notes :is(th,td) {
  padding:10px;
  border-bottom:1px solid var(--rule);
  text-align:left;
  vertical-align:top;
  overflow-wrap:anywhere;
}
.ci-show-notes tr:first-child {
  font-weight:bold;
}
.ci-editor-tools {
  padding:18px 0;
  font-size:var(--type-ui);
}
.ci-editor-tools code {
  overflow-wrap:anywhere;
}
.ci-series {
  border-top:1px solid var(--rule);
  padding:25px 0;
}
.ci-series .ci-text-link {
  margin-right:22px;
}
.ci-footer {
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr;
  gap:30px;
  padding:35px 0 15px;
  border-top:1px solid var(--rule);
}
.ci-footer>div {
  min-width:0;
}
.ci-footer-brand {
  font:32px/1.2 var(--serif);
  text-decoration:none;
}
.ci-footer p {
  font-size:var(--type-ui);
  margin-top:12px;
}
.ci-footer .ci-eyebrow {
  font-size:var(--type-label);
  margin:0 0 12px;
}
.ci-footer>div>a:not(.ci-footer-brand) {
  display:block;
  width:fit-content;
  font-size:var(--type-ui);
  padding:5px 0;
}
.ci-colophon {
  grid-column:1/-1;
  display:flex;
  justify-content:space-between;
  gap:20px;
  max-width:none;
  border-top:1px solid var(--rule);
  padding-top:15px;
  font-size:var(--type-meta);
}
.ci-skip {
  position:absolute;
  top:-150px;
  left:15px;
  z-index:20;
  background:var(--ink);
  color:white;
  padding:12px;
}
.ci-skip:focus {
  top:12px;
}
main:focus {
  outline:none;
}
body:has(#ci-accessibility:checked) {
  --paper:#fff;
  --ink:#171b18;
  --muted:#3c443e;
  --blue:#19329a;
}
body:has(#ci-accessibility:checked) :is(h1,h2,h3) {
  font-family:var(--sans);

  line-height:1.3;
  letter-spacing:normal;
}
body:has(#ci-accessibility:checked) em {
  font-style:normal;
}
body:has(#ci-accessibility:checked) .ci-tagline {
  font-family:var(--sans);
  font-size:var(--type-intro);
}
@media(max-width:75rem) {
  .ci-header {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    padding:16px 0;
  }
  .ci-header .ci-desktop-nav {
    display:none;
  }
  .ci-mobile-menu {
    margin-left:auto;
    display:block;
    grid-column:2;
    grid-row:1;
  }
  .ci-mobile-menu:not([open]) nav {
    display:none;
  }
  .ci-mobile-menu summary {
    display:flex;
    align-items:center;
    gap:12px;
    min-height:44px;
    padding:8px 12px;
    border:1px solid var(--ink);
    font-size:var(--type-ui);
    cursor:pointer;
    list-style:none;
  }
  .ci-mobile-menu summary::-webkit-details-marker {
    display:none;
  }
  .ci-mobile-menu[open] summary span {
    transform:rotate(45deg);
  }
  .ci-mobile-menu nav {
    position:absolute;
    top:100%;
    left:0;
    right:0;
    z-index:5;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:12px 24px;
    background:var(--paper);
    border:1px solid var(--ink);
  }
  .ci-mobile-menu nav a {
    white-space:normal;
    overflow-wrap:anywhere;
    display:block;
    padding:14px 0;
    min-height:48px;
    font-size:var(--type-body);
    border-bottom:1px solid var(--rule);
  }
  .ci-mobile-menu nav a:last-child {
    border-bottom:0;
  }
  .ci-reading-options {
    max-width:100%;
  }
  .ci-mode-toggle {
    white-space:normal;
  }
  .ci-header-tools {
    width:100%;
    flex-wrap:wrap;
    grid-column:1/-1;
    justify-content:space-between;
    gap:14px;
  }
}
@media(max-width:700px) {
  body.ci {
    font-size:var(--type-body);
  }
  .ci-shell {
    padding:0 6%;
  }
  .ci-wordmark {
    font-size:25px;
    gap:6px;
    letter-spacing:-.9px;
  }
  .ci-mark {
    font-size:31px;
  }
  .ci-mark i {
    font-size:28px;
  }
  .ci-wordmark-sub {
    font-size:6px;
    letter-spacing:.04em;
  }
  .ci-mobile-menu summary {
    font-size:var(--type-ui);
    padding:8px 10px;
    gap:8px;
  }
  .ci-header-tools .ci-button {
    padding:9px 12px;
    min-height:40px;
  }
  .ci-home-intro {
    grid-template-columns:1fr;
    padding:26px 0;
    gap:20px;
  }
  .ci-home-intro h1 {
    font-size:var(--type-page);
  }
  .ci-home-artwork {
    display:none;
  }
  .ci-official {
    font-size:var(--type-body);
  }
  .ci-tagline {
    font-size:var(--type-subheading);
  }
  .ci-actions {
    gap:8px 16px;
    margin-top:18px;
  }
  .ci-section {
    padding:26px 0;
  }
  .ci-section-heading,.ci-archive-top {
    display:block;
  }

  .ci-section-heading>.ci-text-link {
    margin-bottom:14px;
  }
  .ci-split,.ci-development-intro {
    grid-template-columns:1fr;
    gap:20px;
  }
  .ci-episode-row {
    grid-template-columns:4.25rem minmax(0,1fr);
    gap:14px;
    padding:20px 0;
  }
  .ci-episode-row h3 {
    font-size:var(--type-episode);
  }
  .ci-episode-number {
    font-size:var(--type-number);
  }
  .ci-episode-number>span {
    font-size:var(--type-label);
    letter-spacing:0;
  }
  .ci-excerpt {
    font-size:var(--type-description);
  }
  .ci-listen {
    grid-column:2;
  }
  .ci-home-pd,.ci-development-heading,.ci-engine,.ci-invitation {
    padding:22px;
  }
  .ci-page-heading {
    padding:26px 0;
  }
  .ci-page-heading h1,.ci-development-heading h1 {
    font-size:var(--type-page);
  }
  .ci-page-heading .ci-intro {
    font-size:var(--type-intro);
  }
  .ci-podcast-heading {
    grid-template-columns:1fr 80px;
    gap:18px;
  }
  .ci-podcast-heading h1 {
    font-size:var(--type-page);
  }
  .ci-podcast-heading .ci-intro {
    grid-column:1/-1;
  }
  .ci-search {
    margin-top:22px;
    width:100%;
  }
  .ci-development-details {
    font-size:var(--type-label);
    flex-wrap:wrap;
    gap:10px;
  }
  .ci-topic-list {
    grid-template-columns:1fr;
    gap:12px;
  }
  .ci-author {
    grid-template-columns:1fr;
    gap:20px;
  }
  .ci-author figure {
    max-width:140px;
  }
  .ci-footer {
    grid-template-columns:1fr 1fr;
    gap:25px;
  }
  .ci-footer>div:first-child {
    grid-column:1/-1;
  }
  .ci-colophon {
    display:block;
  }
  .ci-colophon span {
    display:block;
    margin-top:8px;
  }
  .ci-player {
    padding:18px;
  }


}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
}
@media(forced-colors:active) {
  .ci-button,.ci-player {
    border:1px solid ButtonText;
  }
  :is(a,button,input):focus-visible {
    outline-color:Highlight;
  }
}

@media (max-width:700px) {
  .ci-podcast-heading { display:block; }
  .ci-podcast-heading img { display:none; }
}
.ci-home-intro { padding-top:26px; padding-bottom:26px; }
.ci-home-intro p { margin-bottom:12px; }
.ci-home-intro .ci-actions { margin-top:14px; }
.ci-latest { padding-top:26px; }
