/* Editorial refinement. Loaded after mobile.css; scoped to RLG content. */
:is(.bg__hero, .bg__hubs, .bg__hub-target, .bg__roman, .bg__bridge,
    .ct__hero, .ct__calendly, .ct__cabinet, .sp__hero, .sp__body, .sp__cta-bottom,
    .cc__hero, .cc__cas) :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--rlg-f-display);
  font-weight: 400;
  font-style: italic;
  letter-spacing: -.02em;
}

/* Useful content follows the opening, rather than a full-height title page. */
.bg__hero, .ct__hero {
  padding: 132px 32px 32px !important;
  min-height: 0 !important;
}
.bg__hero-in, .ct__hero-in { max-width: 960px; }
.bg__hero-bg, .ct__hero-bg { opacity: .45; }
.bg__hero-crumbs, .ct__hero-crumbs { margin-bottom: 18px; }
.bg__hero-eb, .ct__hero-eb { display: none; }
.bg__hero h1, .ct__hero h1 {
  font-size: clamp(38px, 5vw, 64px) !important;
  line-height: 1.08;
  margin-bottom: 16px;
}
.bg__hero h1 br, .ct__hero h1 br { display: none; }
.bg__hero-lede, .ct__hero-lede {
  font-family: var(--rlg-f-sans);
  font-style: normal;
  font-size: 17px;
  line-height: 1.65;
  max-width: 680px;
  margin: 0 auto 20px;
}
.bg__hero-meta { margin-top: 18px; gap: 16px; }
.bg__filters { position: relative; top: auto; padding: 16px 24px; }
.bg__hubs { padding-top: 32px; padding-bottom: 40px; }
.bg__hubs-h { margin-bottom: 24px; }
.bg__hubs-h h2 { font-size: clamp(30px, 4vw, 44px); }
.bg__hub { padding: 24px; }
.bg__hub h3 { font-size: 26px; }
.bg__chip { min-height: 44px; }
.bg__chip:focus-visible, .ct__hero-cta:focus-visible {
  outline: 2px solid var(--rlg-encre); outline-offset: 4px;
}
.ct__hero-pills { gap: 8px 20px; margin: 16px auto 20px; }
.ct__hero-pill { padding: 4px 0; letter-spacing: 0; }
.ct__hero-pill + .ct__hero-pill::before { content: none; }
.ct__hero-cta { padding: 14px 24px; font-size: 12px; letter-spacing: .08em; }
.ct__calendly { padding: 24px 32px 64px !important; scroll-margin-top: 100px; }
.ct__calendly-h { margin-bottom: 24px; }
.ct__calendly-h .ct-eb { display: none; }
.ct__calendly-h h2 { font-size: clamp(28px, 3.4vw, 40px); margin: 0 0 12px; }
.ct__calendly-h .lede { font-family: var(--rlg-f-sans); font-style: normal; font-size: 16px; }
.ct__calendly-aside { display: none; }

/* One reading column, including posts still rendered through Elementor. */
.sp__hero { padding: 132px 32px 32px !important; }
.sp__hero-in, .sp__body-in { max-width: 760px; margin-inline: auto; }
.sp__hero h1 { font-size: clamp(34px, 4.8vw, 58px) !important; line-height: 1.12; }
.sp__hero-eb { margin-bottom: 16px; }
.sp__hero-crumbs { margin-bottom: 20px; letter-spacing: .1em; }
.sp__hero-meta { flex-wrap: wrap; gap: 8px 16px; letter-spacing: 0; padding-top: 16px; }
.sp__hero-meta .author { display: block; }
.sp__hero-meta .author::before { content: none; }
.sp__hero-meta .sep { display: none; }
.sp__body { padding: 16px 32px 64px !important; }
.sp__body-in { display: block; }
.sp__content { max-width: none; }
.sp__content .elementor, .sp__content .e-con, .sp__content .e-con-inner,
.sp__content .elementor-widget-text-editor, .sp__content .elementor-widget-container {
  width: 100%; max-width: 100%; min-width: 0;
  padding: 0; margin: 0;
}
.sp__content :is(p, li, .elementor-widget-text-editor) {
  font-family: var(--rlg-f-sans) !important;
  font-size: 18px !important;
  line-height: 1.8 !important;
  text-align: left !important;
  color: var(--rlg-encre);
}
.sp__content p { margin: 0 0 1.25em !important; }
.sp__content :is(h2, h3, h4, h5, h6) {
  font-family: var(--rlg-f-display) !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  margin: 1.5em 0 .65em !important;
  text-align: left !important;
  color: var(--rlg-encre) !important;
}
.sp__content :is(h2,h3,h4,h5,h6) span { color: inherit !important; font-family: inherit !important; }
.sp__content :is(h2,h3) { font-size: clamp(26px, 3vw, 34px) !important; }
.sp__content :is(h4,h5,h6) { font-size: 24px !important; }
.sp__content blockquote { font-family: var(--rlg-f-serif); }
.sp__content a { overflow-wrap: anywhere; text-underline-offset: .18em; }
.sp__content img { max-width: 100%; height: auto; }

@media (max-width: 767px) {
  .bg__hero, .ct__hero { padding: 106px 20px 24px !important; }
  .bg__hero h1, .ct__hero h1 { font-size: clamp(34px, 9.5vw, 44px) !important; }
  .bg__hero-lede, .ct__hero-lede { font-size: 16px; line-height: 1.6; }
  .bg__hero-meta { gap: 8px 16px !important; }
  .bg__filters { padding: 12px 16px; }
  .bg__filters-in { gap: 8px; flex-wrap: wrap !important; overflow: visible; }
  .bg__chip { padding: 10px 12px; font-size: 12px; letter-spacing: 0; }
  .bg__hubs { padding: 24px 20px !important; }
  .ct__hero-pills { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; text-align: left; }
  .ct__hero-pill { font-size: 12px; line-height: 1.5; }
  .ct__hero-pill b { display: block; font-size: 18px; }
  .ct__hero-cta { width: 100%; justify-content: center; }
  .ct__calendly { padding: 24px 16px 48px !important; }
  .ct__calendly-h { margin-bottom: 20px; }
  .sp__hero { padding: 106px 20px 24px !important; }
  .sp__hero h1 { font-size: clamp(32px, 8.6vw, 40px) !important; }
  .sp__hero-meta { font-size: 12px; gap: 8px 14px; }
  .sp__hero-meta .author { flex-basis: 100%; }
  .sp__body { padding: 8px 20px 48px !important; }
  .sp__content :is(p, li, .elementor-widget-text-editor) { font-size: 17px !important; line-height: 1.75 !important; }
  .v7__hero-slog { font-size: 22px !important; line-height: 1.3 !important; max-width: 30ch; }
}
@media (max-width: 360px) {
  .v7__nav { padding-inline: 10px !important; gap: 6px !important; }
  .v7__nav-logo-badge { padding: 6px !important; }
  .v7__nav-logo img { height: 38px !important; }
  .v7__nav-r .v7__nav-cta { padding-inline: 10px !important; letter-spacing: 0 !important; }
}
