/* Alinear este anuncio con su imagen destacada. */
body.single-post #post-170199767 .entry-wrapper,
body.single-post #post-170199767 .entry-content,
body.single-post #post-170199767 .entry-footer {
 width: 100%;
 max-width: 100%;
 margin-left: 0;
 margin-right: 0;
 float: none;
 clear: both;
}

/* El Samurai Moderno — Kabuto Seal · 30 septiembre 2026 */
:root {
  --esm-brand-ink: #151514;
  --esm-brand-red: #e32617;
  --esm-brand-paper: #ffffff;
  --esm-brand-muted: #555551;
  --esm-brand-line: #deded9;
}
body { background-color: #151514; color: #fff; font-family: "Open Sans", Arial, sans-serif; line-height: 1.65; }
body h1, body h2, body h3, body h4, body h5, body h6 {
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 700; text-transform: none; letter-spacing: -.025em;
}
body a, body a:visited { color: #fff; text-decoration-color: #e32617; text-underline-offset: 4px; }
body a:hover { color: #fff; text-decoration: underline; text-decoration-color: #e32617; }
body a:focus-visible, body button:focus-visible, body input:focus-visible, body select:focus-visible, body textarea:focus-visible, body summary:focus-visible { outline: 3px solid #e32617; outline-offset: 4px; }
body button, body input[type=submit], body input[type=button], body .wp-block-button__link {
  font-family: Montserrat, Arial, sans-serif; font-weight: 700;
  text-transform: none; letter-spacing: 0;
}
body button:not(:disabled), body input[type=submit], body .wp-block-button__link {
  background-color: #e32617; color: #fff; border-color: #e32617;
}
body button:not(:disabled):hover, body input[type=submit]:hover, body .wp-block-button__link:hover { background-color: #bd1e12; color: #fff; border-color: #bd1e12; }
body #masthead {
  display: flex; flex-direction: column; gap: 0; padding: 26px 0 0;
  margin: 0 0 32px !important; background: #151514;
}
body #masthead .site-branding { display: block !important; order: 0; margin: 0; }
body #masthead .site-logo-link { display: inline-block; margin: 0 0 18px; }
body #masthead img.site-logo {
  width: 320px; max-width: 100%; height: auto; object-fit: contain;
  content: url("https://elsamuraimoderno.com/wp-content/uploads/2026/09/el-samurai-moderno-horizontal-800x300-1.png");
}
body #masthead .site-title, body #masthead .site-description { display: none; }
body #masthead .navigation-wrapper { order: 1; margin: 0 !important; padding: 16px 0; border-top: 1px solid #42423f; border-bottom: 2px solid #e32617; }
body #masthead .main-navigation { float: none; width: 100%; max-width: 100%; margin: 0; padding: 0; }
body #masthead .main-navigation a {
  color: #fff; font-family: Montserrat, Arial, sans-serif; font-size: 12px;
  font-weight: 700; line-height: 1.6; letter-spacing: .02em; text-transform: none;
  padding: 4px 0; border: 0;
}
body #masthead .main-navigation .current-menu-item > a,
body #masthead .main-navigation a:hover { text-decoration: underline; text-decoration-color: #e32617; text-decoration-thickness: 2px; text-underline-offset: 6px; }
body #masthead .main-navigation li { float: none; margin: 0; }
body #masthead .menu-toggle { border: 1px solid #e32617; padding: 10px 18px; font-size: 14px; }
body #masthead .menu-toggle:after { color: #fff; }
body .entry-title { font-size: clamp(30px, 4vw, 48px); line-height: 1.15; }
body .entry-title a { text-decoration: none; }
body .entry-title a:hover { text-decoration: underline; }
body:not(.home) .entry-header .entry-title,
body:not(.home) .entry-header .entry-title a,
body:not(.home) .entry-header .entry-title a:visited { color: #fff !important; }
body .entry-meta, body .entry-footer, body .widget-title { color: #d3d3ce; }
body .entry-meta a, body .entry-footer a { color: #fff; }
body blockquote { border-color: #e32617; }
body .page-numbers.current { background: #e32617; color: #fff; }
body #colophon { clear: both; float: none; width: 100%; padding: 34px 0 28px; margin-top: 44px; border-top: 2px solid #e32617; color: #d3d3ce; }
body #colophon:before { content: ""; display: block; width: 240px; height: 90px; margin-bottom: 18px; background: url("https://elsamuraimoderno.com/wp-content/uploads/2026/09/el-samurai-moderno-horizontal-800x300-1.png") left center / contain no-repeat; }
body #colophon .site-info { font: 12px/1.6 "Open Sans", Arial, sans-serif; }
body #colophon a { color: #d3d3ce; }
body #infinite-footer .container { background: #151514; border-top: 1px solid #e32617; color: #fff; }
body #infinite-footer a, body #infinite-footer a:visited { color: #fff; }
body .esm-home { background: #fff; color: #151514; font-family: "Open Sans", Arial, sans-serif; }
body .esm-home p { font-family: "Open Sans", Arial, sans-serif; }
body .esm-home h1, body .esm-home h2, body .esm-home h3 { font-family: Montserrat, Arial, sans-serif; font-weight: 700; }
body .esm-home h1 { font-size: clamp(34px, 5vw, 58px); line-height: 1.08; letter-spacing: -.04em; }
body .esm-home a { color: #151514; text-decoration-color: #e32617; }
body .esm-home a:hover { color: #ad1b10; }
body .esm-home .eh-hero { border-top-color: #e32617; }
body .esm-home .eh-label, body .esm-home .eh-num { color: #ad1b10; }
body .esm-home .eh-lead, body .esm-home .eh-note { color: #555551; }
body .esm-home .eh-card, body .esm-home .eh-book { background: #fff; border-color: #deded9; }
body .esm-home .eh-pale, body .esm-home .eh-external { background: #f3f3ef; }
body .esm-home .eh-button, body .esm-home .eh-news .eh-button { background: #e32617; color: #fff; border-color: #e32617; }
body .esm-home .eh-button:hover, body .esm-home .eh-news .eh-button:hover { background: #bd1e12; color: #fff; }
body .esm-home .eh-news { background: #151514; color: #fff; }
body .esm-home .eh-news .eh-label { color: #fff; }
body .esm-home .eh-footer, body .esm-home .eh-external, body .esm-home .eh-external-image { border-color: #deded9; }
body.home #post-3 .wp-block-newspack-blocks-homepage-articles { background: #fff; color: #151514; }
body.home #post-3 .wp-block-newspack-blocks-homepage-articles h2 { font-family: Montserrat, Arial, sans-serif; }
body.home #post-3 .wp-block-newspack-blocks-homepage-articles a { color: #151514; }
body.home #post-3 .wp-block-newspack-blocks-homepage-articles p { color: #555551; font-family: "Open Sans", Arial, sans-serif; }
body .esm-home .eh-banner {
  display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 28px;
  align-items: center; position: relative; padding: 34px 30px; background: #151514;
  color: #fff; border-top: 4px solid #e32617; text-decoration: none;
}
body .esm-home .eh-banner:hover { color: #fff; background: #20201e; text-decoration: none; }
body .esm-home .eh-banner-kicker { display: block; font: 700 11px/1.6 "Open Sans", Arial, sans-serif; letter-spacing: .1em; margin-bottom: 16px; }
body .esm-home .eh-banner-title { display: block; font: 700 clamp(25px,3.4vw,38px)/1.12 Montserrat,Arial,sans-serif; letter-spacing: -.03em; margin-bottom: 24px; }
body .esm-home .eh-banner-cta { display: inline-block; padding: 11px 16px; border-radius: 3px; background: #e32617; color: #fff; font: 700 14px/1.5 Montserrat,Arial,sans-serif; }
body .esm-home .eh-banner-brand img { width: 220px; max-width: 100%; height: auto; object-fit: contain; }
@media (max-width: 700px) {
  body .esm-home .eh-banner { grid-template-columns: 1fr; gap: 24px; padding: 28px 22px; }
  body .esm-home .eh-banner-brand { grid-row: 1; }
  body .esm-home .eh-banner-brand img { width: 180px; }
  body .esm-home .eh-banner-title { font-size: 29px; }
}
@media (min-width: 801px) {
  body #masthead .main-navigation ul { display: flex; flex-wrap: wrap; gap: 12px 24px; }
  body #masthead .main-navigation li { max-width: 238px; }
}
@media (max-width: 800px) {
  body #masthead { padding-top: 16px; margin-bottom: 24px !important; }
  body #masthead img.site-logo { width: 240px; }
  body #masthead .site-logo-link { margin-bottom: 14px; }
  body #masthead .main-navigation ul { display: none; }
  body #masthead .main-navigation.toggled ul { display: block; margin: 16px 0 0; }
  body #masthead .main-navigation li { margin: 10px 0; }
  body #masthead .menu-toggle { display: inline-block; position: static; float: none; margin: 0; }
  body #masthead .navigation-wrapper { padding: 14px 0; }
  body #colophon:before { width: 220px; height: 82.5px; }
  body .entry-title { font-size: 32px; }
}
@media (max-width: 359px) { body #masthead img.site-logo { width: 200px; } }
/* Elementos externos al contenedor de cada pagina. */
body #post-170199781 { background: #fff; border-top-color: #e32617; color: #151514; }
body #post-170199678 form { background: #fff; color: #151514; font-family: "Open Sans", Arial, sans-serif; }
body #post-170199678 form label { color: #151514; font-family: "Open Sans", Arial, sans-serif; }
body #post-170199678 form input:not([type=hidden]):not([type=checkbox]):not([type=submit]), body #post-170199678 form textarea { background: #fff; color: #151514; border-color: #777772; font-family: "Open Sans", Arial, sans-serif; }
body #post-170199678 form input:focus, body #post-170199678 form textarea:focus, body #post-170199678 form button:focus-visible { outline-color: #e32617; }
body #post-170199678 form button[type=submit] { background: #e32617; color: #fff; border-color: #e32617; font-family: Montserrat, Arial, sans-serif; }
body #post-170199678 form button[type=submit]:hover { background: #bd1e12; border-color: #bd1e12; }
body.page-id-426 #post-426 .wp-block-video,
body.page-id-426 #post-426 .wp-block-premium-content-container { background: #fff; color: #151514; font-family: "Open Sans", Arial, sans-serif; }
body.page-id-426 #post-426 .wp-block-premium-content-container h3 { font-family: Montserrat, Arial, sans-serif; font-weight: 700; color: #151514; }
body.page-id-426 #post-426 #recurring-payments-762 { background: #e32617; color: #fff; font-family: Montserrat, Arial, sans-serif; }
body.page-id-426 #post-426 #recurring-payments-762:hover { background: #bd1e12; color: #fff; }
body .gt_float_switcher { color: #151514; font-family: "Open Sans", Arial, sans-serif; }
body .gt_float_switcher .gt_options a { color: #151514; }
body .gt_float_switcher .gt_options a:hover { color: #ad1b10; background: #f3f3ef; }
@media (max-width: 800px) {
  body #gt_float_wrapper { position: absolute !important; top: 44px !important; bottom: auto !important; right: 12px !important; }
  body.admin-bar #gt_float_wrapper { top: 90px !important; }
  body .gt_float_switcher { font-size: 12px; line-height: 16px; }
  body .gt_float_switcher .gt-current-lang { padding: 8px; }
  body .gt_float_switcher img { width: 20px; }
  body .jetpack-subscribe-floating-button { position: static !important; width: 90%; margin: 0 auto 24px; text-align: left; }
  body .jetpack-subscribe-floating-button .wp-block-jetpack-subscriptions { margin: 0 !important; }
}


/* Kabuto Seal: page-content overrides only.
 * Scoped to the three existing content wrappers. No layout/display, pricing,
 * visibility, image, disabled-state, or third-party artwork changes.
 * !important defeats the existing page-embedded styles loaded later.
 */

/* Career page */
#post-170199678 .esm-career {
  --ink: #151514 !important;
  --muted: rgba(21, 21, 20, .72) !important;
  --gold: #e32617 !important;
  --paper: #fff !important;
  color: #151514 !important;
  background-color: #fff !important;
  font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
}

#post-170199678 .esm-career h1,
#post-170199678 .esm-career h2,
#post-170199678 .esm-career h3,
#post-170199678 .esm-career h4,
#post-170199678 .esm-career h5,
#post-170199678 .esm-career h6 {
  font-family: Montserrat, Arial, Helvetica, sans-serif !important;
  font-weight: 700 !important;
}

#post-170199678 .esm-career .esm-hero,
#post-170199678 .esm-career .esm-cta,
#post-170199678 .esm-career .esm-jobs-cv {
  background-color: #151514 !important;
  color: #fff !important;
}

#post-170199678 .esm-career .esm-hero {
  border-top-color: #e32617 !important;
}

/* White copy retains adequate contrast inside the charcoal panels. */
#post-170199678 .esm-career .esm-kicker,
#post-170199678 .esm-career .esm-hero h2 span,
#post-170199678 .esm-career .esm-cta .esm-eyebrow,
#post-170199678 .esm-career .esm-cta .esm-small a,
#post-170199678 .esm-career .esm-jobs-cv h3,
#post-170199678 .esm-career .esm-jobs-cv .esm-secondary {
  color: #fff !important;
}

#post-170199678 .esm-career .esm-eyebrow,
#post-170199678 .esm-career .esm-number,
#post-170199678 .esm-career .esm-steps li::before {
  color: #e32617 !important;
}

#post-170199678 .esm-career .esm-strip,
#post-170199678 .esm-career .esm-alt,
#post-170199678 .esm-career .esm-jobs {
  background-color: rgba(21, 21, 20, .04) !important;
}

#post-170199678 .esm-career .esm-jobs {
  border-top-color: #e32617 !important;
}

#post-170199678 .esm-career .esm-card,
#post-170199678 .esm-career .esm-jobs-meta span,
#post-170199678 .esm-career .esm-jobs-tools,
#post-170199678 .esm-career .esm-jobs-country,
#post-170199678 .esm-career .esm-jobs table {
  background-color: #fff !important;
}

#post-170199678 .esm-career .esm-card,
#post-170199678 .esm-career .esm-steps li,
#post-170199678 .esm-career details,
#post-170199678 .esm-career .esm-jobs-meta span,
#post-170199678 .esm-career .esm-jobs-tools,
#post-170199678 .esm-career .esm-jobs-country,
#post-170199678 .esm-career .esm-jobs-scroll,
#post-170199678 .esm-career .esm-jobs td,
#post-170199678 .esm-career .esm-jobs tr {
  border-color: rgba(21, 21, 20, .18) !important;
}

#post-170199678 .esm-career .esm-note {
  border-left-color: #e32617 !important;
}

#post-170199678 .esm-career .esm-jobs-tools label,
#post-170199678 .esm-career .esm-jobs-tools input,
#post-170199678 .esm-career .esm-jobs-tools select,
#post-170199678 .esm-career .esm-jobs th,
#post-170199678 .esm-career .wp-block-jetpack-button a {
  font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
}

#post-170199678 .esm-career .esm-jobs-tools label,
#post-170199678 .esm-career .esm-job-detail summary {
  color: #151514 !important;
}

#post-170199678 .esm-career .esm-jobs-tools input:not(:disabled),
#post-170199678 .esm-career .esm-jobs-tools select:not(:disabled) {
  color: #151514 !important;
  background-color: #fff !important;
  border-color: rgba(21, 21, 20, .5) !important;
}

#post-170199678 .esm-career .esm-jobs th {
  background-color: #151514 !important;
  color: #fff !important;
}

#post-170199678 .esm-career .esm-jobs-country > summary span,
#post-170199678 .esm-career .esm-jobs caption,
#post-170199678 .esm-career .esm-job-company,
#post-170199678 .esm-career .esm-job-level,
#post-170199678 .esm-career .esm-jobs-note,
#post-170199678 .esm-career .esm-jobs td[data-label]::before {
  color: rgba(21, 21, 20, .72) !important;
}

#post-170199678 .esm-career .esm-button:not(:disabled):not([aria-disabled="true"]):not(.disabled):not(.is-disabled),
#post-170199678 .esm-career .wp-block-jetpack-button a:not([aria-disabled="true"]):not(.disabled):not(.is-disabled) {
  background-color: #e32617 !important;
  border-color: #e32617 !important;
  color: #fff !important;
}

#post-170199678 .esm-career .esm-button:not(:disabled):not([aria-disabled="true"]):not(.disabled):not(.is-disabled):hover,
#post-170199678 .esm-career .wp-block-jetpack-button a:not([aria-disabled="true"]):not(.disabled):not(.is-disabled):hover {
  background-color: #151514 !important;
  border-color: #151514 !important;
  color: #fff !important;
}

#post-170199678 .esm-career .esm-hero .esm-button:not(:disabled):not([aria-disabled="true"]):not(.disabled):not(.is-disabled):hover,
#post-170199678 .esm-career .esm-cta .esm-button:not(:disabled):not([aria-disabled="true"]):not(.disabled):not(.is-disabled):hover,
#post-170199678 .esm-career .esm-jobs-cv .esm-button:not(:disabled):not([aria-disabled="true"]):not(.disabled):not(.is-disabled):hover {
  background-color: #fff !important;
  border-color: #fff !important;
  color: #151514 !important;
}

#post-170199678 .esm-career .esm-job-link:not([aria-disabled="true"]):not(.disabled):not(.is-disabled) {
  background-color: #fff !important;
  border-color: #151514 !important;
  color: #151514 !important;
}

#post-170199678 .esm-career .esm-job-link:not([aria-disabled="true"]):not(.disabled):not(.is-disabled):hover {
  background-color: #151514 !important;
  color: #fff !important;
}

#post-170199678 .esm-career a:focus-visible,
#post-170199678 .esm-career summary:focus-visible,
#post-170199678 .esm-career input:not(:disabled):focus-visible,
#post-170199678 .esm-career select:not(:disabled):focus-visible,
#post-170199678 .esm-career .esm-jobs-scroll:focus-visible {
  outline-color: #e32617 !important;
}

/* Preserve the existing mobile table's transparent cells and stacked layout. */
@media (min-width: 651px) {
  #post-170199678 .esm-career .esm-jobs tr:nth-child(even) td {
    background-color: rgba(21, 21, 20, .04) !important;
  }
}

@media (max-width: 650px) {
  #post-170199678 .esm-career .esm-jobs tr:nth-child(even) {
    background-color: rgba(21, 21, 20, .04) !important;
  }
}

/* Think Tank page */
#post-170198877 .esm-think {
  color: #151514 !important;
  background-color: #fff !important;
  font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
}

#post-170198877 .esm-think h1,
#post-170198877 .esm-think h2,
#post-170198877 .esm-think h3,
#post-170198877 .esm-think h4,
#post-170198877 .esm-think h5,
#post-170198877 .esm-think h6 {
  font-family: Montserrat, Arial, Helvetica, sans-serif !important;
  font-weight: 700 !important;
}

#post-170198877 .esm-think p {
  font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
}

#post-170198877 .esm-think .tt-label {
  color: #e32617 !important;
}

#post-170198877 .esm-think .tt-hero {
  background-color: #151514 !important;
  border-top-color: #e32617 !important;
  color: #fff !important;
}

#post-170198877 .esm-think .tt-pale,
#post-170198877 .esm-think .tt-initials {
  background-color: rgba(21, 21, 20, .04) !important;
}

#post-170198877 .esm-think .tt-card,
#post-170198877 .esm-think .tt-person {
  background-color: #fff !important;
  border-color: rgba(21, 21, 20, .18) !important;
}

#post-170198877 .esm-think .tt-initials {
  color: #151514 !important;
  font-family: Montserrat, Arial, Helvetica, sans-serif !important;
  font-weight: 700 !important;
}

#post-170198877 .esm-think .tt-note {
  color: rgba(21, 21, 20, .72) !important;
}

#post-170198877 .esm-think a:not(.tt-button):not([aria-disabled="true"]):not(.disabled):not(.is-disabled) {
  color: #e32617 !important;
}

#post-170198877 .esm-think .tt-hero .tt-label,
#post-170198877 .esm-think .tt-hero a:not(.tt-button):not([aria-disabled="true"]):not(.disabled):not(.is-disabled) {
  color: #fff !important;
}

#post-170198877 .esm-think .tt-button:not(:disabled):not([aria-disabled="true"]):not(.disabled):not(.is-disabled) {
  background-color: #e32617 !important;
  color: #fff !important;
}

#post-170198877 .esm-think .tt-button:not(:disabled):not([aria-disabled="true"]):not(.disabled):not(.is-disabled):hover {
  background-color: #151514 !important;
  color: #fff !important;
}

#post-170198877 .esm-think .tt-hero .tt-button:not(:disabled):not([aria-disabled="true"]):not(.disabled):not(.is-disabled):hover {
  background-color: #fff !important;
  color: #151514 !important;
}

#post-170198877 .esm-think a:focus-visible {
  outline-color: #e32617 !important;
}

/* Professional Directory introduction */
#post-170199781 #esm-directory-intro {
  --esm-ink: #151514 !important;
  --esm-muted: rgba(21, 21, 20, .72) !important;
  --esm-paper: #fff !important;
  --esm-line: rgba(21, 21, 20, .18) !important;
  --esm-accent: #e32617 !important;
  color: #151514 !important;
  font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
}

#post-170199781 #esm-directory-intro h1,
#post-170199781 #esm-directory-intro h2,
#post-170199781 #esm-directory-intro h3,
#post-170199781 #esm-directory-intro h4,
#post-170199781 #esm-directory-intro h5,
#post-170199781 #esm-directory-intro h6 {
  font-family: Montserrat, Arial, Helvetica, sans-serif !important;
  font-weight: 700 !important;
}

#post-170199781 #esm-directory-intro .esm-kicker,
#post-170199781 #esm-directory-intro .esm-number,
#post-170199781 #esm-directory-intro dt {
  color: #e32617 !important;
}

#post-170199781 #esm-directory-intro a:not(.esm-button):not([aria-disabled="true"]):not(.disabled):not(.is-disabled) {
  color: #e32617 !important;
}

#post-170199781 #esm-directory-intro .esm-button:not(:disabled):not([aria-disabled="true"]):not(.disabled):not(.is-disabled) {
  background-color: #e32617 !important;
  border-color: #e32617 !important;
  color: #fff !important;
}

#post-170199781 #esm-directory-intro .esm-button-alt:not(:disabled):not([aria-disabled="true"]):not(.disabled):not(.is-disabled) {
  background-color: transparent !important;
  border-color: #151514 !important;
  color: #151514 !important;
}

#post-170199781 #esm-directory-intro .esm-button:not(:disabled):not([aria-disabled="true"]):not(.disabled):not(.is-disabled):hover {
  background-color: #151514 !important;
  border-color: #151514 !important;
  color: #fff !important;
}

#post-170199781 #esm-directory-intro .esm-sample:not(.esm-sample-isa) {
  border-top-color: #e32617 !important;
}

/* Retain the existing ISA-specific accent, tag and sample colors. */
#post-170199781 #esm-directory-intro .esm-isa {
  border-left-color: #4dccdf !important;
}

#post-170199781 #esm-directory-intro .esm-isa .esm-kicker {
  color: var(--esm-muted) !important;
}

#post-170199781 #esm-directory-intro a:focus-visible,
#post-170199781 #esm-directory-intro summary:focus-visible {
  outline-color: #e32617 !important;
}


/* Kabuto Seal branding for the existing book/course wrappers only.
   Source: saved before-book.json and before-course.json live DOM styles.
   Site-level font loading supplies Montserrat 700 and Open Sans.
   Only typography and UI colours change; original geometry, media,
   galleries, prices, paywall behaviour and responsive rules remain intact.
   Doubled wrapper classes and !important supersede the page-local styles. */

.esm-book.esm-book,
.esm-course.esm-course {
  --esm-kabuto-ink: #151514;
  --esm-kabuto-red: #e32617;
  --esm-kabuto-white: #fff;
  background-color: var(--esm-kabuto-white) !important;
  color: var(--esm-kabuto-ink) !important;
  font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
  font-weight: 400 !important;
}

.esm-book.esm-book :is(p, ul, ol, li, a, blockquote, figure, figcaption, details, summary, label, button, input, select, textarea),
.esm-course.esm-course :is(p, ul, ol, li, a, blockquote, figure, figcaption, details, summary, label, button, input, select, textarea) {
  font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
}

.esm-book.esm-book :is(h1, h2, h3, h4, h5, h6),
.esm-course.esm-course :is(h1, h2, h3, h4, h5, h6) {
  font-family: "Montserrat", "Open Sans", Arial, sans-serif !important;
  font-weight: 700 !important;
  color: inherit !important;
}

.esm-book.esm-book :is(p, ul, ol, li, blockquote, figcaption, summary),
.esm-course.esm-course :is(p, ul, ol, li, blockquote, figcaption, summary) {
  color: inherit !important;
}

/* Light editorial surfaces; retain all original spacing and layouts. */
.esm-book.esm-book .eb-pale,
.esm-book.esm-book .eb-card,
.esm-course.esm-course .ec-pale,
.esm-course.esm-course .ec-card {
  background-color: var(--esm-kabuto-white) !important;
  color: var(--esm-kabuto-ink) !important;
}

.esm-book.esm-book .eb-card,
.esm-book.esm-book .eb-rail figure,
.esm-book.esm-book details,
.esm-course.esm-course .ec-card,
.esm-course.esm-course details,
.esm-course.esm-course .ec-linklist a {
  border-color: var(--esm-kabuto-ink) !important;
}

/* Gallery frame/letterbox colour only: no image sizing or artwork changes. */
.esm-book.esm-book .eb-rail figure,
.esm-book.esm-book .eb-archive img,
.esm-course.esm-course .ec-gallery img {
  background-color: var(--esm-kabuto-white) !important;
}

.esm-book.esm-book .eb-rail {
  scrollbar-color: var(--esm-kabuto-red) var(--esm-kabuto-white) !important;
}

.esm-book.esm-book blockquote,
.esm-course.esm-course blockquote {
  border-left-color: var(--esm-kabuto-red) !important;
}

.esm-book.esm-book .eb-label,
.esm-course.esm-course .ec-label {
  color: var(--esm-kabuto-red) !important;
}

.esm-book.esm-book .eb-note,
.esm-book.esm-book figcaption,
.esm-course.esm-course .ec-muted,
.esm-course.esm-course figcaption {
  color: var(--esm-kabuto-ink) !important;
}

.esm-book.esm-book .eb-price,
.esm-course.esm-course .ec-price {
  font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
  font-weight: 700 !important;
  color: inherit !important;
}

/* Red links on white; use white text throughout the charcoal heroes. */
.esm-book.esm-book a,
.esm-book.esm-book a:visited,
.esm-course.esm-course a,
.esm-course.esm-course a:visited {
  color: var(--esm-kabuto-red) !important;
}

.esm-book.esm-book a:hover,
.esm-course.esm-course a:hover {
  color: var(--esm-kabuto-ink) !important;
}

.esm-book.esm-book .eb-hero,
.esm-course.esm-course .ec-hero {
  background-color: var(--esm-kabuto-ink) !important;
  color: var(--esm-kabuto-white) !important;
  border-top-color: var(--esm-kabuto-red) !important;
}

.esm-book.esm-book .eb-hero .eb-label,
.esm-book.esm-book .eb-hero .eb-note,
.esm-book.esm-book .eb-hero figcaption,
.esm-course.esm-course .ec-hero .ec-label,
.esm-course.esm-course .ec-hero .ec-muted,
.esm-course.esm-course .ec-hero figcaption {
  color: var(--esm-kabuto-white) !important;
}

.esm-book.esm-book .eb-hero a,
.esm-book.esm-book .eb-hero a:visited,
.esm-book.esm-book .eb-hero a:hover,
.esm-course.esm-course .ec-hero a,
.esm-course.esm-course .ec-hero a:visited,
.esm-course.esm-course .ec-hero a:hover {
  color: var(--esm-kabuto-white) !important;
}

/* Explicit hero/visited selectors also override the legacy gold/cyan CTAs. */
.esm-book.esm-book .eb-button,
.esm-book.esm-book .eb-button:visited,
.esm-book.esm-book .eb-hero .eb-button,
.esm-book.esm-book .eb-hero .eb-button:visited,
.esm-course.esm-course .ec-button,
.esm-course.esm-course .ec-button:visited,
.esm-course.esm-course .ec-hero .ec-button,
.esm-course.esm-course .ec-hero .ec-button:visited {
  background-color: var(--esm-kabuto-red) !important;
  color: var(--esm-kabuto-white) !important;
  font-weight: 700 !important;
}

.esm-book.esm-book .eb-button:hover,
.esm-course.esm-course .ec-button:hover {
  background-color: var(--esm-kabuto-ink) !important;
  color: var(--esm-kabuto-white) !important;
}

.esm-book.esm-book .eb-hero .eb-button:hover,
.esm-course.esm-course .ec-hero .ec-button:hover {
  background-color: var(--esm-kabuto-white) !important;
  color: var(--esm-kabuto-ink) !important;
}

.esm-book.esm-book a:focus-visible,
.esm-book.esm-book summary:focus-visible,
.esm-book.esm-book .eb-rail:focus-visible,
.esm-course.esm-course a:focus-visible,
.esm-course.esm-course summary:focus-visible {
  outline-color: var(--esm-kabuto-red) !important;
}