/* ==========================================================================
   J-HyTEL STYLESHEET — v34 ALIGNED HOME SECTIONS + FOOTER EDGE FIX
   Source: J-HyTEL_Stylesheet_v24.5_no-plugin(1).css
   Revision date: 7 August 2026

   RELEASE PURPOSE
   - Separate ownership of each visual component using searchable anchors.
   - Preserve the original selector order, declarations, values, media queries,
     specificity, and cascade behaviour.
   - Make future changes local and auditable instead of appending broad global
     overrides that unintentionally affect unrelated pages.

   RELEASE CHANGES
   - Aligns Global Authorship and all following homepage modules with the
     full article-list + Call for Papers row width.
   - Preserves the existing v31 visual system and selector order.
   - Removes the second, identical copy of the National Accreditation patch.
   - Retains one isolated accreditation owner section at @JH-13B.
   - Adds scoped paragraph handling for the “What Is SINTA?” explanation.
   - Leaves the Global Authorship mobile-stability rules unchanged.
   - Research Declarations remain rendered server-side by the generic plugin.
   - Removes the residual white strip below the custom footer on the homepage.

   HOW TO NAVIGATE
   - Search an exact anchor such as @JH-03B.
   - Do not depend on line numbers.
   - Edit a component only inside its owner section.
   - Rules marked GLOBAL / HIGH IMPACT must never be changed to fix one card,
     modal, button, or custom page.

   MASTER TABLE OF CONTENTS
   00    @JH-00A–@JH-00H     Global foundations and legacy OJS base
   01    @JH-01A–@JH-01K     Homepage issue, profile, impact, and utility components
   02    @JH-02A–@JH-02I     Homepage suite: resources, timeline, CFP, pairing, CTA, publication/audio refinements, combined author hub
   03    @JH-03A–@JH-03H     Homepage indexing, connect bar, visitors popup, rhythm
   04    @JH-04A–@JH-04H     Homepage compact panels, news, SDGs, subjects, profile
   05    @JH-05A–@JH-05J     Article and issue components
   06    @JH-06A–@JH-06B     Global footer and journal links
   07–30 @JH-07–@JH-30       Individually namespaced policy and information pages
   31    @JH-31A–@JH-31C     Intentional final overrides and reviewer components

   DETAILED COMPONENT INDEX
   @JH-00A  Fonts and article-listing foundations
   @JH-00B  Legacy sliders, counters, and scrolling timeline
   @JH-00C  Legacy author-detail primitives and fallback fonts
   @JH-00D  Global typography, links, navigation, footer, buttons, and forms
   @JH-00E  Legacy homepage current-issue presentation
   @JH-00F  Issue and article-page legacy presentation
   @JH-00G  Custom-page, submission, editorial, archive, and pagination base
   @JH-00H  Global tail overrides and native details/summary defaults
   @JH-01A  Current-issue CTA, cover preview, author flags, and abstract preview
   @JH-01B  Current-issue feature card
   @JH-01C  Issue description and homepage hero actions
   @JH-01D  About-journal card and modal
   @JH-01E  Author-geography card and modal
   @JH-01F  Impact card and modal base
   @JH-01G  Impact quartile accordion base
   @JH-01H  Homepage footer hub and visitor modal
   @JH-01I  Homepage information accordion
   @JH-01J  Homepage publication-fee banner
   @JH-01K  Homepage author tools
   @JH-02A  Homepage suite foundation
   @JH-02B  Author resources
   @JH-02C  Publishing timeline
   @JH-02D  Current call for papers
   @JH-02E  Homepage article list and call-for-papers pairing
   @JH-02F  Homepage CTA harmonisation and docked-CFP alignment
   @JH-02G  Homepage theme rhythm refinement
   @JH-02H  Homepage publication date, Read Update restoration, and manual audio
   @JH-02I  Combined editorial review and author resources hub
   @JH-03A  Homepage indexing cards base
   @JH-03B  Publisher, background-music, and visitor-action connect bar
   @JH-03C  Visitor-statistics popup
   @JH-03D  Connect-bar and visitor-popup responsive rules
   @JH-03E  Homepage section rhythm
   @JH-03F  Legacy call-for-papers compatibility overrides
   @JH-03G  Indexing disclosure and compact indexing overrides
   @JH-03H  Final homepage responsive compatibility rules
   @JH-04A  Compact home-panel foundation and access cards
   @JH-04B  Compact SDG grid
   @JH-04C  News slider
   @JH-04D  SDG marquee and showcase
   @JH-04E  Access-card polish and shared card-arrow rules
   @JH-04F  Subject-area cards
   @JH-04G  Journal-profile card and modal
   @JH-04H  Editorial-person links and homepage description tail
   @JH-05A  Article references
   @JH-05B  Article summary metadata card
   @JH-05C  Article author identities, affiliations, and biography modal
   @JH-05D  Article SDG panel
   @JH-05E  Article sidebar cover and keyword chips
   @JH-05F  Article-summary SDG overlays
   @JH-05G  Article metric badges
   @JH-05H  Institution and editorial overview
   @JH-05I  Article metric spacing tail
   @JH-05J  Article-page PDF CTA, usage metrics, snapshot, and compact CFP
   @JH-05K  Article header alignment, compact metrics, and researcher tools
   @JH-05L  Article research transparency and declarations
   @JH-06A  Global footer
   @JH-06B  Journal identifier links
   @JH-07   Aims and scope custom page
   @JH-08   Publication model custom page
   @JH-09   Archiving and preservation custom page
   @JH-10   Copyright and licensing custom page
   @JH-11   Publication ethics custom page
   @JH-12   Plagiarism policy custom page
   @JH-13   Abstracting, indexing, and national accreditation custom pages
   @JH-14   Article processing charges custom page
   @JH-15   Reviewer guidelines custom page
   @JH-16   Journal history custom page
   @JH-17   Open-access policy custom page
   @JH-18   Withdrawal, retraction, and correction custom page
   @JH-19   Funding and editorial independence custom page
   @JH-20   Peer-review policy custom page
   @JH-21   Manuscript workflow custom page
   @JH-22   Reviewer registration custom page
   @JH-23   Direct-marketing custom page
   @JH-24   Advertising-policy custom page
   @JH-25   Privacy-statement custom page
   @JH-26   Publisher and governance custom page
   @JH-27   Generative-AI master policy custom page
   @JH-28   Preprint and prior-dissemination custom page
   @JH-29   Article-license transition notice
   @JH-30   Revenue and business-model custom page
   @JH-31A  Final impact-page targeted overrides
   @JH-31B  Reviewer roster cards
   @JH-31C  Country and region list

   CHANGE IDENTIFICATION CONVENTION
   Place one comment immediately above a deliberately changed rule:

     [FIX YYYY-MM-DD | @JH-XX | concise reason]
     [TUNE YYYY-MM-DD | @JH-XX | concise reason]
     [NEW YYYY-MM-DD | @JH-XX | concise reason]
     [REMOVE YYYY-MM-DD | @JH-XX | concise reason]

   MAINTENANCE RULES
   1. Upload the FULL stylesheet to OJS; split files are maintenance sources.
   2. Preserve the segment load order listed in CSS_SEGMENT_MANIFEST.csv.
   3. Never move an override earlier or later without regression testing.
   4. Prefer unique component namespaces over selectors such as a, .btn, h2,
      details, summary, th, .form-control, or .page-content p.
   5. Keep @JH anchors stable so later revisions remain traceable.
   ========================================================================== */

/* ==========================================================================
   @JH-00 — 00 — FILE HEADER, TYPOGRAPHY, LEGACY CORE, GLOBAL OJS COMPONENTS
   Maintenance anchor: search exactly for @JH-00
   ========================================================================== */

/* ==========================================================================
   @JH-00A — FONTS AND ARTICLE-LISTING FOUNDATIONS
   Owner selectors: @font-face; .article-author-*; .article-summary-*
   Scope status: GLOBAL / shared article-listing foundation
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* [NEW 2026-08-01 | @JH-00A | High Cruiser Regular TTF display font for current-issue heading] */
@font-face {
  font-family: "HighCruiser";
  src: url("/High%20Cruiser%20Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Perpetua Std";
  src: url("https://db.onlinewebfonts.com/t/0d1d8683d02e64562de65a232481ce57.eot");
  src:
    url("https://db.onlinewebfonts.com/t/0d1d8683d02e64562de65a232481ce57.eot?#iefix") format("embedded-opentype"),
    url("https://db.onlinewebfonts.com/t/0d1d8683d02e64562de65a232481ce57.woff2") format("woff2"),
    url("https://db.onlinewebfonts.com/t/0d1d8683d02e64562de65a232481ce57.woff") format("woff"),
    url("https://db.onlinewebfonts.com/t/0d1d8683d02e64562de65a232481ce57.ttf") format("truetype"),
    url("https://db.onlinewebfonts.com/t/0d1d8683d02e64562de65a232481ce57.svg#Perpetua Std") format("svg");
}

@font-face {
  font-family: "Perpetua";
  src:
    local("Perpetua"),
    local("Perpetua Regular"),
    url("/perpetua.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: block;
}

@font-face {
  font-family: "Perpetua";
  src:
    local("Perpetua Italic"),
    local("Perpetua-Italic"),
    url("/perpetua-italic.ttf") format("truetype");
  font-style: italic;
  font-weight: 400;
  font-display: block;
}

@font-face {
  font-family: "NexusSansTF-Regular";
  src: url("https://edutech-journals.org/fonts/nexus-sans-regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: optional;
}

@font-face {
  font-family: "Ysabeau Office";
  font-style: italic;
  font-weight: 1 1000;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/ysabeauoffice/v4/LDIpapaZKhM9RuQIp8FmdYrPPPLMg7AR9hGL.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

.article-author-row {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  width: 100%;
}

.article-author-list {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 4px;
  min-width: 0;
}

.article-author-item {
  position: relative;
}

.article-author-name {
  font-family: "Perpetua";
  font-weight: 300;
  font-size: 20px;
  font-variant: unicase;
  font-style: italic;
}

.article-author-item sup {
  margin-left: 2px;
  font-size: 0.7em;
}

.article-author-separator {
  margin-right: 2px;
}

.article-author-tooltip {
  position: absolute;
  z-index: 9999;
  top: calc(100% + 8px);
  left: 50%;
  display: block;
  visibility: hidden;
  width: min(440px, calc(100vw - 32px));
  max-width: min(440px, calc(100vw - 32px));
  height: auto;
  max-height: none;
  padding: 18px 20px;
  overflow: visible;
  color: #fff;
  background: linear-gradient(145deg, #59174d 0%, #35122f 100%);
  border: 1px solid #a85fba;
  border-top: 1cap solid #e311ff;
  border-radius: 12px;
  box-shadow:
    0 18px 40px rgba(53, 18, 47, 0.3),
    0 4px 12px rgba(53, 18, 47, 0.18);
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.52;
  text-align: left;
  text-shadow: none;
  white-space: normal;
  overflow-wrap: anywhere;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -4px);
  transition:
    opacity 0.15s ease,
    transform 0.15s ease,
    visibility 0.15s ease;
}

.article-author-tooltip::before {
  content: "";
  position: absolute;
  top: -7px;
  left: 50%;
  width: 12px;
  height: 12px;
  background: #59174d;
  border-top: 1px solid #a85fba;
  border-left: 1px solid #a85fba;
  transform: translateX(-50%) rotate(45deg);
}

.article-author-item:hover .article-author-tooltip,
.article-author-item:focus-within .article-author-tooltip {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.article-author-item:first-child .article-author-tooltip {
  left: 0;
  transform: translate(0, -4px);
}

.article-author-item:first-child:hover .article-author-tooltip,
.article-author-item:first-child:focus-within .article-author-tooltip {
  transform: translate(0, 0);
}

.article-author-item:first-child .article-author-tooltip::before {
  left: 22px;
  transform: rotate(45deg);
}

.article-author-item:last-child .article-author-tooltip {
  right: 0;
  left: auto;
  transform: translate(0, -4px);
}

.article-author-item:last-child:hover .article-author-tooltip,
.article-author-item:last-child:focus-within .article-author-tooltip {
  transform: translate(0, 0);
}

.article-author-item:last-child .article-author-tooltip::before {
  right: 22px;
  left: auto;
  transform: rotate(45deg);
}

.article-author-tooltip-name,
.article-author-tooltip-affiliation,
.article-author-tooltip-bio,
.article-author-tooltip-empty,
.article-author-tooltip-hint {
  display: block;
}

.article-author-tooltip-name {
  margin-bottom: 5px;
  color: #fff;
  font-size: 18px;
  font-weight: 300;
  letter-spacing: 0.01em;
}

.article-author-tooltip-affiliation {
  margin-bottom: 8px;
  color: #ead9ef;
  font-size: 13.5px;
  line-height: 1.42;
}

.article-author-tooltip-country {
  display: flex;
  align-items: center;
  gap: 5px;
  width: max-content;
  max-width: 100%;
  margin-bottom: 13px;
  padding: 4px 8px;
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  font-size: 14px;
  font-weight: 300;
}

.author-country-icon {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.article-author-tooltip-bio,
.article-author-tooltip-bio p,
.article-author-tooltip-empty {
  margin: 0;
  color: #fff;
  font-size: 15px;
  line-height: 1.52;
}

.article-author-tooltip-bio p + p {
  margin-top: 7px;
}

.article-author-tooltip-empty {
  font-style: italic;
  opacity: 0.8;
}

.article-author-tooltip-bio a {
  color: #fff;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.article-author-tooltip-hint {
  margin-top: 13px;
  padding-top: 10px;
  color: #dec6e4;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 12.5px;
}

.article-summary:hover,
.article-summary:focus-within,
.obj_article_summary:hover,
.obj_article_summary:focus-within {
  position: relative;
  z-index: 100;
}

.summary-inline-icon {
  display: inline-block;
  width: 22px;
  height: 22px;
  margin-right: 5px;
  vertical-align: middle;
  fill: none;
  stroke: #610c3a;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.summary-author-icon {
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
}

.summary-doi-badge,
.summary-pdf-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 31px;
  height: 22px;
  margin-right: 5px;
  padding: 0 5px;
  vertical-align: middle;
  color: #fff;
  background: #610c3a;
  border-radius: 5px;
  font-family: Arial, sans-serif;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
}

.article-summary {
  position: relative;
  padding: 22px 0 24px;
  border-bottom: 1px solid #b9a9b2;
  overflow: visible;
}

.article-summary .article-summary-title {
  margin: 0 0 8px;
  line-height: 1.35;
}

.article-summary .article-summary-date {
  margin-bottom: 8px;
  color: #725d69;
  font-size: 0.86rem;
}

.article-summary-body {
  display: grid;
  grid-template-columns: minmax(150px, 220px) minmax(220px, 1fr) minmax(140px, auto);
  align-items: center;
  gap: 20px;
  min-width: 0;
}

.article-summary-cover-link {
  width: 100%;
  max-width: 220px;
  border-radius: 8px;
  outline-offset: 4px;
}

.article-summary-cover-preview {
  width: 100%;
  max-width: 220px;
}

.article-summary-cover-image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 44 / 27;
  object-fit: cover;
  background: #f4f1f3;
  border: 1px solid #82717a;
  border-radius: 8px;
  box-shadow: 0 5px 14px rgba(53, 18, 47, 0.1);
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease;
}

.article-summary-cover-link:hover .article-summary-cover-image,
.article-summary-cover-link:focus .article-summary-cover-image {
  transform: translateY(-2px);
  box-shadow: 0 9px 20px rgba(53, 18, 47, 0.16);
}

.article-summary-preview-label {
  position: absolute;
  right: 8px;
  bottom: 8px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 8px;
  color: #fff;
  background: rgba(53, 18, 47, 0.88);
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 999px;
  font-family: "Perpetua", Arial, sans-serif;
  font-size: 0.9rem;
  font-weight: 300;
  line-height: 1;
  opacity: 0;
  transform: translateY(4px);
  transition:
    opacity 0.16s ease,
    transform 0.16s ease;
}

.article-summary-preview-label svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.article-summary-cover-preview:hover .article-summary-preview-label,
.article-summary-cover-preview:focus-within .article-summary-preview-label {
  opacity: 1;
  transform: translateY(0);
}

.article-summary-preview-window {
  position: absolute;
  z-index: 10000;
  top: 50%;
  left: calc(100% + 14px);
  display: grid;
  visibility: hidden;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 18px;
  width: min(570px, calc(100vw - 48px));
  padding: 18px;
  color: #fff;
  background: linear-gradient(145deg, #59174d 0%, #35122f 100%);
  border: 1px solid #a85fba;
  border-top: 3px solid #e311ff;
  border-radius: 13px;
  box-shadow:
    0 20px 45px rgba(53, 18, 47, 0.34),
    0 5px 14px rgba(53, 18, 47, 0.2);
  text-align: left;
  opacity: 0;
  pointer-events: none;
  transform: translateY(calc(-50% - 4px));
  transition:
    opacity 0.16s ease,
    transform 0.16s ease,
    visibility 0.16s ease;
}

.article-summary-preview-window::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -7px;
  width: 12px;
  height: 12px;
  background: #59174d;
  border-bottom: 1px solid #a85fba;
  border-left: 1px solid #a85fba;
  transform: translateY(-50%) rotate(45deg);
}

.article-summary-cover-preview:hover .article-summary-preview-window,
.article-summary-cover-preview:focus-within .article-summary-preview-window {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(-50%);
}

.article-summary-preview-image {
  display: block;
  width: 190px;
  height: 118px;
  object-fit: cover;
  align-self: start;
  background: #f4f1f3;
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 8px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.22);
}

.article-summary-preview-content,
.article-summary-preview-title,
.article-summary-preview-heading,
.article-summary-preview-abstract,
.article-summary-preview-empty,
.article-summary-preview-hint {
  display: block;
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
}

.article-summary-preview-content {
  min-width: 0;
}

.article-summary-preview-title {
  margin-bottom: 9px;
  color: #fff;
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  font-size: 1.08rem;
  line-height: 1.3;
}

.article-summary-preview-heading {
  margin-bottom: 4px;
  color: #f4c9ff;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.article-summary-preview-abstract,
.article-summary-preview-empty {
  color: #fff;
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  font-size: 0.9rem;
  line-height: 1.43;
}

.article-summary-preview-empty {
  font-style: italic;
  opacity: 0.8;
}

.article-summary-preview-hint {
  margin-top: 10px;
  padding-top: 8px;
  color: #dec6e4;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 0.7rem;
}

.article-summary-metrics {
  display: grid;
  min-width: 0;
  color: #342b30;
  font-size: 1.1rem;
}

.article-summary-metric {
  min-width: 0;
}

.article-summary-metric > span:last-child {
  min-width: 0;
  overflow-wrap: anywhere;
}

.article-summary-metric .summary-inline-icon {
  flex: 0 0 22px;
  margin: 0;
}

.summary-metric-icon {
  height: 22px;
  color: #fff;
  background: #610c3a;
  border-radius: 5px;
  font-family: Arial, sans-serif;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.summary-metric-icon--id {
  background: #1f9d68;
}

.summary-metric-icon--doi {
  color: #4b3212;
  background: #f4b323;
}

.article-summary-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
  min-width: 130px;
  text-align: right;
}

.article-summary-open-access {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 26px;
  padding: 4px 9px;
  color: #54320a;
  background: #ffc447;
  border-radius: 4px;
  font-size: 1rem;
  font-weight: 100;
  line-height: 1;
}

.article-summary-open-access-icon {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.article-summary-galleys {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
}

.article-summary-galleys .btn,
.article-summary-galleys .galley-link {
  margin: 0;
}

.article-summary-actions .article-summary-pages {
  width: auto;
  color: #45383f;
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.3;
  text-transform: none;
}

@media (max-width: 900px) {
  .article-summary-body {
    grid-template-columns: minmax(145px, 190px) minmax(200px, 1fr);
  }

  .article-summary-actions {
    grid-column: 1 / -1;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    min-width: 0;
  }

  .article-summary-preview-window {
    top: calc(100% + 12px);
    left: 0;
    grid-template-columns: 150px minmax(0, 1fr);
    width: min(520px, calc(100vw - 40px));
    transform: translateY(-4px);
  }

  .article-summary-cover-preview:hover .article-summary-preview-window,
  .article-summary-cover-preview:focus-within .article-summary-preview-window {
    transform: translateY(0);
  }

  .article-summary-preview-window::before {
    top: -7px;
    left: 28px;
    border-top: 1px solid #a85fba;
    border-right: 0;
    border-bottom: 0;
    transform: rotate(45deg);
  }

  .article-summary-preview-image {
    width: 150px;
    height: 96px;
  }
}

@media (max-width: 600px) {
  .article-summary {
    padding: 18px 0 20px;
  }

  .article-summary-body {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .article-summary-cover-link {
    max-width: 100%;
  }

  .article-summary-cover-preview {
    max-width: 100%;
  }

  .article-summary-cover-image {
    max-height: 190px;
  }

  .article-summary-preview-window {
    display: none;
  }

  .article-summary-actions {
    grid-column: auto;
    justify-content: flex-start;
    text-align: left;
  }

  .article-author-list,
  .article-author-item {
    position: static;
  }

  .article-author-tooltip,
  .article-author-item:first-child .article-author-tooltip,
  .article-author-item:last-child .article-author-tooltip {
    top: calc(100% + 7px);
    right: auto;
    left: 0;
    width: 100%;
    max-width: 100%;
    padding: 15px 16px;
    transform: translateY(-4px);
  }

  .article-author-item:hover .article-author-tooltip,
  .article-author-item:focus-within .article-author-tooltip,
  .article-author-item:first-child:hover .article-author-tooltip,
  .article-author-item:first-child:focus-within .article-author-tooltip,
  .article-author-item:last-child:hover .article-author-tooltip,
  .article-author-item:last-child:focus-within .article-author-tooltip {
    transform: translateY(0);
  }

  .article-author-tooltip::before,
  .article-author-item:first-child .article-author-tooltip::before,
  .article-author-item:last-child .article-author-tooltip::before {
    right: auto;
    left: 48px;
    transform: rotate(45deg);
  }

  .article-author-tooltip-name {
    font-size: 16px;
  }

  .article-author-tooltip-affiliation,
  .article-author-tooltip-country {
    font-size: 12.5px;
  }

  .article-author-tooltip-bio,
  .article-author-tooltip-bio p,
  .article-author-tooltip-empty {
    font-size: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .article-author-tooltip,
  .article-summary-preview-label,
  .article-summary-preview-window {
    transition: none;
  }
}

/* ==========================================================================
   @JH-00B — LEGACY SLIDERS, COUNTERS, AND SCROLLING TIMELINE
   Owner selectors: .slider-*; .navigation; .circlestat; .scrolling-timeline
   Scope status: LEGACY / shared
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.slider-container {
  max-width: 800px;
  margin: 20px auto;
  border-radius: 10px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.slider-item {
  position: relative;
}

.slider-item img {
  width: auto;
  height: auto;
  border-radius: 10px;
}

.slider-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  padding: 15px;
  font-size: 16px;
}

.slider-caption h3 {
  margin: 0;
  font-size: 18px;
  font-weight: bold;
}

.slider-caption p {
  margin: 5px 0 0;
}

.navigation {
  position: absolute;
  top: 50%;
  width: 100%;
  display: flex;
  justify-content: space-between;
  transform: translateY(-50%);
}

.navigation button {
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  cursor: pointer;
  font-size: 18px;
}

.indicators {
  display: flex;
  justify-content: center;
  margin: 15px 0;
}

.indicators span {
  width: 10px;
  height: 10px;
  margin: 0 5px;
  background: #ccc;
  border-radius: 50%;
  display: inline-block;
  cursor: pointer;
}

.indicators span.active {
  background: #007bff;
}

.circlestat {
  position: relative;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: bold;
}

.circlestat .label {
  position: absolute;
  bottom: -20px;
  font-size: 12px;
  color: black;
}

.citescore {
  background-color: #003366;
  color: white;
}

.impactfactor {
  background-color: #ffcc00;
  color: white;
}

.slider-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 20px;
}

.date-event {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}

.event {
  margin: 0;
}

.icon-link {
  margin-left: 20px;
}

.icon-link img {
  width: 25px;
  height: 25px;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.icon-link:hover img {
  transform: scale(1.2);
}

.slider-wrapper {
  display: flex;
  transition: transform 0.5s ease-in-out;
  width: 300%;
}

.slider-item {
  flex: 0 0 100%;
  text-align: left;
}

.slider-container {
  overflow: hidden;
  position: relative;
}

.scrolling-timeline {
  max-width: 1200px;
  height: 40px;
  overflow: hidden;
  justify-content: center;
  white-space: nowrap;
  position: relative;
  background-color: #ebb6ff;
  border: 1px solid #ddd;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  font-family: "NexusSansTF-Regular";
  place-self: center;
}

.timeline-wrapper {
  display: flex;
  flex-direction: column;
  animation: scrollTimeline 9s linear infinite;
}

.timeline-item {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
  height: 30px;
  padding: 0 10px;
  text-align: center;
}

.year {
  font-weight: bold;
  color: #007bff;
  min-width: 60px;
}

.event {
  color: #555;
}

/* ==========================================================================
   @JH-00C — LEGACY AUTHOR-DETAIL PRIMITIVES AND FALLBACK FONTS
   Owner selectors: @font-face; .author-*; .article-details-authors
   Scope status: GLOBAL / legacy author foundation
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

@font-face {
  font-family: "NexusSansTF-Regular";
  src: url("https://db.onlinewebfonts.com/t/96af4c04b443456579a594b5c7a4701d.eot");
}

@font-face {
  font-family: "NexusSansTF-Regular";
  src: url("https://edutech-journals.org/NexusSansTF-Regular%20Regular.otf");
}

@font-face {
  font-family: "BerkeleyOld-Black";
  src: url("https://edutech-journals.org/BerkeleyOldstyleITCbyBT-Black.otf");
}

@font-face {
  font-family: "Cardo";
  src: url("https://edutech-journals.org/Cardo-Regular.ttf");
}

@font-face {
  font-family: "Perpetua";
  src: url("https://edutech-journals.org/perpetua.ttf");
}

.authors-string .author-string-href span {
  font-size: 18px;
  font-family: "Cardo";
  font-variant: unicase;
}

.article-details-authors {
  margin-top: 20px;
}

.author-info {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.author-item {
  padding: 10px 0;
  border-bottom: 1px solid #ddd;
}

.author-item:last-child {
  border-bottom: none;
}

.author-name {
  font-size: 18px;
  font-weight: bold;
  color: #333;
  text-align: left;
}

.author-affiliation {
  font-size: 16px;
  color: #555;
  text-align: left;
}

.author-affiliation {
  margin: 0;
  padding: 0;
}

.author-affiliation {
  white-space: nowrap;
}

.author-country {
  font-weight: bold;
  text-transform: uppercase;
  color: #2c3e50;
  text-align: left;
}

.author-orcid,
.author-email {
  font-size: 14px;
  color: #0077cc;
  display: flex;
  align-items: center;
  text-align: left;
}

.author-orcid i,
.author-email i {
  margin-right: 5px;
}

.author-orcid:hover,
.author-email:hover {
  text-decoration: underline;
}

@media (max-width: 768px) {
  .article-details-authors {
    padding: 10px;
  }

  .author-item {
    padding: 8px 0;
  }

  .author-name {
    font-size: 16px;
  }

  .author-affiliation,
  .author-country {
    font-size: 14px;
  }

  .author-orcid,
  .author-email {
    font-size: 12px;
  }
}

/* ==========================================================================
   @JH-00D — GLOBAL TYPOGRAPHY, LINKS, NAVIGATION, FOOTER, BUTTONS, AND FORMS
   Owner selectors: h1-h6; a; body; .btn; .form-control; OJS navigation/footer
   Scope status: GLOBAL / HIGH IMPACT
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* [GLOBAL-RISK] These selectors intentionally affect multiple OJS views.
   Do not use this section to repair a single homepage or policy component. */

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  color: #610c3a;
  font-family: "NexusSansTF-Regular";
  font-weight: 300;
}

h1 {
  font-size: 1.75rem;
  font-family: NexusSansTF-Regular;
}

a {
  color: #4f6acf;
  text-decoration: none;
  text-decoration-color: #d1b8c5;
  text-decoration-thickness: 1px;
  text-underline-offset: 7px;
  transition: all ease-in-out 0.2s;
}

a:hover {
  color: #610c3a;
  text-decoration-color: #d1b8c5;
  text-decoration-thickness: 3px;
}

::selection {
  background: #610c3a;
  color: #fcfcfc;
}

.page-content p,
.page-content li {
  font-size: 1.1rem !important;
}

.jh-editor-note footer {
  font-family: "Perpetua";
  font-size: 1.1rem;
}

.event-banner {
  background-color: #f5f3f4;
  padding: 20px 0;
  text-align: center;
  position: relative;
  width: 100%;
}

.banner-content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}

.banner-image {
  max-width: 100px;
  height: auto;
}

.banner-text {
  font-family:
    EB Garamond,
    Garamond,
    "NexusSansTF-Regular",
    sans-serif;
  font-size: 18px;
  color: #000;
}

.homepage-announcement:hover {
  transform: scale(1.02);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

.homepage-announcement a:hover {
  background-color: #b026f0;
}

@media (max-width: 768px) {
  .homepage-announcement {
    max-width: 100%;
    flex: 1 1 100%;
    padding: 10px;
    height: auto;
    min-height: 240px;
  }

  .homepage-announcement a {
    margin-top: 10px;
    font-size: 0.9em;
  }

  .homepage-announcement:hover {
    animation: shimmer 1.5s infinite;
  }
}

.cover-image {
  border: 1px solid black;
  transition:
    transform 0.3s ease,
    border-color 0.3s ease;
  width: 220px;
  height: 135px;
}

.cover-image:hover {
  transform: scale(1.05);
  border-color: #800000;
}

body {
  font-family: "Perpetua", Lora;
  color: #161413;
  background-color: #fcfcfc;
}

.main-header {
  border-bottom: 1px solid #c5b3bc;
  background: #f5f3f4;
}

.navbar-logo {
  max-width: 80%;
  padding-top: 2.5rem;
}

.navbar-logo a {
  border-bottom: 0px solid #d1b8c5;
  transition: all ease-in-out 0.15s;
}

.navbar-logo a:hover {
  border-bottom: 10px solid #d1b8c5;
}

.navbar-logo img {
  width: 100%;
}

.cvr {
  display: flex;
  align-items: center;
  border: 2px solid black;
  padding: 5px;
}

.cvr img {
  width: 200px;
  height: auto;
  object-fit: cover;
  margin: 0;
  position: static;
}

#userNav .nav-link,
.language-toggle .dropdown-toggle {
  color: #a18a96;
  font-family: "perpetua", Arial, sans-serif;
  font-size: 20px;
  font-weight: 300;
  line-height: 1.3;
  letter-spacing: 0.09em;
  font-variant: unicase;
  font-style: italic;
}

#userNav .nav-link:hover,
.language-toggle .dropdown-toggle:hover,
#userNav .nav-link:focus,
.language-toggle .dropdown-toggle:focus {
  outline: 0;
  border-color: transparent;
  color: #8e6a7d;
}

#userNav .dropdown-menu,
.language-toggle .dropdown-menu {
  border-radius: 20px 5px 20px 20px;
}

#primaryNav .nav-link {
  letter-spacing: 0.25px;
  font-size: 1rem;
  text-decoration: none;
}

#primaryNav .nav-link:hover,
#primaryNav .nav-link:focus {
  background: #c47cde;
  color: #ffffff;
  border-color: transparent;
  font-weight: 300;
  letter-spacing: 0.25px;
  font-size: 1rem;
}

.badge-light {
  background: #d1b8c5cc;
  color: #161413aa;
}

.dropdown-item {
  transition: all ease-in-out 0.2s;
  text-decoration: none;
}

.dropdown-item:hover,
.dropdown-item:focus {
  border-color: transparent;
  color: #d1b8c5 !important;
}

#primaryNav .dropdown-menu.show {
  border-radius: 0px 0px 20px 20px;
  border-top: 1px solid #c5b3bc;
}

#primaryNav .dropdown-item:hover,
#primaryNav .dropdown-item:focus {
  background: transparent;
  color: #d1b8c5;
  border-color: transparent;
}

.dropdown-toggle::after {
  display: unset;
  margin-left: 0;
  vertical-align: baseline;
  border: none;
  font-family: "Font Awesome 5 Free";
  font-weight: 700;
  content: "";
  color: #c5b3bc;
  padding-left: 3px;
}

.site-footer-sidebar {
  padding-bottom: 0;
}

.site-footer {
  background: #ffffff;
  color: #d1b8c5;
  padding-bottom: 0;
  font-family: "Perpetua";
}

.site-footer h3 {
  font-size: 1rem;
  color: #d1b8c5;
}

.site-footer p {
  font-size: 1rem;
}

.site-footer a {
  color: #fcfcfc;
  text-decoration: none;
  transition: all ease-in-out 0.2s;
}

.site-footer a:hover {
  color: #d1b8c5;
  text-decoration: none;
}

.site-footer .row .align-self-center {
  -ms-flex-item-align: start !important;
  align-self: flex-start !important;
}

.col-md.col-md-2.align-self-center.text-right {
  display: none;
}

@media (min-width: 768px) {
  .col-md-3 {
    -ms-flex: 0 0 25%;
    flex: 22;
    max-width: 20.5%;
  }
}

@media (min-width: 991px) {
  .publisher-logos {
    float: left;
    text-align: left;
    margin-bottom: 0;
  }
}

@media only screen and (min-width: 50.063em) {
  .iflogo1 .iflogo1__if-number {
    bottom: 28pt;
    font-size: 14pt;
  }
}

.iflogo1 .iflogo1__if-number {
  position: relative;
  text-align: center;
  font-family: Suisse Intl !important;
  font-weight: 400;
  color: #222;
  text-decoration: none;
}

.publisher-logos {
  text-align: center;
  margin-bottom: 1rem;
}

.label.openaccess {
  background-color: #fcb520;
  cursor: pointer;
  color: white;
}

.btn {
  border-radius: 0px;
  border: 1px solid #a18a96;
  color: #8e6a7d;
  text-transform: uppercase;
  font-weight: 300;
}

.btn-primary {
  border-radius: 0px 0px 0px 0px;
  border-color: #48092b !important;
  color: #fcfcfc;
  font-family: "perpetua", Arial, sans-serif;
  font-size: 25px;
  font-weight: 300;
  line-height: 1.3;
  letter-spacing: 0.09em;
  font-variant: unicase;
  font-style: italic;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background: #161413 !important;
  border-color: #161413 !important;
  color: #fcfcfc;
}

.btn-primary:focus {
  box-shadow: 0 0 0 0.2rem #d1b8c5 !important;
}

.modal-content .btn-primary {
  background: transparent;
  border-radius: 10px !important;
  border-color: #fcfcfc44;
  color: #fcfcfcaa;
  text-transform: uppercase;
  transition: all ease-in-out 0.2s;
}

.modal-content .btn-primary:hover,
.modal-content .btn-primary:active {
  background: transparent;
  border-color: #fcfcfc77;
  color: #fcfcfc;
}

.form-control {
  background-color: #fcfcfc;
}

.form-control:hover {
  border-color: #d1b8c5;
}

.form-control:focus {
  color: #495057;
  background-color: #fff;
  border-color: #fff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem #d1b8c5;
}

@media (max-width: 575px) {
  .list-img {
    text-align: center !important;
  }

  .list-img > img {
    width: 150px !important;
    margin-bottom: 2rem;
  }
}

.paragraph {
  font-weight: 300;
  font-size: 1.1rem;
  text-align: justify;
}

.hint {
  position: relative;
  display: inline-block;
  color: #610c3a;
}

.hint .hint-text {
  visibility: hidden;
  width: 200px;
  background-color: #610c3a;
  color: #fcfcfc;
  border-radius: 10px;
  padding: 10px 10px;
  position: absolute;
  z-index: 1;
  bottom: 110%;
  left: 50%;
  transform: translate(-50%);
  text-align: center;
  font-size: 0.9rem;
  line-height: 1.5;
  opacity: 0;
  transition: opacity 0.3s;
}

.hint .hint-text::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: #610c3a transparent transparent transparent;
}

.hint:hover .hint-text {
  visibility: visible;
  opacity: 1;
}

/* ==========================================================================
   @JH-00E — LEGACY HOMEPAGE CURRENT-ISSUE PRESENTATION
   Owner selectors: .homepage-issue-*; .glow; .quote-*
   Scope status: HOMEPAGE / legacy
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.page-header {
  margin-top: 5rem;
  margin-bottom: 1rem;
}

.page-header h1 {
  font-size: 1.8rem;
  text-transform: uppercase;
  color: #610c3a;
  font-family: "perpetua", Arial, sans-serif;
  font-weight: 300;
  line-height: 1.3;
  letter-spacing: 0.05em;
  font-variant: unicase;
  font-style: italic;
}

.homepage-image-behind-issue::after {
  background: rgba(0, 0, 0, 0.2);
}

.homepage-issue-current {
  margin-top: 0 !important;
  font-family:
    "NexusSansTF-Regular",
    Fira Sans,
    sans-serif;
  font-size: 2rem;
  font-weight: 300;
  text-transform: uppercase;
}

.homepage-issue-identifier {
  display: none;
}

.homepage-issue-published {
  margin-top: 1.5rem !important;
}

.homepage-issue-description-wrapper {
  align-content: center;
  line-height: 25px;
}

.homepage-issue-description .h2 {
  font-size: 1.5rem !important;
  letter-spacing: 0.05em;
  font-variant: unicase;
  font-style: italic;
}

.glow {
  width: 300px;
  height: auto;
  border-radius: 10px;
  box-shadow: 0 0 20px 10px rgba(255, 255, 255, 0.8);
  transition: box-shadow 0.5s ease;
}

.border-effect {
  border: 5px solid rgba(255, 255, 255, 0.7);
  padding: 5px;
  transition: border 0.5s ease;
}

.glow:hover {
  box-shadow: 0 0 40px 20px rgba(255, 255, 255, 1);
  transform: scale(1.05);
  border-color: #1900fe;
}

.border-effect:hover {
  border: 5px solid rgba(0, 255, 255, 1);
}

.quote-container {
  text-align: center;
  background-color: #ffffff;
  border: 2px solid #ccc;
  border-radius: 15px;
  width: 100%;
  position: relative;
}

.quote-container:before,
.quote-container:after {
  content: "“";
  font-size: 4rem;
  position: absolute;
  top: 10px;
  color: #6c757d;
}

.quote-container:before {
  left: 10px;
}

.quote-container:after {
  right: 10px;
}

.quote-text {
  font-size: 1.5rem;
  color: #333;
  font-style: italic;
  line-height: 1.6;
}

.quote-author {
  margin-top: 20px;
  font-size: 1.2rem;
  font-weight: bold;
  color: #555;
}

.homepage-issue-description p {
  color: #161413;
  font-weight: 300;
  font-size: 1.05rem;
  text-align: justify;
  overflow: hidden;
  text-overflow: ellipsis;
}

.homepage-issue-description:after {
  display: none;
}

.homepage-issue-description-more {
  display: none !important;
  margin-top: 10px;
}

@media (max-width: 1199px) {
  .homepage-issue-current {
    color: #161413;
  }

  .homepage-issue-published {
    color: #8e6a7d;
    text-transform: uppercase;
  }

  .homepage-issue-description-wrapper {
    box-shadow: none;
  }
}

@media (max-width: 991px) {
  .homepage-issue-description-wrapper {
    height: 100%;
    padding: 1rem 0rem;
    border: 0;
    background: #fcfcfc;
  }

  .homepage-issue-description {
    padding-bottom: 0;
  }
}

@media (min-width: 769px) {
  .homepage-issue-cover {
    width: 210px;
    height: 303px;
  }
}

@media (max-width: 768px) {
  .homepage-issue-cover {
    max-width: 100% !important;
    max-height: 100% !important;
  }
}

/* ==========================================================================
   @JH-00F — ISSUE AND ARTICLE-PAGE LEGACY PRESENTATION
   Owner selectors: .issue-*; .article-details-*; .article-summary-*
   Scope status: ARTICLE + ISSUE / shared
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.issue-toc-section-title {
  font-size: 1.8rem;
  color: #610c3a;
  margin: 1rem 0;
  font-weight: 300;
  line-height: 1.3;
  font-variant: unicase;
  font-style: italic;
  font-family: "perpetua";
}

.article-summary-authors,
.article-summary-pages {
  font-size: 0.9rem;
  font-family: "NexusSansTF-Regular", Lora;
  color: #8e6a7d;
  text-transform: uppercase;
  font-weight: 300;
  line-height: 1.33;
}

@media (min-width: 992px) {
  .article-summary-pages {
    width: 56px;
  }
}

.article-summary-title {
  font-family: "Perpetua", "NexusSansTF-Regular", Lora;
  font-style: inherit;
}

.article-summary-title a {
  color: #000000;
  text-decoration-color: #fcfcfc;
  text-decoration-thickness: 0px;
  font-size: 25px;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.03em;
  font-variant: unicase;
  font-style: italic;
  margin: 0 0 3px;
}

.article-summary-title a:hover {
  text-decoration: none;
  text-decoration-thickness: 3px;
  text-decoration-color: #d1b8c5;
  background: #e311ff;
  color: #ffffff;
  transition: background-color 0.5s ease;
}

.article-summary-doi {
  display: none;
}

.asean-terms {
  list-style: none;
}

.asean-terms li::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 700;
  content: "";
  color: #c5b3bc;
  font-size: 1rem;
  display: inline-block;
  width: 1.75rem;
  margin-left: -1.75rem;
}

.homepage-announcement {
  flex: 0 0 100%;
  max-width: 100%;
}

.homepage-issue-header {
  margin-bottom: 0em;
}

.homepage-announcement-title {
  font-size: 1.15rem;
  margin-top: 0em;
}

.homepage-announcement a {
  font-size: 1.05rem;
  font-weight: 300;
}

.page-issue-date {
  color: #8e6a7d !important;
  text-transform: uppercase;
  font-weight: 300;
}

.page-issue-description-wrapper {
  display: flex;
  align-items: center;
  background: #f5f3f4;
  border: 1px solid #c5b3bc;
  min-height: 297px;
  padding: 2.8rem 3rem;
  border-radius: 45px 0px 0px 0px;
}

.page-issue-description-wrapper p {
  font-size: 1.05rem;
  text-align: justify;
  margin-bottom: 0;
}

.page-issue-description-wrapper .h2 {
  color: #161413;
  font-family: "perpetua", Arial, sans-serif;
  font-size: 20px;
  font-weight: 300;
  line-height: 1.3;
  letter-spacing: 0.09em;
  font-variant: unicase;
  font-style: italic;
  text-align: left;
}

.article-details-issue-identifier a {
  color: #610c3a;
  font-size: 1.15rem;
  font-variant: none;
}

.authors-string {
  font-size: 1.25rem;
}

.authors-string a {
  border-bottom: 0px solid #d1b8c5;
}

.issue-toc-section + .issue-toc-section {
  border-top: 1px solid #c5b3bc !important;
}

.article-details-issue-identifier,
.article-details-heading,
.article-details .item > .label {
  color: #8e6a7d !important;
  font-weight: 300;
  margin: 0 0 3px;
  font-family: "perpetua", Arial, sans-serif;
  font-size: 20px;
  line-height: 1.3;
  letter-spacing: 0.09em;
  font-variant: unicase;
  font-style: italic;
}

.article-details-issue-identifier a {
  border-bottom: 0px solid #d1b8c5;
  transition: all ease-in-out 0.2s;
}

.article-details-issue-identifier a:hover,
.article-details-issue-identifier a:focus {
  color: #610c3a;
  text-decoration: none;
  border-bottom: 3px solid #d1b8c5;
}

.article-details-doi a {
  color: #1065f6;
  text-decoration: none;
  text-decoration-color: #d1b8c5;
  text-decoration-thickness: 1px;
  text-underline-offset: 7px;
  transition: all ease-in-out 0.2s;
  font-family: "Cardo";
  font-variant: unicase;
  font-size: medium;
}

.article-details-doi a:hover {
  color: #610c3a;
  text-decoration-color: #d1b8c5;
  text-decoration-thickness: 3px;
}

.author-symbol {
  color: #8e6a7d !important;
}

.modal-header {
  font-family: "perpetua", Arial, sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.3;
  letter-spacing: 0.09em;
  font-variant: unicase;
}

.article-details-bio-toggle {
  transition: all 0.3s ease;
  font-size: 0.9rem;
}

.article-details-bio-toggle:hover {
  background-color: #dddddd;
  color: #000000;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.author-string-href {
  font-size: 1.3rem;
  text-decoration: none;
  font-weight: 400;
}

.article-details-author-affiliation {
  color: #8e6a7d !important;
  font-size: 1.1rem !important;
  font-weight: 300;
  font-family: "Cardo";
  font-variant: unicase;
  line-height: 1.5;
}

.article-details-fulltitle {
  font-family: "Perpetua", "NexusSansTF-Regular", Lora;
  font-style: inherit;
  color: #161413;
  line-height: 1.2;
  text-transform: unset !important;
}

.article-details-issue-section {
  color: #8e6a7d !important;
  text-transform: uppercase;
  font-weight: 300;
}

.article-details-published {
  color: #8e6a7d !important;
  font-weight: 300;
  text-transform: uppercase;
}

.article-details-main {
  padding: 3rem 6rem;
  background: #f5f3f4;
  border: 1px solid #c5b3bc;
  border-radius: 45px 0px 0px 0px;
}

.article-details-abstract p {
  font-family: "Perpetua", Lora;
  text-align: justify;
  line-height: 1.2em;
  font-size: 18px;
}

.article-details-references p {
  font-family: "Perpetua", Lora;
  padding: 0;
}

.article-details-sidebar ul {
  font-size: 1.05rem;
  font-weight: 300;
  list-style: none;
}

.article-details-sidebar ul li::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 700;
  content: "";
  color: #c5b3bc;
  font-size: 1rem;
  display: inline-block;
  width: 1.25rem;
  margin-left: -2.5rem;
}

.article-details-keywords-value {
  font-size: 1.05rem;
  font-weight: 300;
}

.article-details-references-value {
  font-family: "NexusSansTF-Regular", Lora;
}

.article-details-license p {
  font-size: 1rem;
  font-weight: 300;
  margin-top: 1rem;
  margin-bottom: 0;
}

.article-details-license img {
  margin-left: 43%;
}

.article-details-author-orcid a {
  font-family: "Cardo";
}

.btn.btn {
  margin: 0 0 3px;
  font-family: "perpetua", Arial, sans-serif;
  font-weight: 300;
  font-size: 18;
  line-height: 1.3;
  letter-spacing: 0.09em;
  font-variant: unicase;
  font-style: italic;
}
/* ==========================================================================
   @JH-00G — CUSTOM-PAGE, SUBMISSION, EDITORIAL, ARCHIVE, AND PAGINATION BASE
   Owner selectors: .custom-page; .submissions-*; .editorial-member; .page-archives; pagination
   Scope status: MULTI-PAGE / shared OJS base
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.custom-page .page-header h1 {
  font-size: 2rem;
  margin: 0 0 3px;
  color: #176b4d;
  font-family: "perpetua", Arial, sans-serif;
  font-weight: 300;
  line-height: 1.3;
  letter-spacing: 0.05em;
  font-variant: unicase;
  font-style: italic;
}

.page-content {
  border-top-color: #c5b3bc;
  font-size: 18px;
  line-height: 25px;
  font-family: "Perpetua";
}

.contact-name {
  font-size: 16px;
}

.contact-affiliation {
  font-size: 16px;
}

.contact-email {
  font-size: 16px;
}

.submissions-checklist {
  font-size: 1.05rem;
  font-weight: 300;
}

.submissions-checklist ul {
  margin-top: 1rem;
  list-style: none;
}

.block_make_submission_link {
  font-family: "Perpetua";
}

.submissions-checklist ul li::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 700;
  content: "";
  color: #c5b3bc;
  font-size: 1rem;
  display: inline-block;
  width: 1.525rem;
  margin-left: -1.8rem;
}

.faq-return a {
  color: #8e6a7d;
  transition: all ease-in-out 0.2s;
}

.faq-return a:hover {
  color: #610c3a;
  text-decoration: none;
}

.alert-info {
  background: #f5f3f4;
  color: #8e6a7d;
  border-color: #c5b3bc;
}

.search-filters {
  background: #f5f3f4;
  border: 1px solid #c5b3bc;
  border-radius: 45px 0 0 0;
}

.search-filters > h2 {
  color: #8e6a7d;
}

.search-filters label {
  color: #8e6a7d;
}

.form-control {
  color: #610c3a;
}

.editorial-member .col-lg-10 {
  display: grid;
}

.editorial-member img {
  border-radius: 60px 60px 60px 60px;
  border: 1px solid #c5b3bc;
}

.editorial-member a {
  font-family: "Cardo";
  transition: all ease-in-out 0.2s;
  font-variant: unicase;
}

.editorial-member a:hover {
  color: #161413;
}

.editorial-member h3 {
  margin: 0;
  font-size: 1.25rem;
  align-self: center;
}

.editorial-member h4 {
  margin: 0;
  line-height: 1.2;
  color: #8e6a7d;
  font-weight: 400;
  font-size: 1.05rem;
  align-self: self-end;
}

.editorial-member h5 {
  margin: 0;
  line-height: 1.2;
  color: #8e6a7d;
  font-weight: 300;
  font-size: 0.9rem;
  font-family: Cardo;
  align-self: self-end;
  font-variant: unicase;
}

.block_make_submission .block_make_submission_link {
  font-family: NexusSansTF-Regular;
}

.editorial-member p {
  margin: 0;
  align-self: center;
}

.announcement-summary-date,
.announcement-date,
.homepage-announcement-date {
  font-family: "Perpetua", "Fira Sans", sans-serif !important;
  font-size: 1rem !important;
  color: #8e6a7d !important;
  text-transform: uppercase !important;
  font-weight: 300 !important;
}

.page-archives-header {
  margin-bottom: 4rem !important;
}

.page-archives .issue-summary {
  background: #fcfcfc;
}

.page-archives .issue-summary-cover {
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
}

.page-archives .issue-summary .card-body {
  background: transparent;
}

.issue-summary-cover {
  max-width: 200px;
  height: auto;
  transition: transform 0.5s ease;
}

.page-archives .issue-summary-series a {
  color: #ffffff;
  background: #ed4eeb;
  font-family: "Perpetua";
  font-size: 1.11rem;
  text-decoration: none;
}

.page-archives .issue-summary-series a:hover {
  color: #610c3a;
}

.page-archives .issue-summary-date {
  color: #8e6a7d !important;
  font-size: 0.9rem;
  font-weight: 300;
  text-transform: uppercase;
}

.page-archives .issue-summary-title {
  color: #8e6a7d !important;
  font-size: 1.2rem;
  font-family: "perpetua", Arial, sans-serif;
  font-weight: 300;
  line-height: 1.3;
  font-variant: unicase;
  font-style: italic;
}

.page-item {
  font-size: 1rem;
  font-weight: 300;
}

.page-item a {
  text-decoration: none;
}

.page-link {
  color: #8e6a7d !important;
  transition: all ease-in-out 0.2s;
}

.page-link:hover,
.page-link:focus {
  color: #610c3a !important;
  background: #fcfcfc !important;
  box-shadow: none;
}

.page-item:first-child .page-link {
  border: 0;
}

.page-item:first-child .page-link span {
  display: none;
}

.page-item:first-child .page-link:before {
  margin-left: 0;
  vertical-align: text-bottom;
  border: none;
  font-family: "Font Awesome 5 Free";
  font-weight: 700;
  content: "";
  color: #c5b3bc;
  padding-right: 3px;
  transition: all ease-in-out 0.2s;
}

.page-item:first-child:hover .page-link:before {
  color: #610c3a;
}

.page-item:last-child .page-link {
  border: 0;
}

.page-item:last-child .page-link span {
  display: none;
}

.page-item:last-child .page-link:after {
  margin-left: 0;
  vertical-align: text-bottom;
  border: none;
  font-family: "Font Awesome 5 Free";
  font-weight: 700;
  content: "";
  color: #c5b3bc;
  padding-left: 3px;
  transition: all ease-in-out 0.2s;
}

.page-item:last-child:hover .page-link:after {
  color: #610c3a;
}

.page-item.active .page-link {
  border: 0;
  color: #8e6a7d !important;
}

.page-item.disabled .page-link {
  color: #c5b3bc !important;
}

#primaryNav .dropdown-item {
  color: #a8a8a8;
  transition: all ease-in-out 0.2s;
  font-weight: 300;
  letter-spacing: 0.25px;
  text-decoration: none;
}

.article-details-published {
  visibility: hidden;
}

.article-details-issue-identifier a {
  font-family: "Perpetua";
}

.pkp_block .title {
  font-family: "Cardo";
  font-variant: unicase;
}

.pkp_block {
  flex: 0 0 auto;
  width: 100%;
}

.PlumX-Summary .pps-col.plx-plum {
  border-top: 9px solid #6e1a62 !important;
}

.PlumX-Summary .pps-col {
  float: left !important;
  width: 100% !important;
  padding: 12px !important;
}

.PlumX-Summary * {
  text-align: center !important;
}

@media (min-width: 992px) {
  #primaryNav .nav-link {
    padding: 0rem;
  }
}

/* ==========================================================================
   @JH-00H — GLOBAL TAIL OVERRIDES AND NATIVE DETAILS/SUMMARY DEFAULTS
   Owner selectors: .page-content; th; details; summary; final legacy overrides
   Scope status: GLOBAL / HIGH IMPACT
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* [GLOBAL-RISK] These selectors intentionally affect multiple OJS views.
   Do not use this section to repair a single homepage or policy component. */

.submissions-checklist {
  text-align: justify;
}

.page-content p,
.page-content li {
  text-align: justify;
}

.article-summary {
  margin: 0rem 0 0rem;
}

th {
  text-align: inherit;
  font-weight: normal;
}

.card-img-top {
  transition:
    transform 0.2s ease,
    filter 0.2s ease;
  filter: brightness(90%);
}

.card-img-top:hover {
  border-radius: 0;
  transform: scale(1.1);
  filter: brightness(100%) contrast(1.2);
}

details {
  margin-bottom: 15px;
  border: 1px solid #ddd;
  border-radius: 5px;
  padding: 10px;
  background-color: #f5f5f5;
}

summary {
  cursor: pointer;
  font-weight: bold;
  color: #007bff;
  outline: none;
}

summary:hover {
  color: #0056b3;
}

/* ==========================================================================
   @JH-01A — CURRENT-ISSUE CTA, COVER PREVIEW, AUTHOR FLAGS, AND ABSTRACT PREVIEW
   Owner selectors: .container-homepage-issue; .article-cover-*; author preview additions
   Scope status: HOMEPAGE / article preview
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* ==========================================================================
   @JH-01 — 01 — HOMEPAGE: CURRENT ISSUE, PREVIEWS, PROFILE, IMPACT, FOOTER HUB
   Maintenance anchor: search exactly for @JH-01
   ========================================================================== */

.container-homepage-issue > .text-center {
  position: relative;
  z-index: 2;
  padding: 28px 0 12px;
}

.container-homepage-issue > .text-center > .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 46px;
  padding: 11px 22px;
  color: #ffffff;
  background: linear-gradient(135deg, #70144d 0%, #481035 100%);
  border: 1px solid #70144d;
  box-shadow: 0 8px 18px rgba(72, 16, 53, 0.2);
  font-family: "Perpetua", Arial, sans-serif;
  font-size: 20px;
  letter-spacing: 0.035em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  font-style: italic;
  font-variant: unicase;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    background 0.18s ease,
    border-color 0.18s ease;
}

.container-homepage-issue > .text-center > .btn::before {
  content: "";
  font-family: "Font Awesome 5 Free";
  font-size: 0.9rem;
  font-weight: 900;
}

.container-homepage-issue > .text-center > .btn::after {
  content: "→";
  font-size: 1rem;
  line-height: 1;
  transition: transform 0.18s ease;
}

.container-homepage-issue > .text-center > .btn:hover,
.container-homepage-issue > .text-center > .btn:focus {
  color: #ffffff;
  background: linear-gradient(135deg, #8b1a62 0%, #591540 100%);
  border-color: #e311ff;
  box-shadow: 0 12px 24px rgba(72, 16, 53, 0.28);
  outline: none;
  text-decoration: none;
  transform: translateY(-2px);
}

.container-homepage-issue > .text-center > .btn:hover::after,
.container-homepage-issue > .text-center > .btn:focus::after {
  transform: translateX(3px);
}

.container-homepage-issue > .text-center > .btn:focus-visible {
  box-shadow:
    0 0 0 3px rgba(227, 17, 255, 0.22),
    0 12px 24px rgba(72, 16, 53, 0.28);
}

@media (max-width: 600px) {
  .container-homepage-issue > .text-center {
    padding-top: 22px;
  }

  .container-homepage-issue > .text-center > .btn {
    width: min(100%, 280px);
    min-height: 44px;
    padding: 28px 18px;
    font-size: 0.82rem;
  }
}

.article-cover-hover {
  position: relative;
  display: block;
  width: 220px;
  max-width: 100%;
  outline: none;
}

.article-cover-thumbnail {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 44 / 27;
  object-fit: cover;
  background: #f4f1f3;
  border: 1px solid #82717a;
  border-radius: 9px;
  box-shadow: 0 5px 14px rgba(53, 18, 47, 0.12);
  cursor: pointer;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    filter 0.18s ease;
}

.article-cover-hover:hover .article-cover-thumbnail,
.article-cover-hover:focus .article-cover-thumbnail,
.article-cover-hover:focus-within .article-cover-thumbnail {
  filter: brightness(1.04);
  box-shadow: 0 10px 24px rgba(53, 18, 47, 0.22);
  transform: translateY(-3px);
}

.article-cover-preview-label {
  position: absolute;
  right: 8px;
  bottom: 8px;
  display: inline-flex;
  align-items: center;
  padding: 5px 9px;
  color: #ffffff;
  background: rgba(53, 18, 47, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 999px;
  font-family: Arial, sans-serif;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  opacity: 0;
  transform: translateY(4px);
  transition:
    opacity 0.18s ease,
    transform 0.18s ease;
}

.article-cover-hover:hover .article-cover-preview-label,
.article-cover-hover:focus .article-cover-preview-label,
.article-cover-hover:focus-within .article-cover-preview-label {
  opacity: 1;
  transform: translateY(0);
}

.article-cover-popup {
  position: absolute;
  z-index: 10000;
  top: 50%;
  left: calc(100% + 15px);
  display: grid;
  visibility: hidden;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 18px;
  width: min(570px, calc(100vw - 48px));
  padding: 18px;
  color: #ffffff;
  background: linear-gradient(145deg, #59174d 0%, #35122f 100%);
  border: 1px solid #a85fba;
  border-top: 3px solid #e311ff;
  border-radius: 13px;
  box-shadow:
    0 20px 45px rgba(53, 18, 47, 0.34),
    0 5px 14px rgba(53, 18, 47, 0.2);
  text-align: left;
  opacity: 0;
  pointer-events: none;
  transform: translateY(calc(-50% - 5px));
  transition:
    visibility 0.16s ease,
    opacity 0.16s ease,
    transform 0.16s ease;
}

.article-cover-popup::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -7px;
  width: 12px;
  height: 12px;
  background: #59174d;
  border-bottom: 1px solid #a85fba;
  border-left: 1px solid #a85fba;
  transform: translateY(-50%) rotate(45deg);
}

.article-cover-hover:hover .article-cover-popup,
.article-cover-hover:focus .article-cover-popup,
.article-cover-hover:focus-within .article-cover-popup {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(-50%);
}

.article-cover-popup-image {
  display: block;
  width: 190px;
  height: 118px;
  object-fit: cover;
  align-self: start;
  background: #f4f1f3;
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 8px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.22);
}

.article-cover-popup-content,
.article-cover-popup-title,
.article-cover-popup-heading,
.article-cover-popup-abstract,
.article-cover-popup-empty,
.article-cover-popup-hint {
  display: block;
}

.article-cover-popup-title {
  margin-bottom: 9px;
  color: #ffffff;
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.3;
}

.article-cover-popup-heading {
  margin-bottom: 5px;
  color: #f4c9ff;
  font-family: Arial, sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.article-cover-popup-abstract,
.article-cover-popup-empty {
  color: #ffffff;
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;
}

.article-cover-popup-empty {
  font-style: italic;
  opacity: 0.8;
}

.article-cover-popup-hint {
  margin-top: 10px;
  padding-top: 8px;
  color: #dec6e4;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  font-family: Arial, sans-serif;
  font-size: 11px;
}

.article-summary:hover,
.article-summary:focus-within {
  position: relative;
  z-index: 100;
}

@media (max-width: 900px) {
  .article-cover-popup {
    top: calc(100% + 12px);
    left: 0;
    grid-template-columns: 150px minmax(0, 1fr);
    width: min(520px, calc(100vw - 40px));
    transform: translateY(-4px);
  }

  .article-cover-hover:hover .article-cover-popup,
  .article-cover-hover:focus .article-cover-popup,
  .article-cover-hover:focus-within .article-cover-popup {
    transform: translateY(0);
  }

  .article-cover-popup::before {
    top: -7px;
    left: 28px;
    border-top: 1px solid #a85fba;
    border-right: 0;
    border-bottom: 0;
    transform: rotate(45deg);
  }

  .article-cover-popup-image {
    width: 150px;
    height: 96px;
  }
}

@media (max-width: 600px) {
  .article-cover-hover {
    width: 100%;
  }

  .article-cover-popup {
    grid-template-columns: 1fr;
    width: min(100%, calc(100vw - 32px));
  }

  .article-cover-popup-image {
    width: 100%;
    height: auto;
    max-height: 180px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .article-cover-thumbnail,
  .article-cover-preview-label,
  .article-cover-popup {
    transition: none;
  }
}

.article-author-item {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.article-author-flag {
  display: inline-block;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  object-fit: cover;
  vertical-align: middle;
  border: 1px solid rgba(0, 0, 0, 0.14);
  border-radius: 50%;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.14);
}

.article-author-tooltip-orcid {
  display: flex;
  align-items: center;
  gap: 7px;
  width: max-content;
  max-width: 100%;
  margin: 0 0 13px;
  padding: 5px 9px;
  color: #ffffff;
  background: rgba(166, 206, 57, 0.14);
  border: 1px solid rgba(166, 206, 57, 0.45);
  border-radius: 999px;
  font-size: 14px;
  line-height: 1.2;
}

.author-orcid-icon {
  display: inline-flex;
  flex: 0 0 19px;
  align-items: center;
  justify-content: center;
  width: 19px;
  height: 19px;
  color: #ffffff;
  background: #a6ce39;
  border-radius: 50%;
  font-family: Arial, sans-serif;
  font-size: 10px;
  font-weight: 300;
  line-height: 1;
}

.author-orcid-content {
  min-width: 0;
  overflow-wrap: anywhere;
  font-weight: 300;
}

.article-author-tooltip-orcid a {
  color: #ffffff;
  font-weight: 300;
  text-decoration: none;
}

.article-author-tooltip-orcid a:hover,
.article-author-tooltip-orcid a:focus {
  color: #dff5a5;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.article-summary-preview-window--abstract-only {
  grid-template-columns: minmax(0, 1fr);
  width: min(460px, calc(100vw - 48px));
  padding: 20px 22px;
}

.article-summary-preview-window--abstract-only .article-summary-preview-heading {
  margin-bottom: 8px;
  color: #f4c9ff;
  font-size: 12px;
  letter-spacing: 0.1em;
}

.article-summary-preview-window--abstract-only .article-summary-preview-abstract {
  color: #ffffff;
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  font-size: 15px;
  line-height: 1.55;
  text-align: justify;
}

@media (max-width: 900px) {
  .article-summary-preview-window--abstract-only {
    grid-template-columns: minmax(0, 1fr);
    width: min(440px, calc(100vw - 40px));
  }
}

@media (max-width: 600px) {
  .article-summary-preview-window--abstract-only {
    width: min(100%, calc(100vw - 32px));
    padding: 17px 18px;
  }

  .article-summary-preview-window--abstract-only .article-summary-preview-abstract {
    font-size: 14px;
    text-align: left;
  }
}

/* ==========================================================================
   @JH-01B — CURRENT-ISSUE FEATURE CARD
   Owner selectors: .jhytel-current-*; .jhytel-issue-*
   Scope status: HOMEPAGE / isolated prefix
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.jhytel-current-header {
  margin-bottom: 24px;
  text-align: center;
}

.jhytel-current-label {
  display: inline-flex;
  margin-bottom: 8px;
  padding: 5px 12px;
  color: #ffffff;
  background: rgba(53, 18, 47, 0.88);
  border-radius: 999px;
  font-family: "NexusSansTF-Regular", Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  text-transform: uppercase;
}

.jhytel-current-title {
  margin: 0;
  color: #ffffff;
  font-family: "NexusSansTF-Regular", Arial, sans-serif;
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 400;
  line-height: 1.2;
}

.jhytel-current-published {
  margin-top: 8px;
  color: rgba(255, 255, 255, 0.9);
  font-family: "Perpetua", Georgia, serif;
  font-size: 15px;
}

.jhytel-issue-feature {
  position: relative;
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  gap: 34px;
  align-items: center;
  width: min(100%, 1040px);
  margin: 0 auto;
  padding: 30px;
  background: radial-gradient(circle at top right, rgba(227, 17, 255, 0.08), transparent 34%), #ffffff;
  border: 1px solid rgba(97, 12, 58, 0.18);
  border-top: 4px solid #e311ff;
  border-radius: 20px;
  box-shadow:
    0 24px 55px rgba(53, 18, 47, 0.18),
    0 6px 18px rgba(53, 18, 47, 0.1);
}

.jhytel-issue-cover-column {
  position: relative;
}

.jhytel-issue-cover-link {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  background: #f3eff2;
  border-radius: 12px;
  box-shadow:
    0 16px 32px rgba(53, 18, 47, 0.24),
    0 4px 10px rgba(53, 18, 47, 0.12);
  outline-offset: 5px;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.jhytel-issue-cover {
  display: block;
  width: 100%;
  height: auto;
  border: 0;
  transition:
    transform 0.25s ease,
    filter 0.25s ease;
}

.jhytel-issue-cover-link:hover,
.jhytel-issue-cover-link:focus {
  box-shadow:
    0 22px 42px rgba(53, 18, 47, 0.3),
    0 6px 14px rgba(53, 18, 47, 0.14);
  transform: translateY(-4px);
}

.jhytel-issue-cover-link:hover .jhytel-issue-cover,
.jhytel-issue-cover-link:focus .jhytel-issue-cover {
  filter: brightness(0.76);
  transform: scale(1.035);
}

.jhytel-cover-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #ffffff;
  font-family: "NexusSansTF-Regular", Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(5px);
  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
}

.jhytel-cover-overlay svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.jhytel-issue-cover-link:hover .jhytel-cover-overlay,
.jhytel-issue-cover-link:focus .jhytel-cover-overlay {
  opacity: 1;
  transform: translateY(0);
}

.jhytel-issue-content {
  min-width: 0;
}

.jhytel-issue-title {
  margin: 0 0 12px;
  color: #2f1727;
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  font-size: clamp(21px, 2.3vw, 29px);
  font-weight: 700;
  line-height: 1.25;
}

.jhytel-issue-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  margin-bottom: 16px;
}

.jhytel-meta-item,
.jhytel-open-access {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 29px;
  padding: 5px 10px;
  border-radius: 999px;
  font-family: "NexusSansTF-Regular", Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
}

.jhytel-meta-item {
  color: #624c58;
  background: #f4f0f2;
  border: 1px solid #ded2d8;
}

.jhytel-open-access {
  color: #563609;
  background: #ffc44d;
  border: 1px solid #eeb03c;
}

.jhytel-meta-item svg,
.jhytel-open-access svg {
  flex: 0 0 15px;
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.jhytel-issue-description {
  margin-bottom: 20px;
  color: #40343a;
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  font-size: 16px;
  line-height: 1.62;
  text-align: justify;
}

.jhytel-issue-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.jhytel-issue-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 43px;
  padding: 10px 16px;
  border-radius: 8px;
  font-family: "NexusSansTF-Regular", Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.025em;
  line-height: 1;
  text-decoration: none;
  transition:
    color 0.18s ease,
    background 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}

.jhytel-issue-button svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.jhytel-issue-button-primary {
  color: #ffffff;
  background: linear-gradient(135deg, #70144d, #481035);
  border: 1px solid #70144d;
  box-shadow: 0 7px 15px rgba(72, 16, 53, 0.18);
}

.jhytel-issue-button-primary:hover,
.jhytel-issue-button-primary:focus {
  color: #ffffff;
  background: linear-gradient(135deg, #8b1a62, #591540);
  border-color: #e311ff;
  box-shadow: 0 10px 20px rgba(72, 16, 53, 0.26);
  text-decoration: none;
  transform: translateY(-2px);
}

.jhytel-issue-button-secondary {
  color: #610c3a;
  background: #ffffff;
  border: 1px solid rgba(97, 12, 58, 0.32);
}

.jhytel-issue-button-secondary:hover,
.jhytel-issue-button-secondary:focus {
  color: #ffffff;
  background: #610c3a;
  border-color: #610c3a;
  text-decoration: none;
  transform: translateY(-2px);
}

.jhytel-issue-galleys {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid #e1d7dc;
}

.jhytel-galleys-title {
  margin-bottom: 9px;
  color: #610c3a;
  font-family: "NexusSansTF-Regular", Arial, sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.jhytel-galleys-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

@media (max-width: 991px) {
  .jhytel-current-title,
  .jhytel-current-published {
    color: #2f1727;
  }

  .jhytel-issue-feature {
    grid-template-columns: 190px minmax(0, 1fr);
    gap: 24px;
    padding: 24px;
  }
}

@media (max-width: 680px) {
  .jhytel-current-header {
    margin-bottom: 18px;
  }

  .jhytel-issue-feature {
    grid-template-columns: 1fr;
    gap: 22px;
    padding: 18px;
    border-radius: 15px;
  }

  .jhytel-issue-cover-column {
    width: min(230px, 75%);
    margin: 0 auto;
  }

  .jhytel-issue-title {
    text-align: center;
  }

  .jhytel-issue-meta,
  .jhytel-issue-actions {
    justify-content: center;
  }

  .jhytel-issue-description {
    font-size: 15px;
    text-align: left;
  }

  .jhytel-issue-button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhytel-issue-cover-link,
  .jhytel-issue-cover,
  .jhytel-cover-overlay,
  .jhytel-issue-button {
    transition: none;
  }
}

/* ==========================================================================
   @JH-01C — ISSUE DESCRIPTION AND HOMEPAGE HERO ACTIONS
   Owner selectors: .homepage-issue-description-*; .jhytel-hero-*
   Scope status: HOMEPAGE / shared + isolated actions
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.homepage-issue-description-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 297px;
  padding: 22px 34px !important;
  background: radial-gradient(circle at top right, rgba(227, 17, 255, 0.065), transparent 36%), linear-gradient(135deg, #ffffff 0%, #faf7f9 100%);
  border: 1px solid #e3d8df;
  border-left: 4px solid #610c3a;
  border-top: 3px solid #e311ff;
  border-radius: 0 0 24px 0;
  box-shadow:
    0 15px 34px rgba(53, 18, 47, 0.14),
    0 4px 12px rgba(53, 18, 47, 0.07);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

.homepage-issue-description-wrapper:hover {
  border-left-color: #e311ff;
  box-shadow:
    0 19px 40px rgba(53, 18, 47, 0.19),
    0 5px 14px rgba(53, 18, 47, 0.09);
  transform: translateY(-2px);
}

.homepage-issue-description-wrapper::before {
  content: "";
  position: absolute;
  top: 18px;
  right: 22px;
  width: 65px;
  height: 65px;
  background: rgba(227, 17, 255, 0.07);
  border-radius: 50%;
  filter: blur(16px);
  pointer-events: none;
}

.homepage-issue-description .h2 {
  position: relative;
  margin: 0 0 13px;
  color: #35122f;
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  font-weight: 300;
  line-height: 1.27;
}

.homepage-issue-description .h2::after {
  content: "";
  display: block;
  width: 48px;
  height: 3px;
  margin-top: 9px;
  background: linear-gradient(90deg, #e311ff, #610c3a);
  border-radius: 999px;
}

.homepage-issue-description-text {
  position: relative;
  z-index: 1;
  color: #443944;
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.55;
  text-align: justify;
}

.homepage-issue-description-text > a {
  color: #610c3a;
  font-family: "Perpetua", Arial, sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.homepage-issue-description-text > a:hover,
.homepage-issue-description-text > a:focus {
  color: #e311ff;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.jhytel-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
}

.jhytel-hero-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  font-family: "Perpetua", Arial, sans-serif;
  line-height: 1;
  text-decoration: none;
  transition:
    color 0.18s ease,
    background 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}

.jhytel-hero-button-primary {
  gap: 10px;
  padding: 8px 15px;
  color: #ffffff;
  background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.16), transparent 46%), linear-gradient(135deg, #851758 0%, #610c3a 48%, #35122f 100%);
  border: 1px solid rgba(97, 12, 58, 0.7);
  box-shadow:
    0 8px 18px rgba(53, 18, 47, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.13);
}

.jhytel-hero-button-icon {
  display: inline-flex;
  flex: 0 0 34px;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  color: #610c3a;
  background: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.38);
  border-radius: 50%;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.14);
  transition:
    color 0.18s ease,
    background 0.18s ease,
    transform 0.18s ease;
}

.jhytel-hero-button-icon svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.jhytel-hero-button-text {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
  text-align: left;
}

.jhytel-hero-button-text small {
  color: rgba(255, 255, 255, 0.74);
  font-family: "Perpetua";
  font-weight: 300;
  letter-spacing: 0.075em;
  line-height: 1;
}

.jhytel-hero-button-text strong {
  color: #ffffff;
  font-weight: 300;
  line-height: 1.15;
  white-space: nowrap;
  font-family: "Perpetua";
}

.jhytel-hero-button-arrow {
  margin-left: 3px;
  color: rgba(255, 255, 255, 0.9);
  font-family: "Perpetua", sans-serif;
  font-size: 18px;
  line-height: 1;
  transition: transform 0.18s ease;
}

.jhytel-hero-button-primary:hover,
.jhytel-hero-button-primary:focus {
  color: #ffffff;
  background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.2), transparent 46%), linear-gradient(135deg, #a01d6b 0%, #75134c 50%, #451334 100%);
  border-color: #e311ff;
  box-shadow:
    0 12px 25px rgba(53, 18, 47, 0.3),
    0 0 0 3px rgba(227, 17, 255, 0.08);
  text-decoration: none;
  transform: translateY(-3px);
}

.jhytel-hero-button-primary:hover .jhytel-hero-button-icon,
.jhytel-hero-button-primary:focus .jhytel-hero-button-icon {
  color: #851758;
  background: #ffffff;
  transform: scale(1.05);
}

.jhytel-hero-button-primary:hover .jhytel-hero-button-arrow,
.jhytel-hero-button-primary:focus .jhytel-hero-button-arrow {
  transform: translateX(4px);
}

.jhytel-hero-button-secondary {
  gap: 8px;
  padding: 10px 16px;
  color: #610c3a;
  background: linear-gradient(135deg, #ffffff, #faf7f9);
  border: 1px solid rgba(97, 12, 58, 0.28);
  border-radius: 11px;
  box-shadow: 0 6px 14px rgba(53, 18, 47, 0.09);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.jhytel-hero-button-secondary span:last-child {
  color: #851758;
  font-family: Arial, sans-serif;
  font-size: 15px;
  transition:
    color 0.18s ease,
    transform 0.18s ease;
}

.jhytel-hero-button-secondary:hover,
.jhytel-hero-button-secondary:focus {
  color: #ffffff;
  background: linear-gradient(135deg, #75164e, #481035);
  border-color: #610c3a;
  box-shadow: 0 10px 20px rgba(53, 18, 47, 0.2);
  text-decoration: none;
  transform: translateY(-3px);
}

.jhytel-hero-button-secondary:hover span:last-child,
.jhytel-hero-button-secondary:focus span:last-child {
  color: #ffffff;
  transform: translate(2px, -2px);
}

.jhytel-hero-button:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 3px rgba(227, 17, 255, 0.17),
    0 10px 22px rgba(53, 18, 47, 0.22);
}

@media (max-width: 700px) {
  .jhytel-hero-actions {
    gap: 8px;
  }

  .jhytel-hero-button {
    min-height: 46px;
  }

  .jhytel-hero-button-primary {
    padding: 7px 13px;
  }

  .jhytel-hero-button-icon {
    flex-basis: 32px;
    width: 32px;
    height: 32px;
  }

  .jhytel-hero-button-text strong {
    font-size: 12px;
  }
}

@media (max-width: 520px) {
  .jhytel-hero-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .jhytel-hero-button {
    width: 100%;
  }

  .jhytel-hero-button-primary {
    justify-content: flex-start;
  }

  .jhytel-hero-button-arrow {
    margin-left: auto;
  }

  .jhytel-hero-button-secondary {
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhytel-hero-button,
  .jhytel-hero-button-icon,
  .jhytel-hero-button-arrow,
  .jhytel-hero-button-secondary span:last-child {
    transition: none;
  }
}

.homepage-issue-description {
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding-bottom: 4px;
  overflow: visible !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
}

.homepage-issue-description-wrapper {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

.jhytel-hero-actions {
  position: relative;
  z-index: 2;
  width: 100%;
  height: auto;
  min-height: 52px;
  margin: 18px 0 0;
  padding: 0 0 3px;
  overflow: visible;
}

@media (min-width: 721px) {
  .container-homepage-issue .jh-panel-section {
    width: 100%;
    max-width: none;
    margin-right: 0;
    margin-left: 0;
  }

  .container-homepage-issue .jh-access-row {
    grid-template-columns: 243px minmax(0, 1fr);
    gap: 12px;
  }
}

/* ==========================================================================
   @JH-01D — ABOUT-JOURNAL CARD AND MODAL
   Owner selectors: .jhytel-about-*
   Scope status: HOMEPAGE / isolated component
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.jhytel-about-minimal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: 22px 0;
  padding: 20px 24px;
  background: radial-gradient(circle at top right, rgba(227, 17, 255, 0.08), transparent 38%), #ffffff;
  border: 1px solid #e7dce4;
  border-left: 4px solid #610c3a;
  border-radius: 0 14px 14px 0;
  box-shadow: 0 8px 22px rgba(53, 18, 47, 0.08);
}

.jhytel-about-heading {
  max-width: 650px;
}

.jhytel-about-label,
.jhytel-about-modal-kicker {
  display: block;
  margin-bottom: 5px;
  color: #851758;
  font-family: "NexusSansTF-Regular", Arial, sans-serif;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.2;
  text-transform: uppercase;
}

.jhytel-about-heading h2 {
  margin: 0 0 5px;
  color: #35122f;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.25;
}

.jhytel-about-heading p {
  margin: 0;
  color: #655a62;
  font-size: 14px;
  line-height: 1.55;
}

.jhytel-about-button {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 10px;
  min-height: 54px;
  padding: 8px 15px;
  color: #ffffff;
  background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.16), transparent 45%), linear-gradient(135deg, #851758, #35122f);
  border: 1px solid #610c3a;
  border-radius: 11px;
  box-shadow: 0 8px 18px rgba(53, 18, 47, 0.2);
  cursor: pointer;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    background 0.18s ease;
}

.jhytel-about-button:hover,
.jhytel-about-button:focus {
  color: #ffffff;
  background: linear-gradient(135deg, #9b1b67, #4b1539);
  box-shadow: 0 11px 23px rgba(53, 18, 47, 0.28);
  transform: translateY(-2px);
  outline: none;
}

.jhytel-about-button-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  color: #610c3a;
  background: #ffffff;
  border-radius: 50%;
}

.jhytel-about-button-icon svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.jhytel-about-button-text {
  display: flex;
  flex-direction: column;
  text-align: left;
}

.jhytel-about-button-text small {
  color: rgba(255, 255, 255, 0.72);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.jhytel-about-button-text strong {
  color: #ffffff;
  font-size: 13px;
  line-height: 1.25;
}

.jhytel-about-button-arrow {
  margin-left: 5px;
  color: #ffffff;
  font-size: 18px;
}

body.jhytel-modal-open {
  overflow: hidden;
}

.jhytel-about-modal {
  position: fixed;
  z-index: 99999;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition:
    opacity 0.2s ease,
    visibility 0.2s ease;
}

.jhytel-about-modal.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.jhytel-about-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(24, 10, 22, 0.72);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}

.jhytel-about-modal-dialog {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 860px;
  max-height: calc(100vh - 48px);
  background: #ffffff;
  border: 1px solid rgba(227, 17, 255, 0.35);
  border-top: 4px solid #e311ff;
  border-radius: 18px;
  box-shadow: 0 24px 70px rgba(24, 10, 22, 0.34);
  overflow: hidden;
  transform: translateY(18px) scale(0.98);
  transition: transform 0.22s ease;
}

.jhytel-about-modal.is-open .jhytel-about-modal-dialog {
  transform: translateY(0) scale(1);
}

.jhytel-about-modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 24px 16px;
  background: radial-gradient(circle at top right, rgba(227, 17, 255, 0.1), transparent 48%), #ffffff;
  border-bottom: 1px solid #eadfe7;
}

.jhytel-about-modal-header h2 {
  margin: 0;
  color: #35122f;
  font-size: 25px;
  line-height: 1.2;
}

.jhytel-about-modal-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  color: #610c3a;
  background: #f7eff4;
  border: 1px solid #e3d3dd;
  border-radius: 50%;
  font-size: 25px;
  line-height: 1;
  cursor: pointer;
}

.jhytel-about-modal-close:hover,
.jhytel-about-modal-close:focus {
  color: #ffffff;
  background: #610c3a;
  border-color: #610c3a;
  outline: none;
}

.jhytel-about-modal-body {
  max-height: calc(100vh - 210px);
  padding: 20px 24px;
  overflow-y: auto;
}

.jhytel-about-information {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px 24px;
}

.jhytel-about-row {
  display: grid;
  grid-template-columns: 125px minmax(0, 1fr);
  gap: 12px;
  padding: 9px 0;
  border-bottom: 1px solid #eee7ec;
}

.jhytel-about-key {
  color: #74676f;
  font-family: "NexusSansTF-Regular", Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
}

.jhytel-about-value {
  min-width: 0;
  color: #2f252c;
  font-size: 13px;
  line-height: 1.45;
}

.jhytel-about-value strong {
  color: #610c3a;
}

.jhytel-about-value a {
  color: #851758;
  font-weight: 700;
  text-decoration: none;
}

.jhytel-about-value a:hover {
  color: #610c3a;
  text-decoration: underline;
}

.jhytel-about-value small {
  display: block;
  margin-top: 2px;
  color: #81757d;
  font-size: 11px;
}

.jhytel-about-affiliation {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 5px;
}

.jhytel-about-affiliation img {
  width: 16px;
  height: 16px;
  object-fit: cover;
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(53, 18, 47, 0.15);
}

.jhytel-about-collaboration {
  margin: 0;
  padding-left: 17px;
}

.jhytel-about-subjects {
  margin-top: 18px;
  padding-top: 15px;
  border-top: 1px solid #e8dde4;
}

.jhytel-about-subjects > strong {
  display: block;
  margin-bottom: 9px;
  color: #35122f;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.jhytel-about-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.jhytel-about-tags span {
  padding: 6px 10px;
  color: #610c3a;
  background: #f8edf5;
  border: 1px solid #ead7e5;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
}

.jhytel-about-tags span:nth-child(2) {
  color: #2f6440;
  background: #edf8f0;
  border-color: #d4ead9;
}

.jhytel-about-tags span:nth-child(3) {
  color: #58338a;
  background: #f2edfb;
  border-color: #dfd4f1;
}

.jhytel-about-modal-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 24px;
  background: #fbf8fa;
  border-top: 1px solid #e8dde4;
}

.jhytel-about-more {
  color: #610c3a;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

.jhytel-about-more:hover {
  color: #851758;
  text-decoration: underline;
}

.jhytel-about-done {
  min-height: 38px;
  padding: 7px 18px;
  color: #ffffff;
  background: #610c3a;
  border: 1px solid #610c3a;
  border-radius: 8px;
  font-weight: 700;
  cursor: pointer;
}

.jhytel-about-done:hover,
.jhytel-about-done:focus {
  background: #851758;
  border-color: #851758;
  outline: none;
}

@media (max-width: 800px) {
  .jhytel-about-information {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .jhytel-about-minimal {
    flex-direction: column;
    align-items: stretch;
    padding: 18px;
  }

  .jhytel-about-button {
    width: 100%;
    justify-content: flex-start;
  }

  .jhytel-about-button-arrow {
    margin-left: auto;
  }

  .jhytel-about-modal {
    align-items: flex-end;
    padding: 10px;
  }

  .jhytel-about-modal-dialog {
    max-height: calc(100vh - 20px);
    border-radius: 15px;
  }

  .jhytel-about-modal-header,
  .jhytel-about-modal-body,
  .jhytel-about-modal-footer {
    padding-right: 16px;
    padding-left: 16px;
  }

  .jhytel-about-modal-body {
    max-height: calc(100vh - 190px);
  }

  .jhytel-about-row {
    grid-template-columns: 105px minmax(0, 1fr);
  }

  .jhytel-about-modal-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .jhytel-about-done {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhytel-about-modal,
  .jhytel-about-modal-dialog,
  .jhytel-about-button {
    transition: none;
  }
}

/* ==========================================================================
   @JH-01E — AUTHOR-GEOGRAPHY CARD AND MODAL
   Owner selectors: .jhytel-geo-*
   Scope status: HOMEPAGE / isolated component
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.jhytel-geo-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 22px;
  margin: 20px 0;
  padding: 17px 20px;
  background: radial-gradient(circle at top right, rgba(227, 17, 255, 0.08), transparent 42%), #ffffff;
  border: 1px solid #e7dce4;
  border-left: 4px solid #610c3a;
  border-radius: 0 14px 14px 0;
  box-shadow: 0 8px 22px rgba(53, 18, 47, 0.08);
}

.jhytel-geo-summary {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: 0;
}

.jhytel-geo-icon {
  display: inline-flex;
  flex: 0 0 42px;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  color: #ffffff;
  background: linear-gradient(135deg, #851758, #35122f);
  border-radius: 50%;
  box-shadow: 0 6px 14px rgba(53, 18, 47, 0.2);
}

.jhytel-geo-icon svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.jhytel-geo-heading > span,
.jhytel-geo-window-header > div > span {
  display: block;
  margin-bottom: 2px;
  color: #851758;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.jhytel-geo-heading h3 {
  margin: 0 0 3px;
  font-family: "Perpetua";
  color: #2d46a5;
  font-size: 20px;
  line-height: 1.25;
  font-style: italic;
  font-variant: unicase;
}

.jhytel-geo-heading p {
  margin: 0;
  color: #756970;
  font-size: 12px;
  line-height: 1.4;
}

.jhytel-geo-statistics {
  display: flex;
  align-items: center;
  gap: 8px;
}

.jhytel-geo-stat {
  min-width: 70px;
  padding: 7px 10px;
  background: #faf6f9;
  border: 1px solid #eadde6;
  border-radius: 9px;
  text-align: center;
}

.jhytel-geo-stat strong {
  display: block;
  color: #610c3a;
  line-height: 1;
}

.jhytel-geo-stat span {
  display: block;
  margin-top: 3px;
  color: #786b73;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.jhytel-geo-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 43px;
  padding: 8px 14px;
  color: #ffffff;
  background: linear-gradient(135deg, #851758, #35122f);
  border: 1px solid #610c3a;
  text-decoration: none;
  box-shadow: 0 7px 16px rgba(53, 18, 47, 0.18);
  white-space: nowrap;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease;
}

.jhytel-geo-button:hover,
.jhytel-geo-button:focus {
  color: #ffffff;
  box-shadow: 0 10px 20px rgba(53, 18, 47, 0.27);
  text-decoration: none;
  transform: translateY(-2px);
}

.jhytel-geo-modal {
  position: fixed;
  z-index: 99999;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition:
    visibility 0.2s ease,
    opacity 0.2s ease;
}

.jhytel-geo-modal:target {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.jhytel-geo-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(24, 9, 22, 0.78);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}

.jhytel-geo-window {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 920px;
  background: #ffffff;
  border: 1px solid rgba(227, 17, 255, 0.38);
  border-top: 4px solid #e311ff;
  border-radius: 17px;
  box-shadow: 0 25px 75px rgba(24, 9, 22, 0.38);
  overflow: hidden;
  transform: translateY(15px) scale(0.98);
  transition: transform 0.2s ease;
}

.jhytel-geo-modal:target .jhytel-geo-window {
  transform: translateY(0) scale(1);
}

.jhytel-geo-window-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 14px 18px 12px;
  background: radial-gradient(circle at top right, rgba(227, 17, 255, 0.1), transparent 48%), #ffffff;
  border-bottom: 1px solid #eadfe7;
}

.jhytel-geo-window-header h2 {
  margin: 0 0 2px;
  color: #35122f;
  font-size: 20px;
  line-height: 1.2;
  font-variant: unicase;
  font-style: italic;
  font-family: "perpetua";
}

.jhytel-geo-window-header p {
  margin: 0;
  color: #756970;
  font-size: 11px;
}

.jhytel-geo-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  color: #610c3a;
  background: #f7eff4;
  border: 1px solid #e3d3dd;
  border-radius: 50%;
  font-size: 24px;
  line-height: 1;
  text-decoration: none;
}

.jhytel-geo-close:hover {
  color: #ffffff;
  background: #610c3a;
  text-decoration: none;
}

.homepage-additional-content {
  margin-top: 0;
}

.jhytel-geo-map {
  position: relative;
  height: 437px;
  background: #fafafa;
  overflow: hidden;
}

.jhytel-geo-map iframe {
  position: absolute;
  top: 0;
  left: 50%;
  width: 939px !important;
  height: 580px !important;
  border: 0;
  transform: translateX(-50%) scale(0.74);
  transform-origin: top center;
}

.jhytel-geo-countries {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 7px;
  padding: 10px 18px;
  background: #ffffff;
  border-top: 1px solid #eee7ec;
}

.jhytel-geo-countries span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 7px;
  color: #4b3c45;
  background: #f8f3f7;
  border: 1px solid #eadde6;
  border-radius: 999px;
  font-size: 10px;
  line-height: 1;
}

.jhytel-geo-countries img {
  width: 16px !important;
  height: 12px !important;
  object-fit: cover;
  border-radius: 1px;
  box-shadow: 0 0 0 1px rgba(53, 18, 47, 0.16);
}

.jhytel-geo-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 10px 18px;
  background: #fbf8fa;
  border-top: 1px solid #e8dde4;
}

.jhytel-geo-footer > span {
  color: #786b73;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
}

.jhytel-geo-footer a {
  padding: 7px 17px;
  color: #ffffff;
  background: #610c3a;
  font-size: 16px;
  text-decoration: none;
}

@media (max-width: 800px) {
  .jhytel-geo-card {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .jhytel-geo-statistics {
    display: none;
  }
}

@media (max-width: 600px) {
  .jhytel-geo-card {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .jhytel-geo-button {
    width: 100%;
    box-sizing: border-box;
  }

  .jhytel-geo-modal {
    align-items: flex-start;
    padding: 8px;
    overflow-y: auto;
  }

  .jhytel-geo-window {
    margin: 0 auto;
    border-radius: 14px;
  }

  .jhytel-geo-map {
    height: 310px;
  }

  .jhytel-geo-countries {
    max-height: 100px;
    overflow-y: auto;
  }
}
/* =========================================================
   GLOBAL AUTHORSHIP — SIMPLE ARCHIVE TEASER
   ========================================================= */

.jhytel-geo-card--teaser {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
}

.jhytel-geo-card--teaser .jhytel-geo-icon svg {
  display: block;
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.jhytel-geo-kicker {
  display: block;
  margin-bottom: 2px;
  color: rgb(82, 9, 44);
  font-size: 13px;
  letter-spacing: 0.08em;
}

.jhytel-geo-card--teaser .jhytel-geo-heading p {
  max-width: 580px;
}

@media (max-width: 640px) {
  .jhytel-geo-card--teaser {
    grid-template-columns: minmax(0, 1fr);
  }

  .jhytel-geo-card--teaser .jhytel-geo-button {
    justify-self: start;
  }
}

.jhytel-geo-card {
  cursor: default;
  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.jhytel-geo-card:hover,
.jhytel-geo-card:focus-within {
  border-color: #d8bdcb;
  box-shadow: 0 12px 28px rgba(53, 18, 47, 0.11);
  transform: translateY(-3px);
}

.jhytel-geo-card:hover .jhytel-geo-button,
.jhytel-geo-button:hover,
.jhytel-geo-button:focus-visible {
  background: #8d0d54;
  border-color: #8d0d54;
  color: #ffffff;
  transform: translateY(-1px);
}
/* ==========================================================================
   @JH-01F — IMPACT CARD AND MODAL BASE
   Owner selectors: .jhytel-impact-*
   Scope status: HOMEPAGE / isolated component
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.jhytel-impact-card {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) auto auto;
  align-items: center;
  margin: 20px 0;
  background: radial-gradient(circle at top right, rgba(227, 17, 255, 0.08), transparent 40%), #ffffff;
  border: 1px solid #e7dce4;
  border-left: 4px solid #610c3a;
  border-radius: 0 14px 14px 0;
  box-shadow: 0 8px 22px rgba(53, 18, 47, 0.08);
}

.jhytel-impact-intro {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: 0;
}

.jhytel-impact-icon {
  display: inline-flex;
  flex: 0 0 44px;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  color: #ffffff;
  background: linear-gradient(135deg, #851758, #35122f);
  border-radius: 50%;
  box-shadow: 0 7px 15px rgba(53, 18, 47, 0.2);
}

.jhytel-impact-icon svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.jhytel-impact-intro h2 {
  margin: 0 0 4px;
  color: #2d46a5;
  font-size: 20px;
  line-height: 1.25;
  font-style: italic;
  font-variant: unicase;
  font-family: "Perpetua";
}

.jhytel-impact-intro p {
  max-width: 440px;
  margin: 0;
  color: #756970;
  font-size: 12px;
  line-height: 1.45;
}

.jhytel-impact-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(58px, 1fr));
}

.jhytel-impact-metric strong {
  display: block;
}

.jhytel-impact-metric span {
  display: block;
  margin-top: 4px;
  color: #786b73;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.2;
  text-transform: uppercase;
}

.jhytel-impact-actions {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.jhytel-impact-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 37px;
  padding: 7px 12px;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease;
}

.jhytel-impact-button-primary {
  color: #ffffff;
  background: linear-gradient(135deg, #851758, #35122f);
  border: 1px solid #610c3a;
  box-shadow: 0 6px 14px rgba(53, 18, 47, 0.18);
}

.jhytel-impact-button-primary:hover,
.jhytel-impact-button-primary:focus {
  color: #ffffff;
  box-shadow: 0 9px 19px rgba(53, 18, 47, 0.27);
  text-decoration: none;
  transform: translateY(-2px);
}

.jhytel-impact-button-secondary {
  color: #610c3a;
  background: #ffffff;
  border: 1px solid #d9c5d2;
}

.jhytel-impact-button-secondary:hover,
.jhytel-impact-button-secondary:focus {
  color: #ffffff;
  background: #610c3a;
  border-color: #610c3a;
  text-decoration: none;
}

.jhytel-impact-modal {
  position: fixed;
  z-index: 99999;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition:
    visibility 0.2s ease,
    opacity 0.2s ease;
}

.jhytel-impact-modal:target {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.jhytel-impact-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(24, 9, 22, 0.78);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}

.jhytel-impact-window {
  position: relative;
  z-index: 1;
  background: #ffffff;
  border: 1px solid rgba(227, 17, 255, 0.36);
  border-top: 4px solid #e311ff;
  box-shadow: 0 25px 75px rgba(24, 9, 22, 0.38);
  transform: translateY(15px) scale(0.98);
  transition: transform 0.2s ease;
}

.jhytel-impact-modal:target .jhytel-impact-window {
  transform: translateY(0) scale(1);
}

.jhytel-impact-window-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  background: radial-gradient(circle at top right, rgba(227, 17, 255, 0.1), transparent 48%), #ffffff;
  border-bottom: 1px solid #eadfe7;
}

.jhytel-impact-window-header h2 {
  margin: 0 0 3px;
  color: #35122f;
  font-family: "perpetua";
  font-variant: unicase;
  font-style: italic;
  line-height: 1.2;
}

.jhytel-impact-window-header p {
  margin: 0;
  color: #756970;
}

.jhytel-impact-close {
  display: inline-flex;
  flex: 0 0 34px;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  color: #610c3a;
  background: #f7eff4;
  border: 1px solid #e3d3dd;
  border-radius: 50%;
  font-size: 24px;
  line-height: 1;
  text-decoration: none;
}

.jhytel-impact-close:hover {
  color: #ffffff;
  background: #610c3a;
  text-decoration: none;
}

.jhytel-impact-source-header {
  margin-bottom: 11px;
  font-family: "perpetua";
  font-variant: unicase;
  font-style: italic;
}

.jhytel-impact-source-header span {
  display: block;
  color: #8b7d85;
  font-size: 14px;
  letter-spacing: 0.07em;
}

.jhytel-impact-source-header h3 {
  font-family: "perpetua";
  font-variant: unicase;
  font-style: italic;
}

.jhytel-impact-source-header a,
.jhytel-impact-status {
  color: #851758 !important;
  text-decoration: none;
  font-variant: unicase;
}

.jhytel-impact-source:first-child .jhytel-impact-source-metrics {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jhytel-impact-source-metrics strong {
  display: block;
}

.jhytel-impact-source-metrics span {
  display: block;
  margin-top: 4px;
  color: #7e7179;
  font-size: 8px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
}

.jhytel-impact-quartiles {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.jhytel-impact-quartile {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 11px;
  background: #ffffff;
  border: 1px solid #e9dfe5;
  border-radius: 9px;
}

.jhytel-impact-quartile strong {
  display: block;
  color: #35122f;
  font-size: 14px;
}

.jhytel-impact-quartile small {
  display: block;
  margin-top: 2px;
  color: #83767e;
  font-size: 14px;
  line-height: 1.25;
}

.jhytel-impact-note {
  background: linear-gradient(90deg, #faf3f8, #ffffff);
  border-left: 3px solid #851758;
  border-radius: 0 8px 8px 0;
}

.jhytel-impact-note strong {
  color: #851758 !important;
  text-decoration: none;
  font-variant: unicase;
  font-weight: 300;
}

.jhytel-impact-window-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  background: #fbf8fa;
  border-top: 1px solid #e8dde4;
}

.jhytel-impact-window-footer > div {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.jhytel-impact-window-footer > div a {
  color: #851758;
  text-decoration: none;
}

.jhytel-impact-done {
  color: #ffffff;
  background: #610c3a;
  font-size: 16px;
  text-decoration: none;
}

.jhytel-impact-done:hover {
  color: #ffffff;
  background: #851758;
  text-decoration: none;
}

@media (max-width: 900px) {
  .jhytel-impact-card {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .jhytel-impact-actions {
    grid-column: 1 / -1;
    flex-direction: row;
  }

  .jhytel-impact-button {
    flex: 1;
  }
}

@media (max-width: 650px) {
  .jhytel-impact-card {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .jhytel-impact-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhytel-impact-actions {
    flex-direction: column;
  }

  .jhytel-impact-window-content {
    grid-template-columns: 1fr;
  }

  .jhytel-impact-quartiles {
    grid-column: auto;
    grid-template-columns: 1fr;
  }

  .jhytel-impact-note {
    grid-column: auto;
  }

  .jhytel-impact-source-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhytel-impact-source:first-child .jhytel-impact-source-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ==========================================================================
   @JH-01G — IMPACT QUARTILE ACCORDION BASE
   Owner selectors: .jhytel-quartile-*
   Scope status: HOMEPAGE / impact subcomponent
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.jhytel-quartile-details {
  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease;
}

.jhytel-quartile-details:hover {
  border-color: #d6bdcd;
  box-shadow: 0 5px 13px rgba(53, 18, 47, 0.08);
}

.jhytel-quartile-details[open] {
  border-color: #cdaabd;
  box-shadow: 0 8px 18px rgba(53, 18, 47, 0.1);
}

.jhytel-quartile-details summary {
  display: flex;
  align-items: center;
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.jhytel-quartile-details summary::-webkit-details-marker {
  display: none;
}

.jhytel-quartile-details summary::marker {
  display: none;
  content: "";
}

.jhytel-quartile-details summary:focus {
  outline: 2px solid rgba(227, 17, 255, 0.4);
  outline-offset: -2px;
}

.jhytel-quartile-summary-text {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}

.jhytel-quartile-arrow {
  flex: 0 0 auto;
  color: #851758;
  font-size: 14px;
  font-weight: 700;
  transition: transform 0.18s ease;
}

.jhytel-quartile-details[open] .jhytel-quartile-arrow {
  transform: rotate(180deg);
}

.jhytel-quartile-list {
  counter-reset: quartile-journal;
}

.jhytel-quartile-list li {
  position: relative;
}

.jhytel-quartile-list li::marker {
  color: #851758;
  font-weight: 700;
}

.jhytel-quartile-list li a {
  display: block;
  color: #4d253e;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
}

.jhytel-quartile-list li a:hover {
  color: #851758;
  text-decoration: underline;
}

.jhytel-quartile-list li > span {
  position: absolute;
  top: 6px;
  right: 0;
  padding: 2px 5px;
  color: #ffffff;
  background: #610c3a;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.jhytel-quartile-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-weight: 800;
}

.jhytel-quartile-badge.q1 {
  background: linear-gradient(135deg, #31885a, #185335);
}

.jhytel-quartile-badge.q2 {
  background: linear-gradient(135deg, #d28a1c, #965706);
}

.jhytel-quartile-badge.q3 {
  background: linear-gradient(135deg, #9b286e, #610c3a);
}

@media (max-width: 650px) {
  .jhytel-quartile-accordion {
    grid-template-columns: 1fr;
  }

  .jhytel-quartile-details[open] {
    grid-column: auto;
  }

  .jhytel-quartile-list li {
    padding-right: 70px;
  }
}

/* ==========================================================================
   @JH-01H — HOMEPAGE FOOTER HUB AND VISITOR MODAL
   Owner selectors: .jhytel-footerhub-*
   Scope status: HOMEPAGE / isolated component
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.jhytel-footerhub {
  display: grid;
  grid-template-columns:
    minmax(0, 1.2fr)
    minmax(0, 1fr)
    minmax(0, 1fr)
    minmax(0, 0.9fr);
  gap: 10px;
  margin: 20px 0;
  padding: 12px;
  background: radial-gradient(circle at top right, rgba(227, 17, 255, 0.08), transparent 40%), #ffffff;
  border: 1px solid #e7dce4;
  border-left: 4px solid #610c3a;
  border-radius: 0 14px 14px 0;
  box-shadow: 0 8px 22px rgba(53, 18, 47, 0.09);
}

.jhytel-footerhub-card {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
  min-height: 92px;
  padding: 12px;
  background: #fcfafb;
  border: 1px solid #e9dfe5;
  border-radius: 11px;
  box-sizing: border-box;
  text-decoration: none;
  transition:
    transform 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease;
}

.jhytel-footerhub-card-link:hover,
.jhytel-footerhub-card-link:focus {
  border-color: #cdaabd;
  box-shadow: 0 8px 17px rgba(53, 18, 47, 0.13);
  text-decoration: none;
  transform: translateY(-2px);
}

.jhytel-footerhub-content {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}

.jhytel-footerhub-label {
  display: block;
  color: #851758;
  font-family: "NexusSansTF-Regular", Arial, sans-serif;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.075em;
  line-height: 1.25;
  text-transform: uppercase;
}

.jhytel-footerhub-title {
  display: block;
  margin-top: 4px;
  color: #35122f;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
}

a.jhytel-footerhub-title:hover {
  color: #851758;
  text-decoration: underline;
}

.jhytel-footerhub-description {
  display: block;
  margin-top: 4px;
  color: #7c6f77;
  font-size: 10px;
  line-height: 1.4;
  text-decoration: none;
}

a.jhytel-footerhub-description:hover {
  color: #851758;
  text-decoration: underline;
}

.jhytel-footerhub-arrow {
  flex: 0 0 auto;
  color: #851758;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}

.jhytel-footerhub-icon {
  display: inline-flex !important;
  flex: 0 0 44px;
  align-items: center;
  justify-content: center;
  width: 44px !important;
  height: 44px !important;
  color: #ffffff !important;
  background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.2), transparent 45%), linear-gradient(135deg, #851758, #35122f);
  border: 2px solid rgba(227, 17, 255, 0.45);
  border-radius: 50%;
  box-shadow:
    0 6px 14px rgba(53, 18, 47, 0.21),
    inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.jhytel-footerhub-icon > span {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: #ffffff !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 19px;
  font-weight: 700;
  line-height: 1;
}

.jhytel-footerhub-music-icon > span {
  font-size: 25px;
}

.jhytel-footerhub-visitor-icon > span {
  width: 24px;
  height: 15px;
  color: #ffffff !important;
  background: transparent;
  border: 2px solid #ffffff;
  border-radius: 50% / 65%;
  font-family: Arial, sans-serif;
  font-size: 8px;
  line-height: 1;
}

.jhytel-footerhub-sdg {
  display: inline-flex !important;
  flex: 0 0 46px;
  align-items: center;
  justify-content: center;
  width: 46px !important;
  height: 46px !important;
  background: #851758;
  background: conic-gradient(
    #e5243b 0deg 21deg,
    #dda63a 21deg 42deg,
    #4c9f38 42deg 63deg,
    #c5192d 63deg 84deg,
    #ff3a21 84deg 105deg,
    #26bde2 105deg 126deg,
    #fcc30b 126deg 147deg,
    #a21942 147deg 168deg,
    #fd6925 168deg 189deg,
    #dd1367 189deg 210deg,
    #fd9d24 210deg 231deg,
    #bf8b2e 231deg 252deg,
    #3f7e44 252deg 273deg,
    #0a97d9 273deg 294deg,
    #56c02b 294deg 315deg,
    #00689d 315deg 336deg,
    #19486a 336deg 360deg
  );
  border: 2px solid #ffffff;
  border-radius: 50%;
  box-shadow:
    0 6px 14px rgba(53, 18, 47, 0.2),
    0 0 0 1px rgba(53, 18, 47, 0.13);
}

.jhytel-footerhub-sdg > span {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 29px !important;
  height: 29px !important;
  color: #610c3a !important;
  background: #ffffff !important;
  border-radius: 50%;
  font-family: Arial, sans-serif;
  font-size: 8px !important;
  font-weight: 800;
  line-height: 1;
}

.jhytel-footerhub-audio {
  display: block;
  width: 100%;
  max-width: 210px;
  height: 32px;
  margin-top: 6px;
}

.jhytel-footerhub-visitor-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 6px;
  color: #851758;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
}

.jhytel-footerhub-visitor-button:hover,
.jhytel-footerhub-visitor-button:focus {
  color: #610c3a;
  text-decoration: underline;
}

.jhytel-footerhub-modal {
  position: fixed;
  z-index: 99999;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition:
    visibility 0.2s ease,
    opacity 0.2s ease;
}

.jhytel-footerhub-modal:target {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.jhytel-footerhub-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(24, 9, 22, 0.78);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}

.jhytel-footerhub-window {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 880px;
  background: #ffffff;
  border: 1px solid rgba(227, 17, 255, 0.38);
  border-top: 4px solid #e311ff;
  border-radius: 17px;
  box-shadow: 0 25px 75px rgba(24, 9, 22, 0.38);
  overflow: hidden;
  transform: translateY(15px) scale(0.98);
  transition: transform 0.2s ease;
}

.jhytel-footerhub-modal:target .jhytel-footerhub-window {
  transform: translateY(0) scale(1);
}

.jhytel-footerhub-window-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 19px 13px;
  background: radial-gradient(circle at top right, rgba(227, 17, 255, 0.1), transparent 48%), #ffffff;
  border-bottom: 1px solid #eadfe7;
}

.jhytel-footerhub-window-header h2 {
  margin: 4px 0;
  color: #35122f;
  font-size: 22px;
  line-height: 1.2;
}

.jhytel-footerhub-window-header p {
  margin: 0;
  color: #756970;
  font-size: 12px;
  line-height: 1.4;
}

.jhytel-footerhub-close {
  display: inline-flex;
  flex: 0 0 36px;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  color: #610c3a;
  background: #f7eff4;
  border: 1px solid #e3d3dd;
  border-radius: 50%;
  font-size: 25px;
  line-height: 1;
  text-decoration: none;
}

.jhytel-footerhub-close:hover {
  color: #ffffff;
  background: #610c3a;
  text-decoration: none;
}

.jhytel-footerhub-window-content {
  display: grid;
  grid-template-columns: minmax(180px, 0.55fr) minmax(0, 1.45fr);
  gap: 13px;
  padding: 15px 18px;
}

.jhytel-footerhub-counter-card {
  min-width: 0;
  padding: 13px;
  background: #fcfafb;
  border: 1px solid #e9dfe5;
  border-radius: 11px;
}

.jhytel-footerhub-counter-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.jhytel-footerhub-counter-header span {
  display: block;
  color: #851758;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.jhytel-footerhub-counter-header strong {
  display: block;
  margin-top: 3px;
  color: #35122f;
  font-size: 13px;
}

.jhytel-footerhub-counter-header > a {
  color: #851758;
  font-size: 9px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.jhytel-footerhub-statcounter {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 95px;
  background: #ffffff;
  border: 1px solid #eee5eb;
  border-radius: 8px;
}

.jhytel-footerhub-statcounter img,
.jhytel-footerhub-flagcounter img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

.jhytel-footerhub-flagcounter {
  display: block;
  text-align: center;
}

.jhytel-footerhub-window-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 11px 18px;
  background: #fbf8fa;
  border-top: 1px solid #e8dde4;
}

.jhytel-footerhub-window-footer > span {
  color: #83767e;
  font-size: 9px;
}

.jhytel-footerhub-window-footer > a {
  padding: 7px 18px;
  color: #ffffff;
  background: #610c3a;
  border-radius: 7px;
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
}

.jhytel-footerhub-window-footer > a:hover {
  color: #ffffff;
  background: #851758;
  text-decoration: none;
}

@media (max-width: 950px) {
  .jhytel-footerhub {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .jhytel-footerhub {
    grid-template-columns: 1fr;
  }

  .jhytel-footerhub-card {
    min-height: 88px;
  }

  .jhytel-footerhub-title {
    font-size: 14px;
  }

  .jhytel-footerhub-description,
  .jhytel-footerhub-visitor-button {
    font-size: 11px;
  }

  .jhytel-footerhub-modal {
    align-items: flex-start;
    padding: 8px;
    overflow-y: auto;
  }

  .jhytel-footerhub-window {
    margin: 0 auto;
    border-radius: 14px;
  }

  .jhytel-footerhub-window-content {
    grid-template-columns: 1fr;
  }

  .jhytel-footerhub-window-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .jhytel-footerhub-window-footer > a {
    text-align: center;
  }
}

/* ==========================================================================
   @JH-01I — HOMEPAGE INFORMATION ACCORDION
   Owner selectors: .jhytel-info-*
   Scope status: HOMEPAGE / isolated component
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.jhytel-info-accordion {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 9px;
  margin: 20px 0;
  padding: 11px;
  background: radial-gradient(circle at top right, rgba(227, 17, 255, 0.07), transparent 40%), #ffffff;
  border: 1px solid #e7dce4;
  border-left: 4px solid #610c3a;
  border-radius: 0 14px 14px 0;
  box-shadow: 0 8px 22px rgba(53, 18, 47, 0.08);
}

.jhytel-info-details {
  min-width: 0;
  background: #fcfafb;
  border: 1px solid #e9dfe5;
  border-radius: 10px;
  overflow: hidden;
  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease;
}

.jhytel-info-details:hover {
  border-color: #d3b9c9;
  box-shadow: 0 5px 13px rgba(53, 18, 47, 0.08);
}

.jhytel-info-details[open] {
  grid-column: 1 / -1;
  background: #ffffff;
  border-color: #cdaabd;
  box-shadow: 0 8px 18px rgba(53, 18, 47, 0.1);
}

.jhytel-info-details summary {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 64px;
  padding: 9px 11px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.jhytel-info-details summary::-webkit-details-marker {
  display: none;
}

.jhytel-info-details summary::marker {
  content: "";
}

.jhytel-info-details summary:focus {
  outline: 2px solid rgba(227, 17, 255, 0.4);
  outline-offset: -2px;
}

.jhytel-info-icon {
  display: inline-flex;
  flex: 0 0 36px;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  color: #ffffff;
  background: linear-gradient(135deg, #851758, #35122f);
  font-size: 18px;
  box-shadow: 0 5px 11px rgba(53, 18, 47, 0.17);
  font-family: "perpetua";
}

.jhytel-info-heading {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}

.jhytel-info-heading strong {
  color: #2d46a5;
  font-family: "perpetua";
  font-variant: unicase;
  font-style: italic;
  line-height: 1.3;
  font-weight: 300;
  font-size: 20px;
}

.jhytel-info-heading small {
  display: block;
  margin-top: 3px;
  color: #756970;
  line-height: 1.45;
  font-size: 18px;
}

.jhytel-info-arrow {
  flex: 0 0 auto;
  color: #851758;
  font-size: 15px;
  font-weight: 700;
  transition: transform 0.18s ease;
}

.jhytel-info-details[open] .jhytel-info-arrow {
  transform: rotate(180deg);
}

.jhytel-info-content {
  padding: 14px 17px 16px;
  color: #554950;
  border-top: 1px solid #eee5eb;
  line-height: 1.65;
}

.jhytel-info-content p {
  margin: 0 0 11px;
}

.jhytel-info-content p:last-child {
  margin-bottom: 0;
}

.jhytel-info-content a {
  color: #851758;
  font-weight: 700;
  text-decoration: none;
}

.jhytel-info-content a:hover {
  color: #610c3a;
  text-decoration: underline;
}

.jhytel-info-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 12px;
}

.jhytel-info-tags span {
  padding: 6px 10px;
  color: #610c3a;
  background: #f8edf5;
  border: 1px solid #ead7e5;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
}

.jhytel-info-policy-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.jhytel-info-policy {
  padding: 10px 11px;
  font-size: 14px;
  background: #faf7f9;
  border: 1px solid #ede3e9;
  border-radius: 8px;
}

.jhytel-info-policy span {
  display: block;
  color: #851758;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.jhytel-info-policy strong {
  display: block;
  margin-top: 4px;
  color: #a85fba;
  line-height: 1.4;
  font-weight: 300;
}

.jhytel-info-partners {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 11px 0;
}

.jhytel-info-partners > a {
  display: flex;
  flex-direction: column;
  padding: 10px 11px;
  background: #faf7f9;
  border: 1px solid #ede3e9;
  border-radius: 8px;
  font-style: italic;
  text-decoration: none;
  font-weight: 300;
}

.jhytel-info-partners > a:hover {
  border-color: #cdaabd;
  text-decoration: none;
}

.jhytel-info-partners span {
  color: #8d7f87;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.jhytel-info-partners strong {
  margin-top: 3px;
  color: #610c3a;
  font-size: 18px;
  font-weight: 300;
  font-style: normal;
}

.jhytel-info-partners small {
  margin-top: 3px;
  color: #82757d;
}

.jhytel-info-inclusion {
  padding: 9px 11px;
  background: linear-gradient(90deg, #faf3f8, #ffffff);
  border-left: 3px solid #851758;
  border-radius: 0 7px 7px 0;
  font-size: 11px;
}

@media (max-width: 800px) {
  .jhytel-info-accordion {
    grid-template-columns: 1fr;
  }

  .jhytel-info-details[open] {
    grid-column: auto;
  }

  .jhytel-info-policy-grid,
  .jhytel-info-partners {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   @JH-01J — HOMEPAGE PUBLICATION-FEE BANNER
   Owner selectors: .jh-home-editorial-block; .jh-home-fee-*
   Scope status: HOMEPAGE / isolated component
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.jh-home-editorial-block {
  overflow: hidden;
  background: var(--jh-white, #ffffff);
  border: 1px solid var(--jh-border, #ead8e4);
  border-radius: 18px;
  box-shadow: var(--jh-shadow, 0 12px 32px rgba(73, 16, 50, 0.08));
}

.jh-home-fee-banner {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(18px, 3vw, 28px);
}

.jh-home-fee-icon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  color: #ffffff;
  background: linear-gradient(145deg, #237153 0%, #155940 100%);
  border: 5px solid rgba(35, 113, 83, 0.13);
  border-radius: 50%;
  box-shadow:
    0 8px 18px rgba(20, 86, 62, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.jh-home-fee-icon svg {
  width: 30px;
  height: 30px;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.jh-home-fee-action {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  min-width: 210px;
  min-height: 52px;
  padding: 0 18px;
  color: #ffffff !important;
  font-family: "Perpetua", Georgia, serif;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none !important;
  background: linear-gradient(135deg, #237153 0%, #155940 100%);
  border: 1px solid #155940;
  border-radius: 2px;
  box-shadow: 0 9px 20px rgba(20, 86, 62, 0.2);
  transition:
    background 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

.jh-home-fee-action-arrow {
  font-family: Arial, sans-serif;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  transition: transform 0.2s ease;
}

.jh-home-fee-action:hover,
.jh-home-fee-action:focus-visible {
  color: #ffffff !important;
  background: linear-gradient(135deg, #195f46 0%, #0e4733 100%);
  box-shadow: 0 12px 25px rgba(20, 86, 62, 0.27);
  transform: translateY(-2px);
}

.jh-home-fee-action:hover .jh-home-fee-action-arrow,
.jh-home-fee-action:focus-visible .jh-home-fee-action-arrow {
  transform: translateX(4px);
}

.jh-home-fee-action:focus-visible {
  outline: 3px solid rgba(35, 113, 83, 0.22);
  outline-offset: 3px;
}

@media (max-width: 820px) {
  .jh-home-fee-banner {
    grid-template-columns: 64px minmax(0, 1fr);
  }

  .jh-home-fee-action {
    grid-column: 1 / -1;
    width: 100%;
  }
}

@media (max-width: 520px) {
  .jh-home-fee-banner {
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 14px;
  }

  .jh-home-fee-icon {
    width: 50px;
    height: 50px;
    border-width: 4px;
  }

  .jh-home-fee-icon svg {
    width: 26px;
    height: 26px;
  }

  .jh-home-fee-action {
    min-width: 0;
    min-height: 50px;
  }
}

/* ==========================================================================
   @JH-01K — HOMEPAGE AUTHOR TOOLS
   Owner selectors: .jh-author-tool-*
   Scope status: HOMEPAGE / isolated component
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.jh-author-tools {
  display: grid;
  gap: 13px;
  margin: 22px 0;
}

.jh-author-tool-row {
  position: relative;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  min-height: 112px;
  padding: 18px 22px;
  overflow: hidden;
  background: linear-gradient(90deg, #ffffff 0%, #ffffff 64%, #fff5fc 100%);
  border: 1px solid #ead8e4;
  border-left: 4px solid #68033c;
  border-radius: 0 14px 14px 0;
  box-shadow: 0 7px 18px rgba(74, 9, 47, 0.06);
}

.jh-author-tool-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  color: #ffffff;
  background: linear-gradient(145deg, #790746, #51022e);
  border-radius: 50%;
  box-shadow: 0 7px 15px rgba(81, 2, 46, 0.22);
}

.jh-author-tool-icon svg {
  width: 24px;
  height: 24px;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.jh-author-tool-icon-text {
  font-family: "NexusSansTF-Regular", Arial, sans-serif;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.jh-author-tool-content {
  min-width: 0;
}

.jh-author-tool-label {
  display: block;
  margin-bottom: 2px;
  color: #790746;
  font-family: "NexusSansTF-Regular", Arial, sans-serif;
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.jh-author-tool-content h3 {
  margin: 0;
  color: #30252c;
  font-family: "Perpetua", Georgia, serif;
  font-size: 1.28rem;
  font-weight: 700;
  line-height: 1.2;
}

.jh-author-tool-content p {
  max-width: 650px;
  margin: 5px 0 0;
  color: #74666f;
  font-family: "NexusSansTF-Regular", Arial, sans-serif;
  font-size: 0.8rem;
  line-height: 1.5;
}

.jh-author-tool-actions {
  display: grid;
  gap: 7px;
  width: 196px;
}

.jh-author-tool-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 43px;
  padding: 9px 14px;
  font-family: "Perpetua", Georgia, serif;
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none !important;
  border-radius: 0;
  transition:
    background 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

.jh-author-tool-button-primary {
  color: #ffffff !important;
  background: linear-gradient(135deg, #790746, #51022e);
  border: 1px solid #51022e;
  box-shadow: 0 6px 14px rgba(81, 2, 46, 0.17);
}

.jh-author-tool-button-primary:hover,
.jh-author-tool-button-primary:focus-visible {
  color: #ffffff !important;
  background: #430126;
  box-shadow: 0 9px 18px rgba(81, 2, 46, 0.25);
  transform: translateY(-1px);
}

.jh-author-tool-button-secondary {
  justify-content: center;
  color: #790746 !important;
  background: #ffffff;
  border: 1px solid #ddc5d4;
}

.jh-author-tool-button-secondary:hover,
.jh-author-tool-button-secondary:focus-visible {
  color: #51022e !important;
  background: #fff5fc;
  border-color: #790746;
}

.jh-author-tool-button:focus-visible {
  outline: 3px solid rgba(121, 7, 70, 0.18);
  outline-offset: 3px;
}

@media (max-width: 760px) {
  .jh-author-tool-row {
    grid-template-columns: 48px minmax(0, 1fr);
  }

  .jh-author-tool-actions {
    grid-column: 1 / -1;
    width: 100%;
    padding-left: 66px;
  }
}

@media (max-width: 520px) {
  .jh-author-tool-row {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 13px;
    min-height: 0;
    padding: 17px;
  }

  .jh-author-tool-icon {
    width: 42px;
    height: 42px;
  }

  .jh-author-tool-icon svg {
    width: 21px;
    height: 21px;
  }

  .jh-author-tool-content h3 {
    font-size: 1.15rem;
  }

  .jh-author-tool-actions {
    padding-left: 0;
  }
}

/* ==========================================================================
   @JH-02A — HOMEPAGE SUITE FOUNDATION
   Owner selectors: .jhsuite-root
   Scope status: HOMEPAGE SUITE / shared structural root
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* ========================================================================== 
   @JH-02 — HOMEPAGE SUITE — ISOLATED MAINTENANCE VERSION
   Scope boundaries:
   1) .jhsuite-author-section   — Author Resources only
   2) .jhsuite-timeline-section — Publishing Timeline only
   3) .jhsuite-cfp-section      — Current Call for Papers only

   Purpose:
   Preserve the current appearance while preventing later CFP changes from
   affecting Author Resources or Publishing Timeline.
   ========================================================================== */

/* ========================================================================== 
   00 — SUITE FOUNDATION
   Structural only. Do not place component colors, buttons, headings, cards,
   or responsive design rules here.
   ========================================================================== */

.jhsuite-root {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  text-align: left;
}

.jhsuite-root,
.jhsuite-root *,
.jhsuite-root *::before,
.jhsuite-root *::after {
  box-sizing: border-box;
}

/* ==========================================================================
   @JH-02B — AUTHOR RESOURCES
   Owner selectors: .jhsuite-author-section
   Scope status: HOMEPAGE SUITE / isolated component
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* ========================================================================== 
   01 — AUTHOR RESOURCES
   Edit only this section for APC, template, login, and registration cards.
   ========================================================================== */

.jhsuite-author-section {
  --jha-burgundy: #790746;
  --jha-burgundy-dark: #51022e;
  --jha-burgundy-deep: #430126;
  --jha-blush: #fff6fc;
  --jha-blush-soft: #fffbfd;
  --jha-pink-border: #ead8e4;
  --jha-green: #237153;
  --jha-green-dark: #155940;
  --jha-green-deep: #0e4733;
  --jha-green-soft: #f3faf6;
  --jha-green-border: #d2e7dc;
  --jha-ink: #30252c;
  --jha-muted: #74666f;

  margin: clamp(24px, 3vw, 32px) 0 0;
  color: var(--jha-ink);
  font-family: "NexusSansTF-Regular", Arial, sans-serif;
  text-align: left;
}

.jhsuite-author-section h2,
.jhsuite-author-section h3,
.jhsuite-author-section p,
.jhsuite-author-section dl,
.jhsuite-author-section dt,
.jhsuite-author-section dd {
  word-spacing: normal;
  text-align: left;
  font-family: "Perpetua";
}

.jhsuite-author-section .jhsuite-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.72fr);
  align-items: end;
  gap: 30px;
  margin-bottom: 18px;
}

.jhsuite-author-section .jhsuite-section-heading h2 {
  margin: 2px 0 0;
  color: var(--jha-ink);
  font-family: "Perpetua", Georgia, serif;
  font-size: clamp(1.85rem, 3.4vw, 2.5rem);
  font-weight: 400;
  line-height: 1.08;
  font-variant: unicase;
  font-style: italic;
}

.jhsuite-author-section .jhsuite-section-heading > p {
  margin: 0;
  color: var(--jha-muted);
  font-size: 0.88rem;
  line-height: 1.58;
}

.jhsuite-author-section .jhsuite-kicker {
  display: block;
  margin: 0 0 4px;
  color: var(--jha-burgundy);
  font-family: "Perpetua", Arial, sans-serif;
  font-size: 20px;
  font-weight: 300;
  letter-spacing: 0.1em;
  line-height: 1.35;
  font-variant: unicase;
  font-style: italic;
}

.jhsuite-author-section .jhsuite-kicker-green {
  color: var(--jha-green-dark);
  font-size: 20px;
  font-weight: 300;
  letter-spacing: 0.1em;
  line-height: 1.35;
  font-variant: unicase;
  font-style: italic;
}

/* Author buttons — isolated from CFP buttons */

.jhsuite-author-section .jhsuite-btn {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  min-height: 45px;
  padding: 10px 16px;
  font-family: "Perpetua", Georgia, serif;
  font-weight: 300;
  line-height: 1.15;
  text-decoration: none !important;
  border: 1px solid transparent;
  border-radius: 2px;
  box-shadow: none;
  cursor: pointer;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

.jhsuite-author-section .jhsuite-btn:hover,
.jhsuite-author-section .jhsuite-btn:focus-visible {
  text-decoration: none !important;
  transform: translateY(-2px);
}

.jhsuite-author-section .jhsuite-btn:focus-visible {
  outline: 3px solid rgba(121, 7, 70, 0.2);
  outline-offset: 3px;
}

.jhsuite-author-section .jhsuite-btn-arrow {
  flex: 0 0 auto;
  font-family: Arial, sans-serif;
  font-size: 1.05em;
  font-weight: 400;
  line-height: 1;
  transition: transform 0.2s ease;
}

.jhsuite-author-section .jhsuite-btn:hover .jhsuite-btn-arrow,
.jhsuite-author-section .jhsuite-btn:focus-visible .jhsuite-btn-arrow {
  transform: translateX(3px);
}

.jhsuite-author-section .jhsuite-btn-green {
  color: #ffffff !important;
  background: linear-gradient(135deg, var(--jha-green), var(--jha-green-dark));
  border-color: var(--jha-green-dark);
  box-shadow: 0 8px 18px rgba(21, 89, 64, 0.18);
}

.jhsuite-author-section .jhsuite-btn-green:hover,
.jhsuite-author-section .jhsuite-btn-green:focus-visible {
  color: #ffffff !important;
  background: linear-gradient(135deg, #195f46, var(--jha-green-deep));
  box-shadow: 0 11px 23px rgba(21, 89, 64, 0.25);
}

.jhsuite-author-section .jhsuite-btn-green:focus-visible {
  outline-color: rgba(35, 113, 83, 0.22);
}

.jhsuite-author-section .jhsuite-btn-burgundy {
  color: #ffffff !important;
  background: linear-gradient(135deg, var(--jha-burgundy), var(--jha-burgundy-dark));
  border-color: var(--jha-burgundy-dark);
  box-shadow: 0 7px 16px rgba(81, 2, 46, 0.16);
}

.jhsuite-author-section .jhsuite-btn-burgundy:hover,
.jhsuite-author-section .jhsuite-btn-burgundy:focus-visible {
  color: #ffffff !important;
  background: var(--jha-burgundy-deep);
  box-shadow: 0 10px 21px rgba(81, 2, 46, 0.24);
}

.jhsuite-author-section .jhsuite-btn-outline {
  color: var(--jha-burgundy) !important;
  background: #ffffff;
  border-color: #d8bccc;
}

.jhsuite-author-section .jhsuite-btn-outline:hover,
.jhsuite-author-section .jhsuite-btn-outline:focus-visible {
  color: var(--jha-burgundy-dark) !important;
  background: var(--jha-blush);
  border-color: var(--jha-burgundy);
}

/* Publication charges card */

.jhsuite-author-section .jhsuite-apc-card {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(17px, 3vw, 26px);
  padding: clamp(20px, 3.2vw, 28px);
  overflow: hidden;
  background: radial-gradient(circle at 100% 0, rgba(35, 113, 83, 0.1), transparent 35%), linear-gradient(105deg, #ffffff 0%, var(--jha-green-soft) 100%);
  border: 1px solid var(--jha-green-border);
  border-left: 4px solid var(--jha-green);
  border-radius: 0 17px 17px 0;
  box-shadow: 0 9px 24px rgba(21, 89, 64, 0.08);
}

.jhsuite-author-section .jhsuite-apc-icon,
.jhsuite-author-section .jhsuite-submit-icon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  color: #ffffff;
  border-radius: 50%;
}

.jhsuite-author-section .jhsuite-apc-icon {
  position: relative;
  background: linear-gradient(145deg, var(--jha-green), var(--jha-green-dark));
  border: 4px solid #dbeee4;
  box-shadow: 0 8px 18px rgba(21, 89, 64, 0.2);
}

.jhsuite-author-section .jhsuite-apc-icon svg,
.jhsuite-author-section .jhsuite-submit-icon svg {
  width: 28px;
  height: 28px;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.jhsuite-author-section .jhsuite-apc-copy,
.jhsuite-author-section .jhsuite-submit-copy {
  min-width: 0;
}

.jhsuite-author-section .jhsuite-apc-copy h3,
.jhsuite-author-section .jhsuite-submit-copy h3 {
  margin: 0;
  color: var(--jha-ink);
  font-family: "Perpetua", Georgia, serif;
  font-weight: 300;
  line-height: 1.18;
}

.jhsuite-author-section .jhsuite-apc-copy p,
.jhsuite-author-section .jhsuite-submit-copy p {
  margin: 6px 0 0;
  color: var(--jha-muted);
  font-size: 0.82rem;
  line-height: 1.55;
}

.jhsuite-author-section .jhsuite-apc-copy p {
  max-width: 680px;
}

.jhsuite-author-section .jhsuite-apc-button {
  min-width: 196px;
}

/* Template and submission card */

.jhsuite-author-section .jhsuite-submit-card {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 14px;
  overflow: hidden;
  background: linear-gradient(105deg, #ffffff 0%, var(--jha-blush-soft) 100%);
  border: 1px solid var(--jha-pink-border);
  border-left: 4px solid var(--jha-burgundy);
  border-radius: 0 17px 17px 0;
  box-shadow: 0 9px 24px rgba(81, 2, 46, 0.06);
}

.jhsuite-author-section .jhsuite-submit-item {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: start;
  gap: 18px;
  padding: clamp(20px, 3vw, 27px);
}

.jhsuite-author-section .jhsuite-submit-item + .jhsuite-submit-item {
  border-left: 1px solid var(--jha-pink-border);
}

.jhsuite-author-section .jhsuite-submit-icon {
  width: 54px;
  height: 54px;
  background: linear-gradient(145deg, var(--jha-burgundy), var(--jha-burgundy-dark));
  box-shadow: 0 7px 16px rgba(81, 2, 46, 0.19);
}

.jhsuite-author-section .jhsuite-submit-icon-ojs {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.jhsuite-author-section .jhsuite-submit-copy p {
  min-height: 2.5em;
  margin-bottom: 14px;
}

.jhsuite-author-section .jhsuite-submit-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

@media (max-width: 900px) {
  .jhsuite-author-section .jhsuite-section-heading {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

  .jhsuite-author-section .jhsuite-apc-card {
    grid-template-columns: 62px minmax(0, 1fr);
  }

  .jhsuite-author-section .jhsuite-apc-button {
    grid-column: 1 / -1;
    width: 100%;
  }

  .jhsuite-author-section .jhsuite-submit-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .jhsuite-author-section .jhsuite-submit-item + .jhsuite-submit-item {
    border-top: 1px solid var(--jha-pink-border);
    border-left: 0;
  }
}

@media (max-width: 620px) {
  .jhsuite-author-section {
    margin-top: 22px;
  }

  .jhsuite-author-section .jhsuite-apc-card {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 14px;
    padding: 18px;
  }

  .jhsuite-author-section .jhsuite-apc-icon {
    width: 46px;
    height: 46px;
    border-width: 3px;
  }

  .jhsuite-author-section .jhsuite-apc-icon svg {
    width: 23px;
    height: 23px;
  }

  .jhsuite-author-section .jhsuite-submit-item {
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 13px;
    padding: 18px;
  }

  .jhsuite-author-section .jhsuite-submit-icon {
    width: 44px;
    height: 44px;
  }

  .jhsuite-author-section .jhsuite-submit-icon svg {
    width: 22px;
    height: 22px;
  }

  .jhsuite-author-section .jhsuite-submit-copy p {
    min-height: 0;
  }

  .jhsuite-author-section .jhsuite-submit-actions {
    display: grid;
  }

  .jhsuite-author-section .jhsuite-submit-actions .jhsuite-btn,
  .jhsuite-author-section .jhsuite-submit-copy > .jhsuite-btn {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhsuite-author-section .jhsuite-btn,
  .jhsuite-author-section .jhsuite-btn-arrow {
    transition: none;
  }
}

/* ==========================================================================
   @JH-02C — PUBLISHING TIMELINE
   Owner selectors: .jhsuite-timeline-section
   Scope status: HOMEPAGE SUITE / isolated component
   Editing rule: replace the previous @JH-02C block only.
   ========================================================================== */

/* [TUNE 2026-07-26 | @JH-02C | Compact timeline, clean OL markers, warning note, and pill-style policy link.] */
.jhsuite-timeline-section {
  --jht-burgundy: #790746;
  --jht-burgundy-dark: #51022e;
  --jht-green: #237153;
  --jht-gold: #9a6713;
  --jht-ink: #30252c;
  --jht-muted: #74666f;
  --jht-line: #e6d9e1;
  --jht-surface: #ffffff;
  --jht-soft: #fbf8fa;
  --jht-blush: #fff6fc;
  --jht-pink-border: #ead8e4;
  --jht-warning-text: #5f4d2d;
  --jht-warning-strong: #4a3511;
  --jht-warning-border: #ead9ae;
  --jht-warning-bg: #fff9ec;

  width: 100%;
  margin: clamp(24px, 3vw, 34px) 0 0;
  color: var(--jht-ink);
  font-family: "Perpetua", Georgia, serif;
  text-align: left;
}

.jhsuite-timeline-section,
.jhsuite-timeline-section *,
.jhsuite-timeline-section *::before,
.jhsuite-timeline-section *::after {
  box-sizing: border-box;
}

.jhsuite-timeline-section h2,
.jhsuite-timeline-section h3,
.jhsuite-timeline-section p {
  margin-top: 0;
  word-spacing: normal;
  text-align: left;
}

.jhsuite-timeline-section.jhsuite-timeline,
.jhsuite-timeline-section .jhsuite-timeline {
  margin-bottom: 0 !important;
  padding: 0;
}

.jhsuite-timeline-section .jhsuite-timeline-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 24px;
  margin-bottom: 15px;
}

.jhsuite-timeline-section .jhsuite-kicker {
  display: block;
  margin: 0 0 3px;
  color: var(--jht-burgundy);
  font-family: "Perpetua", Georgia, serif;
  font-size: 1.08rem;
  font-style: italic;
  font-variant: unicase;
  font-weight: 400;
  letter-spacing: 0.09em;
  line-height: 1.25;
}

.jhsuite-timeline-section .jhsuite-timeline-heading h2 {
  margin: 0;
  color: var(--jht-ink);
  font-family: "Perpetua", Georgia, serif;
  font-size: clamp(1.85rem, 3.2vw, 2.42rem);
  font-style: italic;
  font-variant: unicase;
  font-weight: 400;
  letter-spacing: -0.015em;
  line-height: 1.04;
}

.jhsuite-timeline-section .jhsuite-timeline-heading-copy > p {
  max-width: 680px;
  margin: 8px 0 0;
  color: var(--jht-muted);
  font-size: 0.94rem;
  line-height: 1.48;
}

.jhsuite-timeline-section .jhsuite-review-pill {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 9px 16px;
  color: var(--jht-burgundy);
  background: var(--jht-blush);
  border: 1px solid var(--jht-pink-border);
  border-radius: 999px;
  font-family: "Perpetua", Arial, sans-serif;
  font-size: 20px;
  font-style: italic;
  font-variant: unicase;
  font-weight: 300;
  letter-spacing: 0.06em;
  line-height: 1.2;
  white-space: nowrap;
}

.jhsuite-timeline-section .jhsuite-timeline-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none !important;
  list-style-type: none !important;
}

.jhsuite-timeline-section .jhsuite-timeline-grid > li {
  margin: 0;
  padding-left: 0;
  list-style: none !important;
  list-style-type: none !important;
}

.jhsuite-timeline-section .jhsuite-timeline-grid > li::marker {
  content: "";
  font-size: 0;
}

.jhsuite-timeline-section .jhsuite-stage-one {
  --jht-stage-accent: var(--jht-green);
  --jht-stage-tint: #f3faf7;
  --jht-stage-border: #cfe5da;
  --jht-stage-shadow: rgba(35, 113, 83, 0.09);
}

.jhsuite-timeline-section .jhsuite-stage-two {
  --jht-stage-accent: var(--jht-burgundy);
  --jht-stage-tint: #fff5fb;
  --jht-stage-border: #ead3e1;
  --jht-stage-shadow: rgba(121, 7, 70, 0.09);
}

.jhsuite-timeline-section .jhsuite-stage-three {
  --jht-stage-accent: var(--jht-gold);
  --jht-stage-tint: #fff9ed;
  --jht-stage-border: #eadbb8;
  --jht-stage-shadow: rgba(154, 103, 19, 0.1);
}

.jhsuite-timeline-section .jhsuite-timeline-card {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr;
  min-width: 0;
  min-height: 142px;
  overflow: hidden;
  background: linear-gradient(145deg, var(--jht-stage-tint) 0%, var(--jht-surface) 74%);
  border: 1px solid var(--jht-stage-border);
  border-radius: 13px;
  box-shadow: 0 7px 18px var(--jht-stage-shadow);
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.jhsuite-timeline-section .jhsuite-timeline-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--jht-stage-accent);
}

.jhsuite-timeline-section .jhsuite-timeline-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 23px var(--jht-stage-shadow);
}

.jhsuite-timeline-section .jhsuite-timeline-card-top {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  min-height: 66px;
  padding: 15px 17px 11px 30px;
  border-bottom: 1px solid var(--jht-stage-border);
}

.jhsuite-timeline-section .jhsuite-timeline-number {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 46px;
  min-height: 38px;
  height: auto;
  padding: 8px 13px;
  color: #ffffff;
  background: var(--jht-stage-accent);
  border-radius: 999px;
  box-shadow: 0 4px 10px var(--jht-stage-shadow);
  font-family: "Perpetua", Georgia, serif;
  font-size: 1.6rem;
  font-style: italic;
  font-variant: unicase;
  font-weight: 300;
  letter-spacing: 0.04em;
  line-height: 1.05;
  text-align: center;
  white-space: nowrap;
}

.jhsuite-timeline-section .jhsuite-timeline-duration {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  min-width: 0;
  color: var(--jht-ink);
  white-space: nowrap;
}

.jhsuite-timeline-section .jhsuite-timeline-duration strong {
  color: var(--jht-ink);
  font-family: "Perpetua", Georgia, serif;
  font-size: clamp(1.36rem, 2.3vw, 1.72rem);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1;
}

.jhsuite-timeline-section .jhsuite-timeline-duration small {
  color: var(--jht-ink);
  font-family: "Perpetua", Georgia, serif;
  font-size: 0.82rem;
  font-style: normal;
  line-height: 1;
}

.jhsuite-timeline-section .jhsuite-timeline-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 13px 17px 15px 30px;
}

.jhsuite-timeline-section .jhsuite-timeline-subtitle {
  display: block;
  margin-bottom: 3px;
  color: var(--jht-ink);
  font-family: "Perpetua", Georgia, serif;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.25;
  text-transform: none;
}

.jhsuite-timeline-section .jhsuite-timeline-copy h3 {
  margin: 0;
  color: var(--jht-stage-accent);
  font-family: "Perpetua", Georgia, serif;
  font-size: 1.05rem;
  font-style: italic;
  font-variant: unicase;
  font-weight: 500;
  line-height: 1.2;
}

/* Footer: warning note plus pill-style policy link. */
.jhsuite-timeline-section .jhsuite-timeline-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  margin-top: 18px;
  padding: 0;
  background: transparent;
  border: 0;
}

.jhsuite-timeline-section .jhsuite-timeline-footer p {
  position: relative;
  min-height: 46px;
  margin: 0 !important;
  padding: 11px 15px 11px 48px;
  color: var(--jht-warning-text);
  background: linear-gradient(135deg, var(--jht-warning-bg) 0%, #fffdf7 100%);
  border: 1px solid var(--jht-warning-border);
  border-radius: 14px;
  font-family: "Perpetua", Georgia, serif;
  font-size: 0.88rem !important;
  line-height: 1.48;
  text-align: left !important;
}

.jhsuite-timeline-section .jhsuite-timeline-footer p::before {
  content: "i";
  position: absolute;
  top: 50%;
  left: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  color: #ffffff;
  background: var(--jht-gold);
  border-radius: 50%;
  box-shadow: 0 4px 9px rgba(154, 103, 19, 0.17);
  font-family: Georgia, serif;
  font-size: 0.88rem;
  font-style: italic;
  font-weight: 700;
  line-height: 1;
  transform: translateY(-50%);
}

.jhsuite-timeline-section .jhsuite-timeline-footer p strong {
  color: var(--jht-warning-strong);
  font-weight: 700;
}

.jhsuite-timeline-section .jhsuite-timeline-link {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px 16px;
  color: var(--jht-burgundy) !important;
  background: var(--jht-blush);
  border: 1px solid var(--jht-pink-border);
  border-radius: 999px;
  box-shadow: none;
  font-family: "Perpetua", Arial, sans-serif;
  font-size: 18px;
  font-style: italic;
  font-variant: unicase;
  font-weight: 300;
  letter-spacing: 0.045em;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
  white-space: nowrap;
  transition:
    color 0.18s ease,
    background-color 0.18s ease,
    border-color 0.18s ease,
    transform 0.18s ease,
    box-shadow 0.18s ease;
}

.jhsuite-timeline-section .jhsuite-timeline-link:hover,
.jhsuite-timeline-section .jhsuite-timeline-link:focus-visible {
  color: #ffffff !important;
  background: var(--jht-burgundy);
  border-color: var(--jht-burgundy);
  box-shadow: 0 7px 15px rgba(81, 2, 46, 0.15);
  outline: none;
  text-decoration: none !important;
  transform: translateY(-2px);
}

.jhsuite-timeline-section .jhsuite-timeline-link:focus-visible {
  outline: 3px solid rgba(121, 7, 70, 0.17);
  outline-offset: 3px;
}

.jhsuite-timeline-section .jhsuite-timeline-link > span[aria-hidden="true"] {
  font-style: normal;
  transition: transform 0.18s ease;
}

.jhsuite-timeline-section .jhsuite-timeline-link:hover > span[aria-hidden="true"],
.jhsuite-timeline-section .jhsuite-timeline-link:focus-visible > span[aria-hidden="true"] {
  transform: translateX(3px);
}

@media (max-width: 900px) {
  .jhsuite-timeline-section .jhsuite-timeline-heading {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 12px;
  }

  .jhsuite-timeline-section .jhsuite-review-pill {
    width: max-content;
    max-width: 100%;
  }

  .jhsuite-timeline-section .jhsuite-timeline-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhsuite-timeline-section .jhsuite-timeline-card:last-child {
    grid-column: 1 / -1;
  }

  .jhsuite-timeline-section .jhsuite-timeline-footer {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  .jhsuite-timeline-section .jhsuite-timeline-link {
    width: max-content;
    max-width: 100%;
  }
}

@media (max-width: 620px) {
  .jhsuite-timeline-section {
    margin-top: 22px;
  }

  .jhsuite-timeline-section .jhsuite-timeline-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .jhsuite-timeline-section .jhsuite-timeline-card,
  .jhsuite-timeline-section .jhsuite-timeline-card:last-child {
    grid-column: auto;
    min-height: 0;
  }

  .jhsuite-timeline-section .jhsuite-timeline-card-top {
    min-height: 60px;
    padding: 13px 15px 10px 24px;
  }

  .jhsuite-timeline-section .jhsuite-timeline-copy {
    padding: 12px 15px 14px 24px;
  }

  .jhsuite-timeline-section .jhsuite-timeline-footer p {
    padding: 12px 13px 12px 46px;
  }

  .jhsuite-timeline-section .jhsuite-timeline-footer p::before {
    left: 13px;
  }

  .jhsuite-timeline-section .jhsuite-timeline-link {
    width: 100%;
    white-space: normal;
  }
}

@media (max-width: 380px) {
  .jhsuite-timeline-section .jhsuite-review-pill {
    white-space: normal;
  }

  .jhsuite-timeline-section .jhsuite-timeline-duration strong {
    font-size: 1.38rem;
  }

  .jhsuite-timeline-section .jhsuite-timeline-link {
    font-size: 17px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhsuite-timeline-section .jhsuite-timeline-card,
  .jhsuite-timeline-section .jhsuite-timeline-link,
  .jhsuite-timeline-section .jhsuite-timeline-link > span[aria-hidden="true"] {
    transition: none;
  }
}

/* ==========================================================================
   @JH-02D — CURRENT CALL FOR PAPERS
   Owner selectors: .jhsuite-cfp-section; .jhcfp-*
   Scope status: HOMEPAGE SUITE / isolated component
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* ==========================================================================
   J-HyTEL — COMPACT PREMIUM CURRENT CALL FOR PAPERS v4
   Isolated component scope: .jhsuite-cfp-section
   Metadata cards, subject-area cards, and cover have been removed.
   ========================================================================== */

.jhsuite-cfp-section {
  --jhcfp-burgundy: #790746;
  --jhcfp-burgundy-dark: #51022e;
  --jhcfp-burgundy-deep: #3f0124;
  --jhcfp-blush: #fff7fb;
  --jhcfp-cream: #fffdf8;
  --jhcfp-gold: #c79b4d;
  --jhcfp-gold-soft: #f0dfbd;
  --jhcfp-ink: #30252c;
  --jhcfp-muted: #756771;
  --jhcfp-line: #ead8e3;
  --jhcfp-white: #ffffff;

  width: 100%;
  margin: clamp(24px, 3vw, 34px) 0 0;
  color: var(--jhcfp-ink);
  text-align: left;
}

.jhsuite-cfp-section,
.jhsuite-cfp-section *,
.jhsuite-cfp-section *::before,
.jhsuite-cfp-section *::after {
  box-sizing: border-box;
}

.jhsuite-cfp-section h2,
.jhsuite-cfp-section h3,
.jhsuite-cfp-section p {
  margin-top: 0;
  word-spacing: normal;
  text-align: left;
}

.jhsuite-cfp-section a {
  text-decoration: none !important;
}

/* Section heading */

.jhsuite-cfp-section .jhcfp-heading {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(270px, 0.7fr) !important;
  align-items: end !important;
  gap: clamp(20px, 3vw, 38px) !important;
  margin: 0 0 16px !important;
}

.jhsuite-cfp-section .jhcfp-heading__title {
  min-width: 0;
}

.jhsuite-cfp-section .jhcfp-eyebrow {
  display: block !important;
  margin: 0 0 3px !important;
  color: var(--jhcfp-burgundy);
  font-family: "Perpetua", Georgia, serif;
  font-size: 20px;
  font-style: italic;
  font-variant: unicase;
  font-weight: 300;
  letter-spacing: 0.1em;
  line-height: 1.2;
}

.jhsuite-cfp-section .jhcfp-heading h2 {
  margin: 0 !important;
  color: var(--jhcfp-ink);
  font-family: "Perpetua", Georgia, serif;
  font-size: clamp(1.85rem, 3.2vw, 2.4rem);
  font-style: italic;
  font-variant: unicase;
  font-weight: 400;
  line-height: 1.03;
}

.jhsuite-cfp-section .jhcfp-heading__intro {
  margin: 0 0 1px !important;
  color: var(--jhcfp-muted);
  font-family: "Perpetua", Georgia, serif;
  font-size: 0.86rem;
  line-height: 1.52;
}

/* Compact two-panel shell */

.jhsuite-cfp-section .jhcfp-layout {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(0, 1.56fr) minmax(300px, 0.8fr) !important;
  gap: 0 !important;
  width: 100%;
  overflow: hidden;
  background: var(--jhcfp-white);
  border: 1px solid var(--jhcfp-line);
  border-radius: 19px;
  box-shadow:
    0 18px 46px rgba(63, 1, 36, 0.11),
    0 4px 13px rgba(48, 37, 44, 0.045);
}

/* Burgundy feature panel */

.jhsuite-cfp-section .jhcfp-feature {
  position: relative;
  isolation: isolate;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 0;
  min-height: 320px;
  padding: clamp(24px, 3.1vw, 32px);
  overflow: hidden;
  color: var(--jhcfp-white);
  background:
    radial-gradient(circle at 90% 18%, rgba(255, 255, 255, 0.1), transparent 25%), radial-gradient(circle at 8% 96%, rgba(199, 155, 77, 0.14), transparent 27%),
    linear-gradient(135deg, var(--jhcfp-burgundy) 0%, var(--jhcfp-burgundy-dark) 60%, var(--jhcfp-burgundy-deep) 100%);
}

.jhsuite-cfp-section .jhcfp-feature::before {
  position: absolute;
  z-index: -2;
  inset: 0;
  content: "";
  opacity: 0.14;
  background-image: linear-gradient(rgba(255, 255, 255, 0.065) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.065) 1px, transparent 1px);
  background-size: 40px 40px;
  mask-image: linear-gradient(135deg, #000 0%, transparent 82%);
}

.jhsuite-cfp-section .jhcfp-feature::after {
  position: absolute;
  z-index: -1;
  right: -96px;
  bottom: -116px;
  width: 272px;
  height: 272px;
  content: "";
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 50%;
  box-shadow:
    0 0 0 31px rgba(255, 255, 255, 0.03),
    0 0 0 66px rgba(255, 255, 255, 0.022);
}

.jhsuite-cfp-section .jhcfp-feature__ornament {
  position: absolute;
  top: 0;
  left: clamp(24px, 3.1vw, 32px);
  width: 92px;
  height: 4px;
  background: linear-gradient(90deg, var(--jhcfp-gold), #f2d99f);
  box-shadow: 0 0 18px rgba(199, 155, 77, 0.38);
}

.jhsuite-cfp-section .jhcfp-feature__topline {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 15px !important;
  margin: 0 0 80px !important;
}

.jhsuite-cfp-section .jhcfp-status {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  min-height: 40px;
  padding: 8px 16px;
  color: var(--jhcfp-burgundy-dark);
  font-family: "Perpetua", Georgia, serif;
  font-size: 1.2rem;
  font-style: italic;
  letter-spacing: 0.04em;
  line-height: 1;
  white-space: nowrap;
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.92);
  border-radius: 999px;
  box-shadow: 0 6px 16px rgba(35, 0, 20, 0.14);
}

.jhsuite-cfp-section .jhcfp-status__dot {
  display: block !important;
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  background: #2d8b68;
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(45, 139, 104, 0.14);
}

.jhsuite-cfp-section .jhcfp-feature__label {
  display: block !important;
  color: #f3d7e5;
  font-family: "Perpetua", Georgia, serif;
  font-size: 2rem;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.15em;
  line-height: 1.2;
  text-transform: uppercase;
  white-space: nowrap;
}

/* Journal identity */

.jhsuite-cfp-section .jhcfp-journal {
  display: block !important;
  margin: 0 0 17px !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.17);
}

.jhsuite-cfp-section .jhcfp-journal p {
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.95);
  font-family: "Perpetua", Georgia, serif;
  font-size: clamp(1.9rem, 1.8vw, 2rem);
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.012em;
  line-height: 1.16;
}

/* Issue identity and theme */

.jhsuite-cfp-section .jhcfp-issue {
  display: grid !important;
  grid-template-columns: minmax(200px, 0.82fr) minmax(245px, 1.18fr) !important;
  align-items: center !important;
  gap: clamp(25px, 3.4vw, 38px) !important;
  margin: 0 !important;
}

.jhsuite-cfp-section .jhcfp-issue__identity {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 0;
  padding-right: clamp(22px, 2.8vw, 31px);
  border-right: 1px solid rgba(255, 255, 255, 0.23);
}

.jhsuite-cfp-section .jhcfp-issue__eyebrow {
  display: block !important;
  margin: 0 0 8px !important;
  color: var(--jhcfp-gold-soft);
  font-family: "Perpetua", Georgia, serif;
  font-size: 1.1rem;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.13em;
  line-height: 1.2;
  text-transform: uppercase;
}

.jhsuite-cfp-section .jhcfp-issue__lockup {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 13px !important;
  width: 100%;
  margin: 0 !important;
}

.jhsuite-cfp-section .jhcfp-issue__unit {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0;
}

.jhsuite-cfp-section .jhcfp-issue__unit span {
  display: block !important;
  margin: 0 0 2px !important;
  color: rgba(255, 255, 255, 0.7);
  font-family: "Perpetua", Georgia, serif;
  font-size: 0.86rem;
  font-style: italic;
  line-height: 1.15;
}

.jhsuite-cfp-section .jhcfp-issue__unit strong {
  display: block !important;
  margin: 0 !important;
  color: var(--jhcfp-white);
  font-family: "Perpetua", Georgia, serif;
  font-size: clamp(2.15rem, 3.35vw, 2.9rem);
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.03em;
  line-height: 0.94;
}

.jhsuite-cfp-section .jhcfp-issue__separator {
  display: block !important;
  width: 1px;
  height: 49px;
  background: rgba(255, 255, 255, 0.22);
}

.jhsuite-cfp-section .jhcfp-issue__date {
  display: block !important;
  margin: 9px 0 0 !important;
  color: rgba(255, 255, 255, 0.73);
  font-family: "Perpetua", Georgia, serif;
  font-size: 1.4rem;
  font-style: italic;
  letter-spacing: 0.04em;
  line-height: 1.2;
}

.jhsuite-cfp-section .jhcfp-theme {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 0;
}

.jhsuite-cfp-section .jhcfp-theme__label {
  display: block !important;
  margin: 0 0 5px !important;
  color: var(--jhcfp-gold-soft);
  font-family: "Perpetua", Georgia, serif;
  font-size: 1.1rem;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.13em;
  line-height: 1.2;
  text-transform: uppercase;
}

.jhsuite-cfp-section .jhcfp-theme h3 {
  margin: 0 0 8px !important;
  color: var(--jhcfp-white);
  font-family: "Perpetua", Georgia, serif;
  font-size: clamp(1.6rem, 3.25vw, 2.5rem);
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.025em;
  line-height: 0.98;
}

.jhsuite-cfp-section .jhcfp-theme p {
  max-width: 500px;
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.8);
  font-family: "Perpetua", Georgia, serif;
  font-size: 0.8rem;
  line-height: 1.5;
}

/* Right submission panel */

.jhsuite-cfp-section .jhcfp-panel {
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 0;
  min-height: 320px;
  padding: clamp(23px, 2.9vw, 29px);
  background: radial-gradient(circle at 100% 0, rgba(121, 7, 70, 0.065), transparent 31%), linear-gradient(160deg, var(--jhcfp-white) 0%, var(--jhcfp-blush) 64%, var(--jhcfp-cream) 100%);
}

.jhsuite-cfp-section .jhcfp-panel::before {
  position: absolute;
  top: 0;
  right: 0;
  width: 68px;
  height: 68px;
  content: "";
  border-top: 1px solid rgba(121, 7, 70, 0.12);
  border-right: 1px solid rgba(121, 7, 70, 0.12);
  border-radius: 0 19px 0 100%;
}

.jhsuite-cfp-section .jhcfp-panel__header {
  position: relative;
  padding-bottom: 13px;
  border-bottom: 1px solid var(--jhcfp-line);
}

.jhsuite-cfp-section .jhcfp-panel__header::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 48px;
  height: 2px;
  content: "";
  background: var(--jhcfp-burgundy);
}

.jhsuite-cfp-section .jhcfp-panel__eyebrow {
  display: block !important;
  margin: 0 0 4px !important;
  color: var(--jhcfp-burgundy);
  font-family: "Perpetua", Georgia, serif;
  font-size: 1.2rem;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.1em;
  line-height: 1.2;
}

.jhsuite-cfp-section .jhcfp-panel__header h3 {
  margin: 0 0 6px !important;
  color: var(--jhcfp-ink);
  font-family: "Perpetua", Georgia, serif;
  font-size: clamp(1.3rem, 2vw, 1.65rem);
  font-style: italic;
  font-weight: 400;
  line-height: 1.05;
}

.jhsuite-cfp-section .jhcfp-panel__header p {
  margin: 0 !important;
  color: var(--jhcfp-muted);
  font-family: "Perpetua", Georgia, serif;
  font-size: 0.75rem;
  line-height: 1.45;
}

.jhsuite-cfp-section .jhcfp-actions {
  display: grid !important;
  gap: 8px !important;
  margin: 16px 0 0 !important;
}

.jhsuite-cfp-section .jhcfp-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  width: 100%;
  min-height: 46px;
  padding: 10px 15px;
  font-family: "Perpetua", Georgia, serif;
  font-weight: 400;
  line-height: 1.18;
  border: 1px solid transparent;
  border-radius: 7px;
  box-shadow: none;
  cursor: pointer;
  transition:
    transform 0.2s ease,
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease;
}

.jhsuite-cfp-section .jhcfp-button:hover,
.jhsuite-cfp-section .jhcfp-button:focus-visible {
  text-decoration: none !important;
  transform: translateY(-2px);
}

.jhsuite-cfp-section .jhcfp-button:focus-visible {
  outline: 3px solid rgba(121, 7, 70, 0.2);
  outline-offset: 3px;
}

.jhsuite-cfp-section .jhcfp-button--primary {
  color: var(--jhcfp-white) !important;
  background: linear-gradient(135deg, var(--jhcfp-burgundy), var(--jhcfp-burgundy-dark));
  border-color: var(--jhcfp-burgundy-dark);
  box-shadow: 0 8px 17px rgba(81, 2, 46, 0.17);
}

.jhsuite-cfp-section .jhcfp-button--primary:hover,
.jhsuite-cfp-section .jhcfp-button--primary:focus-visible {
  color: var(--jhcfp-white) !important;
  background: var(--jhcfp-burgundy-deep);
  box-shadow: 0 11px 21px rgba(81, 2, 46, 0.23);
}

.jhsuite-cfp-section .jhcfp-button--secondary {
  color: var(--jhcfp-burgundy) !important;
  background: rgba(255, 255, 255, 0.82);
  border-color: #d8bdcc;
}

.jhsuite-cfp-section .jhcfp-button--secondary:hover,
.jhsuite-cfp-section .jhcfp-button--secondary:focus-visible {
  color: var(--jhcfp-burgundy-dark) !important;
  background: var(--jhcfp-white);
  border-color: var(--jhcfp-burgundy);
  box-shadow: 0 7px 16px rgba(81, 2, 46, 0.075);
}

.jhsuite-cfp-section .jhcfp-button__arrow {
  flex: 0 0 auto;
  font-family: Arial, sans-serif;
  font-size: 1.08em;
  line-height: 1;
  transition: transform 0.2s ease;
}

.jhsuite-cfp-section .jhcfp-button:hover .jhcfp-button__arrow,
.jhsuite-cfp-section .jhcfp-button:focus-visible .jhcfp-button__arrow {
  transform: translateX(3px);
}

.jhsuite-cfp-section .jhcfp-note {
  display: grid !important;
  grid-template-columns: 25px minmax(0, 1fr) !important;
  gap: 9px !important;
  margin: 13px 0 0 !important;
  padding: 11px 0 0 !important;
  border-top: 1px solid var(--jhcfp-line);
}

.jhsuite-cfp-section .jhcfp-note__mark {
  display: grid !important;
  place-items: center !important;
  width: 25px;
  height: 25px;
  color: var(--jhcfp-burgundy);
  font-size: 0.75rem;
  background: #f8e9f1;
  border: 1px solid #ead1df;
  border-radius: 50%;
}

.jhsuite-cfp-section .jhcfp-note strong {
  display: block !important;
  margin: 0 0 2px !important;
  color: var(--jhcfp-ink);
  font-family: "Perpetua", Georgia, serif;
  font-size: 1.2rem;
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.25;
}

.jhsuite-cfp-section .jhcfp-note p {
  margin: 0 !important;
  color: var(--jhcfp-muted);
  font-family: "Perpetua", Georgia, serif;
  font-size: 0.7rem;
  line-height: 1.4;
}

/* Responsive */

@media (max-width: 920px) {
  .jhsuite-cfp-section .jhcfp-heading {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 7px !important;
  }

  .jhsuite-cfp-section .jhcfp-heading__intro {
    max-width: 660px;
  }

  .jhsuite-cfp-section .jhcfp-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .jhsuite-cfp-section .jhcfp-feature,
  .jhsuite-cfp-section .jhcfp-panel {
    min-height: 0;
  }

  .jhsuite-cfp-section .jhcfp-panel {
    border-top: 1px solid var(--jhcfp-line);
  }
}

@media (max-width: 650px) {
  .jhsuite-cfp-section {
    margin-top: 22px;
  }

  .jhsuite-cfp-section .jhcfp-layout {
    border-radius: 15px;
  }

  .jhsuite-cfp-section .jhcfp-feature {
    padding: 23px 20px;
  }

  .jhsuite-cfp-section .jhcfp-feature__ornament {
    left: 20px;
    width: 78px;
  }

  .jhsuite-cfp-section .jhcfp-feature__topline {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin-bottom: 15px !important;
  }

  .jhsuite-cfp-section .jhcfp-journal {
    margin-bottom: 17px !important;
  }

  .jhsuite-cfp-section .jhcfp-issue {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 19px !important;
  }

  .jhsuite-cfp-section .jhcfp-issue__identity {
    padding: 0 0 18px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.21);
  }

  .jhsuite-cfp-section .jhcfp-issue__lockup {
    max-width: 260px;
  }

  .jhsuite-cfp-section .jhcfp-panel {
    padding: 22px 20px;
  }
}

@media (max-width: 390px) {
  .jhsuite-cfp-section .jhcfp-status {
    padding-inline: 11px;
    font-size: 0.87rem;
    white-space: normal;
  }

  .jhsuite-cfp-section .jhcfp-issue__unit strong {
    font-size: 2.1rem;
  }

  .jhsuite-cfp-section .jhcfp-theme h3 {
    font-size: 1.7rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhsuite-cfp-section .jhcfp-button,
  .jhsuite-cfp-section .jhcfp-button__arrow {
    transition: none;
  }
}

/* ==========================================================================
   @JH-02E — HOMEPAGE ARTICLE LIST + CALL-FOR-PAPERS PAIRING
   Owner selectors: .jhytel-article-cfp-row; .jhsuite-cfp-section--docked;
                    .jhytel-editorial-cta
   Scope status: HOMEPAGE / isolated layout and navigation CTAs
   Editing rule: keep the 9/3 Bootstrap column ratio unchanged.
   ========================================================================== */

/* [NEW 2026-07-26 | @JH-02E | Place Current Call for Papers in the unused
   three-column space beside the existing nine-column article list.] */
.jhytel-article-cfp-row {
  --jhpair-burgundy: #790746;
  --jhpair-blush: #fff6fc;
  --jhpair-pink-border: #ead8e4;

  align-items: flex-start;
}

.jhytel-article-cfp-row__articles,
.jhytel-article-cfp-row__cfp {
  min-width: 0;
}

.jhytel-article-cfp-row__cfp:empty {
  display: none;
}

.jhytel-article-cfp-row.has-cfp .jhytel-article-cfp-row__cfp {
  display: block;
}

/* The section keeps every existing typography, padding, and component size.
   Only its internal grids use the stylesheet's own narrow-layout pattern so
   the component can occupy the pre-existing three-column desktop space. */
.jhsuite-cfp-section.jhsuite-cfp-section--docked {
  margin-top: 0 !important;
}

.jhsuite-cfp-section--docked .jhcfp-heading {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 7px !important;
}

.jhsuite-cfp-section--docked .jhcfp-layout {
  grid-template-columns: minmax(0, 1fr) !important;
}

.jhsuite-cfp-section--docked .jhcfp-feature,
.jhsuite-cfp-section--docked .jhcfp-panel {
  min-height: 0;
}

.jhsuite-cfp-section--docked .jhcfp-panel {
  border-top: 1px solid var(--jhcfp-line);
}

.jhsuite-cfp-section--docked .jhcfp-feature__topline {
  align-items: flex-start !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.jhsuite-cfp-section--docked .jhcfp-issue {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 19px !important;
}

.jhsuite-cfp-section--docked .jhcfp-issue__identity {
  padding-right: 0;
  padding-bottom: 18px;
  border-right: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.21);
}

/* [TUNE 2026-07-26 | @JH-02E | Use the View Full Peer Review Process
   navigation language for section-level CTAs only.] */
.jhytel-editorial-cta,
.jhsuite-cfp-section--docked .jhcfp-button {
  display: inline-flex !important;
  flex: 0 0 auto;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 42px;
  padding: 9px 16px;
  color: var(--jhpair-burgundy, #790746) !important;
  background: var(--jhpair-blush, #fff6fc) !important;
  border: 1px solid var(--jhpair-pink-border, #ead8e4) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  font-family: "Perpetua", Arial, sans-serif !important;
  font-size: 18px !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-weight: 300 !important;
  letter-spacing: 0.045em !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-decoration: none !important;
  transition:
    color 0.18s ease,
    background-color 0.18s ease,
    border-color 0.18s ease,
    transform 0.18s ease,
    box-shadow 0.18s ease !important;
}

.jhytel-editorial-cta:hover,
.jhytel-editorial-cta:focus-visible,
.jhsuite-cfp-section--docked .jhcfp-button:hover,
.jhsuite-cfp-section--docked .jhcfp-button:focus-visible {
  color: #ffffff !important;
  background: var(--jhpair-burgundy, #790746) !important;
  border-color: var(--jhpair-burgundy, #790746) !important;
  box-shadow: 0 7px 15px rgba(81, 2, 46, 0.15) !important;
  outline: none;
  text-decoration: none !important;
  transform: translateY(-2px);
}

.jhytel-editorial-cta:focus-visible,
.jhsuite-cfp-section--docked .jhcfp-button:focus-visible {
  outline: 3px solid rgba(121, 7, 70, 0.17);
  outline-offset: 3px;
}

.jhytel-editorial-cta > span[aria-hidden="true"],
.jhsuite-cfp-section--docked .jhcfp-button__arrow {
  flex: 0 0 auto;
  font-family: Arial, sans-serif;
  font-style: normal;
  transition: transform 0.18s ease;
}

.jhytel-editorial-cta:hover > span[aria-hidden="true"],
.jhytel-editorial-cta:focus-visible > span[aria-hidden="true"],
.jhsuite-cfp-section--docked .jhcfp-button:hover .jhcfp-button__arrow,
.jhsuite-cfp-section--docked .jhcfp-button:focus-visible .jhcfp-button__arrow {
  transform: translateX(3px);
}

.jhytel-view-all-issues-wrap {
  margin-top: 18px;
}

.jhsuite-cfp-section--docked .jhcfp-button {
  width: 100%;
  white-space: normal;
}

/* Once CFP is moved out of .jhsuite-root, retain the original section gap
   before the first remaining lower homepage module. */
.jhytel-article-cfp-row.has-cfp + .homepage-additional-content .jhsuite-root > .jhsuite-section:first-child {
  margin-top: var(--jh-home-section-gap, clamp(24px, 3vw, 30px)) !important;
}

@media (max-width: 991.98px) {
  .jhytel-article-cfp-row__cfp:not(:empty) {
    margin-top: clamp(24px, 3vw, 30px);
  }

  .jhsuite-cfp-section.jhsuite-cfp-section--docked {
    margin-top: 0 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhytel-editorial-cta,
  .jhytel-editorial-cta > span[aria-hidden="true"],
  .jhsuite-cfp-section--docked .jhcfp-button,
  .jhsuite-cfp-section--docked .jhcfp-button__arrow {
    transition: none !important;
  }
}

/* ==========================================================================
   @JH-03A — HOMEPAGE INDEXING CARDS BASE
   Owner selectors: .jhytel-indexing-*
   Scope status: HOMEPAGE / isolated component
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* ==========================================================================
   @JH-03 — 03 — HOMEPAGE: INDEXING, CONNECT BAR, VISITOR POPUPS, FINAL RHYTHM
   Maintenance anchor: search exactly for @JH-03
   ========================================================================== */

.jhytel-indexing,
.jhytel-indexing * {
  box-sizing: border-box;
}

.jhytel-indexing {
  margin: clamp(24px, 3vw, 32px) 0 0;
  border-radius: 0 0 24px 0;
  overflow: hidden;
}

.jhytel-indexing-kicker {
  display: block;
  font-variant: unicase;
}

.jhytel-indexing-header h2 {
  padding: 0;
  font-variant: unicase;
}

.jhytel-indexing-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 245px), 1fr));
  gap: 12px;
  align-items: stretch;
}

.jhytel-indexing-item {
  position: relative;
  display: grid !important;
  grid-template-columns: 66px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 14px;
  min-width: 0;
  min-height: 88px;
  padding: 14px 15px;
  overflow: hidden;
  color: #30252c !important;
  background: linear-gradient(135deg, #ffffff 0%, #fffafd 100%);
  border: 1px solid #e6d9e1;
  border-radius: 9px;
  box-shadow: 0 5px 14px rgba(61, 30, 48, 0.05);
  text-decoration: none !important;
  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.jhytel-indexing-item::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: #790746;
  transform: scaleY(0);
  transform-origin: center;
  transition: transform 0.2s ease;
}

.jhytel-indexing-item:hover,
.jhytel-indexing-item:focus {
  color: #30252c !important;
  transform: translateY(-3px);
  border-color: #cdaabd;
  box-shadow: 0 10px 22px rgba(121, 7, 70, 0.11);
}

.jhytel-indexing-item:hover::before,
.jhytel-indexing-item:focus::before {
  transform: scaleY(1);
}

.jhytel-indexing-item:focus-visible {
  outline: 3px solid rgba(23, 107, 77, 0.24);
  outline-offset: 3px;
}

.jhytel-indexing-monogram {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 66px;
  height: 56px;
  color: #790746;
  font-family: "Perpetua", Georgia, serif;
  font-size: 1.75rem;
  font-weight: 700;
  font-style: italic;
  font-variant-caps: unicase;
  font-feature-settings: "unic" 1;
  line-height: 1;
  letter-spacing: -0.035em;
  background: #f8eef4;
  border-right: 1px solid #d9becd;
  border-radius: 5px 0 0 5px;
  transition:
    color 0.2s ease,
    background-color 0.2s ease;
}

.jhytel-indexing-item:hover .jhytel-indexing-monogram,
.jhytel-indexing-item:focus .jhytel-indexing-monogram {
  color: #ffffff;
  background: #790746;
}

.jhytel-indexing-copy {
  display: block;
  min-width: 0;
}

.jhytel-indexing-copy strong {
  display: block;
  color: #30252c;
  font-family: "Perpetua", Georgia, serif;
  font-size: 1.12rem;
  font-weight: 700;
  font-style: normal;
  line-height: 1.15;
}

.jhytel-indexing-copy small {
  display: block;
  margin-top: 5px;
  color: #176b4d;
  font-family: "Perpetua", Georgia, serif;
  font-size: 0.74rem;
  font-weight: 600;
  font-style: italic;
  font-variant-caps: unicase;
  line-height: 1.25;
  letter-spacing: 0.025em;
}

.jhytel-indexing-arrow {
  color: #a78c9b;
  font-family: Arial, sans-serif;
  font-size: 0.9rem;
  line-height: 1;
  text-align: right;
  transition:
    color 0.2s ease,
    transform 0.2s ease;
}

.jhytel-indexing-item:hover .jhytel-indexing-arrow,
.jhytel-indexing-item:focus .jhytel-indexing-arrow {
  color: #790746;
  transform: translate(2px, -2px);
}

.jhytel-indexing-item:has(> img) {
  display: flex !important;
  justify-content: center;
}

.jhytel-indexing-item > img {
  display: block;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 58px;
  margin: 0 auto !important;
  object-fit: contain;
}

@media (max-width: 700px) {
  .jhytel-indexing {
    padding: 24px 20px;
    border-radius: 0 14px 14px 0;
  }

  .jhytel-indexing-header {
    margin-bottom: 22px;
  }

  .jhytel-indexing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .jhytel-indexing-item {
    grid-template-columns: 60px minmax(0, 1fr) 18px;
    min-height: 82px;
    padding: 12px;
  }

  .jhytel-indexing-monogram {
    width: 60px;
    height: 52px;
    font-size: 1.62rem;
  }
}

@media (max-width: 480px) {
  .jhytel-indexing {
    padding: 21px 15px;
  }

  .jhytel-indexing-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .jhytel-indexing-item {
    grid-template-columns: 58px minmax(0, 1fr) 18px;
    min-height: 80px;
    padding: 12px;
  }

  .jhytel-indexing-monogram {
    width: 58px;
    height: 50px;
    font-size: 1.55rem;
  }
}

/* ==========================================================================
   @JH-03B — PUBLISHER, JOURNAL AUDIO, AND VISITOR-ACTION CONNECT BAR
   Owner selectors: .jhytel-connectbar-*
   Scope status: HOMEPAGE / isolated component
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* [TUNE 2026-07-25 | @JH-03B | Place publisher and audio side by side above full-width visitor actions] */

.jhytel-connectbar,
.jhytel-connectbar * {
  box-sizing: border-box;
}

.jhytel-connectbar {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-areas:
    "publisher audio"
    "actions actions";
  align-items: stretch;
  gap: 14px;
  width: 100%;
  max-width: 100%;
  margin: clamp(24px, 3vw, 32px) 0 0;
  padding: clamp(16px, 2.5vw, 23px);
  overflow: visible;
  background: radial-gradient(circle at 100% 0, rgba(227, 17, 255, 0.075), transparent 34%), linear-gradient(120deg, #ffffff 0%, #fffafd 58%, #f9eef6 100%);
  border: 1px solid #eadde5;
  border-left: 4px solid #790746;
  border-radius: 0 18px 18px 0;
  box-shadow:
    0 14px 34px rgba(61, 30, 48, 0.085),
    0 4px 12px rgba(61, 30, 48, 0.045);
}

.jhytel-connectbar-intro,
.jhytel-connectbar-item,
.jhytel-connectbar-heading,
.jhytel-connectbar-item-text,
.jhytel-connectbar-actions {
  min-width: 0;
  max-width: 100%;
  margin: 0 !important;
}

.jhytel-connectbar-intro {
  grid-area: publisher;
}

.jhytel-connectbar-audio {
  grid-area: audio;
}

.jhytel-connectbar-actions {
  grid-area: actions;
}

.jhytel-connectbar-intro,
.jhytel-connectbar-audio {
  position: relative;
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  min-height: 138px;
  padding: 18px !important;
  overflow: hidden;
  border-radius: 14px !important;
  box-shadow:
    0 7px 18px rgba(61, 30, 48, 0.055),
    inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.jhytel-connectbar-intro {
  background: radial-gradient(circle at 100% 0, rgba(121, 7, 70, 0.08), transparent 42%), linear-gradient(135deg, #ffffff 0%, #fff7fb 100%) !important;
  border: 1px solid #ead8e3 !important;
  border-top: 3px solid #790746 !important;
}

.jhytel-connectbar-audio {
  background: radial-gradient(circle at 100% 0, rgba(23, 107, 77, 0.09), transparent 42%), linear-gradient(135deg, #ffffff 0%, #f5fbf8 100%) !important;
  border: 1px solid #d9e8e1 !important;
  border-top: 3px solid #176b4d !important;
}

.jhytel-connectbar-main-icon,
.jhytel-connectbar-round-icon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  margin: 0;
  color: #ffffff;
  font-family: "Perpetua", Georgia, serif;
  font-size: 1.22rem;
  font-weight: 700;
  line-height: 1;
  border-radius: 50%;
}

.jhytel-connectbar-main-icon {
  background: linear-gradient(145deg, #9b0b68 0%, #51032f 100%);
  border: 1px solid rgba(121, 7, 70, 0.34);
  box-shadow:
    0 8px 18px rgba(121, 7, 70, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.jhytel-connectbar-round-icon {
  background: linear-gradient(145deg, #278061 0%, #12533b 100%);
  border: 1px solid rgba(23, 107, 77, 0.34);
  box-shadow:
    0 8px 18px rgba(23, 107, 77, 0.21),
    inset 0 1px 0 rgba(255, 255, 255, 0.18);
  font-size: 1.4rem;
}

.jhytel-connectbar-heading,
.jhytel-connectbar-item-text {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  color: #30252c;
  font-family: "Perpetua", Georgia, serif;
}

.jhytel-connectbar-kicker,
.jhytel-connectbar-item-text > span {
  display: block;
  margin: 0 0 3px;
  font-family: "Perpetua", Georgia, serif;
  font-size: 0.96rem;
  font-weight: 400;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.07em;
  line-height: 1.25;
}

.jhytel-connectbar-kicker {
  color: #790746;
}

.jhytel-connectbar-item-text > span {
  color: #176b4d;
}

.jhytel-connectbar-publisher,
.jhytel-connectbar-item-text > strong {
  display: block;
  margin: 0;
  color: #30252c !important;
  font-family: "Perpetua", Georgia, serif;
  font-size: clamp(1.08rem, 1.65vw, 1.24rem);
  font-weight: 300;
  font-style: italic;
  line-height: 1.22;
  text-decoration: none !important;
}

.jhytel-connectbar-publisher:hover,
.jhytel-connectbar-publisher:focus {
  color: #790746 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

.jhytel-connectbar-heading p {
  margin: 6px 0 4px;
  color: #6d6068;
  font-family: "Perpetua", Georgia, serif;
  font-size: 0.92rem;
  line-height: 1.4;
}

.jhytel-connectbar-email {
  display: inline-block;
  width: fit-content;
  max-width: 100%;
  color: #790746 !important;
  font-family: "Perpetua", Georgia, serif;
  font-size: 1.2rem;
  font-style: italic;
  font-variant: unicase;
  font-weight: 300;
  line-height: 1.35;
  text-decoration: none !important;
  overflow-wrap: anywhere;
}

.jhytel-connectbar-email:hover,
.jhytel-connectbar-email:focus {
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

.jhytel-connectbar-audio audio {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 38px !important;
  margin: 10px 0 0 !important;
  border: 1px solid rgba(23, 107, 77, 0.12);
  border-radius: 999px;
  outline: 0;
  accent-color: #176b4d;
  box-shadow: 0 3px 9px rgba(23, 107, 77, 0.06);
}

.jhytel-connectbar-audio audio::-webkit-media-controls-enclosure {
  background: #eef5f1;
  border-radius: 999px;
}

.jhytel-connectbar-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-self: stretch;
  gap: 10px;
  width: 100%;
  padding: 10px !important;
  background: rgba(255, 255, 255, 0.76);
  border: 1px solid #e7d9e1;
  border-radius: 13px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.jhytel-connectbar-button {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100% !important;
  min-height: 49px;
  margin: 0 !important;
  font-style: italic;
  padding: 12px 16px !important;
  font-family: "Perpetua", Georgia, serif;
  font-weight: 300;
  line-height: 1.2;
  text-decoration: none !important;
  border-radius: 10px !important;
  transition:
    transform 0.2s ease,
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease;
}

.jhytel-connectbar-button-label {
  min-width: 0;
}

.jhytel-connectbar-button > span:last-child {
  flex: 0 0 auto;
  font-family: "Perpetua", sans-serif;
  font-size: 1rem;
  line-height: 1;
  transition: transform 0.2s ease;
}

.jhytel-connectbar-button:hover > span:last-child,
.jhytel-connectbar-button:focus > span:last-child {
  transform: translateX(3px);
}

.jhytel-connectbar-button-primary {
  color: #ffffff !important;
  background: linear-gradient(135deg, #8b0a5c 0%, #560330 100%) !important;
  border: 1px solid #65033a !important;
  box-shadow: 0 7px 16px rgba(121, 7, 70, 0.18);
}

.jhytel-connectbar-button-primary:hover,
.jhytel-connectbar-button-primary:focus {
  color: #ffffff !important;
  background: linear-gradient(135deg, #a10d6b 0%, #65033a 100%) !important;
  border-color: #e311ff !important;
  box-shadow: 0 10px 21px rgba(121, 7, 70, 0.27);
  transform: translateY(-2px);
}

.jhytel-connectbar-button-secondary {
  color: #176b4d !important;
  background: linear-gradient(135deg, #ffffff 0%, #f3faf6 100%) !important;
  border: 1px solid #bdd9cc !important;
  box-shadow: 0 5px 13px rgba(23, 107, 77, 0.08);
}

.jhytel-connectbar-button-secondary:hover,
.jhytel-connectbar-button-secondary:focus {
  color: #ffffff !important;
  background: linear-gradient(135deg, #237a59 0%, #12533b 100%) !important;
  border-color: #176b4d !important;
  box-shadow: 0 9px 19px rgba(23, 107, 77, 0.22);
  transform: translateY(-2px);
}

.jhytel-connectbar a:focus-visible,
.jhytel-visitors-popup a:focus-visible {
  outline: 3px solid rgba(23, 107, 77, 0.25);
  outline-offset: 3px;
}

/* ==========================================================================
   @JH-03C — VISITOR-STATISTICS POPUP
   Owner selectors: .jhytel-visitors-popup-*
   Scope status: HOMEPAGE / isolated component
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.jhytel-visitors-popup,
.jhytel-visitors-popup * {
  box-sizing: border-box;
}

.jhytel-visitors-popup {
  position: fixed;
  z-index: 999999;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition:
    visibility 0.2s ease,
    opacity 0.2s ease;
}

.jhytel-visitors-popup:target {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.jhytel-visitors-popup-backdrop {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: block;
  background: rgba(24, 9, 22, 0.78);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}

.jhytel-visitors-popup-window {
  position: relative;
  z-index: 1;
  width: min(920px, 100%);
  max-height: calc(100vh - 40px);
  overflow: auto;
  background: #ffffff;
  border: 1px solid #eadde5;
  border-top: 4px solid #790746;
  border-radius: 0 18px 18px 0;
  box-shadow: 0 25px 75px rgba(24, 9, 22, 0.4);
  transform: translateY(14px) scale(0.985);
  transition: transform 0.2s ease;
}

.jhytel-visitors-popup:target .jhytel-visitors-popup-window {
  transform: translateY(0) scale(1);
}

.jhytel-visitors-popup-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px 17px;
  background: linear-gradient(110deg, #ffffff 0%, #fffafd 65%, #fcedfa 100%);
  border-bottom: 1px solid #eadfe7;
}

.jhytel-visitors-popup-heading {
  min-width: 0;
}

.jhytel-visitors-kicker,
.jhytel-visitors-stat-label {
  display: block;
  color: #176b4d;
  font-family: "perpetua", Arial, sans-serif;
  font-weight: 300;
  line-height: 1.3;
  letter-spacing: 0.1em;
}

.jhytel-visitors-popup-header h2 {
  margin: 4px 0;
  color: #35122f;
  font-size: 20px;
  font-family: "perpetua";
  font-variant: unicase;
  font-style: italic;
  line-height: 1.2;
}

.jhytel-visitors-popup-header p {
  max-width: 680px;
  margin: 0;
  color: #6d6068;
  font-family: "Perpetua", Georgia, serif;
  font-size: 0.96rem;
  line-height: 1.45;
}

.jhytel-visitors-popup-close {
  display: inline-flex;
  flex: 0 0 38px;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  color: #790746 !important;
  background: #ffffff;
  border: 1px solid #decbd7;
  border-radius: 50%;
  font-family: Arial, sans-serif;
  font-size: 1.45rem;
  line-height: 1;
  text-decoration: none !important;
}

.jhytel-visitors-popup-close:hover,
.jhytel-visitors-popup-close:focus {
  color: #ffffff !important;
  background: #790746;
  border-color: #790746;
}

.jhytel-visitors-popup-content {
  display: grid;
  gap: 14px;
  padding: 18px 22px;
}

.jhytel-visitors-stat-section {
  display: grid;
  grid-template-columns: minmax(190px, 0.72fr) minmax(300px, 1.28fr);
  align-items: stretch;
  gap: 16px;
  min-width: 0;
  padding: 15px;
  background: #fcfafb;
  border: 1px solid #e8dde4;
  border-radius: 10px;
}

.jhytel-visitors-stat-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.jhytel-visitors-stat-copy h3 {
  margin: 3px 0 0;
  color: #35122f;
  font-size: 20px;
  font-family: "perpetua";
  font-variant: unicase;
  font-style: italic;
  line-height: 1.2;
}

.jhytel-visitors-stat-copy p {
  margin: 7px 0 10px;
  color: #6d6068;
  font-family: "Perpetua", Georgia, serif;
  font-size: 0.94rem;
  line-height: 1.42;
}

.jhytel-visitors-detail-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  margin-top: auto;
  color: #851758 !important;
  font-size: 16px !important;
  text-decoration: none;
  font-variant: unicase;
  font-family: "perpetua";
}

.jhytel-visitors-detail-link:hover,
.jhytel-visitors-detail-link:focus {
  text-decoration: underline !important;
}

.jhytel-visitors-data-box {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 112px;
  padding: 12px;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid #ece3e9;
  border-radius: 8px;
  text-decoration: none !important;
}

.jhytel-visitors-data-box img {
  display: block;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 260px;
  margin: 0 auto !important;
  object-fit: contain;
}

.jhytel-visitors-popup-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 22px;
  background: #fbf8fa;
  border-top: 1px solid #e8dde4;
}

.jhytel-visitors-popup-footer p {
  margin: 0;
  color: #83767e;
  font-family: "Perpetua", Arial, sans-serif;
  line-height: 1.4;
}

.jhytel-visitors-popup-footer > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 8px 16px;
  color: #ffffff !important;
  background: #790746;
  border: 1px solid #790746;
  font-family: "Perpetua", Arial, sans-serif;
  line-height: 1.2;
  text-decoration: none !important;
}

.jhytel-visitors-popup-footer > a:hover,
.jhytel-visitors-popup-footer > a:focus {
  color: #ffffff !important;
  background: #560330;
  border-color: #560330;
}

.jhytel-visitors-close-target {
  display: none;
}

/* ==========================================================================
   @JH-03D — CONNECT-BAR AND VISITOR-POPUP RESPONSIVE RULES
   Owner selectors: @media rules for .jhytel-connectbar and .jhytel-visitors-popup
   Scope status: HOMEPAGE / component responsive
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* [TUNE 2026-07-25 | @JH-03D | Preserve two upper panels on desktop and stack cleanly on narrow screens] */

@media (max-width: 820px) {
  .jhytel-connectbar {
    gap: 12px;
    padding: 18px;
  }

  .jhytel-connectbar-intro,
  .jhytel-connectbar-audio {
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 13px;
    min-height: 132px;
    padding: 16px !important;
  }

  .jhytel-connectbar-main-icon,
  .jhytel-connectbar-round-icon {
    width: 50px;
    height: 50px;
  }

  .jhytel-connectbar-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .jhytel-connectbar {
    grid-template-columns: 1fr;
    grid-template-areas:
      "publisher"
      "audio"
      "actions";
    gap: 13px;
    padding: 18px 16px;
    border-radius: 0 14px 14px 0;
  }

  .jhytel-connectbar-intro,
  .jhytel-connectbar-audio {
    min-height: 0;
  }

  .jhytel-connectbar-actions {
    grid-template-columns: 1fr;
  }

  .jhytel-connectbar-button {
    min-height: 48px;
  }

  .jhytel-visitors-popup {
    align-items: flex-start;
    padding: 8px;
    overflow-y: auto;
  }

  .jhytel-visitors-popup-window {
    max-height: none;
    margin: 0 auto;
    border-radius: 0 14px 14px 0;
  }

  .jhytel-visitors-popup-header {
    padding: 17px 16px 14px;
  }

  .jhytel-visitors-popup-content {
    padding: 14px;
  }

  .jhytel-visitors-stat-section {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 13px;
  }

  .jhytel-visitors-popup-footer {
    align-items: stretch;
    flex-direction: column;
    padding: 12px 14px;
  }
}

@media (max-width: 430px) {
  .jhytel-connectbar-intro,
  .jhytel-connectbar-audio {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 11px;
    padding: 15px 13px !important;
  }

  .jhytel-connectbar-main-icon,
  .jhytel-connectbar-round-icon {
    width: 44px;
    height: 44px;
  }

  .jhytel-connectbar-heading p {
    font-size: 0.87rem;
  }

  .jhytel-connectbar-publisher,
  .jhytel-connectbar-item-text > strong {
    font-size: 1.04rem;
  }

  .jhytel-connectbar-actions {
    padding: 8px !important;
  }

  .jhytel-connectbar-button {
    padding: 11px 13px !important;
    font-size: 0.95rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhytel-connectbar-button,
  .jhytel-connectbar-button > span:last-child,
  .jhytel-visitors-popup,
  .jhytel-visitors-popup-window {
    transition: none;
  }
}

/* ==========================================================================
   @JH-03E — HOMEPAGE SECTION RHYTHM
   Owner selectors: .jhsuite-root spacing; homepage-additional-content
   Scope status: HOMEPAGE / shared layout rhythm
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.jhsuite-root {
  --jh-home-section-gap: clamp(24px, 3vw, 30px);
}

.jhsuite-root > .jhsuite-section:first-child {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.jhsuite-root > .jhsuite-section + .jhsuite-section {
  margin-top: var(--jh-home-section-gap) !important;
  margin-bottom: 0 !important;
}

.jhytel-indexing,
.jhytel-connectbar {
  margin-top: clamp(24px, 3vw, 30px) !important;
  margin-bottom: 0 !important;
}

.homepage-additional-content {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* [FIX 2026-08-01 | @JH-03E | Make Global Authorship and every following
   homepage module match the full article-list + docked-CFP row width.] */
.homepage-additional-content > .jhytel-home-lower-sections {
  flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
}

.homepage-additional-content .jhytel-home-lower-sections .jhsuite-root {
  width: 100%;
  max-width: none;
}

.jhsuite-cfp-section > .jhsuite-section-heading,
.jhsuite-cfp-heading {
  margin-bottom: 18px !important;
}

.jhsuite-cfp-heading > p {
  margin: 0 !important;
}

.jhsuite-cfp-section {
  display: block !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.jhsuite-cfp-section > .jhsuite-cfp {
  margin: 0 !important;
}

/* ==========================================================================
   @JH-03F — LEGACY CALL-FOR-PAPERS COMPATIBILITY OVERRIDES
   Owner selectors: .jhsuite-cfp legacy compatibility selectors
   Scope status: HOMEPAGE / compatibility layer
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.jhsuite-cfp {
  display: grid !important;
  grid-template-columns: minmax(0, 2fr) minmax(210px, 0.8fr) !important;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  background: var(--jh-blush);
  border: 1px solid var(--jh-pink-border);
  border-radius: 18px;
  box-shadow: 0 10px 26px rgba(81, 2, 46, 0.08);
}

.jhsuite-cfp .jhsuite-cfp-main {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) clamp(132px, 13vw, 156px) !important;
  grid-template-areas:
    "status cover"
    "kicker cover"
    "title cover"
    "desc cover" !important;
  align-content: center;
  align-items: start;
  column-gap: clamp(20px, 2.6vw, 28px) !important;
  row-gap: 6px !important;
  min-width: 0;
  min-height: 354px;
  padding: clamp(24px, 3.4vw, 32px) !important;
  color: #ffffff;
  background: radial-gradient(circle at 100% 0, rgba(255, 255, 255, 0.09), transparent 40%), linear-gradient(135deg, var(--jh-burgundy) 0%, #650239 100%);
}

.jhsuite-cfp-main > .jhsuite-cfp-status {
  grid-area: status;
  justify-self: start;
  min-height: 38px;
  margin: 0 0 8px !important;
  padding: 7px 14px;
}

.jhsuite-cfp-main > .jhsuite-cfp-kicker {
  grid-area: kicker;
  margin-bottom: 2px;
}

.jhsuite-cfp-main > .jhsuite-cfp-title-row {
  grid-area: title;
  display: grid;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start;
  gap: 10px !important;
  min-width: 0;
}

.jhsuite-cfp-title-row h2 {
  font-size: clamp(2rem, 3.6vw, 2.55rem);
  line-height: 1.02;
}

.jhsuite-cfp-date {
  margin-top: 6px;
}

.jhsuite-cfp .jhsuite-cfp-theme {
  margin: 0;
  padding: 9px 0 0 !important;
  color: #ffffff;
  font-size: clamp(1.12rem, 1.8vw, 1.35rem);
  line-height: 1.2;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  border-left: 0 !important;
}

.jhsuite-cfp-main > .jhsuite-cfp-description {
  grid-area: desc;
  max-width: 44rem;
  margin: 12px 0 0 !important;
  color: #f8eaf2;
  font-size: 0.96rem;
  line-height: 1.52;
}

.jhsuite-cfp-main > .jhsuite-upcoming-cover {
  grid-area: cover;
  align-self: center;
  justify-self: end;
  display: block;
  width: clamp(132px, 13vw, 156px) !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  line-height: 0;
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.72);
  box-shadow: 0 13px 28px rgba(36, 0, 20, 0.3);
}

.jhsuite-cfp-main > .jhsuite-upcoming-cover img {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: initial !important;
  vertical-align: top;
}

.jhsuite-cfp .jhsuite-cfp-aside {
  display: flex;
  align-items: stretch;
  justify-content: center;
  flex-direction: column;
  min-width: 0;
  min-height: 354px;
  padding: clamp(22px, 2.8vw, 28px) !important;
}

.jhsuite-cfp-aside > .jhsuite-kicker {
  margin-bottom: 4px;
  font-size: 1rem;
}

.jhsuite-cfp-aside h3 {
  padding-bottom: 10px;
  font-size: 1.2rem;
}

.jhsuite-cfp-aside .jhsuite-cfp-actions {
  gap: 9px;
  margin: 15px 0 0 !important;
}

.jhsuite-cfp-aside .jhsuite-cfp-actions .jhsuite-btn {
  min-height: 48px;
  padding: 11px 14px;
}

.jhsuite-cfp-aside .jhsuite-cfp-note {
  margin: 16px 0 0 !important;
  padding: 12px 13px;
}

.jhsuite-cfp-aside .jhsuite-cfp-note p {
  margin-top: 4px;
  font-size: 0.79rem;
  line-height: 1.45;
}

/* ==========================================================================
   @JH-03G — INDEXING DISCLOSURE AND COMPACT INDEXING OVERRIDES
   Owner selectors: .jhytel-indexing-disclosure; indexing compact layout
   Scope status: HOMEPAGE / isolated component override
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.jhytel-indexing {
  width: 100%;
  padding: clamp(22px, 3.2vw, 30px) !important;
  background: linear-gradient(145deg, #ffffff 0%, #fbf7fa 100%);
  border: 1px solid #eadde5;
  border-top: 4px solid #790746;
  box-shadow: 0 12px 30px rgba(61, 30, 48, 0.07);
}

.jhytel-indexing-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 0.72fr);
  align-items: end;
  gap: 28px;
  max-width: none !important;
  margin: 0 0 18px !important;
  text-align: left !important;
}

.jhytel-indexing-kicker {
  margin: 0 0 4px;
  color: #176b4d;
  font-family: "Perpetua", Georgia, serif;
  font-size: 20px;
  font-weight: 300;
  font-style: italic;
  font-variant-caps: unicase;
  line-height: 1.3;
  letter-spacing: 0.08em;
  text-transform: none;
}

.jhytel-indexing-header h2 {
  margin: 0;
  color: #30252c;
  font-family: "Perpetua", Georgia, serif;
  font-size: clamp(1.75rem, 3vw, 2.2rem);
  font-weight: 300;
  font-style: italic;
  font-variant-caps: unicase;
  line-height: 1.08;
  text-align: left;
}

.jhytel-indexing-header p {
  max-width: 36rem;
  margin: 0 !important;
  color: #6d6068;
  font-family: "Perpetua", Georgia, serif;
  font-size: 0.98rem;
  line-height: 1.5;
  text-align: left;
}

.jhytel-indexing-disclosure {
  overflow: hidden;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid #e3d3dc;
  border-radius: 12px;
  box-shadow: 0 5px 15px rgba(61, 30, 48, 0.04);
}

.jhytel-indexing-disclosure > summary {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 76px;
  padding: 11px 15px;
  color: #30252c;
  list-style: none;
  cursor: pointer;
  transition:
    background-color 0.2s ease,
    color 0.2s ease;
}

.jhytel-indexing-disclosure > summary::-webkit-details-marker {
  display: none;
}

.jhytel-indexing-disclosure > summary::marker {
  content: "";
}

.jhytel-indexing-disclosure > summary:hover,
.jhytel-indexing-disclosure > summary:focus-visible {
  background: #fff6fb;
}

.jhytel-indexing-disclosure > summary:focus-visible {
  outline: 3px solid rgba(23, 107, 77, 0.22);
  outline-offset: -3px;
}

.jhytel-indexing-disclosure[open] > summary {
  background: #fff8fc;
  border-bottom: 1px solid #e3d3dc;
}

.jhytel-indexing-summary-mark {
  display: grid;
  place-items: center;
  width: 54px;
  height: 48px;
  color: #ffffff;
  font-family: "Perpetua", Georgia, serif;
  font-size: 1.55rem;
  font-weight: 700;
  font-style: italic;
  font-variant-caps: unicase;
  line-height: 1;
  background: linear-gradient(145deg, #990961 0%, #61033a 100%);
  border-radius: 8px;
  box-shadow: 0 6px 13px rgba(121, 7, 70, 0.17);
}

.jhytel-indexing-summary-copy {
  display: block;
  min-width: 0;
}

.jhytel-indexing-summary-copy strong {
  display: block;
  color: #30252c;
  font-family: "Perpetua", Georgia, serif;
  font-size: 1.16rem;
  font-weight: 300;
  line-height: 1.15;
  font-style: italic;
  font-variant: unicase;
}

.jhytel-indexing-summary-copy small {
  display: block;
  margin-top: 4px;
  color: #176b4d;
  font-family: "Perpetua", Georgia, serif;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.25;
}

.jhytel-indexing-summary-action {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 39px;
  padding: 8px 12px;
  color: #790746;
  font-family: "Perpetua", Georgia, serif;
  white-space: nowrap;
  background: #f8edf3;
  border: 1px solid #ddc2d1;
  border-radius: 999px;
  font-weight: 300;
}

.jhytel-indexing-summary-arrow {
  font-family: Arial, sans-serif;
  font-style: normal;
  line-height: 1;
  transition: transform 0.2s ease;
}

.jhytel-indexing-disclosure[open] .jhytel-indexing-summary-arrow {
  transform: rotate(180deg);
}

.jhytel-indexing-disclosure .jhytel-indexing-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 205px), 1fr));
  gap: 10px;
  padding: 14px;
}

.jhytel-indexing-disclosure .jhytel-indexing-item {
  grid-template-columns: 54px minmax(0, 1fr) 16px;
  gap: 11px;
  min-height: 72px;
  padding: 10px 11px;
  border-radius: 8px;
  box-shadow: 0 3px 10px rgba(61, 30, 48, 0.04);
}

.jhytel-indexing-disclosure .jhytel-indexing-monogram {
  width: 54px;
  height: 48px;
  font-size: 1.5rem;
}

.jhytel-indexing-disclosure .jhytel-indexing-copy strong {
  font-size: 1.02rem;
}

.jhytel-indexing-disclosure .jhytel-indexing-copy small {
  margin-top: 3px;
  font-size: 0.92rem;
  font-weight: 200;
}

/* ==========================================================================
   @JH-03H — FINAL HOMEPAGE RESPONSIVE COMPATIBILITY RULES
   Owner selectors: responsive rules for CFP, indexing, and connect bar
   Scope status: HOMEPAGE / compatibility layer
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

@media (max-width: 900px) {
  .jhsuite-cfp-heading,
  .jhytel-indexing-header {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

  .jhsuite-cfp {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .jhsuite-cfp .jhsuite-cfp-aside {
    min-height: 0;
  }

  .jhsuite-cfp-aside .jhsuite-cfp-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .jhsuite-root {
    --jh-home-section-gap: 22px;
  }

  .jhytel-indexing,
  .jhytel-connectbar {
    margin-top: 22px !important;
  }

  .jhsuite-cfp .jhsuite-cfp-main {
    grid-template-columns: minmax(0, 1fr) 118px !important;
    column-gap: 16px !important;
    min-height: 0;
    padding: 22px 18px !important;
  }

  .jhsuite-cfp-main > .jhsuite-upcoming-cover {
    width: 118px !important;
  }

  .jhsuite-cfp-aside .jhsuite-cfp-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .jhytel-indexing {
    padding: 20px 15px !important;
  }

  .jhytel-indexing-disclosure > summary {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 11px;
    padding: 10px 12px;
  }

  .jhytel-indexing-summary-mark {
    width: 48px;
    height: 45px;
    font-size: 1.4rem;
  }

  .jhytel-indexing-summary-action {
    grid-column: 1 / -1;
    justify-content: space-between;
    width: 100%;
    min-height: 36px;
    margin-top: 1px;
  }

  .jhytel-indexing-disclosure .jhytel-indexing-grid {
    grid-template-columns: minmax(0, 1fr);
    padding: 11px;
  }
}

@media (max-width: 460px) {
  .jhsuite-cfp .jhsuite-cfp-main {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "status"
      "kicker"
      "title"
      "desc"
      "cover" !important;
  }

  .jhsuite-cfp-main > .jhsuite-upcoming-cover {
    justify-self: center;
    width: 132px !important;
    margin-top: 14px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhytel-indexing-disclosure > summary,
  .jhytel-indexing-summary-arrow {
    transition: none;
  }
}

/* ==========================================================================
   @JH-04A — COMPACT HOME-PANEL FOUNDATION AND ACCESS CARDS
   Owner selectors: .jhytel-home-panels; .jh-panel-*; .jh-access-*
   Scope status: HOMEPAGE / shared panel system
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* ==========================================================================
   @JH-04 — 04 — HOMEPAGE COMPACT PANELS: OPEN ACCESS, NEWS, SDGS, SUBJECT AREAS
   Maintenance anchor: search exactly for @JH-04
   ========================================================================== */

.jhytel-home-panels {
  --jh-primary: #610c3a;
  --jh-primary-light: #851758;
  --jh-deep: #35122f;
  --jh-accent: #e311ff;
  --jh-gold: #f2b544;
  --jh-text: #302830;
  --jh-muted: #756873;
  --jh-line: #e3d8df;
  --jh-soft: #faf7f9;
  width: 100%;
  color: var(--jh-text);
  font-family: "NexusSansTF-Regular", "Nexus Sans", Arial, sans-serif;
}

.jhytel-home-panels *,
.jhytel-home-panels *::before,
.jhytel-home-panels *::after {
  box-sizing: border-box;
}

.jh-panel-section {
  width: min(1120px, calc(100% - 30px));
  margin: 20px auto;
}

.jh-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 38px;
  margin-bottom: 11px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--jh-line);
}

.jh-section-title {
  position: relative;
  margin: 0;
  padding-left: 13px;
  color: var(--jh-deep);
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  font-size: 20px;
  font-weight: 300;
  line-height: 1.2;
  font-style: italic;
  font-variant: unicase;
}

.jh-section-title::before {
  content: "";
  position: absolute;
  top: 2px;
  bottom: 2px;
  left: 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jh-accent), var(--jh-primary));
  border-radius: 999px;
}

.jh-section-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 6px 11px;
  color: var(--jh-primary) !important;
  background: #fff;
  border: 1px solid rgba(97, 12, 58, 0.24);
  border-radius: 999px;
  font-family: "perpetua";
  font-size: 14px;
  font-weight: 300;
  letter-spacing: 0.035em;
  line-height: 1;
  text-decoration: none !important;
  transition:
    color 0.18s ease,
    background 0.18s ease,
    transform 0.18s ease;
}

.jh-section-link:hover,
.jh-section-link:focus {
  color: #fff !important;
  background: var(--jh-primary);
  text-decoration: none !important;
  transform: translateY(-2px);
}

.jh-section-link span {
  font-size: 14px;
  transition: transform 0.18s ease;
}

.jh-section-link:hover span,
.jh-section-link:focus span {
  transform: translateX(2px);
}

.jh-access-row {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 12px;
}

.jh-access-card {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 82px;
  padding: 13px 14px;
  color: #fff !important;
  background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.18), transparent 46%), linear-gradient(135deg, var(--jh-primary-light), var(--jh-deep));
  border: 1px solid rgba(97, 12, 58, 0.28);
  border-radius: 12px;
  box-shadow: 0 7px 17px rgba(53, 18, 47, 0.16);
  text-decoration: none !important;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease;
}

.jh-access-card:hover,
.jh-access-card:focus {
  color: #fff !important;
  box-shadow: 0 11px 22px rgba(53, 18, 47, 0.24);
  text-decoration: none !important;
  transform: translateY(-3px);
}

.jh-access-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.jh-access-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.jh-access-title {
  color: #fff;
  font-size: 20px;
  letter-spacing: 0.055em;
  line-height: 1.2;
  font-family: "Perpetua";
  font-variant: unicase;
  font-style: italic;
}

.jh-access-subtitle {
  margin-top: 3px;
  color: rgba(255, 255, 255, 0.78);
  font-weight: 300;
  font-size: 14px;
  letter-spacing: 0.06em;
  line-height: 1.3;
  font-family: "Perpetua";
}

.jh-editor-note {
  position: relative;
  display: flex;
  min-height: 82px;
  margin: 0;
  padding: 14px 20px 12px 48px;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  background: radial-gradient(circle at bottom right, rgba(227, 17, 255, 0.055), transparent 38%), linear-gradient(135deg, #fff, var(--jh-soft));
  border: 1px solid var(--jh-line);
  border-left: 4px solid var(--jh-primary);
  border-radius: 12px;
  box-shadow: 0 6px 15px rgba(53, 18, 47, 0.07);
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease;
}

.jh-editor-note:hover {
  border-color: rgba(97, 12, 58, 0.32);
  border-left-color: var(--jh-accent);
  box-shadow: 0 9px 19px rgba(53, 18, 47, 0.12);
  transform: translateY(-2px);
}

.jh-editor-note::before {
  content: "“";
  position: absolute;
  top: -2px;
  left: 13px;
  color: rgba(97, 12, 58, 0.17);
  font-family: Georgia, serif;
  font-size: 58px;
  font-weight: 700;
  line-height: 1;
}

.jh-editor-note p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #443944;
  font-family: "Perpetua", Georgia, serif;
  font-size: 14px;
  font-style: italic;
  line-height: 1.42;
  text-align: left;
}

.jh-editor-note footer {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 6px;
  color: var(--jh-primary);
  font-style: normal;
  font-weight: 300;
  letter-spacing: 0.07em;
  line-height: 1.2;
  text-transform: capitalize;
}

.jh-editor-note footer::before {
  content: "";
  width: 20px;
  height: 2px;
  background: linear-gradient(90deg, var(--jh-accent), var(--jh-primary));
  border-radius: 999px;
}

.jh-announcement-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.jh-announcement-card {
  position: relative;
  display: flex;
  min-height: 92px;
  padding: 13px 48px 12px 14px;
  flex-direction: column;
  overflow: hidden;
  background: radial-gradient(circle at top right, rgba(227, 17, 255, 0.045), transparent 42%), #fff;
  border: 1px solid var(--jh-line);
  border-left: 3px solid var(--jh-primary);
  border-radius: 10px;
  box-shadow: 0 4px 11px rgba(53, 18, 47, 0.06);
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease;
}

.jh-announcement-card:hover {
  border-color: rgba(97, 12, 58, 0.34);
  border-left-color: var(--jh-accent);
  box-shadow: 0 8px 17px rgba(53, 18, 47, 0.12);
  transform: translateY(-3px);
}

.jh-announcement-title {
  margin: 0 0 8px;
  font-family: "Perpetua", Georgia, serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
}

.jh-announcement-title a {
  color: var(--jh-text) !important;
  text-decoration: none !important;
}

.jh-announcement-title a:hover,
.jh-announcement-title a:focus {
  color: var(--jh-primary) !important;
}

.jh-new-badge {
  margin-left: 4px;
  vertical-align: 2px;
}

.jh-announcement-date {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: auto 0 0;
  color: var(--jh-muted);
  font-size: 9.5px;
  letter-spacing: 0.045em;
  line-height: 1.2;
  text-transform: uppercase;
}

.jh-announcement-date::before {
  content: "";
  flex: 0 0 5px;
  width: 5px;
  height: 5px;
  background: var(--jh-gold);
  border-radius: 50%;
}

.jh-announcement-arrow {
  position: absolute;
  top: 50%;
  right: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 27px;
  height: 27px;
  color: #fff !important;
  background: var(--jh-primary);
  border-radius: 50%;
  box-shadow: 0 3px 8px rgba(53, 18, 47, 0.18);
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none !important;
  transform: translateY(-50%);
  transition:
    background 0.18s ease,
    transform 0.18s ease;
}

.jh-announcement-arrow:hover,
.jh-announcement-arrow:focus {
  color: #fff !important;
  background: var(--jh-primary-light);
  transform: translateY(-50%) translateX(2px);
}

/* ==========================================================================
   @JH-04B — COMPACT SDG GRID
   Owner selectors: .jh-sdg-grid; .jh-sdg-item
   Scope status: HOMEPAGE / isolated subcomponent
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.jh-sdg-grid {
  display: grid;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  gap: 8px;
  padding: 2px 0 4px;
}

.jh-sdg-item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(97, 12, 58, 0.12);
  border-radius: 12px;
  box-shadow: 0 3px 9px rgba(53, 18, 47, 0.07);
  outline-offset: 3px;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease;
}

.jh-sdg-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(78%) saturate(0.72);
  transition:
    filter 0.2s ease,
    transform 0.2s ease;
}

.jh-sdg-item:hover,
.jh-sdg-item:focus {
  z-index: 2;
  border-color: rgba(227, 17, 255, 0.48);
  box-shadow: 0 8px 17px rgba(53, 18, 47, 0.16);
  transform: translateY(-3px);
}

.jh-sdg-item:hover img,
.jh-sdg-item:focus img {
  filter: grayscale(0) saturate(1);
  transform: scale(1.035);
}

@media (max-width: 900px) {
  .jh-access-row {
    grid-template-columns: 200px minmax(0, 1fr);
  }

  .jh-sdg-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .jh-panel-section {
    width: min(100% - 18px, 620px);
    margin: 16px auto;
  }

  .jh-access-row,
  .jh-announcement-grid {
    grid-template-columns: 1fr;
  }

  .jh-access-card {
    min-height: 68px;
    padding: 11px 14px;
  }

  .jh-editor-note {
    min-height: 76px;
    padding: 13px 15px 12px 45px;
  }

  .jh-announcement-card {
    min-height: 76px;
  }

  .jh-sdg-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
  }
}

@media (max-width: 420px) {
  .jh-section-title {
    font-size: 17px;
  }

  .jh-section-link {
    padding: 6px 9px;
    font-size: 9px;
  }

  .jh-sdg-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (prefers-reduced-motion: reduce) {
  .jh-access-card,
  .jh-editor-note,
  .jh-section-link,
  .jh-announcement-card,
  .jh-announcement-arrow,
  .jh-sdg-item,
  .jh-sdg-item img {
    transition: none;
  }
}

.jh-news {
  position: relative;
  width: 100%;
  margin-top: clamp(24px, 3vw, 30px);
  font-family: Perpetua, Georgia, serif;
}

/* ==========================================================================
   @JH-04C — NEWS SLIDER
   Owner selectors: .jh-news-*
   Scope status: HOMEPAGE / isolated component
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.jh-news-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
  padding-bottom: 11px;
  border-bottom: 1px solid #eadde4;
}

.jh-news-heading {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.jh-news-heading-mark {
  flex: 0 0 4px;
  width: 4px;
  height: 32px;
  border-radius: 999px;
  background: linear-gradient(180deg, #e311ff 0%, #76003f 100%);
}

.jh-news-kicker {
  display: block;
  margin: 0 0 3px;
  color: #176b4d;
  font-family: "perpetua", Arial, sans-serif;
  font-size: 20px;
  font-weight: 300;
  line-height: 1.3;
  letter-spacing: 0.09em;
  font-variant: unicase;
  font-style: italic;
}

.jh-news-header h2 {
  margin: 0;
  color: #351b29;
  font-family: Perpetua, Georgia, serif;
  font-size: clamp(19px, 2vw, 23px);
  font-style: italic;
  font-weight: 600;
  line-height: 1.1;
}

.jh-news-view-all {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
  padding: 7px 13px;
  color: #76003f !important;
  font-family: Perpetua, Georgia, serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1;
  text-decoration: none !important;
  background: #ffffff;
  border: 1px solid #dcbfce;
  border-radius: 999px;
  transition:
    color 0.2s ease,
    background-color 0.2s ease,
    border-color 0.2s ease,
    transform 0.2s ease;
}

.jh-news-view-all:hover,
.jh-news-view-all:focus-visible {
  color: #ffffff !important;
  background: #76003f;
  border-color: #76003f;
  transform: translateY(-1px);
}

.jh-news-slider {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
}

.jh-news-viewport {
  min-width: 0;
  overflow: hidden;
  background: linear-gradient(100deg, #ffffff 0%, #fff8fc 100%);
  border: 1px solid #e7d5df;
  border-left: 4px solid #76003f;
  border-radius: 10px;
  box-shadow: 0 6px 18px rgba(71, 20, 48, 0.07);
}

.jh-news-track {
  display: flex;
  width: 100%;
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.jh-news-slide {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "meta action"
    "title action";
  align-items: center;
  column-gap: 24px;
  row-gap: 6px;
  flex: 0 0 100%;
  min-width: 100%;
  min-height: 104px;
  padding: 18px 22px;
  box-sizing: border-box;
}

.jh-news-meta {
  grid-area: meta;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px 13px;
  min-width: 0;
}

.jh-news-label {
  color: #76003f;
  font-family: Perpetua, Georgia, serif;
  font-size: 20px;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.1em;
  font-variant: unicase;
  font-style: italic;
}

.jh-news-label::after {
  content: "";
  display: inline-block;
  width: 3px;
  height: 3px;
  margin-left: 12px;
  vertical-align: middle;
  background: #e2ae2f;
  border-radius: 50%;
}

.jh-news-date {
  color: #75666e;
  font-family: Perpetua, Georgia, serif;
  font-size: 18px;
  line-height: 1.2;
}

.jh-news-title {
  grid-area: title;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
  margin: 0;
  font-family: Perpetua, Georgia, serif;
  font-size: clamp(17px, 1.7vw, 21px);
  font-weight: 600;
  line-height: 1.25;
}

.jh-news-title a {
  color: #35232c !important;
  text-decoration: none !important;
  transition: color 0.2s ease;
}

.jh-news-title a:hover,
.jh-news-title a:focus-visible {
  color: #920052 !important;
}

.jh-new-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px 8px 2px;
  color: #ffffff;
  font-family: Perpetua, Georgia, serif;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06em;
  background: linear-gradient(135deg, #e311ff 0%, #8b0050 100%);
  border-radius: 999px;
  box-shadow: 0 3px 8px rgba(139, 0, 80, 0.18);
}

.jh-news-read {
  grid-area: action;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 104px;
  padding: 9px 13px;
  color: #ffffff !important;
  font-family: Perpetua, Georgia, serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1;
  text-decoration: none !important;
  background: #76003f;
  border: 1px solid #76003f;
  border-radius: 999px;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    transform 0.2s ease;
}

.jh-news-read:hover,
.jh-news-read:focus-visible {
  color: #ffffff !important;
  background: #980057;
  border-color: #980057;
  transform: translateX(2px);
}

.jh-news-controls {
  display: flex;
  align-items: center;
  gap: 7px;
}

.jh-news-control {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  color: #76003f;
  background: #ffffff;
  border: 1px solid #dcbfce;
  border-radius: 50%;
  cursor: pointer;
  transition:
    color 0.2s ease,
    background-color 0.2s ease,
    border-color 0.2s ease,
    transform 0.2s ease;
}

.jh-news-control:hover,
.jh-news-control:focus-visible {
  color: #ffffff;
  background: #76003f;
  border-color: #76003f;
  transform: translateY(-1px);
}

.jh-news-dots {
  display: flex;
  align-items: center;
  gap: 5px;
}

.jh-news-dot {
  width: 7px;
  height: 7px;
  padding: 0;
  background: #dec9d4;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  transition:
    width 0.2s ease,
    background-color 0.2s ease;
}

.jh-news-dot.is-active {
  width: 19px;
  background: #76003f;
}

@media (max-width: 760px) {
  .jh-news-slider {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .jh-news-controls {
    justify-content: center;
  }

  .jh-news-slide {
    min-height: 112px;
    padding: 17px 18px;
  }
}

@media (max-width: 540px) {
  .jh-news-header {
    align-items: center;
  }

  .jh-news-kicker {
    display: none;
  }

  .jh-news-view-all {
    padding: 7px 11px;
    font-size: 13px;
  }

  .jh-news-slide {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "meta meta"
      "title action";
    column-gap: 12px;
    min-height: 116px;
    padding: 15px 16px;
  }

  .jh-news-date {
    font-size: 13px;
  }

  .jh-news-title {
    font-size: 17px;
  }

  .jh-news-read {
    width: 36px;
    min-width: 36px;
    height: 36px;
    padding: 0;
    font-size: 0;
    border-radius: 50%;
  }

  .jh-news-read span {
    font-size: 17px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jh-news-track,
  .jh-news-view-all,
  .jh-news-read,
  .jh-news-control,
  .jh-news-dot {
    transition: none !important;
  }
}

/* ==========================================================================
   @JH-04D — SDG MARQUEE AND SHOWCASE
   Owner selectors: .jh-sdg-showcase; .jh-sdg-marquee; .jh-sdg-card
   Scope status: HOMEPAGE / isolated component
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.jh-sdg-showcase {
  width: 100%;
  margin-top: clamp(24px, 3vw, 30px);
  font-family: Perpetua, Georgia, serif;
}

.jh-sdg-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
  padding-bottom: 11px;
  border-bottom: 1px solid #eadde4;
}

.jh-sdg-heading {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.jh-sdg-heading-mark {
  flex: 0 0 4px;
  width: 4px;
  height: 34px;
  border-radius: 999px;
  background: linear-gradient(180deg, #e311ff 0%, #76003f 100%);
}

.jh-sdg-kicker {
  display: block;
  margin: 0 0 3px;
  color: #176b4d;
  font-family: "perpetua", Arial, sans-serif;
  font-size: 20px;
  font-weight: 300;
  line-height: 1.3;
  letter-spacing: 0.09em;
  font-variant: unicase;
  font-style: italic;
}

.jh-sdg-header h2 {
  margin: 0;
  color: #351b29;
  font-family: Perpetua, Georgia, serif;
  font-size: clamp(19px, 2vw, 23px);
  font-style: italic;
  font-weight: 600;
  line-height: 1.1;
}

.jh-sdg-explore {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
  padding: 7px 13px;
  color: #76003f !important;
  font-family: Perpetua, Georgia, serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1;
  text-decoration: none !important;
  background: #ffffff;
  border: 1px solid #dcbfce;
  border-radius: 999px;
  transition:
    color 0.2s ease,
    background-color 0.2s ease,
    border-color 0.2s ease,
    transform 0.2s ease;
}

.jh-sdg-explore:hover,
.jh-sdg-explore:focus-visible {
  color: #ffffff !important;
  background: #76003f;
  border-color: #76003f;
  transform: translateY(-1px);
}

.jh-sdg-marquee {
  position: relative;
  width: 100%;
  padding: 16px 0;
  overflow: hidden;
  background: linear-gradient(110deg, #ffffff 0%, #fff8fc 50%, #ffffff 100%);
  border: 1px solid #ead9e2;
  border-radius: 14px;
  box-shadow: 0 7px 22px rgba(71, 20, 48, 0.07);
}

.jh-sdg-track {
  display: flex;
  width: max-content;
  animation: jh-sdg-running 75s linear infinite;
  will-change: transform;
}

.jh-sdg-group {
  display: flex;
  align-items: center;
  gap: 13px;
  flex-shrink: 0;
  padding-right: 13px;
}

.jh-sdg-marquee:hover .jh-sdg-track,
.jh-sdg-marquee:focus-within .jh-sdg-track {
  animation-play-state: paused;
}

.jh-sdg-card {
  display: flex;
  align-items: center;
  gap: 11px;
  flex: 0 0 auto;
  width: 222px;
  min-height: 94px;
  padding: 9px 14px 9px 9px;
  box-sizing: border-box;
  color: #38242e !important;
  text-decoration: none !important;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid #eadde4;
  border-radius: 999px 16px 16px 999px;
  box-shadow: 0 4px 12px rgba(63, 25, 45, 0.06);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.jh-sdg-card:hover,
.jh-sdg-card:focus-visible {
  color: #38242e !important;
  border-color: #cda3b8;
  box-shadow: 0 8px 20px rgba(90, 22, 58, 0.13);
  transform: translateY(-3px);
  outline: none;
}

.jh-sdg-icon {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 76px;
  width: 76px;
  height: 76px;
  overflow: hidden;
  background: #ffffff;
  border: 3px solid #ffffff;
  border-radius: 50%;
  box-shadow:
    0 0 0 1px rgba(91, 39, 66, 0.12),
    0 5px 13px rgba(58, 24, 42, 0.13);
}

.jh-sdg-icon img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
  border-radius: 50%;
  transform: scale(1.04);
  transition: transform 0.3s ease;
}

.jh-sdg-card:hover .jh-sdg-icon img,
.jh-sdg-card:focus-visible .jh-sdg-icon img {
  transform: scale(1.11);
}

.jh-sdg-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  line-height: 1.15;
}

.jh-sdg-copy strong {
  display: block;
  margin-bottom: 4px;
  color: #76003f;
  font-family: Perpetua, Georgia, serif;
  font-size: 14px;
  font-style: italic;
  font-weight: 700;
  letter-spacing: 0.025em;
}

.jh-sdg-copy small {
  display: -webkit-box;
  overflow: hidden;
  color: #4c3c44;
  font-family: Perpetua, Georgia, serif;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.17;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-variant: unicase;
}

.jh-sdg-wheel {
  background: linear-gradient(120deg, #fffaff 0%, #ffffff 100%);
  border-color: #d9b7c9;
}

.jh-sdg-wheel .jh-sdg-icon img {
  object-fit: contain;
  transform: scale(0.9);
}

.jh-sdg-wheel:hover .jh-sdg-icon img,
.jh-sdg-wheel:focus-visible .jh-sdg-icon img {
  transform: scale(0.97) rotate(8deg);
}

.jh-sdg-fade {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 3;
  width: 54px;
  pointer-events: none;
}

.jh-sdg-fade-left {
  left: 0;
  background: linear-gradient(90deg, #ffffff 8%, rgba(255, 255, 255, 0) 100%);
}

.jh-sdg-fade-right {
  right: 0;
  background: linear-gradient(270deg, #ffffff 8%, rgba(255, 255, 255, 0) 100%);
}

@keyframes jh-sdg-running {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

@media (max-width: 760px) {
  .jh-sdg-card {
    width: 208px;
    min-height: 86px;
  }

  .jh-sdg-icon {
    flex-basis: 68px;
    width: 68px;
    height: 68px;
  }

  .jh-sdg-copy small {
    font-size: 13px;
  }
}

@media (max-width: 540px) {
  .jh-sdg-header {
    align-items: center;
    gap: 10px;
  }

  .jh-sdg-kicker {
    display: none;
  }

  .jh-sdg-header h2 {
    font-size: 18px;
  }

  .jh-sdg-explore {
    padding: 7px 10px;
    font-size: 13px;
  }

  .jh-sdg-marquee {
    padding: 13px 0;
    border-radius: 11px;
  }

  .jh-sdg-card {
    width: 194px;
    min-height: 78px;
    padding: 7px 11px 7px 7px;
  }

  .jh-sdg-icon {
    flex-basis: 62px;
    width: 62px;
    height: 62px;
  }

  .jh-sdg-copy strong {
    margin-bottom: 3px;
    font-size: 13px;
  }

  .jh-sdg-copy small {
    font-size: 12.5px;
  }

  .jh-sdg-fade {
    width: 28px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jh-sdg-track {
    animation: none !important;
  }

  .jh-sdg-marquee {
    overflow-x: auto;
    scrollbar-width: thin;
  }

  .jh-sdg-card,
  .jh-sdg-icon img {
    transition: none !important;
  }
}

/* ==========================================================================
   @JH-04E — ACCESS-CARD POLISH AND SHARED CARD-ARROW RULES
   Owner selectors: .jh-access-*; shared home-card arrows
   Scope status: HOMEPAGE / shared panel override
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.jh-access-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  color: #76003f;
  background: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.65);
  border-radius: 50%;
  box-shadow:
    0 4px 11px rgba(43, 0, 24, 0.2),
    0 0 0 4px rgba(255, 255, 255, 0.09);
}

.jh-action-stack {
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
  height: 100%;
}

.jh-action-stack .jh-access-card {
  min-height: 0;
  height: 100%;
  padding: 10px 15px 10px 10px;
  border-radius: 999px;
}

.jh-action-stack .jh-access-icon {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
}

.jh-action-stack .jh-access-icon svg {
  width: 21px;
  height: 21px;
}

.jh-action-stack .jh-access-title {
  font-size: 17px;
  line-height: 1;
}

.jh-action-stack .jh-access-subtitle {
  margin-top: 3px;
  font-size: 14px;
  line-height: 1.1;
}

.jh-submit-card {
  background: linear-gradient(135deg, #403047 0%, #5d3d50 100%);
}

.jh-submit-card:hover,
.jh-submit-card:focus-visible {
  background: linear-gradient(135deg, #51364a 0%, #76003f 100%);
}

.jh-submit-icon {
  color: #6c003b;
  background: #f5d879;
}

.jh-card-arrow {
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
  margin-left: auto;
  color: rgba(255, 255, 255, 0.8);
  font-family: Georgia, serif;
  font-size: 24px;
  line-height: 1;
  transition: transform 0.2s ease;
}

.jh-access-card:hover .jh-card-arrow,
.jh-access-card:focus-visible .jh-card-arrow {
  transform: translateX(3px);
}

.jh-access-row {
  align-items: stretch;
}

@media (max-width: 760px) {
  .jh-action-stack {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
  }

  .jh-action-stack .jh-access-card {
    min-height: 70px;
  }
}

@media (max-width: 480px) {
  .jh-action-stack {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .jh-action-stack .jh-access-card {
    min-height: 66px;
  }

  .jh-action-stack .jh-access-title {
    font-size: 16px;
  }
}

/* ==========================================================================
   @JH-04F — SUBJECT-AREA CARDS
   Owner selectors: .jh-subject-*
   Scope status: HOMEPAGE / isolated component
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.jh-subject-section {
  width: 100%;
  margin-top: 20px;
  padding: 20px;
  font-family: Perpetua, Georgia, serif;
  background: linear-gradient(135deg, #ffffff 0%, #fffafd 100%);
  border: 1px solid #eadce4;
  border-radius: 14px;
  box-shadow: 0 7px 20px rgba(73, 23, 50, 0.06);
  box-sizing: border-box;
}

.jh-subject-section *,
.jh-subject-section *::before,
.jh-subject-section *::after {
  box-sizing: border-box;
}

.jh-subject-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 15px;
}

.jh-subject-eyebrow {
  color: var(--jh-burgundy);
  font-family: "Perpetua", Arial, sans-serif;
  font-size: 20px;
  font-weight: 300;
  letter-spacing: 0.1em;
  line-height: 1.35;
  font-variant: unicase;
  font-style: italic;
}

.jh-subject-header h2 {
  margin: 2px 0 0;
  color: var(--jh-ink);
  font-family: "Perpetua", Georgia, serif;
  font-size: clamp(1.85rem, 3.4vw, 2.5rem);
  font-weight: 400;
  line-height: 1.08;
  font-variant: unicase;
  font-style: italic;
}

.jh-subject-header p {
  max-width: 490px;
  margin: 0;
  color: #76636d;
  font-size: 13px;
  line-height: 1.35;
  text-align: right;
}

.jh-subject-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.jh-subject-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  min-height: 82px;
  padding: 13px 14px;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid #eadde4;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(67, 24, 46, 0.05);
  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.jh-subject-card::after {
  position: absolute;
  right: -29px;
  bottom: -43px;
  width: 90px;
  height: 90px;
  content: "";
  border: 14px solid rgba(118, 0, 63, 0.035);
  border-radius: 50%;
}

.jh-subject-card:hover {
  border-color: #d9b9ca;
  box-shadow: 0 8px 18px rgba(74, 21, 48, 0.1);
  transform: translateY(-2px);
}

.jh-subject-icon {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  color: #ffffff;
  border-radius: 50%;
  box-shadow: 0 5px 11px rgba(67, 17, 43, 0.16);
}

.jh-subject-icon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.55;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.jh-subject-social .jh-subject-icon {
  background: linear-gradient(135deg, #76003f, #a4005d);
}

.jh-subject-engineering .jh-subject-icon {
  background: linear-gradient(135deg, #9b6b0c, #d3a12f);
}

.jh-subject-computing .jh-subject-icon {
  background: linear-gradient(135deg, #343e8f, #5668c8);
}

.jh-subject-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.jh-subject-number {
  position: absolute;
  top: -13px;
  right: -3px;
  color: rgba(118, 0, 63, 0.08);
  font-family: Georgia, serif;
  font-size: 29px;
  font-weight: 700;
  line-height: 1;
}

.jh-subject-content strong {
  padding-right: 25px;
  color: #4f2c3e;
  font-size: 16px;
  font-style: italic;
  font-weight: 700;
  line-height: 1.1;
}

.jh-subject-content > span:last-child {
  margin-top: 4px;
  color: #7b6872;
  font-family: NexusSansTF-Regular, Arial, sans-serif;
  font-size: 11.5px;
  line-height: 1.2;
}

@media (max-width: 820px) {
  .jh-subject-header {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
  }

  .jh-subject-header p {
    max-width: 650px;
    text-align: left;
  }

  .jh-subject-grid {
    grid-template-columns: 1fr;
  }

  .jh-subject-card {
    min-height: 74px;
  }
}

@media (max-width: 480px) {
  .jh-subject-section {
    padding: 16px;
    border-radius: 12px;
  }

  .jh-subject-header h2 {
    font-size: 23px;
  }

  .jh-subject-header p {
    font-size: 12.5px;
  }

  .jh-subject-card {
    min-height: 70px;
    padding: 11px 12px;
  }

  .jh-subject-icon {
    flex-basis: 42px;
    width: 42px;
    height: 42px;
  }

  .jh-subject-icon svg {
    width: 22px;
    height: 22px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jh-subject-card {
    transition: none !important;
  }
}

/* ==========================================================================
   @JH-04G — JOURNAL-PROFILE CARD AND MODAL
   Owner selectors: .jh-profile; .jh-modal; .jh-detail-*
   Scope status: HOMEPAGE / isolated component
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.jh-profile,
.jh-modal {
  --jh-wine: #71003d;
  --jh-wine-dark: #4f002b;
  --jh-gold: #b98927;
  --jh-text: #422f39;
  --jh-muted: #806d77;
  --jh-line: #eadde4;
  --jh-soft: #fff9fc;
  font-family: Perpetua, "Times New Roman", Georgia, serif;
  box-sizing: border-box;
}

.jh-profile *,
.jh-profile *::before,
.jh-profile *::after,
.jh-modal *,
.jh-modal *::before,
.jh-modal *::after {
  box-sizing: border-box;
  font-family: inherit;
}

.jh-profile {
  width: 100%;
  margin: 20px 0;
  padding: 17px;
  background: #ffffff;
  border: 1px solid var(--jh-line);
  border-radius: 15px;
  box-shadow: 0 8px 22px rgba(74, 24, 50, 0.07);
}

.jh-profile-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 13px;
}

.jh-profile-eyebrow {
  color: var(--jh-burgundy);
  font-family: "Perpetua", Arial, sans-serif;
  font-size: 20px;
  font-weight: 300;
  letter-spacing: 0.1em;
  line-height: 1.35;
  font-variant: unicase;
  font-style: italic;
}

.jh-profile-heading h2,
.jh-modal-header h2 {
  margin: 2px 0 0;
  color: var(--jh-ink);
  font-family: "Perpetua", Georgia, serif;
  font-size: clamp(1.85rem, 3.4vw, 2.5rem);
  font-weight: 400;
  line-height: 1.08;
  font-variant: unicase;
  font-style: italic;
}

.jh-profile-mark {
  padding: 6px 13px;
  color: #ffffff;
  font-size: 20px;
  font-style: italic;
  font-weight: 300;
  letter-spacing: 0.05em;
  background: var(--jh-wine);
  border-radius: 999px;
  font-variant: unicase;
}

.jh-profile-strip {
  display: grid;
  grid-template-columns:
    minmax(270px, 1.5fr)
    minmax(155px, 0.75fr)
    minmax(205px, 0.95fr)
    minmax(145px, 0.7fr);
  align-items: stretch;
  overflow: hidden;
  background: var(--jh-soft);
  border: 1px solid var(--jh-line);
  border-radius: 12px;
}

.jh-profile-primary,
.jh-profile-fact,
.jh-profile-action {
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 82px;
  padding: 13px 15px;
}

.jh-profile-primary,
.jh-profile-fact {
  border-right: 1px solid var(--jh-line);
}

.jh-profile-primary {
  gap: 12px;
  background: linear-gradient(135deg, #ffffff, #fff8fc);
}

.jh-profile-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  color: #ffffff;
  background: linear-gradient(135deg, var(--jh-wine), #9a0056);
  border-radius: 50%;
  box-shadow: 0 5px 12px rgba(113, 0, 61, 0.18);
}

.jh-profile-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.jh-profile-primary strong {
  display: block;
  color: #4c293b;
  font-size: 16px;
  font-style: italic;
  font-weight: 600;
  line-height: 1.08;
}

.jh-profile-primary small {
  display: block;
  margin-top: 4px;
  color: var(--jh-muted);
  font-size: 15px;
  line-height: 1.15;
}

.jh-profile-fact {
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.jh-profile-fact > span,
.jh-detail-item > span {
  display: block;
  margin-bottom: 5px;
  color: var(--jh-text);
  font-size: 13px;
  font-weight: 300;
  line-height: 1;
}

.jh-profile-fact > strong {
  color: var(--jh-text);
  font-size: 15px;
  font-style: italic;
  font-weight: 600;
  line-height: 1.1;
}

.jh-profile-fact > small {
  margin-top: 3px;
  color: var(--jh-muted);
  font-size: 15px;
  line-height: 1.15;
}

.jh-profile-identifiers {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 12px;
}

.jh-profile-identifiers a {
  color: inherit;
  text-decoration: none;
}

.jh-profile-identifiers a:hover strong {
  color: var(--jh-wine);
}

.jh-profile-identifiers small {
  display: block;
  color: var(--jh-muted);
  font-size: 15px;
  line-height: 1;
}

.jh-profile-identifiers strong {
  display: block;
  margin-top: 2px;
  color: var(--jh-text);
  font-size: 17px;
  font-style: italic;
  font-weight: 600;
}

.jh-profile-action {
  justify-content: center;
  padding: 12px;
  background: #ffffff;
}

.jh-profile-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: 100%;
  min-height: 43px;
  padding: 9px 12px;
  color: #ffffff !important;
  font-weight: 300;
  line-height: 1;
  text-align: center;
  text-decoration: none !important;
  background: linear-gradient(135deg, var(--jh-wine-dark), var(--jh-wine));
  border-radius: 999px;
  box-shadow: 0 5px 13px rgba(91, 0, 49, 0.16);
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.jh-profile-button svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 0.2s ease;
}

.jh-profile-button:hover,
.jh-profile-button:focus-visible {
  color: #ffffff !important;
  box-shadow: 0 8px 17px rgba(91, 0, 49, 0.23);
  transform: translateY(-1px);
  outline: none;
}

.jh-profile-button:hover svg {
  transform: translateX(2px);
}

.jh-modal {
  position: fixed;
  z-index: 99999;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition:
    opacity 0.22s ease,
    visibility 0.22s ease;
}

.jh-modal:target {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.jh-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(35, 17, 27, 0.64);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

.jh-modal-panel {
  position: relative;
  z-index: 1;
  width: min(1050px, 100%);
  max-height: min(88vh, 760px);
  overflow: auto;
  background: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 17px;
  box-shadow: 0 24px 65px rgba(35, 5, 22, 0.3);
  transform: translateY(14px) scale(0.985);
  transition: transform 0.22s ease;
  scrollbar-width: thin;
  scrollbar-color: #c9a8b9 transparent;
}

.jh-modal:target .jh-modal-panel {
  transform: translateY(0) scale(1);
}

.jh-modal-header {
  position: sticky;
  z-index: 3;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 20px 15px;
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid var(--jh-line);
  backdrop-filter: blur(8px);
}

.jh-modal-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  color: var(--jh-wine) !important;
  font-family: Georgia, serif;
  font-size: 27px;
  font-style: normal;
  font-weight: 300;
  line-height: 1;
  text-decoration: none !important;
  background: var(--jh-soft);
  border: 1px solid var(--jh-line);
  border-radius: 50%;
  transition:
    color 0.2s ease,
    background-color 0.2s ease,
    transform 0.2s ease;
}

.jh-modal-close:hover,
.jh-modal-close:focus-visible {
  color: #ffffff !important;
  background: var(--jh-wine);
  border-color: var(--jh-wine);
  transform: rotate(5deg);
  outline: none;
}

.jh-modal-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  padding: 16px 20px 20px;
}

.jh-detail-item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  min-height: 67px;
  padding: 11px 12px;
  background: var(--jh-soft);
  border: 1px solid var(--jh-line);
  border-radius: 10px;
}

.jh-detail-wide,
.jh-detail-person {
  grid-column: span 2;
}

.jh-detail-collaboration {
  grid-column: span 3;
}

.jh-detail-item strong {
  display: block;
  color: var(--jh-text);
  font-size: 14.5px;
  font-style: italic;
  font-weight: 600;
  line-height: 1.15;
}

.jh-detail-item small {
  display: block;
  margin-top: 3px;
  color: var(--jh-muted);
  font-size: 15px;
  line-height: 1.2;
}

.jh-flag {
  font-size: 17px;
}

.jh-coeditors {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.jh-inline-links,
.jh-collaboration-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.jh-inline-links a,
.jh-collaboration-list > a,
.jh-collaboration-list > span {
  color: var(--jh-text) !important;
  text-decoration: none !important;
}

.jh-inline-links a {
  padding: 5px 8px;
  font-size: 11.5px;
  font-style: italic;
  font-weight: 600;
  background: #ffffff;
  border: 1px solid #e3d2db;
  border-radius: 999px;
}

.jh-collaboration-list > a,
.jh-collaboration-list > span {
  padding: 6px 9px;
  background: #ffffff;
  border: 1px solid #e3d2db;
  border-radius: 8px;
}

.jh-collaboration-list strong {
  font-size: 12px;
}

.jh-collaboration-list small {
  font-size: 15px;
}

.jh-inline-links a:hover,
.jh-collaboration-list > a:hover {
  color: var(--jh-wine) !important;
  border-color: #d3aabd;
}

.jh-oai-link {
  display: flex;
  align-items: center;
  gap: 8px;
  color: inherit !important;
  text-decoration: none !important;
}

.jh-oai-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 37px;
  width: 37px;
  height: 37px;
  color: #ffffff;
  font-size: 11px;
  font-style: italic;
  font-weight: 600;
  background: var(--jh-wine);
  border-radius: 9px;
}

.jh-modal-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 20px;
  color: var(--jh-muted);
  background: #fffafd;
  border-top: 1px solid var(--jh-line);
}

.jh-modal-footer a {
  padding: 6px 12px;
  color: var(--jh-wine) !important;
  font-weight: 300;
  text-decoration: none !important;
  border: 1px solid #dcbfce;
}

@media (max-width: 920px) {
  .jh-profile-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jh-profile-primary,
  .jh-profile-fact {
    border-right: 0;
    border-bottom: 1px solid var(--jh-line);
  }

  .jh-profile-primary,
  .jh-profile-fact:nth-child(3) {
    border-right: 1px solid var(--jh-line);
  }

  .jh-modal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jh-detail-collaboration {
    grid-column: span 2;
  }
}

@media (max-width: 600px) {
  .jh-profile {
    padding: 14px;
  }

  .jh-profile-strip {
    grid-template-columns: 1fr;
  }

  .jh-profile-primary,
  .jh-profile-fact,
  .jh-profile-action {
    min-height: 70px;
    border-right: 0 !important;
    border-bottom: 1px solid var(--jh-line);
  }

  .jh-profile-action {
    border-bottom: 0;
  }

  .jh-profile-primary strong {
    font-size: 15px;
  }

  .jh-modal {
    align-items: flex-end;
    padding: 8px;
  }

  .jh-modal-panel {
    width: 100%;
    max-height: 92vh;
    border-radius: 16px 16px 10px 10px;
  }

  .jh-modal-header {
    padding: 15px;
  }

  .jh-modal-grid {
    grid-template-columns: 1fr;
    padding: 12px 15px 16px;
  }

  .jh-detail-wide,
  .jh-detail-person,
  .jh-detail-collaboration {
    grid-column: span 1;
  }

  .jh-coeditors {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .jh-modal-footer {
    align-items: flex-start;
    flex-direction: column;
    padding: 12px 15px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jh-profile-button,
  .jh-profile-button svg,
  .jh-modal,
  .jh-modal-panel,
  .jh-modal-close {
    transition: none !important;
  }
}

/* ==========================================================================
   @JH-04H — EDITORIAL-PERSON LINKS AND HOMEPAGE DESCRIPTION TAIL
   Owner selectors: .jh-person; .jh-scopus-*; .jh-journal-description
   Scope status: HOMEPAGE / profile tail
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.jh-person {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.jh-flag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid #e4d3dc;
  border-radius: 50%;
  box-shadow: 0 2px 7px rgba(73, 20, 48, 0.1);
}

.jh-flag img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.jh-person-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.jh-person-info strong {
  display: block;
  color: #422f39;
  font-family: Perpetua, Georgia, serif;
  font-size: 14.5px;
  font-style: italic;
  font-weight: 600;
  line-height: 1.15;
}

.jh-person-info small {
  display: block;
  margin-top: 3px;
  color: #806d77;
  font-family: Perpetua, Georgia, serif;
  font-size: 12px;
  line-height: 1.2;
}

.jh-scopus-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: 6px;
  padding: 3px 8px 3px 4px;
  color: #704224 !important;
  font-size: 12px;
  font-weight: 300;
  line-height: 1;
  text-decoration: none !important;
  background: #fffaf6;
  border: 1px solid #edcdb7;
  border-radius: 999px;
  transition:
    color 0.2s ease,
    background-color 0.2s ease,
    border-color 0.2s ease;
}

.jh-scopus-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  color: #ffffff;
  font-family: Arial, sans-serif;
  font-size: 9px;
  font-style: normal;
  font-weight: 700;
  background: #e9711c;
  border-radius: 50%;
}

.jh-scopus-link:hover,
.jh-scopus-link:focus-visible {
  color: #71003d !important;
  background: #ffffff;
  border-color: #e9711c;
  outline: none;
}

.jh-journal-description {
  text-align: left;
  word-spacing: normal;
  letter-spacing: normal;
}

.container-homepage-issue .homepage-issue-description {
  position: relative;
  z-index: 1;
  background: transparent;
  border: 0;
}

/* ==========================================================================
   @JH-05A — ARTICLE REFERENCES
   Owner selectors: .article-details-references-*
   Scope status: ARTICLE PAGE / isolated area
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* ==========================================================================
   @JH-05 — 05 — ARTICLE AND ISSUE PAGES: REFERENCES, AUTHORS, METRICS, SDG OVERLAYS
   Maintenance anchor: search exactly for @JH-05
   ========================================================================== */

.article-details-references-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.8rem;
}

.article-details-references-header .article-details-heading {
  margin: 0;
}

.article-reference-counter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0.3rem 0.75rem;
  color: #850052;
  background: #fff3fa;
  border: 1px solid rgba(133, 0, 82, 0.2);
  border-radius: 999px;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.2;
  white-space: nowrap;
}

.article-details-references p {
  position: relative;
  margin: 0 0 0.3rem;
  padding-left: 2.35rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.article-details-references p:last-child {
  margin-bottom: 0;
}

.article-reference-number {
  position: absolute;
  top: 0;
  left: 0;
  width: 2rem;
  color: #0968ed;
  font-weight: 300;
}

/* [FIX 2026-07-27 | @JH-05A | Render IEEE journal/source titles semantically, without visible Markdown asterisks.] */
.article-details-references-value em {
  font-style: italic;
}

/* ==========================================================================
   @JH-05B — ARTICLE SUMMARY METADATA CARD
   Owner selectors: .jh-article-summary-card; .jh-article-meta-*
   Scope status: ARTICLE PAGE / isolated component
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.jh-article-summary-card {
  box-sizing: border-box;
  width: min(1080px, calc(100% - 28px));
  margin: 28px auto 0;
  padding: 24px clamp(16px, 3vw, 32px) 26px;
  text-align: center;
  background: linear-gradient(110deg, #ffffff 0%, #f7fcfa 56%, #fff7fc 100%);
  border: 1px solid rgba(23, 107, 77, 0.18);
  border-left: 4px solid #176b4d;
  border-radius: 0 20px 20px 0;
  box-shadow: 0 12px 30px rgba(41, 61, 52, 0.09);
}

.jh-article-meta-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  gap: 9px;
  margin: 0 auto 14px;
}

.jh-article-meta-item {
  display: flex;
  flex: 0 1 auto;
  min-width: 125px;
  min-height: 54px;
  padding: 8px 14px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #43353e;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(23, 107, 77, 0.14);
  border-radius: 13px;
  font-family: "Perpetua", Georgia, serif;
  line-height: 1.2;
  box-shadow: 0 3px 10px rgba(48, 58, 53, 0.045);
}

.jh-article-meta-item small {
  margin: 0 0 3px;
  color: #796670;
  font-size: 12px;
  font-style: italic;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.jh-article-meta-item strong {
  color: #3f3038;
  font-family: "Perpetua", Georgia, serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.25;
}

.jh-meta-open-access {
  flex-direction: row;
  gap: 9px;
  color: #176b4d;
  background: rgba(23, 107, 77, 0.07);
  border-color: rgba(23, 107, 77, 0.22);
}

.jh-meta-open-access .jh-meta-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}

.jh-meta-open-access strong {
  color: #176b4d;
  font-style: italic;
}

.jh-meta-icon,
.jh-author-heading-icon,
.jh-demographics-icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  color: #176b4d;
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(23, 107, 77, 0.17);
  border-radius: 50%;
}

.jh-meta-icon {
  width: 32px;
  height: 32px;
}

.jh-meta-icon svg,
.jh-author-heading-icon svg,
.jh-demographics-icon svg,
.jh-bio-button-icon svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.jh-meta-icon svg {
  width: 18px;
  height: 18px;
}

.jh-article-doi {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0 auto 20px;
  font-family: "Perpetua", Georgia, serif;
  font-size: 17px;
  line-height: 1.3;
}

.jh-article-doi img {
  display: block;
  flex: 0 0 auto;
}

.jh-article-doi a {
  color: #176b4d;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.jh-article-doi a:hover,
.jh-article-doi a:focus-visible {
  color: #850052;
  text-decoration: underline;
}

/* ==========================================================================
   @JH-05C — ARTICLE AUTHOR IDENTITIES, AFFILIATIONS, AND BIOGRAPHY MODAL
   Owner selectors: .jh-author-*; .jh-demographics-*
   Scope status: ARTICLE PAGE / isolated component
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.jh-author-section {
  padding-top: 20px;
  border-top: 1px solid rgba(23, 107, 77, 0.14);
}

.jh-author-heading,
.jh-demographics-heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.jh-author-heading {
  margin: 0 auto 5px;
}

.jh-author-heading-icon {
  width: 38px;
  height: 38px;
}

.jh-author-heading-icon svg {
  width: 20px;
  height: 20px;
}

.jh-author-heading-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}

.jh-author-heading-copy small {
  margin: 0 0 1px;
  color: #796670;
  font-family: "Perpetua", Georgia, serif;
  font-size: 12px;
  font-style: italic;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.jh-author-heading-copy strong,
.jh-demographics-heading strong {
  margin: 0;
  color: #176b4d;
  font-family: "Perpetua", Georgia, serif;
  font-size: 20px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.3;
  letter-spacing: 0.09em;
}

.jh-author-help {
  margin: 5px auto 15px;
  color: #796670;
  font-family: "Perpetua", Georgia, serif;
  font-size: 14px;
  font-style: italic;
  line-height: 1.4;
}

.jh-author-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 9px 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.jh-author-list-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  margin: 0;
  padding: 0;
}

.jh-author-name {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 7px 12px;
  color: #3e2d37;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(23, 107, 77, 0.16);
  border-radius: 999px;
  font-family: "Perpetua", Georgia, serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.025em;
  text-decoration: none;
  box-shadow: 0 3px 10px rgba(50, 42, 47, 0.05);
  transition:
    color 0.2s ease,
    background-color 0.2s ease,
    border-color 0.2s ease,
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

a.jh-author-name {
  cursor: pointer;
}

a.jh-author-name:hover,
a.jh-author-name:focus-visible {
  color: #850052;
  background: #fff7fc;
  border-color: rgba(133, 0, 82, 0.32);
  text-decoration: none;
  transform: translateY(-1px);
  box-shadow: 0 5px 14px rgba(87, 35, 67, 0.11);
}

a.jh-author-name:focus-visible,
.jh-bio-button:focus-visible,
.jh-article-doi a:focus-visible,
.jh-author-detail-orcid a:focus-visible {
  outline: 2px solid rgba(23, 107, 77, 0.48);
  outline-offset: 3px;
}

.jh-author-name-static {
  cursor: default;
}

.jh-author-name .author-symbol {
  position: static;
  margin: 0;
  color: #95617c;
  font-family: Arial, sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
}

.jh-author-orcid {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 27px;
  height: 27px;
  margin: 0;
  border-radius: 50%;
  transition: transform 0.2s ease;
}

.jh-author-orcid:hover,
.jh-author-orcid:focus-visible {
  transform: translateY(-1px) scale(1.04);
}

.jh-author-orcid img,
.jh-author-orcid svg {
  display: block;
  width: 27px;
  height: 27px;
}

.jh-author-demographics {
  margin: 20px auto 0;
  padding-top: 18px;
  border-top: 1px solid rgba(23, 107, 77, 0.13);
  text-align: center;
}

.jh-demographics-heading {
  margin: 0 0 13px;
}

.jh-demographics-icon {
  width: 34px;
  height: 34px;
}

.jh-demographics-icon svg {
  width: 18px;
  height: 18px;
}

.jh-country-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.jh-country-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 6px 11px;
  color: #43353e;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(133, 0, 82, 0.16);
  border-radius: 999px;
  font-family: "Perpetua", Georgia, serif;
  font-size: 16px;
  font-weight: 400;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.2;
  letter-spacing: 0.035em;
  box-shadow: 0 3px 9px rgba(80, 35, 65, 0.05);
}

.jh-country-chip .flag-icon {
  flex: 0 0 auto;
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
}

.jh-author-details {
  width: 100%;
  margin: 18px auto 0;
}

.jh-author-detail-card {
  box-sizing: border-box;
  width: min(820px, 100%);
  margin: 14px auto 0;
  padding: 18px clamp(14px, 3vw, 24px);
  text-align: center;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(133, 0, 82, 0.15);
  border-radius: 16px;
  box-shadow: 0 7px 20px rgba(67, 45, 58, 0.07);
}

.jh-author-detail-name {
  margin: 0 0 10px;
  color: #850052;
  font-family: "Perpetua", Georgia, serif;
  font-size: 20px;
  font-weight: 400;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.25;
  letter-spacing: 0.05em;
}

.jh-author-affiliation {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 9px;
  margin: 0 auto;
  color: #66515d;
  font-family: "Perpetua", Georgia, serif;
  font-size: 17px;
  line-height: 1.45;
}

.jh-affiliation-number {
  display: inline-flex;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  color: #176b4d;
  background: rgba(23, 107, 77, 0.08);
  border: 1px solid rgba(23, 107, 77, 0.18);
  border-radius: 50%;
  font-family: "Perpetua", Georgia, serif;
  font-size: 17px;
  font-weight: 300;
  line-height: 1;
}

.jh-affiliation-copy {
  max-width: 680px;
  text-align: left;
  font-family: "perpetua", Arial, sans-serif;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.3;
  letter-spacing: 0.09em;
  font-variant: unicase;
  font-style: italic;
}

.jh-author-ror {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
}

.jh-author-detail-orcid {
  margin: 10px auto 0;
}

.jh-author-detail-orcid a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: #176b4d;
  font-family: "Perpetua", Georgia, serif;
  font-size: 15px;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.jh-author-detail-orcid a:hover {
  color: #850052;
  text-decoration: underline;
}

.jh-author-detail-orcid svg,
.jh-author-detail-orcid img {
  width: 22px;
  height: 22px;
}

.jh-bio-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin: 14px auto 0;
  padding: 7px 15px;
  color: #850052;
  background: #fff;
  border: 1px solid rgba(133, 0, 82, 0.38);
  border-radius: 999px;
  font-family: "Perpetua", Georgia, serif;
  font-size: 14px;
  font-weight: 400;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.2;
  letter-spacing: 0.08em;
  cursor: pointer;
  transition:
    color 0.2s ease,
    background-color 0.2s ease,
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.jh-bio-button:hover {
  color: #fff;
  background: #850052;
  transform: translateY(-1px);
  box-shadow: 0 5px 14px rgba(133, 0, 82, 0.18);
}

.jh-bio-button-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.jh-bio-button-icon svg {
  width: 17px;
  height: 17px;
}

.jh-author-modal-dialog {
  max-width: 800px;
}

.jh-author-modal-content {
  border: 1px solid rgba(133, 0, 82, 0.22);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(45, 24, 38, 0.2);
}

.jh-author-modal-header {
  align-items: center;
  background: linear-gradient(100deg, #f7fcfa 0%, #fff4fb 100%);
  border-bottom: 1px solid rgba(23, 107, 77, 0.14);
}

.jh-author-modal-header .modal-title {
  color: #176b4d;
  font-family: "Perpetua", Georgia, serif;
  font-size: 22px;
  font-weight: 400;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.05em;
}

.jh-author-modal-body {
  color: #ffffff;
  font-family: "Perpetua", Georgia, serif;
  text-align: left;
  font-size: 18px;
  font-weight: 300;
}

@media (max-width: 767px) {
  .jh-article-summary-card {
    width: calc(100% - 18px);
    margin-top: 22px;
    padding: 20px 14px 22px;
    border-left-width: 3px;
    border-radius: 0 16px 16px 0;
  }

  .jh-article-meta-item {
    flex: 1 1 140px;
    min-width: 0;
  }

  .jh-meta-open-access {
    flex-basis: 100%;
  }

  .jh-author-heading-copy strong,
  .jh-demographics-heading strong {
    font-size: 18px;
    letter-spacing: 0.06em;
  }

  .jh-author-name {
    padding: 6px 10px;
    font-size: 16px;
  }

  .jh-author-affiliation {
    align-items: center;
    flex-direction: column;
  }

  .jh-affiliation-copy {
    text-align: center;
  }
}

@media (max-width: 430px) {
  .jh-author-heading,
  .jh-demographics-heading {
    flex-direction: column;
  }

  .jh-author-heading-copy {
    align-items: center;
    text-align: center;
  }

  .jh-author-list {
    flex-direction: column;
  }

  .jh-author-list-item {
    width: 100%;
  }

  .jh-author-name {
    max-width: calc(100% - 38px);
  }

  .jh-country-chip {
    font-size: 15px;
  }
}

/* ==========================================================================
   @JH-05D — ARTICLE SDG PANEL
   Owner selectors: .article-sdg-*
   Scope status: ARTICLE PAGE / isolated component
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.article-sdg-panel {
  box-sizing: border-box;
  width: min(100%, 980px);
  padding: 24px 26px;
  text-align: center;
  background: linear-gradient(115deg, #ffffff 0%, #f6fbf8 56%, #fff7fc 100%);
  border: 1px solid rgba(23, 107, 77, 0.17);
  border-left: 4px solid #176b4d;
  border-radius: 0 18px 18px 0;
  box-shadow: 0 10px 28px rgba(42, 59, 51, 0.08);
}

.article-sdg-header {
  max-width: 720px;
  margin: 0 auto 20px;
}

.article-sdg-kicker {
  display: block;
  margin: 0 0 3px;
  color: #7c6571;
  font-family: "Perpetua", Georgia, serif;
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.article-sdg-header h2 {
  margin: 0 0 6px;
  color: #176b4d;
  font-family: "Perpetua", Georgia, serif;
  font-size: 23px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.08em;
  line-height: 1.3;
}

.article-sdg-header p {
  margin: 0;
  color: #685861;
  font-family: "Perpetua", Georgia, serif;
  font-size: 16px;
  line-height: 1.45;
}

.article-sdg-list {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  gap: 13px;
}

.article-sdg-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #44353d;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(23, 107, 77, 0.14);
  text-decoration: none;
  border-radius: 6px;
  box-shadow: 0 4px 13px rgba(48, 55, 51, 0.06);
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease;
}

.article-sdg-card:hover,
.article-sdg-card:focus-visible {
  color: #850052;
  border-color: rgba(133, 0, 82, 0.3);
  text-decoration: none;
  transform: translateY(-3px);
  box-shadow: 0 8px 18px rgba(67, 43, 57, 0.12);
}

.article-sdg-card:focus-visible {
  outline: 2px solid rgba(23, 107, 77, 0.45);
  outline-offset: 3px;
}

.article-sdg-card img {
  display: block;
  width: 60px;
  height: 60px;
  object-fit: contain;
}

.article-sdg-name {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-top: 9px;
  font-family: "Perpetua", Georgia, serif;
  line-height: 1.25;
}

.article-sdg-name strong {
  color: #176b4d;
  font-size: 16px;
  font-weight: 600;
}

.article-sdg-name small {
  color: #67555f;
  font-size: 13px;
}

@media (max-width: 575px) {
  .article-sdg-panel {
    width: 100%;
    padding: 20px 15px;
    border-left-width: 3px;
    border-radius: 0 15px 15px 0;
  }

  .article-sdg-header h2 {
    font-size: 20px;
  }

  .article-sdg-list {
    gap: 9px;
  }

  .article-sdg-card {
    flex: 1 1 125px;
    max-width: 150px;
  }
}

/* ==========================================================================
   @JH-05E — ARTICLE SIDEBAR COVER AND KEYWORD CHIPS
   Owner selectors: .article-details-sidebar; .article-details-keyword
   Scope status: ARTICLE PAGE / targeted overrides
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.article-details-sidebar .article-sdg-panel,
.article-details-sidebar .jh-cover-below-sdg {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.article-details-sidebar .article-sdg-panel {
  margin-bottom: 22px;
}

.article-details-sidebar .jh-cover-below-sdg {
  margin-top: 0;
  margin-bottom: 22px;
  padding: 0;
  overflow: hidden;
  background: transparent;
  border: 0;
  border-radius: 0 0 18px 0;
  box-shadow: 0 10px 24px rgba(43, 46, 45, 0.08);
}

.article-details-sidebar .jh-cover-below-sdg img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0;
  object-fit: cover;
  border-radius: 0 0 18px 0;
}

.article-details-sidebar .jh-cover-below-sdg > a {
  display: block;
  width: 100%;
}

.article-details-keywords-value .article-details-keyword {
  position: relative;
  display: block;
  margin: 0;
  padding: 2px 0 2px 17px;
  color: #382d34;
  font-family: "Perpetua", Georgia, serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.article-details-keywords-value .article-details-keyword::before {
  content: "";
  position: absolute;
  top: 0.62em;
  left: 0;
  width: 6px;
  height: 6px;
  background: #176b4d;
  border-radius: 50%;
}

/* ==========================================================================
   @JH-05F — ARTICLE-SUMMARY SDG OVERLAYS
   Owner selectors: .article-summary-sdg-*
   Scope status: ARTICLE LISTING / isolated overlay
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.article-details-block {
  margin-bottom: 2rem;
}

.article-summary-cover-preview {
  position: relative;
}

.article-summary-cover-link {
  position: relative;
  display: block;
  overflow: hidden;
}

.article-summary-sdg-overlay {
  position: absolute;
  z-index: 4;
  top: 7px;
  left: 7px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  margin: 0;
  padding: 0;
  pointer-events: none;
}

.article-summary-sdg-icon {
  display: block;
  flex: 0 0 42px;
  width: 55px;
  height: 55px;
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.18));
}

.article-summary-sdg-icon img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  object-fit: contain;
}

.article-summary-sdg-overlay--compact {
  gap: 3px;
}

.article-summary-sdg-overlay--compact .article-summary-sdg-icon {
  flex-basis: 34px;
  width: 34px;
  height: 34px;
}

.article-summary-sdg-overlay--grid {
  display: grid;
  grid-template-columns: repeat(2, 34px);
  align-items: start;
  gap: 3px;
}

.article-summary-preview-label {
  z-index: 5;
}

@media (max-width: 575px) {
  .article-summary-sdg-overlay {
    top: 5px;
    left: 5px;
    gap: 3px;
  }

  .article-summary-sdg-icon {
    flex-basis: 36px;
    width: 36px;
    height: 36px;
  }

  .article-summary-sdg-overlay--compact .article-summary-sdg-icon {
    flex-basis: 31px;
    width: 31px;
    height: 31px;
  }

  .article-summary-sdg-overlay--grid {
    grid-template-columns: repeat(2, 31px);
  }
}

/* ==========================================================================
   @JH-05G — ARTICLE METRIC BADGES
   Owner selectors: .summary-metric-icon-*
   Scope status: ARTICLE LISTING / metric component
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.article-summary-metric {
  display: flex;
  align-items: center;
  gap: 8px;
}

.summary-metric-icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.summary-metric-icon--id {
  width: 22px;
  height: 22px;
  border-radius: 50%;
}

.summary-metric-icon--id,
.summary-metric-icon--doi {
  display: inline-flex;
  flex: 0 0 22px;
  width: 22px;
  min-width: 22px;
  height: 22px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  border-radius: 50%;
  overflow: hidden;
}

.summary-metric-icon--id {
  background-color: #176b4d;
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
}

.summary-metric-icon--doi {
  border: 1px solid #d5d5d5;
  background-color: #fff;
}

.summary-metric-icon--doi .summary-doi-logo {
  display: block;
  width: 17px;
  height: 17px;
  max-width: none;
  max-height: none;
  object-fit: contain;
}

/* ==========================================================================
   @JH-05H — INSTITUTION AND EDITORIAL OVERVIEW
   Owner selectors: .jhi-*
   Scope status: ARTICLE/HOMEPAGE / isolated component
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.jhi-kicker {
  flex-wrap: wrap;
}

.jhi-new-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: 4px;
  padding: 5px 10px;
  border: 1px solid rgba(255, 255, 255, 0.26);
  border-radius: 999px;
  background: var(--jhi-gold);
  color: #332300;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.065em;
  font-variant: unicase;
  font-variant-caps: unicase;
  font-style: italic;
  box-shadow: 0 7px 18px rgba(0, 0, 0, 0.17);
}

.jhi-new-spark {
  font-family: Arial, sans-serif;
  font-size: 14px;
  font-style: normal;
}

.jhi-generated-overview {
  padding: 21px 23px;
  border: 1px solid #eadfea;
  border-radius: 13px;
  background: linear-gradient(135deg, rgba(92, 20, 84, 0.045), rgba(232, 184, 62, 0.075)), #ffffff;
}

.jhi-overview-summary {
  margin: 0 !important;
  color: #493f49;
  font-size: 20px;
  line-height: 1.72;
  letter-spacing: 0.018em;
}

.jhi-overview-summary strong {
  color: var(--jhi-plum);
  font-size: 1.08em;
  font-weight: 600;
}

.jhi-institution-overview {
  margin: 18px 0 0 !important;
  padding-top: 17px;
  border-top: 1px solid #e4d7e2;
  color: #5e535e;
  font-size: 18px;
  line-height: 1.7;
}

.jhi-overview-label {
  display: block;
  margin-bottom: 8px;
  color: var(--jhi-wine);
  font-size: 17px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.075em;
  font-variant: unicase;
  font-variant-caps: unicase;
  font-style: italic;
}

.jhi-institution-list strong {
  color: var(--jhi-ink);
  font-weight: 500;
}

.jhi-editorial-description {
  margin-top: 24px;
  padding-top: 23px;
  border-top: 1px solid var(--jhi-line);
}

@media (max-width: 680px) {
  .jhi-generated-overview {
    padding: 18px;
  }

  .jhi-overview-summary {
    font-size: 19px;
  }

  .jhi-institution-overview {
    font-size: 18px;
  }
}

.jhi-institution-country {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-left: 3px;
  color: var(--jhi-muted);
  font-style: italic;
  white-space: nowrap;
  vertical-align: middle;
}

.jhi-country-flag {
  display: inline-block;
  width: 22px;
  height: 15px;
  flex: 0 0 22px;
  border: 1px solid rgba(0, 0, 0, 0.14);
  border-radius: 2px;
  object-fit: cover;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
  vertical-align: middle;
}

@media (max-width: 680px) {
  .jhi-country-flag {
    width: 20px;
    height: 14px;
    flex-basis: 20px;
  }
}

/* ==========================================================================
   @JH-05I — ARTICLE METRIC SPACING TAIL
   Owner selectors: .article-summary-metrics; .article-summary-metric
   Scope status: ARTICLE LISTING / targeted tail
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.article-summary-metrics {
  gap: 2px !important;
  row-gap: 2px !important;
  line-height: 1.25 !important;
}

.article-summary-metric {
  min-height: 24px;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  line-height: 1.25 !important;
}

.article-summary-metric + .article-summary-metric {
  margin-top: 1px !important;
}

/* ==========================================================================
   @JH-06A — GLOBAL FOOTER
   Owner selectors: .jhft-*
   Scope status: GLOBAL FOOTER / isolated component
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* ==========================================================================
   @JH-06 — 06 — GLOBAL FOOTER AND JOURNAL LINK COMPONENTS
   Maintenance anchor: search exactly for @JH-06
   ========================================================================== */

.jhft,
.jhft *,
.jhft *::before,
.jhft *::after {
  box-sizing: border-box;
}

.jhft {
  --jhft-bg: #24131f;
  --jhft-bg-soft: #2e1929;
  --jhft-wine: #a52d68;
  --jhft-blue: #4e86b2;
  --jhft-gold: #d6a23a;
  --jhft-text: #f8f2f5;
  --jhft-muted: #cdbfc7;
  --jhft-line: rgba(255, 255, 255, 0.13);
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: radial-gradient(circle at 94% 0%, rgba(78, 134, 178, 0.16), transparent 30%), radial-gradient(circle at 0% 100%, rgba(165, 45, 104, 0.18), transparent 34%), linear-gradient(145deg, var(--jhft-bg), #1d101a);
  color: var(--jhft-text);
  font-family: "Perpetua", Georgia, serif;
}

.jhft__accent {
  height: 4px;
  background: linear-gradient(90deg, var(--jhft-wine), var(--jhft-blue), var(--jhft-gold));
}

.jhft__inner {
  width: min(100%, 1320px);
  margin: 0 auto;
  padding: clamp(30px, 4vw, 52px) clamp(18px, 3vw, 34px) 24px;
}

.jhft a {
  color: inherit;
  text-decoration: none;
}

.jhft a:hover,
.jhft a:focus-visible {
  color: #ffffff;
}

.jhft__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(280px, 0.8fr);
  gap: 28px;
  align-items: end;
  padding-bottom: 26px;
  border-bottom: 1px solid var(--jhft-line);
}

.jhft__eyebrow {
  display: block;
  margin: 0 0 6px;
  color: #8fb6d4;
  font-size: 14px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.1em;
}

.jhft__name {
  max-width: 850px;
  margin: 0;
  color: #ffffff;
  font-family: "Perpetua", Georgia, serif;
  font-size: clamp(27px, 3vw, 39px);
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.12;
  letter-spacing: 0.05em;
}

.jhft__summary {
  max-width: 850px;
  margin: 10px 0 0;
  color: var(--jhft-muted);
  font-size: 17px;
  font-style: italic;
  line-height: 1.5;
}

.jhft__facts {
  display: grid;
  gap: 7px;
}

.jhft__fact {
  display: grid;
  grid-template-columns: 94px minmax(0, 1fr);
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid var(--jhft-line);
  color: var(--jhft-muted);
  font-size: 15.5px;
  line-height: 1.3;
}

.jhft__fact strong {
  color: #ffffff;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.045em;
}

.jhft__fact a {
  color: #a9cae2;
}

.jhft__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(18px, 2.5vw, 34px);
  padding: 28px 0;
  border-bottom: 1px solid var(--jhft-line);
}

.jhft__group {
  min-width: 0;
}

.jhft__heading {
  position: relative;
  margin: 0 0 14px;
  padding: 0 0 10px;
  color: #ffffff;
  font-size: 20px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.1;
  letter-spacing: 0.065em;
}

.jhft__heading::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 36px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--jhft-blue), var(--jhft-wine));
}

.jhft__links {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.jhft__links li {
  margin: 0;
  padding: 0;
}

.jhft__links a {
  position: relative;
  display: inline-block;
  padding-left: 14px;
  color: var(--jhft-muted);
  font-size: 16.5px;
  font-style: italic;
  line-height: 1.3;
  transition:
    color 0.18s ease,
    transform 0.18s ease;
}

.jhft__links a::before {
  content: "›";
  position: absolute;
  top: 0;
  left: 0;
  color: #79a7ca;
}

.jhft__links a:hover,
.jhft__links a:focus-visible {
  color: #ffffff;
  transform: translateX(2px);
}

.jhft__separator {
  height: 1px;
  margin: 4px 0 !important;
  background: var(--jhft-line);
}

.jhft__download {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 15px;
  padding: 9px 11px;
  border: 1px solid rgba(143, 182, 212, 0.34);
  border-radius: 8px;
  background: rgba(78, 134, 178, 0.09);
  color: #d8e8f4 !important;
  font-size: 15.5px;
  font-style: italic;
  line-height: 1.2;
}

.jhft__download:hover,
.jhft__download:focus-visible {
  border-color: #8fb6d4;
  background: rgba(78, 134, 178, 0.17);
}

.jhft__contact {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 15px;
}

.jhft__contact a,
.jhft__bottom-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 7px 12px;
  border: 1px solid var(--jhft-line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.05);
  color: #ffffff;
  font-size: 15px;
  font-style: italic;
}

.jhft__contact a:hover,
.jhft__contact a:focus-visible,
.jhft__bottom-links a:hover,
.jhft__bottom-links a:focus-visible {
  border-color: #8fb6d4;
  background: rgba(78, 134, 178, 0.14);
}

.jhft__quality {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(360px, 1fr) minmax(220px, 0.65fr);
  gap: 20px;
  align-items: center;
  padding: 25px 0;
  border-bottom: 1px solid var(--jhft-line);
}

.jhft__quality-copy h3,
.jhft__section-title h3,
.jhft__publisher h3 {
  margin: 0;
  color: #ffffff;
  font-size: 22px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.18;
  letter-spacing: 0.05em;
}

.jhft__quality-copy p,
.jhft__publisher p {
  margin: 10px 0 0;
  color: var(--jhft-muted);
  font-size: 16px;
  font-style: italic;
  line-height: 1.45;
}

.jhft__checks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 13px 0 0;
  padding: 0;
  list-style: none;
}

.jhft__checks li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border: 1px solid var(--jhft-line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.045);
  color: #ede3e8;
  font-size: 14.5px;
  font-style: italic;
  line-height: 1.1;
}

.jhft__checks li::before {
  content: "✓";
  color: #8fb6d4;
  font-family: Arial, sans-serif;
  font-size: 12px;
}

.jhft__quality-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.jhft__quality-links a,
.jhft__text-cards a,
.jhft__partner-links a {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid var(--jhft-line);
  border-radius: 10px;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.025));
  transition:
    transform 0.18s ease,
    border-color 0.18s ease,
    background 0.18s ease;
}

.jhft__quality-links a:hover,
.jhft__quality-links a:focus-visible,
.jhft__text-cards a:hover,
.jhft__text-cards a:focus-visible,
.jhft__partner-links a:hover,
.jhft__partner-links a:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(143, 182, 212, 0.55);
  background: rgba(78, 134, 178, 0.12);
}

.jhft__quality-links span,
.jhft__text-cards span,
.jhft__partner-links span {
  color: #8fb6d4;
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.065em;
}

.jhft__quality-links strong,
.jhft__text-cards strong,
.jhft__partner-links strong {
  margin-top: 5px;
  color: #ffffff;
  font-size: 17px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.2;
}

.jhft__text-cards small {
  margin-top: 6px;
  color: var(--jhft-muted);
  font-size: 14px;
  font-style: italic;
  line-height: 1.3;
}

.jhft__fee {
  display: flex;
  flex-direction: column;
  padding: 16px;
  border: 1px solid rgba(214, 162, 58, 0.3);
  border-radius: 11px;
  background: linear-gradient(145deg, rgba(214, 162, 58, 0.1), rgba(255, 255, 255, 0.035));
}

.jhft__fee-label {
  color: #e3c881;
  font-size: 20px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.06em;
}

.jhft__fee strong {
  margin-top: 3px;
  color: #ffffff;
  font-size: 25px;
  font-weight: 300;
  font-style: italic;
}

.jhft__fee span:not(.jhft__fee-label) {
  margin-top: 5px;
  color: var(--jhft-muted);
  font-size: 14px;
  font-style: italic;
  line-height: 1.3;
}

.jhft__fee a {
  margin-top: 10px;
  color: #f1d893;
  font-size: 14.5px;
  font-style: italic;
}

.jhft__text-network {
  padding: 25px 0;
  border-bottom: 1px solid var(--jhft-line);
}

.jhft__section-title {
  margin-bottom: 15px;
}

.jhft__text-cards {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 9px;
}

.jhft__publisher {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(480px, 1fr);
  gap: 28px;
  align-items: center;
  padding: 25px 0;
  border-bottom: 1px solid var(--jhft-line);
}

.jhft__publisher h3 a {
  color: #a9cae2;
}

.jhft__partner-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.jhft__bottom {
  display: grid;
  grid-template-columns: minmax(260px, 0.9fr) minmax(0, 1.5fr) auto;
  gap: 24px;
  align-items: center;
  padding-top: 22px;
}

.jhft__license {
  display: flex;
  align-items: center;
  gap: 11px;
}

.jhft__license-mark {
  display: inline-flex;
  flex: 0 0 44px;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 32px;
  border: 1px solid rgba(143, 182, 212, 0.42);
  border-radius: 7px;
  background: rgba(78, 134, 178, 0.1);
  color: #d8e8f4;
  font-size: 15px;
  font-style: italic;
  letter-spacing: 0.06em;
}

.jhft__license p {
  margin: 0;
  color: var(--jhft-muted);
  font-size: 14.5px;
  font-style: italic;
  line-height: 1.35;
}

.jhft__license a {
  color: #a9cae2;
}

.jhft__address {
  margin: 0;
  color: var(--jhft-muted);
  font-size: 14.5px;
  font-style: italic;
  line-height: 1.45;
}

.jhft__address strong {
  display: block;
  margin-bottom: 3px;
  color: #ffffff;
  font-weight: 300;
  font-variant: unicase;
  letter-spacing: 0.05em;
}

.jhft__bottom-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
}

.site-footer .jhft,
.site-footer-content .jhft {
  width: 100vw;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
}

.site-footer-content:has(> .jhft) {
  max-width: none !important;
  padding: 0 !important;
}

@media (max-width: 1080px) {
  .jhft__quality {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 1fr);
  }

  .jhft__fee {
    grid-column: 1 / -1;
  }

  .jhft__text-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .jhft__publisher {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 980px) {
  .jhft__intro {
    grid-template-columns: 1fr;
  }

  .jhft__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhft__bottom {
    grid-template-columns: 1fr 1fr;
  }

  .jhft__bottom-links {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

@media (max-width: 680px) {
  .jhft__inner {
    padding: 27px 15px 20px;
  }

  .jhft__grid {
    grid-template-columns: 1fr;
    gap: 23px;
  }

  .jhft__quality {
    grid-template-columns: 1fr;
  }

  .jhft__quality-links {
    grid-template-columns: 1fr;
  }

  .jhft__text-cards {
    grid-template-columns: 1fr;
  }

  .jhft__partner-links {
    grid-template-columns: 1fr;
  }

  .jhft__bottom {
    grid-template-columns: 1fr;
  }

  .jhft__license {
    align-items: flex-start;
  }

  .jhft__bottom-links {
    grid-column: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhft a {
    transition: none !important;
  }

  .jhft__quality-links a:hover,
  .jhft__text-cards a:hover,
  .jhft__partner-links a:hover {
    transform: none !important;
  }
}

/* ==========================================================================
   @JH-06B — JOURNAL IDENTIFIER LINKS
   Owner selectors: .jhytel-journal-link-*
   Scope status: GLOBAL / isolated component
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.jhytel-journal-links {
  display: grid;
  grid-template-columns: 1.22fr 1fr 1fr;
  width: 100%;
  margin-top: 12px;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid #ded2d8;
  border-radius: 9px;
  box-shadow:
    0 5px 15px rgba(67, 38, 52, 0.07),
    0 1px 2px rgba(67, 38, 52, 0.04);
}

.jhytel-journal-link {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  min-height: 50px !important;
  padding: 7px 10px !important;
  color: #40333a;
  text-decoration: none !important;
  background: linear-gradient(135deg, #ffffff 0%, #fdfafb 100%);
  border: 0;
  border-right: 1px solid #e7dde2;
  transition:
    background 180ms ease,
    box-shadow 180ms ease,
    color 180ms ease;
}

.jhytel-journal-link:last-child {
  border-right: 0;
}

.jhytel-journal-link:hover,
.jhytel-journal-link:focus-visible {
  color: #6e123f;
  text-decoration: none !important;
  background: linear-gradient(135deg, #fffafb 0%, #f8eef3 100%);
}

.jhytel-journal-link:focus-visible {
  z-index: 3;
  outline: 2px solid rgba(113, 17, 64, 0.28);
  outline-offset: -2px;
}

.jhytel-journal-link--current {
  color: #ffffff;
  background: radial-gradient(circle at 12% 20%, rgba(255, 255, 255, 0.13), transparent 32%), linear-gradient(135deg, #721242 0%, #86184f 52%, #67103b 100%);
}

.jhytel-journal-link--current:hover,
.jhytel-journal-link--current:focus-visible {
  color: #ffffff;
  background: radial-gradient(circle at 12% 20%, rgba(255, 255, 255, 0.17), transparent 34%), linear-gradient(135deg, #7d174a 0%, #931e59 52%, #711443 100%);
}

.jhytel-journal-link-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  color: #761744;
  background: #f8edf2;
  border: 1px solid #ead5df;
  border-radius: 50%;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.8),
    0 2px 6px rgba(91, 35, 61, 0.07);
  transition:
    transform 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease;
}

.jhytel-journal-link-icon svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.jhytel-journal-link--issn .jhytel-journal-link-icon {
  color: #276754;
  background: #edf7f3;
  border-color: #d5e8e0;
}

.jhytel-journal-link--doi .jhytel-journal-link-icon {
  color: #6e1745;
  background: #f8edf3;
  border-color: #ead5df;
}

.jhytel-journal-link--current .jhytel-journal-link-icon {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.13);
  border-color: rgba(255, 255, 255, 0.24);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.14),
    0 2px 7px rgba(55, 5, 30, 0.14);
}

.jhytel-journal-link:hover .jhytel-journal-link-icon {
  transform: translateY(-1px) scale(1.04);
}

.jhytel-journal-link-content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  justify-content: center;
  gap: 1px;
  min-width: 0;
}

.jhytel-journal-link-label {
  display: block;
  overflow: hidden;
  color: #8b7881;
  font-family: "Perpetua", Georgia, serif;
  font-weight: 300;
  line-height: 1.05;
  letter-spacing: 0.045em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.jhytel-journal-link-value {
  display: block;
  overflow: hidden;
  color: #3b2d34;
  font-family: "Perpetua", Georgia, serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.08;
  letter-spacing: 0.015em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.jhytel-journal-link--current .jhytel-journal-link-label {
  color: rgba(255, 255, 255, 0.76);
}

.jhytel-journal-link--current .jhytel-journal-link-value {
  color: #ffffff;
}

.jhytel-journal-link-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 17px;
  width: 17px;
  height: 17px;
  color: #9b7b89;
  opacity: 0.72;
  transition:
    transform 180ms ease,
    opacity 180ms ease,
    color 180ms ease;
}

.jhytel-journal-link-arrow svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.jhytel-journal-link--current .jhytel-journal-link-arrow {
  color: #ffffff;
}

.jhytel-journal-link:hover .jhytel-journal-link-arrow {
  color: #751642;
  opacity: 1;
  transform: translateX(2px);
}

.jhytel-journal-link--issn:hover .jhytel-journal-link-arrow,
.jhytel-journal-link--doi:hover .jhytel-journal-link-arrow {
  transform: translate(2px, -2px);
}

.jhytel-journal-link--current:hover .jhytel-journal-link-arrow {
  color: #ffffff;
}

.jhytel-journal-link:not(.jhytel-journal-link--current)::before {
  content: "";
  position: absolute;
  right: 10px;
  bottom: 0;
  left: 10px;
  height: 2px;
  background: #781747;
  border-radius: 2px 2px 0 0;
  opacity: 0;
  transform: scaleX(0.35);
  transform-origin: center;
  transition:
    opacity 180ms ease,
    transform 180ms ease;
}

.jhytel-journal-link--issn::before {
  background: #286b58 !important;
}

.jhytel-journal-link:hover::before,
.jhytel-journal-link:focus-visible::before {
  opacity: 1;
  transform: scaleX(1);
}

@media (max-width: 991.98px) {
  .jhytel-journal-link {
    gap: 6px;
    padding: 6px 8px !important;
  }

  .jhytel-journal-link-icon {
    flex-basis: 27px;
    width: 27px;
    height: 27px;
  }

  .jhytel-journal-link-icon svg {
    width: 14px;
    height: 14px;
  }

  .jhytel-journal-link-label {
    font-size: 18px;
    font-variant: unicase;
  }

  .jhytel-journal-link-value {
    font-size: 13px;
  }

  .jhytel-journal-link-arrow {
    display: none;
  }
}

@media (max-width: 575.98px) {
  .jhytel-journal-links {
    grid-template-columns: 1fr;
  }

  .jhytel-journal-link {
    min-height: 48px !important;
    border-right: 0;
    border-bottom: 1px solid #e7dde2;
  }

  .jhytel-journal-link:last-child {
    border-bottom: 0;
  }

  .jhytel-journal-link-arrow {
    display: inline-flex;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhytel-journal-link,
  .jhytel-journal-link-icon,
  .jhytel-journal-link-arrow,
  .jhytel-journal-link::before {
    transition: none;
  }
}

/* ==========================================================================
   @JH-07 — AIMS AND SCOPE CUSTOM PAGE
   Owner selectors: .jhascope
   Scope status: CUSTOM PAGE / isolated namespace
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* ==========================================================================
   @JH-07 — 07 — CUSTOM PAGE: AIMS AND SCOPE (.jhascope)
   Maintenance anchor: search exactly for @JH-07
   ========================================================================== */

.jhascope-community,
.jhascope-community *,
.jhascope-community *::before,
.jhascope-community *::after {
  box-sizing: border-box;
}

.jhascope-community {
  position: relative;
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) minmax(230px, 0.55fr);
  gap: 17px;
  align-items: center;
  margin-top: 11px;
  padding: 17px 18px;
  overflow: hidden;
  border: 1px solid #d8e4ec;
  border-left: 3px solid #2f6592;
  border-radius: 12px;
  background: radial-gradient(circle at 100% 0, rgba(97, 12, 58, 0.06), transparent 36%), linear-gradient(110deg, #eef6fb, #ffffff 62%);
}

.jhascope-community::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 58px;
  height: 58px;
  border-radius: 0 0 0 100%;
  background: rgba(47, 101, 146, 0.045);
  pointer-events: none;
}

.jhascope-community__mark {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 14px;
  background: linear-gradient(145deg, #2f6592, #204866);
  color: #ffffff;
  font-family: "Perpetua", Georgia, serif;
  font-size: 28px;
  font-style: italic;
  box-shadow: 0 8px 17px rgba(47, 101, 146, 0.17);
}

.jhascope-community__label {
  display: block;
  margin-bottom: 3px;
  color: #2f6592;
  font-family: "Perpetua", Georgia, serif;
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.075em;
}

.jhascope-community h3 {
  margin: 0 0 6px !important;
  color: #610c3a !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 21px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.16 !important;
  letter-spacing: 0.045em !important;
  text-transform: none !important;
}

.jhascope-community p {
  margin: 0 !important;
  color: #4d4248 !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 15.5px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhascope-community__principle {
  padding: 12px 13px;
  border: 1px solid #e4d8de;
  border-left: 3px solid #610c3a;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.82);
}

.jhascope-community__principle strong {
  display: block;
  margin-bottom: 4px;
  color: #610c3a;
  font-family: "Perpetua", Georgia, serif;
  font-size: 14px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.055em;
}

@media (max-width: 820px) {
  .jhascope-community {
    grid-template-columns: 60px minmax(0, 1fr);
  }

  .jhascope-community__principle {
    grid-column: 2;
  }
}

@media (max-width: 560px) {
  .jhascope-community {
    grid-template-columns: 1fr;
    padding: 15px;
  }

  .jhascope-community__mark {
    width: 50px;
    height: 50px;
    font-size: 24px;
  }

  .jhascope-community__principle {
    grid-column: auto;
  }
}

.jhascope,
.jhascope *,
.jhascope *::before,
.jhascope *::after {
  box-sizing: border-box;
}

.jhascope {
  --jhascope-wine: #610c3a;
  --jhascope-wine-soft: #8f153d;
  --jhascope-blue: #2f6592;
  --jhascope-blue-dark: #204866;
  --jhascope-blue-soft: #eef6fb;
  --jhascope-gold: #e0aa35;
  --jhascope-ink: #2f272c;
  --jhascope-text: #4d4248;
  --jhascope-muted: #766a70;
  --jhascope-line: #e5d9e0;
  --jhascope-paper: #fffdfc;
  --jhascope-soft: #faf7f9;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  color: var(--jhascope-text);
  font-family: "Perpetua", Georgia, serif;
  font-size: 17px;
  line-height: 1.55;
}

.jhascope a {
  color: inherit;
  text-decoration: none;
}

.jhascope h2,
.jhascope h3,
.jhascope p {
  text-wrap: pretty;
}

.jhascope-kicker {
  display: block;
  margin: 0 0 6px;
  color: var(--jhascope-blue);
  font-size: 14px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.095em;
}

.jhascope-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(270px, 0.75fr);
  gap: clamp(22px, 4vw, 48px);
  align-items: end;
  margin: 0 0 14px;
  padding: clamp(23px, 4vw, 38px);
  overflow: hidden;
  border: 1px solid var(--jhascope-line);
  border-radius: 16px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.11), transparent 34%), radial-gradient(circle at 0% 100%, rgba(143, 21, 61, 0.08), transparent 33%), linear-gradient(145deg, #ffffff, var(--jhascope-paper));
  box-shadow:
    0 16px 38px rgba(53, 18, 47, 0.075),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.jhascope-hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhascope-wine), var(--jhascope-blue), var(--jhascope-gold));
}

.jhascope-hero__copy {
  min-width: 0;
}

.jhascope-hero h2 {
  max-width: 820px;
  margin: 0 !important;
  color: var(--jhascope-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: clamp(28px, 3.5vw, 43px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.12 !important;
  letter-spacing: 0.052em !important;
  text-transform: none !important;
}

.jhascope-hero__lead {
  max-width: 900px;
  margin: 14px 0 0 !important;
  color: var(--jhascope-text) !important;
  font-size: 18px !important;
  font-style: italic;
  line-height: 1.55 !important;
  text-align: left !important;
}

.jhascope-identity {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.jhascope-identity__item {
  display: grid;
  grid-template-columns: 94px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 9px 0;
  border-bottom: 1px solid var(--jhascope-line);
}

.jhascope-identity__item span {
  color: var(--jhascope-muted);
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.04em;
}

.jhascope-identity__item strong {
  color: var(--jhascope-wine);
  font-size: 16px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.2;
}

a.jhascope-identity__item:hover strong,
a.jhascope-identity__item:focus-visible strong {
  color: var(--jhascope-blue);
}

.jhascope-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 22px;
  padding: 0;
}

.jhascope-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 37px;
  padding: 7px 13px;
  border: 1px solid #d8e4ec;
  border-radius: 999px;
  background: #ffffff;
  color: var(--jhascope-blue);
  font-size: 15px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.045em;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.jhascope-nav a:hover,
.jhascope-nav a:focus-visible {
  border-color: var(--jhascope-blue);
  background: var(--jhascope-blue);
  color: #ffffff;
  transform: translateY(-1px);
}

.jhascope-overview,
.jhascope-manuscripts,
.jhascope-areas {
  margin: 0 0 24px;
}

.jhascope-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.65fr);
  gap: 22px;
  align-items: end;
  margin-bottom: 14px;
  padding: 0 2px 12px;
  border-bottom: 1px solid var(--jhascope-line);
}

.jhascope-section-heading h2 {
  margin: 0 !important;
  color: var(--jhascope-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhascope-section-heading > p {
  margin: 0 !important;
  color: var(--jhascope-muted) !important;
  font-size: 16px !important;
  font-style: italic;
  line-height: 1.4 !important;
  text-align: left !important;
}

.jhascope-pillars {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.jhascope-pillar {
  position: relative;
  min-width: 0;
  padding: 18px 17px 17px;
  overflow: hidden;
  border: 1px solid var(--jhascope-line);
  border-radius: 13px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow:
    0 7px 17px rgba(53, 18, 47, 0.04),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

.jhascope-pillar::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--jhascope-wine);
}

.jhascope-pillar--blue::before {
  background: var(--jhascope-blue);
}

.jhascope-pillar--gold::before {
  background: var(--jhascope-gold);
}

.jhascope-pillar__number {
  display: block;
  margin-bottom: 8px;
  color: var(--jhascope-blue);
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhascope-pillar h3 {
  margin: 0 !important;
  color: var(--jhascope-wine) !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  letter-spacing: 0.045em !important;
  text-transform: none !important;
}

.jhascope-pillar p {
  margin: 9px 0 0 !important;
  color: var(--jhascope-text) !important;
  font-size: 15.5px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhascope-narrative {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.jhascope-text-card {
  min-width: 0;
  height: 100%;
  align-items: start;
  padding: 16px;
  border: 1px solid var(--jhascope-line);
  border-radius: 12px;
  background: var(--jhascope-soft);
}

.jhascope-text-card__label {
  display: block;
  margin-bottom: 7px;
  color: var(--jhascope-blue);
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.065em;
}

.jhascope-text-card p {
  margin: 0 !important;
  color: var(--jhascope-text) !important;
  font-size: 15.5px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhascope-sdg {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  margin-top: 11px;
  padding: 16px 18px;
  border: 1px solid #d7e4ed;
  border-left: 3px solid var(--jhascope-blue);
  border-radius: 12px;
  background: linear-gradient(110deg, var(--jhascope-blue-soft), #ffffff 62%);
}

.jhascope-sdg__mark {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 12px;
  background: linear-gradient(145deg, var(--jhascope-blue), var(--jhascope-blue-dark));
  color: #ffffff;
  font-size: 22px;
  font-style: italic;
  box-shadow: 0 7px 15px rgba(47, 101, 146, 0.16);
}

.jhascope-sdg__label {
  color: var(--jhascope-blue);
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.075em;
}

.jhascope-sdg h3 {
  margin: 3px 0 5px !important;
  color: var(--jhascope-wine) !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
}

.jhascope-sdg p {
  margin: 0 !important;
  color: var(--jhascope-text) !important;
  font-size: 15.5px !important;
  line-height: 1.42 !important;
  text-align: left !important;
}

.jhascope-sdg a {
  color: var(--jhascope-blue);
  font-weight: 600;
}

.jhascope-types {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.jhascope-types li {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 132px;
  padding: 15px;
  border: 1px solid var(--jhascope-line);
  border-radius: 11px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhascope-types li::after {
  content: "";
  position: absolute;
  right: 13px;
  bottom: 12px;
  width: 24px;
  height: 1px;
  background: var(--jhascope-gold);
}

.jhascope-types li > span {
  color: var(--jhascope-blue);
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhascope-types strong {
  margin-top: auto;
  padding-top: 18px;
  color: var(--jhascope-wine);
  font-size: 16.5px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.25;
  text-align: left;
}

.jhascope-expectation {
  --jhascope-expect-accent: #a87818;
  --jhascope-expect-line: #eadfbf;
  --jhascope-expect-soft: #fffaf0;
  position: relative;
  margin-top: 10px;
  padding: 16px 17px 17px;
  overflow: hidden;
  border: 1px solid var(--jhascope-expect-line);
  border-left: 3px solid var(--jhascope-expect-accent);
  border-radius: 11px;
  background: radial-gradient(circle at 100% 0, color-mix(in srgb, var(--jhascope-expect-accent) 8%, transparent), transparent 34%), linear-gradient(110deg, var(--jhascope-expect-soft), #ffffff 64%);
}

.jhascope-expectation--boundary {
  --jhascope-expect-accent: var(--jhascope-blue);
  --jhascope-expect-line: #d3e1eb;
  --jhascope-expect-soft: #f3f8fc;
}

.jhascope-expectation__head {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 11px;
}

.jhascope-expectation__head::before {
  content: "";
  flex: 0 0 24px;
  width: 24px;
  height: 1px;
  background: var(--jhascope-expect-accent);
}

.jhascope-expectation__label {
  color: var(--jhascope-expect-accent);
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.15;
  letter-spacing: 0.07em;
}

.jhascope-expectation__content {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
  align-items: stretch;
}

.jhascope-expectation p {
  margin: 0 !important;
  color: var(--jhascope-text) !important;
  font-size: 15.5px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhascope-expectation__note {
  padding: 12px 13px;
  border: 1px solid var(--jhascope-expect-line);
  border-left: 3px solid var(--jhascope-expect-accent);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.76);
}

.jhascope-expectation__note strong {
  color: var(--jhascope-expect-accent);
  font-weight: 600;
}

.jhascope-area-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  align-items: stretch;
}

.jhascope-area-card {
  position: relative;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 13px;
  min-width: 0;
  padding: 16px;
  overflow: hidden;
  border: 1px solid var(--jhascope-line);
  border-radius: 12px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 5px 13px rgba(53, 18, 47, 0.035);
  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}

.jhascope-area-card::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 42px;
  height: 42px;
  border-radius: 0 0 0 100%;
  background: rgba(47, 101, 146, 0.04);
}

.jhascope-area-card:hover {
  border-color: #bfd0dc;
  box-shadow: 0 9px 20px rgba(47, 101, 146, 0.08);
  transform: translateY(-2px);
}

.jhascope-area-card__number {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid #cadbe7;
  border-radius: 10px;
  background: var(--jhascope-blue-soft);
  color: var(--jhascope-blue-dark);
  font-size: 15px;
  font-style: italic;
  line-height: 1;
}

.jhascope-area-card h3 {
  margin: 0 !important;
  color: var(--jhascope-wine) !important;
  font-size: 18.5px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.18 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
}

.jhascope-area-card p {
  margin: 7px 0 0 !important;
  color: var(--jhascope-text) !important;
  font-size: 15.5px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhascope-fit {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) auto;
  gap: 24px;
  align-items: center;
  padding: clamp(20px, 3vw, 30px);
  overflow: hidden;
  border: 1px solid var(--jhascope-line);
  border-radius: 15px;
  background: radial-gradient(circle at 100% 0, rgba(224, 170, 53, 0.1), transparent 34%), linear-gradient(145deg, #fffdf8, #ffffff);
  box-shadow: 0 12px 28px rgba(53, 18, 47, 0.065);
}

.jhascope-fit::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhascope-wine), var(--jhascope-blue), var(--jhascope-gold));
}

.jhascope-fit__copy {
  min-width: 0;
}

.jhascope-fit h2 {
  margin: 0 !important;
  color: var(--jhascope-ink) !important;
  font-size: clamp(24px, 2.7vw, 33px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhascope-fit p {
  max-width: 760px;
  margin: 9px 0 0 !important;
  color: var(--jhascope-text) !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhascope-fit__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.jhascope-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid transparent;
  border-radius: 9px;
  font-size: 16px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.1;
  letter-spacing: 0.035em;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.jhascope-button:hover,
.jhascope-button:focus-visible {
  transform: translateY(-2px);
}

.jhascope-button--primary {
  border-color: var(--jhascope-wine);
  background: var(--jhascope-wine);
  color: #ffffff !important;
  box-shadow: 0 7px 16px rgba(97, 12, 58, 0.14);
}

.jhascope-button--primary:hover,
.jhascope-button--primary:focus-visible {
  border-color: var(--jhascope-blue);
  background: var(--jhascope-blue);
}

.jhascope-button--secondary {
  border-color: #cadbe7;
  background: #ffffff;
  color: var(--jhascope-blue) !important;
}

.jhascope-button--secondary:hover,
.jhascope-button--secondary:focus-visible {
  border-color: var(--jhascope-blue);
  background: var(--jhascope-blue-soft);
}

@media (max-width: 980px) {
  .jhascope-hero {
    grid-template-columns: 1fr;
  }

  .jhascope-identity {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .jhascope-identity__item {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .jhascope-pillars,
  .jhascope-narrative {
    grid-template-columns: 1fr;
  }

  .jhascope-types {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhascope-types li:last-child {
    grid-column: 1 / -1;
    min-height: 106px;
  }

  .jhascope-fit {
    grid-template-columns: 1fr;
  }

  .jhascope-fit__actions {
    justify-content: flex-start;
  }
}

@media (max-width: 720px) {
  .jhascope {
    font-size: 16px;
  }

  .jhascope-section-heading {
    grid-template-columns: 1fr;
    gap: 8px;
    align-items: start;
  }

  .jhascope-area-grid {
    grid-template-columns: 1fr;
  }

  .jhascope-expectation__content {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

@media (max-width: 520px) {
  .jhascope-hero {
    padding: 20px 16px;
    border-radius: 13px;
  }

  .jhascope-hero h2 {
    font-size: 29px !important;
  }

  .jhascope-identity {
    grid-template-columns: 1fr;
  }

  .jhascope-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhascope-nav a {
    width: 100%;
    text-align: center;
  }

  .jhascope-types {
    grid-template-columns: 1fr;
  }

  .jhascope-types li:last-child {
    grid-column: auto;
  }

  .jhascope-area-card {
    grid-template-columns: 42px minmax(0, 1fr);
    padding: 14px;
  }

  .jhascope-area-card__number {
    width: 40px;
    height: 40px;
  }

  .jhascope-expectation {
    padding: 14px;
  }

  .jhascope-expectation__head {
    margin-bottom: 9px;
  }

  .jhascope-sdg {
    grid-template-columns: 1fr;
  }

  .jhascope-fit__actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .jhascope-button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhascope a,
  .jhascope-area-card,
  .jhascope-button {
    transition: none !important;
  }

  .jhascope-area-card:hover,
  .jhascope-button:hover {
    transform: none !important;
  }
}

/* ==========================================================================
   @JH-08 — PUBLICATION MODEL CUSTOM PAGE
   Owner selectors: .jhpubmodel
   Scope status: CUSTOM PAGE / isolated namespace
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* ==========================================================================
   @JH-08 — 08 — CUSTOM PAGE: PUBLICATION MODEL (.jhpubmodel)
   Maintenance anchor: search exactly for @JH-08
   ========================================================================== */

.jhpubmodel,
.jhpubmodel *,
.jhpubmodel *::before,
.jhpubmodel *::after {
  box-sizing: border-box;
}

.jhpubmodel {
  --jhp-wine: #610c3a;
  --jhp-wine-soft: #8f153d;
  --jhp-blue: #2f6592;
  --jhp-blue-dark: #204866;
  --jhp-gold: #d5a23a;
  --jhp-ink: #2f272c;
  --jhp-text: #4d4248;
  --jhp-muted: #756a70;
  --jhp-line: #e5d9e0;
  --jhp-paper: #fffdfc;
  --jhp-soft: #faf7f9;
  --jhp-blue-soft: #eef6fb;
  --jhp-gold-soft: #fff9ec;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  color: var(--jhp-text);
  font-family: "Perpetua", Georgia, serif;
  font-size: 17px;
  line-height: 1.55;
}

.jhpubmodel a {
  color: inherit;
  text-decoration: none;
}

.jhpubmodel h2,
.jhpubmodel h3,
.jhpubmodel p {
  text-wrap: pretty;
}

.jhpubmodel-kicker {
  display: block;
  margin: 0 0 7px;
  color: var(--jhp-blue);
  font-size: 14px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.095em;
}

.jhpubmodel-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(250px, 0.75fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: end;
  margin-bottom: 18px;
  padding: clamp(24px, 4vw, 40px);
  overflow: hidden;
  border: 1px solid var(--jhp-line);
  border-radius: 17px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.12), transparent 34%), radial-gradient(circle at 0 100%, rgba(143, 21, 61, 0.08), transparent 34%), linear-gradient(145deg, #ffffff, var(--jhp-paper));
  box-shadow:
    0 16px 38px rgba(53, 18, 47, 0.075),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.jhpubmodel-hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhp-wine), var(--jhp-blue), var(--jhp-gold));
}

.jhpubmodel-hero h2 {
  max-width: 850px;
  margin: 0 !important;
  color: var(--jhp-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: clamp(29px, 3.6vw, 44px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.11 !important;
  letter-spacing: 0.052em !important;
  text-transform: none !important;
}

.jhpubmodel-hero__lead {
  max-width: 880px;
  margin: 14px 0 0 !important;
  color: var(--jhp-text) !important;
  font-size: 18px !important;
  font-style: italic;
  line-height: 1.58 !important;
  text-align: left !important;
}

.jhpubmodel-hero__facts {
  display: grid;
  gap: 8px;
}

.jhpubmodel-fact {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid var(--jhp-line);
}

.jhpubmodel-fact small {
  color: var(--jhp-muted);
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.04em;
}

.jhpubmodel-fact strong {
  color: var(--jhp-wine);
  font-size: 16px;
  font-weight: 300;
  font-style: italic;
}

.jhpubmodel-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 24px;
}

.jhpubmodel-nav a {
  display: inline-flex;
  min-height: 37px;
  align-items: center;
  justify-content: center;
  padding: 7px 13px;
  border: 1px solid #d8e4ec;
  border-radius: 999px;
  background: #ffffff;
  color: var(--jhp-blue);
  font-size: 15px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.045em;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.jhpubmodel-nav a:hover,
.jhpubmodel-nav a:focus-visible {
  border-color: var(--jhp-blue);
  background: var(--jhp-blue);
  color: #ffffff;
  transform: translateY(-1px);
}

.jhpubmodel-section {
  margin-bottom: 24px;
}

.jhpubmodel-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.68fr);
  gap: 22px;
  align-items: end;
  margin-bottom: 14px;
  padding: 0 2px 12px;
  border-bottom: 1px solid var(--jhp-line);
}

.jhpubmodel-heading h2 {
  margin: 0 !important;
  color: var(--jhp-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: clamp(25px, 2.8vw, 35px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhpubmodel-heading > p {
  margin: 0 !important;
  color: var(--jhp-muted) !important;
  font-size: 16px !important;
  font-style: italic;
  line-height: 1.42 !important;
  text-align: left !important;
}

.jhpubmodel-schedule {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.jhpubmodel-schedule-card {
  position: relative;
  min-width: 0;
  padding: 18px 17px 17px;
  overflow: hidden;
  border: 1px solid var(--jhp-line);
  border-radius: 13px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 7px 17px rgba(53, 18, 47, 0.04);
}

.jhpubmodel-schedule-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--jhp-wine);
}

.jhpubmodel-schedule-card:nth-child(2)::before {
  background: var(--jhp-blue);
}

.jhpubmodel-schedule-card:nth-child(3)::before {
  background: var(--jhp-gold);
}

.jhpubmodel-schedule-card span {
  display: block;
  margin-bottom: 8px;
  color: var(--jhp-blue);
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhpubmodel-schedule-card h3 {
  margin: 0 !important;
  color: var(--jhp-wine) !important;
  font-size: 22px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.16 !important;
  letter-spacing: 0.045em !important;
  text-transform: none !important;
}

.jhpubmodel-schedule-card p {
  margin: 9px 0 0 !important;
  color: var(--jhp-text) !important;
  font-size: 15.5px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhpubmodel-rules {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.jhpubmodel-rule {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 13px;
  min-width: 0;
  height: 100%;
  padding: 16px;
  border: 1px solid var(--jhp-line);
  border-radius: 12px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 5px 13px rgba(53, 18, 47, 0.035);
}

.jhpubmodel-rule__number {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid #cadbe7;
  border-radius: 10px;
  background: var(--jhp-blue-soft);
  color: var(--jhp-blue-dark);
  font-size: 15px;
  font-style: italic;
}

.jhpubmodel-rule h3 {
  margin: 0 !important;
  color: var(--jhp-wine) !important;
  font-size: 19px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.2 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
}

.jhpubmodel-rule p {
  margin: 7px 0 0 !important;
  color: var(--jhp-text) !important;
  font-size: 15.5px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhpubmodel-status {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.jhpubmodel-status-card {
  padding: 16px 17px;
  border: 1px solid var(--jhp-line);
  border-radius: 12px;
  background: var(--jhp-soft);
}

.jhpubmodel-status-card--progress {
  border-left: 3px solid var(--jhp-blue);
  background: linear-gradient(110deg, var(--jhp-blue-soft), #ffffff 68%);
}

.jhpubmodel-status-card--complete {
  border-left: 3px solid var(--jhp-gold);
  background: linear-gradient(110deg, var(--jhp-gold-soft), #ffffff 68%);
}

.jhpubmodel-status-card strong {
  display: block;
  margin-bottom: 5px;
  color: var(--jhp-wine);
  font-size: 18px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.045em;
}

.jhpubmodel-status-card p {
  margin: 0 !important;
  color: var(--jhp-text) !important;
  font-size: 15.5px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhpubmodel-online {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.65fr);
  gap: 12px;
}

.jhpubmodel-online__main,
.jhpubmodel-online__citation {
  padding: 18px;
  border: 1px solid var(--jhp-line);
  border-radius: 13px;
}

.jhpubmodel-online__main {
  background: radial-gradient(circle at 100% 0, rgba(143, 21, 61, 0.07), transparent 38%), #ffffff;
}

.jhpubmodel-online__citation {
  border-color: #d6e2ea;
  background: linear-gradient(145deg, var(--jhp-blue-soft), #ffffff);
}

.jhpubmodel-online h3 {
  margin: 0 0 9px !important;
  color: var(--jhp-wine) !important;
  font-size: 22px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.16 !important;
  letter-spacing: 0.045em !important;
  text-transform: none !important;
}

.jhpubmodel-online p {
  margin: 0 0 10px !important;
  color: var(--jhp-text) !important;
  font-size: 15.5px !important;
  line-height: 1.5 !important;
  text-align: left !important;
}

.jhpubmodel-online p:last-child {
  margin-bottom: 0 !important;
}

.jhpubmodel-citation-example {
  margin-top: 10px;
  padding: 12px 13px;
  border-left: 3px solid var(--jhp-blue);
  border-radius: 0 9px 9px 0;
  background: rgba(255, 255, 255, 0.84);
  color: var(--jhp-blue-dark);
  font-size: 15px;
  font-style: italic;
  line-height: 1.5;
}

.jhpubmodel-note {
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr);
  gap: 15px;
  align-items: center;
  margin-top: 12px;
  padding: 16px 18px;
  border: 1px solid #eadfbf;
  border-left: 3px solid var(--jhp-gold);
  border-radius: 12px;
  background: linear-gradient(110deg, var(--jhp-gold-soft), #ffffff 68%);
}

.jhpubmodel-note__mark {
  display: grid;
  width: 54px;
  height: 54px;
  place-items: center;
  border-radius: 12px;
  background: linear-gradient(145deg, #c38d20, var(--jhp-gold));
  color: #ffffff;
  font-size: 21px;
  font-style: italic;
}

.jhpubmodel-note h3 {
  margin: 0 0 4px !important;
  color: var(--jhp-wine) !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
}

.jhpubmodel-note p {
  margin: 0 !important;
  color: var(--jhp-text) !important;
  font-size: 15.5px !important;
  line-height: 1.46 !important;
  text-align: left !important;
}

.jhpubmodel-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 18px;
}

.jhpubmodel-button {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 14px;
  border: 1px solid transparent;
  border-radius: 9px;
  font-size: 16px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.035em;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.jhpubmodel-button:hover,
.jhpubmodel-button:focus-visible {
  transform: translateY(-2px);
}

.jhpubmodel-button--primary {
  border-color: var(--jhp-wine);
  background: var(--jhp-wine);
  color: #ffffff !important;
}

.jhpubmodel-button--primary:hover,
.jhpubmodel-button--primary:focus-visible {
  border-color: var(--jhp-blue);
  background: var(--jhp-blue);
}

.jhpubmodel-button--secondary {
  border-color: #cadbe7;
  background: #ffffff;
  color: var(--jhp-blue) !important;
}

.jhpubmodel-button--secondary:hover,
.jhpubmodel-button--secondary:focus-visible {
  border-color: var(--jhp-blue);
  background: var(--jhp-blue-soft);
}

@media (max-width: 900px) {
  .jhpubmodel-hero,
  .jhpubmodel-online {
    grid-template-columns: 1fr;
  }

  .jhpubmodel-schedule {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .jhpubmodel-heading {
    grid-template-columns: 1fr;
    gap: 8px;
    align-items: start;
  }

  .jhpubmodel-rules,
  .jhpubmodel-status {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .jhpubmodel-hero {
    padding: 20px 16px;
    border-radius: 13px;
  }

  .jhpubmodel-hero h2 {
    font-size: 29px !important;
  }

  .jhpubmodel-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhpubmodel-nav a {
    width: 100%;
  }

  .jhpubmodel-rule {
    grid-template-columns: 40px minmax(0, 1fr);
    padding: 14px;
  }

  .jhpubmodel-rule__number {
    width: 38px;
    height: 38px;
  }

  .jhpubmodel-note {
    grid-template-columns: 1fr;
  }

  .jhpubmodel-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .jhpubmodel-button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhpubmodel a,
  .jhpubmodel-button {
    transition: none !important;
  }

  .jhpubmodel-button:hover {
    transform: none !important;
  }
}

.jof-policy-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 2px;
  padding: 9px 13px;
  border: 1px solid #d8c6d5;
  border-radius: 7px;
  background: #ffffff;
  color: var(--of-plum) !important;
  font-family: "Perpetua", Arial, sans-serif;
  font-size: 18px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.045em;
  text-decoration: none !important;
  transition:
    border-color 180ms ease,
    background-color 180ms ease,
    transform 180ms ease;
}

.jof-policy-link:hover,
.jof-policy-link:focus-visible {
  border-color: var(--of-plum);
  background: #f5edf4;
  transform: translateY(-1px);
}

/* ==========================================================================
   @JH-09 — ARCHIVING AND PRESERVATION CUSTOM PAGE
   Owner selectors: .jharchive
   Scope status: CUSTOM PAGE / isolated namespace
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* ==========================================================================
   @JH-09 — 09 — CUSTOM PAGE: ARCHIVING AND PRESERVATION (.jharchive)
   Maintenance anchor: search exactly for @JH-09
   ========================================================================== */

.jharchive,
.jharchive *,
.jharchive *::before,
.jharchive *::after {
  box-sizing: border-box;
}

.jharchive {
  --jharchive-wine: #610c3a;
  --jharchive-wine-soft: #8f153d;
  --jharchive-blue: #2f6592;
  --jharchive-blue-dark: #204866;
  --jharchive-blue-soft: #eef6fb;
  --jharchive-gold: #e0aa35;
  --jharchive-ink: #2f272c;
  --jharchive-text: #4d4248;
  --jharchive-muted: #766a70;
  --jharchive-line: #e5d9e0;
  --jharchive-paper: #fffdfc;
  --jharchive-soft: #faf7f9;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  color: var(--jharchive-text);
  font-family: "Perpetua", Georgia, serif;
  font-size: 17px;
  line-height: 1.55;
}

.jharchive a {
  color: inherit;
  text-decoration: none;
}

.jharchive h2,
.jharchive h3,
.jharchive p {
  text-wrap: pretty;
}

.jharchive-kicker {
  display: block;
  margin: 0 0 6px;
  color: var(--jharchive-blue);
  font-size: 14px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.095em;
}

.jharchive-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(280px, 0.75fr);
  gap: clamp(22px, 4vw, 48px);
  align-items: end;
  margin: 0 0 14px;
  padding: clamp(23px, 4vw, 38px);
  overflow: hidden;
  border: 1px solid var(--jharchive-line);
  border-radius: 16px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.12), transparent 35%), radial-gradient(circle at 0% 100%, rgba(143, 21, 61, 0.08), transparent 33%), linear-gradient(145deg, #ffffff, var(--jharchive-paper));
  box-shadow:
    0 16px 38px rgba(53, 18, 47, 0.075),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.jharchive-hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jharchive-wine), var(--jharchive-blue), var(--jharchive-gold));
}

.jharchive-hero__copy {
  min-width: 0;
}

.jharchive-hero h2 {
  margin: 0 !important;
  color: var(--jharchive-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: clamp(30px, 3.6vw, 45px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.1 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jharchive-hero__lead {
  max-width: 850px;
  margin: 14px 0 0 !important;
  color: var(--jharchive-text) !important;
  font-size: 18px !important;
  font-style: italic;
  line-height: 1.55 !important;
  text-align: left !important;
}

.jharchive-status {
  display: grid;
  gap: 7px;
}

.jharchive-status__item {
  display: grid;
  grid-template-columns: 116px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 9px 0;
  border-bottom: 1px solid var(--jharchive-line);
}

.jharchive-status__item small {
  color: var(--jharchive-muted);
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.04em;
}

.jharchive-status__item strong {
  color: var(--jharchive-wine);
  font-size: 16px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.2;
}

.jharchive-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 22px;
  padding: 0;
}

.jharchive-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 37px;
  padding: 7px 13px;
  border: 1px solid #d8e4ec;
  border-radius: 999px;
  background: #ffffff;
  color: var(--jharchive-blue);
  font-size: 15px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.045em;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.jharchive-nav a:hover,
.jharchive-nav a:focus-visible {
  border-color: var(--jharchive-blue);
  background: var(--jharchive-blue);
  color: #ffffff;
  transform: translateY(-1px);
}

.jharchive-architecture,
.jharchive-networks,
.jharchive-continuity {
  margin: 0 0 24px;
}

.jharchive-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.65fr);
  gap: 22px;
  align-items: end;
  margin-bottom: 14px;
  padding: 0 2px 12px;
  border-bottom: 1px solid var(--jharchive-line);
}

.jharchive-section-heading h2 {
  margin: 0 !important;
  color: var(--jharchive-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jharchive-section-heading > p {
  margin: 0 !important;
  color: var(--jharchive-muted) !important;
  font-size: 16px !important;
  font-style: italic;
  line-height: 1.4 !important;
  text-align: left !important;
}

.jharchive-layer-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.jharchive-layer {
  position: relative;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 13px;
  min-width: 0;
  padding: 17px;
  overflow: hidden;
  border: 1px solid var(--jharchive-line);
  border-radius: 12px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 5px 13px rgba(53, 18, 47, 0.035);
}

.jharchive-layer::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--jharchive-wine);
}

.jharchive-layer--blue::before {
  background: var(--jharchive-blue);
}

.jharchive-layer--gold::before {
  background: var(--jharchive-gold);
}

.jharchive-layer--ink::before {
  background: var(--jharchive-ink);
}

.jharchive-layer__number {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid #cadbe7;
  border-radius: 10px;
  background: var(--jharchive-blue-soft);
  color: var(--jharchive-blue-dark);
  font-size: 15px;
  font-style: italic;
  line-height: 1;
}

.jharchive-layer h3 {
  margin: 0 !important;
  color: var(--jharchive-wine) !important;
  font-size: 19px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.18 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
}

.jharchive-layer p {
  margin: 7px 0 0 !important;
  color: var(--jharchive-text) !important;
  font-size: 15.5px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jharchive-layer p a {
  color: var(--jharchive-blue);
  font-weight: 600;
}

.jharchive-note {
  display: grid;
  grid-template-columns: minmax(180px, 0.5fr) minmax(0, 1.7fr);
  gap: 17px;
  align-items: center;
  margin-top: 10px;
  padding: 15px 17px;
  border: 1px solid #d7e4ed;
  border-left: 3px solid var(--jharchive-blue);
  border-radius: 11px;
  background: linear-gradient(110deg, var(--jharchive-blue-soft), #ffffff);
}

.jharchive-note__label {
  color: var(--jharchive-blue);
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.15;
  letter-spacing: 0.065em;
}

.jharchive-note p {
  margin: 0 !important;
  color: var(--jharchive-text) !important;
  font-size: 15.5px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jharchive-network-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.jharchive-network-card {
  position: relative;
  min-width: 0;
  padding: 18px;
  overflow: hidden;
  border: 1px solid var(--jharchive-line);
  border-radius: 13px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.06), transparent 34%), linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 7px 17px rgba(53, 18, 47, 0.04);
}

.jharchive-network-card__head {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin-bottom: 12px;
}

.jharchive-network-card__code {
  display: grid;
  width: 50px;
  height: 50px;
  place-items: center;
  border-radius: 11px;
  background: linear-gradient(145deg, var(--jharchive-blue), var(--jharchive-blue-dark));
  color: #ffffff;
  font-size: 17px;
  font-style: italic;
  letter-spacing: 0.06em;
  box-shadow: 0 7px 15px rgba(47, 101, 146, 0.16);
}

.jharchive-network-card__label {
  display: block;
  margin-bottom: 4px;
  color: var(--jharchive-blue);
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.07em;
}

.jharchive-network-card h3 {
  margin: 0 !important;
  color: var(--jharchive-wine) !important;
  font-size: 21px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.1 !important;
  text-transform: none !important;
}

.jharchive-network-card p {
  margin: 0 !important;
  color: var(--jharchive-text) !important;
  font-size: 15.5px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jharchive-network-card p a {
  color: var(--jharchive-blue);
  font-weight: 600;
}

.jharchive-network-card__link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 12px;
  color: var(--jharchive-blue);
  font-size: 15px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.04em;
}

.jharchive-network-card__link:hover,
.jharchive-network-card__link:focus-visible {
  color: var(--jharchive-wine);
}

.jharchive-timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.jharchive-timeline::before {
  content: "";
  position: absolute;
  top: 26px;
  right: 5%;
  left: 5%;
  height: 1px;
  background: linear-gradient(90deg, var(--jharchive-wine), var(--jharchive-blue), var(--jharchive-gold));
  opacity: 0.35;
}

.jharchive-timeline__item {
  position: relative;
  z-index: 1;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--jharchive-line);
  border-radius: 11px;
  background: #ffffff;
}

.jharchive-timeline__step {
  display: grid;
  width: 34px;
  height: 34px;
  margin-bottom: 12px;
  place-items: center;
  border: 1px solid #cadbe7;
  border-radius: 50%;
  background: var(--jharchive-blue-soft);
  color: var(--jharchive-blue-dark);
  font-size: 13px;
  font-style: italic;
  line-height: 1;
}

.jharchive-timeline__item h3 {
  margin: 0 !important;
  color: var(--jharchive-wine) !important;
  font-size: 18px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jharchive-timeline__item p {
  margin: 7px 0 0 !important;
  color: var(--jharchive-text) !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  text-align: left !important;
}

.jharchive-continuity__callout {
  display: grid;
  grid-template-columns: minmax(160px, 0.45fr) minmax(0, 1.7fr);
  gap: 16px;
  align-items: center;
  margin-top: 10px;
  padding: 15px 17px;
  border: 1px solid #eadfbf;
  border-left: 3px solid var(--jharchive-gold);
  border-radius: 11px;
  background: linear-gradient(110deg, #fffaf0, #ffffff);
}

.jharchive-continuity__callout span {
  color: #8b6618;
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.065em;
}

.jharchive-continuity__callout strong {
  color: var(--jharchive-text);
  font-size: 16px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.35;
}

.jharchive-ethics {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.35fr);
  gap: 24px;
  align-items: start;
  margin: 0 0 16px;
  padding: clamp(20px, 3vw, 30px);
  overflow: hidden;
  border: 1px solid var(--jharchive-line);
  border-radius: 15px;
  background: radial-gradient(circle at 100% 0, rgba(143, 21, 61, 0.07), transparent 34%), linear-gradient(145deg, #fffdfc, #ffffff);
  box-shadow: 0 12px 28px rgba(53, 18, 47, 0.06);
}

.jharchive-ethics::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jharchive-wine), var(--jharchive-blue), var(--jharchive-gold));
}

.jharchive-ethics h2 {
  margin: 0 !important;
  color: var(--jharchive-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jharchive-ethics__copy > p {
  margin: 10px 0 0 !important;
  color: var(--jharchive-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jharchive-ethics__link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 14px;
  padding: 8px 12px;
  border: 1px solid #cadbe7;
  border-radius: 8px;
  background: var(--jharchive-blue-soft);
  color: var(--jharchive-blue);
  font-size: 15px;
  font-style: italic;
  font-variant: unicase;
}

.jharchive-ethics__link:hover,
.jharchive-ethics__link:focus-visible {
  border-color: var(--jharchive-blue);
  background: var(--jharchive-blue);
  color: #ffffff;
}

.jharchive-principles {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.jharchive-principles li {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  padding: 13px;
  border: 1px solid var(--jharchive-line);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.82);
}

.jharchive-principles li > span {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 9px;
  background: var(--jharchive-blue-soft);
  color: var(--jharchive-blue-dark);
  font-size: 13px;
  font-style: italic;
}

.jharchive-principles strong {
  display: block;
  color: var(--jharchive-wine);
  font-size: 17px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.15;
}

.jharchive-principles p {
  margin: 5px 0 0 !important;
  color: var(--jharchive-text) !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  text-align: left !important;
}

.jharchive-footer-note {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 15px;
  align-items: center;
  padding: 15px 17px;
  border-top: 1px solid var(--jharchive-line);
  border-bottom: 1px solid var(--jharchive-line);
}

.jharchive-footer-note__mark {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(145deg, var(--jharchive-wine), var(--jharchive-blue));
  color: #ffffff;
  font-size: 24px;
  font-style: italic;
  box-shadow: 0 6px 14px rgba(53, 18, 47, 0.14);
}

.jharchive-footer-note p {
  margin: 0 !important;
  color: var(--jharchive-text) !important;
  font-size: 16px !important;
  font-style: italic;
  line-height: 1.45 !important;
  text-align: left !important;
}

@media (max-width: 980px) {
  .jharchive-hero {
    grid-template-columns: 1fr;
  }

  .jharchive-status {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .jharchive-status__item {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .jharchive-timeline {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jharchive-timeline::before {
    display: none;
  }

  .jharchive-ethics {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .jharchive {
    font-size: 16px;
  }

  .jharchive-section-heading {
    grid-template-columns: 1fr;
    gap: 8px;
    align-items: start;
  }

  .jharchive-layer-grid,
  .jharchive-network-grid {
    grid-template-columns: 1fr;
  }

  .jharchive-note,
  .jharchive-continuity__callout {
    grid-template-columns: 1fr;
    gap: 7px;
  }
}

@media (max-width: 520px) {
  .jharchive-hero {
    padding: 20px 16px;
    border-radius: 13px;
  }

  .jharchive-hero h2 {
    font-size: 30px !important;
  }

  .jharchive-status {
    grid-template-columns: 1fr;
  }

  .jharchive-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jharchive-nav a {
    width: 100%;
    text-align: center;
  }

  .jharchive-layer {
    grid-template-columns: 42px minmax(0, 1fr);
    padding: 14px;
  }

  .jharchive-layer__number {
    width: 40px;
    height: 40px;
  }

  .jharchive-timeline {
    grid-template-columns: 1fr;
  }

  .jharchive-footer-note {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jharchive a,
  .jharchive-nav a {
    transition: none !important;
  }

  .jharchive-nav a:hover {
    transform: none !important;
  }
}

/* ==========================================================================
   @JH-10 — COPYRIGHT AND LICENSING CUSTOM PAGE
   Owner selectors: .jhlicense
   Scope status: CUSTOM PAGE / isolated namespace
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* ==========================================================================
   @JH-10 — 10 — CUSTOM PAGE: COPYRIGHT AND LICENSING (.jhlicense)
   Maintenance anchor: search exactly for @JH-10
   ========================================================================== */

.jhlicense,
.jhlicense *,
.jhlicense *::before,
.jhlicense *::after {
  box-sizing: border-box;
}

.jhlicense {
  --jhlicense-wine: #610c3a;
  --jhlicense-wine-soft: #8f153d;
  --jhlicense-blue: #2f6592;
  --jhlicense-blue-dark: #204866;
  --jhlicense-blue-soft: #eef6fb;
  --jhlicense-gold: #e0aa35;
  --jhlicense-ink: #2f272c;
  --jhlicense-text: #4d4248;
  --jhlicense-muted: #766a70;
  --jhlicense-line: #e5d9e0;
  --jhlicense-paper: #fffdfc;
  --jhlicense-soft: #faf7f9;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  color: var(--jhlicense-text);
  font-family: "Perpetua", Georgia, serif;
  font-size: 17px;
  line-height: 1.55;
}

.jhlicense a {
  color: inherit;
  text-decoration: none;
}

.jhlicense h2,
.jhlicense h3,
.jhlicense p {
  text-wrap: pretty;
}

.jhlicense-kicker {
  display: block;
  margin: 0 0 6px;
  color: var(--jhlicense-blue);
  font-size: 14px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.095em;
}

.jhlicense-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(250px, 0.65fr);
  gap: clamp(22px, 4vw, 48px);
  align-items: center;
  margin: 0 0 14px;
  padding: clamp(23px, 4vw, 38px);
  overflow: hidden;
  border: 1px solid var(--jhlicense-line);
  border-radius: 16px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.11), transparent 34%), radial-gradient(circle at 0% 100%, rgba(143, 21, 61, 0.08), transparent 33%), linear-gradient(145deg, #ffffff, var(--jhlicense-paper));
  box-shadow:
    0 16px 38px rgba(53, 18, 47, 0.075),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.jhlicense-hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhlicense-wine), var(--jhlicense-blue), var(--jhlicense-gold));
}

.jhlicense-hero__copy {
  min-width: 0;
}

.jhlicense-hero h2 {
  margin: 0 !important;
  color: var(--jhlicense-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: clamp(30px, 3.6vw, 45px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.1 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhlicense-hero__lead {
  max-width: 850px;
  margin: 14px 0 0 !important;
  color: var(--jhlicense-text) !important;
  font-size: 18px !important;
  font-style: italic;
  line-height: 1.55 !important;
  text-align: left !important;
}

.jhlicense-current {
  display: flex;
  flex-direction: column;
  padding: 18px;
  border: 1px solid #cadbe7;
  border-radius: 13px;
  background: linear-gradient(145deg, var(--jhlicense-blue), var(--jhlicense-blue-dark));
  box-shadow: 0 10px 22px rgba(47, 101, 146, 0.18);
  color: #ffffff;
}

.jhlicense-current__label {
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.08em;
  opacity: 0.82;
}

.jhlicense-current strong {
  margin-top: 5px;
  font-size: 29px;
  font-weight: 300;
  font-style: italic;
  line-height: 1;
  letter-spacing: 0.04em;
}

.jhlicense-current small {
  margin-top: 7px;
  font-size: 14px;
  font-style: italic;
  line-height: 1.25;
  opacity: 0.88;
}

.jhlicense-current a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  margin-top: 14px;
  padding-top: 9px;
  border-top: 1px solid rgba(255, 255, 255, 0.22);
  color: #ffffff;
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
}

.jhlicense-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 22px;
  padding: 0;
}

.jhlicense-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 37px;
  padding: 7px 13px;
  border: 1px solid #d8e4ec;
  border-radius: 999px;
  background: #ffffff;
  color: var(--jhlicense-blue);
  font-size: 15px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.045em;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.jhlicense-nav a:hover,
.jhlicense-nav a:focus-visible {
  border-color: var(--jhlicense-blue);
  background: var(--jhlicense-blue);
  color: #ffffff;
  transform: translateY(-1px);
}

.jhlicense-transition,
.jhlicense-rights,
.jhlicense-tasl,
.jhlicense-authors {
  margin: 0 0 24px;
}

.jhlicense-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.65fr);
  gap: 22px;
  align-items: end;
  margin-bottom: 14px;
  padding: 0 2px 12px;
  border-bottom: 1px solid var(--jhlicense-line);
}

.jhlicense-section-heading h2 {
  margin: 0 !important;
  color: var(--jhlicense-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhlicense-section-heading > p {
  margin: 0 !important;
  color: var(--jhlicense-muted) !important;
  font-size: 16px !important;
  font-style: italic;
  line-height: 1.4 !important;
  text-align: left !important;
}

.jhlicense-timeline {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.jhlicense-period {
  position: relative;
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 15px;
  min-width: 0;
  padding: 18px;
  overflow: hidden;
  border: 1px solid var(--jhlicense-line);
  border-radius: 13px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 7px 17px rgba(53, 18, 47, 0.04);
}

.jhlicense-period::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--jhlicense-wine);
}

.jhlicense-period--current::before {
  background: var(--jhlicense-blue);
}

.jhlicense-period__year {
  display: grid;
  min-height: 76px;
  place-items: center;
  border: 1px solid #e2d5dc;
  border-radius: 11px;
  background: #fff9fc;
  color: var(--jhlicense-wine);
  font-size: 20px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
}

.jhlicense-period--current .jhlicense-period__year {
  border-color: #cadbe7;
  background: var(--jhlicense-blue-soft);
  color: var(--jhlicense-blue-dark);
}

.jhlicense-period__label {
  display: block;
  margin-bottom: 4px;
  color: var(--jhlicense-blue);
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.07em;
}

.jhlicense-period h3 {
  margin: 0 !important;
  color: var(--jhlicense-wine) !important;
  font-size: 23px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.08 !important;
  text-transform: none !important;
}

.jhlicense-period p {
  margin: 8px 0 0 !important;
  color: var(--jhlicense-text) !important;
  font-size: 15.5px !important;
  line-height: 1.46 !important;
  text-align: left !important;
}

.jhlicense-period p a {
  color: var(--jhlicense-blue);
  font-weight: 600;
}

.jhlicense-announcement {
  display: grid;
  grid-template-columns: minmax(160px, 0.45fr) minmax(0, 1.7fr) auto;
  gap: 14px;
  align-items: center;
  margin-top: 10px;
  padding: 14px 16px;
  border: 1px solid #eadfbf;
  border-left: 3px solid var(--jhlicense-gold);
  border-radius: 11px;
  background: linear-gradient(110deg, #fffaf0, #ffffff);
  color: var(--jhlicense-text);
}

.jhlicense-announcement > span:first-child {
  color: #8b6618;
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.065em;
}

.jhlicense-announcement strong {
  color: var(--jhlicense-wine);
  font-size: 16px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.3;
}

.jhlicense-announcement > span:last-child {
  color: var(--jhlicense-blue);
  font-family: Arial, sans-serif;
}

.jhlicense-rights-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.jhlicense-right-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 178px;
  padding: 15px;
  border: 1px solid var(--jhlicense-line);
  border-radius: 11px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhlicense-right-card__number {
  color: var(--jhlicense-blue);
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhlicense-right-card > div {
  margin-top: auto;
  padding-top: 22px;
}

.jhlicense-right-card h3 {
  margin: 0 !important;
  color: var(--jhlicense-wine) !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.1 !important;
  text-transform: none !important;
}

.jhlicense-right-card p {
  margin: 7px 0 0 !important;
  color: var(--jhlicense-text) !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  text-align: left !important;
}

.jhlicense-freedom-note {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  margin-top: 10px;
  padding: 14px 16px;
  border: 1px solid #d7e4ed;
  border-left: 3px solid var(--jhlicense-blue);
  border-radius: 11px;
  background: linear-gradient(110deg, var(--jhlicense-blue-soft), #ffffff);
}

.jhlicense-freedom-note__mark {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 50%;
  background: var(--jhlicense-blue);
  color: #ffffff;
  font-size: 22px;
  font-style: italic;
}

.jhlicense-freedom-note p {
  margin: 0 !important;
  color: var(--jhlicense-text) !important;
  font-size: 15.5px !important;
  font-style: italic;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhlicense-attribution {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 24px;
  align-items: start;
  margin: 0 0 24px;
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid var(--jhlicense-line);
  border-radius: 15px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.08), transparent 34%), linear-gradient(145deg, #fffdfc, #ffffff);
  box-shadow: 0 12px 28px rgba(53, 18, 47, 0.06);
}

.jhlicense-attribution h2 {
  margin: 0 !important;
  color: var(--jhlicense-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhlicense-attribution__copy p {
  margin: 10px 0 0 !important;
  color: var(--jhlicense-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhlicense-attribution__checklist {
  padding: 17px;
  border: 1px solid #d7e4ed;
  border-radius: 12px;
  background: var(--jhlicense-blue-soft);
}

.jhlicense-attribution__label {
  display: block;
  margin-bottom: 10px;
  color: var(--jhlicense-blue);
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.065em;
}

.jhlicense-attribution__checklist ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.jhlicense-attribution__checklist li {
  position: relative;
  padding: 9px 10px 9px 28px;
  border: 1px solid rgba(47, 101, 146, 0.14);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.8);
  color: var(--jhlicense-text);
  font-size: 14.5px;
  font-style: italic;
  line-height: 1.3;
  text-align: left;
}

.jhlicense-attribution__checklist li::before {
  content: "✓";
  position: absolute;
  top: 9px;
  left: 10px;
  color: var(--jhlicense-blue);
  font-family: Arial, sans-serif;
  font-size: 12px;
}

.jhlicense-tasl-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.jhlicense-tasl-grid article {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 15px;
  border: 1px solid var(--jhlicense-line);
  border-radius: 11px;
  background: #ffffff;
}

.jhlicense-tasl-grid article > span {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 9px;
  background: linear-gradient(145deg, var(--jhlicense-blue), var(--jhlicense-blue-dark));
  color: #ffffff;
  font-size: 17px;
  font-style: italic;
}

.jhlicense-tasl-grid strong {
  margin-top: 12px;
  color: var(--jhlicense-wine);
  font-size: 18px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.1;
}

.jhlicense-tasl-grid p {
  margin: 7px 0 0 !important;
  color: var(--jhlicense-text) !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  text-align: left !important;
}

.jhlicense-example {
  display: grid;
  grid-template-columns: minmax(150px, 0.4fr) minmax(0, 1.7fr);
  gap: 16px;
  align-items: center;
  margin-top: 10px;
  padding: 15px 17px;
  border: 1px solid #eadfbf;
  border-left: 3px solid var(--jhlicense-gold);
  border-radius: 11px;
  background: linear-gradient(110deg, #fffaf0, #ffffff);
}

.jhlicense-example__label {
  color: #8b6618;
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.065em;
}

.jhlicense-example p {
  margin: 0 !important;
  color: var(--jhlicense-text) !important;
  font-size: 15.5px !important;
  font-style: italic;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhlicense-author-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.jhlicense-author-card {
  min-width: 0;
  padding: 17px;
  border: 1px solid var(--jhlicense-line);
  border-radius: 12px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhlicense-author-card__label {
  display: block;
  margin-bottom: 6px;
  color: var(--jhlicense-blue);
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.07em;
}

.jhlicense-author-card h3 {
  margin: 0 !important;
  color: var(--jhlicense-wine) !important;
  font-size: 19px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhlicense-author-card p {
  margin: 8px 0 0 !important;
  color: var(--jhlicense-text) !important;
  font-size: 15.5px !important;
  line-height: 1.46 !important;
  text-align: left !important;
}

.jhlicense-footer {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: clamp(20px, 3vw, 30px);
  overflow: hidden;
  border: 1px solid var(--jhlicense-line);
  border-radius: 15px;
  background: radial-gradient(circle at 100% 0, rgba(224, 170, 53, 0.11), transparent 34%), linear-gradient(145deg, #fffdf8, #ffffff);
  box-shadow: 0 12px 28px rgba(53, 18, 47, 0.065);
}

.jhlicense-footer::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhlicense-wine), var(--jhlicense-blue), var(--jhlicense-gold));
}

.jhlicense-footer h2 {
  margin: 0 !important;
  color: var(--jhlicense-ink) !important;
  font-size: clamp(24px, 2.7vw, 33px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhlicense-footer p {
  margin: 9px 0 0 !important;
  color: var(--jhlicense-text) !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhlicense-footer__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid var(--jhlicense-wine);
  border-radius: 9px;
  background: var(--jhlicense-wine);
  color: #ffffff !important;
  font-size: 16px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.1;
  letter-spacing: 0.035em;
  box-shadow: 0 7px 16px rgba(97, 12, 58, 0.14);
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    transform 0.18s ease;
}

.jhlicense-footer__button:hover,
.jhlicense-footer__button:focus-visible {
  border-color: var(--jhlicense-blue);
  background: var(--jhlicense-blue);
  transform: translateY(-2px);
}

@media (max-width: 980px) {
  .jhlicense-hero {
    grid-template-columns: 1fr;
  }

  .jhlicense-current {
    max-width: 360px;
  }

  .jhlicense-rights-grid,
  .jhlicense-tasl-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhlicense-footer {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .jhlicense-section-heading {
    grid-template-columns: 1fr;
    gap: 8px;
    align-items: start;
  }

  .jhlicense-timeline,
  .jhlicense-attribution,
  .jhlicense-author-grid {
    grid-template-columns: 1fr;
  }

  .jhlicense-announcement,
  .jhlicense-example {
    grid-template-columns: 1fr;
    gap: 7px;
  }
}

@media (max-width: 520px) {
  .jhlicense {
    font-size: 16px;
  }

  .jhlicense-hero {
    padding: 20px 16px;
    border-radius: 13px;
  }

  .jhlicense-hero h2 {
    font-size: 30px !important;
  }

  .jhlicense-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhlicense-nav a {
    width: 100%;
    text-align: center;
  }

  .jhlicense-period {
    grid-template-columns: 1fr;
  }

  .jhlicense-period__year {
    min-height: 52px;
  }

  .jhlicense-rights-grid,
  .jhlicense-tasl-grid,
  .jhlicense-attribution__checklist ul {
    grid-template-columns: 1fr;
  }

  .jhlicense-freedom-note {
    grid-template-columns: 1fr;
  }

  .jhlicense-footer__button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhlicense a,
  .jhlicense-nav a,
  .jhlicense-footer__button {
    transition: none !important;
  }

  .jhlicense-nav a:hover,
  .jhlicense-footer__button:hover {
    transform: none !important;
  }
}

/* ==========================================================================
   @JH-11 — PUBLICATION ETHICS CUSTOM PAGE
   Owner selectors: .jhethics
   Scope status: CUSTOM PAGE / isolated namespace
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* ==========================================================================
   @JH-11 — 11 — CUSTOM PAGE: PUBLICATION ETHICS (.jhethics)
   Maintenance anchor: search exactly for @JH-11
   ========================================================================== */

.jhethics,
.jhethics *,
.jhethics *::before,
.jhethics *::after {
  box-sizing: border-box;
}

.jhethics {
  --jhethics-wine: #610c3a;
  --jhethics-wine-soft: #8f153d;
  --jhethics-blue: #2f6592;
  --jhethics-blue-dark: #204866;
  --jhethics-blue-soft: #eef6fb;
  --jhethics-gold: #e0aa35;
  --jhethics-ink: #2f272c;
  --jhethics-text: #4d4248;
  --jhethics-muted: #766a70;
  --jhethics-line: #e5d9e0;
  --jhethics-paper: #fffdfc;
  --jhethics-soft: #faf7f9;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  color: var(--jhethics-text);
  font-family: "Perpetua", Georgia, serif;
  font-size: 17px;
  line-height: 1.55;
}

.jhethics a {
  color: inherit;
  text-decoration: none;
}

.jhethics h2,
.jhethics h3,
.jhethics h4,
.jhethics p {
  text-wrap: pretty;
}

.jhethics-kicker {
  display: block;
  margin: 0 0 6px;
  color: var(--jhethics-blue);
  font-size: 14px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.095em;
}

.jhethics-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(300px, 0.75fr);
  gap: clamp(22px, 4vw, 48px);
  align-items: end;
  margin: 0 0 14px;
  padding: clamp(23px, 4vw, 38px);
  overflow: hidden;
  border: 1px solid var(--jhethics-line);
  border-radius: 16px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.12), transparent 35%), radial-gradient(circle at 0% 100%, rgba(143, 21, 61, 0.08), transparent 33%), linear-gradient(145deg, #ffffff, var(--jhethics-paper));
  box-shadow:
    0 16px 38px rgba(53, 18, 47, 0.075),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.jhethics-hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhethics-wine), var(--jhethics-blue), var(--jhethics-gold));
}

.jhethics-hero__copy {
  min-width: 0;
}

.jhethics-hero h2 {
  margin: 0 !important;
  color: var(--jhethics-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: clamp(30px, 3.6vw, 45px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.1 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhethics-hero__lead {
  max-width: 850px;
  margin: 14px 0 0 !important;
  color: var(--jhethics-text) !important;
  font-size: 18px !important;
  font-style: italic;
  line-height: 1.55 !important;
  text-align: left !important;
}

.jhethics-hero__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

.jhethics-fact {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 13px;
  border: 1px solid #d8e4ec;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.82);
}

.jhethics-fact small {
  color: var(--jhethics-muted);
  font-size: 12px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.15;
  letter-spacing: 0.055em;
}

.jhethics-fact strong {
  margin-top: 5px;
  color: var(--jhethics-wine);
  font-size: 16px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.18;
}

a.jhethics-fact:hover,
a.jhethics-fact:focus-visible {
  border-color: var(--jhethics-blue);
  background: var(--jhethics-blue-soft);
}

.jhethics-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 22px;
  padding: 0;
}

.jhethics-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 37px;
  padding: 7px 13px;
  border: 1px solid #d8e4ec;
  border-radius: 999px;
  background: #ffffff;
  color: var(--jhethics-blue);
  font-size: 15px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.045em;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.jhethics-nav a:hover,
.jhethics-nav a:focus-visible {
  border-color: var(--jhethics-blue);
  background: var(--jhethics-blue);
  color: #ffffff;
  transform: translateY(-1px);
}

.jhethics-foundation {
  display: grid;
  grid-template-columns: minmax(240px, 0.7fr) minmax(0, 1.6fr);
  gap: 24px;
  align-items: start;
  margin-bottom: 12px;
  padding: 20px;
  border: 1px solid var(--jhethics-line);
  border-radius: 13px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhethics-foundation__heading h2 {
  margin: 0 !important;
  color: var(--jhethics-ink) !important;
  font-size: clamp(24px, 2.6vw, 32px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.16 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhethics-foundation__copy p {
  margin: 0 0 10px !important;
  color: var(--jhethics-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhethics-foundation__copy p:last-child {
  margin-bottom: 0 !important;
}

.jhethics-foundation__copy a {
  color: var(--jhethics-blue);
  font-weight: 600;
}

.jhethics-principles {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 24px;
}

.jhethics-principles article {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 154px;
  padding: 15px;
  border: 1px solid var(--jhethics-line);
  border-radius: 11px;
  background: var(--jhethics-soft);
}

.jhethics-principles article > span {
  color: var(--jhethics-blue);
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhethics-principles strong {
  margin-top: auto;
  padding-top: 18px;
  color: var(--jhethics-wine);
  font-size: 18px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.15;
}

.jhethics-principles p {
  margin: 7px 0 0 !important;
  color: var(--jhethics-text) !important;
  font-size: 14.5px !important;
  line-height: 1.4 !important;
  text-align: left !important;
}

.jhethics-directory {
  margin-bottom: 24px;
}

.jhethics-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.65fr);
  gap: 22px;
  align-items: end;
  margin-bottom: 14px;
  padding: 0 2px 12px;
  border-bottom: 1px solid var(--jhethics-line);
}

.jhethics-section-heading h2 {
  margin: 0 !important;
  color: var(--jhethics-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhethics-section-heading > p {
  margin: 0 !important;
  color: var(--jhethics-muted) !important;
  font-size: 16px !important;
  font-style: italic;
  line-height: 1.4 !important;
  text-align: left !important;
}

.jhethics-directory__hint {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 11px;
  align-items: center;
  margin: 0 0 10px;
  padding: 11px 13px;
  border: 1px solid #d7e4ed;
  border-left: 3px solid var(--jhethics-blue);
  border-radius: 10px;
  background: linear-gradient(110deg, var(--jhethics-blue-soft), #ffffff);
}

.jhethics-directory__hint-mark {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 50%;
  background: var(--jhethics-blue);
  color: #ffffff;
  font-family: Arial, sans-serif;
  font-size: 19px;
  line-height: 1;
}

.jhethics-directory__hint p {
  margin: 0 !important;
  color: var(--jhethics-text) !important;
  font-size: 15px !important;
  font-style: italic;
  line-height: 1.4 !important;
  text-align: left !important;
}

.jhethics-policies {
  display: grid;
  gap: 8px;
}

.jhethics-policy {
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--jhethics-line);
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 5px 13px rgba(53, 18, 47, 0.03);
}

.jhethics-policy[open] {
  border-color: #cbdce7;
  box-shadow: 0 9px 22px rgba(47, 101, 146, 0.07);
}

.jhethics-policy__summary {
  position: relative;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  gap: 13px;
  align-items: center;
  min-height: 76px;
  padding: 13px 15px;
  cursor: pointer;
  list-style: none;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhethics-policy__summary::-webkit-details-marker {
  display: none;
}

.jhethics-policy__number {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid #cadbe7;
  border-radius: 10px;
  background: var(--jhethics-blue-soft);
  color: var(--jhethics-blue-dark);
  font-size: 14px;
  font-style: italic;
  line-height: 1;
}

.jhethics-policy__heading {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.jhethics-policy__heading strong {
  color: var(--jhethics-wine);
  font-size: 19px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.15;
  letter-spacing: 0.04em;
}

.jhethics-policy__heading small {
  margin-top: 4px;
  color: var(--jhethics-muted);
  font-size: 14px;
  font-style: italic;
  line-height: 1.25;
}

.jhethics-policy__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 116px;
  min-height: 36px;
  padding: 5px 7px 5px 11px;
  border: 1px solid #cadbe7;
  border-radius: 999px;
  background: #ffffff;
  color: var(--jhethics-blue);
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease;
}

.jhethics-policy__action-label {
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.045em;
  white-space: nowrap;
}

.jhethics-policy[open] .jhethics-policy__action {
  border-color: var(--jhethics-blue);
  background: var(--jhethics-blue);
  color: #ffffff;
}

.jhethics-policy[open] .jhethics-policy__action-label {
  font-size: 0;
}

.jhethics-policy[open] .jhethics-policy__action-label::after {
  content: "Close Policy";
  font-size: 13px;
}

.jhethics-policy__toggle {
  position: relative;
  display: block;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  border: 1px solid #cadbe7;
  border-radius: 50%;
  background: #ffffff;
}

.jhethics-policy__toggle::before,
.jhethics-policy__toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 1px;
  background: var(--jhethics-blue);
  transform: translate(-50%, -50%);
}

.jhethics-policy__toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
  transition: transform 0.18s ease;
}

.jhethics-policy[open] .jhethics-policy__toggle {
  border-color: rgba(255, 255, 255, 0.42);
  background: rgba(255, 255, 255, 0.12);
}

.jhethics-policy[open] .jhethics-policy__toggle::before,
.jhethics-policy[open] .jhethics-policy__toggle::after {
  background: #ffffff;
}

.jhethics-policy[open] .jhethics-policy__toggle::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

.jhethics-policy__content {
  padding: 18px 20px 21px 76px;
  border-top: 1px solid var(--jhethics-line);
  background: linear-gradient(180deg, #ffffff, #fffdfc);
}

.jhethics-policy__content > p,
.jhethics-policy__content li p {
  margin: 0 0 11px !important;
  color: var(--jhethics-text) !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  text-align: left !important;
}

.jhethics-policy__content > p:last-child {
  margin-bottom: 0 !important;
}

.jhethics-subheading {
  position: relative;
  margin: 22px 0 9px !important;
  padding: 0 0 8px 13px;
  border-bottom: 1px solid var(--jhethics-line);
  color: var(--jhethics-wine) !important;
  font-size: 19px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.2 !important;
  letter-spacing: 0.035em !important;
  text-transform: none !important;
}

.jhethics-subheading:first-child {
  margin-top: 0 !important;
}

.jhethics-subheading::before {
  content: "";
  position: absolute;
  top: 2px;
  bottom: 9px;
  left: 0;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--jhethics-wine), var(--jhethics-blue));
}

.jhethics-minor-heading {
  margin: 16px 0 7px !important;
  color: var(--jhethics-blue-dark) !important;
  font-size: 17px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.2 !important;
  text-transform: none !important;
}

.jhethics-list {
  display: grid;
  gap: 7px;
  margin: 10px 0 14px !important;
  padding: 0 !important;
  list-style: none !important;
}

.jhethics-list > li {
  position: relative;
  margin: 0 !important;
  padding: 9px 11px 9px 30px !important;
  border: 1px solid #eee4e9;
  border-radius: 8px;
  background: var(--jhethics-soft);
  color: var(--jhethics-text);
  font-size: 15.5px;
  line-height: 1.42;
}

.jhethics-list > li::before {
  content: "✓";
  position: absolute;
  top: 9px;
  left: 11px;
  color: var(--jhethics-blue);
  font-family: Arial, sans-serif;
  font-size: 12px;
}

.jhethics-list--ordered {
  counter-reset: jhethics-counter;
}

.jhethics-list--ordered > li {
  counter-increment: jhethics-counter;
}

.jhethics-list--ordered > li::before {
  content: counter(jhethics-counter, decimal-leading-zero);
  top: 8px;
  color: var(--jhethics-blue-dark);
  font-family: "Perpetua", Georgia, serif;
  font-size: 13px;
  font-style: italic;
}

.jhethics-inline-link {
  color: var(--jhethics-blue) !important;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgba(47, 101, 146, 0.28);
  text-underline-offset: 2px;
}

.jhethics-inline-link:hover,
.jhethics-inline-link:focus-visible {
  color: var(--jhethics-wine) !important;
  text-decoration-color: currentColor;
}

.jhethics-quote {
  margin: 14px 0 !important;
  padding: 15px 17px 15px 20px !important;
  border: 1px solid #d7e4ed !important;
  border-left: 3px solid var(--jhethics-blue) !important;
  border-radius: 10px;
  background: linear-gradient(110deg, var(--jhethics-blue-soft), #ffffff);
  color: var(--jhethics-text);
}

.jhethics-quote p {
  margin: 0 0 10px !important;
  font-size: 15.5px !important;
  font-style: italic;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhethics-quote p:last-child {
  margin-bottom: 0 !important;
}

.jhethics-policy--references .jhethics-policy__number {
  background: #fff8e7;
  border-color: #eadfbf;
  color: #8b6618;
}

.jhethics-contact {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) auto;
  gap: 24px;
  align-items: center;
  padding: clamp(20px, 3vw, 30px);
  overflow: hidden;
  border: 1px solid var(--jhethics-line);
  border-radius: 15px;
  background: radial-gradient(circle at 100% 0, rgba(224, 170, 53, 0.1), transparent 34%), linear-gradient(145deg, #fffdf8, #ffffff);
  box-shadow: 0 12px 28px rgba(53, 18, 47, 0.065);
}

.jhethics-contact::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhethics-wine), var(--jhethics-blue), var(--jhethics-gold));
}

.jhethics-contact h2 {
  margin: 0 !important;
  color: var(--jhethics-ink) !important;
  font-size: clamp(24px, 2.7vw, 33px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhethics-contact p {
  max-width: 760px;
  margin: 9px 0 0 !important;
  color: var(--jhethics-text) !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhethics-contact__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.jhethics-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid transparent;
  border-radius: 9px;
  font-size: 16px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.1;
  letter-spacing: 0.035em;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.jhethics-button:hover,
.jhethics-button:focus-visible {
  transform: translateY(-2px);
}

.jhethics-button--primary {
  border-color: var(--jhethics-wine);
  background: var(--jhethics-wine);
  color: #ffffff !important;
  box-shadow: 0 7px 16px rgba(97, 12, 58, 0.14);
}

.jhethics-button--primary:hover,
.jhethics-button--primary:focus-visible {
  border-color: var(--jhethics-blue);
  background: var(--jhethics-blue);
}

.jhethics-button--secondary {
  border-color: #cadbe7;
  background: #ffffff;
  color: var(--jhethics-blue) !important;
}

.jhethics-button--secondary:hover,
.jhethics-button--secondary:focus-visible {
  border-color: var(--jhethics-blue);
  background: var(--jhethics-blue-soft);
}

@media (max-width: 980px) {
  .jhethics-hero {
    grid-template-columns: 1fr;
  }

  .jhethics-foundation {
    grid-template-columns: 1fr;
  }

  .jhethics-principles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhethics-contact {
    grid-template-columns: 1fr;
  }

  .jhethics-contact__actions {
    justify-content: flex-start;
  }
}

@media (max-width: 720px) {
  .jhethics-section-heading {
    grid-template-columns: 1fr;
    gap: 8px;
    align-items: start;
  }

  .jhethics-policy__content {
    padding-left: 20px;
  }
}

@media (max-width: 560px) {
  .jhethics {
    font-size: 16px;
  }

  .jhethics-hero {
    padding: 20px 16px;
    border-radius: 13px;
  }

  .jhethics-hero h2 {
    font-size: 30px !important;
  }

  .jhethics-hero__facts,
  .jhethics-principles {
    grid-template-columns: 1fr;
  }

  .jhethics-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhethics-nav a {
    width: 100%;
    text-align: center;
  }

  .jhethics-policy__summary {
    grid-template-columns: 42px minmax(0, 1fr) auto;
    gap: 10px;
    padding: 12px;
  }

  .jhethics-policy__number {
    width: 40px;
    height: 40px;
  }

  .jhethics-policy__heading strong {
    font-size: 17px;
  }

  .jhethics-policy__heading small {
    font-size: 13px;
  }

  .jhethics-policy__action {
    min-width: 38px;
    width: 38px;
    height: 38px;
    padding: 6px;
  }

  .jhethics-policy__action-label {
    display: none;
  }

  .jhethics-policy__content {
    padding: 16px 14px 18px;
  }

  .jhethics-contact__actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .jhethics-button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhethics a,
  .jhethics-nav a,
  .jhethics-button,
  .jhethics-policy__action,
  .jhethics-policy__toggle::after {
    transition: none !important;
  }

  .jhethics-nav a:hover,
  .jhethics-button:hover {
    transform: none !important;
  }
}

/* ==========================================================================
   @JH-12 — PLAGIARISM POLICY CUSTOM PAGE
   Owner selectors: .jhplag
   Scope status: CUSTOM PAGE / isolated namespace
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* ==========================================================================
   @JH-12 — 12 — CUSTOM PAGE: PLAGIARISM POLICY (.jhplag)
   Maintenance anchor: search exactly for @JH-12
   ========================================================================== */

.jhplag,
.jhplag *,
.jhplag *::before,
.jhplag *::after {
  box-sizing: border-box;
}

.jhplag {
  --jhplag-wine: #610c3a;
  --jhplag-wine-soft: #8f153d;
  --jhplag-blue: #2f6592;
  --jhplag-blue-dark: #204866;
  --jhplag-blue-soft: #eef6fb;
  --jhplag-gold: #e0aa35;
  --jhplag-ink: #2f272c;
  --jhplag-text: #4d4248;
  --jhplag-muted: #766a70;
  --jhplag-line: #e5d9e0;
  --jhplag-paper: #fffdfc;
  --jhplag-soft: #faf7f9;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  color: var(--jhplag-text);
  font-family: "Perpetua", Georgia, serif;
  font-size: 17px;
  line-height: 1.55;
}

.jhplag a {
  color: inherit;
  text-decoration: none;
}

.jhplag h2,
.jhplag h3,
.jhplag p {
  text-wrap: pretty;
}

.jhplag-kicker {
  display: block;
  margin: 0 0 6px;
  color: var(--jhplag-blue);
  font-size: 14px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.095em;
}

.jhplag-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(260px, 0.62fr);
  gap: clamp(22px, 4vw, 48px);
  align-items: center;
  margin: 0 0 14px;
  padding: clamp(23px, 4vw, 38px);
  overflow: hidden;
  border: 1px solid var(--jhplag-line);
  border-radius: 16px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.12), transparent 35%), radial-gradient(circle at 0% 100%, rgba(143, 21, 61, 0.08), transparent 33%), linear-gradient(145deg, #ffffff, var(--jhplag-paper));
  box-shadow:
    0 16px 38px rgba(53, 18, 47, 0.075),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.jhplag-hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhplag-wine), var(--jhplag-blue), var(--jhplag-gold));
}

.jhplag-hero h2 {
  margin: 0 !important;
  color: var(--jhplag-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: clamp(30px, 3.6vw, 45px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.1 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhplag-hero__lead {
  max-width: 850px;
  margin: 14px 0 0 !important;
  color: var(--jhplag-text) !important;
  font-size: 18px !important;
  font-style: italic;
  line-height: 1.55 !important;
  text-align: left !important;
}

.jhplag-threshold {
  display: flex;
  flex-direction: column;
  padding: 18px;
  border: 1px solid #eadfbf;
  border-radius: 13px;
  background: linear-gradient(145deg, #fff9e9, #ffffff);
  box-shadow: 0 10px 22px rgba(224, 170, 53, 0.13);
}

.jhplag-threshold__label {
  color: #8b6618;
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.075em;
}

.jhplag-threshold strong {
  margin-top: 4px;
  color: var(--jhplag-wine);
  font-size: 36px;
  font-weight: 300;
  font-style: italic;
  line-height: 1;
}

.jhplag-threshold small {
  margin-top: 8px;
  color: var(--jhplag-muted);
  font-size: 14px;
  font-style: italic;
  line-height: 1.3;
}

.jhplag-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 22px;
  padding: 0;
}

.jhplag-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 37px;
  padding: 7px 13px;
  border: 1px solid #d8e4ec;
  border-radius: 999px;
  background: #ffffff;
  color: var(--jhplag-blue);
  font-size: 15px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.045em;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.jhplag-nav a:hover,
.jhplag-nav a:focus-visible {
  border-color: var(--jhplag-blue);
  background: var(--jhplag-blue);
  color: #ffffff;
  transform: translateY(-1px);
}

.jhplag-foundation {
  display: grid;
  grid-template-columns: minmax(240px, 0.7fr) minmax(0, 1.6fr);
  gap: 24px;
  align-items: center;
  margin-bottom: 24px;
  padding: 19px 20px;
  border: 1px solid var(--jhplag-line);
  border-radius: 13px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhplag-foundation h2 {
  margin: 0 !important;
  color: var(--jhplag-ink) !important;
  font-size: clamp(24px, 2.6vw, 32px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.16 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhplag-foundation p {
  margin: 0 !important;
  color: var(--jhplag-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhplag-foundation a {
  color: var(--jhplag-blue);
  font-weight: 600;
}

.jhplag-definition,
.jhplag-screening,
.jhplag-prevention,
.jhplag-response,
.jhplag-allegations {
  margin-bottom: 24px;
}

.jhplag-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.65fr);
  gap: 22px;
  align-items: end;
  margin-bottom: 14px;
  padding: 0 2px 12px;
  border-bottom: 1px solid var(--jhplag-line);
}

.jhplag-section-heading h2 {
  margin: 0 !important;
  color: var(--jhplag-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhplag-section-heading > p {
  margin: 0 !important;
  color: var(--jhplag-muted) !important;
  font-size: 16px !important;
  font-style: italic;
  line-height: 1.4 !important;
  text-align: left !important;
}

.jhplag-definition-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.jhplag-definition-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 182px;
  padding: 15px;
  border: 1px solid var(--jhplag-line);
  border-radius: 11px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhplag-definition-card > span {
  color: var(--jhplag-blue);
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhplag-definition-card h3 {
  margin: auto 0 0 !important;
  padding-top: 20px;
  color: var(--jhplag-wine) !important;
  font-size: 19px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhplag-definition-card p {
  margin: 7px 0 0 !important;
  color: var(--jhplag-text) !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  text-align: left !important;
}

.jhplag-warning {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 13px;
  align-items: center;
  margin-top: 10px;
  padding: 14px 16px;
  border: 1px solid #eadfbf;
  border-left: 3px solid var(--jhplag-gold);
  border-radius: 11px;
  background: linear-gradient(110deg, #fffaf0, #ffffff);
}

.jhplag-warning > span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  background: var(--jhplag-gold);
  color: #ffffff;
  font-family: Arial, sans-serif;
  font-size: 19px;
  font-weight: 700;
}

.jhplag-warning p {
  margin: 0 !important;
  color: var(--jhplag-text) !important;
  font-size: 15.5px !important;
  font-style: italic;
  line-height: 1.43 !important;
  text-align: left !important;
}

.jhplag-screening-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.jhplag-screening-card {
  min-width: 0;
  padding: 17px;
  border: 1px solid var(--jhplag-line);
  border-radius: 12px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhplag-screening-card--primary {
  border-color: #cadbe7;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.07), transparent 35%), linear-gradient(145deg, #ffffff, var(--jhplag-blue-soft));
}

.jhplag-screening-card__label {
  display: block;
  margin-bottom: 6px;
  color: var(--jhplag-blue);
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.07em;
}

.jhplag-screening-card h3 {
  margin: 0 !important;
  color: var(--jhplag-wine) !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhplag-screening-card p {
  margin: 8px 0 0 !important;
  color: var(--jhplag-text) !important;
  font-size: 15.5px !important;
  line-height: 1.46 !important;
  text-align: left !important;
}

.jhplag-screening-card a {
  color: var(--jhplag-blue);
  font-weight: 600;
}

.jhplag-decision-strip {
  display: grid;
  grid-template-columns: minmax(150px, 0.4fr) minmax(0, 1.8fr);
  gap: 15px;
  align-items: center;
  margin-top: 10px;
  padding: 14px 16px;
  border: 1px solid #d7e4ed;
  border-left: 3px solid var(--jhplag-blue);
  border-radius: 11px;
  background: linear-gradient(110deg, var(--jhplag-blue-soft), #ffffff);
}

.jhplag-decision-strip span {
  color: var(--jhplag-blue);
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.06em;
}

.jhplag-decision-strip strong {
  color: var(--jhplag-text);
  font-size: 16px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.35;
}

.jhplag-checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.jhplag-checklist article {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
  padding: 15px;
  border: 1px solid var(--jhplag-line);
  border-radius: 11px;
  background: var(--jhplag-soft);
}

.jhplag-checklist article > span {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 9px;
  background: var(--jhplag-blue-soft);
  color: var(--jhplag-blue-dark);
  font-size: 14px;
  font-style: italic;
}

.jhplag-checklist h3 {
  margin: 0 !important;
  color: var(--jhplag-wine) !important;
  font-size: 18px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhplag-checklist p {
  margin: 6px 0 0 !important;
  color: var(--jhplag-text) !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  text-align: left !important;
}

.jhplag-response-flow {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.jhplag-response-flow::before {
  content: "";
  position: absolute;
  top: 31px;
  right: 5%;
  left: 5%;
  height: 1px;
  background: linear-gradient(90deg, var(--jhplag-wine), var(--jhplag-blue), var(--jhplag-gold));
  opacity: 0.35;
}

.jhplag-response-flow article {
  position: relative;
  z-index: 1;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--jhplag-line);
  border-radius: 11px;
  background: #ffffff;
}

.jhplag-response-flow__step {
  display: grid;
  width: 36px;
  height: 36px;
  margin-bottom: 12px;
  place-items: center;
  border: 1px solid #cadbe7;
  border-radius: 50%;
  background: var(--jhplag-blue-soft);
  color: var(--jhplag-blue-dark);
  font-size: 13px;
  font-style: italic;
}

.jhplag-response-flow h3 {
  margin: 0 !important;
  color: var(--jhplag-wine) !important;
  font-size: 18px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhplag-response-flow p {
  margin: 7px 0 0 !important;
  color: var(--jhplag-text) !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  text-align: left !important;
}

.jhplag-postpublication {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 10px;
}

.jhplag-postpublication article {
  padding: 16px;
  border: 1px solid var(--jhplag-line);
  border-radius: 11px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhplag-postpublication__label {
  display: block;
  margin-bottom: 5px;
  color: var(--jhplag-blue);
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.07em;
}

.jhplag-postpublication h3 {
  margin: 0 !important;
  color: var(--jhplag-wine) !important;
  font-size: 19px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhplag-postpublication p {
  margin: 7px 0 0 !important;
  color: var(--jhplag-text) !important;
  font-size: 15.5px !important;
  line-height: 1.46 !important;
  text-align: left !important;
}

.jhplag-self {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 23px;
  align-items: start;
  margin-bottom: 24px;
  padding: clamp(20px, 3vw, 28px);
  border: 1px solid var(--jhplag-line);
  border-radius: 14px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.07), transparent 34%), linear-gradient(145deg, #fffdfc, #ffffff);
  box-shadow: 0 10px 24px rgba(53, 18, 47, 0.05);
}

.jhplag-self h2 {
  margin: 0 !important;
  color: var(--jhplag-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhplag-self__copy p {
  margin: 10px 0 0 !important;
  color: var(--jhplag-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhplag-self__list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.jhplag-self__list li {
  position: relative;
  padding: 10px 11px 10px 31px;
  border: 1px solid #d7e4ed;
  border-radius: 8px;
  background: var(--jhplag-blue-soft);
  color: var(--jhplag-text);
  font-size: 15.5px;
  font-style: italic;
  line-height: 1.35;
}

.jhplag-self__list li::before {
  content: "✓";
  position: absolute;
  top: 10px;
  left: 11px;
  color: var(--jhplag-blue);
  font-family: Arial, sans-serif;
  font-size: 12px;
}

.jhplag-allegation-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.jhplag-allegation-grid article {
  min-width: 0;
  padding: 15px;
  border: 1px solid var(--jhplag-line);
  border-radius: 11px;
  background: #ffffff;
}

.jhplag-allegation-grid article > span {
  color: var(--jhplag-blue);
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhplag-allegation-grid h3 {
  margin: 17px 0 0 !important;
  color: var(--jhplag-wine) !important;
  font-size: 18px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhplag-allegation-grid p {
  margin: 7px 0 0 !important;
  color: var(--jhplag-text) !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  text-align: left !important;
}

.jhplag-transparency {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
  gap: 23px;
  align-items: center;
  margin-bottom: 24px;
  padding: 20px;
  border: 1px solid var(--jhplag-line);
  border-left: 4px solid var(--jhplag-wine);
  border-radius: 13px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhplag-transparency h2 {
  margin: 0 !important;
  color: var(--jhplag-ink) !important;
  font-size: clamp(24px, 2.7vw, 32px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhplag-transparency p {
  margin: 9px 0 0 !important;
  color: var(--jhplag-text) !important;
  font-size: 16px !important;
  line-height: 1.46 !important;
  text-align: left !important;
}

.jhplag-transparency__badges {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
  min-width: 0;
}

.jhplag-assurance-card:nth-child(1) {
  --assurance-accent: #2f6592;
  --assurance-soft: #eef6fb;
  --assurance-line: #cadde9;
}

.jhplag-assurance-card:nth-child(2) {
  --assurance-accent: #610c3a;
  --assurance-soft: #faf0f5;
  --assurance-line: #e7d1dc;
}

.jhplag-assurance-card:nth-child(3) {
  --assurance-accent: #3f7a64;
  --assurance-soft: #eef8f3;
  --assurance-line: #cfe2d9;
}

.jhplag-assurance-card:nth-child(4) {
  --assurance-accent: #9b711c;
  --assurance-soft: #fff8e9;
  --assurance-line: #eadfbf;
}

.jhplag-assurance-card {
  position: relative;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-width: 0;
  min-height: 78px;
  padding: 13px 14px 13px 15px;
  overflow: hidden;
  border: 1px solid var(--assurance-line);
  border-radius: 11px;
  background: radial-gradient(circle at 100% 0, color-mix(in srgb, var(--assurance-accent) 8%, transparent), transparent 44%), linear-gradient(145deg, #ffffff 0%, var(--assurance-soft) 100%);
  box-shadow:
    0 5px 14px rgba(53, 18, 47, 0.045),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.jhplag-assurance-card::before {
  content: "";
  position: absolute;
  top: 12px;
  bottom: 12px;
  left: 0;
  width: 3px;
  border-radius: 0 4px 4px 0;
  background: var(--assurance-accent);
}

.jhplag-assurance-card::after {
  content: "";
  position: absolute;
  top: -26px;
  right: -26px;
  width: 72px;
  height: 72px;
  border: 1px solid var(--assurance-line);
  border-radius: 50%;
  opacity: 0.42;
  pointer-events: none;
}

.jhplag-assurance-card__icon {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid var(--assurance-line);
  border-radius: 50%;
  background: #ffffff;
  box-shadow:
    0 4px 10px rgba(53, 18, 47, 0.06),
    inset 0 0 0 4px var(--assurance-soft);
  color: var(--assurance-accent);
  font-family: Arial, sans-serif;
  font-size: 15px;
  font-style: normal;
  font-weight: 600;
  line-height: 1;
}

.jhplag-assurance-card > div {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.jhplag-assurance-card small {
  display: block;
  margin: 0 0 4px;
  color: var(--jhplag-muted);
  font-family: "Perpetua", Georgia, serif;
  font-size: 12.5px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.1;
  letter-spacing: 0.055em;
  white-space: normal;
}

.jhplag-assurance-card strong {
  display: block;
  min-width: 0;
  margin: 0;
  color: var(--assurance-accent);
  font-family: "Perpetua", Georgia, serif;
  font-size: 17px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.17;
  letter-spacing: 0.02em;
  white-space: normal;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
  text-wrap: balance;
}

.jhplag-assurance-card:hover {
  z-index: 2;
  border-color: var(--assurance-accent);
  box-shadow:
    0 11px 24px rgba(53, 18, 47, 0.09),
    inset 0 1px 0 rgba(255, 255, 255, 0.97);
  transform: translateY(-3px);
}

.jhplag-assurance-card:hover .jhplag-assurance-card__icon {
  border-color: var(--assurance-accent);
}

.jhplag-resources {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 24px;
  align-items: center;
  padding: clamp(20px, 3vw, 30px);
  overflow: hidden;
  border: 1px solid var(--jhplag-line);
  border-radius: 15px;
  background: radial-gradient(circle at 100% 0, rgba(224, 170, 53, 0.1), transparent 34%), linear-gradient(145deg, #fffdf8, #ffffff);
  box-shadow: 0 12px 28px rgba(53, 18, 47, 0.065);
}

.jhplag-resources::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhplag-wine), var(--jhplag-blue), var(--jhplag-gold));
}

.jhplag-resources h2 {
  margin: 0 !important;
  color: var(--jhplag-ink) !important;
  font-size: clamp(24px, 2.7vw, 33px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhplag-resources p {
  margin: 9px 0 0 !important;
  color: var(--jhplag-text) !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhplag-resource-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.jhplag-resource-links a {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 13px;
  border: 1px solid #d8e4ec;
  border-radius: 10px;
  background: #ffffff;
  transition:
    border-color 0.18s ease,
    background 0.18s ease,
    transform 0.18s ease;
}

.jhplag-resource-links a:hover,
.jhplag-resource-links a:focus-visible {
  border-color: var(--jhplag-blue);
  background: var(--jhplag-blue-soft);
  transform: translateY(-2px);
}

.jhplag-resource-links span {
  color: var(--jhplag-blue);
  font-size: 12.5px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.06em;
}

.jhplag-resource-links strong {
  margin-top: 5px;
  color: var(--jhplag-wine);
  font-size: 16px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.2;
}

@media (max-width: 980px) {
  .jhplag-hero,
  .jhplag-foundation,
  .jhplag-self,
  .jhplag-transparency,
  .jhplag-resources {
    grid-template-columns: 1fr;
  }

  .jhplag-threshold {
    max-width: 360px;
  }

  .jhplag-definition-grid,
  .jhplag-response-flow,
  .jhplag-allegation-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhplag-response-flow::before {
    display: none;
  }

  .jhplag-screening-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .jhplag-section-heading {
    grid-template-columns: 1fr;
    gap: 8px;
    align-items: start;
  }

  .jhplag-checklist,
  .jhplag-postpublication {
    grid-template-columns: 1fr;
  }

  .jhplag-decision-strip {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .jhplag-resource-links {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .jhplag {
    font-size: 16px;
  }

  .jhplag-hero {
    padding: 20px 16px;
    border-radius: 13px;
  }

  .jhplag-hero h2 {
    font-size: 30px !important;
  }

  .jhplag-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhplag-nav a {
    width: 100%;
    text-align: center;
  }

  .jhplag-definition-grid,
  .jhplag-response-flow,
  .jhplag-allegation-grid {
    grid-template-columns: 1fr;
  }

  .jhplag-warning {
    grid-template-columns: 1fr;
  }

  .jhplag-transparency__badges {
    display: grid;
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhplag a,
  .jhplag-nav a,
  .jhplag-resource-links a {
    transition: none !important;
  }

  .jhplag-nav a:hover,
  .jhplag-resource-links a:hover {
    transform: none !important;
  }
}

/* ==========================================================================
   @JH-13 — ABSTRACTING AND INDEXING CUSTOM PAGE
   Owner selectors: .jhindex
   Scope status: CUSTOM PAGE / isolated namespace
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* ==========================================================================
   @JH-13 — 13 — CUSTOM PAGE: ABSTRACTING AND INDEXING (.jhindex)
   Maintenance anchor: search exactly for @JH-13
   ========================================================================== */

.jhindex,
.jhindex *,
.jhindex *::before,
.jhindex *::after {
  box-sizing: border-box;
}

.jhindex {
  --jhindex-wine: #610c3a;
  --jhindex-wine-soft: #8f153d;
  --jhindex-blue: #2f6592;
  --jhindex-blue-dark: #204866;
  --jhindex-blue-soft: #eef6fb;
  --jhindex-gold: #e0aa35;
  --jhindex-ink: #2f272c;
  --jhindex-text: #4d4248;
  --jhindex-muted: #766a70;
  --jhindex-line: #e5d9e0;
  --jhindex-paper: #fffdfc;
  --jhindex-soft: #faf7f9;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  color: var(--jhindex-text);
  font-family: "Perpetua", Georgia, serif;
  font-size: 17px;
  line-height: 1.55;
}

.jhindex a {
  color: inherit;
  text-decoration: none;
}

.jhindex h2,
.jhindex h3,
.jhindex p {
  text-wrap: pretty;
}

.jhindex-kicker {
  display: block;
  margin: 0 0 6px;
  color: var(--jhindex-blue);
  font-size: 14px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.095em;
}

.jhindex-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(250px, 0.62fr);
  gap: clamp(22px, 4vw, 48px);
  align-items: center;
  margin: 0 0 14px;
  padding: clamp(23px, 4vw, 38px);
  overflow: hidden;
  border: 1px solid var(--jhindex-line);
  border-radius: 16px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.12), transparent 35%), radial-gradient(circle at 0% 100%, rgba(143, 21, 61, 0.08), transparent 33%), linear-gradient(145deg, #ffffff, var(--jhindex-paper));
  box-shadow:
    0 16px 38px rgba(53, 18, 47, 0.075),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.jhindex-hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhindex-wine), var(--jhindex-blue), var(--jhindex-gold));
}

.jhindex-hero h2 {
  margin: 0 !important;
  color: var(--jhindex-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: clamp(30px, 3.6vw, 45px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.1 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhindex-hero__lead {
  max-width: 850px;
  margin: 14px 0 0 !important;
  color: var(--jhindex-text) !important;
  font-size: 18px !important;
  font-style: italic;
  line-height: 1.55 !important;
  text-align: left !important;
}

.jhindex-total {
  display: flex;
  flex-direction: column;
  padding: 18px;
  border: 1px solid #cadbe7;
  border-radius: 13px;
  background: linear-gradient(145deg, var(--jhindex-blue), var(--jhindex-blue-dark));
  box-shadow: 0 10px 22px rgba(47, 101, 146, 0.18);
  color: #ffffff;
}

.jhindex-total__label {
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.08em;
  opacity: 0.82;
}

.jhindex-total strong {
  margin-top: 4px;
  font-size: 42px;
  font-weight: 300;
  font-style: italic;
  line-height: 1;
}

.jhindex-total small {
  margin-top: 8px;
  font-size: 14px;
  font-style: italic;
  line-height: 1.3;
  opacity: 0.88;
}

.jhindex-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 22px;
  padding: 0;
}

.jhindex-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 37px;
  padding: 7px 13px;
  border: 1px solid #d8e4ec;
  border-radius: 999px;
  background: #ffffff;
  color: var(--jhindex-blue);
  font-size: 15px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.045em;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.jhindex-nav a:hover,
.jhindex-nav a:focus-visible {
  border-color: var(--jhindex-blue);
  background: var(--jhindex-blue);
  color: #ffffff;
  transform: translateY(-1px);
}

.jhindex-intro {
  display: grid;
  grid-template-columns: minmax(240px, 0.7fr) minmax(0, 1.6fr);
  gap: 24px;
  align-items: center;
  margin-bottom: 24px;
  padding: 19px 20px;
  border: 1px solid var(--jhindex-line);
  border-radius: 13px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhindex-intro h2 {
  margin: 0 !important;
  color: var(--jhindex-ink) !important;
  font-size: clamp(24px, 2.6vw, 32px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.16 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhindex-intro > p {
  margin: 0 !important;
  color: var(--jhindex-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhindex-directory {
  margin-bottom: 24px;
}

.jhindex-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.65fr);
  gap: 22px;
  align-items: end;
  margin-bottom: 14px;
  padding: 0 2px 12px;
  border-bottom: 1px solid var(--jhindex-line);
}

.jhindex-section-heading h2 {
  margin: 0 !important;
  color: var(--jhindex-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhindex-section-heading > p {
  margin: 0 !important;
  color: var(--jhindex-muted) !important;
  font-size: 16px !important;
  font-style: italic;
  line-height: 1.4 !important;
  text-align: left !important;
}

.jhindex-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.jhindex-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 194px;
  padding: 16px;
  overflow: hidden;
  border: 1px solid var(--jhindex-line);
  border-radius: 12px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 5px 13px rgba(53, 18, 47, 0.035);
  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}

.jhindex-card::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 46px;
  height: 46px;
  border-radius: 0 0 0 100%;
  background: rgba(47, 101, 146, 0.045);
}

.jhindex-card:hover,
.jhindex-card:focus-visible {
  border-color: #bfd0dc;
  box-shadow: 0 10px 22px rgba(47, 101, 146, 0.09);
  transform: translateY(-2px);
}

.jhindex-card__number {
  display: block;
  color: var(--jhindex-blue);
  font-size: 13px;
  font-style: italic;
  line-height: 1;
  letter-spacing: 0.1em;
}

.jhindex-card__type {
  display: block;
  margin-top: 17px;
  color: var(--jhindex-muted);
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.1;
  letter-spacing: 0.065em;
}

.jhindex-card strong {
  margin-top: 5px;
  color: var(--jhindex-wine);
  font-size: 20px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.15;
  letter-spacing: 0.04em;
}

.jhindex-card small {
  margin-top: 7px;
  color: var(--jhindex-text);
  font-size: 15px;
  font-style: italic;
  line-height: 1.3;
}

.jhindex-card__action {
  margin-top: auto;
  padding-top: 18px;
  color: var(--jhindex-blue);
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.04em;
}

.jhindex-note {
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  padding: 17px 19px;
  border: 1px solid #d7e4ed;
  border-left: 3px solid var(--jhindex-blue);
  border-radius: 12px;
  background: linear-gradient(110deg, var(--jhindex-blue-soft), #ffffff 65%);
}

.jhindex-note__mark {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 12px;
  background: linear-gradient(145deg, var(--jhindex-blue), var(--jhindex-blue-dark));
  color: #ffffff;
  font-size: 22px;
  font-style: italic;
  box-shadow: 0 7px 15px rgba(47, 101, 146, 0.16);
}

.jhindex-note h2 {
  margin: 0 !important;
  color: var(--jhindex-wine) !important;
  font-size: 21px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
}

.jhindex-note p {
  margin: 7px 0 0 !important;
  color: var(--jhindex-text) !important;
  font-size: 15.5px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

@media (max-width: 980px) {
  .jhindex-hero,
  .jhindex-intro {
    grid-template-columns: 1fr;
  }

  .jhindex-total {
    max-width: 350px;
  }

  .jhindex-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .jhindex-section-heading {
    grid-template-columns: 1fr;
    gap: 8px;
    align-items: start;
  }
}

@media (max-width: 520px) {
  .jhindex {
    font-size: 16px;
  }

  .jhindex-hero {
    padding: 20px 16px;
    border-radius: 13px;
  }

  .jhindex-hero h2 {
    font-size: 30px !important;
  }

  .jhindex-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhindex-nav a {
    width: 100%;
    text-align: center;
  }

  .jhindex-grid {
    grid-template-columns: 1fr;
  }

  .jhindex-note {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhindex a,
  .jhindex-nav a,
  .jhindex-card {
    transition: none !important;
  }

  .jhindex-nav a:hover,
  .jhindex-card:hover {
    transform: none !important;
  }
}

/* ==========================================================================
   @JH-14 — ARTICLE PROCESSING CHARGES CUSTOM PAGE
   Owner selectors: .jhapc
   Scope status: CUSTOM PAGE / isolated namespace
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* ==========================================================================
   @JH-14 — 14 — CUSTOM PAGE: ARTICLE PROCESSING CHARGES (.jhapc)
   Maintenance anchor: search exactly for @JH-14
   ========================================================================== */

.jhapc,
.jhapc *,
.jhapc *::before,
.jhapc *::after {
  box-sizing: border-box;
}

.jhapc {
  --jhapc-wine: #610c3a;
  --jhapc-wine-soft: #8f153d;
  --jhapc-blue: #2f6592;
  --jhapc-blue-dark: #204866;
  --jhapc-blue-soft: #eef6fb;
  --jhapc-gold: #e0aa35;
  --jhapc-ink: #2f272c;
  --jhapc-text: #4d4248;
  --jhapc-muted: #766a70;
  --jhapc-line: #e5d9e0;
  --jhapc-paper: #fffdfc;
  --jhapc-soft: #faf7f9;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  color: var(--jhapc-text);
  font-family: "Perpetua", Georgia, serif;
  font-size: 17px;
  line-height: 1.55;
}

.jhapc a {
  color: inherit;
  text-decoration: none;
}

.jhapc h2,
.jhapc h3,
.jhapc p {
  text-wrap: pretty;
}

.jhapc-kicker {
  display: block;
  margin: 0 0 6px;
  color: var(--jhapc-blue);
  font-size: 14px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.095em;
}

.jhapc-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(280px, 0.68fr);
  gap: clamp(22px, 4vw, 48px);
  align-items: center;
  margin: 0 0 14px;
  padding: clamp(23px, 4vw, 38px);
  overflow: hidden;
  border: 1px solid var(--jhapc-line);
  border-radius: 16px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.12), transparent 35%), radial-gradient(circle at 0% 100%, rgba(143, 21, 61, 0.08), transparent 33%), linear-gradient(145deg, #ffffff, var(--jhapc-paper));
  box-shadow:
    0 16px 38px rgba(53, 18, 47, 0.075),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.jhapc-hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhapc-wine), var(--jhapc-blue), var(--jhapc-gold));
}

.jhapc-hero h2 {
  margin: 0 !important;
  color: var(--jhapc-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: clamp(30px, 3.6vw, 45px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.1 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhapc-hero__lead {
  max-width: 850px;
  margin: 14px 0 0 !important;
  color: var(--jhapc-text) !important;
  font-size: 18px !important;
  font-style: italic;
  line-height: 1.55 !important;
  text-align: left !important;
}

.jhapc-fee {
  display: flex;
  flex-direction: column;
  padding: 19px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 13px;
  background: linear-gradient(145deg, var(--jhapc-wine), #45102f);
  box-shadow: 0 10px 22px rgba(97, 12, 58, 0.18);
  color: #ffffff;
}

.jhapc-fee__label {
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.08em;
  opacity: 0.84;
}

.jhapc-fee strong {
  margin-top: 5px;
  font-size: 31px;
  font-weight: 300;
  font-style: italic;
  line-height: 1;
  letter-spacing: 0.025em;
}

.jhapc-fee small {
  margin-top: 9px;
  font-size: 14px;
  font-style: italic;
  line-height: 1.3;
  opacity: 0.88;
}

.jhapc-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 22px;
  padding: 0;
}

.jhapc-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 37px;
  padding: 7px 13px;
  border: 1px solid #d8e4ec;
  border-radius: 999px;
  background: #ffffff;
  color: var(--jhapc-blue);
  font-size: 15px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.045em;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.jhapc-nav a:hover,
.jhapc-nav a:focus-visible {
  border-color: var(--jhapc-blue);
  background: var(--jhapc-blue);
  color: #ffffff;
  transform: translateY(-1px);
}

.jhapc-overview,
.jhapc-supports {
  margin-bottom: 24px;
}

.jhapc-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.65fr);
  gap: 22px;
  align-items: end;
  margin-bottom: 14px;
  padding: 0 2px 12px;
  border-bottom: 1px solid var(--jhapc-line);
}

.jhapc-section-heading h2 {
  margin: 0 !important;
  color: var(--jhapc-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhapc-section-heading > p {
  margin: 0 !important;
  color: var(--jhapc-muted) !important;
  font-size: 16px !important;
  font-style: italic;
  line-height: 1.4 !important;
  text-align: left !important;
}

.jhapc-overview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.jhapc-overview-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 220px;
  padding: 17px;
  border: 1px solid var(--jhapc-line);
  border-radius: 12px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 5px 13px rgba(53, 18, 47, 0.035);
}

.jhapc-overview-card--free {
  border-top: 3px solid var(--jhapc-blue);
}

.jhapc-overview-card--paid {
  border-top: 3px solid var(--jhapc-gold);
}

.jhapc-overview-card__number {
  color: var(--jhapc-blue);
  font-size: 13px;
  font-style: italic;
  line-height: 1;
  letter-spacing: 0.1em;
}

.jhapc-overview-card__label {
  display: block;
  margin-top: 14px;
  color: var(--jhapc-muted);
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.065em;
}

.jhapc-overview-card h3 {
  margin: 5px 0 0 !important;
  color: var(--jhapc-wine) !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhapc-overview-card > strong {
  margin-top: auto;
  padding-top: 16px;
  color: var(--jhapc-blue-dark);
  font-size: 26px;
  font-weight: 300;
  font-style: italic;
  line-height: 1;
}

.jhapc-overview-card--paid > strong {
  color: var(--jhapc-wine);
}

.jhapc-overview-card p {
  margin: 9px 0 0 !important;
  color: var(--jhapc-text) !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  text-align: left !important;
}

.jhapc-payment-note {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 13px;
  align-items: center;
  margin-top: 10px;
  padding: 14px 16px;
  border: 1px solid #eadfbf;
  border-left: 3px solid var(--jhapc-gold);
  border-radius: 11px;
  background: linear-gradient(110deg, #fffaf0, #ffffff);
}

.jhapc-payment-note__mark {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  background: var(--jhapc-gold);
  color: #ffffff;
  font-family: Georgia, serif;
  font-size: 18px;
  font-style: italic;
  font-weight: 700;
}

.jhapc-payment-note p {
  margin: 0 !important;
  color: var(--jhapc-text) !important;
  font-size: 15.5px !important;
  font-style: italic;
  line-height: 1.43 !important;
  text-align: left !important;
}

.jhapc-independence {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(330px, 0.85fr);
  gap: 24px;
  align-items: center;
  margin-bottom: 24px;
  padding: clamp(20px, 3vw, 28px);
  border: 1px solid var(--jhapc-line);
  border-left: 4px solid var(--jhapc-blue);
  border-radius: 14px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.08), transparent 34%), linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 10px 24px rgba(53, 18, 47, 0.05);
}

.jhapc-independence h2 {
  margin: 0 !important;
  color: var(--jhapc-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhapc-independence__copy p {
  margin: 10px 0 0 !important;
  color: var(--jhapc-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhapc-independence__principles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.jhapc-independence-item {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  min-width: 0;
  padding: 12px;
  border: 1px solid #d7e4ed;
  border-radius: 10px;
  background: linear-gradient(145deg, #ffffff, var(--jhapc-blue-soft));
  box-shadow: 0 5px 12px rgba(47, 101, 146, 0.055);
}

.jhapc-independence-item__number {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid #cadbe7;
  border-radius: 8px;
  background: #ffffff;
  color: var(--jhapc-blue-dark);
  font-size: 12px;
  font-style: italic;
  line-height: 1;
}

.jhapc-independence-item > div {
  min-width: 0;
}

.jhapc-independence-item strong {
  display: block;
  color: var(--jhapc-wine);
  font-size: 16px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.15;
}

.jhapc-independence-item small {
  display: block;
  margin-top: 4px;
  color: var(--jhapc-text);
  font-size: 13.5px;
  font-style: italic;
  line-height: 1.3;
}

.jhapc-support-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.jhapc-support-grid article {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--jhapc-line);
  border-radius: 11px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhapc-support-grid article > span {
  color: var(--jhapc-blue);
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhapc-support-grid h3 {
  margin: 17px 0 0 !important;
  color: var(--jhapc-wine) !important;
  font-size: 18.5px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhapc-support-grid p {
  margin: 7px 0 0 !important;
  color: var(--jhapc-text) !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  text-align: left !important;
}

.jhapc-waiver {
  position: relative;
  margin-bottom: 24px;
  padding: clamp(20px, 3vw, 30px);
  overflow: hidden;
  border: 1px solid var(--jhapc-line);
  border-radius: 15px;
  background: radial-gradient(circle at 100% 0, rgba(224, 170, 53, 0.09), transparent 34%), linear-gradient(145deg, #fffdf8, #ffffff);
  box-shadow: 0 12px 28px rgba(53, 18, 47, 0.06);
}

.jhapc-waiver::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhapc-wine), var(--jhapc-blue), var(--jhapc-gold));
}

.jhapc-waiver__intro {
  max-width: 880px;
  margin-bottom: 16px;
}

.jhapc-waiver h2 {
  margin: 0 !important;
  color: var(--jhapc-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhapc-waiver__intro p {
  margin: 10px 0 0 !important;
  color: var(--jhapc-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhapc-waiver__intro a {
  color: var(--jhapc-blue);
  font-weight: 600;
}

.jhapc-waiver__steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.jhapc-waiver__steps::before {
  content: "";
  position: absolute;
  top: 31px;
  right: 5%;
  left: 5%;
  height: 1px;
  background: linear-gradient(90deg, var(--jhapc-wine), var(--jhapc-blue), var(--jhapc-gold));
  opacity: 0.35;
}

.jhapc-waiver-step {
  position: relative;
  z-index: 1;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--jhapc-line);
  border-radius: 11px;
  background: #ffffff;
}

.jhapc-waiver-step__number {
  display: grid;
  width: 36px;
  height: 36px;
  margin-bottom: 12px;
  place-items: center;
  border: 1px solid #cadbe7;
  border-radius: 50%;
  background: var(--jhapc-blue-soft);
  color: var(--jhapc-blue-dark);
  font-size: 13px;
  font-style: italic;
}

.jhapc-waiver-step__label {
  display: block;
  margin-bottom: 4px;
  color: var(--jhapc-blue);
  font-size: 12.5px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.065em;
}

.jhapc-waiver-step h3 {
  margin: 0 !important;
  color: var(--jhapc-wine) !important;
  font-size: 18px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhapc-waiver-step p {
  margin: 7px 0 0 !important;
  color: var(--jhapc-text) !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  text-align: left !important;
}

.jhapc-waiver-note {
  display: grid;
  grid-template-columns: minmax(150px, 0.4fr) minmax(0, 1.8fr);
  gap: 15px;
  align-items: center;
  margin-top: 10px;
  padding: 14px 16px;
  border: 1px solid #d7e4ed;
  border-left: 3px solid var(--jhapc-blue);
  border-radius: 11px;
  background: linear-gradient(110deg, var(--jhapc-blue-soft), #ffffff);
}

.jhapc-waiver-note__label {
  color: var(--jhapc-blue);
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.06em;
}

.jhapc-waiver-note p {
  margin: 0 !important;
  color: var(--jhapc-text) !important;
  font-size: 15.5px !important;
  font-style: italic;
  line-height: 1.43 !important;
  text-align: left !important;
}

.jhapc-contact {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: clamp(20px, 3vw, 30px);
  overflow: hidden;
  border: 1px solid var(--jhapc-line);
  border-radius: 15px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.09), transparent 34%), linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 12px 28px rgba(53, 18, 47, 0.06);
}

.jhapc-contact::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhapc-wine), var(--jhapc-blue), var(--jhapc-gold));
}

.jhapc-contact h2 {
  margin: 0 !important;
  color: var(--jhapc-ink) !important;
  font-size: clamp(24px, 2.7vw, 33px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhapc-contact p {
  max-width: 760px;
  margin: 9px 0 0 !important;
  color: var(--jhapc-text) !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhapc-contact__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid var(--jhapc-wine);
  border-radius: 9px;
  background: var(--jhapc-wine);
  color: #ffffff !important;
  font-size: 16px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.1;
  letter-spacing: 0.035em;
  box-shadow: 0 7px 16px rgba(97, 12, 58, 0.14);
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    transform 0.18s ease;
}

.jhapc-contact__button:hover,
.jhapc-contact__button:focus-visible {
  border-color: var(--jhapc-blue);
  background: var(--jhapc-blue);
  transform: translateY(-2px);
}

@media (max-width: 980px) {
  .jhapc-hero,
  .jhapc-independence,
  .jhapc-contact {
    grid-template-columns: 1fr;
  }

  .jhapc-fee {
    max-width: 390px;
  }

  .jhapc-waiver__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhapc-waiver__steps::before {
    display: none;
  }
}

@media (max-width: 760px) {
  .jhapc-section-heading {
    grid-template-columns: 1fr;
    gap: 8px;
    align-items: start;
  }

  .jhapc-overview-grid,
  .jhapc-support-grid {
    grid-template-columns: 1fr;
  }

  .jhapc-waiver-note {
    grid-template-columns: 1fr;
    gap: 7px;
  }
}

@media (max-width: 520px) {
  .jhapc {
    font-size: 16px;
  }

  .jhapc-hero {
    padding: 20px 16px;
    border-radius: 13px;
  }

  .jhapc-hero h2 {
    font-size: 30px !important;
  }

  .jhapc-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhapc-nav a {
    width: 100%;
    text-align: center;
  }

  .jhapc-payment-note {
    grid-template-columns: 1fr;
  }

  .jhapc-independence__principles {
    grid-template-columns: 1fr;
  }

  .jhapc-waiver__steps {
    grid-template-columns: 1fr;
  }

  .jhapc-contact__button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhapc a,
  .jhapc-nav a,
  .jhapc-contact__button {
    transition: none !important;
  }

  .jhapc-nav a:hover,
  .jhapc-contact__button:hover {
    transform: none !important;
  }
}

/* ==========================================================================
   @JH-15 — REVIEWER GUIDELINES CUSTOM PAGE
   Owner selectors: .jhreview
   Scope status: CUSTOM PAGE / isolated namespace
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* ==========================================================================
   @JH-15 — 15 — CUSTOM PAGE: REVIEWER GUIDELINES (.jhreview)
   Maintenance anchor: search exactly for @JH-15
   ========================================================================== */

.jhreview,
.jhreview *,
.jhreview *::before,
.jhreview *::after {
  box-sizing: border-box;
}

.jhreview {
  --jhreview-wine: #610c3a;
  --jhreview-wine-soft: #8f153d;
  --jhreview-blue: #2f6592;
  --jhreview-blue-dark: #204866;
  --jhreview-blue-soft: #eef6fb;
  --jhreview-gold: #e0aa35;
  --jhreview-ink: #2f272c;
  --jhreview-text: #4d4248;
  --jhreview-muted: #766a70;
  --jhreview-line: #e5d9e0;
  --jhreview-paper: #fffdfc;
  --jhreview-soft: #faf7f9;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  color: var(--jhreview-text);
  font-family: "Perpetua", Georgia, serif;
  font-size: 17px;
  line-height: 1.55;
}

.jhreview a {
  color: inherit;
  text-decoration: none;
}

.jhreview h2,
.jhreview h3,
.jhreview p {
  text-wrap: pretty;
}

.jhreview-kicker {
  display: block;
  margin: 0 0 6px;
  color: var(--jhreview-blue);
  font-size: 14px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.095em;
}

.jhreview-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(290px, 0.7fr);
  gap: clamp(22px, 4vw, 48px);
  align-items: center;
  margin: 0 0 14px;
  padding: clamp(23px, 4vw, 38px);
  overflow: hidden;
  border: 1px solid var(--jhreview-line);
  border-radius: 16px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.12), transparent 35%), radial-gradient(circle at 0% 100%, rgba(143, 21, 61, 0.08), transparent 33%), linear-gradient(145deg, #ffffff, var(--jhreview-paper));
  box-shadow:
    0 16px 38px rgba(53, 18, 47, 0.075),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.jhreview-hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhreview-wine), var(--jhreview-blue), var(--jhreview-gold));
}

.jhreview-hero h2 {
  margin: 0 !important;
  color: var(--jhreview-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: clamp(30px, 3.6vw, 45px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.1 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhreview-hero__lead {
  max-width: 850px;
  margin: 14px 0 0 !important;
  color: var(--jhreview-text) !important;
  font-size: 18px !important;
  font-style: italic;
  line-height: 1.55 !important;
  text-align: left !important;
}

.jhreview-timing {
  display: flex;
  flex-direction: column;
  padding: 18px;
  border: 1px solid #cadbe7;
  border-radius: 13px;
  background: linear-gradient(145deg, var(--jhreview-blue), var(--jhreview-blue-dark));
  box-shadow: 0 10px 22px rgba(47, 101, 146, 0.18);
  color: #ffffff;
}

.jhreview-timing__label {
  margin-bottom: 8px;
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.08em;
  opacity: 0.84;
}

.jhreview-timing__row {
  display: flex;
  flex-direction: column;
  padding: 10px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.jhreview-timing__row small {
  font-size: 13px;
  font-style: italic;
  line-height: 1.2;
  opacity: 0.8;
}

.jhreview-timing__row strong {
  margin-top: 3px;
  font-size: 20px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.1;
}

.jhreview-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 22px;
  padding: 0;
}

.jhreview-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 37px;
  padding: 7px 13px;
  border: 1px solid #d8e4ec;
  border-radius: 999px;
  background: #ffffff;
  color: var(--jhreview-blue);
  font-size: 15px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.045em;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.jhreview-nav a:hover,
.jhreview-nav a:focus-visible {
  border-color: var(--jhreview-blue);
  background: var(--jhreview-blue);
  color: #ffffff;
  transform: translateY(-1px);
}

.jhreview-intro {
  display: grid;
  grid-template-columns: minmax(250px, 0.75fr) minmax(0, 1.55fr);
  gap: 24px;
  align-items: center;
  margin-bottom: 24px;
  padding: 19px 20px;
  border: 1px solid var(--jhreview-line);
  border-radius: 13px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhreview-intro h2 {
  margin: 0 !important;
  color: var(--jhreview-ink) !important;
  font-size: clamp(24px, 2.6vw, 32px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.16 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhreview-intro > p {
  margin: 0 !important;
  color: var(--jhreview-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhreview-before,
.jhreview-duties,
.jhreview-criteria,
.jhreview-submit {
  margin-bottom: 24px;
}

.jhreview-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.65fr);
  gap: 22px;
  align-items: end;
  margin-bottom: 14px;
  padding: 0 2px 12px;
  border-bottom: 1px solid var(--jhreview-line);
}

.jhreview-section-heading h2 {
  margin: 0 !important;
  color: var(--jhreview-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhreview-section-heading > p {
  margin: 0 !important;
  color: var(--jhreview-muted) !important;
  font-size: 16px !important;
  font-style: italic;
  line-height: 1.4 !important;
  text-align: left !important;
}

.jhreview-before-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.jhreview-before-card {
  min-width: 0;
  padding: 17px;
  border: 1px solid var(--jhreview-line);
  border-radius: 12px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 5px 13px rgba(53, 18, 47, 0.035);
}

.jhreview-before-card__number {
  color: var(--jhreview-blue);
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhreview-before-card h3 {
  margin: 18px 0 0 !important;
  color: var(--jhreview-wine) !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhreview-before-card p {
  margin: 8px 0 0 !important;
  color: var(--jhreview-text) !important;
  font-size: 15.5px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhreview-decline-note {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 13px;
  align-items: center;
  margin-top: 10px;
  padding: 14px 16px;
  border: 1px solid #d7e4ed;
  border-left: 3px solid var(--jhreview-blue);
  border-radius: 11px;
  background: linear-gradient(110deg, var(--jhreview-blue-soft), #ffffff);
}

.jhreview-decline-note__mark {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  background: var(--jhreview-blue);
  color: #ffffff;
  font-family: Georgia, serif;
  font-size: 18px;
  font-style: italic;
  font-weight: 700;
}

.jhreview-decline-note p {
  margin: 0 !important;
  color: var(--jhreview-text) !important;
  font-size: 15.5px !important;
  font-style: italic;
  line-height: 1.43 !important;
  text-align: left !important;
}

.jhreview-duty-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.jhreview-duty-grid article {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--jhreview-line);
  border-radius: 11px;
  background: var(--jhreview-soft);
}

.jhreview-duty-grid article > span {
  color: var(--jhreview-blue);
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhreview-duty-grid h3 {
  margin: 17px 0 0 !important;
  color: var(--jhreview-wine) !important;
  font-size: 18.5px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhreview-duty-grid p {
  margin: 7px 0 0 !important;
  color: var(--jhreview-text) !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  text-align: left !important;
}

.jhreview-criteria-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.jhreview-criteria-card {
  min-width: 0;
  padding: 17px;
  border: 1px solid var(--jhreview-line);
  border-radius: 12px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.05), transparent 34%), linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 5px 13px rgba(53, 18, 47, 0.035);
}

.jhreview-criteria-card__heading {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 11px;
  align-items: center;
  margin-bottom: 12px;
}

.jhreview-criteria-card__heading > span {
  display: grid;
  min-height: 42px;
  place-items: center;
  border: 1px solid #cadbe7;
  border-radius: 9px;
  background: var(--jhreview-blue-soft);
  color: var(--jhreview-blue-dark);
  font-size: 13px;
  font-style: italic;
  line-height: 1;
}

.jhreview-criteria-card h3 {
  margin: 0 !important;
  color: var(--jhreview-wine) !important;
  font-size: 19px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhreview-criteria-card ol {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: jhreview-counter calc(var(--jhreview-start, 1) - 1);
}

.jhreview-criteria-card ol[start="3"] {
  --jhreview-start: 3;
}

.jhreview-criteria-card ol[start="5"] {
  --jhreview-start: 5;
}

.jhreview-criteria-card ol[start="9"] {
  --jhreview-start: 9;
}

.jhreview-criteria-card ol[start="11"] {
  --jhreview-start: 11;
}

.jhreview-criteria-card ol[start="13"] {
  --jhreview-start: 13;
}

.jhreview-criteria-card li {
  position: relative;
  min-height: 40px;
  padding: 9px 10px 9px 38px;
  border: 1px solid #eee4e9;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
  color: var(--jhreview-text);
  font-size: 15px;
  line-height: 1.4;
  counter-increment: jhreview-counter;
  text-align: left;
}

.jhreview-criteria-card li::before {
  content: counter(jhreview-counter, decimal-leading-zero);
  position: absolute;
  top: 9px;
  left: 10px;
  color: var(--jhreview-blue);
  font-size: 12px;
  font-style: italic;
  line-height: 1.2;
}

.jhreview-structure {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: 24px;
  align-items: start;
  margin-bottom: 24px;
  padding: clamp(20px, 3vw, 29px);
  border: 1px solid var(--jhreview-line);
  border-radius: 14px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.07), transparent 34%), linear-gradient(145deg, #fffdfc, #ffffff);
  box-shadow: 0 10px 24px rgba(53, 18, 47, 0.05);
}

.jhreview-structure h2 {
  margin: 0 !important;
  color: var(--jhreview-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhreview-structure__copy p {
  margin: 10px 0 0 !important;
  color: var(--jhreview-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhreview-structure__items {
  display: grid;
  gap: 8px;
}

.jhreview-structure__items article {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 10px;
  padding: 12px;
  border: 1px solid #d7e4ed;
  border-radius: 10px;
  background: linear-gradient(145deg, #ffffff, var(--jhreview-blue-soft));
}

.jhreview-structure__items article > span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid #cadbe7;
  border-radius: 8px;
  background: #ffffff;
  color: var(--jhreview-blue-dark);
  font-size: 12px;
  font-style: italic;
}

.jhreview-structure__items strong {
  color: var(--jhreview-wine);
  font-size: 16px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.15;
}

.jhreview-structure__items p {
  margin: 4px 0 0 !important;
  color: var(--jhreview-text) !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  text-align: left !important;
}

.jhreview-recommendations {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.jhreview-recommendation {
  position: relative;
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--jhreview-line);
  border-top: 3px solid var(--jhreview-blue);
  border-radius: 11px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhreview-recommendation--positive {
  border-top-color: #3f7a64;
}

.jhreview-recommendation--negative {
  border-top-color: var(--jhreview-wine);
}

.jhreview-recommendation__number {
  color: var(--jhreview-blue);
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhreview-recommendation h3 {
  margin: 17px 0 0 !important;
  color: var(--jhreview-wine) !important;
  font-size: 18.5px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhreview-recommendation p {
  margin: 7px 0 0 !important;
  color: var(--jhreview-text) !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  text-align: left !important;
}

.jhreview-final-note {
  display: grid;
  grid-template-columns: minmax(160px, 0.42fr) minmax(0, 1.7fr);
  gap: 15px;
  align-items: center;
  margin-top: 10px;
  padding: 14px 16px;
  border: 1px solid #eadfbf;
  border-left: 3px solid var(--jhreview-gold);
  border-radius: 11px;
  background: linear-gradient(110deg, #fffaf0, #ffffff);
}

.jhreview-final-note__label {
  color: #8b6618;
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.06em;
}

.jhreview-final-note p {
  margin: 0 !important;
  color: var(--jhreview-text) !important;
  font-size: 15.5px !important;
  font-style: italic;
  line-height: 1.43 !important;
  text-align: left !important;
}

.jhreview-comments {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 24px;
  align-items: start;
  margin-bottom: 24px;
  padding: clamp(20px, 3vw, 29px);
  border: 1px solid var(--jhreview-line);
  border-left: 4px solid var(--jhreview-wine);
  border-radius: 14px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhreview-comments h2 {
  margin: 0 !important;
  color: var(--jhreview-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhreview-comments__copy p {
  margin: 10px 0 0 !important;
  color: var(--jhreview-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhreview-comments__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.jhreview-comments__list li {
  position: relative;
  padding: 10px 11px 10px 31px;
  border: 1px solid #d7e4ed;
  border-radius: 8px;
  background: var(--jhreview-blue-soft);
  color: var(--jhreview-text);
  font-size: 14.5px;
  font-style: italic;
  line-height: 1.35;
  text-align: left;
}

.jhreview-comments__list li::before {
  content: "✓";
  position: absolute;
  top: 10px;
  left: 11px;
  color: var(--jhreview-blue);
  font-family: Arial, sans-serif;
  font-size: 12px;
}

.jhreview-resources {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: 24px;
  align-items: center;
  margin-bottom: 24px;
  padding: clamp(20px, 3vw, 30px);
  overflow: hidden;
  border: 1px solid var(--jhreview-line);
  border-radius: 15px;
  background: radial-gradient(circle at 100% 0, rgba(224, 170, 53, 0.1), transparent 34%), linear-gradient(145deg, #fffdf8, #ffffff);
  box-shadow: 0 12px 28px rgba(53, 18, 47, 0.065);
}

.jhreview-resources::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhreview-wine), var(--jhreview-blue), var(--jhreview-gold));
}

.jhreview-resources h2 {
  margin: 0 !important;
  color: var(--jhreview-ink) !important;
  font-size: clamp(24px, 2.7vw, 33px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhreview-resources p {
  margin: 9px 0 0 !important;
  color: var(--jhreview-text) !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhreview-resource-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.jhreview-resource-links a {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 132px;
  padding: 13px;
  border: 1px solid #d8e4ec;
  border-radius: 10px;
  background: #ffffff;
  transition:
    border-color 0.18s ease,
    background 0.18s ease,
    transform 0.18s ease;
}

.jhreview-resource-links a:hover,
.jhreview-resource-links a:focus-visible {
  border-color: var(--jhreview-blue);
  background: var(--jhreview-blue-soft);
  transform: translateY(-2px);
}

.jhreview-resource-links span {
  color: var(--jhreview-blue);
  font-size: 12.5px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.06em;
}

.jhreview-resource-links strong {
  margin-top: 8px;
  color: var(--jhreview-wine);
  font-size: 16px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.2;
}

.jhreview-resource-links small {
  margin-top: auto;
  padding-top: 12px;
  color: var(--jhreview-blue);
  font-size: 13px;
  font-style: italic;
}

.jhreview-contact {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: clamp(20px, 3vw, 30px);
  overflow: hidden;
  border: 1px solid var(--jhreview-line);
  border-radius: 15px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.09), transparent 34%), linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 12px 28px rgba(53, 18, 47, 0.06);
}

.jhreview-contact::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhreview-wine), var(--jhreview-blue), var(--jhreview-gold));
}

.jhreview-contact h2 {
  margin: 0 !important;
  color: var(--jhreview-ink) !important;
  font-size: clamp(24px, 2.7vw, 33px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhreview-contact p {
  max-width: 760px;
  margin: 9px 0 0 !important;
  color: var(--jhreview-text) !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhreview-contact__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid var(--jhreview-wine);
  border-radius: 9px;
  background: var(--jhreview-wine);
  color: #ffffff !important;
  font-size: 16px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.1;
  letter-spacing: 0.035em;
  box-shadow: 0 7px 16px rgba(97, 12, 58, 0.14);
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    transform 0.18s ease;
}

.jhreview-contact__button:hover,
.jhreview-contact__button:focus-visible {
  border-color: var(--jhreview-blue);
  background: var(--jhreview-blue);
  transform: translateY(-2px);
}

@media (max-width: 980px) {
  .jhreview-hero,
  .jhreview-intro,
  .jhreview-structure,
  .jhreview-comments,
  .jhreview-resources,
  .jhreview-contact {
    grid-template-columns: 1fr;
  }

  .jhreview-timing {
    max-width: 390px;
  }

  .jhreview-before-grid,
  .jhreview-duty-grid,
  .jhreview-recommendations {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .jhreview-section-heading {
    grid-template-columns: 1fr;
    gap: 8px;
    align-items: start;
  }

  .jhreview-criteria-grid {
    grid-template-columns: 1fr;
  }

  .jhreview-resource-links {
    grid-template-columns: 1fr;
  }

  .jhreview-final-note {
    grid-template-columns: 1fr;
    gap: 7px;
  }
}

@media (max-width: 560px) {
  .jhreview {
    font-size: 16px;
  }

  .jhreview-hero {
    padding: 20px 16px;
    border-radius: 13px;
  }

  .jhreview-hero h2 {
    font-size: 30px !important;
  }

  .jhreview-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhreview-nav a {
    width: 100%;
    text-align: center;
  }

  .jhreview-before-grid,
  .jhreview-duty-grid,
  .jhreview-recommendations,
  .jhreview-comments__list {
    grid-template-columns: 1fr;
  }

  .jhreview-decline-note {
    grid-template-columns: 1fr;
  }

  .jhreview-contact__button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhreview a,
  .jhreview-nav a,
  .jhreview-resource-links a,
  .jhreview-contact__button {
    transition: none !important;
  }

  .jhreview-nav a:hover,
  .jhreview-resource-links a:hover,
  .jhreview-contact__button:hover {
    transform: none !important;
  }
}

/* ==========================================================================
   @JH-16 — JOURNAL HISTORY CUSTOM PAGE
   Owner selectors: .jhhistory
   Scope status: CUSTOM PAGE / isolated namespace
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* ==========================================================================
   @JH-16 — 16 — CUSTOM PAGE: JOURNAL HISTORY (.jhhistory)
   Maintenance anchor: search exactly for @JH-16
   ========================================================================== */

.jhhistory,
.jhhistory *,
.jhhistory *::before,
.jhhistory *::after {
  box-sizing: border-box;
}

.jhhistory {
  --jhhistory-wine: #610c3a;
  --jhhistory-wine-soft: #8f153d;
  --jhhistory-blue: #2f6592;
  --jhhistory-blue-dark: #204866;
  --jhhistory-blue-soft: #eef6fb;
  --jhhistory-gold: #e0aa35;
  --jhhistory-ink: #2f272c;
  --jhhistory-text: #4d4248;
  --jhhistory-muted: #766a70;
  --jhhistory-line: #e5d9e0;
  --jhhistory-paper: #fffdfc;
  --jhhistory-soft: #faf7f9;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  color: var(--jhhistory-text);
  font-family: "Perpetua", Georgia, serif;
  font-size: 17px;
  line-height: 1.55;
}

.jhhistory a {
  color: inherit;
  text-decoration: none;
}

.jhhistory h2,
.jhhistory h3,
.jhhistory p {
  text-wrap: pretty;
}

.jhhistory-kicker {
  display: block;
  margin: 0 0 6px;
  color: var(--jhhistory-blue);
  font-size: 14px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.095em;
}

.jhhistory-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(300px, 0.8fr);
  gap: clamp(22px, 4vw, 48px);
  align-items: center;
  margin: 0 0 14px;
  padding: clamp(23px, 4vw, 38px);
  overflow: hidden;
  border: 1px solid var(--jhhistory-line);
  border-radius: 16px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.12), transparent 35%), radial-gradient(circle at 0% 100%, rgba(143, 21, 61, 0.08), transparent 33%), linear-gradient(145deg, #ffffff, var(--jhhistory-paper));
  box-shadow:
    0 16px 38px rgba(53, 18, 47, 0.075),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.jhhistory-hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhhistory-wine), var(--jhhistory-blue), var(--jhhistory-gold));
}

.jhhistory-hero h2 {
  margin: 0 !important;
  color: var(--jhhistory-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: clamp(30px, 3.6vw, 45px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.1 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhhistory-hero__lead {
  max-width: 850px;
  margin: 14px 0 0 !important;
  color: var(--jhhistory-text) !important;
  font-size: 18px !important;
  font-style: italic;
  line-height: 1.55 !important;
  text-align: left !important;
}

.jhhistory-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

.jhhistory-summary > div {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 13px;
  border: 1px solid #d8e4ec;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.84);
}

.jhhistory-summary small {
  color: var(--jhhistory-muted);
  font-size: 12px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.15;
  letter-spacing: 0.055em;
}

.jhhistory-summary strong {
  margin-top: 5px;
  color: var(--jhhistory-wine);
  font-size: 18px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.1;
}

.jhhistory-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 22px;
  padding: 0;
}

.jhhistory-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 70px;
  min-height: 37px;
  padding: 7px 13px;
  border: 1px solid #d8e4ec;
  border-radius: 999px;
  background: #ffffff;
  color: var(--jhhistory-blue);
  font-size: 15px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.045em;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.jhhistory-nav a:hover,
.jhhistory-nav a:focus-visible {
  border-color: var(--jhhistory-blue);
  background: var(--jhhistory-blue);
  color: #ffffff;
  transform: translateY(-1px);
}

.jhhistory-intro {
  display: grid;
  grid-template-columns: minmax(250px, 0.75fr) minmax(0, 1.55fr);
  gap: 24px;
  align-items: center;
  margin-bottom: 24px;
  padding: 19px 20px;
  border: 1px solid var(--jhhistory-line);
  border-radius: 13px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhhistory-intro h2 {
  margin: 0 !important;
  color: var(--jhhistory-ink) !important;
  font-size: clamp(24px, 2.6vw, 32px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.16 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhhistory-intro > p {
  margin: 0 !important;
  color: var(--jhhistory-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhhistory-timeline {
  position: relative;
  display: grid;
  gap: 19px;
  margin-bottom: 24px;
}

.jhhistory-timeline::before {
  content: "";
  position: absolute;
  top: 58px;
  bottom: 58px;
  left: 154px;
  width: 2px;
  background: linear-gradient(180deg, var(--jhhistory-wine), var(--jhhistory-blue), var(--jhhistory-gold));
  opacity: 0.28;
}

.jhhistory-year {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
  scroll-margin-top: 24px;
}

.jhhistory-year__header {
  position: sticky;
  top: 18px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  padding: 14px;
  border: 1px solid var(--jhhistory-line);
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 7px 16px rgba(53, 18, 47, 0.055);
}

.jhhistory-year__header span {
  color: var(--jhhistory-wine);
  font-size: 25px;
  font-weight: 300;
  font-style: italic;
  line-height: 1;
}

.jhhistory-year__header strong {
  margin-top: 7px;
  color: var(--jhhistory-muted);
  font-size: 13px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.25;
  letter-spacing: 0.055em;
}

.jhhistory-year__events {
  display: grid;
  gap: 10px;
}

.jhhistory-event {
  position: relative;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.jhhistory-event__marker {
  position: relative;
  z-index: 2;
  display: grid;
  width: 34px;
  height: 34px;
  margin-top: 17px;
  place-items: center;
  border: 1px solid #cadbe7;
  border-radius: 50%;
  background: var(--jhhistory-blue-soft);
  box-shadow: 0 0 0 6px #ffffff;
}

.jhhistory-event__marker span {
  color: var(--jhhistory-blue-dark);
  font-size: 11px;
  font-style: italic;
  line-height: 1;
}

.jhhistory-event__card {
  position: relative;
  min-width: 0;
  padding: 17px 18px;
  overflow: hidden;
  border: 1px solid var(--jhhistory-line);
  border-radius: 12px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.045), transparent 34%), linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 5px 13px rgba(53, 18, 47, 0.035);
}

.jhhistory-event__card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(180deg, var(--jhhistory-wine), var(--jhhistory-blue));
}

.jhhistory-event__card time {
  display: inline-flex;
  padding: 5px 9px;
  border: 1px solid #eadfbf;
  border-radius: 999px;
  background: #fffaf0;
  color: #8b6618;
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.045em;
}

.jhhistory-event__category {
  display: block;
  margin-top: 12px;
  color: var(--jhhistory-blue);
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.1;
  letter-spacing: 0.075em;
}

.jhhistory-event__card h3 {
  margin: 5px 0 0 !important;
  color: var(--jhhistory-wine) !important;
  font-size: 21px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
}

.jhhistory-event__card p {
  margin: 8px 0 0 !important;
  color: var(--jhhistory-text) !important;
  font-size: 15.5px !important;
  line-height: 1.46 !important;
  text-align: left !important;
}

.jhhistory-event__card p a {
  color: var(--jhhistory-blue);
  font-weight: 600;
}

.jhhistory-event__link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 12px;
  padding: 7px 10px;
  border: 1px solid #d7e4ed;
  border-radius: 8px;
  background: var(--jhhistory-blue-soft);
  color: var(--jhhistory-blue);
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.04em;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.jhhistory-event__link:hover,
.jhhistory-event__link:focus-visible {
  border-color: var(--jhhistory-blue);
  background: var(--jhhistory-blue);
  color: #ffffff;
  transform: translateY(-1px);
}

.jhhistory-footer {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: clamp(20px, 3vw, 30px);
  overflow: hidden;
  border: 1px solid var(--jhhistory-line);
  border-radius: 15px;
  background: radial-gradient(circle at 100% 0, rgba(224, 170, 53, 0.1), transparent 34%), linear-gradient(145deg, #fffdf8, #ffffff);
  box-shadow: 0 12px 28px rgba(53, 18, 47, 0.065);
}

.jhhistory-footer::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhhistory-wine), var(--jhhistory-blue), var(--jhhistory-gold));
}

.jhhistory-footer h2 {
  margin: 0 !important;
  color: var(--jhhistory-ink) !important;
  font-size: clamp(24px, 2.7vw, 33px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhhistory-footer p {
  margin: 9px 0 0 !important;
  color: var(--jhhistory-text) !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhhistory-footer__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid var(--jhhistory-wine);
  border-radius: 9px;
  background: var(--jhhistory-wine);
  color: #ffffff !important;
  font-size: 16px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.1;
  letter-spacing: 0.035em;
  box-shadow: 0 7px 16px rgba(97, 12, 58, 0.14);
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    transform 0.18s ease;
}

.jhhistory-footer__button:hover,
.jhhistory-footer__button:focus-visible {
  border-color: var(--jhhistory-blue);
  background: var(--jhhistory-blue);
  transform: translateY(-2px);
}

@media (max-width: 980px) {
  .jhhistory-hero,
  .jhhistory-intro,
  .jhhistory-footer {
    grid-template-columns: 1fr;
  }

  .jhhistory-summary {
    max-width: 620px;
  }

  .jhhistory-timeline::before {
    left: 124px;
  }

  .jhhistory-year {
    grid-template-columns: 102px minmax(0, 1fr);
    gap: 18px;
  }

  .jhhistory-year__header {
    padding: 12px;
  }

  .jhhistory-year__header span {
    font-size: 22px;
  }
}

@media (max-width: 720px) {
  .jhhistory-timeline::before {
    left: 16px;
  }

  .jhhistory-year {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .jhhistory-year__header {
    position: relative;
    top: auto;
    margin-left: 42px;
  }

  .jhhistory-event {
    grid-template-columns: 34px minmax(0, 1fr);
  }
}

@media (max-width: 520px) {
  .jhhistory {
    font-size: 16px;
  }

  .jhhistory-hero {
    padding: 20px 16px;
    border-radius: 13px;
  }

  .jhhistory-hero h2 {
    font-size: 30px !important;
  }

  .jhhistory-summary {
    grid-template-columns: 1fr;
  }

  .jhhistory-nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .jhhistory-nav a {
    min-width: 0;
    width: 100%;
  }

  .jhhistory-event {
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 10px;
  }

  .jhhistory-event__marker {
    width: 28px;
    height: 28px;
    box-shadow: 0 0 0 4px #ffffff;
  }

  .jhhistory-event__card {
    padding: 15px;
  }

  .jhhistory-footer__button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhhistory a,
  .jhhistory-nav a,
  .jhhistory-event__link,
  .jhhistory-footer__button {
    transition: none !important;
  }

  .jhhistory-nav a:hover,
  .jhhistory-event__link:hover,
  .jhhistory-footer__button:hover {
    transform: none !important;
  }
}

/* ==========================================================================
   @JH-17 — OPEN-ACCESS POLICY CUSTOM PAGE
   Owner selectors: .jhoa
   Scope status: CUSTOM PAGE / isolated namespace
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* ==========================================================================
   @JH-17 — 17 — CUSTOM PAGE: OPEN ACCESS POLICY (.jhoa)
   Maintenance anchor: search exactly for @JH-17
   ========================================================================== */

.jhoa,
.jhoa *,
.jhoa *::before,
.jhoa *::after {
  box-sizing: border-box;
}

.jhoa {
  --jhoa-wine: #610c3a;
  --jhoa-wine-soft: #8f153d;
  --jhoa-blue: #2f6592;
  --jhoa-blue-dark: #204866;
  --jhoa-blue-soft: #eef6fb;
  --jhoa-gold: #e0aa35;
  --jhoa-ink: #2f272c;
  --jhoa-text: #4d4248;
  --jhoa-muted: #766a70;
  --jhoa-line: #e5d9e0;
  --jhoa-paper: #fffdfc;
  --jhoa-soft: #faf7f9;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  color: var(--jhoa-text);
  font-family: "Perpetua", Georgia, serif;
  font-size: 17px;
  line-height: 1.55;
}

.jhoa a {
  color: inherit;
  text-decoration: none;
}

.jhoa h2,
.jhoa h3,
.jhoa p {
  text-wrap: pretty;
}

.jhoa-kicker {
  display: block;
  margin: 0 0 6px;
  color: var(--jhoa-blue);
  font-size: 14px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.095em;
}

.jhoa-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(280px, 0.68fr);
  gap: clamp(22px, 4vw, 48px);
  align-items: center;
  margin: 0 0 14px;
  padding: clamp(23px, 4vw, 38px);
  overflow: hidden;
  border: 1px solid var(--jhoa-line);
  border-radius: 16px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.12), transparent 35%), radial-gradient(circle at 0% 100%, rgba(143, 21, 61, 0.08), transparent 33%), linear-gradient(145deg, #ffffff, var(--jhoa-paper));
  box-shadow:
    0 16px 38px rgba(53, 18, 47, 0.075),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.jhoa-hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhoa-wine), var(--jhoa-blue), var(--jhoa-gold));
}

.jhoa-hero h2 {
  margin: 0 !important;
  color: var(--jhoa-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: clamp(30px, 3.6vw, 45px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.1 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhoa-hero__lead {
  max-width: 850px;
  margin: 14px 0 0 !important;
  color: var(--jhoa-text) !important;
  font-size: 18px !important;
  font-style: italic;
  line-height: 1.55 !important;
  text-align: left !important;
}

.jhoa-license {
  display: flex;
  flex-direction: column;
  padding: 18px;
  border: 1px solid #cadbe7;
  border-radius: 13px;
  background: linear-gradient(145deg, var(--jhoa-blue), var(--jhoa-blue-dark));
  box-shadow: 0 10px 22px rgba(47, 101, 146, 0.18);
  color: #ffffff;
}

.jhoa-license__label {
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.08em;
  opacity: 0.84;
}

.jhoa-license strong {
  margin-top: 5px;
  font-size: 31px;
  font-weight: 300;
  font-style: italic;
  line-height: 1;
  letter-spacing: 0.025em;
}

.jhoa-license small {
  margin-top: 8px;
  font-size: 14px;
  font-style: italic;
  line-height: 1.3;
  opacity: 0.88;
}

.jhoa-license a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  margin-top: 14px;
  padding-top: 9px;
  border-top: 1px solid rgba(255, 255, 255, 0.22);
  color: #ffffff;
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
}

.jhoa-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 22px;
  padding: 0;
}

.jhoa-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 37px;
  padding: 7px 13px;
  border: 1px solid #d8e4ec;
  border-radius: 999px;
  background: #ffffff;
  color: var(--jhoa-blue);
  font-size: 15px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.045em;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.jhoa-nav a:hover,
.jhoa-nav a:focus-visible {
  border-color: var(--jhoa-blue);
  background: var(--jhoa-blue);
  color: #ffffff;
  transform: translateY(-1px);
}

.jhoa-principle {
  display: grid;
  grid-template-columns: minmax(250px, 0.75fr) minmax(0, 1.55fr);
  gap: 24px;
  align-items: center;
  margin-bottom: 24px;
  padding: 19px 20px;
  border: 1px solid var(--jhoa-line);
  border-radius: 13px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhoa-principle h2 {
  margin: 0 !important;
  color: var(--jhoa-ink) !important;
  font-size: clamp(24px, 2.6vw, 32px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.16 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhoa-principle > p {
  margin: 0 !important;
  color: var(--jhoa-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhoa-permissions,
.jhoa-attribution,
.jhoa-benefits {
  margin-bottom: 24px;
}

.jhoa-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.65fr);
  gap: 22px;
  align-items: end;
  margin-bottom: 14px;
  padding: 0 2px 12px;
  border-bottom: 1px solid var(--jhoa-line);
}

.jhoa-section-heading h2 {
  margin: 0 !important;
  color: var(--jhoa-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhoa-section-heading > p {
  margin: 0 !important;
  color: var(--jhoa-muted) !important;
  font-size: 16px !important;
  font-style: italic;
  line-height: 1.4 !important;
  text-align: left !important;
}

.jhoa-permissions-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.jhoa-permissions-grid article {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 180px;
  padding: 15px;
  border: 1px solid var(--jhoa-line);
  border-radius: 11px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhoa-permissions-grid article > span {
  color: var(--jhoa-blue);
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhoa-permissions-grid h3 {
  margin: auto 0 0 !important;
  padding-top: 20px;
  color: var(--jhoa-wine) !important;
  font-size: 19px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhoa-permissions-grid p {
  margin: 7px 0 0 !important;
  color: var(--jhoa-text) !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  text-align: left !important;
}

.jhoa-freedom-note {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  margin-top: 10px;
  padding: 14px 16px;
  border: 1px solid #d7e4ed;
  border-left: 3px solid var(--jhoa-blue);
  border-radius: 11px;
  background: linear-gradient(110deg, var(--jhoa-blue-soft), #ffffff);
}

.jhoa-freedom-note__mark {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 50%;
  background: var(--jhoa-blue);
  color: #ffffff;
  font-size: 22px;
  font-style: italic;
}

.jhoa-freedom-note p {
  margin: 0 !important;
  color: var(--jhoa-text) !important;
  font-size: 15.5px !important;
  font-style: italic;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhoa-ownership {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
  gap: 24px;
  align-items: center;
  margin-bottom: 24px;
  padding: clamp(20px, 3vw, 28px);
  border: 1px solid var(--jhoa-line);
  border-left: 4px solid var(--jhoa-wine);
  border-radius: 14px;
  background: radial-gradient(circle at 100% 0, rgba(143, 21, 61, 0.06), transparent 34%), linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 10px 24px rgba(53, 18, 47, 0.05);
}

.jhoa-ownership h2 {
  margin: 0 !important;
  color: var(--jhoa-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhoa-ownership__copy p {
  margin: 10px 0 0 !important;
  color: var(--jhoa-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhoa-ownership__statement {
  display: flex;
  flex-direction: column;
  padding: 17px;
  border: 1px solid #eadfbf;
  border-radius: 11px;
  background: linear-gradient(145deg, #fffaf0, #ffffff);
}

.jhoa-ownership__statement span {
  color: #8b6618;
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.065em;
}

.jhoa-ownership__statement strong {
  margin-top: 6px;
  color: var(--jhoa-wine);
  font-size: 19px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.25;
}

.jhoa-attribution-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.jhoa-attribution-card {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
  padding: 15px;
  border: 1px solid var(--jhoa-line);
  border-radius: 11px;
  background: var(--jhoa-soft);
}

.jhoa-attribution-card__number {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 9px;
  background: var(--jhoa-blue-soft);
  color: var(--jhoa-blue-dark);
  font-size: 14px;
  font-style: italic;
}

.jhoa-attribution-card h3 {
  margin: 0 !important;
  color: var(--jhoa-wine) !important;
  font-size: 18px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhoa-attribution-card p {
  margin: 6px 0 0 !important;
  color: var(--jhoa-text) !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  text-align: left !important;
}

.jhoa-example {
  display: grid;
  grid-template-columns: minmax(150px, 0.4fr) minmax(0, 1.7fr);
  gap: 16px;
  align-items: center;
  margin-top: 10px;
  padding: 15px 17px;
  border: 1px solid #eadfbf;
  border-left: 3px solid var(--jhoa-gold);
  border-radius: 11px;
  background: linear-gradient(110deg, #fffaf0, #ffffff);
}

.jhoa-example__label {
  color: #8b6618;
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.065em;
}

.jhoa-example p {
  margin: 0 !important;
  color: var(--jhoa-text) !important;
  font-size: 15.5px !important;
  font-style: italic;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhoa-benefit-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.jhoa-benefit-card {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--jhoa-line);
  border-radius: 11px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhoa-benefit-card__number {
  color: var(--jhoa-blue);
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhoa-benefit-card h3 {
  margin: 17px 0 0 !important;
  color: var(--jhoa-wine) !important;
  font-size: 18.5px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhoa-benefit-card p {
  margin: 7px 0 0 !important;
  color: var(--jhoa-text) !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  text-align: left !important;
}

.jhoa-footer {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: clamp(20px, 3vw, 30px);
  overflow: hidden;
  border: 1px solid var(--jhoa-line);
  border-radius: 15px;
  background: radial-gradient(circle at 100% 0, rgba(224, 170, 53, 0.1), transparent 34%), linear-gradient(145deg, #fffdf8, #ffffff);
  box-shadow: 0 12px 28px rgba(53, 18, 47, 0.065);
}

.jhoa-footer::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhoa-wine), var(--jhoa-blue), var(--jhoa-gold));
}

.jhoa-footer h2 {
  margin: 0 !important;
  color: var(--jhoa-ink) !important;
  font-size: clamp(24px, 2.7vw, 33px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhoa-footer p {
  margin: 9px 0 0 !important;
  color: var(--jhoa-text) !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhoa-footer__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid var(--jhoa-wine);
  border-radius: 9px;
  background: var(--jhoa-wine);
  color: #ffffff !important;
  font-size: 16px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.1;
  letter-spacing: 0.035em;
  box-shadow: 0 7px 16px rgba(97, 12, 58, 0.14);
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    transform 0.18s ease;
}

.jhoa-footer__button:hover,
.jhoa-footer__button:focus-visible {
  border-color: var(--jhoa-blue);
  background: var(--jhoa-blue);
  transform: translateY(-2px);
}

@media (max-width: 980px) {
  .jhoa-hero,
  .jhoa-principle,
  .jhoa-ownership,
  .jhoa-footer {
    grid-template-columns: 1fr;
  }

  .jhoa-license {
    max-width: 380px;
  }

  .jhoa-permissions-grid,
  .jhoa-benefit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .jhoa-section-heading {
    grid-template-columns: 1fr;
    gap: 8px;
    align-items: start;
  }

  .jhoa-attribution-grid {
    grid-template-columns: 1fr;
  }

  .jhoa-example {
    grid-template-columns: 1fr;
    gap: 7px;
  }
}

@media (max-width: 520px) {
  .jhoa {
    font-size: 16px;
  }

  .jhoa-hero {
    padding: 20px 16px;
    border-radius: 13px;
  }

  .jhoa-hero h2 {
    font-size: 30px !important;
  }

  .jhoa-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhoa-nav a {
    width: 100%;
    text-align: center;
  }

  .jhoa-permissions-grid,
  .jhoa-benefit-grid {
    grid-template-columns: 1fr;
  }

  .jhoa-freedom-note {
    grid-template-columns: 1fr;
  }

  .jhoa-footer__button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhoa a,
  .jhoa-nav a,
  .jhoa-footer__button {
    transition: none !important;
  }

  .jhoa-nav a:hover,
  .jhoa-footer__button:hover {
    transform: none !important;
  }
}

/* ==========================================================================
   @JH-18 — WITHDRAWAL, RETRACTION, AND CORRECTION CUSTOM PAGE
   Owner selectors: .jhpostpub
   Scope status: CUSTOM PAGE / isolated namespace
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* ==========================================================================
   @JH-18 — 18 — CUSTOM PAGE: WITHDRAWAL, RETRACTION AND CORRECTION (.jhpostpub)
   Maintenance anchor: search exactly for @JH-18
   ========================================================================== */

.jhpostpub,
.jhpostpub *,
.jhpostpub *::before,
.jhpostpub *::after {
  box-sizing: border-box;
}

.jhpostpub {
  --jhpostpub-wine: #610c3a;
  --jhpostpub-wine-soft: #8f153d;
  --jhpostpub-blue: #2f6592;
  --jhpostpub-blue-dark: #204866;
  --jhpostpub-blue-soft: #eef6fb;
  --jhpostpub-gold: #e0aa35;
  --jhpostpub-green: #3f7a64;
  --jhpostpub-red: #8f2846;
  --jhpostpub-ink: #2f272c;
  --jhpostpub-text: #4d4248;
  --jhpostpub-muted: #766a70;
  --jhpostpub-line: #e5d9e0;
  --jhpostpub-paper: #fffdfc;
  --jhpostpub-soft: #faf7f9;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  color: var(--jhpostpub-text);
  font-family: "Perpetua", Georgia, serif;
  font-size: 17px;
  line-height: 1.55;
}

.jhpostpub a {
  color: inherit;
  text-decoration: none;
}

.jhpostpub h2,
.jhpostpub h3,
.jhpostpub p {
  text-wrap: pretty;
}

.jhpostpub-kicker {
  display: block;
  margin: 0 0 6px;
  color: var(--jhpostpub-blue);
  font-size: 14px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.095em;
}

.jhpostpub-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(280px, 0.68fr);
  gap: clamp(22px, 4vw, 48px);
  align-items: center;
  margin: 0 0 14px;
  padding: clamp(23px, 4vw, 38px);
  overflow: hidden;
  border: 1px solid var(--jhpostpub-line);
  border-radius: 16px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.12), transparent 35%), radial-gradient(circle at 0% 100%, rgba(143, 21, 61, 0.08), transparent 33%), linear-gradient(145deg, #ffffff, var(--jhpostpub-paper));
  box-shadow:
    0 16px 38px rgba(53, 18, 47, 0.075),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.jhpostpub-hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhpostpub-wine), var(--jhpostpub-blue), var(--jhpostpub-gold));
}

.jhpostpub-hero h2 {
  margin: 0 !important;
  color: var(--jhpostpub-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: clamp(30px, 3.6vw, 45px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.1 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhpostpub-hero__lead {
  max-width: 850px;
  margin: 14px 0 0 !important;
  color: var(--jhpostpub-text) !important;
  font-size: 18px !important;
  font-style: italic;
  line-height: 1.55 !important;
  text-align: left !important;
}

.jhpostpub-standard {
  display: flex;
  flex-direction: column;
  padding: 18px;
  border: 1px solid #cadbe7;
  border-radius: 13px;
  background: linear-gradient(145deg, var(--jhpostpub-blue), var(--jhpostpub-blue-dark));
  box-shadow: 0 10px 22px rgba(47, 101, 146, 0.18);
  color: #ffffff;
}

.jhpostpub-standard__label {
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.08em;
  opacity: 0.84;
}

.jhpostpub-standard strong {
  margin-top: 5px;
  font-size: 32px;
  font-weight: 300;
  font-style: italic;
  line-height: 1;
}

.jhpostpub-standard small {
  margin-top: 8px;
  font-size: 14px;
  font-style: italic;
  line-height: 1.3;
  opacity: 0.88;
}

.jhpostpub-standard a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  margin-top: 14px;
  padding-top: 9px;
  border-top: 1px solid rgba(255, 255, 255, 0.22);
  color: #ffffff;
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
}

.jhpostpub-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 22px;
  padding: 0;
}

.jhpostpub-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 37px;
  padding: 7px 13px;
  border: 1px solid #d8e4ec;
  border-radius: 999px;
  background: #ffffff;
  color: var(--jhpostpub-blue);
  font-size: 15px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.045em;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.jhpostpub-nav a:hover,
.jhpostpub-nav a:focus-visible {
  border-color: var(--jhpostpub-blue);
  background: var(--jhpostpub-blue);
  color: #ffffff;
  transform: translateY(-1px);
}

.jhpostpub-overview {
  display: grid;
  grid-template-columns: minmax(250px, 0.75fr) minmax(0, 1.55fr);
  gap: 24px;
  align-items: center;
  margin-bottom: 12px;
  padding: 19px 20px;
  border: 1px solid var(--jhpostpub-line);
  border-radius: 13px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhpostpub-overview h2 {
  margin: 0 !important;
  color: var(--jhpostpub-ink) !important;
  font-size: clamp(24px, 2.6vw, 32px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.16 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhpostpub-overview > p {
  margin: 0 !important;
  color: var(--jhpostpub-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhpostpub-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 24px;
}

.jhpostpub-action-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 194px;
  padding: 15px;
  border: 1px solid var(--jhpostpub-line);
  border-top: 3px solid var(--jhpostpub-blue);
  border-radius: 11px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhpostpub-action-card--retraction {
  border-top-color: var(--jhpostpub-red);
}

.jhpostpub-action-card--correction {
  border-top-color: var(--jhpostpub-green);
}

.jhpostpub-action-card--removal {
  border-top-color: var(--jhpostpub-gold);
}

.jhpostpub-action-card__number {
  color: var(--jhpostpub-blue);
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhpostpub-action-card__label {
  display: block;
  margin-top: 15px;
  color: var(--jhpostpub-muted);
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.06em;
}

.jhpostpub-action-card h3 {
  margin: 5px 0 0 !important;
  color: var(--jhpostpub-wine) !important;
  font-size: 19px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhpostpub-action-card p {
  margin: auto 0 0 !important;
  padding-top: 14px;
  color: var(--jhpostpub-text) !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  text-align: left !important;
}

.jhpostpub-withdrawal,
.jhpostpub-retraction,
.jhpostpub-corrections,
.jhpostpub-onlinefirst,
.jhpostpub-removal {
  margin-bottom: 24px;
}

.jhpostpub-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.65fr);
  gap: 22px;
  align-items: end;
  margin-bottom: 14px;
  padding: 0 2px 12px;
  border-bottom: 1px solid var(--jhpostpub-line);
}

.jhpostpub-section-heading h2 {
  margin: 0 !important;
  color: var(--jhpostpub-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhpostpub-section-heading > p {
  margin: 0 !important;
  color: var(--jhpostpub-muted) !important;
  font-size: 16px !important;
  font-style: italic;
  line-height: 1.4 !important;
  text-align: left !important;
}

.jhpostpub-withdrawal-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.jhpostpub-withdrawal-grid article {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--jhpostpub-line);
  border-radius: 11px;
  background: var(--jhpostpub-soft);
}

.jhpostpub-withdrawal-grid article > span {
  color: var(--jhpostpub-blue);
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhpostpub-withdrawal-grid h3 {
  margin: 17px 0 0 !important;
  color: var(--jhpostpub-wine) !important;
  font-size: 18.5px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhpostpub-withdrawal-grid p {
  margin: 7px 0 0 !important;
  color: var(--jhpostpub-text) !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  text-align: left !important;
}

.jhpostpub-note {
  display: grid;
  grid-template-columns: minmax(170px, 0.4fr) minmax(0, 1.7fr);
  gap: 15px;
  align-items: center;
  margin-top: 10px;
  padding: 14px 16px;
  border: 1px solid #d7e4ed;
  border-left: 3px solid var(--jhpostpub-blue);
  border-radius: 11px;
  background: linear-gradient(110deg, var(--jhpostpub-blue-soft), #ffffff);
}

.jhpostpub-note__label {
  color: var(--jhpostpub-blue);
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.06em;
}

.jhpostpub-note p {
  margin: 0 !important;
  color: var(--jhpostpub-text) !important;
  font-size: 15.5px !important;
  font-style: italic;
  line-height: 1.43 !important;
  text-align: left !important;
}

.jhpostpub-retraction-layout {
  display: grid;
  grid-template-columns: minmax(260px, 0.75fr) minmax(0, 1.25fr);
  gap: 12px;
}

.jhpostpub-retraction-grounds {
  padding: 17px;
  border: 1px solid #ead7de;
  border-radius: 12px;
  background: linear-gradient(145deg, #fff7fa, #ffffff);
}

.jhpostpub-retraction-grounds__label {
  display: block;
  margin-bottom: 10px;
  color: var(--jhpostpub-red);
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.065em;
}

.jhpostpub-retraction-grounds ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.jhpostpub-retraction-grounds li {
  position: relative;
  padding: 9px 10px 9px 29px;
  border: 1px solid rgba(143, 40, 70, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.8);
  color: var(--jhpostpub-text);
  font-size: 15px;
  line-height: 1.35;
}

.jhpostpub-retraction-grounds li::before {
  content: "!";
  position: absolute;
  top: 9px;
  left: 11px;
  color: var(--jhpostpub-red);
  font-family: Arial, sans-serif;
  font-weight: 700;
}

.jhpostpub-retraction-outcomes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.jhpostpub-retraction-outcomes article {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 10px;
  padding: 13px;
  border: 1px solid var(--jhpostpub-line);
  border-radius: 10px;
  background: #ffffff;
}

.jhpostpub-retraction-outcomes article > span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 8px;
  background: var(--jhpostpub-blue-soft);
  color: var(--jhpostpub-blue-dark);
  font-size: 12px;
  font-style: italic;
}

.jhpostpub-retraction-outcomes h3 {
  margin: 0 !important;
  color: var(--jhpostpub-wine) !important;
  font-size: 17px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhpostpub-retraction-outcomes p {
  margin: 5px 0 0 !important;
  color: var(--jhpostpub-text) !important;
  font-size: 14.5px !important;
  line-height: 1.38 !important;
  text-align: left !important;
}

.jhpostpub-process {
  margin-bottom: 24px;
  padding: clamp(20px, 3vw, 29px);
  border: 1px solid var(--jhpostpub-line);
  border-radius: 14px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.07), transparent 34%), linear-gradient(145deg, #fffdfc, #ffffff);
  box-shadow: 0 10px 24px rgba(53, 18, 47, 0.05);
}

.jhpostpub-process__intro {
  max-width: 840px;
  margin-bottom: 15px;
}

.jhpostpub-process h2 {
  margin: 0 !important;
  color: var(--jhpostpub-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhpostpub-process__intro p {
  margin: 10px 0 0 !important;
  color: var(--jhpostpub-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhpostpub-process__steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.jhpostpub-process__steps article {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--jhpostpub-line);
  border-radius: 10px;
  background: #ffffff;
}

.jhpostpub-process__steps article > span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: var(--jhpostpub-blue-soft);
  color: var(--jhpostpub-blue-dark);
  font-size: 12px;
  font-style: italic;
}

.jhpostpub-process__steps h3 {
  margin: 12px 0 0 !important;
  color: var(--jhpostpub-wine) !important;
  font-size: 18px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhpostpub-process__steps p {
  margin: 7px 0 0 !important;
  color: var(--jhpostpub-text) !important;
  font-size: 14.5px !important;
  line-height: 1.38 !important;
  text-align: left !important;
}

.jhpostpub-nonresponse {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin-top: 10px;
  padding: 13px 15px;
  border: 1px solid #eadfbf;
  border-left: 3px solid var(--jhpostpub-gold);
  border-radius: 10px;
  background: linear-gradient(110deg, #fffaf0, #ffffff);
}

.jhpostpub-nonresponse__mark {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 50%;
  background: var(--jhpostpub-gold);
  color: #ffffff;
  font-family: Arial, sans-serif;
  font-weight: 700;
}

.jhpostpub-nonresponse p {
  margin: 0 !important;
  color: var(--jhpostpub-text) !important;
  font-size: 15px !important;
  font-style: italic;
  line-height: 1.42 !important;
  text-align: left !important;
}

.jhpostpub-correction-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.jhpostpub-correction-card {
  padding: 17px;
  border: 1px solid var(--jhpostpub-line);
  border-top: 3px solid var(--jhpostpub-green);
  border-radius: 11px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhpostpub-correction-card__label {
  display: block;
  color: var(--jhpostpub-green);
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.065em;
}

.jhpostpub-correction-card h3 {
  margin: 6px 0 0 !important;
  color: var(--jhpostpub-wine) !important;
  font-size: 19px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhpostpub-correction-card p {
  margin: 8px 0 0 !important;
  color: var(--jhpostpub-text) !important;
  font-size: 15.5px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhpostpub-nosilent {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  margin-top: 10px;
  padding: 15px 17px;
  border: 1px solid #cfe1d9;
  border-left: 3px solid var(--jhpostpub-green);
  border-radius: 11px;
  background: linear-gradient(110deg, #eef8f3, #ffffff);
}

.jhpostpub-nosilent__mark {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 50%;
  background: var(--jhpostpub-green);
  color: #ffffff;
  font-family: Arial, sans-serif;
  font-size: 17px;
}

.jhpostpub-nosilent__label {
  display: block;
  color: var(--jhpostpub-green);
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.065em;
}

.jhpostpub-nosilent strong {
  display: block;
  margin-top: 3px;
  color: var(--jhpostpub-wine);
  font-size: 19px;
  font-weight: 300;
  font-style: italic;
}

.jhpostpub-nosilent p {
  margin: 5px 0 0 !important;
  color: var(--jhpostpub-text) !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  text-align: left !important;
}

.jhpostpub-onlinefirst-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.jhpostpub-onlinefirst-grid article {
  padding: 17px;
  border: 1px solid var(--jhpostpub-line);
  border-radius: 11px;
  background: var(--jhpostpub-soft);
}

.jhpostpub-onlinefirst__number {
  color: var(--jhpostpub-blue);
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhpostpub-onlinefirst-grid h3 {
  margin: 16px 0 0 !important;
  color: var(--jhpostpub-wine) !important;
  font-size: 19px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhpostpub-onlinefirst-grid p {
  margin: 7px 0 0 !important;
  color: var(--jhpostpub-text) !important;
  font-size: 15.5px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhpostpub-onlinefirst-note {
  margin-top: 10px;
  padding: 13px 15px;
  border: 1px solid #d7e4ed;
  border-left: 3px solid var(--jhpostpub-blue);
  border-radius: 10px;
  background: linear-gradient(110deg, var(--jhpostpub-blue-soft), #ffffff);
}

.jhpostpub-onlinefirst-note p {
  margin: 0 !important;
  color: var(--jhpostpub-text) !important;
  font-size: 15px !important;
  font-style: italic;
  line-height: 1.4 !important;
  text-align: left !important;
}

.jhpostpub-removal-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.jhpostpub-removal-grid article {
  padding: 17px;
  border: 1px solid var(--jhpostpub-line);
  border-top: 3px solid var(--jhpostpub-gold);
  border-radius: 11px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhpostpub-removal-card__label {
  display: block;
  color: #8b6618;
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.065em;
}

.jhpostpub-removal-grid h3 {
  margin: 6px 0 0 !important;
  color: var(--jhpostpub-wine) !important;
  font-size: 19px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhpostpub-removal-grid p {
  margin: 8px 0 0 !important;
  color: var(--jhpostpub-text) !important;
  font-size: 15.5px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhpostpub-removal-grid ul {
  display: grid;
  gap: 7px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.jhpostpub-removal-grid li {
  position: relative;
  padding: 8px 9px 8px 27px;
  border: 1px solid #eee4e9;
  border-radius: 7px;
  background: var(--jhpostpub-soft);
  color: var(--jhpostpub-text);
  font-size: 14.5px;
  line-height: 1.35;
}

.jhpostpub-removal-grid li::before {
  content: "✓";
  position: absolute;
  top: 8px;
  left: 10px;
  color: var(--jhpostpub-blue);
  font-family: Arial, sans-serif;
  font-size: 11px;
}

.jhpostpub-fees {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(240px, 0.75fr);
  gap: 24px;
  align-items: center;
  margin-bottom: 24px;
  padding: clamp(20px, 3vw, 28px);
  border: 1px solid var(--jhpostpub-line);
  border-left: 4px solid var(--jhpostpub-green);
  border-radius: 14px;
  background: radial-gradient(circle at 100% 0, rgba(63, 122, 100, 0.08), transparent 34%), linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 10px 24px rgba(53, 18, 47, 0.05);
}

.jhpostpub-fees h2 {
  margin: 0 !important;
  color: var(--jhpostpub-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhpostpub-fees p {
  margin: 10px 0 0 !important;
  color: var(--jhpostpub-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhpostpub-fees__badge {
  display: flex;
  flex-direction: column;
  padding: 17px;
  border: 1px solid #cfe1d9;
  border-radius: 11px;
  background: linear-gradient(145deg, #eef8f3, #ffffff);
}

.jhpostpub-fees__badge span {
  color: var(--jhpostpub-green);
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.065em;
}

.jhpostpub-fees__badge strong {
  margin-top: 5px;
  color: var(--jhpostpub-wine);
  font-size: 31px;
  font-weight: 300;
  font-style: italic;
  line-height: 1;
}

.jhpostpub-fees__badge small {
  margin-top: 7px;
  color: var(--jhpostpub-muted);
  font-size: 14px;
  font-style: italic;
  line-height: 1.3;
}

.jhpostpub-footer {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: clamp(20px, 3vw, 30px);
  overflow: hidden;
  border: 1px solid var(--jhpostpub-line);
  border-radius: 15px;
  background: radial-gradient(circle at 100% 0, rgba(224, 170, 53, 0.1), transparent 34%), linear-gradient(145deg, #fffdf8, #ffffff);
  box-shadow: 0 12px 28px rgba(53, 18, 47, 0.065);
}

.jhpostpub-footer::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhpostpub-wine), var(--jhpostpub-blue), var(--jhpostpub-gold));
}

.jhpostpub-footer h2 {
  margin: 0 !important;
  color: var(--jhpostpub-ink) !important;
  font-size: clamp(24px, 2.7vw, 33px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhpostpub-footer p {
  margin: 9px 0 0 !important;
  color: var(--jhpostpub-text) !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhpostpub-footer__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid var(--jhpostpub-wine);
  border-radius: 9px;
  background: var(--jhpostpub-wine);
  color: #ffffff !important;
  font-size: 16px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.1;
  letter-spacing: 0.035em;
  box-shadow: 0 7px 16px rgba(97, 12, 58, 0.14);
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    transform 0.18s ease;
}

.jhpostpub-footer__button:hover,
.jhpostpub-footer__button:focus-visible {
  border-color: var(--jhpostpub-blue);
  background: var(--jhpostpub-blue);
  transform: translateY(-2px);
}

@media (max-width: 980px) {
  .jhpostpub-hero,
  .jhpostpub-overview,
  .jhpostpub-retraction-layout,
  .jhpostpub-fees,
  .jhpostpub-footer {
    grid-template-columns: 1fr;
  }

  .jhpostpub-standard {
    max-width: 390px;
  }

  .jhpostpub-actions,
  .jhpostpub-process__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .jhpostpub-section-heading {
    grid-template-columns: 1fr;
    gap: 8px;
    align-items: start;
  }

  .jhpostpub-withdrawal-grid,
  .jhpostpub-retraction-outcomes,
  .jhpostpub-correction-grid,
  .jhpostpub-onlinefirst-grid,
  .jhpostpub-removal-grid {
    grid-template-columns: 1fr;
  }

  .jhpostpub-note {
    grid-template-columns: 1fr;
    gap: 7px;
  }
}

@media (max-width: 520px) {
  .jhpostpub {
    font-size: 16px;
  }

  .jhpostpub-hero {
    padding: 20px 16px;
    border-radius: 13px;
  }

  .jhpostpub-hero h2 {
    font-size: 30px !important;
  }

  .jhpostpub-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhpostpub-nav a {
    width: 100%;
    text-align: center;
  }

  .jhpostpub-actions,
  .jhpostpub-process__steps {
    grid-template-columns: 1fr;
  }

  .jhpostpub-nonresponse,
  .jhpostpub-nosilent {
    grid-template-columns: 1fr;
  }

  .jhpostpub-footer__button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhpostpub a,
  .jhpostpub-nav a,
  .jhpostpub-footer__button {
    transition: none !important;
  }

  .jhpostpub-nav a:hover,
  .jhpostpub-footer__button:hover {
    transform: none !important;
  }
}

/* ==========================================================================
   @JH-19 — FUNDING AND EDITORIAL INDEPENDENCE CUSTOM PAGE
   Owner selectors: .jhfunding
   Scope status: CUSTOM PAGE / isolated namespace
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* ==========================================================================
   @JH-19 — 19 — CUSTOM PAGE: FUNDING AND EDITORIAL INDEPENDENCE (.jhfunding)
   Maintenance anchor: search exactly for @JH-19
   ========================================================================== */

.jhfunding,
.jhfunding *,
.jhfunding *::before,
.jhfunding *::after {
  box-sizing: border-box;
}

.jhfunding {
  --jhfunding-wine: #610c3a;
  --jhfunding-wine-soft: #8f153d;
  --jhfunding-blue: #2f6592;
  --jhfunding-blue-dark: #204866;
  --jhfunding-blue-soft: #eef6fb;
  --jhfunding-gold: #e0aa35;
  --jhfunding-green: #3f7a64;
  --jhfunding-ink: #2f272c;
  --jhfunding-text: #4d4248;
  --jhfunding-muted: #766a70;
  --jhfunding-line: #e5d9e0;
  --jhfunding-paper: #fffdfc;
  --jhfunding-soft: #faf7f9;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  color: var(--jhfunding-text);
  font-family: "Perpetua", Georgia, serif;
  font-size: 17px;
  line-height: 1.55;
}

.jhfunding a {
  color: inherit;
  text-decoration: none;
}

.jhfunding h2,
.jhfunding h3,
.jhfunding p {
  text-wrap: pretty;
}

.jhfunding-kicker {
  display: block;
  margin: 0 0 6px;
  color: var(--jhfunding-blue);
  font-size: 14px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.095em;
}

.jhfunding-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(280px, 0.68fr);
  gap: clamp(22px, 4vw, 48px);
  align-items: center;
  margin: 0 0 14px;
  padding: clamp(23px, 4vw, 38px);
  overflow: hidden;
  border: 1px solid var(--jhfunding-line);
  border-radius: 16px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.12), transparent 35%), radial-gradient(circle at 0% 100%, rgba(143, 21, 61, 0.08), transparent 33%), linear-gradient(145deg, #ffffff, var(--jhfunding-paper));
  box-shadow:
    0 16px 38px rgba(53, 18, 47, 0.075),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.jhfunding-hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhfunding-wine), var(--jhfunding-blue), var(--jhfunding-gold));
}

.jhfunding-hero h2 {
  margin: 0 !important;
  color: var(--jhfunding-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: clamp(30px, 3.6vw, 45px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.1 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhfunding-hero__lead {
  max-width: 850px;
  margin: 14px 0 0 !important;
  color: var(--jhfunding-text) !important;
  font-size: 18px !important;
  font-style: italic;
  line-height: 1.55 !important;
  text-align: left !important;
}

.jhfunding-status {
  display: flex;
  flex-direction: column;
  padding: 18px;
  border: 1px solid #cfe1d9;
  border-radius: 13px;
  background: linear-gradient(145deg, var(--jhfunding-green), #2f6552);
  box-shadow: 0 10px 22px rgba(63, 122, 100, 0.18);
  color: #ffffff;
}

.jhfunding-status__label {
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.08em;
  opacity: 0.84;
}

.jhfunding-status strong {
  margin-top: 5px;
  font-size: 30px;
  font-weight: 300;
  font-style: italic;
  line-height: 1;
}

.jhfunding-status small {
  margin-top: 9px;
  font-size: 14px;
  font-style: italic;
  line-height: 1.32;
  opacity: 0.9;
}

.jhfunding-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 22px;
  padding: 0;
}

.jhfunding-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 37px;
  padding: 7px 13px;
  border: 1px solid #d8e4ec;
  border-radius: 999px;
  background: #ffffff;
  color: var(--jhfunding-blue);
  font-size: 15px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.045em;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.jhfunding-nav a:hover,
.jhfunding-nav a:focus-visible {
  border-color: var(--jhfunding-blue);
  background: var(--jhfunding-blue);
  color: #ffffff;
  transform: translateY(-1px);
}

.jhfunding-intro {
  display: grid;
  grid-template-columns: minmax(250px, 0.75fr) minmax(0, 1.55fr);
  gap: 24px;
  align-items: center;
  margin-bottom: 12px;
  padding: 19px 20px;
  border: 1px solid var(--jhfunding-line);
  border-radius: 13px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhfunding-intro h2 {
  margin: 0 !important;
  color: var(--jhfunding-ink) !important;
  font-size: clamp(24px, 2.6vw, 32px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.16 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhfunding-intro > p {
  margin: 0 !important;
  color: var(--jhfunding-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhfunding-intro a {
  color: var(--jhfunding-blue);
  font-weight: 600;
}

.jhfunding-pillars {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin-bottom: 24px;
}

.jhfunding-pillar {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--jhfunding-line);
  border-top: 3px solid var(--jhfunding-blue);
  border-radius: 11px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhfunding-pillar:nth-child(2) {
  border-top-color: var(--jhfunding-wine);
}

.jhfunding-pillar:nth-child(3) {
  border-top-color: var(--jhfunding-gold);
}

.jhfunding-pillar__number {
  color: var(--jhfunding-blue);
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhfunding-pillar__label {
  display: block;
  margin-top: 15px;
  color: var(--jhfunding-muted);
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.06em;
}

.jhfunding-pillar h3 {
  margin: 5px 0 0 !important;
  color: var(--jhfunding-wine) !important;
  font-size: 19px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhfunding-pillar p {
  margin: 8px 0 0 !important;
  color: var(--jhfunding-text) !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  text-align: left !important;
}

.jhfunding-model,
.jhfunding-standards {
  margin-bottom: 24px;
}

.jhfunding-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.65fr);
  gap: 22px;
  align-items: end;
  margin-bottom: 14px;
  padding: 0 2px 12px;
  border-bottom: 1px solid var(--jhfunding-line);
}

.jhfunding-section-heading h2 {
  margin: 0 !important;
  color: var(--jhfunding-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhfunding-section-heading > p {
  margin: 0 !important;
  color: var(--jhfunding-muted) !important;
  font-size: 16px !important;
  font-style: italic;
  line-height: 1.4 !important;
  text-align: left !important;
}

.jhfunding-model-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.jhfunding-model-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 235px;
  padding: 17px;
  border: 1px solid var(--jhfunding-line);
  border-radius: 12px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.05), transparent 34%), linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 5px 13px rgba(53, 18, 47, 0.035);
}

.jhfunding-model-card__number {
  color: var(--jhfunding-blue);
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhfunding-model-card h3 {
  margin: 18px 0 0 !important;
  color: var(--jhfunding-wine) !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhfunding-model-card p {
  margin: 8px 0 0 !important;
  color: var(--jhfunding-text) !important;
  font-size: 15.5px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhfunding-model-card a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  margin-top: auto;
  padding-top: 16px;
  color: var(--jhfunding-blue);
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
}

.jhfunding-independence {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
  gap: 24px;
  align-items: center;
  margin-bottom: 24px;
  padding: clamp(20px, 3vw, 29px);
  border: 1px solid var(--jhfunding-line);
  border-left: 4px solid var(--jhfunding-green);
  border-radius: 14px;
  background: radial-gradient(circle at 100% 0, rgba(63, 122, 100, 0.08), transparent 34%), linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 10px 24px rgba(53, 18, 47, 0.05);
}

.jhfunding-independence h2 {
  margin: 0 !important;
  color: var(--jhfunding-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhfunding-independence__copy p {
  margin: 10px 0 0 !important;
  color: var(--jhfunding-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhfunding-independence__principles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.jhfunding-independence__principles article {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  min-width: 0;
  padding: 12px;
  border: 1px solid #cfe1d9;
  border-radius: 10px;
  background: linear-gradient(145deg, #ffffff, #eef8f3);
}

.jhfunding-independence__principles article > span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid #cfe1d9;
  border-radius: 8px;
  background: #ffffff;
  color: var(--jhfunding-green);
  font-size: 12px;
  font-style: italic;
}

.jhfunding-independence__principles strong {
  display: block;
  color: var(--jhfunding-wine);
  font-size: 16px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.15;
}

.jhfunding-independence__principles small {
  display: block;
  margin-top: 4px;
  color: var(--jhfunding-text);
  font-size: 13.5px;
  font-style: italic;
  line-height: 1.3;
}

.jhfunding-standards-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.jhfunding-standards-grid article {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 205px;
  padding: 16px;
  border: 1px solid var(--jhfunding-line);
  border-radius: 11px;
  background: var(--jhfunding-soft);
}

.jhfunding-standards-grid article > span {
  color: var(--jhfunding-blue);
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhfunding-standards-grid h3 {
  margin: 17px 0 0 !important;
  color: var(--jhfunding-wine) !important;
  font-size: 18.5px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhfunding-standards-grid p {
  margin: 7px 0 0 !important;
  color: var(--jhfunding-text) !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  text-align: left !important;
}

.jhfunding-standards-grid a {
  display: inline-flex;
  width: fit-content;
  margin-top: auto;
  padding-top: 14px;
  color: var(--jhfunding-blue);
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
}

.jhfunding-disclosure {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
  gap: 24px;
  align-items: center;
  margin-bottom: 24px;
  padding: clamp(20px, 3vw, 28px);
  border: 1px solid var(--jhfunding-line);
  border-left: 4px solid var(--jhfunding-blue);
  border-radius: 14px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.07), transparent 34%), linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhfunding-disclosure h2 {
  margin: 0 !important;
  color: var(--jhfunding-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhfunding-disclosure p {
  margin: 10px 0 0 !important;
  color: var(--jhfunding-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhfunding-disclosure__badge {
  display: flex;
  flex-direction: column;
  padding: 17px;
  border: 1px solid #d7e4ed;
  border-radius: 11px;
  background: linear-gradient(145deg, var(--jhfunding-blue-soft), #ffffff);
}

.jhfunding-disclosure__badge span {
  color: var(--jhfunding-blue);
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.065em;
}

.jhfunding-disclosure__badge strong {
  margin-top: 5px;
  color: var(--jhfunding-wine);
  font-size: 21px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.15;
}

.jhfunding-disclosure__badge small {
  margin-top: 7px;
  color: var(--jhfunding-muted);
  font-size: 14px;
  font-style: italic;
  line-height: 1.3;
}

.jhfunding-footer {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: clamp(20px, 3vw, 30px);
  overflow: hidden;
  border: 1px solid var(--jhfunding-line);
  border-radius: 15px;
  background: radial-gradient(circle at 100% 0, rgba(224, 170, 53, 0.1), transparent 34%), linear-gradient(145deg, #fffdf8, #ffffff);
  box-shadow: 0 12px 28px rgba(53, 18, 47, 0.065);
}

.jhfunding-footer::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhfunding-wine), var(--jhfunding-blue), var(--jhfunding-gold));
}

.jhfunding-footer h2 {
  margin: 0 !important;
  color: var(--jhfunding-ink) !important;
  font-size: clamp(24px, 2.7vw, 33px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhfunding-footer p {
  margin: 9px 0 0 !important;
  color: var(--jhfunding-text) !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhfunding-footer__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.jhfunding-footer__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid transparent;
  border-radius: 9px;
  font-size: 16px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.1;
  letter-spacing: 0.035em;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.jhfunding-footer__button:hover,
.jhfunding-footer__button:focus-visible {
  transform: translateY(-2px);
}

.jhfunding-footer__button--primary {
  border-color: var(--jhfunding-wine);
  background: var(--jhfunding-wine);
  color: #ffffff !important;
  box-shadow: 0 7px 16px rgba(97, 12, 58, 0.14);
}

.jhfunding-footer__button--primary:hover,
.jhfunding-footer__button--primary:focus-visible {
  border-color: var(--jhfunding-blue);
  background: var(--jhfunding-blue);
}

.jhfunding-footer__button--secondary {
  border-color: #cadbe7;
  background: #ffffff;
  color: var(--jhfunding-blue) !important;
}

.jhfunding-footer__button--secondary:hover,
.jhfunding-footer__button--secondary:focus-visible {
  border-color: var(--jhfunding-blue);
  background: var(--jhfunding-blue-soft);
}

@media (max-width: 980px) {
  .jhfunding-hero,
  .jhfunding-intro,
  .jhfunding-independence,
  .jhfunding-disclosure,
  .jhfunding-footer {
    grid-template-columns: 1fr;
  }

  .jhfunding-status {
    max-width: 390px;
  }

  .jhfunding-pillars,
  .jhfunding-model-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhfunding-footer__actions {
    justify-content: flex-start;
  }
}

@media (max-width: 760px) {
  .jhfunding-section-heading {
    grid-template-columns: 1fr;
    gap: 8px;
    align-items: start;
  }

  .jhfunding-pillars,
  .jhfunding-model-grid,
  .jhfunding-standards-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .jhfunding {
    font-size: 16px;
  }

  .jhfunding-hero {
    padding: 20px 16px;
    border-radius: 13px;
  }

  .jhfunding-hero h2 {
    font-size: 30px !important;
  }

  .jhfunding-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhfunding-nav a {
    width: 100%;
    text-align: center;
  }

  .jhfunding-independence__principles {
    grid-template-columns: 1fr;
  }

  .jhfunding-footer__actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .jhfunding-footer__button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhfunding a,
  .jhfunding-nav a,
  .jhfunding-footer__button {
    transition: none !important;
  }

  .jhfunding-nav a:hover,
  .jhfunding-footer__button:hover {
    transform: none !important;
  }
}

/* ==========================================================================
   @JH-20 — PEER-REVIEW POLICY CUSTOM PAGE
   Owner selectors: .jhpeer
   Scope status: CUSTOM PAGE / isolated namespace
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* ==========================================================================
   @JH-20 — 20 — CUSTOM PAGE: PEER REVIEW POLICY (.jhpeer)
   Maintenance anchor: search exactly for @JH-20
   ========================================================================== */

.jhpeer,
.jhpeer *,
.jhpeer *::before,
.jhpeer *::after {
  box-sizing: border-box;
}

.jhpeer {
  --jhpeer-wine: #610c3a;
  --jhpeer-wine-soft: #8f153d;
  --jhpeer-blue: #2f6592;
  --jhpeer-blue-dark: #204866;
  --jhpeer-blue-soft: #eef6fb;
  --jhpeer-gold: #e0aa35;
  --jhpeer-green: #3f7a64;
  --jhpeer-red: #8f2846;
  --jhpeer-ink: #2f272c;
  --jhpeer-text: #4d4248;
  --jhpeer-muted: #766a70;
  --jhpeer-line: #e5d9e0;
  --jhpeer-paper: #fffdfc;
  --jhpeer-soft: #faf7f9;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  color: var(--jhpeer-text);
  font-family: "Perpetua", Georgia, serif;
  font-size: 17px;
  line-height: 1.55;
}

.jhpeer a {
  color: inherit;
  text-decoration: none;
}

.jhpeer h2,
.jhpeer h3,
.jhpeer p {
  text-wrap: pretty;
}

.jhpeer-kicker {
  display: block;
  margin: 0 0 6px;
  color: var(--jhpeer-blue);
  font-size: 14px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.095em;
}

.jhpeer-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(280px, 0.68fr);
  gap: clamp(22px, 4vw, 48px);
  align-items: center;
  margin: 0 0 14px;
  padding: clamp(23px, 4vw, 38px);
  overflow: hidden;
  border: 1px solid var(--jhpeer-line);
  border-radius: 16px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.12), transparent 35%), radial-gradient(circle at 0% 100%, rgba(143, 21, 61, 0.08), transparent 33%), linear-gradient(145deg, #ffffff, var(--jhpeer-paper));
  box-shadow:
    0 16px 38px rgba(53, 18, 47, 0.075),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.jhpeer-hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhpeer-wine), var(--jhpeer-blue), var(--jhpeer-gold));
}

.jhpeer-hero h2 {
  margin: 0 !important;
  color: var(--jhpeer-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: clamp(30px, 3.6vw, 45px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.1 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhpeer-hero__lead {
  max-width: 850px;
  margin: 14px 0 0 !important;
  color: var(--jhpeer-text) !important;
  font-size: 18px !important;
  font-style: italic;
  line-height: 1.55 !important;
  text-align: left !important;
}

.jhpeer-status {
  display: flex;
  flex-direction: column;
  padding: 18px;
  border: 1px solid #cadbe7;
  border-radius: 13px;
  background: linear-gradient(145deg, var(--jhpeer-blue), var(--jhpeer-blue-dark));
  box-shadow: 0 10px 22px rgba(47, 101, 146, 0.18);
  color: #ffffff;
}

.jhpeer-status__label {
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.08em;
  opacity: 0.84;
}

.jhpeer-status strong {
  margin-top: 5px;
  font-size: 28px;
  font-weight: 300;
  font-style: italic;
  line-height: 1;
}

.jhpeer-status small {
  margin-top: 9px;
  font-size: 14px;
  font-style: italic;
  line-height: 1.32;
  opacity: 0.9;
}

.jhpeer-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 22px;
  padding: 0;
}

.jhpeer-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 37px;
  padding: 7px 13px;
  border: 1px solid #d8e4ec;
  border-radius: 999px;
  background: #ffffff;
  color: var(--jhpeer-blue);
  font-size: 15px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.045em;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.jhpeer-nav a:hover,
.jhpeer-nav a:focus-visible {
  border-color: var(--jhpeer-blue);
  background: var(--jhpeer-blue);
  color: #ffffff;
  transform: translateY(-1px);
}

.jhpeer-intro {
  display: grid;
  grid-template-columns: minmax(250px, 0.75fr) minmax(0, 1.55fr);
  gap: 24px;
  align-items: center;
  margin-bottom: 24px;
  padding: 19px 20px;
  border: 1px solid var(--jhpeer-line);
  border-radius: 13px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhpeer-intro h2 {
  margin: 0 !important;
  color: var(--jhpeer-ink) !important;
  font-size: clamp(24px, 2.6vw, 32px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.16 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhpeer-intro > p {
  margin: 0 !important;
  color: var(--jhpeer-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhpeer-intro a {
  color: var(--jhpeer-blue);
  font-weight: 600;
}

.jhpeer-selection,
.jhpeer-criteria,
.jhpeer-timeline,
.jhpeer-integrity {
  margin-bottom: 24px;
}

.jhpeer-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.65fr);
  gap: 22px;
  align-items: end;
  margin-bottom: 14px;
  padding: 0 2px 12px;
  border-bottom: 1px solid var(--jhpeer-line);
}

.jhpeer-section-heading h2 {
  margin: 0 !important;
  color: var(--jhpeer-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhpeer-section-heading > p {
  margin: 0 !important;
  color: var(--jhpeer-muted) !important;
  font-size: 16px !important;
  font-style: italic;
  line-height: 1.4 !important;
  text-align: left !important;
}

.jhpeer-selection-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.jhpeer-selection-card {
  min-width: 0;
  padding: 17px;
  border: 1px solid var(--jhpeer-line);
  border-radius: 12px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.05), transparent 34%), linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 5px 13px rgba(53, 18, 47, 0.035);
}

.jhpeer-selection-card__number {
  color: var(--jhpeer-blue);
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhpeer-selection-card__label {
  display: block;
  margin-top: 15px;
  color: var(--jhpeer-muted);
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.06em;
}

.jhpeer-selection-card h3 {
  margin: 5px 0 0 !important;
  color: var(--jhpeer-wine) !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhpeer-selection-card p {
  margin: 8px 0 0 !important;
  color: var(--jhpeer-text) !important;
  font-size: 15.5px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhpeer-selection-card a {
  color: var(--jhpeer-blue);
  font-weight: 600;
}

.jhpeer-selection-note {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 13px;
  align-items: center;
  margin-top: 10px;
  padding: 14px 16px;
  border: 1px solid #cfe1d9;
  border-left: 3px solid var(--jhpeer-green);
  border-radius: 11px;
  background: linear-gradient(110deg, #eef8f3, #ffffff);
}

.jhpeer-selection-note__mark {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  background: var(--jhpeer-green);
  color: #ffffff;
  font-family: Arial, sans-serif;
  font-size: 16px;
}

.jhpeer-selection-note p {
  margin: 0 !important;
  color: var(--jhpeer-text) !important;
  font-size: 15.5px !important;
  font-style: italic;
  line-height: 1.43 !important;
  text-align: left !important;
}

.jhpeer-model {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
  gap: 24px;
  align-items: center;
  margin-bottom: 24px;
  padding: clamp(20px, 3vw, 29px);
  border: 1px solid var(--jhpeer-line);
  border-left: 4px solid var(--jhpeer-blue);
  border-radius: 14px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.08), transparent 34%), linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 10px 24px rgba(53, 18, 47, 0.05);
}

.jhpeer-model h2 {
  margin: 0 !important;
  color: var(--jhpeer-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhpeer-model__copy p {
  margin: 10px 0 0 !important;
  color: var(--jhpeer-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhpeer-model__principles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.jhpeer-model__principles article {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  min-width: 0;
  padding: 12px;
  border: 1px solid #d7e4ed;
  border-radius: 10px;
  background: linear-gradient(145deg, #ffffff, var(--jhpeer-blue-soft));
}

.jhpeer-model__principles article > span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid #cadbe7;
  border-radius: 8px;
  background: #ffffff;
  color: var(--jhpeer-blue-dark);
  font-size: 12px;
  font-style: italic;
}

.jhpeer-model__principles strong {
  display: block;
  color: var(--jhpeer-wine);
  font-size: 16px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.15;
}

.jhpeer-model__principles small {
  display: block;
  margin-top: 4px;
  color: var(--jhpeer-text);
  font-size: 13.5px;
  font-style: italic;
  line-height: 1.3;
}

.jhpeer-criteria-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.jhpeer-criteria-grid article {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--jhpeer-line);
  border-radius: 11px;
  background: var(--jhpeer-soft);
}

.jhpeer-criteria-grid article > span {
  color: var(--jhpeer-blue);
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhpeer-criteria-grid h3 {
  margin: 17px 0 0 !important;
  color: var(--jhpeer-wine) !important;
  font-size: 18.5px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhpeer-criteria-grid p {
  margin: 7px 0 0 !important;
  color: var(--jhpeer-text) !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  text-align: left !important;
}

.jhpeer-decision-note {
  display: grid;
  grid-template-columns: minmax(150px, 0.4fr) minmax(0, 1.7fr);
  gap: 15px;
  align-items: center;
  margin-top: 10px;
  padding: 14px 16px;
  border: 1px solid #eadfbf;
  border-left: 3px solid var(--jhpeer-gold);
  border-radius: 11px;
  background: linear-gradient(110deg, #fffaf0, #ffffff);
}

.jhpeer-decision-note__label {
  color: #8b6618;
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.06em;
}

.jhpeer-decision-note p {
  margin: 0 !important;
  color: var(--jhpeer-text) !important;
  font-size: 15.5px !important;
  font-style: italic;
  line-height: 1.43 !important;
  text-align: left !important;
}

.jhpeer-timeline-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.jhpeer-timeline-grid::before {
  content: "";
  position: absolute;
  top: 31px;
  right: 5%;
  left: 5%;
  height: 1px;
  background: linear-gradient(90deg, var(--jhpeer-blue), var(--jhpeer-wine), var(--jhpeer-gold));
  opacity: 0.3;
}

.jhpeer-timeline-card {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 205px;
  padding: 15px;
  border: 1px solid var(--jhpeer-line);
  border-radius: 11px;
  background: #ffffff;
}

.jhpeer-timeline-card--total {
  border-top: 3px solid var(--jhpeer-gold);
}

.jhpeer-timeline-card__step {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 1px solid #cadbe7;
  border-radius: 50%;
  background: var(--jhpeer-blue-soft);
  color: var(--jhpeer-blue-dark);
  font-size: 12px;
  font-style: italic;
}

.jhpeer-timeline-card__label {
  margin-top: 15px;
  color: var(--jhpeer-muted);
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.06em;
}

.jhpeer-timeline-card strong {
  margin-top: 5px;
  color: var(--jhpeer-wine);
  font-size: 24px;
  font-weight: 300;
  font-style: italic;
  line-height: 1;
}

.jhpeer-timeline-card p {
  margin: auto 0 0 !important;
  padding-top: 13px;
  color: var(--jhpeer-text) !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  text-align: left !important;
}

.jhpeer-delay-note {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 13px;
  align-items: center;
  margin-top: 10px;
  padding: 14px 16px;
  border: 1px solid #d7e4ed;
  border-left: 3px solid var(--jhpeer-blue);
  border-radius: 11px;
  background: linear-gradient(110deg, var(--jhpeer-blue-soft), #ffffff);
}

.jhpeer-delay-note > span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  background: var(--jhpeer-blue);
  color: #ffffff;
  font-family: Georgia, serif;
  font-size: 18px;
  font-style: italic;
  font-weight: 700;
}

.jhpeer-delay-note p {
  margin: 0 !important;
  color: var(--jhpeer-text) !important;
  font-size: 15.5px !important;
  font-style: italic;
  line-height: 1.43 !important;
  text-align: left !important;
}

.jhpeer-integrity-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.jhpeer-integrity-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 210px;
  padding: 16px;
  border: 1px solid var(--jhpeer-line);
  border-radius: 11px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhpeer-integrity-card__number {
  color: var(--jhpeer-blue);
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhpeer-integrity-card h3 {
  margin: 17px 0 0 !important;
  color: var(--jhpeer-wine) !important;
  font-size: 19px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhpeer-integrity-card p {
  margin: 7px 0 0 !important;
  color: var(--jhpeer-text) !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  text-align: left !important;
}

.jhpeer-integrity-card a {
  display: inline-flex;
  width: fit-content;
  margin-top: auto;
  padding-top: 14px;
  color: var(--jhpeer-blue);
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
}

.jhpeer-similarity-note {
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr);
  gap: 15px;
  align-items: center;
  margin-top: 10px;
  padding: 15px 17px;
  border: 1px solid #eadfbf;
  border-left: 3px solid var(--jhpeer-gold);
  border-radius: 11px;
  background: linear-gradient(110deg, #fffaf0, #ffffff);
}

.jhpeer-similarity-note__mark {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 12px;
  background: var(--jhpeer-gold);
  color: #ffffff;
  font-size: 17px;
  font-style: italic;
}

.jhpeer-similarity-note strong {
  display: block;
  color: var(--jhpeer-wine);
  font-size: 18px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.15;
}

.jhpeer-similarity-note p {
  margin: 6px 0 0 !important;
  color: var(--jhpeer-text) !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  text-align: left !important;
}

.jhpeer-ai {
  margin-bottom: 24px;
  padding: clamp(20px, 3vw, 29px);
  border: 1px solid #ead7de;
  border-left: 4px solid var(--jhpeer-red);
  border-radius: 14px;
  background: radial-gradient(circle at 100% 0, rgba(143, 40, 70, 0.07), transparent 34%), linear-gradient(145deg, #fffafb, #ffffff);
  box-shadow: 0 10px 24px rgba(53, 18, 47, 0.05);
}

.jhpeer-ai__copy {
  max-width: 900px;
  margin-bottom: 15px;
}

.jhpeer-ai h2 {
  margin: 0 !important;
  color: var(--jhpeer-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhpeer-ai__copy p {
  margin: 10px 0 0 !important;
  color: var(--jhpeer-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhpeer-ai__rules {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.jhpeer-ai-rule {
  padding: 16px;
  border: 1px solid var(--jhpeer-line);
  border-radius: 11px;
  background: #ffffff;
}

.jhpeer-ai-rule--restricted {
  border-top: 3px solid var(--jhpeer-red);
}

.jhpeer-ai-rule--limited {
  border-top: 3px solid var(--jhpeer-blue);
}

.jhpeer-ai-rule__label {
  display: block;
  color: var(--jhpeer-wine);
  font-size: 15px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.06em;
}

.jhpeer-ai-rule ul {
  display: grid;
  gap: 8px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.jhpeer-ai-rule li {
  position: relative;
  padding: 9px 10px 9px 29px;
  border: 1px solid #eee4e9;
  border-radius: 8px;
  background: var(--jhpeer-soft);
  color: var(--jhpeer-text);
  font-size: 14.5px;
  line-height: 1.35;
}

.jhpeer-ai-rule--restricted li::before {
  content: "×";
  position: absolute;
  top: 8px;
  left: 10px;
  color: var(--jhpeer-red);
  font-family: Arial, sans-serif;
  font-weight: 700;
}

.jhpeer-ai-rule--limited li::before {
  content: "✓";
  position: absolute;
  top: 9px;
  left: 10px;
  color: var(--jhpeer-blue);
  font-family: Arial, sans-serif;
  font-size: 11px;
}

.jhpeer-ai-note {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 13px;
  align-items: center;
  margin-top: 10px;
  padding: 14px 16px;
  border: 1px solid #eadfbf;
  border-left: 3px solid var(--jhpeer-gold);
  border-radius: 11px;
  background: linear-gradient(110deg, #fffaf0, #ffffff);
}

.jhpeer-ai-note > span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  background: var(--jhpeer-gold);
  color: #ffffff;
  font-family: Arial, sans-serif;
  font-weight: 700;
}

.jhpeer-ai-note p {
  margin: 0 !important;
  color: var(--jhpeer-text) !important;
  font-size: 15.5px !important;
  font-style: italic;
  line-height: 1.43 !important;
  text-align: left !important;
}

.jhpeer-footer {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: clamp(20px, 3vw, 30px);
  overflow: hidden;
  border: 1px solid var(--jhpeer-line);
  border-radius: 15px;
  background: radial-gradient(circle at 100% 0, rgba(224, 170, 53, 0.1), transparent 34%), linear-gradient(145deg, #fffdf8, #ffffff);
  box-shadow: 0 12px 28px rgba(53, 18, 47, 0.065);
}

.jhpeer-footer::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhpeer-wine), var(--jhpeer-blue), var(--jhpeer-gold));
}

.jhpeer-footer h2 {
  margin: 0 !important;
  color: var(--jhpeer-ink) !important;
  font-size: clamp(24px, 2.7vw, 33px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhpeer-footer p {
  margin: 9px 0 0 !important;
  color: var(--jhpeer-text) !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhpeer-footer__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.jhpeer-footer__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid transparent;
  border-radius: 9px;
  font-size: 16px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.1;
  letter-spacing: 0.035em;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.jhpeer-footer__button:hover,
.jhpeer-footer__button:focus-visible {
  transform: translateY(-2px);
}

.jhpeer-footer__button--primary {
  border-color: var(--jhpeer-wine);
  background: var(--jhpeer-wine);
  color: #ffffff !important;
  box-shadow: 0 7px 16px rgba(97, 12, 58, 0.14);
}

.jhpeer-footer__button--primary:hover,
.jhpeer-footer__button--primary:focus-visible {
  border-color: var(--jhpeer-blue);
  background: var(--jhpeer-blue);
}

.jhpeer-footer__button--secondary {
  border-color: #cadbe7;
  background: #ffffff;
  color: var(--jhpeer-blue) !important;
}

.jhpeer-footer__button--secondary:hover,
.jhpeer-footer__button--secondary:focus-visible {
  border-color: var(--jhpeer-blue);
  background: var(--jhpeer-blue-soft);
}

@media (max-width: 980px) {
  .jhpeer-hero,
  .jhpeer-intro,
  .jhpeer-model,
  .jhpeer-footer {
    grid-template-columns: 1fr;
  }

  .jhpeer-status {
    max-width: 390px;
  }

  .jhpeer-selection-grid,
  .jhpeer-criteria-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhpeer-footer__actions {
    justify-content: flex-start;
  }
}

@media (max-width: 760px) {
  .jhpeer-section-heading {
    grid-template-columns: 1fr;
    gap: 8px;
    align-items: start;
  }

  .jhpeer-timeline-grid,
  .jhpeer-integrity-grid,
  .jhpeer-ai__rules {
    grid-template-columns: 1fr;
  }

  .jhpeer-timeline-grid::before {
    display: none;
  }

  .jhpeer-decision-note {
    grid-template-columns: 1fr;
    gap: 7px;
  }
}

@media (max-width: 520px) {
  .jhpeer {
    font-size: 16px;
  }

  .jhpeer-hero {
    padding: 20px 16px;
    border-radius: 13px;
  }

  .jhpeer-hero h2 {
    font-size: 30px !important;
  }

  .jhpeer-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhpeer-nav a {
    width: 100%;
    text-align: center;
  }

  .jhpeer-selection-grid,
  .jhpeer-criteria-grid,
  .jhpeer-model__principles {
    grid-template-columns: 1fr;
  }

  .jhpeer-selection-note,
  .jhpeer-delay-note,
  .jhpeer-similarity-note,
  .jhpeer-ai-note {
    grid-template-columns: 1fr;
  }

  .jhpeer-footer__actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .jhpeer-footer__button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhpeer a,
  .jhpeer-nav a,
  .jhpeer-footer__button {
    transition: none !important;
  }

  .jhpeer-nav a:hover,
  .jhpeer-footer__button:hover {
    transform: none !important;
  }
}

/* ==========================================================================
   @JH-21 — MANUSCRIPT WORKFLOW CUSTOM PAGE
   Owner selectors: .jhflow
   Scope status: CUSTOM PAGE / isolated namespace
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* ==========================================================================
   @JH-21 — 21 — CUSTOM PAGE: MANUSCRIPT WORKFLOW (.jhflow)
   Maintenance anchor: search exactly for @JH-21
   ========================================================================== */

.jhflow,
.jhflow *,
.jhflow *::before,
.jhflow *::after {
  box-sizing: border-box;
}

.jhflow {
  --jhflow-wine: #610c3a;
  --jhflow-wine-soft: #8f153d;
  --jhflow-blue: #2f6592;
  --jhflow-blue-dark: #204866;
  --jhflow-blue-soft: #eef6fb;
  --jhflow-gold: #e0aa35;
  --jhflow-green: #3f7a64;
  --jhflow-red: #8f2846;
  --jhflow-ink: #2f272c;
  --jhflow-text: #4d4248;
  --jhflow-muted: #766a70;
  --jhflow-line: #e5d9e0;
  --jhflow-paper: #fffdfc;
  --jhflow-soft: #faf7f9;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  color: var(--jhflow-text);
  font-family: "Perpetua", Georgia, serif;
  font-size: 17px;
  line-height: 1.55;
}

.jhflow a {
  color: inherit;
  text-decoration: none;
}

.jhflow h2,
.jhflow h3,
.jhflow p {
  text-wrap: pretty;
}

.jhflow-kicker {
  display: block;
  margin: 0 0 6px;
  color: var(--jhflow-blue);
  font-size: 14px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.095em;
}

.jhflow-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(330px, 0.8fr);
  gap: clamp(22px, 4vw, 48px);
  align-items: center;
  margin: 0 0 14px;
  padding: clamp(23px, 4vw, 38px);
  overflow: hidden;
  border: 1px solid var(--jhflow-line);
  border-radius: 16px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.12), transparent 35%), radial-gradient(circle at 0% 100%, rgba(143, 21, 61, 0.08), transparent 33%), linear-gradient(145deg, #ffffff, var(--jhflow-paper));
  box-shadow:
    0 16px 38px rgba(53, 18, 47, 0.075),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.jhflow-hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhflow-wine), var(--jhflow-blue), var(--jhflow-gold));
}

.jhflow-hero h2 {
  margin: 0 !important;
  color: var(--jhflow-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: clamp(30px, 3.6vw, 45px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.1 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhflow-hero__lead {
  max-width: 850px;
  margin: 14px 0 0 !important;
  color: var(--jhflow-text) !important;
  font-size: 18px !important;
  font-style: italic;
  line-height: 1.55 !important;
  text-align: left !important;
}

.jhflow-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

.jhflow-summary > div {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 13px;
  border: 1px solid #d8e4ec;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.86);
}

.jhflow-summary small {
  color: var(--jhflow-muted);
  font-size: 12px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.15;
  letter-spacing: 0.055em;
}

.jhflow-summary strong {
  margin-top: 6px;
  color: var(--jhflow-wine);
  font-size: 18px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.1;
}

.jhflow-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 22px;
  padding: 0;
}

.jhflow-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 37px;
  padding: 7px 13px;
  border: 1px solid #d8e4ec;
  border-radius: 999px;
  background: #ffffff;
  color: var(--jhflow-blue);
  font-size: 15px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.045em;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.jhflow-nav a:hover,
.jhflow-nav a:focus-visible {
  border-color: var(--jhflow-blue);
  background: var(--jhflow-blue);
  color: #ffffff;
  transform: translateY(-1px);
}

.jhflow-intro {
  display: grid;
  grid-template-columns: minmax(250px, 0.75fr) minmax(0, 1.55fr);
  gap: 24px;
  align-items: center;
  margin-bottom: 24px;
  padding: 19px 20px;
  border: 1px solid var(--jhflow-line);
  border-radius: 13px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhflow-intro h2 {
  margin: 0 !important;
  color: var(--jhflow-ink) !important;
  font-size: clamp(24px, 2.6vw, 32px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.16 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhflow-intro > p {
  margin: 0 !important;
  color: var(--jhflow-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhflow-phase {
  margin-bottom: 24px;
  scroll-margin-top: 24px;
}

.jhflow-phase__header {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr) minmax(270px, 0.68fr);
  gap: 18px;
  align-items: end;
  margin-bottom: 13px;
  padding: 0 2px 12px;
  border-bottom: 1px solid var(--jhflow-line);
}

.jhflow-phase__number {
  display: grid;
  min-height: 44px;
  place-items: center;
  padding: 7px 10px;
  border: 1px solid #cadbe7;
  border-radius: 9px;
  background: var(--jhflow-blue-soft);
  color: var(--jhflow-blue-dark);
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
}

.jhflow-phase__header h2 {
  margin: 0 !important;
  color: var(--jhflow-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhflow-phase__header > p {
  margin: 0 !important;
  color: var(--jhflow-muted) !important;
  font-size: 16px !important;
  font-style: italic;
  line-height: 1.4 !important;
  text-align: left !important;
}

.jhflow-steps {
  position: relative;
  display: grid;
  gap: 9px;
}

.jhflow-steps::before {
  content: "";
  position: absolute;
  top: 28px;
  bottom: 28px;
  left: 22px;
  width: 2px;
  background: linear-gradient(180deg, var(--jhflow-blue), var(--jhflow-wine), var(--jhflow-gold));
  opacity: 0.24;
}

.jhflow-step {
  position: relative;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 13px;
  align-items: start;
}

.jhflow-step__marker {
  position: relative;
  z-index: 2;
  display: grid;
  width: 44px;
  height: 44px;
  margin-top: 15px;
  place-items: center;
  border: 1px solid #cadbe7;
  border-radius: 50%;
  background: var(--jhflow-blue-soft);
  color: var(--jhflow-blue-dark);
  font-size: 12px;
  font-style: italic;
  box-shadow: 0 0 0 6px #ffffff;
}

.jhflow-step__body {
  min-width: 0;
  padding: 17px 18px;
  border: 1px solid var(--jhflow-line);
  border-radius: 12px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.045), transparent 34%), linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 5px 13px rgba(53, 18, 47, 0.035);
}

.jhflow-step__label {
  display: block;
  color: var(--jhflow-blue);
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.1;
  letter-spacing: 0.075em;
}

.jhflow-step__body h3 {
  margin: 5px 0 0 !important;
  color: var(--jhflow-wine) !important;
  font-size: 21px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  letter-spacing: 0.035em !important;
  text-transform: none !important;
}

.jhflow-step__body > p {
  margin: 8px 0 0 !important;
  color: var(--jhflow-text) !important;
  font-size: 15.5px !important;
  line-height: 1.46 !important;
  text-align: left !important;
}

.jhflow-step__body p a {
  color: var(--jhflow-blue);
  font-weight: 600;
}

.jhflow-step__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 12px;
}

.jhflow-step__actions a {
  display: inline-flex;
  padding: 7px 10px;
  border: 1px solid #d7e4ed;
  border-radius: 8px;
  background: var(--jhflow-blue-soft);
  color: var(--jhflow-blue);
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
}

.jhflow-step__note {
  padding: 10px 12px !important;
  border: 1px solid #d7e4ed;
  border-left: 3px solid var(--jhflow-blue);
  border-radius: 8px;
  background: var(--jhflow-blue-soft);
  font-style: italic;
}

.jhflow-screening-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  margin-top: 12px;
}

.jhflow-screening-grid article {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 11px;
  border: 1px solid #d8e4ec;
  border-radius: 8px;
  background: #ffffff;
}

.jhflow-screening-grid span {
  color: var(--jhflow-muted);
  font-size: 12px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.05em;
}

.jhflow-screening-grid strong {
  margin-top: 5px;
  color: var(--jhflow-wine);
  font-size: 14.5px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.2;
}

.jhflow-rejection {
  margin: 10px 0 0 59px;
  padding: 16px;
  border: 1px solid #ead7de;
  border-left: 3px solid var(--jhflow-red);
  border-radius: 11px;
  background: linear-gradient(110deg, #fff7fa, #ffffff);
}

.jhflow-rejection__heading {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.jhflow-rejection__icon {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 50%;
  background: var(--jhflow-red);
  color: #ffffff;
  font-family: Arial, sans-serif;
  font-weight: 700;
}

.jhflow-rejection__label {
  display: block;
  color: var(--jhflow-red);
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.065em;
}

.jhflow-rejection__heading strong {
  display: block;
  margin-top: 3px;
  color: var(--jhflow-wine);
  font-size: 17px;
  font-weight: 300;
  font-style: italic;
}

.jhflow-rejection ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin: 13px 0 0;
  padding: 0;
  list-style: none;
}

.jhflow-rejection li {
  position: relative;
  padding: 9px 10px 9px 29px;
  border: 1px solid rgba(143, 40, 70, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.84);
  color: var(--jhflow-text);
  font-size: 14.5px;
  line-height: 1.35;
}

.jhflow-rejection li::before {
  content: "×";
  position: absolute;
  top: 8px;
  left: 10px;
  color: var(--jhflow-red);
  font-family: Arial, sans-serif;
  font-weight: 700;
}

.jhflow-rejection > p {
  margin: 11px 0 0 !important;
  padding-top: 10px;
  border-top: 1px solid #ead7de;
  color: var(--jhflow-text) !important;
  font-size: 14.5px !important;
  font-style: italic;
  line-height: 1.4 !important;
  text-align: left !important;
}

.jhflow-review-timing {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin-top: 12px;
}

.jhflow-review-timing article {
  display: flex;
  flex-direction: column;
  padding: 11px;
  border: 1px solid #d7e4ed;
  border-radius: 8px;
  background: var(--jhflow-blue-soft);
}

.jhflow-review-timing span {
  color: var(--jhflow-blue);
  font-size: 12.5px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.055em;
}

.jhflow-review-timing strong {
  margin-top: 5px;
  color: var(--jhflow-wine);
  font-size: 18px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.1;
}

.jhflow-checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.jhflow-checklist li {
  position: relative;
  padding: 9px 10px 9px 29px;
  border: 1px solid #eee4e9;
  border-radius: 8px;
  background: var(--jhflow-soft);
  color: var(--jhflow-text);
  font-size: 14.5px;
  line-height: 1.35;
}

.jhflow-checklist--negative li::before {
  content: "!";
  position: absolute;
  top: 9px;
  left: 11px;
  color: var(--jhflow-red);
  font-family: Arial, sans-serif;
  font-weight: 700;
  font-size: 11px;
}

.jhflow-decisions {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 13px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.jhflow-decisions > li {
  margin: 0 !important;
  list-style: none !important;
}

.jhflow-decisions > li::marker {
  content: "";
}

.jhflow-decisions > span:nth-child(1),
.jhflow-decisions > li:nth-child(1) {
  --decision-accent: #3f7a64;
  --decision-soft: #eef8f3;
  --decision-line: #cfe1d9;
  --decision-symbol: "✓";
}

.jhflow-decisions > span:nth-child(2),
.jhflow-decisions > li:nth-child(2) {
  --decision-accent: #a17319;
  --decision-soft: #fff8e9;
  --decision-line: #eadfbf;
  --decision-symbol: "↺";
}

.jhflow-decisions > span:nth-child(3),
.jhflow-decisions > li:nth-child(3) {
  --decision-accent: #2f6592;
  --decision-soft: #eef6fb;
  --decision-line: #cadbe7;
  --decision-symbol: "↻";
}

.jhflow-decisions > span:nth-child(4),
.jhflow-decisions > li:nth-child(4) {
  --decision-accent: #76567e;
  --decision-soft: #f7f1f8;
  --decision-line: #dfd2e2;
  --decision-symbol: "↗";
}

.jhflow-decisions > span:nth-child(5),
.jhflow-decisions > li:nth-child(5) {
  --decision-accent: #8f2846;
  --decision-soft: #fff3f6;
  --decision-line: #ead7de;
  --decision-symbol: "×";
}

.jhflow-decisions > span:nth-child(6),
.jhflow-decisions > li:nth-child(6) {
  --decision-accent: #667078;
  --decision-soft: #f5f7f8;
  --decision-line: #dce1e4;
  --decision-symbol: "i";
}

.jhflow-decisions > span,
.jhflow-decisions > li {
  position: relative;
  display: grid !important;
  grid-template-columns: 36px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 62px !important;
  margin: 0 !important;
  padding: 11px 13px !important;
  overflow: hidden;
  border: 1px solid var(--decision-line) !important;
  border-radius: 10px !important;
  background: radial-gradient(circle at 100% 0, rgba(255, 255, 255, 0.84), transparent 45%), linear-gradient(145deg, #ffffff 0%, var(--decision-soft) 100%) !important;
  box-shadow:
    inset 3px 0 0 var(--decision-accent),
    0 4px 12px rgba(53, 18, 47, 0.045) !important;
  color: var(--decision-accent) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 15.5px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase;
  line-height: 1.2 !important;
  letter-spacing: 0.018em !important;
  text-align: left !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
  transition:
    transform 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease;
}

.jhflow-decisions > span::before,
.jhflow-decisions > li::before {
  content: var(--decision-symbol) !important;
  position: relative;
  z-index: 2;
  display: grid !important;
  width: 34px !important;
  height: 34px !important;
  place-items: center !important;
  border: 1px solid var(--decision-line) !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  box-shadow:
    inset 0 0 0 3px var(--decision-soft),
    0 3px 8px rgba(53, 18, 47, 0.055) !important;
  color: var(--decision-accent) !important;
  font-family: Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  font-style: normal !important;
  font-variant: normal !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

.jhflow-decisions > span::after,
.jhflow-decisions > li::after {
  content: "" !important;
  position: absolute;
  top: -24px;
  right: -24px;
  width: 58px;
  height: 58px;
  border: 1px solid var(--decision-line);
  border-radius: 50%;
  opacity: 0.4;
  pointer-events: none;
}

.jhflow-decisions > span:hover,
.jhflow-decisions > li:hover {
  z-index: 2;
  border-color: var(--decision-accent) !important;
  box-shadow:
    inset 3px 0 0 var(--decision-accent),
    0 9px 20px rgba(53, 18, 47, 0.09) !important;
  transform: translateY(-2px);
}

@media (max-width: 820px) {
  .jhflow-decisions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 500px) {
  .jhflow-decisions {
    grid-template-columns: 1fr !important;
  }

  .jhflow-decisions > span,
  .jhflow-decisions > li {
    min-height: 56px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhflow-decisions > span,
  .jhflow-decisions > li {
    transition: none !important;
  }

  .jhflow-decisions > span:hover,
  .jhflow-decisions > li:hover {
    transform: none !important;
  }
}

.jhflow-required-files {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin-top: 12px;
}

.jhflow-required-files article {
  display: flex;
  flex-direction: column;
  padding: 11px;
  border: 1px solid #d7e4ed;
  border-radius: 8px;
  background: var(--jhflow-blue-soft);
}

.jhflow-required-files span {
  color: var(--jhflow-blue);
  font-size: 12px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.05em;
}

.jhflow-required-files strong {
  margin-top: 5px;
  color: var(--jhflow-wine);
  font-size: 16px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.15;
}

.jhflow-acceptance {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 13px;
  padding: 9px 12px;
  border: 1px solid #cfe1d9;
  border-radius: 9px;
  background: #eef8f3;
}

.jhflow-acceptance > span {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  background: var(--jhflow-green);
  color: #ffffff;
  font-family: Arial, sans-serif;
  font-size: 12px;
}

.jhflow-acceptance strong {
  color: var(--jhflow-green);
  font-size: 16px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
}

.jhflow-publication-badges {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 13px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.jhflow-publication-badges > li {
  margin: 0 !important;
  list-style: none !important;
}

.jhflow-publication-badges > li::marker {
  content: "";
}

.jhflow-publication-badges > span:nth-child(1),
.jhflow-publication-badges > li:nth-child(1) {
  --pub-accent: #2f6592;
  --pub-soft: #eef6fb;
  --pub-line: #cadbe7;
  --pub-symbol: "DOI";
}

.jhflow-publication-badges > span:nth-child(2),
.jhflow-publication-badges > li:nth-child(2) {
  --pub-accent: #3f7a64;
  --pub-soft: #eef8f3;
  --pub-line: #cfe1d9;
  --pub-symbol: "OA";
}

.jhflow-publication-badges > span:nth-child(3),
.jhflow-publication-badges > li:nth-child(3) {
  --pub-accent: #610c3a;
  --pub-soft: #faf0f5;
  --pub-line: #e5cfda;
  --pub-symbol: "WEB";
}

.jhflow-publication-badges > span:nth-child(4),
.jhflow-publication-badges > li:nth-child(4) {
  --pub-accent: #98701d;
  --pub-soft: #fff8e9;
  --pub-line: #eadfbf;
  --pub-symbol: "∞";
}

.jhflow-publication-badges > span,
.jhflow-publication-badges > li {
  position: relative;
  display: grid !important;
  grid-template-columns: 40px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 66px !important;
  margin: 0 !important;
  padding: 11px 12px !important;
  overflow: hidden;
  border: 1px solid var(--pub-line) !important;
  border-radius: 10px !important;
  background: radial-gradient(circle at 100% 0, rgba(255, 255, 255, 0.84), transparent 45%), linear-gradient(145deg, #ffffff 0%, var(--pub-soft) 100%) !important;
  box-shadow:
    inset 3px 0 0 var(--pub-accent),
    0 4px 12px rgba(53, 18, 47, 0.045) !important;
  color: var(--pub-accent) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase;
  line-height: 1.2 !important;
  letter-spacing: 0.015em !important;
  text-align: left !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
  transition:
    transform 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease;
}

.jhflow-publication-badges > span::before,
.jhflow-publication-badges > li::before {
  content: var(--pub-symbol) !important;
  position: relative;
  z-index: 2;
  display: grid !important;
  width: 38px !important;
  height: 38px !important;
  place-items: center !important;
  border: 1px solid var(--pub-line) !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  box-shadow:
    inset 0 0 0 3px var(--pub-soft),
    0 3px 8px rgba(53, 18, 47, 0.055) !important;
  color: var(--pub-accent) !important;
  font-family: Arial, sans-serif !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  font-style: normal !important;
  font-variant: normal !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

.jhflow-publication-badges > span:nth-child(3)::before,
.jhflow-publication-badges > li:nth-child(3)::before {
  font-size: 8px !important;
}

.jhflow-publication-badges > span:nth-child(4)::before,
.jhflow-publication-badges > li:nth-child(4)::before {
  font-size: 18px !important;
  font-weight: 400 !important;
}

.jhflow-publication-badges > span::after,
.jhflow-publication-badges > li::after {
  content: "" !important;
  position: absolute;
  top: -24px;
  right: -24px;
  width: 58px;
  height: 58px;
  border: 1px solid var(--pub-line);
  border-radius: 50%;
  opacity: 0.4;
  pointer-events: none;
}

.jhflow-publication-badges > span:hover,
.jhflow-publication-badges > li:hover {
  z-index: 2;
  border-color: var(--pub-accent) !important;
  box-shadow:
    inset 3px 0 0 var(--pub-accent),
    0 9px 20px rgba(53, 18, 47, 0.09) !important;
  transform: translateY(-2px);
}

@media (max-width: 980px) {
  .jhflow-publication-badges {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 500px) {
  .jhflow-publication-badges {
    grid-template-columns: 1fr !important;
  }

  .jhflow-publication-badges > span,
  .jhflow-publication-badges > li {
    min-height: 58px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhflow-publication-badges > span,
  .jhflow-publication-badges > li {
    transition: none !important;
  }

  .jhflow-publication-badges > span:hover,
  .jhflow-publication-badges > li:hover {
    transform: none !important;
  }
}

.jhflow-footer {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: clamp(20px, 3vw, 30px);
  overflow: hidden;
  border: 1px solid var(--jhflow-line);
  border-radius: 15px;
  background: radial-gradient(circle at 100% 0, rgba(224, 170, 53, 0.1), transparent 34%), linear-gradient(145deg, #fffdf8, #ffffff);
  box-shadow: 0 12px 28px rgba(53, 18, 47, 0.065);
}

.jhflow-footer::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhflow-wine), var(--jhflow-blue), var(--jhflow-gold));
}

.jhflow-footer h2 {
  margin: 0 !important;
  color: var(--jhflow-ink) !important;
  font-size: clamp(24px, 2.7vw, 33px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhflow-footer p {
  margin: 9px 0 0 !important;
  color: var(--jhflow-text) !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhflow-footer__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.jhflow-footer__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid transparent;
  border-radius: 9px;
  font-size: 16px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.1;
  letter-spacing: 0.035em;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.jhflow-footer__button:hover,
.jhflow-footer__button:focus-visible {
  transform: translateY(-2px);
}

.jhflow-footer__button--primary {
  border-color: var(--jhflow-wine);
  background: var(--jhflow-wine);
  color: #ffffff !important;
  box-shadow: 0 7px 16px rgba(97, 12, 58, 0.14);
}

.jhflow-footer__button--primary:hover,
.jhflow-footer__button--primary:focus-visible {
  border-color: var(--jhflow-blue);
  background: var(--jhflow-blue);
}

.jhflow-footer__button--secondary {
  border-color: #cadbe7;
  background: #ffffff;
  color: var(--jhflow-blue) !important;
}

.jhflow-footer__button--secondary:hover,
.jhflow-footer__button--secondary:focus-visible {
  border-color: var(--jhflow-blue);
  background: var(--jhflow-blue-soft);
}

@media (max-width: 980px) {
  .jhflow-hero,
  .jhflow-intro,
  .jhflow-footer {
    grid-template-columns: 1fr;
  }

  .jhflow-summary {
    max-width: 650px;
  }

  .jhflow-phase__header {
    grid-template-columns: 84px minmax(0, 1fr);
  }

  .jhflow-phase__header > p {
    grid-column: 2;
  }

  .jhflow-screening-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhflow-footer__actions {
    justify-content: flex-start;
  }
}

@media (max-width: 720px) {
  .jhflow-phase__header {
    grid-template-columns: 1fr;
    gap: 8px;
    align-items: start;
  }

  .jhflow-phase__number {
    width: fit-content;
    min-height: 36px;
  }

  .jhflow-phase__header > p {
    grid-column: auto;
  }

  .jhflow-rejection {
    margin-left: 0;
  }

  .jhflow-rejection ul,
  .jhflow-checklist {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .jhflow {
    font-size: 16px;
  }

  .jhflow-hero {
    padding: 20px 16px;
    border-radius: 13px;
  }

  .jhflow-hero h2 {
    font-size: 30px !important;
  }

  .jhflow-summary {
    grid-template-columns: 1fr;
  }

  .jhflow-nav {
    display: grid;
    grid-template-columns: 1fr;
  }

  .jhflow-nav a {
    width: 100%;
    text-align: center;
  }

  .jhflow-step {
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 9px;
  }

  .jhflow-steps::before {
    left: 15px;
  }

  .jhflow-step__marker {
    width: 30px;
    height: 30px;
    margin-top: 16px;
    box-shadow: 0 0 0 4px #ffffff;
  }

  .jhflow-step__body {
    padding: 15px;
  }

  .jhflow-screening-grid,
  .jhflow-review-timing,
  .jhflow-required-files {
    grid-template-columns: 1fr;
  }

  .jhflow-rejection__heading {
    grid-template-columns: 1fr;
  }

  .jhflow-footer__actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .jhflow-footer__button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhflow a,
  .jhflow-nav a,
  .jhflow-footer__button {
    transition: none !important;
  }

  .jhflow-nav a:hover,
  .jhflow-footer__button:hover {
    transform: none !important;
  }
}

/* ==========================================================================
   @JH-22 — REVIEWER REGISTRATION CUSTOM PAGE
   Owner selectors: .jhreg
   Scope status: CUSTOM PAGE / isolated namespace
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* ==========================================================================
   @JH-22 — 22 — CUSTOM PAGE: REVIEWER REGISTRATION (.jhreg)
   Maintenance anchor: search exactly for @JH-22
   ========================================================================== */

.jhreg,
.jhreg *,
.jhreg *::before,
.jhreg *::after {
  box-sizing: border-box;
}

.jhreg {
  --jhreg-wine: #610c3a;
  --jhreg-wine-soft: #8f153d;
  --jhreg-blue: #2f6592;
  --jhreg-blue-dark: #204866;
  --jhreg-blue-soft: #eef6fb;
  --jhreg-gold: #e0aa35;
  --jhreg-green: #3f7a64;
  --jhreg-red: #8f2846;
  --jhreg-ink: #2f272c;
  --jhreg-text: #4d4248;
  --jhreg-muted: #766a70;
  --jhreg-line: #e5d9e0;
  --jhreg-paper: #fffdfc;
  --jhreg-soft: #faf7f9;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  color: var(--jhreg-text);
  font-family: "Perpetua", Georgia, serif;
  font-size: 17px;
  line-height: 1.55;
}

.jhreg a {
  color: inherit;
  text-decoration: none;
}

.jhreg h2,
.jhreg h3,
.jhreg p {
  text-wrap: pretty;
}

.jhreg-kicker {
  display: block;
  margin: 0 0 6px;
  color: var(--jhreg-blue);
  font-size: 14px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.095em;
}

.jhreg-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(280px, 0.68fr);
  gap: clamp(22px, 4vw, 48px);
  align-items: center;
  margin: 0 0 14px;
  padding: clamp(23px, 4vw, 38px);
  overflow: hidden;
  border: 1px solid var(--jhreg-line);
  border-radius: 16px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.12), transparent 35%), radial-gradient(circle at 0% 100%, rgba(143, 21, 61, 0.08), transparent 33%), linear-gradient(145deg, #ffffff, var(--jhreg-paper));
  box-shadow:
    0 16px 38px rgba(53, 18, 47, 0.075),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.jhreg-hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhreg-wine), var(--jhreg-blue), var(--jhreg-gold));
}

.jhreg-hero h2 {
  margin: 0 !important;
  color: var(--jhreg-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: clamp(30px, 3.6vw, 45px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.1 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhreg-hero__lead {
  max-width: 850px;
  margin: 14px 0 0 !important;
  color: var(--jhreg-text) !important;
  font-size: 18px !important;
  font-style: italic;
  line-height: 1.55 !important;
  text-align: left !important;
}

.jhreg-status {
  display: flex;
  flex-direction: column;
  padding: 18px;
  border: 1px solid #cfe1d9;
  border-radius: 13px;
  background: linear-gradient(145deg, var(--jhreg-green), #2f6552);
  box-shadow: 0 10px 22px rgba(63, 122, 100, 0.18);
  color: #ffffff;
}

.jhreg-status__label {
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.08em;
  opacity: 0.84;
}

.jhreg-status strong {
  margin-top: 5px;
  font-size: 31px;
  font-weight: 300;
  font-style: italic;
  line-height: 1;
}

.jhreg-status small {
  margin-top: 9px;
  font-size: 14px;
  font-style: italic;
  line-height: 1.32;
  opacity: 0.9;
}

.jhreg-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 22px;
  padding: 0;
}

.jhreg-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 37px;
  padding: 7px 13px;
  border: 1px solid #d8e4ec;
  border-radius: 999px;
  background: #ffffff;
  color: var(--jhreg-blue);
  font-size: 15px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.045em;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.jhreg-nav a:hover,
.jhreg-nav a:focus-visible {
  border-color: var(--jhreg-blue);
  background: var(--jhreg-blue);
  color: #ffffff;
  transform: translateY(-1px);
}

.jhreg-intro {
  display: grid;
  grid-template-columns: minmax(250px, 0.75fr) minmax(0, 1.55fr);
  gap: 24px;
  align-items: center;
  margin-bottom: 24px;
  padding: 19px 20px;
  border: 1px solid var(--jhreg-line);
  border-radius: 13px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhreg-intro h2 {
  margin: 0 !important;
  color: var(--jhreg-ink) !important;
  font-size: clamp(24px, 2.6vw, 32px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.16 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhreg-intro > p {
  margin: 0 !important;
  color: var(--jhreg-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhreg-qualifications,
.jhreg-timeline,
.jhreg-application {
  margin-bottom: 24px;
}

.jhreg-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.65fr);
  gap: 22px;
  align-items: end;
  margin-bottom: 14px;
  padding: 0 2px 12px;
  border-bottom: 1px solid var(--jhreg-line);
}

.jhreg-section-heading h2 {
  margin: 0 !important;
  color: var(--jhreg-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhreg-section-heading > p {
  margin: 0 !important;
  color: var(--jhreg-muted) !important;
  font-size: 16px !important;
  font-style: italic;
  line-height: 1.4 !important;
  text-align: left !important;
}

.jhreg-qualification-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.jhreg-qualification-card {
  min-width: 0;
  padding: 17px;
  border: 1px solid var(--jhreg-line);
  border-radius: 12px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.05), transparent 34%), linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 5px 13px rgba(53, 18, 47, 0.035);
}

.jhreg-qualification-card__number {
  color: var(--jhreg-blue);
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhreg-qualification-card h3 {
  margin: 18px 0 0 !important;
  color: var(--jhreg-wine) !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhreg-qualification-card p {
  margin: 8px 0 0 !important;
  color: var(--jhreg-text) !important;
  font-size: 15.5px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhreg-responsibilities {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
  gap: 24px;
  align-items: center;
  margin-bottom: 24px;
  padding: clamp(20px, 3vw, 29px);
  border: 1px solid var(--jhreg-line);
  border-left: 4px solid var(--jhreg-blue);
  border-radius: 14px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.08), transparent 34%), linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 10px 24px rgba(53, 18, 47, 0.05);
}

.jhreg-responsibilities h2 {
  margin: 0 !important;
  color: var(--jhreg-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhreg-responsibilities__copy p {
  margin: 10px 0 0 !important;
  color: var(--jhreg-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhreg-responsibilities__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.jhreg-responsibilities__grid article {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  min-width: 0;
  padding: 12px;
  border: 1px solid #d7e4ed;
  border-radius: 10px;
  background: linear-gradient(145deg, #ffffff, var(--jhreg-blue-soft));
}

.jhreg-responsibilities__grid article > span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid #cadbe7;
  border-radius: 8px;
  background: #ffffff;
  color: var(--jhreg-blue-dark);
  font-size: 12px;
  font-style: italic;
}

.jhreg-responsibilities__grid strong {
  display: block;
  color: var(--jhreg-wine);
  font-size: 16px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.15;
}

.jhreg-responsibilities__grid small {
  display: block;
  margin-top: 4px;
  color: var(--jhreg-text);
  font-size: 13.5px;
  font-style: italic;
  line-height: 1.3;
}

.jhreg-timeline-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.jhreg-timeline-grid::before {
  content: "";
  position: absolute;
  top: 31px;
  right: 5%;
  left: 5%;
  height: 1px;
  background: linear-gradient(90deg, var(--jhreg-blue), var(--jhreg-wine), var(--jhreg-gold));
  opacity: 0.3;
}

.jhreg-timeline-grid article {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 195px;
  padding: 15px;
  border: 1px solid var(--jhreg-line);
  border-radius: 11px;
  background: #ffffff;
}

.jhreg-timeline__notice {
  border-top: 3px solid var(--jhreg-gold) !important;
}

.jhreg-timeline__step {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 1px solid #cadbe7;
  border-radius: 50%;
  background: var(--jhreg-blue-soft);
  color: var(--jhreg-blue-dark);
  font-size: 12px;
  font-style: italic;
}

.jhreg-timeline__label {
  margin-top: 15px;
  color: var(--jhreg-muted);
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.06em;
}

.jhreg-timeline-grid strong {
  margin-top: 5px;
  color: var(--jhreg-wine);
  font-size: 23px;
  font-weight: 300;
  font-style: italic;
  line-height: 1;
}

.jhreg-timeline-grid p {
  margin: auto 0 0 !important;
  padding-top: 13px;
  color: var(--jhreg-text) !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  text-align: left !important;
}

.jhreg-conflicts {
  margin-bottom: 24px;
  padding: clamp(20px, 3vw, 29px);
  border: 1px solid #ead7de;
  border-left: 4px solid var(--jhreg-red);
  border-radius: 14px;
  background: radial-gradient(circle at 100% 0, rgba(143, 40, 70, 0.07), transparent 34%), linear-gradient(145deg, #fffafb, #ffffff);
  box-shadow: 0 10px 24px rgba(53, 18, 47, 0.05);
}

.jhreg-conflicts__copy {
  max-width: 900px;
  margin-bottom: 15px;
}

.jhreg-conflicts h2 {
  margin: 0 !important;
  color: var(--jhreg-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhreg-conflicts__copy p {
  margin: 10px 0 0 !important;
  color: var(--jhreg-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhreg-conflicts__examples {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.jhreg-conflicts__examples article {
  min-width: 0;
  padding: 15px;
  border: 1px solid #ead7de;
  border-radius: 10px;
  background: #ffffff;
}

.jhreg-conflicts__number {
  color: var(--jhreg-red);
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhreg-conflicts__examples h3 {
  margin: 15px 0 0 !important;
  color: var(--jhreg-wine) !important;
  font-size: 18.5px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhreg-conflicts__examples p {
  margin: 7px 0 0 !important;
  color: var(--jhreg-text) !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  text-align: left !important;
}

.jhreg-conflict-note {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 13px;
  align-items: center;
  margin-top: 10px;
  padding: 14px 16px;
  border: 1px solid #eadfbf;
  border-left: 3px solid var(--jhreg-gold);
  border-radius: 11px;
  background: linear-gradient(110deg, #fffaf0, #ffffff);
}

.jhreg-conflict-note__mark {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  background: var(--jhreg-gold);
  color: #ffffff;
  font-family: Arial, sans-serif;
  font-weight: 700;
}

.jhreg-conflict-note p {
  margin: 0 !important;
  color: var(--jhreg-text) !important;
  font-size: 15.5px !important;
  font-style: italic;
  line-height: 1.43 !important;
  text-align: left !important;
}

.jhreg-application-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(330px, 0.95fr);
  gap: 10px;
}

.jhreg-application-details,
.jhreg-application-files {
  padding: 17px;
  border: 1px solid var(--jhreg-line);
  border-radius: 12px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhreg-application-details__label,
.jhreg-application-files__label {
  display: block;
  margin-bottom: 12px;
  color: var(--jhreg-blue);
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.065em;
}

.jhreg-application-list {
  display: grid;
  gap: 8px;
}

.jhreg-application-list article {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 10px;
  padding: 12px;
  border: 1px solid #d7e4ed;
  border-radius: 9px;
  background: var(--jhreg-blue-soft);
}

.jhreg-application-list article > span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 8px;
  background: #ffffff;
  color: var(--jhreg-blue-dark);
  font-size: 12px;
  font-style: italic;
}

.jhreg-application-list strong {
  display: block;
  color: var(--jhreg-wine);
  font-size: 16px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
}

.jhreg-application-list small {
  display: block;
  margin-top: 4px;
  color: var(--jhreg-text);
  font-size: 13.5px;
  font-style: italic;
  line-height: 1.3;
}

.jhreg-application-files {
  display: grid;
  gap: 8px;
  align-content: start;
}

.jhreg-application-files article {
  padding: 13px;
  border: 1px solid var(--jhreg-line);
  border-radius: 9px;
  background: #ffffff;
}

.jhreg-application-files__number {
  color: var(--jhreg-blue);
  font-size: 12px;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhreg-application-files strong {
  display: block;
  margin-top: 12px;
  color: var(--jhreg-wine);
  font-size: 17px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
}

.jhreg-application-files p {
  margin: 6px 0 0 !important;
  color: var(--jhreg-text) !important;
  font-size: 14.5px !important;
  line-height: 1.38 !important;
  text-align: left !important;
}

.jhreg-application-files aside {
  padding: 11px 12px;
  border: 1px solid #eadfbf;
  border-left: 3px solid var(--jhreg-gold);
  border-radius: 8px;
  background: #fffaf0;
  color: var(--jhreg-text);
  font-size: 14.5px;
  font-style: italic;
  line-height: 1.4;
}

.jhreg-process {
  display: grid;
  grid-template-columns: minmax(230px, 0.62fr) minmax(0, 1.38fr);
  gap: 24px;
  align-items: start;
  margin-bottom: 24px;
  padding: clamp(21px, 3vw, 29px);
  border: 1px solid var(--jhreg-line);
  border-left: 4px solid var(--jhreg-green);
  border-radius: 14px;
  background: radial-gradient(circle at 100% 0, rgba(63, 122, 100, 0.07), transparent 35%), linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 10px 24px rgba(53, 18, 47, 0.05);
}

.jhreg-process > div:first-child {
  min-width: 0;
}

.jhreg-process h2 {
  margin: 0 !important;
  color: var(--jhreg-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhreg-process__steps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
  min-width: 0;
}

.jhreg-process__steps article:nth-child(1) {
  --process-accent: #2f6592;
  --process-soft: #eef6fb;
  --process-line: #cadbe7;
}

.jhreg-process__steps article:nth-child(2) {
  --process-accent: #610c3a;
  --process-soft: #faf0f5;
  --process-line: #e5cfda;
}

.jhreg-process__steps article:nth-child(3) {
  --process-accent: #3f7a64;
  --process-soft: #eef8f3;
  --process-line: #cfe1d9;
}

.jhreg-process__steps article:nth-child(4) {
  --process-accent: #9b711c;
  --process-soft: #fff8e9;
  --process-line: #eadfbf;
}

.jhreg-process__steps article {
  position: relative;
  display: grid;
  grid-template-columns: 45px minmax(0, 1fr);
  grid-template-rows: auto auto;
  grid-template-areas:
    "number title"
    "number description";
  column-gap: 13px;
  row-gap: 6px;
  align-items: start;
  min-width: 0;
  min-height: 124px;
  padding: 16px 17px;
  overflow: hidden;
  border: 1px solid var(--process-line);
  border-radius: 11px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.05), transparent 42%), linear-gradient(145deg, #ffffff, var(--process-soft));
  box-shadow:
    0 5px 14px rgba(53, 18, 47, 0.04),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease;
}

.jhreg-process__steps article::before {
  content: "";
  position: absolute;
  top: 13px;
  bottom: 13px;
  left: 0;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: var(--process-accent);
  opacity: 0.9;
}

.jhreg-process__steps article::after {
  content: "";
  position: absolute;
  top: -20px;
  right: -20px;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  border: 1px solid var(--process-line);
  opacity: 0.38;
}

.jhreg-process__steps article:hover {
  z-index: 2;
  border-color: var(--process-accent);
  box-shadow:
    0 10px 22px rgba(53, 18, 47, 0.09),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);
  transform: translateY(-2px);
}

.jhreg-process__steps article > span {
  grid-area: number;
  display: grid;
  place-items: center;
  align-self: start;
  width: 43px;
  height: 43px;
  margin: 0 !important;
  border: 1px solid var(--process-line);
  border-radius: 50%;
  background: #ffffff;
  box-shadow:
    0 4px 10px rgba(53, 18, 47, 0.06),
    inset 0 0 0 4px var(--process-soft);
  color: var(--process-accent);
  font-family: "Perpetua", Georgia, serif;
  font-size: 14px;
  font-weight: 400;
  font-style: italic;
  line-height: 1;
  letter-spacing: 0.035em;
}

.jhreg-process__steps article > strong {
  grid-area: title;
  display: block;
  min-width: 0;
  margin: 2px 0 0 !important;
  color: var(--process-accent);
  font-family: "Perpetua", Georgia, serif;
  font-size: 17.5px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.18;
  letter-spacing: 0.018em;
  white-space: normal;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}

.jhreg-process__steps article > small {
  grid-area: description;
  display: block;
  width: 100%;
  min-width: 0;
  margin: 0 !important;
  color: var(--jhreg-text);
  font-family: "Perpetua", Georgia, serif;
  font-size: 14.5px;
  font-weight: 400;
  font-style: normal;
  line-height: 1.42;
  letter-spacing: 0;
  white-space: normal;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
  text-align: left;
}

.jhreg-footer {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: clamp(20px, 3vw, 30px);
  overflow: hidden;
  border: 1px solid var(--jhreg-line);
  border-radius: 15px;
  background: radial-gradient(circle at 100% 0, rgba(224, 170, 53, 0.1), transparent 34%), linear-gradient(145deg, #fffdf8, #ffffff);
  box-shadow: 0 12px 28px rgba(53, 18, 47, 0.065);
}

.jhreg-footer::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhreg-wine), var(--jhreg-blue), var(--jhreg-gold));
}

.jhreg-footer h2 {
  margin: 0 !important;
  color: var(--jhreg-ink) !important;
  font-size: clamp(24px, 2.7vw, 33px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhreg-footer p {
  margin: 9px 0 0 !important;
  color: var(--jhreg-text) !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhreg-footer__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.jhreg-footer__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid transparent;
  border-radius: 9px;
  font-size: 16px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.1;
  letter-spacing: 0.035em;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.jhreg-footer__button:hover,
.jhreg-footer__button:focus-visible {
  transform: translateY(-2px);
}

.jhreg-footer__button--primary {
  border-color: var(--jhreg-wine);
  background: var(--jhreg-wine);
  color: #ffffff !important;
  box-shadow: 0 7px 16px rgba(97, 12, 58, 0.14);
}

.jhreg-footer__button--primary:hover,
.jhreg-footer__button--primary:focus-visible {
  border-color: var(--jhreg-blue);
  background: var(--jhreg-blue);
}

.jhreg-footer__button--secondary {
  border-color: #cadbe7;
  background: #ffffff;
  color: var(--jhreg-blue) !important;
}

.jhreg-footer__button--secondary:hover,
.jhreg-footer__button--secondary:focus-visible {
  border-color: var(--jhreg-blue);
  background: var(--jhreg-blue-soft);
}

@media (max-width: 980px) {
  .jhreg-hero,
  .jhreg-intro,
  .jhreg-responsibilities,
  .jhreg-process,
  .jhreg-footer {
    grid-template-columns: 1fr;
  }

  .jhreg-status {
    max-width: 390px;
  }

  .jhreg-application-layout {
    grid-template-columns: 1fr;
  }

  .jhreg-footer__actions {
    justify-content: flex-start;
  }
}

@media (max-width: 760px) {
  .jhreg-section-heading {
    grid-template-columns: 1fr;
    gap: 8px;
    align-items: start;
  }

  .jhreg-qualification-grid,
  .jhreg-timeline-grid,
  .jhreg-conflicts__examples {
    grid-template-columns: 1fr;
  }

  .jhreg-timeline-grid::before {
    display: none;
  }
}

@media (max-width: 520px) {
  .jhreg {
    font-size: 16px;
  }

  .jhreg-hero {
    padding: 20px 16px;
    border-radius: 13px;
  }

  .jhreg-hero h2 {
    font-size: 30px !important;
  }

  .jhreg-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhreg-nav a {
    width: 100%;
    text-align: center;
  }

  .jhreg-responsibilities__grid,
  .jhreg-process__steps {
    grid-template-columns: 1fr;
  }

  .jhreg-conflict-note {
    grid-template-columns: 1fr;
  }

  .jhreg-footer__actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .jhreg-footer__button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhreg a,
  .jhreg-nav a,
  .jhreg-footer__button {
    transition: none !important;
  }

  .jhreg-nav a:hover,
  .jhreg-footer__button:hover {
    transform: none !important;
  }
}

/* ==========================================================================
   @JH-23 — DIRECT-MARKETING CUSTOM PAGE
   Owner selectors: .jhmarketing
   Scope status: CUSTOM PAGE / isolated namespace
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* ==========================================================================
   @JH-23 — 23 — CUSTOM PAGE: DIRECT MARKETING (.jhmarketing)
   Maintenance anchor: search exactly for @JH-23
   ========================================================================== */

.jhmarketing,
.jhmarketing *,
.jhmarketing *::before,
.jhmarketing *::after {
  box-sizing: border-box;
}

.jhmarketing {
  --jhmarketing-wine: #610c3a;
  --jhmarketing-wine-soft: #8f153d;
  --jhmarketing-blue: #2f6592;
  --jhmarketing-blue-dark: #204866;
  --jhmarketing-blue-soft: #eef6fb;
  --jhmarketing-gold: #e0aa35;
  --jhmarketing-green: #3f7a64;
  --jhmarketing-red: #8f2846;
  --jhmarketing-ink: #2f272c;
  --jhmarketing-text: #4d4248;
  --jhmarketing-muted: #766a70;
  --jhmarketing-line: #e5d9e0;
  --jhmarketing-paper: #fffdfc;
  --jhmarketing-soft: #faf7f9;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  color: var(--jhmarketing-text);
  font-family: "Perpetua", Georgia, serif;
  font-size: 17px;
  line-height: 1.55;
}

.jhmarketing a {
  color: inherit;
  text-decoration: none;
}

.jhmarketing h2,
.jhmarketing h3,
.jhmarketing p {
  text-wrap: pretty;
}

.jhmarketing-kicker {
  display: block;
  margin: 0 0 6px;
  color: var(--jhmarketing-blue);
  font-size: 14px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.095em;
}

.jhmarketing-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(280px, 0.68fr);
  gap: clamp(22px, 4vw, 48px);
  align-items: center;
  margin: 0 0 14px;
  padding: clamp(23px, 4vw, 38px);
  overflow: hidden;
  border: 1px solid var(--jhmarketing-line);
  border-radius: 16px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.12), transparent 35%), radial-gradient(circle at 0% 100%, rgba(143, 21, 61, 0.08), transparent 33%), linear-gradient(145deg, #ffffff, var(--jhmarketing-paper));
  box-shadow:
    0 16px 38px rgba(53, 18, 47, 0.075),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.jhmarketing-hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhmarketing-wine), var(--jhmarketing-blue), var(--jhmarketing-gold));
}

.jhmarketing-hero h2 {
  margin: 0 !important;
  color: var(--jhmarketing-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: clamp(30px, 3.6vw, 45px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.1 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhmarketing-hero__lead {
  max-width: 850px;
  margin: 14px 0 0 !important;
  color: var(--jhmarketing-text) !important;
  font-size: 18px !important;
  font-style: italic;
  line-height: 1.55 !important;
  text-align: left !important;
}

.jhmarketing-status {
  display: flex;
  flex-direction: column;
  padding: 18px;
  border: 1px solid #ead7de;
  border-radius: 13px;
  background: linear-gradient(145deg, var(--jhmarketing-wine), #45102f);
  box-shadow: 0 10px 22px rgba(97, 12, 58, 0.18);
  color: #ffffff;
}

.jhmarketing-status__label {
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.08em;
  opacity: 0.84;
}

.jhmarketing-status strong {
  margin-top: 5px;
  font-size: 28px;
  font-weight: 300;
  font-style: italic;
  line-height: 1;
}

.jhmarketing-status small {
  margin-top: 9px;
  font-size: 14px;
  font-style: italic;
  line-height: 1.32;
  opacity: 0.9;
}

.jhmarketing-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 22px;
  padding: 0;
}

.jhmarketing-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 37px;
  padding: 7px 13px;
  border: 1px solid #d8e4ec;
  border-radius: 999px;
  background: #ffffff;
  color: var(--jhmarketing-blue);
  font-size: 15px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.045em;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.jhmarketing-nav a:hover,
.jhmarketing-nav a:focus-visible {
  border-color: var(--jhmarketing-blue);
  background: var(--jhmarketing-blue);
  color: #ffffff;
  transform: translateY(-1px);
}

.jhmarketing-intro {
  display: grid;
  grid-template-columns: minmax(250px, 0.75fr) minmax(0, 1.55fr);
  gap: 24px;
  align-items: center;
  margin-bottom: 24px;
  padding: 19px 20px;
  border: 1px solid var(--jhmarketing-line);
  border-radius: 13px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhmarketing-intro h2 {
  margin: 0 !important;
  color: var(--jhmarketing-ink) !important;
  font-size: clamp(24px, 2.6vw, 32px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.16 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhmarketing-intro > p {
  margin: 0 !important;
  color: var(--jhmarketing-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhmarketing-purpose,
.jhmarketing-principles,
.jhmarketing-advertising {
  margin-bottom: 24px;
}

.jhmarketing-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.65fr);
  gap: 22px;
  align-items: end;
  margin-bottom: 14px;
  padding: 0 2px 12px;
  border-bottom: 1px solid var(--jhmarketing-line);
}

.jhmarketing-section-heading h2 {
  margin: 0 !important;
  color: var(--jhmarketing-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhmarketing-section-heading > p {
  margin: 0 !important;
  color: var(--jhmarketing-muted) !important;
  font-size: 16px !important;
  font-style: italic;
  line-height: 1.4 !important;
  text-align: left !important;
}

.jhmarketing-purpose-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.jhmarketing-purpose-card {
  min-width: 0;
  padding: 17px;
  border: 1px solid var(--jhmarketing-line);
  border-top: 3px solid var(--jhmarketing-blue);
  border-radius: 12px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.05), transparent 34%), linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 5px 13px rgba(53, 18, 47, 0.035);
}

.jhmarketing-purpose-card:nth-child(2) {
  border-top-color: var(--jhmarketing-gold);
}

.jhmarketing-purpose-card__number {
  color: var(--jhmarketing-blue);
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhmarketing-purpose-card__label {
  display: block;
  margin-top: 15px;
  color: var(--jhmarketing-muted);
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.06em;
}

.jhmarketing-purpose-card h3 {
  margin: 5px 0 0 !important;
  color: var(--jhmarketing-wine) !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhmarketing-purpose-card p {
  margin: 8px 0 0 !important;
  color: var(--jhmarketing-text) !important;
  font-size: 15.5px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhmarketing-purpose-note {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 13px;
  align-items: center;
  margin-top: 10px;
  padding: 14px 16px;
  border: 1px solid #d7e4ed;
  border-left: 3px solid var(--jhmarketing-blue);
  border-radius: 11px;
  background: linear-gradient(110deg, var(--jhmarketing-blue-soft), #ffffff);
}

.jhmarketing-purpose-note__mark {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  background: var(--jhmarketing-blue);
  color: #ffffff;
  font-family: Georgia, serif;
  font-size: 18px;
  font-style: italic;
  font-weight: 700;
}

.jhmarketing-purpose-note p {
  margin: 0 !important;
  color: var(--jhmarketing-text) !important;
  font-size: 15.5px !important;
  font-style: italic;
  line-height: 1.43 !important;
  text-align: left !important;
}

.jhmarketing-principles-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.jhmarketing-principles-grid article {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--jhmarketing-line);
  border-radius: 11px;
  background: var(--jhmarketing-soft);
}

.jhmarketing-principles-grid article > span {
  color: var(--jhmarketing-blue);
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhmarketing-principles-grid h3 {
  margin: 17px 0 0 !important;
  color: var(--jhmarketing-wine) !important;
  font-size: 18.5px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhmarketing-principles-grid p {
  margin: 7px 0 0 !important;
  color: var(--jhmarketing-text) !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  text-align: left !important;
}

.jhmarketing-preferences {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
  gap: 24px;
  align-items: center;
  margin-bottom: 24px;
  padding: clamp(20px, 3vw, 29px);
  border: 1px solid var(--jhmarketing-line);
  border-left: 4px solid var(--jhmarketing-green);
  border-radius: 14px;
  background: radial-gradient(circle at 100% 0, rgba(63, 122, 100, 0.08), transparent 34%), linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 10px 24px rgba(53, 18, 47, 0.05);
}

.jhmarketing-preferences h2 {
  margin: 0 !important;
  color: var(--jhmarketing-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhmarketing-preferences__copy p {
  margin: 10px 0 0 !important;
  color: var(--jhmarketing-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhmarketing-preferences__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.jhmarketing-preferences__grid article {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  min-width: 0;
  padding: 12px;
  border: 1px solid #cfe1d9;
  border-radius: 10px;
  background: linear-gradient(145deg, #ffffff, #eef8f3);
}

.jhmarketing-preferences__grid article > span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid #cfe1d9;
  border-radius: 8px;
  background: #ffffff;
  color: var(--jhmarketing-green);
  font-size: 12px;
  font-style: italic;
}

.jhmarketing-preferences__grid strong {
  display: block;
  color: var(--jhmarketing-wine);
  font-size: 16px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.15;
}

.jhmarketing-preferences__grid small {
  display: block;
  margin-top: 4px;
  color: var(--jhmarketing-text);
  font-size: 13.5px;
  font-style: italic;
  line-height: 1.3;
}

.jhmarketing-advertising-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.jhmarketing-advertising-card {
  padding: 17px;
  border: 1px solid #ead7de;
  border-top: 3px solid var(--jhmarketing-red);
  border-radius: 11px;
  background: linear-gradient(145deg, #fffafb, #ffffff);
}

.jhmarketing-advertising-card__number {
  color: var(--jhmarketing-red);
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhmarketing-advertising-card h3 {
  margin: 17px 0 0 !important;
  color: var(--jhmarketing-wine) !important;
  font-size: 19px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhmarketing-advertising-card p {
  margin: 8px 0 0 !important;
  color: var(--jhmarketing-text) !important;
  font-size: 15.5px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhmarketing-separation {
  display: grid;
  grid-template-columns: minmax(170px, 0.4fr) minmax(0, 1.6fr);
  gap: 16px;
  align-items: center;
  margin-top: 10px;
  padding: 15px 17px;
  border: 1px solid #eadfbf;
  border-left: 3px solid var(--jhmarketing-gold);
  border-radius: 11px;
  background: linear-gradient(110deg, #fffaf0, #ffffff);
}

.jhmarketing-separation__label {
  color: #8b6618;
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.065em;
}

.jhmarketing-separation__items {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.jhmarketing-separation__items span {
  display: inline-flex;
  padding: 7px 10px;
  border: 1px solid #eadfbf;
  border-radius: 999px;
  background: #ffffff;
  color: var(--jhmarketing-wine);
  font-size: 14px;
  font-style: italic;
  line-height: 1.1;
}

.jhmarketing-separation__items strong {
  color: var(--jhmarketing-gold);
  font-size: 18px;
  font-weight: 300;
}

.jhmarketing-compliance {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.55fr);
  gap: 24px;
  align-items: center;
  margin-bottom: 24px;
  padding: clamp(20px, 3vw, 30px);
  overflow: hidden;
  border: 1px solid var(--jhmarketing-line);
  border-radius: 15px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.09), transparent 34%), linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 12px 28px rgba(53, 18, 47, 0.06);
}

.jhmarketing-compliance::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhmarketing-wine), var(--jhmarketing-blue), var(--jhmarketing-gold));
}

.jhmarketing-compliance h2 {
  margin: 0 !important;
  color: var(--jhmarketing-ink) !important;
  font-size: clamp(24px, 2.7vw, 33px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhmarketing-compliance p {
  margin: 9px 0 0 !important;
  color: var(--jhmarketing-text) !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhmarketing-compliance__link {
  display: flex;
  flex-direction: column;
  padding: 16px;
  border: 1px solid #d7e4ed;
  border-radius: 11px;
  background: var(--jhmarketing-blue-soft);
  transition:
    border-color 0.18s ease,
    background 0.18s ease,
    transform 0.18s ease;
}

.jhmarketing-compliance__link:hover,
.jhmarketing-compliance__link:focus-visible {
  border-color: var(--jhmarketing-blue);
  background: #ffffff;
  transform: translateY(-2px);
}

.jhmarketing-compliance__link span {
  color: var(--jhmarketing-blue);
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.065em;
}

.jhmarketing-compliance__link strong {
  margin-top: 6px;
  color: var(--jhmarketing-wine);
  font-size: 18px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.2;
}

.jhmarketing-compliance__link small {
  margin-top: 12px;
  color: var(--jhmarketing-blue);
  font-size: 13px;
  font-style: italic;
}

.jhmarketing-footer {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: clamp(20px, 3vw, 30px);
  overflow: hidden;
  border: 1px solid var(--jhmarketing-line);
  border-radius: 15px;
  background: radial-gradient(circle at 100% 0, rgba(224, 170, 53, 0.1), transparent 34%), linear-gradient(145deg, #fffdf8, #ffffff);
  box-shadow: 0 12px 28px rgba(53, 18, 47, 0.065);
}

.jhmarketing-footer::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhmarketing-wine), var(--jhmarketing-blue), var(--jhmarketing-gold));
}

.jhmarketing-footer h2 {
  margin: 0 !important;
  color: var(--jhmarketing-ink) !important;
  font-size: clamp(24px, 2.7vw, 33px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhmarketing-footer p {
  margin: 9px 0 0 !important;
  color: var(--jhmarketing-text) !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhmarketing-footer__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid var(--jhmarketing-wine);
  border-radius: 9px;
  background: var(--jhmarketing-wine);
  color: #ffffff !important;
  font-size: 16px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.1;
  letter-spacing: 0.035em;
  box-shadow: 0 7px 16px rgba(97, 12, 58, 0.14);
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    transform 0.18s ease;
}

.jhmarketing-footer__button:hover,
.jhmarketing-footer__button:focus-visible {
  border-color: var(--jhmarketing-blue);
  background: var(--jhmarketing-blue);
  transform: translateY(-2px);
}

@media (max-width: 980px) {
  .jhmarketing-hero,
  .jhmarketing-intro,
  .jhmarketing-preferences,
  .jhmarketing-compliance,
  .jhmarketing-footer {
    grid-template-columns: 1fr;
  }

  .jhmarketing-status {
    max-width: 390px;
  }

  .jhmarketing-principles-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .jhmarketing-section-heading {
    grid-template-columns: 1fr;
    gap: 8px;
    align-items: start;
  }

  .jhmarketing-purpose-grid,
  .jhmarketing-advertising-grid {
    grid-template-columns: 1fr;
  }

  .jhmarketing-separation {
    grid-template-columns: 1fr;
    gap: 7px;
  }
}

@media (max-width: 520px) {
  .jhmarketing {
    font-size: 16px;
  }

  .jhmarketing-hero {
    padding: 20px 16px;
    border-radius: 13px;
  }

  .jhmarketing-hero h2 {
    font-size: 30px !important;
  }

  .jhmarketing-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhmarketing-nav a {
    width: 100%;
    text-align: center;
  }

  .jhmarketing-principles-grid,
  .jhmarketing-preferences__grid {
    grid-template-columns: 1fr;
  }

  .jhmarketing-purpose-note {
    grid-template-columns: 1fr;
  }

  .jhmarketing-footer__button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhmarketing a,
  .jhmarketing-nav a,
  .jhmarketing-compliance__link,
  .jhmarketing-footer__button {
    transition: none !important;
  }

  .jhmarketing-nav a:hover,
  .jhmarketing-compliance__link:hover,
  .jhmarketing-footer__button:hover {
    transform: none !important;
  }
}

/* ==========================================================================
   @JH-24 — ADVERTISING-POLICY CUSTOM PAGE
   Owner selectors: .jhadvert
   Scope status: CUSTOM PAGE / isolated namespace
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* ==========================================================================
   @JH-24 — 24 — CUSTOM PAGE: ADVERTISING POLICY (.jhadvert)
   Maintenance anchor: search exactly for @JH-24
   ========================================================================== */

.jhadvert,
.jhadvert *,
.jhadvert *::before,
.jhadvert *::after {
  box-sizing: border-box;
}

.jhadvert {
  --jhadvert-wine: #610c3a;
  --jhadvert-wine-soft: #8f153d;
  --jhadvert-blue: #2f6592;
  --jhadvert-blue-dark: #204866;
  --jhadvert-blue-soft: #eef6fb;
  --jhadvert-gold: #e0aa35;
  --jhadvert-green: #3f7a64;
  --jhadvert-ink: #2f272c;
  --jhadvert-text: #4d4248;
  --jhadvert-muted: #766a70;
  --jhadvert-line: #e5d9e0;
  --jhadvert-paper: #fffdfc;
  --jhadvert-soft: #faf7f9;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  color: var(--jhadvert-text);
  font-family: "Perpetua", Georgia, serif;
  font-size: 17px;
  line-height: 1.55;
}

.jhadvert a {
  color: inherit;
  text-decoration: none;
}

.jhadvert h2,
.jhadvert h3,
.jhadvert p {
  text-wrap: pretty;
}

.jhadvert-kicker {
  display: block;
  margin: 0 0 6px;
  color: var(--jhadvert-blue);
  font-size: 14px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.095em;
}

.jhadvert-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(280px, 0.68fr);
  gap: clamp(22px, 4vw, 48px);
  align-items: center;
  margin: 0 0 14px;
  padding: clamp(23px, 4vw, 38px);
  overflow: hidden;
  border: 1px solid var(--jhadvert-line);
  border-radius: 16px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.12), transparent 35%), radial-gradient(circle at 0% 100%, rgba(143, 21, 61, 0.08), transparent 33%), linear-gradient(145deg, #ffffff, var(--jhadvert-paper));
  box-shadow:
    0 16px 38px rgba(53, 18, 47, 0.075),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.jhadvert-hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhadvert-wine), var(--jhadvert-blue), var(--jhadvert-gold));
}

.jhadvert-hero h2 {
  margin: 0 !important;
  color: var(--jhadvert-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: clamp(30px, 3.6vw, 45px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.1 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhadvert-hero__lead {
  max-width: 850px;
  margin: 14px 0 0 !important;
  color: var(--jhadvert-text) !important;
  font-size: 18px !important;
  font-style: italic;
  line-height: 1.55 !important;
  text-align: left !important;
}

.jhadvert-status {
  display: flex;
  flex-direction: column;
  padding: 18px;
  border: 1px solid #ead7de;
  border-radius: 13px;
  background: linear-gradient(145deg, var(--jhadvert-wine), #45102f);
  box-shadow: 0 10px 22px rgba(97, 12, 58, 0.18);
  color: #ffffff;
}

.jhadvert-status__label {
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.08em;
  opacity: 0.84;
}

.jhadvert-status strong {
  margin-top: 5px;
  font-size: 29px;
  font-weight: 300;
  font-style: italic;
  line-height: 1;
}

.jhadvert-status small {
  margin-top: 9px;
  font-size: 14px;
  font-style: italic;
  line-height: 1.32;
  opacity: 0.9;
}

.jhadvert-intro {
  display: grid;
  grid-template-columns: minmax(250px, 0.75fr) minmax(0, 1.55fr);
  gap: 24px;
  align-items: center;
  margin: 0 0 24px;
  padding: 19px 20px;
  border: 1px solid var(--jhadvert-line);
  border-radius: 13px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhadvert-intro h2 {
  margin: 0 !important;
  color: var(--jhadvert-ink) !important;
  font-size: clamp(24px, 2.6vw, 32px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.16 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhadvert-intro > p {
  margin: 0 !important;
  color: var(--jhadvert-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhadvert-principles {
  margin-bottom: 24px;
}

.jhadvert-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.65fr);
  gap: 22px;
  align-items: end;
  margin-bottom: 14px;
  padding: 0 2px 12px;
  border-bottom: 1px solid var(--jhadvert-line);
}

.jhadvert-section-heading h2 {
  margin: 0 !important;
  color: var(--jhadvert-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhadvert-section-heading > p {
  margin: 0 !important;
  color: var(--jhadvert-muted) !important;
  font-size: 16px !important;
  font-style: italic;
  line-height: 1.4 !important;
  text-align: left !important;
}

.jhadvert-principles-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.jhadvert-principles-grid article {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--jhadvert-line);
  border-top: 3px solid var(--jhadvert-blue);
  border-radius: 11px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhadvert-principles-grid article:nth-child(2) {
  border-top-color: var(--jhadvert-wine);
}

.jhadvert-principles-grid article:nth-child(3) {
  border-top-color: var(--jhadvert-gold);
}

.jhadvert-principles-grid article:nth-child(4) {
  border-top-color: var(--jhadvert-green);
}

.jhadvert-principles-grid article > span {
  color: var(--jhadvert-blue);
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhadvert-principles-grid h3 {
  margin: 17px 0 0 !important;
  color: var(--jhadvert-wine) !important;
  font-size: 18.5px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhadvert-principles-grid p {
  margin: 7px 0 0 !important;
  color: var(--jhadvert-text) !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  text-align: left !important;
}

.jhadvert-separation {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.9fr);
  gap: 24px;
  align-items: center;
  margin-bottom: 24px;
  padding: clamp(20px, 3vw, 29px);
  border: 1px solid #ead7de;
  border-left: 4px solid var(--jhadvert-wine);
  border-radius: 14px;
  background: radial-gradient(circle at 100% 0, rgba(143, 21, 61, 0.07), transparent 34%), linear-gradient(145deg, #fffafb, #ffffff);
  box-shadow: 0 10px 24px rgba(53, 18, 47, 0.05);
}

.jhadvert-separation h2 {
  margin: 0 !important;
  color: var(--jhadvert-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhadvert-separation p {
  margin: 10px 0 0 !important;
  color: var(--jhadvert-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhadvert-separation__flow {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: 7px;
  align-items: center;
}

.jhadvert-separation__flow span {
  display: grid;
  min-height: 62px;
  place-items: center;
  padding: 10px;
  border: 1px solid #ead7de;
  border-radius: 9px;
  background: #ffffff;
  color: var(--jhadvert-wine);
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.15;
  text-align: center;
}

.jhadvert-separation__flow strong {
  color: var(--jhadvert-gold);
  font-size: 20px;
  font-weight: 300;
}

.jhadvert-assurance {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  margin-bottom: 24px;
  padding: 18px 20px;
  border: 1px solid #cfe1d9;
  border-left: 4px solid var(--jhadvert-green);
  border-radius: 13px;
  background: linear-gradient(110deg, #eef8f3, #ffffff);
}

.jhadvert-assurance__mark {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border-radius: 50%;
  background: var(--jhadvert-green);
  color: #ffffff;
  font-family: Arial, sans-serif;
  font-size: 18px;
}

.jhadvert-assurance h2 {
  margin: 0 !important;
  color: var(--jhadvert-ink) !important;
  font-size: clamp(23px, 2.6vw, 31px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhadvert-assurance p {
  margin: 8px 0 0 !important;
  color: var(--jhadvert-text) !important;
  font-size: 15.5px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhadvert-footer {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: clamp(20px, 3vw, 30px);
  overflow: hidden;
  border: 1px solid var(--jhadvert-line);
  border-radius: 15px;
  background: radial-gradient(circle at 100% 0, rgba(224, 170, 53, 0.1), transparent 34%), linear-gradient(145deg, #fffdf8, #ffffff);
  box-shadow: 0 12px 28px rgba(53, 18, 47, 0.065);
}

.jhadvert-footer::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhadvert-wine), var(--jhadvert-blue), var(--jhadvert-gold));
}

.jhadvert-footer h2 {
  margin: 0 !important;
  color: var(--jhadvert-ink) !important;
  font-size: clamp(24px, 2.7vw, 33px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhadvert-footer p {
  margin: 9px 0 0 !important;
  color: var(--jhadvert-text) !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhadvert-footer__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid var(--jhadvert-wine);
  border-radius: 9px;
  background: var(--jhadvert-wine);
  color: #ffffff !important;
  font-size: 16px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.1;
  letter-spacing: 0.035em;
  box-shadow: 0 7px 16px rgba(97, 12, 58, 0.14);
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    transform 0.18s ease;
}

.jhadvert-footer__button:hover,
.jhadvert-footer__button:focus-visible {
  border-color: var(--jhadvert-blue);
  background: var(--jhadvert-blue);
  transform: translateY(-2px);
}

@media (max-width: 980px) {
  .jhadvert-hero,
  .jhadvert-intro,
  .jhadvert-separation,
  .jhadvert-footer {
    grid-template-columns: 1fr;
  }

  .jhadvert-status {
    max-width: 390px;
  }

  .jhadvert-principles-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .jhadvert-section-heading {
    grid-template-columns: 1fr;
    gap: 8px;
    align-items: start;
  }

  .jhadvert-separation__flow {
    grid-template-columns: 1fr;
  }

  .jhadvert-separation__flow strong {
    transform: rotate(90deg);
    justify-self: center;
  }
}

@media (max-width: 520px) {
  .jhadvert {
    font-size: 16px;
  }

  .jhadvert-hero {
    padding: 20px 16px;
    border-radius: 13px;
  }

  .jhadvert-hero h2 {
    font-size: 30px !important;
  }

  .jhadvert-principles-grid {
    grid-template-columns: 1fr;
  }

  .jhadvert-assurance {
    grid-template-columns: 1fr;
  }

  .jhadvert-footer__button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhadvert a,
  .jhadvert-footer__button {
    transition: none !important;
  }

  .jhadvert-footer__button:hover {
    transform: none !important;
  }
}

/* ==========================================================================
   @JH-25 — PRIVACY-STATEMENT CUSTOM PAGE
   Owner selectors: .jhprivacy
   Scope status: CUSTOM PAGE / isolated namespace
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* ==========================================================================
   @JH-25 — 25 — CUSTOM PAGE: PRIVACY STATEMENT (.jhprivacy)
   Maintenance anchor: search exactly for @JH-25
   ========================================================================== */

.jhprivacy,
.jhprivacy *,
.jhprivacy *::before,
.jhprivacy *::after {
  box-sizing: border-box;
}

.jhprivacy {
  --jhprivacy-wine: #610c3a;
  --jhprivacy-wine-soft: #8f153d;
  --jhprivacy-blue: #2f6592;
  --jhprivacy-blue-dark: #204866;
  --jhprivacy-blue-soft: #eef6fb;
  --jhprivacy-gold: #e0aa35;
  --jhprivacy-green: #3f7a64;
  --jhprivacy-ink: #2f272c;
  --jhprivacy-text: #4d4248;
  --jhprivacy-muted: #766a70;
  --jhprivacy-line: #e5d9e0;
  --jhprivacy-paper: #fffdfc;
  --jhprivacy-soft: #faf7f9;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  color: var(--jhprivacy-text);
  font-family: "Perpetua", Georgia, serif;
  font-size: 17px;
  line-height: 1.55;
  scroll-margin-top: 24px;
}

.jhprivacy a {
  color: inherit;
  text-decoration: none;
}

.jhprivacy h2,
.jhprivacy h3,
.jhprivacy p {
  text-wrap: pretty;
}

.jhprivacy-kicker {
  display: block;
  margin: 0 0 6px;
  color: var(--jhprivacy-blue);
  font-size: 14px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.095em;
}

.jhprivacy-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(290px, 0.68fr);
  gap: clamp(22px, 4vw, 48px);
  align-items: center;
  margin: 0 0 14px;
  padding: clamp(23px, 4vw, 38px);
  overflow: hidden;
  border: 1px solid var(--jhprivacy-line);
  border-radius: 16px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.12), transparent 35%), radial-gradient(circle at 0% 100%, rgba(143, 21, 61, 0.08), transparent 33%), linear-gradient(145deg, #ffffff, var(--jhprivacy-paper));
  box-shadow:
    0 16px 38px rgba(53, 18, 47, 0.075),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.jhprivacy-hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhprivacy-wine), var(--jhprivacy-blue), var(--jhprivacy-gold));
}

.jhprivacy-hero h2 {
  margin: 0 !important;
  color: var(--jhprivacy-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: clamp(30px, 3.6vw, 45px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.1 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhprivacy-hero__lead {
  max-width: 850px;
  margin: 14px 0 0 !important;
  color: var(--jhprivacy-text) !important;
  font-size: 18px !important;
  font-style: italic;
  line-height: 1.55 !important;
  text-align: left !important;
}

.jhprivacy-status {
  display: flex;
  flex-direction: column;
  padding: 18px;
  border: 1px solid #cfe1d9;
  border-radius: 13px;
  background: linear-gradient(145deg, var(--jhprivacy-green), #2f6552);
  box-shadow: 0 10px 22px rgba(63, 122, 100, 0.18);
  color: #ffffff;
}

.jhprivacy-status__label {
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.08em;
  opacity: 0.84;
}

.jhprivacy-status strong {
  margin-top: 5px;
  font-size: 27px;
  font-weight: 300;
  font-style: italic;
  line-height: 1;
}

.jhprivacy-status small {
  margin-top: 9px;
  font-size: 14px;
  font-style: italic;
  line-height: 1.32;
  opacity: 0.9;
}

.jhprivacy-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 22px;
  padding: 0;
}

.jhprivacy-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 37px;
  padding: 7px 13px;
  border: 1px solid #d8e4ec;
  border-radius: 999px;
  background: #ffffff;
  color: var(--jhprivacy-blue);
  font-size: 15px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.045em;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.jhprivacy-nav a:hover,
.jhprivacy-nav a:focus-visible {
  border-color: var(--jhprivacy-blue);
  background: var(--jhprivacy-blue);
  color: #ffffff;
  transform: translateY(-1px);
}

.jhprivacy-intro {
  display: grid;
  grid-template-columns: minmax(250px, 0.75fr) minmax(0, 1.55fr);
  gap: 24px;
  align-items: center;
  margin-bottom: 24px;
  padding: 19px 20px;
  border: 1px solid var(--jhprivacy-line);
  border-radius: 13px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhprivacy-intro h2 {
  margin: 0 !important;
  color: var(--jhprivacy-ink) !important;
  font-size: clamp(24px, 2.6vw, 32px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.16 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhprivacy-intro > p {
  margin: 0 !important;
  color: var(--jhprivacy-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhprivacy-data,
.jhprivacy-sharing {
  margin-bottom: 24px;
}

.jhprivacy-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.65fr);
  gap: 22px;
  align-items: end;
  margin-bottom: 14px;
  padding: 0 2px 12px;
  border-bottom: 1px solid var(--jhprivacy-line);
}

.jhprivacy-section-heading h2 {
  margin: 0 !important;
  color: var(--jhprivacy-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhprivacy-section-heading > p {
  margin: 0 !important;
  color: var(--jhprivacy-muted) !important;
  font-size: 16px !important;
  font-style: italic;
  line-height: 1.4 !important;
  text-align: left !important;
}

.jhprivacy-data-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.jhprivacy-data-grid article {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--jhprivacy-line);
  border-radius: 11px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhprivacy-data-grid article > span {
  color: var(--jhprivacy-blue);
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhprivacy-data-grid h3 {
  margin: 17px 0 0 !important;
  color: var(--jhprivacy-wine) !important;
  font-size: 19px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhprivacy-data-grid p {
  margin: 7px 0 0 !important;
  color: var(--jhprivacy-text) !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  text-align: left !important;
}

.jhprivacy-use {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
  gap: 24px;
  align-items: center;
  margin-bottom: 24px;
  padding: clamp(20px, 3vw, 29px);
  border: 1px solid var(--jhprivacy-line);
  border-left: 4px solid var(--jhprivacy-blue);
  border-radius: 14px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.08), transparent 34%), linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 10px 24px rgba(53, 18, 47, 0.05);
}

.jhprivacy-use h2 {
  margin: 0 !important;
  color: var(--jhprivacy-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhprivacy-use__copy p {
  margin: 10px 0 0 !important;
  color: var(--jhprivacy-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhprivacy-use__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.jhprivacy-use__grid article {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  min-width: 0;
  padding: 12px;
  border: 1px solid #d7e4ed;
  border-radius: 10px;
  background: linear-gradient(145deg, #ffffff, var(--jhprivacy-blue-soft));
}

.jhprivacy-use__grid article > span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid #cadbe7;
  border-radius: 8px;
  background: #ffffff;
  color: var(--jhprivacy-blue-dark);
  font-size: 12px;
  font-style: italic;
}

.jhprivacy-use__grid strong {
  display: block;
  color: var(--jhprivacy-wine);
  font-size: 16px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.15;
}

.jhprivacy-use__grid small {
  display: block;
  margin-top: 4px;
  color: var(--jhprivacy-text);
  font-size: 13.5px;
  font-style: italic;
  line-height: 1.3;
}

.jhprivacy-sharing-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.jhprivacy-sharing-card {
  min-width: 0;
  padding: 17px;
  border: 1px solid var(--jhprivacy-line);
  border-top: 3px solid var(--jhprivacy-green);
  border-radius: 11px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhprivacy-sharing-card--limited {
  border-top-color: var(--jhprivacy-gold);
}

.jhprivacy-sharing-card__number {
  color: var(--jhprivacy-blue);
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhprivacy-sharing-card h3 {
  margin: 17px 0 0 !important;
  color: var(--jhprivacy-wine) !important;
  font-size: 19px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhprivacy-sharing-card p {
  margin: 8px 0 0 !important;
  color: var(--jhprivacy-text) !important;
  font-size: 15.5px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhprivacy-sharing-note {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 13px;
  align-items: center;
  margin-top: 10px;
  padding: 14px 16px;
  border: 1px solid #cfe1d9;
  border-left: 3px solid var(--jhprivacy-green);
  border-radius: 11px;
  background: linear-gradient(110deg, #eef8f3, #ffffff);
}

.jhprivacy-sharing-note__mark {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  background: var(--jhprivacy-green);
  color: #ffffff;
  font-family: Arial, sans-serif;
  font-size: 16px;
}

.jhprivacy-sharing-note p {
  margin: 0 !important;
  color: var(--jhprivacy-text) !important;
  font-size: 15.5px !important;
  font-style: italic;
  line-height: 1.43 !important;
  text-align: left !important;
}

.jhprivacy-security {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
  gap: 24px;
  align-items: center;
  margin-bottom: 24px;
  padding: clamp(20px, 3vw, 29px);
  border: 1px solid var(--jhprivacy-line);
  border-left: 4px solid var(--jhprivacy-green);
  border-radius: 14px;
  background: radial-gradient(circle at 100% 0, rgba(63, 122, 100, 0.08), transparent 34%), linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 10px 24px rgba(53, 18, 47, 0.05);
}

.jhprivacy-security h2 {
  margin: 0 !important;
  color: var(--jhprivacy-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhprivacy-security__copy p {
  margin: 10px 0 0 !important;
  color: var(--jhprivacy-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhprivacy-security__principles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.jhprivacy-security__principles article {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  min-width: 0;
  padding: 12px;
  border: 1px solid #cfe1d9;
  border-radius: 10px;
  background: linear-gradient(145deg, #ffffff, #eef8f3);
}

.jhprivacy-security__principles article > span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid #cfe1d9;
  border-radius: 8px;
  background: #ffffff;
  color: var(--jhprivacy-green);
  font-size: 12px;
  font-style: italic;
}

.jhprivacy-security__principles strong {
  display: block;
  color: var(--jhprivacy-wine);
  font-size: 16px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.15;
}

.jhprivacy-security__principles small {
  display: block;
  margin-top: 4px;
  color: var(--jhprivacy-text);
  font-size: 13.5px;
  font-style: italic;
  line-height: 1.3;
}

.jhprivacy-assurance {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  margin-bottom: 24px;
  padding: 18px 20px;
  border: 1px solid #cfe1d9;
  border-left: 4px solid var(--jhprivacy-green);
  border-radius: 13px;
  background: linear-gradient(110deg, #eef8f3, #ffffff);
}

.jhprivacy-assurance__mark {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border-radius: 50%;
  background: var(--jhprivacy-green);
  color: #ffffff;
  font-family: Arial, sans-serif;
  font-size: 18px;
}

.jhprivacy-assurance h2 {
  margin: 0 !important;
  color: var(--jhprivacy-ink) !important;
  font-size: clamp(23px, 2.6vw, 31px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhprivacy-assurance p {
  margin: 8px 0 0 !important;
  color: var(--jhprivacy-text) !important;
  font-size: 15.5px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhprivacy-contact {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: clamp(20px, 3vw, 30px);
  overflow: hidden;
  border: 1px solid var(--jhprivacy-line);
  border-radius: 15px;
  background: radial-gradient(circle at 100% 0, rgba(224, 170, 53, 0.1), transparent 34%), linear-gradient(145deg, #fffdf8, #ffffff);
  box-shadow: 0 12px 28px rgba(53, 18, 47, 0.065);
}

.jhprivacy-contact::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhprivacy-wine), var(--jhprivacy-blue), var(--jhprivacy-gold));
}

.jhprivacy-contact h2 {
  margin: 0 !important;
  color: var(--jhprivacy-ink) !important;
  font-size: clamp(24px, 2.7vw, 33px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhprivacy-contact p {
  margin: 9px 0 0 !important;
  color: var(--jhprivacy-text) !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhprivacy-contact__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid var(--jhprivacy-wine);
  border-radius: 9px;
  background: var(--jhprivacy-wine);
  color: #ffffff !important;
  font-size: 16px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.1;
  letter-spacing: 0.035em;
  box-shadow: 0 7px 16px rgba(97, 12, 58, 0.14);
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    transform 0.18s ease;
}

.jhprivacy-contact__button:hover,
.jhprivacy-contact__button:focus-visible {
  border-color: var(--jhprivacy-blue);
  background: var(--jhprivacy-blue);
  transform: translateY(-2px);
}

@media (max-width: 980px) {
  .jhprivacy-hero,
  .jhprivacy-intro,
  .jhprivacy-use,
  .jhprivacy-security,
  .jhprivacy-contact {
    grid-template-columns: 1fr;
  }

  .jhprivacy-status {
    max-width: 400px;
  }
}

@media (max-width: 760px) {
  .jhprivacy-section-heading {
    grid-template-columns: 1fr;
    gap: 8px;
    align-items: start;
  }

  .jhprivacy-data-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .jhprivacy {
    font-size: 16px;
  }

  .jhprivacy-hero {
    padding: 20px 16px;
    border-radius: 13px;
  }

  .jhprivacy-hero h2 {
    font-size: 30px !important;
  }

  .jhprivacy-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhprivacy-nav a {
    width: 100%;
    text-align: center;
  }

  .jhprivacy-use__grid,
  .jhprivacy-sharing-grid,
  .jhprivacy-security__principles {
    grid-template-columns: 1fr;
  }

  .jhprivacy-sharing-note,
  .jhprivacy-assurance {
    grid-template-columns: 1fr;
  }

  .jhprivacy-contact__button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhprivacy a,
  .jhprivacy-nav a,
  .jhprivacy-contact__button {
    transition: none !important;
  }

  .jhprivacy-nav a:hover,
  .jhprivacy-contact__button:hover {
    transform: none !important;
  }
}

/* ==========================================================================
   @JH-26 — PUBLISHER AND GOVERNANCE CUSTOM PAGE
   Owner selectors: .jhpublisher
   Scope status: CUSTOM PAGE / isolated namespace
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* ==========================================================================
   @JH-26 — 26 — CUSTOM PAGE: PUBLISHER AND GOVERNANCE (.jhpublisher)
   Maintenance anchor: search exactly for @JH-26
   ========================================================================== */

.jhpublisher,
.jhpublisher *,
.jhpublisher *::before,
.jhpublisher *::after {
  box-sizing: border-box;
}

.jhpublisher {
  --jhpublisher-wine: #610c3a;
  --jhpublisher-wine-soft: #8f153d;
  --jhpublisher-blue: #2f6592;
  --jhpublisher-blue-dark: #204866;
  --jhpublisher-blue-soft: #eef6fb;
  --jhpublisher-gold: #e0aa35;
  --jhpublisher-green: #3f7a64;
  --jhpublisher-red: #8f2846;
  --jhpublisher-ink: #2f272c;
  --jhpublisher-text: #4d4248;
  --jhpublisher-muted: #766a70;
  --jhpublisher-line: #e5d9e0;
  --jhpublisher-paper: #fffdfc;
  --jhpublisher-soft: #faf7f9;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  color: var(--jhpublisher-text);
  font-family: "Perpetua", Georgia, serif;
  font-size: 17px;
  line-height: 1.55;
}

.jhpublisher a {
  color: inherit;
  text-decoration: none;
}

.jhpublisher h2,
.jhpublisher h3,
.jhpublisher p {
  text-wrap: pretty;
}

.jhpublisher-kicker {
  display: block;
  margin: 0 0 6px;
  color: var(--jhpublisher-blue);
  font-size: 14px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.095em;
}

.jhpublisher-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(310px, 0.78fr);
  gap: clamp(22px, 4vw, 48px);
  align-items: center;
  margin: 0 0 14px;
  padding: clamp(23px, 4vw, 38px);
  overflow: hidden;
  border: 1px solid var(--jhpublisher-line);
  border-radius: 16px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.12), transparent 35%), radial-gradient(circle at 0% 100%, rgba(143, 21, 61, 0.08), transparent 33%), linear-gradient(145deg, #ffffff, var(--jhpublisher-paper));
  box-shadow:
    0 16px 38px rgba(53, 18, 47, 0.075),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.jhpublisher-hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhpublisher-wine), var(--jhpublisher-blue), var(--jhpublisher-gold));
}

.jhpublisher-hero h2 {
  margin: 0 !important;
  color: var(--jhpublisher-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: clamp(30px, 3.6vw, 45px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.1 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhpublisher-hero__lead {
  max-width: 850px;
  margin: 14px 0 0 !important;
  color: var(--jhpublisher-text) !important;
  font-size: 18px !important;
  font-style: italic;
  line-height: 1.55 !important;
  text-align: left !important;
}

.jhpublisher-status {
  display: flex;
  flex-direction: column;
  padding: 18px;
  border: 1px solid #d7e4ed;
  border-radius: 13px;
  background: linear-gradient(145deg, var(--jhpublisher-blue), var(--jhpublisher-blue-dark));
  box-shadow: 0 10px 22px rgba(47, 101, 146, 0.18);
  color: #ffffff;
}

.jhpublisher-status__label {
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.08em;
  opacity: 0.84;
}

.jhpublisher-status strong {
  margin-top: 6px;
  font-size: 23px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.12;
}

.jhpublisher-status small {
  margin-top: 9px;
  font-size: 14px;
  font-style: italic;
  line-height: 1.32;
  opacity: 0.9;
}

.jhpublisher-status a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  margin-top: 14px;
  padding-top: 9px;
  border-top: 1px solid rgba(255, 255, 255, 0.22);
  color: #ffffff;
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
}

.jhpublisher-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 22px;
  padding: 0;
}

.jhpublisher-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 37px;
  padding: 7px 13px;
  border: 1px solid #d8e4ec;
  border-radius: 999px;
  background: #ffffff;
  color: var(--jhpublisher-blue);
  font-size: 15px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.045em;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.jhpublisher-nav a:hover,
.jhpublisher-nav a:focus-visible {
  border-color: var(--jhpublisher-blue);
  background: var(--jhpublisher-blue);
  color: #ffffff;
  transform: translateY(-1px);
}

.jhpublisher-intro {
  display: grid;
  grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.5fr);
  gap: 24px;
  align-items: center;
  margin-bottom: 24px;
  padding: 19px 20px;
  border: 1px solid var(--jhpublisher-line);
  border-radius: 13px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhpublisher-intro h2 {
  margin: 0 !important;
  color: var(--jhpublisher-ink) !important;
  font-size: clamp(24px, 2.6vw, 32px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.16 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhpublisher-intro > p {
  margin: 0 !important;
  color: var(--jhpublisher-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhpublisher-identity,
.jhpublisher-structure,
.jhpublisher-infrastructure,
.jhpublisher-issn {
  margin-bottom: 24px;
  scroll-margin-top: 24px;
}

.jhpublisher-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(270px, 0.65fr);
  gap: 22px;
  align-items: end;
  margin-bottom: 14px;
  padding: 0 2px 12px;
  border-bottom: 1px solid var(--jhpublisher-line);
}

.jhpublisher-section-heading h2 {
  margin: 0 !important;
  color: var(--jhpublisher-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhpublisher-section-heading > p {
  margin: 0 !important;
  color: var(--jhpublisher-muted) !important;
  font-size: 16px !important;
  font-style: italic;
  line-height: 1.4 !important;
  text-align: left !important;
}

.jhpublisher-identity-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(330px, 0.9fr);
  gap: 10px;
}

.jhpublisher-identity-card,
.jhpublisher-completion {
  padding: 18px;
  border: 1px solid var(--jhpublisher-line);
  border-radius: 12px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhpublisher-identity-card__label,
.jhpublisher-completion__label {
  display: block;
  color: var(--jhpublisher-blue);
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.07em;
}

.jhpublisher-identity-card h3,
.jhpublisher-completion h3 {
  margin: 6px 0 0 !important;
  color: var(--jhpublisher-wine) !important;
  font-size: 22px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.jhpublisher-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 15px;
}

.jhpublisher-facts article {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 11px;
  border: 1px solid #d7e4ed;
  border-radius: 8px;
  background: var(--jhpublisher-blue-soft);
}

.jhpublisher-facts span,
.jhpublisher-completion__items span {
  color: var(--jhpublisher-muted);
  font-size: 12.5px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.045em;
}

.jhpublisher-facts strong,
.jhpublisher-completion__items strong {
  margin-top: 5px;
  color: var(--jhpublisher-wine);
  font-size: 15px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.jhpublisher-facts a {
  color: var(--jhpublisher-blue);
}

.jhpublisher-completion {
  border-color: #eadfbf;
  border-top: 3px solid var(--jhpublisher-gold);
  background: linear-gradient(145deg, #fffaf0, #ffffff);
}

.jhpublisher-completion__label {
  color: #8b6618;
}

.jhpublisher-completion__items {
  display: grid;
  gap: 7px;
  margin-top: 14px;
}

.jhpublisher-completion__items article {
  display: flex;
  flex-direction: column;
  padding: 10px;
  border: 1px solid #eadfbf;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
}

.jhpublisher-completion__items strong {
  color: var(--jhpublisher-red);
}

.jhpublisher-completion > p {
  margin: 12px 0 0 !important;
  padding-top: 10px;
  border-top: 1px solid #eadfbf;
  color: var(--jhpublisher-text) !important;
  font-size: 14.5px !important;
  font-style: italic;
  line-height: 1.4 !important;
  text-align: left !important;
}

.jhpublisher-role-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.jhpublisher-role-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 225px;
  padding: 16px;
  border: 1px solid var(--jhpublisher-line);
  border-top: 3px solid var(--jhpublisher-blue);
  border-radius: 11px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhpublisher-role-card:nth-child(2) {
  border-top-color: var(--jhpublisher-gold);
}

.jhpublisher-role-card:nth-child(3) {
  border-top-color: var(--jhpublisher-green);
}

.jhpublisher-role-card:nth-child(4) {
  border-top-color: var(--jhpublisher-wine);
}

.jhpublisher-role-card__number {
  color: var(--jhpublisher-blue);
  font-size: 13px;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhpublisher-role-card__label {
  margin-top: 15px;
  color: var(--jhpublisher-muted);
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.055em;
}

.jhpublisher-role-card h3 {
  margin: 5px 0 0 !important;
  color: var(--jhpublisher-wine) !important;
  font-size: 18.5px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.16 !important;
  text-transform: none !important;
}

.jhpublisher-role-card p {
  margin: auto 0 0 !important;
  padding-top: 14px;
  color: var(--jhpublisher-text) !important;
  font-size: 14.5px !important;
  line-height: 1.4 !important;
  text-align: left !important;
}

.jhpublisher-independence {
  margin-bottom: 24px;
  padding: clamp(20px, 3vw, 29px);
  border: 1px solid #cfe1d9;
  border-left: 4px solid var(--jhpublisher-green);
  border-radius: 14px;
  background: radial-gradient(circle at 100% 0, rgba(63, 122, 100, 0.08), transparent 34%), linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 10px 24px rgba(53, 18, 47, 0.05);
  scroll-margin-top: 24px;
}

.jhpublisher-independence__copy {
  max-width: 900px;
}

.jhpublisher-independence h2 {
  margin: 0 !important;
  color: var(--jhpublisher-ink) !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.05em !important;
  text-transform: none !important;
}

.jhpublisher-independence__copy p {
  margin: 10px 0 0 !important;
  color: var(--jhpublisher-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhpublisher-independence__statement {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  margin-top: 15px;
  padding: 15px 17px;
  border: 1px solid #cfe1d9;
  border-radius: 11px;
  background: linear-gradient(110deg, #eef8f3, #ffffff);
}

.jhpublisher-independence__mark {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 50%;
  background: var(--jhpublisher-green);
  color: #ffffff;
  font-family: Arial, sans-serif;
  font-size: 17px;
}

.jhpublisher-independence__label {
  display: block;
  color: var(--jhpublisher-green);
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.065em;
}

.jhpublisher-independence__statement strong {
  display: block;
  margin-top: 4px;
  color: var(--jhpublisher-wine);
  font-size: 18px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.3;
}

.jhpublisher-authority-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 10px;
}

.jhpublisher-authority-card {
  padding: 16px;
  border: 1px solid var(--jhpublisher-line);
  border-top: 3px solid var(--jhpublisher-green);
  border-radius: 11px;
  background: #ffffff;
}

.jhpublisher-authority-card--restricted {
  border-top-color: var(--jhpublisher-red);
}

.jhpublisher-authority-card__label {
  display: block;
  color: var(--jhpublisher-green);
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.06em;
}

.jhpublisher-authority-card--restricted .jhpublisher-authority-card__label {
  color: var(--jhpublisher-red);
}

.jhpublisher-authority-card ul {
  display: grid;
  gap: 7px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.jhpublisher-authority-card li {
  position: relative;
  padding: 9px 10px 9px 29px;
  border: 1px solid #eee4e9;
  border-radius: 8px;
  background: var(--jhpublisher-soft);
  color: var(--jhpublisher-text);
  font-size: 14.5px;
  line-height: 1.35;
}

.jhpublisher-authority-card--allowed li::before {
  content: "✓";
  position: absolute;
  top: 9px;
  left: 10px;
  color: var(--jhpublisher-green);
  font-family: Arial, sans-serif;
  font-size: 11px;
}

.jhpublisher-authority-card--restricted li::before {
  content: "×";
  position: absolute;
  top: 8px;
  left: 10px;
  color: var(--jhpublisher-red);
  font-family: Arial, sans-serif;
  font-weight: 700;
}

.jhpublisher-infrastructure-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.jhpublisher-infrastructure-grid article {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 135px;
  padding: 14px;
  border: 1px solid var(--jhpublisher-line);
  border-radius: 10px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhpublisher-infrastructure-grid article > span {
  color: var(--jhpublisher-muted);
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.055em;
}

.jhpublisher-infrastructure-grid strong {
  margin-top: 9px;
  color: var(--jhpublisher-wine);
  font-size: 17px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.jhpublisher-infrastructure-grid small {
  margin-top: auto;
  padding-top: 10px;
  color: var(--jhpublisher-text);
  font-size: 13.5px;
  font-style: italic;
  line-height: 1.3;
}

.jhpublisher-infrastructure-grid a {
  color: var(--jhpublisher-blue);
}

.jhpublisher-infrastructure__pending {
  border-color: #eadfbf !important;
  background: #fffaf0 !important;
}

.jhpublisher-infrastructure__pending strong {
  color: var(--jhpublisher-red);
}

.jhpublisher-issn-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
  gap: 10px;
}

.jhpublisher-issn-card,
.jhpublisher-history {
  padding: 18px;
  border: 1px solid var(--jhpublisher-line);
  border-radius: 12px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhpublisher-issn-card__label,
.jhpublisher-history__label {
  display: block;
  color: var(--jhpublisher-blue);
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.07em;
}

.jhpublisher-issn-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 13px;
}

.jhpublisher-issn-facts article {
  display: flex;
  flex-direction: column;
  padding: 11px;
  border: 1px solid #d7e4ed;
  border-radius: 8px;
  background: var(--jhpublisher-blue-soft);
}

.jhpublisher-issn-facts article:first-child {
  grid-column: 1 / -1;
}

.jhpublisher-issn-facts span {
  color: var(--jhpublisher-muted);
  font-size: 12.5px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.045em;
}

.jhpublisher-issn-facts strong {
  margin-top: 5px;
  color: var(--jhpublisher-wine);
  font-size: 15px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.jhpublisher-history {
  border-color: #eadfbf;
  border-top: 3px solid var(--jhpublisher-gold);
  background: linear-gradient(145deg, #fffaf0, #ffffff);
}

.jhpublisher-history__label {
  color: #8b6618;
}

.jhpublisher-history h3 {
  margin: 6px 0 0 !important;
  color: var(--jhpublisher-ink) !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.17 !important;
  text-transform: none !important;
}

.jhpublisher-history > strong {
  display: block;
  margin-top: 10px;
  color: var(--jhpublisher-wine);
  font-size: 19px;
  font-weight: 300;
  font-style: italic;
}

.jhpublisher-history > p {
  margin: 8px 0 0 !important;
  color: var(--jhpublisher-text) !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
  text-align: left !important;
}

.jhpublisher-history details {
  margin-top: 12px;
  padding: 10px 12px;
  border: 1px solid #eadfbf;
  border-radius: 8px;
  background: #ffffff;
}

.jhpublisher-history summary {
  cursor: pointer;
  color: var(--jhpublisher-blue);
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
}

.jhpublisher-history address {
  margin-top: 10px;
  color: var(--jhpublisher-text);
  font-size: 14.5px;
  font-style: italic;
  line-height: 1.4;
}

.jhpublisher-history__warning {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 11px;
  align-items: center;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid #ead7de;
  border-left: 3px solid var(--jhpublisher-red);
  border-radius: 8px;
  background: #fff7fa;
}

.jhpublisher-history__warning > span {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 50%;
  background: var(--jhpublisher-red);
  color: #ffffff;
  font-family: Arial, sans-serif;
  font-weight: 700;
}

.jhpublisher-history__warning p {
  margin: 0 !important;
  color: var(--jhpublisher-text) !important;
  font-size: 14px !important;
  font-style: italic;
  line-height: 1.38 !important;
  text-align: left !important;
}

.jhpublisher .jhpublisher-change {
  display: block !important;
  width: 100% !important;
  margin: 0 0 24px !important;
  padding: clamp(20px, 3vw, 28px) !important;
  overflow: hidden !important;
  border: 1px solid var(--jhpublisher-line) !important;
  border-left: 4px solid var(--jhpublisher-blue) !important;
  border-radius: 14px !important;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.07), transparent 34%), linear-gradient(145deg, #ffffff, #fcfafb) !important;
  box-shadow: 0 10px 24px rgba(53, 18, 47, 0.045) !important;
}

.jhpublisher .jhpublisher-change__intro {
  display: grid !important;
  grid-template-columns: minmax(250px, 0.72fr) minmax(0, 1.28fr) !important;
  gap: 24px !important;
  align-items: end !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 0 17px !important;
  padding: 0 0 15px !important;
  border-bottom: 1px solid var(--jhpublisher-line) !important;
}

.jhpublisher .jhpublisher-change__intro > div,
.jhpublisher .jhpublisher-change__intro > * {
  min-width: 0 !important;
}

.jhpublisher .jhpublisher-change h2 {
  max-width: 430px !important;
  margin: 0 !important;
  color: var(--jhpublisher-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: clamp(26px, 2.7vw, 33px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.12 !important;
  letter-spacing: 0.035em !important;
  text-transform: none !important;
}

.jhpublisher .jhpublisher-change__intro > p {
  width: 100% !important;
  max-width: 650px !important;
  margin: 0 !important;
  color: var(--jhpublisher-text) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 15.8px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  white-space: normal !important;
}

.jhpublisher .jhpublisher-change__steps {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.jhpublisher .jhpublisher-change__step {
  --change-accent: var(--jhpublisher-blue);
  --change-soft: var(--jhpublisher-blue-soft);
  --change-line: #d7e4ed;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  min-width: 0 !important;
  min-height: 188px !important;
  margin: 0 !important;
  padding: 15px !important;
  border: 1px solid var(--change-line) !important;
  border-top: 3px solid var(--change-accent) !important;
  border-radius: 11px !important;
  background: linear-gradient(145deg, #ffffff, var(--change-soft)) !important;
  box-shadow: 0 4px 11px rgba(53, 18, 47, 0.035) !important;
}

.jhpublisher .jhpublisher-change__step:nth-child(2) {
  --change-accent: #a17319;
  --change-soft: #fffaf0;
  --change-line: #eadfbf;
}

.jhpublisher .jhpublisher-change__step:nth-child(3) {
  --change-accent: var(--jhpublisher-green);
  --change-soft: #eef8f3;
  --change-line: #cfe1d9;
}

.jhpublisher .jhpublisher-change__step:nth-child(4) {
  --change-accent: var(--jhpublisher-wine);
  --change-soft: #fff7fa;
  --change-line: #ead7de;
}

.jhpublisher .jhpublisher-change__number {
  display: grid !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  place-items: center !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: 1px solid var(--change-accent) !important;
  border-radius: 50% !important;
  background: var(--change-accent) !important;
  color: #ffffff !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  font-style: italic !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
}

.jhpublisher .jhpublisher-change__copy {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.jhpublisher .jhpublisher-change__title {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--jhpublisher-wine) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 17px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.2 !important;
  letter-spacing: 0.018em !important;
  text-transform: none !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  white-space: normal !important;
}

.jhpublisher .jhpublisher-change__description {
  display: block !important;
  width: 100% !important;
  margin: 9px 0 0 !important;
  padding: 0 !important;
  color: var(--jhpublisher-text) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 14.5px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 1.43 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  white-space: normal !important;
}

@media (max-width: 1020px) {
  .jhpublisher .jhpublisher-change__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .jhpublisher .jhpublisher-change__step {
    min-height: 165px !important;
  }
}

@media (max-width: 760px) {
  .jhpublisher .jhpublisher-change__intro {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    align-items: start !important;
  }

  .jhpublisher .jhpublisher-change h2,
  .jhpublisher .jhpublisher-change__intro > p {
    max-width: none !important;
  }
}

@media (max-width: 560px) {
  .jhpublisher .jhpublisher-change__steps {
    grid-template-columns: 1fr !important;
  }

  .jhpublisher .jhpublisher-change__step {
    min-height: 0 !important;
  }
}

.jhpublisher-contact {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(330px, 0.65fr);
  gap: 24px;
  align-items: center;
  padding: clamp(20px, 3vw, 30px);
  overflow: hidden;
  border: 1px solid var(--jhpublisher-line);
  border-radius: 15px;
  background: radial-gradient(circle at 100% 0, rgba(224, 170, 53, 0.1), transparent 34%), linear-gradient(145deg, #fffdf8, #ffffff);
  box-shadow: 0 12px 28px rgba(53, 18, 47, 0.065);
  scroll-margin-top: 24px;
}

.jhpublisher-contact::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhpublisher-wine), var(--jhpublisher-blue), var(--jhpublisher-gold));
}

.jhpublisher-contact h2 {
  margin: 0 !important;
  color: var(--jhpublisher-ink) !important;
  font-size: clamp(24px, 2.7vw, 33px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.15 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhpublisher-contact p {
  margin: 9px 0 0 !important;
  color: var(--jhpublisher-text) !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.jhpublisher-contact__details {
  display: grid;
  gap: 8px;
}

.jhpublisher-contact__details article {
  display: flex;
  flex-direction: column;
  padding: 10px 12px;
  border: 1px solid #eadfbf;
  border-radius: 8px;
  background: #fffaf0;
}

.jhpublisher-contact__details article span {
  color: var(--jhpublisher-muted);
  font-size: 12.5px;
  font-style: italic;
  font-variant: unicase;
}

.jhpublisher-contact__details article strong {
  margin-top: 4px;
  color: var(--jhpublisher-red);
  font-size: 14px;
  font-weight: 300;
  font-style: italic;
}

.jhpublisher-contact__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid var(--jhpublisher-wine);
  border-radius: 9px;
  background: var(--jhpublisher-wine);
  color: #ffffff !important;
  font-size: 16px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.1;
  letter-spacing: 0.035em;
  box-shadow: 0 7px 16px rgba(97, 12, 58, 0.14);
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    transform 0.18s ease;
}

.jhpublisher-contact__button:hover,
.jhpublisher-contact__button:focus-visible {
  border-color: var(--jhpublisher-blue);
  background: var(--jhpublisher-blue);
  transform: translateY(-2px);
}

@media (max-width: 1020px) {
  .jhpublisher-hero,
  .jhpublisher-intro,
  .jhpublisher-change,
  .jhpublisher-contact {
    grid-template-columns: 1fr;
  }

  .jhpublisher-status {
    max-width: 430px;
  }

  .jhpublisher-role-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .jhpublisher-section-heading,
  .jhpublisher-identity-layout,
  .jhpublisher-issn-layout {
    grid-template-columns: 1fr;
    gap: 9px;
    align-items: start;
  }

  .jhpublisher-infrastructure-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .jhpublisher {
    font-size: 16px;
  }

  .jhpublisher-hero {
    padding: 20px 16px;
    border-radius: 13px;
  }

  .jhpublisher-hero h2 {
    font-size: 30px !important;
  }

  .jhpublisher-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhpublisher-nav a {
    width: 100%;
    text-align: center;
  }

  .jhpublisher-facts,
  .jhpublisher-role-grid,
  .jhpublisher-authority-grid,
  .jhpublisher-infrastructure-grid,
  .jhpublisher-issn-facts,
  .jhpublisher-change__steps {
    grid-template-columns: 1fr;
  }

  .jhpublisher-issn-facts article:first-child {
    grid-column: auto;
  }

  .jhpublisher-independence__statement,
  .jhpublisher-history__warning {
    grid-template-columns: 1fr;
  }

  .jhpublisher-contact__button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhpublisher a,
  .jhpublisher-nav a,
  .jhpublisher-contact__button {
    transition: none !important;
  }

  .jhpublisher-nav a:hover,
  .jhpublisher-contact__button:hover {
    transform: none !important;
  }
}

.jhpublisher .jhpublisher-data-governance {
  display: grid !important;
  grid-template-columns: 50px minmax(0, 1fr) !important;
  gap: 15px !important;
  align-items: start !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 11px 0 0 !important;
  padding: 17px 18px !important;
  border: 1px solid #cfe1d9 !important;
  border-left: 4px solid var(--jhpublisher-green) !important;
  border-radius: 11px !important;
  background: radial-gradient(circle at 100% 0, rgba(63, 122, 100, 0.08), transparent 36%), linear-gradient(110deg, #eef8f3, #ffffff) !important;
  box-shadow: 0 5px 14px rgba(63, 122, 100, 0.055) !important;
}

.jhpublisher .jhpublisher-data-governance__icon {
  display: grid !important;
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  place-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: var(--jhpublisher-green) !important;
  color: #ffffff !important;
  font-family: Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  font-style: normal !important;
  line-height: 1 !important;
  text-align: center !important;
}

.jhpublisher .jhpublisher-data-governance__body {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.jhpublisher .jhpublisher-data-governance__eyebrow {
  display: block !important;
  width: 100% !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
  color: var(--jhpublisher-green) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.1 !important;
  letter-spacing: 0.07em !important;
}

.jhpublisher .jhpublisher-data-governance__title {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--jhpublisher-wine) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.18 !important;
  letter-spacing: 0.025em !important;
  text-transform: none !important;
}

.jhpublisher .jhpublisher-data-governance__text {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  color: var(--jhpublisher-text) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 15.3px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 1.48 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  white-space: normal !important;
}

@media (max-width: 520px) {
  .jhpublisher .jhpublisher-data-governance {
    grid-template-columns: 1fr !important;
    gap: 11px !important;
  }

  .jhpublisher .jhpublisher-data-governance__icon {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
  }
}

/* ==========================================================================
   @JH-27 — GENERATIVE-AI MASTER POLICY CUSTOM PAGE
   Owner selectors: .jhai-policy
   Scope status: CUSTOM PAGE / isolated namespace
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* ==========================================================================
   @JH-27 — 27 — CUSTOM PAGE: GENERATIVE AI MASTER POLICY (.jhai-policy)
   Maintenance anchor: search exactly for @JH-27
   ========================================================================== */

.jhai-policy,
.jhai-policy *,
.jhai-policy *::before,
.jhai-policy *::after {
  box-sizing: border-box;
}

.jhai-policy {
  --jhai-wine: #610c3a;
  --jhai-wine-soft: #8f153d;
  --jhai-blue: #2f6592;
  --jhai-blue-dark: #204866;
  --jhai-blue-soft: #eef6fb;
  --jhai-gold: #e0aa35;
  --jhai-green: #3f7a64;
  --jhai-green-soft: #eef7f3;
  --jhai-red: #8f2846;
  --jhai-ink: #2f272c;
  --jhai-text: #4d4248;
  --jhai-muted: #766a70;
  --jhai-line: #e5d9e0;
  --jhai-paper: #fffdfc;
  --jhai-soft: #faf7f9;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  color: var(--jhai-text);
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.55;
}

.jhai-policy *,
.jhai-policy *::before,
.jhai-policy *::after {
  font-family: inherit;
}

.jhai-policy a {
  color: inherit;
  text-decoration: none;
}

.jhai-policy p,
.jhai-policy li,
.jhai-policy blockquote {
  font-family: "Perpetua", Georgia, serif !important;
  text-align: left !important;
}

.jhai-policy h2,
.jhai-policy h3,
.jhai-policy h4,
.jhai-policy p {
  text-wrap: pretty;
}

.jhai-policy p {
  margin: 0 0 12px !important;
  color: var(--jhai-text) !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  font-style: normal;
  line-height: 1.55 !important;
  letter-spacing: normal !important;
  word-spacing: normal !important;
}

.jhai-policy ul,
.jhai-policy ol {
  margin: 10px 0 14px;
  padding-left: 23px;
}

.jhai-policy li {
  color: var(--jhai-text);
  font-size: 16px;
  line-height: 1.5;
}

.jhai-policy li + li {
  margin-top: 6px;
}

.jhai-kicker {
  display: block;
  margin: 0 0 6px;
  color: var(--jhai-blue);
  font-size: 14px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  font-variant-caps: unicase;
  line-height: 1;
  letter-spacing: 0.095em;
  text-transform: none;
}

.jhai-kicker::before {
  content: none !important;
}

.jhai-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(280px, 0.68fr);
  gap: clamp(22px, 4vw, 48px);
  align-items: center;
  margin: 0 0 14px;
  padding: clamp(23px, 4vw, 38px);
  overflow: hidden;
  border: 1px solid var(--jhai-line);
  border-radius: 16px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.12), transparent 35%), radial-gradient(circle at 0% 100%, rgba(143, 21, 61, 0.08), transparent 33%), linear-gradient(145deg, #ffffff, var(--jhai-paper));
  box-shadow:
    0 16px 38px rgba(53, 18, 47, 0.075),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.jhai-hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhai-wine), var(--jhai-blue), var(--jhai-gold));
}

.jhai-hero::after {
  content: none !important;
}

.jhai-hero__copy,
.jhai-hero__facts {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.jhai-hero h2 {
  max-width: 850px;
  margin: 0 !important;
  color: var(--jhai-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: clamp(30px, 3.6vw, 45px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-variant-caps: unicase !important;
  line-height: 1.1 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhai-hero__lead {
  max-width: 850px;
  margin: 14px 0 0 !important;
  color: var(--jhai-text) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  font-style: italic !important;
  line-height: 1.55 !important;
  letter-spacing: normal !important;
  word-spacing: normal !important;
  text-align: left !important;
}

.jhai-hero__facts {
  display: flex;
  flex-direction: column;
  padding: 8px 18px;
  border: 1px solid #cadbe7;
  border-radius: 13px;
  background: linear-gradient(145deg, var(--jhai-blue), var(--jhai-blue-dark));
  box-shadow: 0 10px 22px rgba(47, 101, 146, 0.18);
  color: #ffffff;
}

.jhai-fact {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 67px;
  padding: 11px 0;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 0;
  background: transparent;
  box-shadow: none !important;
}

.jhai-fact:last-child {
  border-bottom: 0;
}

.jhai-fact small {
  color: rgba(255, 255, 255, 0.82);
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 13px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  font-variant-caps: unicase;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: none;
}

.jhai-fact strong {
  margin-top: 5px;
  color: #ffffff;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 17px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.2;
  letter-spacing: 0.025em;
}

.jhai-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 18px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.jhai-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 37px;
  padding: 7px 13px;
  border: 1px solid #d8e4ec;
  border-radius: 999px;
  background: #ffffff;
  color: var(--jhai-blue) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 15px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  font-variant-caps: unicase;
  line-height: 1;
  letter-spacing: 0.045em;
  text-transform: none;
  text-decoration: none !important;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.jhai-nav a:hover,
.jhai-nav a:focus-visible {
  border-color: var(--jhai-blue);
  background: var(--jhai-blue);
  color: #ffffff !important;
  transform: translateY(-1px);
}

.jhai-master-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  margin: 0 0 24px;
  padding: 16px 18px;
  border: 1px solid #cbded6;
  border-left: 4px solid var(--jhai-green);
  border-radius: 11px;
  background: linear-gradient(110deg, var(--jhai-green-soft), #ffffff);
}

.jhai-master-note__mark {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 50%;
  background: var(--jhai-green);
  color: #ffffff;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 19px;
  font-weight: 300;
  font-style: italic;
}

.jhai-master-note strong {
  display: block;
  margin: 0 0 4px;
  color: var(--jhai-green);
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 19px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  font-variant-caps: unicase;
  line-height: 1.15;
  letter-spacing: 0.035em;
}

.jhai-master-note p {
  margin: 0 !important;
  color: #536d63 !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
}

.jhai-foundation {
  display: grid;
  grid-template-columns: minmax(250px, 0.75fr) minmax(0, 1.55fr);
  gap: 24px;
  align-items: center;
  margin: 0 0 14px;
  padding: 19px 20px;
  border: 1px solid var(--jhai-line);
  border-radius: 13px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhai-foundation h2,
.jhai-section-heading h2,
.jhai-footer h2 {
  margin: 0 !important;
  color: var(--jhai-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-variant-caps: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhai-foundation h2 {
  font-size: clamp(24px, 2.6vw, 32px) !important;
}

.jhai-foundation__copy p {
  font-size: 16px !important;
  line-height: 1.48 !important;
}

.jhai-foundation__copy p:last-child {
  margin-bottom: 0 !important;
}

.jhai-principles {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 24px;
}

.jhai-principles article {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--jhai-line);
  border-top: 3px solid var(--jhai-blue);
  border-radius: 11px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
  color: var(--jhai-blue);
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 13px;
  font-weight: 300;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhai-principles article:nth-child(2) {
  border-top-color: var(--jhai-wine);
}

.jhai-principles article:nth-child(3) {
  border-top-color: var(--jhai-gold);
}

.jhai-principles article:nth-child(4) {
  border-top-color: var(--jhai-green);
}

.jhai-principles strong {
  display: block;
  margin: 17px 0 0;
  color: var(--jhai-wine);
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 18.5px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  font-variant-caps: unicase;
  line-height: 1.15;
  letter-spacing: 0.035em;
}

.jhai-principles p {
  margin: 7px 0 0 !important;
  color: var(--jhai-text) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 1.42 !important;
  letter-spacing: normal !important;
}

.jhai-directory {
  margin: 0 0 24px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.jhai-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.65fr);
  gap: 22px;
  align-items: end;
  margin-bottom: 14px;
  padding: 0 2px 12px;
  border-bottom: 1px solid var(--jhai-line);
}

.jhai-section-heading h2 {
  font-size: clamp(25px, 2.8vw, 34px) !important;
}

.jhai-section-heading > p {
  margin: 0 !important;
  color: var(--jhai-muted) !important;
  font-size: 16px !important;
  font-style: italic !important;
  line-height: 1.4 !important;
}

.jhai-policies {
  display: grid;
  gap: 8px;
}

.jhai-policy-item {
  overflow: hidden;
  border: 1px solid var(--jhai-line);
  border-radius: 11px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 5px 13px rgba(53, 18, 47, 0.035);
}

.jhai-policy-item[open] {
  border-color: #cfdde6;
  box-shadow: 0 9px 21px rgba(47, 101, 146, 0.075);
}

.jhai-policy-item__summary {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 68px;
  padding: 12px 15px;
  cursor: pointer;
  list-style: none;
  background: linear-gradient(90deg, rgba(47, 101, 146, 0.035), rgba(143, 21, 61, 0.018));
}

.jhai-policy-item__summary::-webkit-details-marker {
  display: none;
}

.jhai-policy-item__number {
  display: grid;
  width: 37px;
  height: 37px;
  place-items: center;
  border: 1px solid #cbdbe6;
  border-radius: 9px;
  background: var(--jhai-blue-soft);
  color: var(--jhai-blue-dark);
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 13px;
  font-weight: 300;
  font-style: italic;
  letter-spacing: 0.07em;
}

.jhai-policy-item:nth-child(2n) .jhai-policy-item__number {
  border-color: #e2d5dc;
  background: #fff8fb;
  color: var(--jhai-wine);
}

.jhai-policy-item__heading {
  min-width: 0;
}

.jhai-policy-item__heading strong {
  display: block;
  color: var(--jhai-wine);
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 19.5px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  font-variant-caps: unicase;
  line-height: 1.16;
  letter-spacing: 0.035em;
}

.jhai-policy-item__heading small {
  display: block;
  margin-top: 3px;
  color: var(--jhai-muted);
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 14px;
  font-weight: 400;
  font-style: normal;
  line-height: 1.34;
  letter-spacing: normal;
}

.jhai-policy-item__action {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--jhai-blue);
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 14px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  font-variant-caps: unicase;
  line-height: 1;
  letter-spacing: 0.045em;
  text-transform: none;
}

.jhai-policy-item__action::after {
  content: "+";
  display: grid;
  width: 27px;
  height: 27px;
  place-items: center;
  border: 1px solid #cbd8e1;
  border-radius: 50%;
  background: #ffffff;
  font-family: Georgia, serif;
  font-size: 17px;
  font-style: normal;
  line-height: 1;
}

.jhai-policy-item[open] .jhai-policy-item__action::after {
  content: "−";
  border-color: var(--jhai-blue);
  background: var(--jhai-blue);
  color: #ffffff;
}

.jhai-policy-item__content {
  padding: 18px 22px 21px 69px;
  border-top: 1px solid var(--jhai-line);
  background: #ffffff;
}

.jhai-policy-item__content h3,
.jhai-policy-item__content h4 {
  color: var(--jhai-wine) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-variant-caps: unicase !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
}

.jhai-policy-item__content h3 {
  margin: 17px 0 7px !important;
  font-size: 21px !important;
  line-height: 1.16 !important;
}

.jhai-policy-item__content h3:first-child {
  margin-top: 0 !important;
}

.jhai-policy-item__content h4 {
  margin: 15px 0 6px !important;
  font-size: 18.5px !important;
  line-height: 1.18 !important;
}

.jhai-policy-item__content p {
  font-size: 16px !important;
  line-height: 1.52 !important;
}

.jhai-policy-item__content a,
.jhai-related-links a {
  color: var(--jhai-blue) !important;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.jhai-policy-item__content a:hover,
.jhai-policy-item__content a:focus-visible,
.jhai-related-links a:hover,
.jhai-related-links a:focus-visible {
  color: var(--jhai-wine) !important;
}

.jhai-definition-grid,
.jhai-use-grid,
.jhai-statement-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin: 12px 0 14px;
}

.jhai-definition-grid article,
.jhai-use-grid article,
.jhai-statement {
  min-width: 0;
  padding: 14px 15px;
  border: 1px solid var(--jhai-line);
  border-left: 3px solid var(--jhai-blue);
  border-radius: 9px;
  background: linear-gradient(145deg, #ffffff, var(--jhai-soft));
}

.jhai-definition-grid article:nth-child(2n),
.jhai-statement:nth-child(2) {
  border-left-color: var(--jhai-wine);
}

.jhai-definition-grid article:nth-child(3) {
  border-left-color: var(--jhai-gold);
}

.jhai-definition-grid article:nth-child(4) {
  border-left-color: var(--jhai-green);
}

.jhai-use-grid article:first-child {
  border-left-color: var(--jhai-green);
  background: linear-gradient(145deg, #ffffff, var(--jhai-green-soft));
}

.jhai-use-grid article:last-child {
  border-left-color: var(--jhai-red);
  background: linear-gradient(145deg, #ffffff, #fff6f8);
}

.jhai-definition-grid strong,
.jhai-use-grid strong,
.jhai-statement > strong {
  display: block;
  margin: 0 0 5px;
  color: var(--jhai-wine);
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 18px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  font-variant-caps: unicase;
  line-height: 1.18;
  letter-spacing: 0.035em;
}

.jhai-definition-grid p,
.jhai-use-grid p,
.jhai-statement p {
  margin: 0 !important;
  font-size: 15px !important;
  line-height: 1.46 !important;
}

.jhai-statement blockquote {
  margin: 9px 0 0;
  padding: 12px 14px;
  border: 0;
  border-left: 3px solid var(--jhai-gold);
  background: #fffaf0;
  color: var(--jhai-text);
  font-size: 15px;
  font-style: italic;
  line-height: 1.48;
}

.jhai-alert {
  margin: 13px 0 0;
  padding: 13px 15px;
  border: 1px solid #eadfbf;
  border-left: 3px solid var(--jhai-gold);
  border-radius: 9px;
  background: linear-gradient(110deg, #fffaf0, #ffffff);
  color: #6b572d;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 16px;
  font-style: italic;
  line-height: 1.48;
  text-align: left;
}

.jhai-related-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px 14px;
  margin-top: 12px !important;
  padding-left: 0 !important;
  list-style: none;
}

.jhai-related-links li {
  margin: 0 !important;
  padding: 9px 11px;
  border: 1px solid var(--jhai-line);
  border-radius: 8px;
  background: var(--jhai-soft);
}

.jhai-footer {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) auto;
  gap: 24px;
  align-items: center;
  margin: 0;
  padding: 20px 22px;
  border: 1px solid var(--jhai-line);
  border-left: 4px solid var(--jhai-wine);
  border-radius: 13px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.08), transparent 38%), linear-gradient(145deg, #ffffff, var(--jhai-paper));
}

.jhai-footer h2 {
  font-size: clamp(24px, 2.6vw, 32px) !important;
}

.jhai-footer p {
  margin: 8px 0 0 !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
}

.jhai-footer__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 280px;
  padding: 10px 13px;
  border: 1px solid #cadbe7;
  border-radius: 999px;
  background: var(--jhai-blue-soft);
  color: var(--jhai-blue-dark);
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 15px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  font-variant-caps: unicase;
  line-height: 1.2;
  letter-spacing: 0.035em;
  text-align: center;
}

@media (max-width: 980px) {
  .jhai-hero,
  .jhai-foundation,
  .jhai-footer {
    grid-template-columns: 1fr;
  }

  .jhai-hero__facts {
    max-width: 430px;
  }

  .jhai-principles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhai-footer__badge {
    justify-self: start;
    max-width: none;
  }
}

@media (max-width: 760px) {
  .jhai-section-heading {
    grid-template-columns: 1fr;
    gap: 8px;
    align-items: start;
  }

  .jhai-policy-item__content {
    padding-left: 22px;
  }

  .jhai-policy-item__action {
    font-size: 0;
  }

  .jhai-policy-item__action::after {
    font-size: 17px;
  }

  .jhai-definition-grid,
  .jhai-use-grid,
  .jhai-statement-grid,
  .jhai-related-links {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .jhai-policy {
    font-size: 16px;
  }

  .jhai-hero {
    padding: 20px 16px;
    border-radius: 13px;
  }

  .jhai-hero h2 {
    font-size: 30px !important;
  }

  .jhai-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhai-nav a {
    width: 100%;
    text-align: center;
  }

  .jhai-master-note {
    grid-template-columns: 1fr;
  }

  .jhai-principles {
    grid-template-columns: 1fr;
  }

  .jhai-policy-item__summary {
    grid-template-columns: 36px minmax(0, 1fr) auto;
    gap: 9px;
    padding: 11px;
  }

  .jhai-policy-item__number {
    width: 34px;
    height: 34px;
  }

  .jhai-policy-item__heading strong {
    font-size: 18px;
  }

  .jhai-policy-item__heading small {
    font-size: 13px;
  }

  .jhai-policy-item__content {
    padding: 16px 15px 18px;
  }

  .jhai-footer {
    padding: 18px 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhai-policy a,
  .jhai-nav a {
    transition: none !important;
  }

  .jhai-nav a:hover {
    transform: none !important;
  }
}

/* ==========================================================================
   @JH-28 — PREPRINT AND PRIOR-DISSEMINATION CUSTOM PAGE
   Owner selectors: .jhpre-policy
   Scope status: CUSTOM PAGE / isolated namespace
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* ==========================================================================
   @JH-28 — 28 — CUSTOM PAGE: PREPRINT AND PRIOR DISSEMINATION (.jhpre-policy)
   Maintenance anchor: search exactly for @JH-28
   ========================================================================== */

.jhpre-policy,
.jhpre-policy *,
.jhpre-policy *::before,
.jhpre-policy *::after {
  box-sizing: border-box;
}

.jhpre-policy {
  --jhpre-wine: #610c3a;
  --jhpre-wine-soft: #8f153d;
  --jhpre-blue: #2f6592;
  --jhpre-blue-dark: #204866;
  --jhpre-blue-soft: #eef6fb;
  --jhpre-gold: #e0aa35;
  --jhpre-green: #3f7a64;
  --jhpre-green-soft: #eef7f3;
  --jhpre-red: #8f2846;
  --jhpre-ink: #2f272c;
  --jhpre-text: #4d4248;
  --jhpre-muted: #766a70;
  --jhpre-line: #e5d9e0;
  --jhpre-paper: #fffdfc;
  --jhpre-soft: #faf7f9;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  color: var(--jhpre-text);
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.55;
}

.jhpre-policy *,
.jhpre-policy *::before,
.jhpre-policy *::after {
  font-family: inherit;
}

.jhpre-policy a {
  color: inherit;
  text-decoration: none;
}

.jhpre-policy p,
.jhpre-policy li,
.jhpre-policy blockquote {
  font-family: "Perpetua", Georgia, serif !important;
  text-align: left !important;
}

.jhpre-policy h2,
.jhpre-policy h3,
.jhpre-policy h4,
.jhpre-policy p {
  text-wrap: pretty;
}

.jhpre-policy p {
  margin: 0 0 12px !important;
  color: var(--jhpre-text) !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  font-style: normal;
  line-height: 1.55 !important;
  letter-spacing: normal !important;
  word-spacing: normal !important;
}

.jhpre-policy ul,
.jhpre-policy ol {
  margin: 10px 0 14px;
  padding-left: 23px;
}

.jhpre-policy li {
  color: var(--jhpre-text);
  font-size: 16px;
  line-height: 1.5;
}

.jhpre-policy li + li {
  margin-top: 6px;
}

.jhpre-kicker {
  display: block;
  margin: 0 0 6px;
  color: var(--jhpre-blue);
  font-size: 14px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  font-variant-caps: unicase;
  line-height: 1;
  letter-spacing: 0.095em;
  text-transform: none;
}

.jhpre-kicker::before {
  content: none !important;
}

.jhpre-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(280px, 0.68fr);
  gap: clamp(22px, 4vw, 48px);
  align-items: center;
  margin: 0 0 14px;
  padding: clamp(23px, 4vw, 38px);
  overflow: hidden;
  border: 1px solid var(--jhpre-line);
  border-radius: 16px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.12), transparent 35%), radial-gradient(circle at 0% 100%, rgba(143, 21, 61, 0.08), transparent 33%), linear-gradient(145deg, #ffffff, var(--jhpre-paper));
  box-shadow:
    0 16px 38px rgba(53, 18, 47, 0.075),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.jhpre-hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhpre-wine), var(--jhpre-blue), var(--jhpre-gold));
}

.jhpre-hero::after {
  content: none !important;
}

.jhpre-hero__copy,
.jhpre-hero__facts {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.jhpre-hero h2 {
  max-width: 850px;
  margin: 0 !important;
  color: var(--jhpre-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: clamp(30px, 3.6vw, 45px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-variant-caps: unicase !important;
  line-height: 1.1 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhpre-hero__lead {
  max-width: 850px;
  margin: 14px 0 0 !important;
  color: var(--jhpre-text) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  font-style: italic !important;
  line-height: 1.55 !important;
  letter-spacing: normal !important;
  word-spacing: normal !important;
  text-align: left !important;
}

.jhpre-hero__facts {
  display: flex;
  flex-direction: column;
  padding: 8px 18px;
  border: 1px solid #cadbe7;
  border-radius: 13px;
  background: linear-gradient(145deg, var(--jhpre-blue), var(--jhpre-blue-dark));
  box-shadow: 0 10px 22px rgba(47, 101, 146, 0.18);
  color: #ffffff;
}

.jhpre-fact {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 67px;
  padding: 11px 0;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 0;
  background: transparent;
  box-shadow: none !important;
}

.jhpre-fact:last-child {
  border-bottom: 0;
}

.jhpre-fact small {
  color: rgba(255, 255, 255, 0.82);
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 13px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  font-variant-caps: unicase;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: none;
}

.jhpre-fact strong {
  margin-top: 5px;
  color: #ffffff;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 17px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.2;
  letter-spacing: 0.025em;
}

.jhpre-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 18px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.jhpre-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 37px;
  padding: 7px 13px;
  border: 1px solid #d8e4ec;
  border-radius: 999px;
  background: #ffffff;
  color: var(--jhpre-blue) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 15px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  font-variant-caps: unicase;
  line-height: 1;
  letter-spacing: 0.045em;
  text-transform: none;
  text-decoration: none !important;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.jhpre-nav a:hover,
.jhpre-nav a:focus-visible {
  border-color: var(--jhpre-blue);
  background: var(--jhpre-blue);
  color: #ffffff !important;
  transform: translateY(-1px);
}

.jhpre-master-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  margin: 0 0 24px;
  padding: 16px 18px;
  border: 1px solid #cbded6;
  border-left: 4px solid var(--jhpre-green);
  border-radius: 11px;
  background: linear-gradient(110deg, var(--jhpre-green-soft), #ffffff);
}

.jhpre-master-note__mark {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 50%;
  background: var(--jhpre-green);
  color: #ffffff;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 19px;
  font-weight: 300;
  font-style: italic;
}

.jhpre-master-note strong {
  display: block;
  margin: 0 0 4px;
  color: var(--jhpre-green);
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 19px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  font-variant-caps: unicase;
  line-height: 1.15;
  letter-spacing: 0.035em;
}

.jhpre-master-note p {
  margin: 0 !important;
  color: #536d63 !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
}

.jhpre-foundation {
  display: grid;
  grid-template-columns: minmax(250px, 0.75fr) minmax(0, 1.55fr);
  gap: 24px;
  align-items: center;
  margin: 0 0 14px;
  padding: 19px 20px;
  border: 1px solid var(--jhpre-line);
  border-radius: 13px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
}

.jhpre-foundation h2,
.jhpre-section-heading h2,
.jhpre-footer h2 {
  margin: 0 !important;
  color: var(--jhpre-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-variant-caps: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhpre-foundation h2 {
  font-size: clamp(24px, 2.6vw, 32px) !important;
}

.jhpre-foundation__copy p {
  font-size: 16px !important;
  line-height: 1.48 !important;
}

.jhpre-foundation__copy p:last-child {
  margin-bottom: 0 !important;
}

.jhpre-principles {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 24px;
}

.jhpre-principles article {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--jhpre-line);
  border-top: 3px solid var(--jhpre-blue);
  border-radius: 11px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
  color: var(--jhpre-blue);
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 13px;
  font-weight: 300;
  font-style: italic;
  letter-spacing: 0.1em;
}

.jhpre-principles article:nth-child(2) {
  border-top-color: var(--jhpre-wine);
}

.jhpre-principles article:nth-child(3) {
  border-top-color: var(--jhpre-gold);
}

.jhpre-principles article:nth-child(4) {
  border-top-color: var(--jhpre-green);
}

.jhpre-principles strong {
  display: block;
  margin: 17px 0 0;
  color: var(--jhpre-wine);
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 18.5px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  font-variant-caps: unicase;
  line-height: 1.15;
  letter-spacing: 0.035em;
}

.jhpre-principles p {
  margin: 7px 0 0 !important;
  color: var(--jhpre-text) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 1.42 !important;
  letter-spacing: normal !important;
}

.jhpre-directory {
  margin: 0 0 24px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.jhpre-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.65fr);
  gap: 22px;
  align-items: end;
  margin-bottom: 14px;
  padding: 0 2px 12px;
  border-bottom: 1px solid var(--jhpre-line);
}

.jhpre-section-heading h2 {
  font-size: clamp(25px, 2.8vw, 34px) !important;
}

.jhpre-section-heading > p {
  margin: 0 !important;
  color: var(--jhpre-muted) !important;
  font-size: 16px !important;
  font-style: italic !important;
  line-height: 1.4 !important;
}

.jhpre-policies {
  display: grid;
  gap: 8px;
}

.jhpre-policy-item {
  overflow: hidden;
  border: 1px solid var(--jhpre-line);
  border-radius: 11px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 5px 13px rgba(53, 18, 47, 0.035);
}

.jhpre-policy-item[open] {
  border-color: #cfdde6;
  box-shadow: 0 9px 21px rgba(47, 101, 146, 0.075);
}

.jhpre-policy-item__summary {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 68px;
  padding: 12px 15px;
  cursor: pointer;
  list-style: none;
  background: linear-gradient(90deg, rgba(47, 101, 146, 0.035), rgba(143, 21, 61, 0.018));
}

.jhpre-policy-item__summary::-webkit-details-marker {
  display: none;
}

.jhpre-policy-item__number {
  display: grid;
  width: 37px;
  height: 37px;
  place-items: center;
  border: 1px solid #cbdbe6;
  border-radius: 9px;
  background: var(--jhpre-blue-soft);
  color: var(--jhpre-blue-dark);
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 13px;
  font-weight: 300;
  font-style: italic;
  letter-spacing: 0.07em;
}

.jhpre-policy-item:nth-child(2n) .jhpre-policy-item__number {
  border-color: #e2d5dc;
  background: #fff8fb;
  color: var(--jhpre-wine);
}

.jhpre-policy-item__heading {
  min-width: 0;
}

.jhpre-policy-item__heading strong {
  display: block;
  color: var(--jhpre-wine);
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 19.5px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  font-variant-caps: unicase;
  line-height: 1.16;
  letter-spacing: 0.035em;
}

.jhpre-policy-item__heading small {
  display: block;
  margin-top: 3px;
  color: var(--jhpre-muted);
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 14px;
  font-weight: 400;
  font-style: normal;
  line-height: 1.34;
  letter-spacing: normal;
}

.jhpre-policy-item__action {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--jhpre-blue);
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 14px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  font-variant-caps: unicase;
  line-height: 1;
  letter-spacing: 0.045em;
  text-transform: none;
}

.jhpre-policy-item__action::after {
  content: "+";
  display: grid;
  width: 27px;
  height: 27px;
  place-items: center;
  border: 1px solid #cbd8e1;
  border-radius: 50%;
  background: #ffffff;
  font-family: Georgia, serif;
  font-size: 17px;
  font-style: normal;
  line-height: 1;
}

.jhpre-policy-item[open] .jhpre-policy-item__action::after {
  content: "−";
  border-color: var(--jhpre-blue);
  background: var(--jhpre-blue);
  color: #ffffff;
}

.jhpre-policy-item__content {
  padding: 18px 22px 21px 69px;
  border-top: 1px solid var(--jhpre-line);
  background: #ffffff;
}

.jhpre-policy-item__content h3,
.jhpre-policy-item__content h4 {
  color: var(--jhpre-wine) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-variant-caps: unicase !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
}

.jhpre-policy-item__content h3 {
  margin: 17px 0 7px !important;
  font-size: 21px !important;
  line-height: 1.16 !important;
}

.jhpre-policy-item__content h3:first-child {
  margin-top: 0 !important;
}

.jhpre-policy-item__content h4 {
  margin: 15px 0 6px !important;
  font-size: 18.5px !important;
  line-height: 1.18 !important;
}

.jhpre-policy-item__content p {
  font-size: 16px !important;
  line-height: 1.52 !important;
}

.jhpre-policy-item__content a,
.jhpre-related-links a {
  color: var(--jhpre-blue) !important;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.jhpre-policy-item__content a:hover,
.jhpre-policy-item__content a:focus-visible,
.jhpre-related-links a:hover,
.jhpre-related-links a:focus-visible {
  color: var(--jhpre-wine) !important;
}

.jhpre-definition-grid,
.jhpre-use-grid,
.jhpre-statement-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin: 12px 0 14px;
}

.jhpre-definition-grid article,
.jhpre-use-grid article,
.jhpre-statement {
  min-width: 0;
  padding: 14px 15px;
  border: 1px solid var(--jhpre-line);
  border-left: 3px solid var(--jhpre-blue);
  border-radius: 9px;
  background: linear-gradient(145deg, #ffffff, var(--jhpre-soft));
}

.jhpre-definition-grid article:nth-child(2n),
.jhpre-statement:nth-child(2) {
  border-left-color: var(--jhpre-wine);
}

.jhpre-definition-grid article:nth-child(3) {
  border-left-color: var(--jhpre-gold);
}

.jhpre-definition-grid article:nth-child(4) {
  border-left-color: var(--jhpre-green);
}

.jhpre-use-grid article:first-child {
  border-left-color: var(--jhpre-green);
  background: linear-gradient(145deg, #ffffff, var(--jhpre-green-soft));
}

.jhpre-use-grid article:last-child {
  border-left-color: var(--jhpre-red);
  background: linear-gradient(145deg, #ffffff, #fff6f8);
}

.jhpre-definition-grid strong,
.jhpre-use-grid strong,
.jhpre-statement > strong {
  display: block;
  margin: 0 0 5px;
  color: var(--jhpre-wine);
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 18px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  font-variant-caps: unicase;
  line-height: 1.18;
  letter-spacing: 0.035em;
}

.jhpre-definition-grid p,
.jhpre-use-grid p,
.jhpre-statement p {
  margin: 0 !important;
  font-size: 15px !important;
  line-height: 1.46 !important;
}

.jhpre-statement blockquote {
  margin: 9px 0 0;
  padding: 12px 14px;
  border: 0;
  border-left: 3px solid var(--jhpre-gold);
  background: #fffaf0;
  color: var(--jhpre-text);
  font-size: 15px;
  font-style: italic;
  line-height: 1.48;
}

.jhpre-alert {
  margin: 13px 0 0;
  padding: 13px 15px;
  border: 1px solid #eadfbf;
  border-left: 3px solid var(--jhpre-gold);
  border-radius: 9px;
  background: linear-gradient(110deg, #fffaf0, #ffffff);
  color: #6b572d;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 16px;
  font-style: italic;
  line-height: 1.48;
  text-align: left;
}

.jhpre-related-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px 14px;
  margin-top: 12px !important;
  padding-left: 0 !important;
  list-style: none;
}

.jhpre-related-links li {
  margin: 0 !important;
  padding: 9px 11px;
  border: 1px solid var(--jhpre-line);
  border-radius: 8px;
  background: var(--jhpre-soft);
}

.jhpre-footer {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) auto;
  gap: 24px;
  align-items: center;
  margin: 0;
  padding: 20px 22px;
  border: 1px solid var(--jhpre-line);
  border-left: 4px solid var(--jhpre-wine);
  border-radius: 13px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.08), transparent 38%), linear-gradient(145deg, #ffffff, var(--jhpre-paper));
}

.jhpre-footer h2 {
  font-size: clamp(24px, 2.6vw, 32px) !important;
}

.jhpre-footer p {
  margin: 8px 0 0 !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
}

.jhpre-footer__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 280px;
  padding: 10px 13px;
  border: 1px solid #cadbe7;
  border-radius: 999px;
  background: var(--jhpre-blue-soft);
  color: var(--jhpre-blue-dark);
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 15px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  font-variant-caps: unicase;
  line-height: 1.2;
  letter-spacing: 0.035em;
  text-align: center;
}

@media (max-width: 980px) {
  .jhpre-hero,
  .jhpre-foundation,
  .jhpre-footer {
    grid-template-columns: 1fr;
  }

  .jhpre-hero__facts {
    max-width: 430px;
  }

  .jhpre-principles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhpre-footer__badge {
    justify-self: start;
    max-width: none;
  }
}

@media (max-width: 760px) {
  .jhpre-section-heading {
    grid-template-columns: 1fr;
    gap: 8px;
    align-items: start;
  }

  .jhpre-policy-item__content {
    padding-left: 22px;
  }

  .jhpre-policy-item__action {
    font-size: 0;
  }

  .jhpre-policy-item__action::after {
    font-size: 17px;
  }

  .jhpre-definition-grid,
  .jhpre-use-grid,
  .jhpre-statement-grid,
  .jhpre-related-links {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .jhpre-policy {
    font-size: 16px;
  }

  .jhpre-hero {
    padding: 20px 16px;
    border-radius: 13px;
  }

  .jhpre-hero h2 {
    font-size: 30px !important;
  }

  .jhpre-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhpre-nav a {
    width: 100%;
    text-align: center;
  }

  .jhpre-master-note {
    grid-template-columns: 1fr;
  }

  .jhpre-principles {
    grid-template-columns: 1fr;
  }

  .jhpre-policy-item__summary {
    grid-template-columns: 36px minmax(0, 1fr) auto;
    gap: 9px;
    padding: 11px;
  }

  .jhpre-policy-item__number {
    width: 34px;
    height: 34px;
  }

  .jhpre-policy-item__heading strong {
    font-size: 18px;
  }

  .jhpre-policy-item__heading small {
    font-size: 13px;
  }

  .jhpre-policy-item__content {
    padding: 16px 15px 18px;
  }

  .jhpre-footer {
    padding: 18px 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhpre-policy a,
  .jhpre-nav a {
    transition: none !important;
  }

  .jhpre-nav a:hover {
    transform: none !important;
  }
}

/* ==========================================================================
   @JH-29 — ARTICLE-LICENSE TRANSITION NOTICE
   Owner selectors: .article-details-license transition notice
   Scope status: ARTICLE PAGE / targeted component
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* ==========================================================================
   @JH-29 — 29 — ARTICLE LICENSE TRANSITION NOTICE
   Maintenance anchor: search exactly for @JH-29
   ========================================================================== */

.article-details-license,
.article-details-license *,
.article-details-license *::before,
.article-details-license *::after {
  box-sizing: border-box;
}

.jh-article-license-content {
  width: 100%;
  min-width: 0;
}

.jh-article-license-badge {
  margin: 0 0 8px;
}

.jh-article-license-badge img {
  max-width: 100%;
  height: auto;
}

.jh-article-copyright {
  margin: 9px 0 0;
  color: #51484d;
  font-family: "Perpetua", Georgia, serif;
  font-size: 17px;
  line-height: 1.55;
}

.jh-article-license-link {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  color: #610c3a;
  font-family: "Perpetua", Georgia, serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.45;
  text-decoration: none;
}

.jh-article-license-link:hover,
.jh-article-license-link:focus {
  color: #3f7a64;
  text-decoration: underline;
}

.jh-license-transition {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 13px;
  width: 100%;
  margin: 18px 0 0;
  padding: 16px 17px;
  border: 1px solid #ded2d8;
  border-left: 4px solid #610c3a;
  border-radius: 10px;
  background: #fbf8f6;
  box-shadow: 0 4px 14px rgba(62, 39, 50, 0.05);
}

.jh-license-transition-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1px solid #dac5cf;
  border-radius: 50%;
  background: #ffffff;
  color: #610c3a;
}

.jh-license-transition-icon svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.jh-license-transition-copy {
  min-width: 0;
}

.jh-license-transition-kicker {
  display: block;
  margin: 0 0 3px;
  color: #3f7a64;
  font-family: "Perpetua", Georgia, serif;
  font-size: 13px;
  font-style: italic;
  font-weight: 600;
  letter-spacing: 0.09em;
  line-height: 1.2;
  text-transform: uppercase;
}

.jh-license-transition h3 {
  margin: 0 0 8px;
  color: #4d1732;
  font-family: "Perpetua", Georgia, serif;
  font-size: 20px;
  font-style: italic;
  font-weight: 500;
  line-height: 1.2;
}

.jh-license-transition p {
  margin: 0 0 8px;
  color: #51484d;
  font-family: "Perpetua", Georgia, serif;
  font-size: 16.5px;
  line-height: 1.55;
}

.jh-license-transition p:last-child {
  margin-bottom: 0;
}

.jh-license-transition-note {
  padding-top: 8px;
  border-top: 1px solid #e7dce1;
  color: #6d6267 !important;
  font-size: 15.5px !important;
}

.jh-license-transition a {
  color: #610c3a;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.jh-license-transition a:hover,
.jh-license-transition a:focus {
  color: #3f7a64;
}

@media (max-width: 575.98px) {
  .jh-license-transition {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 15px;
  }

  .jh-license-transition-icon {
    width: 34px;
    height: 34px;
  }

  .jh-license-transition h3 {
    font-size: 19px;
  }

  .jh-license-transition p {
    font-size: 16px;
  }
}

/* ==========================================================================
   @JH-30 — REVENUE AND BUSINESS-MODEL CUSTOM PAGE
   Owner selectors: .jhrev
   Scope status: CUSTOM PAGE / isolated namespace
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* ==========================================================================
   @JH-30 — 30 — CUSTOM PAGE: REVENUE AND BUSINESS MODEL (.jhrev)
   Maintenance anchor: search exactly for @JH-30
   ========================================================================== */

.jhrev,
.jhrev *,
.jhrev *::before,
.jhrev *::after {
  box-sizing: border-box;
}

.jhrev {
  --wine: #610c3a;
  --wine-dark: #35122f;
  --blue: #2f6592;
  --blue-soft: #eef6fb;
  --gold: #d5a23a;
  --cream: #fbf8f5;
  --text: #392f34;
  --muted: #746a70;
  --line: #e2d7dd;
  max-width: 1100px;
  margin: 0 auto;
  color: var(--text);
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  font-size: 18px;
  line-height: 1.55;
}

.jhrev p,
.jhrev li,
.jhrev td,
.jhrev th {
  text-align: left;
}

.jhrev a {
  text-decoration: none;
}

.jhrev a:hover,
.jhrev a:focus {
  color: var(--wine);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.jhrev-kicker {
  display: block;
  margin-bottom: 6px;
  color: var(--blue);
  font-size: 17px;
  font-style: italic;
  font-weight: 300;
  letter-spacing: 0.09em;
  line-height: 1.2;
  font-variant: unicase;
}

.jhrev h2,
.jhrev h3 {
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
}

.jhrev h2 {
  margin: 0;
  color: var(--wine);
  font-size: clamp(28px, 4vw, 43px);
  font-style: italic;
  font-weight: 300;
  letter-spacing: 0.025em;
  line-height: 1.1;
  font-variant: unicase;
}

.jhrev h3 {
  margin: 7px 0 8px;
  color: var(--wine-dark);
  font-size: 23px;
  font-weight: 400;
  line-height: 1.2;
}

.jhrev-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 24px;
  align-items: stretch;
  margin-bottom: 18px;
  padding: 28px 28px 28px 33px;
  background: linear-gradient(135deg, #fff 0%, var(--cream) 100%);
  border: 1px solid var(--line);
  border-radius: 0 16px 16px 0;
  box-shadow: 0 12px 30px rgba(53, 18, 47, 0.09);
  overflow: hidden;
}

.jhrev-hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: linear-gradient(180deg, var(--wine), var(--blue), var(--gold));
}

.jhrev-hero__lead {
  max-width: 760px;
  margin: 12px 0 0;
  font-size: 20px;
  line-height: 1.52;
}

.jhrev-status {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 150px;
  padding: 20px;
  color: #fff;
  background: linear-gradient(145deg, var(--blue), #244c70);
  border-radius: 12px;
  box-shadow: 0 9px 20px rgba(47, 101, 146, 0.2);
}

.jhrev-status__label {
  margin-bottom: 7px;
  font-size: 15px;
  font-style: italic;
  letter-spacing: 0.07em;
}

.jhrev-status strong {
  font-size: 31px;
  font-weight: 400;
  line-height: 1.1;
}

.jhrev-status small {
  margin-top: 9px;
  color: rgba(255, 255, 255, 0.84);
  font-size: 15px;
  line-height: 1.4;
}

.jhrev-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 24px;
}

.jhrev-nav a {
  padding: 7px 13px;
  color: var(--wine);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 16px;
  font-style: italic;
  letter-spacing: 0.025em;
}

.jhrev-nav a:hover,
.jhrev-nav a:focus {
  color: #fff;
  background: var(--wine);
  border-color: var(--wine);
  text-decoration: none;
}

.jhrev-intro,
.jhrev-independence,
.jhrev-governance {
  display: grid;
  grid-template-columns: minmax(220px, 0.72fr) minmax(0, 1.28fr);
  gap: 30px;
  margin: 0 0 24px;
  padding: 25px 27px;
  background: var(--blue-soft);
  border-left: 4px solid var(--blue);
  border-radius: 0 12px 12px 0;
}

.jhrev-intro h2,
.jhrev-independence h2,
.jhrev-governance h2 {
  font-size: 31px;
}

.jhrev-intro p,
.jhrev-independence p,
.jhrev-governance p {
  margin: 0;
}

.jhrev-section {
  margin: 0 0 24px;
  padding: 26px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 8px 22px rgba(53, 18, 47, 0.06);
}

.jhrev-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.85fr);
  gap: 24px;
  align-items: end;
  margin-bottom: 20px;
  padding-bottom: 17px;
  border-bottom: 1px solid var(--line);
}

.jhrev-heading h2 {
  font-size: 34px;
}

.jhrev-heading p {
  margin: 0;
  color: var(--muted);
}

.jhrev-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.jhrev-card {
  position: relative;
  padding: 21px 21px 19px;
  background: linear-gradient(145deg, #fff, var(--cream));
  border: 1px solid var(--line);
  border-top: 3px solid var(--wine);
  border-radius: 11px;
}

.jhrev-card__number {
  position: absolute;
  top: 13px;
  right: 15px;
  color: #c7b9c1;
  font-size: 24px;
  font-style: italic;
}

.jhrev-card__label {
  display: block;
  padding-right: 48px;
  color: var(--blue);
  font-size: 15px;
  font-style: italic;
  letter-spacing: 0.06em;
}

.jhrev-card p {
  margin: 0 0 12px;
}

.jhrev-card a {
  font-weight: 700;
}

.jhrev-note {
  display: flex;
  gap: 12px;
  margin: 15px 0 0;
  padding: 14px 16px;
  background: #fff8e9;
  border: 1px solid #eadfbf;
  border-radius: 10px;
}

.jhrev-note > span {
  display: inline-flex;
  flex: 0 0 27px;
  align-items: center;
  justify-content: center;
  width: 27px;
  height: 27px;
  color: #fff;
  background: var(--gold);
  border-radius: 50%;
  font-style: italic;
}

.jhrev-note p {
  margin: 0;
}

.jhrev-exclusions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.jhrev-exclusions article,
.jhrev-principles article {
  display: flex;
  gap: 13px;
  padding: 16px;
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: 10px;
}

.jhrev-exclusions article > span,
.jhrev-principles article > :first-child {
  color: var(--blue);
  font-size: 19px;
  font-style: italic;
}

.jhrev-exclusions strong,
.jhrev-principles strong {
  display: block;
  color: var(--wine-dark);
  font-size: 19px;
}

.jhrev-exclusions p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 16px;
}

.jhrev-independence {
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  background: linear-gradient(135deg, #fff7fb, #f3f8fc);
  border-left-color: var(--wine);
}

.jhrev-principles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.jhrev-principles article {
  background: #fff;
}

.jhrev-principles small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.35;
}

.jhrev-waiver {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
  padding: 20px;
  background: var(--blue-soft);
  border: 1px solid #cadbe7;
  border-radius: 11px;
}

.jhrev-waiver p {
  margin: 4px 0 0;
}

.jhrev-waiver a,
.jhrev-button {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 43px;
  padding: 10px 15px;
  border-radius: 8px;
  font-family: "Perpetua", Georgia, serif;
  font-size: 17px;
  font-style: italic;
  font-weight: 400;
}

.jhrev-waiver a {
  color: #fff;
  background: var(--wine);
  border: 1px solid var(--wine);
}

.jhrev-waiver a:hover {
  color: #fff;
  background: var(--wine-dark);
  text-decoration: none;
}

.jhrev-table-wrap {
  overflow-x: auto;
}

.jhrev-table {
  width: 100%;
  border-collapse: collapse;
}

.jhrev-table th,
.jhrev-table td {
  padding: 12px 13px;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
}

.jhrev-table th {
  color: #fff;
  background: var(--wine);
  font-weight: 400;
}

.jhrev-table tbody tr:nth-child(even) {
  background: var(--cream);
}

.jhrev-governance {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-left: 4px solid var(--gold);
}

.jhrev-governance p + p {
  margin-top: 10px;
}

.jhrev-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.jhrev-button--primary {
  color: #fff;
  background: var(--wine);
  border: 1px solid var(--wine);
}

.jhrev-button--secondary {
  color: var(--wine);
  background: #fff;
  border: 1px solid var(--wine);
}

.jhrev-button:hover,
.jhrev-button:focus {
  color: #fff;
  background: var(--wine-dark);
  border-color: var(--wine-dark);
  text-decoration: none;
  transform: translateY(-1px);
}

@media (max-width: 800px) {
  .jhrev-hero,
  .jhrev-intro,
  .jhrev-independence,
  .jhrev-governance,
  .jhrev-heading {
    grid-template-columns: 1fr;
  }

  .jhrev-grid,
  .jhrev-exclusions,
  .jhrev-principles {
    grid-template-columns: 1fr;
  }

  .jhrev-status {
    min-height: 0;
  }

  .jhrev-waiver {
    align-items: flex-start;
    flex-direction: column;
  }

  .jhrev-actions {
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
  }
}

@media (max-width: 520px) {
  .jhrev {
    font-size: 17px;
  }

  .jhrev-hero,
  .jhrev-section,
  .jhrev-intro,
  .jhrev-independence,
  .jhrev-governance {
    padding: 20px;
  }

  .jhrev h2 {
    font-size: 29px;
  }

  .jhrev-hero__lead {
    font-size: 18px;
  }

  .jhrev-actions,
  .jhrev-actions a,
  .jhrev-waiver a {
    width: 100%;
  }
}

/* ==========================================================================
   @JH-31A — FINAL IMPACT-PAGE TARGETED OVERRIDES
   Owner selectors: .jhytel-impact-*
   Scope status: FINAL OVERRIDE / intentional cascade owner
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* ==========================================================================
   @JH-31 — 31 — FINAL TARGETED OVERRIDES: IMPACT PAGE AND REVIEWERS
   Maintenance anchor: search exactly for @JH-31
   ========================================================================== */

.jhytel-impact-card,
.jhytel-impact-card *,
.jhytel-impact-modal,
.jhytel-impact-modal *,
.jhytel-impact-card *::before,
.jhytel-impact-card *::after,
.jhytel-impact-modal *::before,
.jhytel-impact-modal *::after {
  box-sizing: border-box;
}

.jhytel-impact-card {
  gap: 22px;
  padding: 20px 22px;
}

.jhytel-impact-metrics {
  gap: 10px;
}

.jhytel-impact-metric {
  display: flex;
  min-width: 0;
  min-height: 72px;
  padding: 11px 10px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: #5f535a;
  background: #fbf8fa;
  border: 1px solid #eadde6;
  border-radius: 10px;
  font-size: 15px;
  line-height: 1.22;
  text-align: center;
}

.jhytel-impact-metric strong {
  margin: 0;
  color: #610c3a;
  font-size: 20px;
  line-height: 1;
}

.jhytel-impact-modal {
  padding: 22px;
}

.jhytel-impact-window {
  display: flex;
  width: min(1040px, 100%);
  max-width: 1040px;
  max-height: calc(100vh - 44px);
  flex-direction: column;
  border-radius: 18px;
  overflow: hidden;
}

.jhytel-impact-window-header {
  flex: 0 0 auto;
  padding: 18px 22px 15px;
}

.jhytel-impact-window-header h2 {
  font-size: 23px;
}

.jhytel-impact-window-header p {
  max-width: 720px;
  font-size: 15px;
  line-height: 1.45;
}

.jhytel-impact-window-content {
  display: grid;
  flex: 1 1 auto;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  align-items: start;
  gap: 18px;
  min-height: 0;
  padding: 20px 22px 22px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

.jhytel-impact-window-content > .jhytel-impact-source[data-impact-source="google-scholar"] {
  grid-column: 1;
}

.jhytel-impact-window-content > .jhytel-impact-source[data-impact-source="scopus"] {
  grid-column: 2;
}

.jhytel-impact-window-content > .jhytel-impact-source:not([data-impact-source]) {
  grid-column: 1 / -1;
}

.jhytel-impact-source {
  min-width: 0;
  margin: 0;
  padding: 18px;
  background: #fcfafb;
  border: 1px solid #e7dbe3;
  border-radius: 14px;
  box-shadow: 0 5px 14px rgba(53, 18, 47, 0.045);
}

.jhytel-impact-source-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin: 0 0 15px;
  padding: 0 0 13px;
  border-bottom: 1px solid #eee4ea;
  font-size: 16px;
  line-height: 1.25;
}

.jhytel-impact-source-header > div:first-child {
  min-width: 0;
  color: #82747c;
}

.jhytel-impact-source-header h3 {
  margin: 4px 0 0;
  color: #35122f;
  font-size: 22px;
  line-height: 1.15;
}

.jhytel-impact-source-header > a,
.jhytel-impact-source-links {
  flex: 0 1 auto;
}

.jhytel-impact-source-links {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 7px 12px;
  min-width: 0;
}

.jhytel-impact-source-header a,
.jhytel-impact-status {
  font-size: 14px !important;
  line-height: 1.3;
}

.jhytel-impact-status {
  display: inline-flex !important;
  align-items: center;
  min-height: 29px;
  padding: 5px 9px;
  color: #6f174b !important;
  background: #f7edf3;
  border: 1px solid #e6d4df;
  border-radius: 999px;
  letter-spacing: 0.02em !important;
  white-space: nowrap;
}

.jhytel-impact-source-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.jhytel-impact-source:first-child .jhytel-impact-source-metrics,
.jhytel-impact-source[data-impact-source="google-scholar"] .jhytel-impact-source-metrics,
.jhytel-impact-source[data-impact-source="scopus"] .jhytel-impact-source-metrics {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jhytel-impact-source:not([data-impact-source]) .jhytel-impact-source-metrics {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.jhytel-impact-source-metrics > div {
  display: flex;
  min-width: 0;
  min-height: 86px;
  padding: 12px 9px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: #463b41;
  background: #ffffff;
  border: 1px solid #e9dfe5;
  border-radius: 10px;
  box-shadow: 0 2px 7px rgba(53, 18, 47, 0.035);
  font-size: 16px;
  line-height: 1.25;
  text-align: center;
  overflow-wrap: anywhere;
}

.jhytel-impact-source-metrics strong {
  margin: 0;
  color: #610c3a;
  font-size: 19px;
  line-height: 1;
}

.jhytel-impact-data-note {
  margin: 15px 0 0 !important;
  padding: 12px 14px;
  color: #665a61 !important;
  background: #ffffff;
  border: 1px solid #eee3e9;
  border-radius: 9px;
  font-size: 15px !important;
  line-height: 1.5 !important;
  text-align: left !important;
}

.jhytel-impact-disclaimer {
  margin-top: 15px;
  padding: 13px 14px;
  background: linear-gradient(90deg, #faf2f7 0%, #ffffff 100%);
  border: 1px solid #eadde5;
  border-left: 4px solid #851758;
  border-radius: 0 10px 10px 0;
}

.jhytel-impact-disclaimer strong {
  display: block;
  margin: 0 0 5px;
  color: #6f174b;
  font-size: 16px;
  line-height: 1.25;
}

.jhytel-impact-disclaimer p {
  margin: 0 !important;
  color: #574c52 !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  text-align: left !important;
}

.jhytel-quartile-accordion {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 14px;
  min-width: 0;
}

.jhytel-quartile-details {
  min-width: 0;
  margin: 0;
  padding: 0;
  background: #ffffff;
  border: 1px solid #e5d9e1;
  border-radius: 11px;
  overflow: hidden;
}

.jhytel-quartile-details[open] {
  grid-column: 1 / -1;
}

.jhytel-quartile-details summary {
  min-height: 70px;
  margin: 0;
  padding: 13px 14px;
  gap: 12px;
  color: inherit;
  background: #ffffff;
}

.jhytel-quartile-details summary:hover {
  color: inherit;
  background: #fcf8fa;
}

.jhytel-quartile-badge {
  flex: 0 0 auto;
  width: auto;
  min-width: 46px;
  height: 36px;
  padding: 0 8px;
  border-radius: 8px;
  font-size: 12px;
  line-height: 1;
}

.jhytel-quartile-summary-text strong {
  color: #35122f;
  font-size: 17px;
  line-height: 1.22;
}

.jhytel-quartile-summary-text small {
  margin-top: 4px;
  color: #7f7279;
  font-size: 15px;
  line-height: 1.3;
}

.jhytel-quartile-content {
  padding: 5px 16px 16px;
  border-top: 1px solid #eee5eb;
}

.jhytel-quartile-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 26px;
  margin: 8px 0 0;
  padding-left: 28px;
}

.jhytel-quartile-list li {
  min-width: 0;
  padding: 10px 0;
  color: #756970;
  border-bottom: 1px dashed #eee4ea;
  font-size: 14px;
  line-height: 1.38;
}

.jhytel-quartile-list li > strong,
.jhytel-quartile-list li > a {
  display: block;
  color: #4d253e;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
}

.jhytel-quartile-list li > small {
  display: block;
  margin-top: 4px;
  color: #91848c;
  font-size: 14px;
  line-height: 1.3;
}

.jhytel-impact-note {
  grid-column: 1 / -1;
  margin: 0;
  padding: 13px 15px;
}

.jhytel-impact-note strong {
  font-size: 17px !important;
}

.jhytel-impact-note p {
  margin: 5px 0 0 !important;
  color: #645860 !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  text-align: left !important;
}

.jhytel-impact-window-footer {
  flex: 0 0 auto;
  padding: 13px 22px;
}

.jhytel-impact-done {
  min-height: 38px;
  padding: 8px 18px;
  border-radius: 8px;
}

@media (max-width: 900px) {
  .jhytel-impact-window {
    max-height: calc(100vh - 24px);
  }

  .jhytel-impact-window-content {
    grid-template-columns: 1fr;
    gap: 15px;
    padding: 17px;
  }

  .jhytel-impact-window-content > .jhytel-impact-source[data-impact-source],
  .jhytel-impact-window-content > .jhytel-impact-source:not([data-impact-source]) {
    grid-column: 1;
  }

  .jhytel-impact-source:not([data-impact-source]) .jhytel-impact-source-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .jhytel-quartile-accordion {
    grid-template-columns: 1fr;
  }

  .jhytel-quartile-details[open] {
    grid-column: 1;
  }
}

@media (max-width: 650px) {
  .jhytel-impact-modal {
    align-items: flex-start;
    padding: 8px;
    overflow-y: auto;
  }

  .jhytel-impact-window {
    width: 100%;
    max-height: none;
    margin: 0 auto;
    border-radius: 14px;
  }

  .jhytel-impact-window-header,
  .jhytel-impact-window-content,
  .jhytel-impact-window-footer {
    padding-right: 14px;
    padding-left: 14px;
  }

  .jhytel-impact-window-content {
    overflow: visible;
  }

  .jhytel-impact-source {
    padding: 14px;
  }

  .jhytel-impact-source-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .jhytel-impact-source-links {
    justify-content: flex-start;
  }

  .jhytel-impact-source[data-impact-source="google-scholar"] .jhytel-impact-source-metrics,
  .jhytel-impact-source[data-impact-source="scopus"] .jhytel-impact-source-metrics,
  .jhytel-impact-source:not([data-impact-source]) .jhytel-impact-source-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhytel-impact-source-metrics > div {
    min-height: 80px;
    font-size: 15px;
  }

  .jhytel-quartile-list {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .jhytel-impact-window-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .jhytel-impact-window-footer > div {
    justify-content: center;
  }

  .jhytel-impact-done {
    width: 100%;
    text-align: center;
  }
}

@media (max-width: 420px) {
  .jhytel-impact-card {
    padding: 16px;
  }

  .jhytel-impact-metrics,
  .jhytel-impact-source[data-impact-source="google-scholar"] .jhytel-impact-source-metrics,
  .jhytel-impact-source[data-impact-source="scopus"] .jhytel-impact-source-metrics,
  .jhytel-impact-source:not([data-impact-source]) .jhytel-impact-source-metrics {
    grid-template-columns: 1fr 1fr;
  }

  .jhytel-impact-window-header h2 {
    font-size: 21px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhytel-impact-modal,
  .jhytel-impact-window,
  .jhytel-impact-button,
  .jhytel-quartile-details,
  .jhytel-quartile-arrow {
    transition: none;
  }
}

/* ==========================================================================
   @JH-31B — REVIEWER ROSTER CARDS
   Owner selectors: .jhrv-*
   Scope status: REVIEWERS PAGE / isolated component
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

.jhrv-section,
.jhrv-section *,
.jhrv-section *::before,
.jhrv-section *::after {
  box-sizing: border-box;
}

.jhrv-section {
  --jhrv-wine: #65113f;
  --jhrv-wine-deep: #3d0b2a;
  --jhrv-blue: #345f9b;
  --jhrv-blue-soft: #eef4fb;
  --jhrv-ink: #241d22;
  --jhrv-muted: #756970;
  --jhrv-line: #e4d9df;
  --jhrv-paper: #ffffff;
  --jhrv-paper-soft: #fbf8fa;
  --jhrv-shadow: 0 16px 40px rgba(58, 28, 45, 0.08);
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  color: var(--jhrv-ink);
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
}

.jhrv-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 30px;
  min-height: 270px;
  margin: 0 0 22px;
  padding: clamp(34px, 6vw, 62px) clamp(28px, 6vw, 66px);
  overflow: hidden;
  border: 1px solid #ece4e8;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(101, 17, 63, 0.018), rgba(52, 95, 155, 0.022)), var(--jhrv-paper);
  box-shadow: var(--jhrv-shadow);
}

.jhrv-hero::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  background: linear-gradient(180deg, var(--jhrv-wine) 0%, #5a2b68 52%, var(--jhrv-blue) 100%);
}

.jhrv-hero::after {
  content: "";
  position: absolute;
  top: -110px;
  right: -70px;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(52, 95, 155, 0.08), transparent 68%);
  pointer-events: none;
}

.jhrv-hero__content {
  position: relative;
  z-index: 1;
  max-width: 760px;
  min-width: 0;
}

.jhrv-kicker {
  display: block;
  margin: 0 0 13px;
  color: var(--jhrv-blue);
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  font-size: 14px;
  font-style: italic;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.12em;
  text-transform: none;
}

.jhrv-hero h2 {
  margin: 0;
  max-width: 850px;
  margin: 0 !important;
  color: var(--jhpre-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: clamp(30px, 3.6vw, 45px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-variant-caps: unicase !important;
  line-height: 1.1 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhrv-hero p {
  max-width: 690px;
  margin: 22px 0 0;
  color: var(--jhrv-muted);
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.62;
  text-align: left;
}

.jhrv-count {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-end;
  min-width: 112px;
  padding: 0 0 4px;
  color: var(--jhrv-wine);
  text-align: right;
}

.jhrv-count strong {
  display: block;
  font-family: "Perpetua", Georgia, serif;
  font-size: 46px;
  font-style: italic;
  font-weight: 400;
  line-height: 0.9;
}

.jhrv-count span {
  display: block;
  margin-top: 7px;
  color: var(--jhrv-muted);
  font-size: 14px;
  font-style: italic;
  line-height: 1.2;
  letter-spacing: 0.08em;
}

.jhrv-notice {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  margin: 0 0 22px;
  padding: 15px 17px;
  border: 1px solid #dce5ef;
  border-radius: 11px;
  background: var(--jhrv-blue-soft);
}

.jhrv-notice__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 27px;
  height: 27px;
  color: var(--jhrv-blue);
  border: 1px solid rgba(52, 95, 155, 0.28);
  border-radius: 50%;
  background: #ffffff;
  font-family: Georgia, serif;
  font-size: 13px;
  font-style: italic;
  font-weight: 700;
  line-height: 1;
}

.jhrv-notice p {
  margin: 1px 0 0;
  color: #536170;
  font-family: "Perpetua", Georgia, serif;
  font-size: 15px;
  line-height: 1.48;
  text-align: left;
}

.jhrv-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.jhrv-card {
  position: relative;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  grid-template-areas:
    "number member"
    "number profiles";
  align-content: start;
  gap: 11px 16px;
  min-width: 0;
  min-height: 174px;
  margin: 0;
  padding: 21px 21px 19px;
  overflow: hidden;
  border: 1px solid var(--jhrv-line);
  border-radius: 13px;
  background: linear-gradient(145deg, rgba(101, 17, 63, 0.018), transparent 48%), var(--jhrv-paper);
  box-shadow: 0 7px 22px rgba(56, 28, 44, 0.045);
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease;
}

.jhrv-card::before {
  content: "";
  position: absolute;
  top: 20px;
  bottom: 20px;
  left: 0;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: linear-gradient(180deg, var(--jhrv-wine), var(--jhrv-blue));
  opacity: 0.74;
}

.jhrv-card:hover {
  transform: translateY(-2px);
  border-color: #d7c7d0;
  box-shadow: 0 13px 30px rgba(56, 28, 44, 0.085);
}

.jhrv-card__number {
  grid-area: number;
  align-self: start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  color: var(--jhrv-wine);
  border: 1px solid #e0d3da;
  border-radius: 50%;
  background: var(--jhrv-paper-soft);
  font-family: "Perpetua", Georgia, serif;
  font-size: 15px;
  font-style: italic;
  line-height: 1;
}

.jhrv-member {
  grid-area: member;
  min-width: 0;
}

.jhrv-member h3 {
  margin: 0;
  color: var(--jhrv-ink);
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-style: italic;
  font-weight: 400;
  line-height: 1.16;
  letter-spacing: 0.025em;
  text-transform: none;
}

.jhrv-member p {
  margin: 7px 0 0;
  color: var(--jhrv-muted);
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  font-size: 15.5px;
  line-height: 1.42;
  text-align: left;
}

.jhrv-profiles {
  grid-area: profiles;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  min-width: 0;
  margin-top: auto;
}

.jhrv-profile {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 31px;
  padding: 5px 9px;
  color: #4e4350;
  border: 1px solid #ded4da;
  border-radius: 999px;
  background: #ffffff;
  font-family: "Perpetua", Georgia, serif;
  font-size: 13.5px;
  font-style: italic;
  line-height: 1.1;
  text-decoration: none;
  transition:
    transform 160ms ease,
    color 160ms ease,
    border-color 160ms ease,
    background-color 160ms ease;
}

.jhrv-profile > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 5px;
  border-radius: 999px;
  font-family: Arial, sans-serif;
  font-size: 9px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.01em;
}

.jhrv-profile--scholar > span {
  color: #ffffff;
  background: #3569a8;
}

.jhrv-profile--scopus > span {
  color: #ffffff;
  background: #e87521;
}

.jhrv-profile--orcid > span {
  color: #ffffff;
  background: #7cae2a;
}

.jhrv-profile:hover {
  transform: translateY(-1px);
  color: var(--jhrv-wine);
  border-color: #cdb8c4;
  background: #fffafd;
  text-decoration: none;
}

.jhrv-profile:focus-visible {
  outline: 3px solid rgba(52, 95, 155, 0.24);
  outline-offset: 2px;
}

@media (max-width: 900px) {
  .jhrv-hero {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    min-height: 0;
  }

  .jhrv-count {
    align-items: flex-start;
    text-align: left;
  }

  .jhrv-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .jhrv-hero {
    gap: 24px;
    padding: 32px 24px 34px;
    border-radius: 14px;
  }

  .jhrv-hero h2 {
    font-size: 43px;
    line-height: 1.06;
    letter-spacing: 0.045em;
  }

  .jhrv-hero p {
    margin-top: 17px;
    font-size: 17px;
  }

  .jhrv-count {
    flex-direction: row;
    align-items: baseline;
    gap: 9px;
  }

  .jhrv-count strong {
    font-size: 38px;
  }

  .jhrv-count span {
    margin-top: 0;
  }

  .jhrv-notice {
    grid-template-columns: 27px minmax(0, 1fr);
    padding: 13px;
  }

  .jhrv-card {
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 10px 12px;
    min-height: 0;
    padding: 18px 16px 17px;
  }

  .jhrv-card__number {
    width: 36px;
    height: 36px;
    font-size: 13px;
  }

  .jhrv-member h3 {
    font-size: 22px;
  }

  .jhrv-member p {
    font-size: 15px;
  }

  .jhrv-profile {
    font-size: 13px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhrv-card,
  .jhrv-profile {
    transition: none;
  }
}

/* ==========================================================================
   @JH-31C — COUNTRY AND REGION LIST
   Owner selectors: ul.jh-country-regions
   Scope status: REVIEWERS PAGE / isolated component
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

ul.jh-country-regions {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

ul.jh-country-regions > li {
  position: relative !important;
  margin: 0 !important;
  padding: 10px 8px 10px 48px !important;
  min-height: 0 !important;
  height: auto !important;
  font-size: inherit !important;
  line-height: 1.55 !important;
  border-top: 1px solid rgba(92, 45, 61, 0.14) !important;
}

ul.jh-country-regions > li:last-child {
  margin-bottom: 0 !important;
}

ul.jh-country-regions > li::before {
  content: "" !important;
  position: absolute !important;
  top: 17px !important;
  left: 19px !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: #9b0755 !important;
  box-shadow: 0 0 0 5px rgba(155, 7, 85, 0.09) !important;
}

ul.jh-country-regions .jh-country {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
}

ul.jh-country-regions .jh-country img {
  display: inline-block !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  flex: 0 0 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  border: 1px solid rgba(0, 0, 0, 0.13) !important;
  border-radius: 50% !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
}

ul.jh-country-regions > li > strong {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: inherit !important;
}
/* OPTIONAL HYBRID CHECKER TEASER */
.jhhc-teaser,
.jhhc-teaser * {
  box-sizing: border-box;
}

.jhhc-teaser {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 13px;
  align-items: center;
  margin: 18px 0;
  padding: 14px 16px;
  border: 1px solid #e8dde2;
  border-left: 4px solid #610c3a;
  border-radius: 13px;
  background: #fffafb;
  color: #30262b;
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
}

.jhhc-teaser__icon {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 1px solid #dfccd5;
  border-radius: 50%;
  background: #fff;
  color: #610c3a;
}

.jhhc-teaser__icon svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.jhhc-teaser > div:nth-child(2) > span {
  display: block;
  color: #aa7890;
  font-size: 12px;
  font-style: italic;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.jhhc-teaser h2 {
  margin: 2px 0 0 !important;
  color: #35122f !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 21px !important;
  font-style: italic !important;
  font-weight: 400 !important;
}

.jhhc-teaser p {
  margin: 4px 0 0 !important;
  color: #786a71 !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
}

.jhhc-teaser > a {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  min-height: 39px;
  padding: 8px 13px;
  border: 1px solid #610c3a;
  border-radius: 999px;
  background: #610c3a;
  color: #fff !important;
  font-size: 16px;
  font-style: italic;
  line-height: 1.1;
  text-decoration: none !important;
  white-space: nowrap;
}

.jhhc-teaser > a:hover,
.jhhc-teaser > a:focus-visible {
  background: #8d0d54;
}

@media (max-width: 650px) {
  .jhhc-teaser {
    grid-template-columns: 40px minmax(0, 1fr);
  }

  .jhhc-teaser > a {
    grid-column: 1 / -1;
    justify-self: start;
  }
}

/* ==========================================================================
   @JH-02F — HOMEPAGE CTA HARMONISATION + DOCKED CFP ALIGNMENT
   Owner selectors: current-issue link; issue/article galleys; author geography;
                    impact actions; author-resource actions; article OA badge;
                    editorial welcome heading; docked CFP alignment
   Scope status: HOMEPAGE / isolated final overrides
   Editing rule: visual language only; existing component height and padding are
                 retained unless a spacing adjustment is explicitly documented.
   ========================================================================== */

/* [NEW 2026-07-26 | @JH-02F | Shared visual language based on the existing
   “View Full Peer Review Process →” navigation control.] */
.homepage-issue-galleys a,
.article-summary-galleys a,
.jhytel-geo-button,
.jhytel-impact-button,
.jhsuite-author-section .jhsuite-btn {
  color: #790746 !important;
  background: #fff6fc !important;
  border-color: #ead8e4 !important;
  border-style: solid !important;
  border-width: 1px !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-weight: 300 !important;
  letter-spacing: 0.045em !important;
  text-decoration: none !important;
  transition:
    color 0.18s ease,
    background-color 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease !important;
}

.homepage-issue-galleys a:hover,
.homepage-issue-galleys a:focus-visible,
.article-summary-galleys a:hover,
.article-summary-galleys a:focus-visible,
.jhytel-geo-button:hover,
.jhytel-geo-button:focus-visible,
.jhytel-impact-button:hover,
.jhytel-impact-button:focus-visible,
.jhsuite-author-section .jhsuite-btn:hover,
.jhsuite-author-section .jhsuite-btn:focus-visible {
  color: #ffffff !important;
  background: #790746 !important;
  border-color: #790746 !important;
  box-shadow: 0 7px 15px rgba(81, 2, 46, 0.15) !important;
  outline: none;
  text-decoration: none !important;
  transform: translateY(-2px);
}

.homepage-issue-galleys a:focus-visible,
.article-summary-galleys a:focus-visible,
.jhytel-geo-button:focus-visible,
.jhytel-impact-button:focus-visible,
.jhsuite-author-section .jhsuite-btn:focus-visible {
  outline: 3px solid rgba(121, 7, 70, 0.17) !important;
  outline-offset: 3px;
}

/* [TUNE 2026-07-27 | @JH-02F | Keep the existing quiet pill style while giving PDF download controls a distinct editorial blue.] */
.homepage-issue-galleys a,
.article-summary-galleys a {
  color: #2d46a5 !important;
  background: #f2f5ff !important;
  border-color: #c7d2f3 !important;
}

.homepage-issue-galleys a:hover,
.homepage-issue-galleys a:focus-visible,
.article-summary-galleys a:hover,
.article-summary-galleys a:focus-visible {
  color: #ffffff !important;
  background: #2d46a5 !important;
  border-color: #2d46a5 !important;
  box-shadow: 0 7px 15px rgba(45, 70, 165, 0.18) !important;
}

.homepage-issue-galleys a:focus-visible,
.article-summary-galleys a:focus-visible {
  outline: 3px solid rgba(45, 70, 165, 0.18) !important;
  outline-offset: 3px;
}

/* PDF controls retain their original dimensions; only the CTA visual language
   and directional download mark are harmonised. */
.homepage-issue-galleys a::after,
.article-summary-galleys a::after {
  display: inline-block;
  margin-left: 8px;
  content: "↓";
  font-family: Arial, sans-serif;
  font-style: normal;
  line-height: 1;
  transition: transform 0.18s ease;
}

.homepage-issue-galleys a:hover::after,
.homepage-issue-galleys a:focus-visible::after,
.article-summary-galleys a:hover::after,
.article-summary-galleys a:focus-visible::after {
  transform: translateY(2px);
}

/* [TUNE 2026-07-27 | @JH-02F | Open Access remains a non-interactive status pill, now using a restrained orange palette.] */
.article-summary-open-access {
  color: #874900 !important;
  background: #fff0d6 !important;
  border: 1px solid #efb85f !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-weight: 300 !important;
  letter-spacing: 0.035em !important;
}

/* Editor’s Welcome becomes a real link to the OJS Editorial Team page while
   retaining its place in the existing three-column welcome layout. */
.jhed2-welcome__heading-link {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  min-width: 0;
  padding: 8px 42px 8px 16px !important;
  color: #790746 !important;
  background: #fff6fc !important;
  border: 1px solid #ead8e4 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  text-decoration: none !important;
  transition:
    color 0.18s ease,
    background-color 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease !important;
}

.jhed2-welcome__heading-link::before {
  display: none !important;
}

.jhed2-welcome__heading-link .jhed2-welcome__kicker,
.jhed2-welcome__heading-link .jhed2-welcome__title {
  color: #790746 !important;
  transition: color 0.18s ease;
}

.jhed2-welcome__heading-arrow {
  position: absolute;
  top: 50%;
  right: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: Arial, sans-serif;
  font-size: 18px;
  font-style: normal;
  line-height: 1;
  transform: translateY(-50%);
  transition: transform 0.18s ease;
}

.jhed2-welcome__heading-link:hover,
.jhed2-welcome__heading-link:focus-visible {
  color: #ffffff !important;
  background: #790746 !important;
  border-color: #790746 !important;
  box-shadow: 0 7px 15px rgba(81, 2, 46, 0.15) !important;
  outline: none;
  text-decoration: none !important;
  transform: translateY(-2px);
}

.jhed2-welcome__heading-link:hover .jhed2-welcome__kicker,
.jhed2-welcome__heading-link:hover .jhed2-welcome__title,
.jhed2-welcome__heading-link:focus-visible .jhed2-welcome__kicker,
.jhed2-welcome__heading-link:focus-visible .jhed2-welcome__title {
  color: #ffffff !important;
}

.jhed2-welcome__heading-link:hover .jhed2-welcome__heading-arrow,
.jhed2-welcome__heading-link:focus-visible .jhed2-welcome__heading-arrow {
  transform: translate(3px, -50%);
}

.jhed2-welcome__heading-link:focus-visible {
  outline: 3px solid rgba(121, 7, 70, 0.17) !important;
  outline-offset: 3px;
}

/* [TUNE 2026-07-27 | @JH-02F | Left-align only the docked CFP eyebrow, title, and introduction; preserve the card below unchanged.] */
.jhsuite-cfp-section--docked .jhcfp-heading,
.jhsuite-cfp-section--docked .jhcfp-heading__title {
  justify-items: start !important;
  text-align: left !important;
}

.jhsuite-cfp-section--docked .jhcfp-heading__intro {
  margin-right: 0 !important;
  margin-left: 0 !important;
  text-align: left !important;
}

.jhsuite-cfp-section--docked .jhcfp-feature__topline {
  align-items: center !important;
  justify-content: center !important;
  width: 100%;
  margin-bottom: 20px !important;
  text-align: center !important;
}

.jhsuite-cfp-section--docked .jhcfp-feature__label {
  width: 100%;
  text-align: center !important;
  white-space: normal !important;
}

.jhsuite-cfp-section--docked .jhcfp-actions {
  justify-items: stretch !important;
}

.jhsuite-cfp-section--docked .jhcfp-button {
  position: relative;
  justify-content: center !important;
  text-align: center !important;
}

.jhsuite-cfp-section--docked .jhcfp-button__arrow {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
}

.jhsuite-cfp-section--docked .jhcfp-button:hover .jhcfp-button__arrow,
.jhsuite-cfp-section--docked .jhcfp-button:focus-visible .jhcfp-button__arrow {
  transform: translate(3px, -50%);
}

@media (max-width: 575.98px) {
  .jhed2-welcome__heading-link {
    justify-self: start;
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .homepage-issue-galleys a,
  .homepage-issue-galleys a::after,
  .article-summary-galleys a,
  .article-summary-galleys a::after,
  .jhytel-geo-button,
  .jhytel-impact-button,
  .jhsuite-author-section .jhsuite-btn,
  .jhytel-journal-link--current::after,
  .jhed2-welcome__heading-link,
  .jhed2-welcome__heading-arrow,
  .jhsuite-cfp-section--docked .jhcfp-button__arrow {
    transition: none !important;
  }
}

/* ==========================================================================
   @JH-02G — HOMEPAGE THEME RHYTHM REFINEMENT (v20)
   Owner selectors: publication-policy CTA; geo/impact cards and metrics;
                    announcement badge and read-update CTA
   Scope status: HOMEPAGE / isolated final override
   Editing rule: no layout dimensions or component order are changed here.
   ========================================================================== */

/* [TUNE 2026-07-26 | @JH-02G | Replace the removed publication-policy
   control with a centred, readable publication-date status pill.] */
.jhhi-publication-state .jhhi-date-copy {
  color: #790746 !important;
  background: #fff6fc !important;
  border-color: #ead8e4 !important;
  box-shadow: 0 5px 13px rgba(81, 2, 46, 0.11) !important;
  text-shadow: none !important;
}

.jhhi-publication-state .jhhi-date-copy:hover {
  color: #ffffff !important;
  background: #790746 !important;
  border-color: #790746 !important;
  box-shadow: 0 7px 15px rgba(81, 2, 46, 0.18) !important;
}

/* [TUNE 2026-07-26 | @JH-02G | Use one restrained burgundy edge treatment
   for Global Authorship and Journal Performance containers.] */
.jhytel-geo-card,
.jhytel-impact-card {
  background: radial-gradient(circle at top right, rgba(121, 7, 70, 0.055), transparent 42%), linear-gradient(145deg, #ffffff 0%, #fffafd 100%) !important;
  border-color: #ead8e4 !important;
  border-left-color: #790746 !important;
  box-shadow:
    0 8px 20px rgba(81, 2, 46, 0.075),
    inset 0 1px 0 rgba(255, 255, 255, 0.85) !important;
}

.jhytel-geo-card:hover,
.jhytel-geo-card:focus-within,
.jhytel-impact-card:hover,
.jhytel-impact-card:focus-within {
  border-color: #d7b7c8 !important;
  border-left-color: #790746 !important;
  box-shadow:
    0 12px 26px rgba(81, 2, 46, 0.11),
    inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}

/* [TUNE 2026-07-26 | @JH-02G | Harmonise the numerical metric tiles without
   changing their grid, minimum height, padding, or content.] */
.jhytel-geo-stat,
.jhytel-impact-metric {
  position: relative;
  overflow: hidden;
  color: #5f4653 !important;
  background: linear-gradient(145deg, #fffafd 0%, #fff5fb 100%) !important;
  border-color: #ead8e4 !important;
  box-shadow:
    inset 0 2px 0 rgba(121, 7, 70, 0.11),
    0 3px 9px rgba(81, 2, 46, 0.045) !important;
}

.jhytel-geo-stat strong,
.jhytel-impact-metric strong {
  color: #790746 !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-style: italic;
  font-weight: 400 !important;
  font-variant: unicase;
  letter-spacing: 0.015em;
}

.jhytel-geo-stat span,
.jhytel-impact-metric span {
  color: #755664 !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-style: italic;
  font-weight: 400 !important;
  font-variant: unicase;
  letter-spacing: 0.045em !important;
  text-transform: none !important;
}

/* The replacement globe-network SVG is injected by indexJournal.tpl v20. */
.jhytel-geo-icon[data-jhytel-icon-refined="true"] svg {
  width: 24px !important;
  height: 24px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.55 !important;
}

.jhytel-geo-icon[data-jhytel-icon-refined="true"] .jhytel-geo-node {
  fill: currentColor !important;
  stroke: none !important;
}

/* [TUNE 2026-07-26 | @JH-02G | Bring the Announcement pill and Read Update
   control into the same visual family as the peer-review navigation CTA.] */
.jhm-news-label {
  color: #790746 !important;
  background: #fff6fc !important;
  border-color: #ead8e4 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
  font-family: "Perpetua", Georgia, serif !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-weight: 300 !important;
  letter-spacing: 0.045em !important;
}

.jhm-news-read {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  width: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  color: var(--jhm-plum) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: "Perpetua", Arial, sans-serif !important;
  font-size: 17px !important;
  font-style: normal !important;
  font-variant: normal !important;
  font-weight: 300 !important;
  letter-spacing: normal !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  transform: none !important;
}

.jhm-news-read:hover,
.jhm-news-read:focus-visible {
  color: var(--jhm-magenta) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  transform: none !important;
}

.jhm-news-read span {
  font-family: Arial, sans-serif;
  transition: transform 180ms ease;
}

.jhm-news-read:hover span,
.jhm-news-read:focus-visible span {
  transform: translateX(3px);
}

@media (prefers-reduced-motion: reduce) {
  .jhhi-publication-state .jhhi-date-copy,
  .jhytel-geo-card,
  .jhytel-impact-card,
  .jhm-news-read,
  .jhm-news-read span {
    transition: none !important;
  }
}

/* ============================================================
   J-HyTEL — LOGIN MODAL
   Scope: #loginModal
   ============================================================ */

#loginModal .modal-dialog {
  max-width: 480px;
  margin: 5vh auto;
}

#loginModal .modal-content {
  background: #ffffff;
  color: #172033;
  border: 1px solid rgba(24, 38, 64, 0.14);
  border-radius: 18px;
  box-shadow: 0 24px 70px rgba(8, 22, 46, 0.28);
  overflow: hidden;
}

#loginModal .modal-body {
  position: relative;
  padding: 42px 44px 38px;
}

#loginModal .close {
  position: absolute;
  top: 16px;
  right: 18px;
  z-index: 2;
  width: 36px;
  height: 36px;
  margin: 0;
  padding: 0;
  color: #24334f;
  background: #f1f4f8;
  border: 1px solid rgba(24, 38, 64, 0.1);
  border-radius: 50%;
  opacity: 1;
  line-height: 30px;
  text-shadow: none;
}

#loginModal .form-login fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

#loginModal .form-group {
  margin-bottom: 20px;
}

#loginModal .form-login label {
  display: block;
  margin-bottom: 8px;
  color: #25334d;
  font-weight: 600;
}

#loginModal .form-control {
  width: 100%;
  min-height: 48px;
  padding: 10px 14px;
  color: #172033;
  background: #f7f9fc;
  border: 1px solid #ccd5e2;
  border-radius: 8px;
  box-shadow: none;
}

#loginModal .form-control:focus {
  background: #ffffff;
  border-color: #275fbb;
  box-shadow: 0 0 0 3px rgba(39, 95, 187, 0.13);
}

#loginModal .form-group-forgot,
#loginModal .form-group-remember {
  margin-bottom: 0;
}

#loginModal a {
  color: #275fbb;
  text-decoration: none;
}

#loginModal a:hover,
#loginModal a:focus {
  color: #173f82;
  text-decoration: underline;
}

#loginModal .form-group-buttons {
  margin: 30px 0 22px;
  text-align: center;
}

#loginModal .form-group-buttons .btn {
  min-width: 150px;
  min-height: 46px;
  padding: 11px 26px;
  color: #ffffff;
  background: #192d50;
  border: 1px solid #192d50;
  border-radius: 7px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

#loginModal .form-group-buttons .btn:hover,
#loginModal .form-group-buttons .btn:focus {
  color: #ffffff;
  background: #275fbb;
  border-color: #275fbb;
}

#loginModal .form-group-register {
  margin: 0;
  padding-top: 20px;
  border-top: 1px solid #e3e8f0;
  color: #59667a;
  text-align: center;
}

.modal-backdrop {
  top: 0;
  left: 0;
  z-index: 1040;
  width: stretch;
  height: stretch;
  background-color: #000;
}

#loginModal .modal-backdrop,
.modal-backdrop.show {
  opacity: 0.64;
}

@media (max-width: 767px) {
  #loginModal .modal-dialog {
    max-width: none;
    margin: 18px;
  }

  #loginModal .modal-body {
    padding: 38px 24px 30px;
  }

  #loginModal .form-login > fieldset > .row {
    display: block;
  }

  #loginModal .form-login > fieldset > .row > [class*="col-"] {
    max-width: 100%;
    margin-bottom: 12px;
    padding-right: 15px;
    padding-left: 15px;
  }
}

/* ==========================================================================
   @JH-02H — HOMEPAGE PUBLICATION DATE, READ UPDATE, AND MANUAL AUDIO (v21)
   Owner selectors: .jhhi-date-copy; .jhm-news-read; .jhed2-audio-*
   Scope status: HOMEPAGE / isolated final override
   Editing rule: music must remain opt-in; do not add autoplay.
   ========================================================================== */

/* The inline homepage template owns the component geometry. These safeguards
   preserve readable pre-hover text and prevent global button rules from leaking
   into the manual audio control. */
.jhhi-publication-state .jhhi-date-copy {
  color: #790746 !important;
}

.jhed2-welcome__audio,
.jhed2-welcome__audio * {
  box-sizing: border-box;
}

.jhed2-audio-toggle {
  margin: 0 !important;
  text-transform: none !important;
}

.jhed2-audio-toggle svg {
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .jhhi-publication-state .jhhi-date-copy,
  .jhm-news-read,
  .jhm-news-read span,
  .jhed2-audio-toggle {
    transition: none !important;
  }
}

/* ==========================================================================
   @JH-05J — ARTICLE-PAGE PDF CTA, USAGE METRICS, SNAPSHOT, AND COMPACT CFP
   Owner selectors: .jh-article-usage; .jh-article-snapshot; .jh-article-cfp;
                    article-detail galley links
   Scope status: ARTICLE PAGE / isolated final override
   Editing rule: this section does not alter homepage CFP or global buttons.
   ========================================================================== */

/* [NEW 2026-07-26 | @JH-05J | Harmonise article PDF controls with the
   View Full Peer Review Process visual language.] */
.article-details-galleys-btm .article-details-galley > a,
.article-details-galleys-sidebar .article-details-galley > a,
.article-details-galleys-btm .article-details-galley .galley-link,
.article-details-galleys-sidebar .article-details-galley .galley-link {
  position: relative;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  min-height: 44px;
  margin: 0 !important;
  padding: 9px 42px 9px 18px !important;
  color: #790746 !important;
  background: #fff6fc !important;
  border: 1px solid #ead8e4 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 1rem !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-weight: 300 !important;
  letter-spacing: 0.045em !important;
  line-height: 1.15 !important;
  text-align: center !important;
  text-decoration: none !important;
  transition:
    color 0.18s ease,
    background-color 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease !important;
}

.article-details-galleys-btm .article-details-galley > a::after,
.article-details-galleys-sidebar .article-details-galley > a::after,
.article-details-galleys-btm .article-details-galley .galley-link::after,
.article-details-galleys-sidebar .article-details-galley .galley-link::after {
  position: absolute;
  top: 50%;
  right: 17px;
  content: "↓";
  font-family: Arial, sans-serif;
  font-style: normal;
  line-height: 1;
  transform: translateY(-50%);
  transition: transform 0.18s ease;
}

.article-details-galleys-btm .article-details-galley > a:hover,
.article-details-galleys-btm .article-details-galley > a:focus-visible,
.article-details-galleys-sidebar .article-details-galley > a:hover,
.article-details-galleys-sidebar .article-details-galley > a:focus-visible,
.article-details-galleys-btm .article-details-galley .galley-link:hover,
.article-details-galleys-btm .article-details-galley .galley-link:focus-visible,
.article-details-galleys-sidebar .article-details-galley .galley-link:hover,
.article-details-galleys-sidebar .article-details-galley .galley-link:focus-visible {
  color: #ffffff !important;
  background: #790746 !important;
  border-color: #790746 !important;
  box-shadow: 0 7px 15px rgba(81, 2, 46, 0.16) !important;
  outline: none;
  text-decoration: none !important;
  transform: translateY(-2px);
}

.article-details-galleys-btm .article-details-galley > a:hover::after,
.article-details-galleys-btm .article-details-galley > a:focus-visible::after,
.article-details-galleys-sidebar .article-details-galley > a:hover::after,
.article-details-galleys-sidebar .article-details-galley > a:focus-visible::after,
.article-details-galleys-btm .article-details-galley .galley-link:hover::after,
.article-details-galleys-btm .article-details-galley .galley-link:focus-visible::after,
.article-details-galleys-sidebar .article-details-galley .galley-link:hover::after,
.article-details-galleys-sidebar .article-details-galley .galley-link:focus-visible::after {
  transform: translateY(calc(-50% + 2px));
}

.article-details-galleys-btm .article-details-galley > a:focus-visible,
.article-details-galleys-sidebar .article-details-galley > a:focus-visible,
.article-details-galleys-btm .article-details-galley .galley-link:focus-visible,
.article-details-galleys-sidebar .article-details-galley .galley-link:focus-visible {
  outline: 3px solid rgba(121, 7, 70, 0.17) !important;
  outline-offset: 3px;
}

/* Article Usage replaces the old inline images and unstructured text. */
.jh-article-usage,
.jh-article-usage *,
.jh-article-snapshot,
.jh-article-snapshot *,
.jh-article-cfp,
.jh-article-cfp * {
  box-sizing: border-box;
}

.jh-article-usage {
  --jh-article-wine: #790746;
  --jh-article-wine-dark: #51022e;
  --jh-article-blush: #fff6fc;
  --jh-article-line: #ead8e4;
  --jh-article-ink: #30252c;
  --jh-article-muted: #756771;

  margin-top: 14px;
  padding: 18px;
  background: radial-gradient(circle at 100% 0, rgba(121, 7, 70, 0.06), transparent 32%), linear-gradient(150deg, #ffffff 0%, #fff9fc 100%);
  border: 1px solid var(--jh-article-line);
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(81, 2, 46, 0.07);
}

.jh-article-usage__header {
  margin-bottom: 12px;
}

.jh-article-usage__header > span,
.jh-article-snapshot__header > span,
.jh-article-cfp__eyebrow {
  display: block;
  margin: 0 0 3px;
  color: #790746;
  font-family: "Perpetua", Georgia, serif;
  font-size: 0.78rem;
  font-style: italic;
  font-variant: unicase;
  font-weight: 300;
  letter-spacing: 0.08em;
  line-height: 1.1;
  text-transform: uppercase;
}

.jh-article-usage__header h2,
.jh-article-snapshot__header h2,
.jh-article-cfp h2 {
  margin: 0 !important;
  color: #30252c !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 1.35rem !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  text-transform: none !important;
}

.jh-article-usage__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.jh-article-usage__metric {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 11px 12px;
  background: #ffffff;
  border: 1px solid #ead8e4;
  border-radius: 13px;
}

.jh-article-usage__icon {
  display: inline-flex;
  flex: 0 0 38px;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  color: #790746;
  background: #fff6fc;
  border: 1px solid #ead8e4;
  border-radius: 50%;
}

.jh-article-usage__icon svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.jh-article-usage__copy {
  min-width: 0;
}

.jh-article-usage__copy small,
.jh-article-snapshot__item span {
  display: block;
  color: #756771;
  font-family: "Perpetua", Georgia, serif;
  font-size: 0.78rem;
  font-style: italic;
  line-height: 1.1;
}

.jh-article-usage__copy strong {
  display: block;
  margin-top: 2px;
  color: #51022e;
  font-family: "Perpetua", Georgia, serif;
  font-size: 1.45rem;
  font-weight: 400;
  line-height: 1;
}

.jh-article-usage__note {
  margin: 11px 0 0 !important;
  color: #756771;
  font-family: "Perpetua", Georgia, serif;
  font-size: 0.78rem !important;
  font-style: italic;
  line-height: 1.4;
  text-align: left !important;
}

/* The stack sits at the end of the existing article sidebar. Once reached,
   it remains visible beside long reference lists on wide screens. */
.jh-article-side-stack {
  position: sticky;
  top: 24px;
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.jh-article-snapshot {
  padding: 16px;
  background: linear-gradient(145deg, #ffffff 0%, #fff8fc 100%);
  border: 1px solid #ead8e4;
  border-radius: 16px;
  box-shadow: 0 10px 24px rgba(81, 2, 46, 0.065);
}

.jh-article-snapshot__header {
  margin-bottom: 11px;
}

.jh-article-snapshot__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.jh-article-snapshot__item {
  min-width: 0;
  padding: 9px 10px;
  background: #ffffff;
  border: 1px solid #efe2e9;
  border-radius: 11px;
}

.jh-article-snapshot__item strong {
  display: block;
  margin-top: 3px;
  color: #51022e;
  font-family: "Perpetua", Georgia, serif;
  font-size: 0.96rem;
  font-weight: 400;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

/* Compact article-page CFP: same editorial palette as the homepage component,
   but sized for the existing three-column sidebar. */
.jh-article-cfp {
  position: relative;
  isolation: isolate;
  padding: 18px;
  overflow: hidden;
  color: #ffffff;
  background: radial-gradient(circle at 92% 12%, rgba(255, 255, 255, 0.11), transparent 28%), radial-gradient(circle at 0 100%, rgba(199, 155, 77, 0.14), transparent 29%), linear-gradient(145deg, #790746 0%, #51022e 62%, #3f0124 100%);
  border: 1px solid #51022e;
  border-radius: 17px;
  box-shadow: 0 16px 34px rgba(63, 1, 36, 0.19);
}

.jh-article-cfp::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  opacity: 0.12;
  background-image: linear-gradient(rgba(255, 255, 255, 0.07) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.07) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: linear-gradient(135deg, #000 0%, transparent 84%);
}

.jh-article-cfp__status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 13px;
  padding: 5px 8px;
  color: #51022e;
  background: #fff7e8;
  border: 1px solid rgba(240, 223, 189, 0.9);
  border-radius: 999px;
  font-family: "Perpetua", Georgia, serif;
  font-size: 0.72rem;
  font-style: italic;
  line-height: 1;
}

.jh-article-cfp__dot {
  width: 7px;
  height: 7px;
  background: #c79b4d;
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(199, 155, 77, 0.18);
}

.jh-article-cfp .jh-article-cfp__eyebrow {
  color: #f0dfbd;
  text-align: left;
}

.jh-article-cfp h2 {
  color: #ffffff !important;
  font-size: 1.48rem !important;
}

.jh-article-cfp__issue {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 14px;
}

.jh-article-cfp__issue > div {
  padding: 9px 10px;
  background: rgba(255, 255, 255, 0.085);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 11px;
}

.jh-article-cfp__issue span,
.jh-article-cfp__scope > span {
  display: block;
  color: #f0dfbd;
  font-family: "Perpetua", Georgia, serif;
  font-size: 0.7rem;
  font-style: italic;
  letter-spacing: 0.065em;
  line-height: 1.1;
  text-transform: uppercase;
}

.jh-article-cfp__issue strong {
  display: block;
  margin-top: 3px;
  color: #ffffff;
  font-family: "Perpetua", Georgia, serif;
  font-size: 1.08rem;
  font-weight: 400;
  line-height: 1;
}

.jh-article-cfp__issue .jh-article-cfp__date {
  grid-column: 1 / -1;
  text-align: center;
}

.jh-article-cfp__scope {
  margin-top: 14px;
  padding-top: 13px;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.jh-article-cfp__scope p {
  margin: 6px 0 0 !important;
  color: rgba(255, 255, 255, 0.88);
  font-family: "Perpetua", Georgia, serif;
  font-size: 0.85rem !important;
  line-height: 1.42;
  text-align: left !important;
}

.jh-article-cfp__actions {
  display: grid;
  gap: 8px;
  margin-top: 15px;
}

.jh-article-cfp__button {
  position: relative;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px;
  padding: 8px 38px 8px 14px !important;
  color: #790746 !important;
  background: #fff6fc !important;
  border: 1px solid #ead8e4 !important;
  border-radius: 999px !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 0.9rem !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-weight: 300 !important;
  line-height: 1.1 !important;
  text-align: center !important;
  text-decoration: none !important;
  transition:
    color 0.18s ease,
    background-color 0.18s ease,
    border-color 0.18s ease,
    transform 0.18s ease !important;
}

.jh-article-cfp__button > span:last-child {
  position: absolute;
  top: 50%;
  right: 15px;
  font-family: Arial, sans-serif;
  font-style: normal;
  transform: translateY(-50%);
  transition: transform 0.18s ease;
}

.jh-article-cfp__button:hover,
.jh-article-cfp__button:focus-visible {
  color: #51022e !important;
  background: #ffffff !important;
  border-color: #f0dfbd !important;
  outline: none;
  text-decoration: none !important;
  transform: translateY(-2px);
}

.jh-article-cfp__button:hover > span:last-child,
.jh-article-cfp__button:focus-visible > span:last-child {
  transform: translate(3px, -50%);
}

.jh-article-cfp__button:focus-visible {
  outline: 3px solid rgba(255, 255, 255, 0.28) !important;
  outline-offset: 3px;
}

.jh-article-cfp__button--secondary {
  color: #ffffff !important;
  background: transparent !important;
  border-color: rgba(255, 255, 255, 0.34) !important;
}

.jh-article-cfp__button--secondary:hover,
.jh-article-cfp__button--secondary:focus-visible {
  color: #51022e !important;
  background: #ffffff !important;
  border-color: #ffffff !important;
}

.jh-article-cfp__note {
  margin: 12px 0 0 !important;
  color: rgba(255, 255, 255, 0.72);
  font-family: "Perpetua", Georgia, serif;
  font-size: 0.74rem !important;
  font-style: italic;
  line-height: 1.35;
  text-align: center !important;
}

@media (max-width: 991.98px) {
  .jh-article-side-stack {
    position: static;
    top: auto;
  }

  .jh-article-cfp,
  .jh-article-snapshot {
    max-width: 640px;
    margin-right: auto;
    margin-left: auto;
  }
}

@media (max-width: 575.98px) {
  .jh-article-usage__grid,
  .jh-article-snapshot__grid {
    grid-template-columns: 1fr;
  }

  .article-details-galleys-btm .article-details-galley > a,
  .article-details-galleys-sidebar .article-details-galley > a,
  .article-details-galleys-btm .article-details-galley .galley-link,
  .article-details-galleys-sidebar .article-details-galley .galley-link {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .article-details-galleys-btm .article-details-galley > a,
  .article-details-galleys-sidebar .article-details-galley > a,
  .article-details-galleys-btm .article-details-galley .galley-link,
  .article-details-galleys-sidebar .article-details-galley .galley-link,
  .article-details-galleys-btm .article-details-galley > a::after,
  .article-details-galleys-sidebar .article-details-galley > a::after,
  .article-details-galleys-btm .article-details-galley .galley-link::after,
  .article-details-galleys-sidebar .article-details-galley .galley-link::after,
  .jh-article-cfp__button,
  .jh-article-cfp__button > span:last-child {
    transition: none !important;
  }
}

/* ==========================================================================
   @JH-05K — ARTICLE HEADER ALIGNMENT, COMPACT METRICS, AND RESEARCHER TOOLS
   Owner selectors: .jh-article-summary-card; .jh-article-file-strip;
                    .jh-article-usage--compact; .jh-reference-tools
   Scope status: ARTICLE PAGE / isolated final override
   Editing rule: preserves article typography, reference layout, sidebar CFP,
                 homepage components, and global button rules.
   ========================================================================== */

/* [FIX 2026-07-26 | @JH-05K | Match the article overview card edges to the
   full-width Share this article bar beneath it.] */
.jh-article-summary-card {
  width: 100%;
  max-width: none;
  margin-right: 0;
  margin-left: 0;
}

/* [TUNE 2026-07-26 | @JH-05K | Keep the PDF CTA and two usage values in one
   compact, balanced row on wide screens.] */
.jh-article-file-strip,
.jh-article-file-strip *,
.jh-reference-tools,
.jh-reference-tools * {
  box-sizing: border-box;
}

.jh-article-file-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
}

.jh-article-file-strip__downloads {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.jh-article-usage.jh-article-usage--compact {
  display: flex;
  flex: 0 1 auto;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-width: 0;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.jh-article-usage--compact .jh-article-usage__metric {
  display: inline-flex;
  flex: 0 1 auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
  min-height: 44px;
  padding: 6px 12px;
  background: #fffafd;
  border: 1px solid #ead8e4;
  border-radius: 999px;
  box-shadow: 0 4px 11px rgba(81, 2, 46, 0.045);
}

.jh-article-usage--compact .jh-article-usage__icon {
  flex-basis: 29px;
  width: 29px;
  height: 29px;
  background: #fff6fc;
}

.jh-article-usage--compact .jh-article-usage__icon svg {
  width: 15px;
  height: 15px;
}

.jh-article-usage--compact .jh-article-usage__copy {
  display: grid;
  grid-template-columns: auto auto;
  align-items: baseline;
  gap: 6px;
  white-space: nowrap;
}

.jh-article-usage--compact .jh-article-usage__copy small {
  color: #756771;
  font-size: 0.86rem;
  line-height: 1;
}

.jh-article-usage--compact .jh-article-usage__copy strong {
  margin: 0;
  color: #51022e;
  font-size: 1.12rem;
  line-height: 1;
}

/* [NEW 2026-07-26 | @JH-05K | Expose native OJS RIS/BibTeX citation exports
   as a compact researcher-facing toolbar.] */
.jh-reference-tools {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 12px 18px;
  width: 100%;
  margin-top: 12px;
  padding: 11px 12px;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.99), rgba(252, 247, 250, 0.98));
  border: 1px solid #e5d9df;
  border-left: 3px solid #176b4d;
  border-radius: 12px;
  box-shadow: 0 6px 16px rgba(70, 16, 50, 0.045);
  font-family: "Perpetua", Georgia, serif;
}

.jh-reference-tools__intro {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: max-content;
}

.jh-reference-tools__icon {
  display: inline-flex;
  flex: 0 0 34px;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  color: #176b4d;
  background: #f3fbf7;
  border: 1px solid rgba(23, 107, 77, 0.2);
  border-radius: 50%;
}

.jh-reference-tools__icon svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.jh-reference-tools__copy small,
.jh-reference-tools__copy strong {
  display: block;
}

.jh-reference-tools__copy small {
  margin-bottom: 2px;
  color: #756771;
  font-size: 0.72rem;
  font-style: italic;
  letter-spacing: 0.05em;
  line-height: 1;
  text-transform: uppercase;
}

.jh-reference-tools__copy strong {
  color: #51022e;
  font-size: 1.02rem;
  font-style: italic;
  font-variant: unicase;
  font-weight: 400;
  line-height: 1;
}

.jh-reference-tools__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  min-width: 0;
}

.jh-reference-tool {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-height: 31px;
  margin: 0 !important;
  padding: 5px 9px !important;
  color: #4a3842 !important;
  background: #ffffff !important;
  border: 1px solid #dacfd5 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 0.85rem !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-weight: 400 !important;
  letter-spacing: 0.015em !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap;
  cursor: pointer;
  transition:
    color 0.18s ease,
    background-color 0.18s ease,
    border-color 0.18s ease,
    transform 0.18s ease !important;
}

.jh-reference-tool__mark {
  display: inline-flex;
  flex: 0 0 20px;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  color: #ffffff;
  background: #790746;
  border-radius: 50%;
  font-family: Arial, sans-serif;
  font-size: 0.62rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
}

.jh-reference-tool--zotero .jh-reference-tool__mark {
  background: #a1131a;
}

.jh-reference-tool--mendeley .jh-reference-tool__mark {
  background: #8d1730;
}

.jh-reference-tool--endnote .jh-reference-tool__mark {
  background: #5c2f86;
}

.jh-reference-tool--bibtex .jh-reference-tool__mark {
  background: #176b4d;
}

.jh-reference-tool--copy .jh-reference-tool__mark,
.jh-reference-tool--print .jh-reference-tool__mark {
  background: #2f6592;
}

.jh-reference-tool:hover,
.jh-reference-tool:focus-visible {
  color: #ffffff !important;
  background: #790746 !important;
  border-color: #790746 !important;
  outline: none;
  text-decoration: none !important;
  transform: translateY(-1px);
}

.jh-reference-tool:hover .jh-reference-tool__mark,
.jh-reference-tool:focus-visible .jh-reference-tool__mark {
  color: #790746;
  background: #ffffff;
}

.jh-reference-tool:focus-visible {
  outline: 3px solid rgba(121, 7, 70, 0.16) !important;
  outline-offset: 2px;
}

.jh-reference-tools__note {
  grid-column: 1 / -1;
  margin: -3px 0 0 !important;
  color: #756771;
  font-family: "Perpetua", Georgia, serif;
  font-size: 0.72rem !important;
  font-style: italic;
  line-height: 1.35;
  text-align: right !important;
}

.jh-reference-tools__status {
  position: absolute;
  right: 12px;
  bottom: -27px;
  z-index: 20;
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 8px;
  color: #176b4d;
  background: #ffffff;
  border: 1px solid rgba(23, 107, 77, 0.24);
  border-radius: 999px;
  box-shadow: 0 5px 12px rgba(23, 107, 77, 0.1);
  font-size: 0.7rem;
  font-style: italic;
  line-height: 1;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-3px);
  transition:
    opacity 0.18s ease,
    transform 0.18s ease;
}

.jh-reference-tools__status.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 991.98px) {
  .jh-article-file-strip {
    align-items: flex-start;
    flex-direction: column;
  }

  .jh-article-usage.jh-article-usage--compact {
    justify-content: flex-start;
    width: 100%;
  }

  .jh-reference-tools {
    grid-template-columns: 1fr;
  }

  .jh-reference-tools__actions {
    justify-content: flex-start;
  }

  .jh-reference-tools__note {
    text-align: left !important;
  }
}

@media (max-width: 575.98px) {
  .jh-article-file-strip__downloads,
  .jh-article-usage.jh-article-usage--compact {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .jh-article-usage--compact .jh-article-usage__metric {
    width: 100%;
  }

  .jh-reference-tools__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .jh-reference-tool {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jh-reference-tool,
  .jh-reference-tools__status {
    transition: none !important;
  }

  .jh-reference-tool:hover,
  .jh-reference-tool:focus-visible {
    transform: none !important;
  }
}

@media print {
  .jh-reference-tools,
  .jh-article-usage--compact {
    display: none !important;
  }
}

/* ==========================================================================
   @JH-05L — ARTICLE RESEARCH TRANSPARENCY & DECLARATIONS
   Owner selectors: .jh-declarations; .jh-declaration
   Scope status: ARTICLE DETAILS / plugin-assisted PDF declarations
   [TUNE 2026-07-27 | @JH-05L | Server-rendered plugin declarations before References]
   ========================================================================== */

.jh-declarations,
.jh-declarations *,
.jh-declarations *::before,
.jh-declarations *::after {
  box-sizing: border-box;
}

.jh-declarations {
  --jh-decl-wine: #610c3a;
  --jh-decl-wine-dark: #48092b;
  --jh-decl-green: #176b4d;
  --jh-decl-blush: #fbf5f8;
  --jh-decl-line: #dfd0d8;
  --jh-decl-text: #342b30;
  --jh-decl-muted: #786b72;

  position: relative;
  margin: 24px 0 28px;
  padding: 22px;
  overflow: hidden;
  color: var(--jh-decl-text);
  background: radial-gradient(circle at 100% 0, rgba(227, 17, 255, 0.055), transparent 31%), linear-gradient(145deg, #ffffff 0%, #fbf7f9 100%);
  border: 1px solid var(--jh-decl-line);
  border-left: 4px solid var(--jh-decl-green);
  border-radius: 0 22px 22px 0;
  box-shadow:
    0 14px 34px rgba(72, 9, 43, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
}

.jh-declarations::after {
  position: absolute;
  top: -62px;
  right: -55px;
  width: 150px;
  height: 150px;
  border: 1px solid rgba(97, 12, 58, 0.08);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.jh-declarations__header {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--jh-decl-line);
}

.jh-declarations__heading {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.jh-declarations__icon {
  display: inline-flex;
  flex: 0 0 46px;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  color: var(--jh-decl-green);
  background: linear-gradient(145deg, #ffffff, #edf7f3);
  border: 1px solid rgba(23, 107, 77, 0.22);
  border-radius: 50%;
  box-shadow: 0 6px 16px rgba(23, 107, 77, 0.09);
}

.jh-declarations__icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.jh-declarations__eyebrow {
  display: block;
  margin-bottom: 3px;
  color: var(--jh-decl-green);
  font-family: "Perpetua", Arial, sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  font-style: italic;
}

.jh-declarations h2 {
  margin: 0 !important;
  color: var(--jh-decl-wine);
  font-family: "Perpetua", Georgia, serif;
  font-size: clamp(1.28rem, 2vw, 1.5rem);
  font-weight: 400;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.16;
  letter-spacing: 0.035em;
}

.jh-declarations__pdf,
.jh-declaration__source {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 38px;
  padding: 8px 14px;
  color: var(--jh-decl-wine) !important;
  background: #f8edf3;
  border: 1px solid rgba(97, 12, 58, 0.34);
  border-radius: 999px;
  font-family: "Perpetua", Georgia, serif;
  font-size: 0.95rem;
  font-weight: 400;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  text-decoration: none !important;
  transition:
    color 0.18s ease,
    background 0.18s ease,
    border-color 0.18s ease,
    transform 0.18s ease;
}

.jh-declarations__pdf:hover,
.jh-declarations__pdf:focus-visible,
.jh-declaration__source:hover,
.jh-declaration__source:focus-visible {
  color: #ffffff !important;
  background: var(--jh-decl-wine);
  border-color: var(--jh-decl-wine);
  transform: translateY(-1px);
}

.jh-declarations__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.jh-declaration {
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.88) !important;
  border: 1px solid var(--jh-decl-line) !important;
  border-radius: 13px !important;
  box-shadow: 0 6px 16px rgba(72, 9, 43, 0.045);
}

.jh-declaration[open] {
  grid-column: 1 / -1;
  border-color: rgba(97, 12, 58, 0.3) !important;
}

.jh-declaration > summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 10px 13px;
  color: var(--jh-decl-wine) !important;
  background: transparent !important;
  border: 0 !important;
  font-family: "Perpetua", Georgia, serif;
  font-weight: 400 !important;
  list-style: none;
  cursor: pointer;
}

.jh-declaration > summary::-webkit-details-marker {
  display: none;
}

.jh-declaration > summary::marker {
  content: "";
}

.jh-declaration > summary:hover {
  background: rgba(248, 237, 243, 0.62) !important;
}

.jh-declaration > summary:focus-visible {
  outline: 3px solid rgba(23, 107, 77, 0.2);
  outline-offset: -3px;
}

.jh-declaration[open] > summary {
  background: rgba(248, 237, 243, 0.48) !important;
}

.jh-declaration__number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 29px;
  height: 29px;
  color: var(--jh-decl-green);
  background: #eef7f3;
  border: 1px solid rgba(23, 107, 77, 0.2);
  border-radius: 50%;
  font-family: "NexusSansTF-Regular", Arial, sans-serif;
  font-size: 0.67rem;
  font-style: normal;
  letter-spacing: 0.04em;
}

.jh-declaration__label {
  min-width: 0;
  font-size: 1.05rem;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.1;
}

.jh-declaration__toggle {
  position: relative;
  width: 18px;
  height: 18px;
}

.jh-declaration__toggle::before,
.jh-declaration__toggle::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 1px;
  background: currentColor;
  content: "";
  transform: translate(-50%, -50%);
  transition: transform 0.18s ease;
}

.jh-declaration__toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.jh-declaration[open] .jh-declaration__toggle::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

.jh-declaration__body {
  padding: 0 16px 16px 52px;
  border-top: 1px solid rgba(223, 208, 216, 0.78);
}

.jh-declaration__body > p {
  margin: 14px 0 12px !important;
  color: var(--jh-decl-text);
  font-family: "Perpetua", Georgia, serif;
  font-size: 1.02rem !important;
  line-height: 1.58;
  text-align: left !important;
}

.jh-declaration__roles {
  margin: 4px 0 13px;
  padding: 10px 11px;
  background: #f5faf8;
  border: 1px solid rgba(23, 107, 77, 0.17);
  border-radius: 10px;
}

.jh-declaration__roles-label {
  display: block;
  margin-bottom: 7px;
  color: var(--jh-decl-green);
  font-family: "Perpetua", Arial, sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  font-style: italic;
}

.jh-declaration__roles > div {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.jh-declaration__roles > div span {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 4px 8px;
  color: #315d4d;
  background: #ffffff;
  border: 1px solid rgba(23, 107, 77, 0.18);
  border-radius: 999px;
  font-size: 0.86rem;
  font-style: italic;
  line-height: 1;
}

.jh-declaration__source {
  min-height: 32px;
  padding: 6px 11px;
  font-size: 1.1rem;
}

.jh-declaration__contribution-text .jh-declaration__contributor-name {
  color: var(--jh-decl-green, #315d4d);
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  font-style: italic;
  font-weight: 300;
  letter-spacing: 0.01em;
}

.jh-declarations__note {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin-top: 14px;
  padding-top: 12px;
  color: var(--jh-decl-muted);
  border-top: 1px solid var(--jh-decl-line);
}

.jh-declarations__note > span {
  display: inline-flex;
  flex: 0 0 20px;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  color: var(--jh-decl-wine);
  background: #f8edf3;
  border: 1px solid rgba(97, 12, 58, 0.18);
  border-radius: 50%;
  font-family: Georgia, serif;
  font-size: 0.72rem;
  font-style: italic;
}

.jh-declarations__note p {
  margin: 1px 0 0 !important;
  color: inherit;
  font-family: "Perpetua", Georgia, serif;
  font-size: 0.78rem !important;
  font-style: italic;
  line-height: 1.42;
  text-align: left !important;
}

@media (max-width: 767.98px) {
  .jh-declarations {
    padding: 17px;
    border-radius: 0 16px 16px 0;
  }

  .jh-declarations__header {
    align-items: flex-start;
    flex-direction: column;
  }

  .jh-declarations__pdf {
    width: 100%;
  }

  .jh-declarations__grid {
    grid-template-columns: 1fr;
  }

  .jh-declaration[open] {
    grid-column: auto;
  }
}

@media (max-width: 479.98px) {
  .jh-declarations__heading {
    align-items: flex-start;
  }

  .jh-declarations__icon {
    flex-basis: 40px;
    width: 40px;
    height: 40px;
  }

  .jh-declaration__body {
    padding: 0 13px 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jh-declarations__pdf,
  .jh-declaration__source,
  .jh-declaration__toggle::before,
  .jh-declaration__toggle::after {
    transition: none !important;
  }
}

@media print {
  .jh-declarations {
    break-inside: avoid;
    box-shadow: none;
  }

  .jh-declarations__pdf,
  .jh-declaration__source,
  .jh-declaration__toggle {
    display: none !important;
  }

  .jh-declaration {
    display: block;
    break-inside: avoid;
  }

  .jh-declaration:not([open]) > .jh-declaration__body {
    display: block !important;
  }
}
/* =========================================
   J-HyTEL — tighten gap above Declarations
   ========================================= */

/* Kurangi jarak panel Declarations dari blok di atasnya */
.jh-declarations {
  margin-top: 12px !important; /* sebelumnya kemungkinan lebih besar */
}

/* Jika masih terlalu jauh, kecilkan jarak bawah Researcher Tools */
.jh-researcher-tools,
.jh-save-cite,
.article-details .item.references + .jh-declarations {
  margin-top: 10px !important;
}

/* Bila blok Researcher Tools punya margin bawah besar */
.jh-researcher-tools,
.jh-save-cite {
  margin-bottom: 12px !important;
}
.jhed2-welcome__identity span {
  margin-top: 3px;
  color: var(--jhed2-muted);
  font-family: "Perpetua", Arial, sans-serif;
  line-height: 1.15;
  font-size: 20px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.08;
  letter-spacing: 0.06em;
  white-space: nowrap;
}
/* ==========================================================================
   @JH-13B — NATIONAL ACCREDITATION PAGE VARIANT
   Owner selectors: .jhindex--accreditation and direct .jhindex transitions
   Scope status: CUSTOM PAGE / isolated accreditation variant
   [FIX 2026-07-30 | @JH-13B | removed duplicated patch and retained one owner]

   Editing rule:
   - Use this section only for the National Accreditation page.
   - The shared .jhindex foundation remains owned by @JH-13.
   - Do not duplicate this block at the end of future stylesheet versions.
   ========================================================================== */

/* ---------------------------------------------------------
   1. SECTION RHYTHM — FIX THE TIGHT DIRECTORY TRANSITION
   --------------------------------------------------------- */

/*
 * This is the exact transition visible in the screenshot:
 * accreditation/coverage note -> Indexing Directory.
 */
.jhindex > .jhindex-note + .jhindex-directory {
  margin-top: 38px !important;
}

/* Maintain the same visual rhythm on the accreditation page. */
.jhindex > .jhindex-intro + .jhindex-directory {
  margin-top: 30px !important;
}

.jhindex > .jhindex-directory + .jhindex-note {
  margin-top: 30px !important;
}

.jhindex > .jhindex-note + .jhindex-note {
  margin-top: 20px !important;
}

.jhindex > .jhindex-note + .jhindex-intro {
  margin-top: 32px !important;
}

/*
 * Anchor destinations should not sit underneath a sticky OJS
 * header when users select the page-navigation pills.
 */
.jhindex [id] {
  scroll-margin-top: 92px;
}

/* ---------------------------------------------------------
   2. NATIONAL ACCREDITATION — SAME FAMILY, DISTINCT STATUS
   --------------------------------------------------------- */

.jhindex--accreditation {
  --jhaccreditation-blue: var(--jhindex-blue, #2f6592);
  --jhaccreditation-blue-dark: var(--jhindex-blue-dark, #204866);
  --jhaccreditation-wine: var(--jhindex-wine, #610c3a);
  --jhaccreditation-gold: #c99a2e;
  --jhaccreditation-gold-soft: #f6ead0;
  --jhaccreditation-line: var(--jhindex-line, #d8e4ec);
  --jhaccreditation-paper: #fffefd;
}

/* Hero retains the Abstracting & Indexing structure. */
.jhindex--accreditation .jhindex-hero {
  position: relative;
  overflow: hidden;
  border-color: #cbdde9;
  background: radial-gradient(circle at 92% 13%, rgba(201, 154, 46, 0.13) 0, rgba(201, 154, 46, 0) 31%), linear-gradient(145deg, #ffffff 0%, #f7fbfe 58%, #fffaf0 100%);
  box-shadow:
    0 14px 34px rgba(35, 75, 106, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.jhindex--accreditation .jhindex-hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, var(--jhaccreditation-blue) 0%, var(--jhaccreditation-blue) 58%, var(--jhaccreditation-gold) 100%);
}

.jhindex--accreditation .jhindex-hero__copy,
.jhindex--accreditation .jhindex-total {
  position: relative;
  z-index: 1;
}

/* S4 summary card: same geometry, slightly stronger hierarchy. */
.jhindex--accreditation .jhindex-total {
  border: 1px solid rgba(255, 255, 255, 0.32);
  background: linear-gradient(145deg, var(--jhaccreditation-blue-dark) 0%, var(--jhaccreditation-blue) 72%, #3d769f 100%);
  box-shadow:
    0 13px 25px rgba(32, 72, 102, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.15);
}

.jhindex--accreditation .jhindex-total::after {
  content: "";
  position: absolute;
  right: -24px;
  bottom: -31px;
  width: 94px;
  height: 94px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 50%;
  pointer-events: none;
}

.jhindex--accreditation .jhindex-total strong {
  font-size: clamp(46px, 5vw, 58px);
  letter-spacing: 0.02em;
}

.jhindex--accreditation .jhindex-total small {
  max-width: 190px;
}

/* Navigation remains identical but gains a restrained gold focus cue. */
.jhindex--accreditation .jhindex-nav a:hover,
.jhindex--accreditation .jhindex-nav a:focus-visible {
  border-color: var(--jhaccreditation-blue);
  background: var(--jhaccreditation-blue);
  box-shadow: 0 5px 13px rgba(47, 101, 146, 0.13);
}

/* Intro panels remain recognisably part of the same page family. */
.jhindex--accreditation .jhindex-intro {
  border-color: #d7e3eb;
  background: linear-gradient(145deg, #ffffff 0%, #fbfdff 65%, #fffcf5 100%);
  box-shadow: 0 8px 22px rgba(48, 76, 98, 0.045);
}

/* Support a two-paragraph explanatory column without inheriting global justification. */
.jhindex--accreditation .jhindex-intro > div:last-child p {
  margin: 0 !important;
  color: var(--jhindex-text) !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
  text-align: left !important;
}

.jhindex--accreditation .jhindex-intro > div:last-child p + p {
  margin-top: 10px !important;
}

/* Directory headings receive enough distance from preceding cards. */
.jhindex--accreditation .jhindex-directory {
  position: relative;
}

.jhindex--accreditation .jhindex-section-heading {
  padding-top: 2px;
}

/* Cards use the same design but add a subtle accreditation accent. */
.jhindex--accreditation .jhindex-card {
  min-height: 214px;
  border-color: #d8e3ea;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.055) 0, rgba(47, 101, 146, 0) 34%), linear-gradient(145deg, #ffffff 0%, #fffdfb 100%);
  box-shadow:
    0 8px 20px rgba(44, 69, 88, 0.045),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.jhindex--accreditation .jhindex-card:hover,
.jhindex--accreditation .jhindex-card:focus-visible {
  border-color: #a9c6d9;
  box-shadow:
    0 13px 27px rgba(42, 82, 111, 0.09),
    inset 0 1px 0 rgba(255, 255, 255, 0.94);
}

.jhindex--accreditation .jhindex-card__number {
  color: var(--jhaccreditation-blue);
}

.jhindex--accreditation .jhindex-card__type {
  color: var(--jhaccreditation-wine);
}

.jhindex--accreditation .jhindex-card > strong {
  overflow-wrap: anywhere;
  word-break: normal;
}

.jhindex--accreditation .jhindex-card__action {
  color: var(--jhaccreditation-blue);
}

/* Official-decision notes become the visual equivalent of a formal record. */
.jhindex--accreditation .jhindex-note {
  border-color: #cbdde9;
  border-left-color: var(--jhaccreditation-blue);
  background: linear-gradient(145deg, #ffffff 0%, #f9fcfe 67%, #fffaf0 100%);
  box-shadow: 0 8px 21px rgba(39, 75, 101, 0.045);
}

.jhindex--accreditation .jhindex-note__mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 58px;
  min-height: 58px;
  border: 1px solid #c9dce8;
  border-radius: 50%;
  background: linear-gradient(145deg, #ffffff 0%, #edf6fb 100%);
  color: var(--jhaccreditation-blue);
  box-shadow:
    0 6px 14px rgba(47, 101, 146, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.94);
  font-weight: 400;
}

/* The first formal decision panel carries a restrained gold accent. */
.jhindex--accreditation #jhaccreditation-decision {
  border-left-color: var(--jhaccreditation-gold);
  background: linear-gradient(145deg, #ffffff 0%, #fffcf5 100%);
}

.jhindex--accreditation #jhaccreditation-decision .jhindex-note__mark {
  border-color: #ead9ad;
  background: linear-gradient(145deg, #fffefb 0%, var(--jhaccreditation-gold-soft) 100%);
  color: #866115;
}

/* Avoid cramped endings between the final blocks. */
.jhindex--accreditation > section:last-child {
  margin-bottom: 0 !important;
}

/* ---------------------------------------------------------
   3. RESPONSIVE ADJUSTMENTS
   --------------------------------------------------------- */

@media (max-width: 720px) {
  .jhindex > .jhindex-note + .jhindex-directory,
  .jhindex > .jhindex-intro + .jhindex-directory,
  .jhindex > .jhindex-directory + .jhindex-note,
  .jhindex > .jhindex-note + .jhindex-intro {
    margin-top: 28px !important;
  }

  .jhindex--accreditation .jhindex-card {
    min-height: 0;
  }
}

@media (max-width: 520px) {
  .jhindex > .jhindex-note + .jhindex-directory {
    margin-top: 26px !important;
  }

  .jhindex--accreditation .jhindex-total {
    width: 100%;
    max-width: none;
  }

  .jhindex--accreditation .jhindex-note__mark {
    min-width: 52px;
    min-height: 52px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhindex--accreditation .jhindex-card,
  .jhindex--accreditation .jhindex-nav a {
    transition: none !important;
  }
}
/* ==========================================================================
   @JH-01E-SHARED-FINAL-V31 — GLOBAL AUTHORSHIP COUNTRY PREVIEW
   Owner selectors: .jhytel-geo-card--shared and its descendants
   Scope status: HOMEPAGE / isolated component
   [FIX 2026-07-29 | @JH-01E | stable horizontal text and flags on mobile]
   ========================================================================== */

/*
 * This is the only final override for the shared Global Authorship card.
 * It replaces the former v30 block entirely.
 */

.jhytel-geo-card--shared,
.jhytel-geo-card--shared * {
  box-sizing: border-box;
}

.jhytel-geo-card--shared {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "summary statistics"
    "preview preview"
    "action action";
  align-items: center;
  gap: 14px 18px;
  width: 100%;
  max-width: 100%;
  margin: 20px 0;
  padding: 17px 20px;
  overflow: hidden;
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
}

.jhytel-geo-card--shared .jhytel-geo-summary {
  grid-area: summary;
  display: flex;
  align-items: center;
  gap: 13px;
  width: 100%;
  min-width: 0;
}

.jhytel-geo-card--shared .jhytel-geo-icon {
  display: inline-flex;
  flex: 0 0 42px;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin: 0;
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  font-size: 23px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
}

.jhytel-geo-card--shared .jhytel-geo-heading {
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  writing-mode: horizontal-tb;
}

.jhytel-geo-card--shared .jhytel-geo-eyebrow {
  display: block;
  margin: 0 0 2px;
  color: #851758;
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  font-weight: 400;
  letter-spacing: 0.045em;
  line-height: 1.15;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  overflow-wrap: normal;
  writing-mode: horizontal-tb;
}

.jhytel-geo-card--shared .jhytel-geo-heading h3 {
  margin: 0 0 3px;
  color: #2d46a5;
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  font-size: 20px;
  font-style: italic;
  font-variant: unicase;
  font-weight: 400;
  line-height: 1.25;
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
  writing-mode: horizontal-tb;
}

.jhytel-geo-card--shared .jhytel-geo-heading p {
  margin: 0;
  max-width: 680px;
  color: #756970;
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.4;
  text-align: left;
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
  writing-mode: horizontal-tb;
}

.jhytel-geo-card--shared .jhytel-geo-statistics {
  grid-area: statistics;
  display: flex;
  align-items: center;
  justify-self: end;
  min-width: 0;
}

.jhytel-geo-card--shared .jhytel-geo-stat {
  min-width: 82px;
  padding: 8px 11px;
}

.jhytel-geo-card--shared .jhytel-geo-stat strong,
.jhytel-geo-card--shared .jhytel-geo-stat span {
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  word-break: normal;
  overflow-wrap: normal;
  writing-mode: horizontal-tb;
}

.jhytel-geo-card--shared .jhytel-geo-stat strong {
  font-size: 22px;
  font-style: italic;
  font-weight: 400;
}

.jhytel-geo-card--shared .jhytel-geo-stat span {
  margin-top: 3px;
  font-size: 11px;
  font-style: italic;
  font-variant: unicase;
  font-weight: 400;
  letter-spacing: 0.035em;
  line-height: 1;
  text-transform: none;
  white-space: nowrap;
}

/* Country preview container */
.jhytel-geo-card--shared .jhytel-geo-preview {
  grid-area: preview;
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  padding: 12px 13px 13px;
  overflow: hidden;
  border: 1px solid #e5d9e1;
  border-radius: 11px;
  background: radial-gradient(circle at 100% 0, rgba(45, 70, 165, 0.065) 0, rgba(45, 70, 165, 0) 38%), linear-gradient(145deg, #fffefe 0%, #fbf7fa 100%);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.94),
    0 5px 14px rgba(53, 18, 47, 0.045);
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
}

.jhytel-geo-card--shared .jhytel-geo-preview::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 3px;
  background: linear-gradient(180deg, #2d46a5 0%, #851758 100%);
}

.jhytel-geo-card--shared .jhytel-geo-preview__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-width: 0;
  margin: 0 0 10px;
  padding-left: 2px;
}

.jhytel-geo-card--shared .jhytel-geo-preview__label,
.jhytel-geo-card--shared .jhytel-geo-preview__note {
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  word-break: normal;
  overflow-wrap: break-word;
  writing-mode: horizontal-tb;
}

.jhytel-geo-card--shared .jhytel-geo-preview__label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  color: #610c3a;
  font-size: 14px;
  font-style: italic;
  font-variant: unicase;
  font-weight: 400;
  letter-spacing: 0.035em;
  line-height: 1.2;
}

.jhytel-geo-card--shared .jhytel-geo-preview__label::before {
  content: "";
  flex: 0 0 6px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #2d46a5;
  box-shadow: 0 0 0 3px rgba(45, 70, 165, 0.1);
}

.jhytel-geo-card--shared .jhytel-geo-preview__note {
  flex: 0 1 auto;
  min-width: 0;
  color: #8a7a84;
  font-size: 11px;
  font-style: italic;
  line-height: 1.2;
  text-align: right;
}

/* Desktop country grid */
.jhytel-geo-card--shared .jhytel-geo-country-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow: visible;
}

.jhytel-geo-card--shared .jhytel-geo-country {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 39px;
  margin: 0;
  padding: 6px 8px;
  border: 1px solid #e7dce4;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.94);
  color: #4b3c45;
  box-shadow:
    0 3px 8px rgba(53, 18, 47, 0.04),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.12;
  transition:
    border-color 0.17s ease,
    box-shadow 0.17s ease;
}

.jhytel-geo-card--shared .jhytel-geo-country:hover {
  border-color: #d8bdcb;
  box-shadow:
    0 5px 11px rgba(53, 18, 47, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.98);
  transform: none;
}

.jhytel-geo-card--shared .jhytel-geo-country img {
  grid-column: 1;
  display: block;
  width: 24px !important;
  min-width: 24px !important;
  max-width: 24px !important;
  height: 17px !important;
  min-height: 17px !important;
  max-height: 17px !important;
  margin: 0 !important;
  object-fit: cover;
  border: 1px solid rgba(53, 18, 47, 0.15);
  border-radius: 3px;
  background: #ffffff;
  box-shadow: 0 1px 3px rgba(53, 18, 47, 0.11);
}

.jhytel-geo-card--shared .jhytel-geo-country__content {
  grid-column: 2;
  display: block;
  width: 100%;
  min-width: 0;
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  writing-mode: horizontal-tb;
}

.jhytel-geo-card--shared .jhytel-geo-country__name {
  display: block;
  width: 100%;
  min-width: 0;
  color: #4b3c45;
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  font-size: 13px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.12;
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
  writing-mode: horizontal-tb;
}

/* Main popup action: right aligned on desktop. */
.jhytel-geo-card--shared .jhytel-geo-button {
  grid-area: action;
  justify-self: end;
  width: auto;
  min-width: 190px;
  max-width: 100%;
  margin: 0;
  font-family: "Perpetua", Georgia, "Times New Roman", serif !important;
}

/* Tablet */
@media (max-width: 900px) {
  .jhytel-geo-card--shared .jhytel-geo-country-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Mobile: one stable column prevents letters from stacking vertically. */
@media (max-width: 600px) {
  .jhytel-geo-card--shared {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "summary"
      "statistics"
      "preview"
      "action" !important;
    align-items: stretch !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 17px 0 !important;
    padding: 15px 12px 13px !important;
    overflow: hidden !important;
    border-left-width: 3px !important;
    border-radius: 0 12px 12px 0 !important;
    transform: none !important;
  }

  .jhytel-geo-card--shared:hover,
  .jhytel-geo-card--shared:focus-within {
    transform: none !important;
  }

  .jhytel-geo-card--shared .jhytel-geo-summary {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .jhytel-geo-card--shared .jhytel-geo-icon {
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    margin: 1px 0 0 !important;
    font-size: 21px !important;
  }

  .jhytel-geo-card--shared .jhytel-geo-heading {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .jhytel-geo-card--shared .jhytel-geo-eyebrow {
    font-size: 12px !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    writing-mode: horizontal-tb !important;
  }

  .jhytel-geo-card--shared .jhytel-geo-heading h3 {
    margin-bottom: 4px !important;
    font-size: 17px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    writing-mode: horizontal-tb !important;
  }

  .jhytel-geo-card--shared .jhytel-geo-heading p {
    max-width: 100% !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    text-align: left !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    writing-mode: horizontal-tb !important;
  }

  .jhytel-geo-card--shared .jhytel-geo-statistics {
    display: flex !important;
    justify-self: start !important;
    width: auto !important;
    min-width: 0 !important;
  }

  .jhytel-geo-card--shared .jhytel-geo-stat {
    min-width: 76px !important;
    padding: 7px 10px !important;
  }

  .jhytel-geo-card--shared .jhytel-geo-stat strong {
    font-size: 19px !important;
  }

  .jhytel-geo-card--shared .jhytel-geo-preview {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 11px 10px 10px !important;
    overflow: hidden !important;
    border-radius: 10px !important;
  }

  .jhytel-geo-card--shared .jhytel-geo-preview__head {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 9px !important;
  }

  .jhytel-geo-card--shared .jhytel-geo-preview__label {
    display: inline-flex !important;
    max-width: 100% !important;
    font-size: 13px !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    writing-mode: horizontal-tb !important;
  }

  .jhytel-geo-card--shared .jhytel-geo-preview__note {
    display: none !important;
  }

  .jhytel-geo-card--shared .jhytel-geo-country-list {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 7px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .jhytel-geo-card--shared .jhytel-geo-country {
    display: grid !important;
    grid-template-columns: 24px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 9px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 7px 9px !important;
    overflow: hidden !important;
    border-radius: 9px !important;
  }

  .jhytel-geo-card--shared .jhytel-geo-country img {
    grid-column: 1 !important;
    display: block !important;
    width: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    height: 17px !important;
    min-height: 17px !important;
    max-height: 17px !important;
    margin: 0 !important;
  }

  .jhytel-geo-card--shared .jhytel-geo-country__content {
    grid-column: 2 !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    writing-mode: horizontal-tb !important;
  }

  .jhytel-geo-card--shared .jhytel-geo-country__name {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    writing-mode: horizontal-tb !important;
  }

  /* Keep the already approved mobile button behaviour. */
  .jhytel-geo-card--shared .jhytel-geo-button {
    justify-self: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 43px !important;
    white-space: normal !important;
    text-align: center !important;
  }
}

@media (hover: none) and (pointer: coarse) {
  .jhytel-geo-card--shared:hover,
  .jhytel-geo-card--shared:focus-within,
  .jhytel-geo-card--shared .jhytel-geo-country:hover,
  .jhytel-geo-card--shared .jhytel-geo-button:hover {
    transform: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhytel-geo-card--shared,
  .jhytel-geo-card--shared .jhytel-geo-country,
  .jhytel-geo-card--shared .jhytel-geo-button {
    transition: none;
  }
}

/* ==========================================================================
   @JH-01E-SHARED-FINAL-V34 — GLOBAL AUTHORSHIP TYPOGRAPHY REFINEMENT
   Owner selectors: .jhytel-geo-card--shared and its descendants
   Scope status: HOMEPAGE / isolated component
   [TUNE 2026-08-01 | Match Global Authorship label to Journal Performance;
    slightly enlarge the selected-country preview typography.]
   ========================================================================== */

/* Match the small Global Authorship heading to the visual treatment used by
   the Journal Performance label: readable Perpetua, normal case, dark ink. */
.jhytel-geo-card--shared .jhytel-geo-eyebrow {
  margin-bottom: 2px;
  color: #161413;
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  font-size: 18px;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: none;
}

/* Slightly improve legibility without enlarging the country tiles heavily. */
.jhytel-geo-card--shared .jhytel-geo-preview__label {
  font-size: 16px;
}

.jhytel-geo-card--shared .jhytel-geo-preview__note {
  font-size: 16px;
}

.jhytel-geo-card--shared .jhytel-geo-country__name {
  font-size: 16px;
  line-height: 1.15;
}

@media (max-width: 600px) {
  .jhytel-geo-card--shared .jhytel-geo-eyebrow {
    font-size: 15px !important;
    font-style: normal !important;
    font-variant: normal !important;
    letter-spacing: 0 !important;
  }

  .jhytel-geo-card--shared .jhytel-geo-preview__label {
    font-size: 14px !important;
  }

  .jhytel-geo-card--shared .jhytel-geo-country__name {
    font-size: 14px !important;
  }
}

/* ==========================================================================
   @JH-02E-COMPACT-SECTION-V34 — CURRENT-ISSUE SECTION HEADER
   Owner selectors: .jhytel-compact-article-section and assigned descendants
   Scope status: HOMEPAGE / isolated article-list heading
   [TUNE 2026-08-01 | Reduce the visual height of “Journal section / Articles”
    and convert the article counter into a restrained compact pill.]
   ========================================================================== */

.jhytel-article-cfp-row__articles .jhytel-compact-article-section {
  --jh-section-ink: #4f3b46;
  --jh-section-muted: #8b7480;
  --jh-section-accent: #790746;
  --jh-section-surface: #fff7fc;
  --jh-section-border: #ead8e4;
}

.jhytel-article-cfp-row__articles .jhytel-compact-article-section .jhytel-journal-section-label {
  margin: 0 0 2px !important;
  color: var(--jh-section-muted) !important;
  font-family: "Perpetua", Georgia, "Times New Roman", serif !important;
  font-size: 10px !important;
  font-style: normal !important;
  font-variant: normal !important;
  font-weight: 400 !important;
  letter-spacing: 0.095em !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
}

.jhytel-article-cfp-row__articles .jhytel-compact-article-section .issue-toc-section-title {
  margin-top: 0.2rem !important;
  margin-bottom: 0.65rem !important;
  color: var(--jh-section-accent) !important;
  font-size: 1.48rem !important;
  line-height: 1.15 !important;
}

.jhytel-article-cfp-row__articles .jhytel-compact-article-section .jhytel-article-count {
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 25px !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 3px 9px !important;
  color: var(--jh-section-ink) !important;
  background: var(--jh-section-surface) !important;
  border: 1px solid var(--jh-section-border) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  font-family: "Perpetua", Georgia, "Times New Roman", serif !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-variant: normal !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  line-height: 1 !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

@media (max-width: 600px) {
  .jhytel-article-cfp-row__articles .jhytel-compact-article-section .issue-toc-section-title {
    margin-bottom: 0.55rem !important;
    font-size: 1.35rem !important;
  }

  .jhytel-article-cfp-row__articles .jhytel-compact-article-section .jhytel-article-count {
    min-height: 24px !important;
    padding: 3px 8px !important;
    font-size: 11.5px !important;
  }
}

/* ==========================================================================
   @JH-02F-CTA-V36 — UNIFIED HOMEPAGE CTA DIMENSIONS
   Owner selectors: Global Authorship and Journal Performance actions
   Scope status: FINAL OVERRIDE / isolated presentation layer
   [TUNE 2026-08-01 | Keep Explore Author Diversity aligned with Browse
    Archives while restoring all original text arrow icons.]
   ========================================================================== */

:root {
  --jhytel-home-action-width: 220px;
}

/* Explore Author Diversity and Journal Performance actions share the same
   width, height, padding, and typography. Original arrow glyphs remain in use. */
.jhytel-geo-card--shared .jhytel-geo-button,
.jhytel-impact-card .jhytel-impact-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  width: var(--jhytel-home-action-width) !important;
  min-width: var(--jhytel-home-action-width) !important;
  max-width: 100% !important;
  min-height: 41px !important;
  padding: 8px 14px !important;
  font-family: "Perpetua", Georgia, "Times New Roman", serif !important;
  font-size: 16px !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-weight: 300 !important;
  letter-spacing: 0.045em !important;
  line-height: 1.15 !important;
}

@media (max-width: 650px) {
  .jhytel-geo-card--shared .jhytel-geo-button,
  .jhytel-impact-card .jhytel-impact-button {
    width: 100% !important;
    min-width: 0 !important;
  }
}
/* ==========================================================================
   @JH-02E-SECTION-ALIGN-V40 — JOURNAL SECTION VERTICAL ALIGNMENT
   Scope: homepage Research Articles heading only
   ========================================================================== */

/* Journal section */
.jhytel-article-cfp-row__articles .jhytel-compact-article-section .jhytel-journal-section-label {
  display: block !important;
  margin: 0 0 5px !important;
  padding: 0 !important;
  line-height: 1 !important;
  transform: translateY(2px);
  font-variant: unicase;
  font-style: italic;
}

/* Research Articles */
.jhytel-article-cfp-row__articles .jhytel-compact-article-section .issue-toc-section-title {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.12 !important;
  transform: translateY(2px);
}

/* Keep the article counter vertically centred */
.jhytel-article-cfp-row__articles .jhytel-compact-article-section .jhytel-article-count {
  align-self: center !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  font-size: 14px !important;
}

/* Mobile */
@media (max-width: 600px) {
  .jhytel-article-cfp-row__articles .jhytel-compact-article-section .jhytel-journal-section-label {
    margin-bottom: 4px !important;
    transform: none;
  }

  .jhytel-article-cfp-row__articles .jhytel-compact-article-section .issue-toc-section-title {
    margin: 0 !important;
    transform: none;
  }
}

/* ==========================================================================
   @JH-05M — ARTICLE PUBLICATION CONTEXT AND MOBILE SNAPSHOT EQUALITY (v39)
   Owner selectors: .jh-article-publication-context; .jh-article-snapshot;
                    .jh-article-cfp
   Scope status: ARTICLE PAGE / isolated final override
   Editing rule: improves only the issue identity above the article title and
                 equalises the sidebar cards/tiles on narrow screens.
   ========================================================================== */

/* [NEW 2026-08-01 | @JH-05M | Replace the unstructured issue heading with a
   clear Published in → journal title → issue link hierarchy.] */
.jh-article-publication-context,
.jh-article-publication-context * {
  box-sizing: border-box;
}

.jh-article-publication-context {
  position: relative;
  width: min(1080px, calc(100% - 28px));
  margin: 0 auto 20px;
  padding: 0 clamp(12px, 3vw, 28px) 19px;
  text-align: center;
}

.jh-article-publication-context::after {
  position: absolute;
  right: 12%;
  bottom: 0;
  left: 12%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(97, 12, 58, 0.26), transparent);
  content: "";
}

.jh-article-publication-context__eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 7px;
  color: #8a6678;
  font-family: "Perpetua", Georgia, serif;
  font-size: 0.74rem;
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}

.jh-article-publication-context__title {
  max-width: 980px;
  margin: 0 auto;
  color: #610c3a;
  font-family: "Perpetua", Georgia, serif;
  font-size: clamp(1.38rem, 2.2vw, 1.78rem);
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.012em;
  line-height: 1.25;
  text-wrap: balance;
}

.jh-article-publication-context__issue {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 34px;
  margin-top: 10px;
  padding: 6px 13px;
  color: #610c3a !important;
  background: #fffafd;
  border: 1px solid #e2d2db;
  border-radius: 999px;
  box-shadow: 0 4px 12px rgba(81, 2, 46, 0.045);
  font-family: "Perpetua", Georgia, serif;
  font-size: 1rem;
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0.045em;
  line-height: 1.1;
  text-decoration: none !important;
  transition:
    color 0.18s ease,
    background-color 0.18s ease,
    border-color 0.18s ease,
    transform 0.18s ease,
    box-shadow 0.18s ease;
}

.jh-article-publication-context__issue-icon {
  display: inline-flex;
  flex: 0 0 24px;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  color: #176b4d;
  background: #f3fbf7;
  border: 1px solid rgba(23, 107, 77, 0.18);
  border-radius: 50%;
}

.jh-article-publication-context__issue-icon svg {
  width: 13px;
  height: 13px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.jh-article-publication-context__issue:hover,
.jh-article-publication-context__issue:focus-visible {
  color: #176b4d !important;
  background: #f8fcfa;
  border-color: rgba(23, 107, 77, 0.32);
  box-shadow: 0 6px 16px rgba(23, 107, 77, 0.08);
  text-decoration: none !important;
  transform: translateY(-1px);
}

.jh-article-publication-context__issue:focus-visible {
  outline: 2px solid rgba(23, 107, 77, 0.42);
  outline-offset: 3px;
}

/* Keep the article title visually separate from the publication identity. */
.article-details .page-header .article-details-fulltitle {
  width: min(1320px, calc(100% - 28px));
  margin: 0 auto 24px;
  color: #6d083f;
  font-family: "Perpetua", Georgia, serif;
  font-size: clamp(1.32rem, 2vw, 1.7rem);
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0.045em;
  line-height: 1.32;
  text-align: center;
  text-wrap: balance;
}

/* [FIX 2026-08-01 | @JH-05M | On tablet/mobile, make Publication Snapshot and
   the card immediately below it share the same outer width.] */
@media (max-width: 991.98px) {
  .jh-article-side-stack {
    width: 100%;
  }

  .jh-article-snapshot,
  .jh-article-cfp {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin-right: 0;
    margin-left: 0;
  }
}

/* Equal 2×2 snapshot tiles on normal phone widths. */
@media (max-width: 575.98px) {
  .jh-article-publication-context {
    width: calc(100% - 18px);
    margin-bottom: 16px;
    padding-right: 8px;
    padding-bottom: 16px;
    padding-left: 8px;
  }

  .jh-article-publication-context::after {
    right: 5%;
    left: 5%;
  }

  .jh-article-publication-context__eyebrow {
    margin-bottom: 6px;
    font-size: 0.68rem;
  }

  .jh-article-publication-context__title {
    font-size: 1.28rem;
    line-height: 1.24;
  }

  .jh-article-publication-context__issue {
    min-height: 32px;
    margin-top: 9px;
    padding: 5px 11px;
    font-size: 0.94rem;
  }

  .article-details .page-header .article-details-fulltitle {
    width: calc(100% - 18px);
    margin-bottom: 20px;
    font-size: 1.25rem;
    letter-spacing: 0.03em;
    line-height: 1.3;
  }

  .jh-article-snapshot__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    align-items: stretch;
  }

  .jh-article-snapshot__item {
    display: flex;
    height: 100%;
    min-height: 72px;
    padding: 10px 8px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .jh-article-snapshot__item strong {
    width: 100%;
  }
}

/* Very narrow devices keep equal full-width rows instead of cramped columns. */
@media (max-width: 359.98px) {
  .jh-article-snapshot__grid {
    grid-template-columns: 1fr;
  }

  .jh-article-snapshot__item {
    min-height: 64px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jh-article-publication-context__issue {
    transition: none !important;
  }
}

/* ==========================================================================
   @JH-03I — HOMEPAGE MOBILE HERO AND CURRENT-ISSUE COMPACTION (v40)
   Owner selectors: .jhytel-homepage-hero; .jhytel-home-current; .jhhi-*
   Scope status: HOMEPAGE / MOBILE / isolated final override
   ========================================================================== */

@media (max-width: 767.98px) {
  .jhytel-homepage-hero {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #f5f3f4 !important;
  }

  .jhytel-homepage-hero::before,
  .jhytel-homepage-hero::after {
    content: none !important;
    display: none !important;
  }

  .jhytel-homepage-hero > img {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: none !important;
  }

  .jhytel-home-current {
    position: relative !important;
    inset: auto !important;
    z-index: 2;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 12px 24px !important;
    background: #fcfcfc !important;
    transform: none !important;
  }

  .jhytel-home-current .homepage-issue-current.jhhi-current-heading {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 20px auto 0 !important;
    padding: 0 0 10px !important;
    gap: 2px !important;
    color: #610c3a !important;
    font-size: clamp(21px, 6.1vw, 25px) !important;
    font-style: normal !important;
    line-height: 1.14 !important;
    letter-spacing: 0.055em !important;
    text-shadow: none !important;
  }

  .jhytel-home-current .jhhi-current-heading__label,
  .jhytel-home-current .jhhi-current-heading__series {
    flex: 1 0 100%;
    width: 100%;
  }

  .jhytel-home-current .jhhi-current-heading__series {
    font-size: 0.92em;
  }

  .jhytel-home-current .jhhi-current-heading__divider {
    display: none !important;
  }

  .jhytel-home-current .jhhi-current-heading::after {
    right: 24%;
    left: 24%;
    background: linear-gradient(90deg, transparent, rgba(121, 7, 70, 0.48), transparent);
    box-shadow: none;
  }

  .jhytel-home-current .jhhi-publication-state {
    width: 100%;
    margin: 10px auto 0 !important;
  }

  .jhytel-home-current .jhhi-publication-state .jhhi-date-copy,
  .jhytel-home-current .jhhi-publication-state .jhhi-date-copy.is-delayed {
    width: auto;
    max-width: calc(100vw - 28px);
    min-height: 34px;
    padding: 7px 12px;
    gap: 5px;
    flex-wrap: nowrap;
    border-radius: 999px;
    font-size: clamp(13px, 3.7vw, 15px);
    line-height: 1.15;
    letter-spacing: 0.025em;
    white-space: nowrap;
    box-shadow: 0 4px 11px rgba(81, 2, 46, 0.09) !important;
  }

  .jhytel-home-current .jhhi-publication-state .jhhi-date-label::after {
    margin-left: 5px;
    font-size: 10px;
  }

  .jhytel-home-current .homepage-issue-header {
    margin-top: 13px !important;
    margin-right: -6px !important;
    margin-left: -6px !important;
  }

  .jhytel-home-current .jhhi-cover-column {
    margin-bottom: 0 !important;
    padding: 0 6px !important;
  }

  .jhytel-home-current .jhhi-cover-link {
    width: min(210px, 62vw) !important;
    height: auto !important;
  }

  .jhytel-home-current .jhhi-cover-shell {
    margin-bottom: 11px !important;
    box-shadow:
      0 13px 27px rgba(28, 10, 27, 0.2),
      0 3px 8px rgba(28, 10, 27, 0.12) !important;
  }

  .jhytel-home-current .jhhi-cover-accreditation-link {
    width: min(278px, calc(100% - 22px)) !important;
    margin: 0 auto 15px !important;
    padding: 1px 4px 4px !important;
    font-size: 15px !important;
    line-height: 1.26 !important;
  }

  .jhytel-home-current .jhhi-cover-accreditation-link::after {
    width: 34px;
    margin-top: 6px;
  }

  .jhytel-home-current .homepage-issue-description-wrapper {
    margin-top: 2px !important;
    padding: 16px 12px !important;
  }

  iframe[src*="whos.amung.us"],
  iframe[src*="widgets.amung.us"],
  [id^="wauScr_"],
  [id*="wauScr_"],
  [class*="whos-amung"],
  [class*="wau-tab"] {
    top: auto !important;
    right: 8px !important;
    bottom: 10px !important;
    left: auto !important;
    max-width: 108px !important;
    opacity: 0.88 !important;
    transform: scale(0.76) !important;
    transform-origin: right bottom !important;
  }
}

@media (max-width: 359.98px) {
  .jhytel-home-current {
    padding-right: 9px !important;
    padding-left: 9px !important;
  }

  .jhytel-home-current .homepage-issue-current.jhhi-current-heading {
    margin-top: 17px !important;
    font-size: 20px !important;
  }

  .jhytel-home-current .jhhi-publication-state .jhhi-date-copy,
  .jhytel-home-current .jhhi-publication-state .jhhi-date-copy.is-delayed {
    width: 100%;
    max-width: 310px;
    padding: 7px 10px;
    justify-content: center;
    font-size: 12.5px;
  }

  .jhytel-home-current .jhhi-cover-link {
    width: min(198px, 64vw) !important;
  }
}

/* ==========================================================================
   @JH-05N — ARTICLE MOBILE TITLE ORDER, COMPACT HEADER GAP, JUSTIFIED REFERENCES (v41)
   Owner selectors: .article-meta-mobile; .jh-article-publication-context;
                    .article-details-fulltitle; .jh-article-summary-card;
                    .article-details-references-value
   Scope status: ARTICLE PAGE / isolated final override
   ========================================================================== */

/* [FIX 2026-08-01 | @JH-05N | Reduce the vertical gap between the article
   title and the article overview card without changing their widths.] */
.article-details .page-header .article-details-fulltitle {
  margin-bottom: 0 !important;
}

.article-details .page-header .jh-article-summary-card {
  margin-top: 12px !important;
}

/* [FIX 2026-08-01 | @JH-05N | Keep the article title directly beneath the
   volume/issue identity on tablet and mobile, ahead of the overview card.] */
@media (max-width: 991.98px) {
  .article-details .page-header > .article-meta-mobile {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .article-details .article-meta-mobile > .alert {
    order: 0 !important;
  }

  .article-details .article-meta-mobile > .jh-article-publication-context {
    order: 1 !important;
    margin-bottom: 10px !important;
  }

  .article-details .article-meta-mobile > .article-details-fulltitle {
    order: 2 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .article-details .article-meta-mobile > #jh-section-overview {
    order: 3 !important;
  }

  .article-details .article-meta-mobile > .jh-article-summary-card {
    order: 4 !important;
    margin-top: 10px !important;
  }
}

@media (max-width: 575.98px) {
  .article-details .article-meta-mobile > .jh-article-publication-context {
    margin-bottom: 8px !important;
    padding-bottom: 13px !important;
  }

  .article-details .page-header .article-details-fulltitle {
    width: calc(100% - 24px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
    font-size: 1.22rem !important;
    line-height: 1.28 !important;
  }

  .article-details .article-meta-mobile > .jh-article-summary-card {
    margin-top: 8px !important;
  }
}

/* [TUNE 2026-08-01 | @JH-05N | Give reference entries a clean justified
   paragraph edge while preserving the hanging IEEE reference numbers.] */
.article-details-references-value p {
  text-align: justify !important;
  text-align-last: left;
  text-justify: inter-word;
  hyphens: auto;
  -webkit-hyphens: auto;
}

.article-details-references-value p a {
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* ==========================================================================
   @JH-05O — MOBILE ABSTRACT FILE ORDER AND COMPLETE AUTHOR CARDS (v42)
   Owner selectors: .article-details-galleys-sidebar;
                    .article-details-galleys-btm; .jh-author-*
   Scope status: ARTICLE PAGE / MOBILE ONLY
   ========================================================================== */

/* [FIX 2026-08-01 | @JH-05O | On mobile, remove the duplicate sidebar file
   buttons and retain the main-content file strip that follows the abstract.] */
@media (max-width: 767.98px) {
  .article-details .article-details-galleys-sidebar {
    display: none !important;
  }

  /* The DOI is already available in the article overview card. Hiding this
     second mobile DOI keeps PDF/XML immediately after the abstract. */
  .article-details #articleMain .article-details-doi.small-screen {
    display: none !important;
  }

  .article-details #articleMain .article-details-galleys-btm {
    display: block !important;
    margin-top: 16px !important;
  }

  .article-details #articleMain .article-details-galleys-btm .jh-article-file-strip {
    margin-top: 0 !important;
  }

  .article-details #articleMain .jh-article-file-strip__downloads {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .article-details #articleMain .jh-article-file-strip__downloads .article-details-galley,
  .article-details #articleMain .jh-article-file-strip__downloads .article-details-galley > a,
  .article-details #articleMain .jh-article-file-strip__downloads .article-details-galley .galley-link {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* [FIX 2026-08-01 | @JH-05O | On mobile, remove the compact duplicate author
   name pills, display every complete author card, and place diversity last.] */
@media (max-width: 767.98px) {
  .article-details .jh-article-summary-card {
    display: flex !important;
    flex-direction: column !important;
  }

  .article-details .jh-article-summary-card > .jh-article-meta-grid {
    order: 1 !important;
  }

  .article-details .jh-article-summary-card > .jh-article-doi {
    order: 2 !important;
  }

  .article-details .jh-article-summary-card > .jh-author-section {
    order: 3 !important;
  }

  .article-details .jh-article-summary-card > .jh-author-details {
    order: 4 !important;
  }

  .article-details .jh-article-summary-card > .jh-author-demographics {
    order: 5 !important;
  }

  .article-details .jh-author-help,
  .article-details .jh-author-list {
    display: none !important;
  }

  .article-details .jh-author-section {
    padding-top: 16px !important;
  }

  .article-details .jh-author-heading {
    margin-bottom: 7px !important;
  }

  .article-details .jh-author-details {
    display: block !important;
    width: 100% !important;
    margin: 4px 0 0 !important;
  }

  .article-details .jh-author-details .jh-author-detail-card,
  .article-details .jh-author-details .jh-author-detail-card.hideAuthor {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    max-width: none !important;
    margin: 10px 0 0 !important;
    padding: 15px 13px !important;
    opacity: 1 !important;
  }

  .article-details .jh-author-details .jh-author-detail-card:first-child {
    margin-top: 0 !important;
  }

  .article-details .jh-author-detail-name {
    margin-bottom: 8px !important;
    font-size: 18px !important;
  }

  .article-details .jh-author-affiliation {
    font-size: 15px !important;
  }

  .article-details .jh-author-detail-orcid a {
    font-size: 14px !important;
  }

  .article-details .jh-author-demographics {
    width: 100% !important;
    margin-top: 16px !important;
    padding-top: 16px !important;
  }
}

@media (max-width: 359.98px) {
  .article-details #articleMain .jh-article-file-strip__downloads {
    grid-template-columns: 1fr !important;
  }
}

/* ==========================================================================
   @JH-05P — MOBILE FILE RESTORATION AND SDG ORDER (v43)
   Owner selectors: .jh-mobile-article-files; .article-sdg-panel--mobile;
                    .article-sdg-panel--desktop
   Scope status: ARTICLE PAGE / MOBILE ONLY
   ========================================================================== */

/* The dedicated mobile file row is rendered directly after the Abstract in
   article_details.tpl. It does not depend on the theme's sidebar visibility. */
.jh-mobile-article-files {
  display: none !important;
}

.article-sdg-panel--mobile {
  display: none !important;
}

.article-sdg-panel--desktop {
  display: block;
}

@media (max-width: 767.98px) {
  .article-details #articleMain .jh-mobile-article-files {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 14px 0 16px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .article-details #articleMain .jh-mobile-article-files .article-details-galley,
  .article-details #articleMain .jh-mobile-article-files .article-details-galley > a,
  .article-details #articleMain .jh-mobile-article-files .article-details-galley .galley-link {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  /* Keep the metrics and citation tools in the original lower file block,
     but suppress its duplicate PDF/XML row on mobile. */
  .article-details #articleMain .article-details-galleys-btm:not(.jh-mobile-article-files) {
    display: block !important;
    margin-top: 0 !important;
  }

  .article-details #articleMain .article-details-galleys-btm:not(.jh-mobile-article-files) .jh-article-file-strip__downloads {
    display: none !important;
  }

  .article-details .article-sdg-panel--desktop {
    display: none !important;
  }

  .article-details .jh-article-summary-card > .article-sdg-panel--mobile {
    order: 6 !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 16px 0 0 !important;
  }

  .article-details .article-sdg-panel--mobile .article-sdg-header {
    margin-bottom: 14px !important;
  }
}

@media (max-width: 359.98px) {
  .article-details #articleMain .jh-mobile-article-files {
    grid-template-columns: 1fr !important;
  }
}

/* ==========================================================================
   @JH-05Q — FAIL-SAFE MOBILE PDF/XML VISIBILITY (v44)
   Scope status: ARTICLE PAGE / MOBILE ONLY
   ========================================================================== */
@media (max-width: 767.98px) {
  .jh-mobile-article-files,
  #articleMain .jh-mobile-article-files,
  .article-details #articleMain .jh-mobile-article-files {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 44px !important;
    margin: 14px 0 16px !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .jh-mobile-article-files .article-details-galley,
  .jh-mobile-article-files .article-details-galley > a,
  .jh-mobile-article-files .article-details-galley .galley-link {
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
  }

  .jh-mobile-article-files .article-details-galley {
    display: block !important;
  }

  .jh-mobile-article-files .article-details-galley > a,
  .jh-mobile-article-files .article-details-galley .galley-link {
    display: flex !important;
    min-height: 48px !important;
  }
}

@media (max-width: 359.98px) {
  .jh-mobile-article-files,
  #articleMain .jh-mobile-article-files,
  .article-details #articleMain .jh-mobile-article-files {
    grid-template-columns: 1fr !important;
  }
}

@media (min-width: 768px) {
  .jh-mobile-article-files {
    display: none !important;
  }
}

/* ==========================================================================
   @JH-32 — FAQ & HELP SUPPORT CUSTOM PAGE
   Owner selectors: .jhfaq
   Scope status: CUSTOM PAGE / isolated namespace
   Added: 2 August 2026
   Placement rule: keep this block at the absolute end of the stylesheet.
   ========================================================================== */

.jhfaq,
.jhfaq *,
.jhfaq *::before,
.jhfaq *::after {
  box-sizing: border-box;
}

.jhfaq {
  --jhfaq-wine: #610c3a;
  --jhfaq-wine-deep: #35122f;
  --jhfaq-wine-soft: #8f153d;
  --jhfaq-magenta: #e311ff;
  --jhfaq-blue: #2f6592;
  --jhfaq-blue-dark: #204866;
  --jhfaq-blue-soft: #eef6fb;
  --jhfaq-gold: #e0aa35;
  --jhfaq-ink: #2f272c;
  --jhfaq-text: #4d4248;
  --jhfaq-muted: #766a70;
  --jhfaq-line: #e5d9e0;
  --jhfaq-paper: #fffdfc;
  --jhfaq-soft: #faf7f9;
  --jhfaq-white: #ffffff;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  color: var(--jhfaq-text);
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  font-size: 17px;
  line-height: 1.55;
}

.jhfaq[hidden],
.jhfaq [hidden] {
  display: none !important;
}

.jhfaq a {
  color: inherit;
  text-decoration: none;
}

.jhfaq button,
.jhfaq input {
  font: inherit;
}

.jhfaq h2,
.jhfaq h3,
.jhfaq p {
  text-wrap: pretty;
}

.jhfaq-kicker,
.jhfaq-category__eyebrow,
.jhfaq-sidebar__kicker {
  display: block;
  color: var(--jhfaq-blue);
  font-size: 14px;
  font-weight: 300;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.095em;
}

.jhfaq-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.78fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: center;
  margin: 0 0 14px;
  padding: clamp(24px, 4vw, 40px);
  overflow: hidden;
  border: 1px solid var(--jhfaq-line);
  border-radius: 18px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.13), transparent 35%), radial-gradient(circle at 0% 100%, rgba(143, 21, 61, 0.09), transparent 35%), linear-gradient(145deg, #ffffff, var(--jhfaq-paper));
  box-shadow:
    0 18px 42px rgba(53, 18, 47, 0.09),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

.jhfaq-hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: linear-gradient(180deg, var(--jhfaq-wine), var(--jhfaq-blue), var(--jhfaq-gold));
}

.jhfaq-hero::after {
  content: "?";
  position: absolute;
  right: clamp(12px, 3vw, 34px);
  bottom: -64px;
  color: rgba(97, 12, 58, 0.035);
  font-family: Georgia, serif;
  font-size: clamp(180px, 23vw, 310px);
  font-style: italic;
  line-height: 1;
  pointer-events: none;
}

.jhfaq-hero__copy,
.jhfaq-hero__quick {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.jhfaq-hero h2 {
  max-width: 780px;
  margin: 8px 0 0 !important;
  color: var(--jhfaq-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: clamp(31px, 4vw, 48px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.08 !important;
  letter-spacing: 0.052em !important;
  text-transform: none !important;
}

.jhfaq-hero__lead {
  max-width: 820px;
  margin: 15px 0 0 !important;
  color: var(--jhfaq-text) !important;
  font-size: 18px !important;
  font-style: italic;
  line-height: 1.56 !important;
  text-align: left !important;
}

.jhfaq-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}

.jhfaq-hero__meta span {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  min-height: 34px;
  padding: 7px 11px;
  border: 1px solid #d8e4ec;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  color: var(--jhfaq-muted);
  font-size: 14px;
  font-style: italic;
  line-height: 1;
}

.jhfaq-hero__meta strong {
  color: var(--jhfaq-wine);
  font-size: 16px;
  font-weight: 300;
}

.jhfaq-hero__quick {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.jhfaq-quick-card {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-width: 0;
  min-height: 82px;
  padding: 12px;
  border: 1px solid rgba(97, 12, 58, 0.15);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 7px 17px rgba(53, 18, 47, 0.045);
  outline: none;
  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}

.jhfaq-quick-card:hover,
.jhfaq-quick-card:focus-visible {
  border-color: var(--jhfaq-magenta);
  box-shadow: 0 11px 24px rgba(53, 18, 47, 0.12);
  transform: translateY(-2px);
}

.jhfaq-quick-card__mark {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 10px;
  background: linear-gradient(145deg, var(--jhfaq-wine), var(--jhfaq-wine-deep));
  color: #ffffff;
  font-size: 16px;
  font-style: italic;
  line-height: 1;
  box-shadow: 0 6px 13px rgba(97, 12, 58, 0.17);
}

.jhfaq-quick-card:nth-child(even) .jhfaq-quick-card__mark {
  background: linear-gradient(145deg, var(--jhfaq-blue), var(--jhfaq-blue-dark));
  box-shadow: 0 6px 13px rgba(47, 101, 146, 0.17);
}

.jhfaq-quick-card small,
.jhfaq-quick-card strong {
  display: block;
  min-width: 0;
}

.jhfaq-quick-card small {
  color: var(--jhfaq-muted);
  font-size: 12px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.055em;
}

.jhfaq-quick-card strong {
  margin-top: 3px;
  color: var(--jhfaq-wine);
  font-size: 15px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.15;
}

.jhfaq-quick-card__arrow {
  color: var(--jhfaq-blue);
  font-size: 17px;
  transition: transform 0.18s ease;
}

.jhfaq-quick-card:hover .jhfaq-quick-card__arrow,
.jhfaq-quick-card:focus-visible .jhfaq-quick-card__arrow {
  transform: translateX(3px);
}

.jhfaq-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 18px;
  padding: 0;
}

.jhfaq-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 38px;
  padding: 7px 13px;
  border: 1px solid #d8e4ec;
  border-radius: 999px;
  background: #ffffff;
  color: var(--jhfaq-blue);
  font-size: 15px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  letter-spacing: 0.035em;
  outline: none;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    color 0.18s ease,
    transform 0.18s ease;
}

.jhfaq-nav a span {
  color: var(--jhfaq-wine);
  font-size: 12px;
  letter-spacing: 0.08em;
}

.jhfaq-nav a:hover,
.jhfaq-nav a:focus-visible {
  border-color: var(--jhfaq-blue);
  background: var(--jhfaq-blue);
  color: #ffffff;
  transform: translateY(-1px);
}

.jhfaq-nav a:hover span,
.jhfaq-nav a:focus-visible span {
  color: #ffffff;
}

.jhfaq-tools {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px 18px;
  align-items: end;
  margin-bottom: 22px;
  padding: 18px;
  border: 1px solid var(--jhfaq-line);
  border-top: 3px solid var(--jhfaq-magenta);
  border-radius: 14px;
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.07), transparent 34%), linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 9px 22px rgba(53, 18, 47, 0.055);
}

.jhfaq-search label {
  display: block;
  margin-bottom: 7px;
  color: var(--jhfaq-wine);
  font-size: 15px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.055em;
}

.jhfaq-search__field {
  position: relative;
}

.jhfaq-search__field input {
  display: block;
  width: 100%;
  min-height: 50px;
  padding: 11px 48px 11px 46px;
  border: 1px solid #d8cbd2;
  border-radius: 11px;
  background: #ffffff;
  color: var(--jhfaq-ink);
  font-family: "Perpetua", Georgia, serif;
  font-size: 17px;
  font-style: italic;
  outline: none;
  box-shadow: inset 0 1px 2px rgba(53, 18, 47, 0.025);
  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease;
}

.jhfaq-search__field input::placeholder {
  color: #9a8c93;
  opacity: 1;
}

.jhfaq-search__field input:focus {
  border-color: var(--jhfaq-blue);
  box-shadow: 0 0 0 3px rgba(47, 101, 146, 0.13);
}

.jhfaq-search__icon {
  position: absolute;
  top: 50%;
  left: 17px;
  width: 16px;
  height: 16px;
  border: 2px solid var(--jhfaq-blue);
  border-radius: 50%;
  pointer-events: none;
  transform: translateY(-56%);
}

.jhfaq-search__icon::after {
  content: "";
  position: absolute;
  right: -6px;
  bottom: -4px;
  width: 7px;
  height: 2px;
  border-radius: 999px;
  background: var(--jhfaq-blue);
  transform: rotate(45deg);
  transform-origin: left center;
}

.jhfaq-search__clear {
  position: absolute;
  top: 50%;
  right: 9px;
  display: grid;
  visibility: hidden;
  width: 32px;
  height: 32px;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: #f4eef1;
  color: var(--jhfaq-wine);
  font-family: Arial, sans-serif;
  font-size: 20px;
  line-height: 1;
  opacity: 0;
  cursor: pointer;
  transform: translateY(-50%);
  transition:
    opacity 0.18s ease,
    background 0.18s ease;
}

.jhfaq-search__clear.is-visible {
  visibility: visible;
  opacity: 1;
}

.jhfaq-search__clear:hover,
.jhfaq-search__clear:focus-visible {
  background: var(--jhfaq-wine);
  color: #ffffff;
  outline: none;
}

.jhfaq-search__status {
  margin: 7px 0 0 !important;
  color: var(--jhfaq-muted) !important;
  font-size: 13.5px !important;
  font-style: italic;
  line-height: 1.2 !important;
  text-align: left !important;
}

.jhfaq-search__status strong {
  color: var(--jhfaq-blue-dark);
  font-weight: 300;
}

.jhfaq-tools__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
  padding-bottom: 25px;
}

.jhfaq-tools__actions button,
.jhfaq-empty button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 7px 12px;
  border: 1px solid rgba(97, 12, 58, 0.24);
  border-radius: 9px;
  background: #ffffff;
  color: var(--jhfaq-wine);
  font-family: "Perpetua", Georgia, serif;
  font-size: 14px;
  font-style: italic;
  cursor: pointer;
  outline: none;
  transition:
    color 0.18s ease,
    background 0.18s ease,
    border-color 0.18s ease,
    transform 0.18s ease;
}

.jhfaq-tools__actions button:hover,
.jhfaq-tools__actions button:focus-visible,
.jhfaq-empty button:hover,
.jhfaq-empty button:focus-visible {
  border-color: var(--jhfaq-wine);
  background: var(--jhfaq-wine);
  color: #ffffff;
  transform: translateY(-1px);
}

.jhfaq-filters {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding-top: 13px;
  border-top: 1px solid var(--jhfaq-line);
}

.jhfaq-filter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 35px;
  padding: 6px 11px;
  border: 1px solid #d8e4ec;
  border-radius: 999px;
  background: var(--jhfaq-blue-soft);
  color: var(--jhfaq-blue-dark);
  font-family: "Perpetua", Georgia, serif;
  font-size: 13.5px;
  font-style: italic;
  cursor: pointer;
  outline: none;
  transition:
    color 0.18s ease,
    background 0.18s ease,
    border-color 0.18s ease;
}

.jhfaq-filter:hover,
.jhfaq-filter:focus-visible {
  border-color: var(--jhfaq-blue);
}

.jhfaq-filter[aria-pressed="true"] {
  border-color: var(--jhfaq-blue);
  background: var(--jhfaq-blue);
  color: #ffffff;
  box-shadow: 0 5px 12px rgba(47, 101, 146, 0.13);
}

.jhfaq-layout {
  display: grid;
  grid-template-columns: minmax(225px, 0.31fr) minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}

.jhfaq-sidebar {
  position: sticky;
  top: 18px;
  display: grid;
  gap: 11px;
  min-width: 0;
}

.jhfaq-sidebar__card {
  padding: 18px;
  border: 1px solid var(--jhfaq-line);
  border-radius: 14px;
  background: linear-gradient(145deg, #ffffff, #fcfafb);
  box-shadow: 0 8px 20px rgba(53, 18, 47, 0.045);
}

.jhfaq-sidebar__card h2 {
  margin: 7px 0 14px !important;
  color: var(--jhfaq-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 27px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.1 !important;
  text-transform: none !important;
}

.jhfaq-sidebar__card nav {
  display: grid;
  gap: 5px;
}

.jhfaq-sidebar__card nav a {
  display: grid;
  grid-template-columns: 33px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 9px 8px;
  border: 1px solid transparent;
  border-radius: 9px;
  outline: none;
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    transform 0.18s ease;
}

.jhfaq-sidebar__card nav a:hover,
.jhfaq-sidebar__card nav a:focus-visible {
  border-color: #d8e4ec;
  background: var(--jhfaq-blue-soft);
  transform: translateX(2px);
}

.jhfaq-sidebar__number {
  display: grid;
  width: 31px;
  height: 31px;
  place-items: center;
  border-radius: 8px;
  background: #f4eef1;
  color: var(--jhfaq-wine);
  font-size: 11px;
  font-style: italic;
  letter-spacing: 0.08em;
}

.jhfaq-sidebar__card nav strong,
.jhfaq-sidebar__card nav small {
  display: block;
}

.jhfaq-sidebar__card nav strong {
  color: var(--jhfaq-wine);
  font-size: 14.5px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.15;
}

.jhfaq-sidebar__card nav small {
  margin-top: 2px;
  color: var(--jhfaq-muted);
  font-size: 12px;
  font-style: italic;
  line-height: 1.15;
}

.jhfaq-sidebar__note {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 14px;
  border: 1px solid #d8e4ec;
  border-left: 3px solid var(--jhfaq-blue);
  border-radius: 11px;
  background: linear-gradient(110deg, var(--jhfaq-blue-soft), #ffffff);
}

.jhfaq-sidebar__note > span {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 50%;
  background: var(--jhfaq-blue);
  color: #ffffff;
  font-size: 16px;
  font-style: italic;
  line-height: 1;
}

.jhfaq-sidebar__note p {
  margin: 0 !important;
  color: var(--jhfaq-text) !important;
  font-size: 13.5px !important;
  font-style: italic;
  line-height: 1.38 !important;
  text-align: left !important;
}

.jhfaq-sidebar__note strong {
  display: block;
  margin-bottom: 3px;
  color: var(--jhfaq-blue-dark);
  font-weight: 300;
}

.jhfaq-content {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.jhfaq-category {
  scroll-margin-top: 18px;
  padding: clamp(17px, 2.5vw, 23px);
  border: 1px solid var(--jhfaq-line);
  border-radius: 15px;
  background: linear-gradient(145deg, #ffffff, #fdfbfc);
  box-shadow: 0 8px 20px rgba(53, 18, 47, 0.045);
}

.jhfaq-category__header {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--jhfaq-line);
}

.jhfaq-category__number {
  display: grid;
  width: 50px;
  height: 50px;
  place-items: center;
  border-radius: 13px;
  background: linear-gradient(145deg, var(--jhfaq-wine), var(--jhfaq-wine-deep));
  color: #ffffff;
  font-size: 16px;
  font-style: italic;
  letter-spacing: 0.08em;
  line-height: 1;
  box-shadow: 0 7px 15px rgba(97, 12, 58, 0.16);
}

.jhfaq-category:nth-of-type(even) .jhfaq-category__number {
  background: linear-gradient(145deg, var(--jhfaq-blue), var(--jhfaq-blue-dark));
  box-shadow: 0 7px 15px rgba(47, 101, 146, 0.16);
}

.jhfaq-category__header h2 {
  margin: 5px 0 0 !important;
  color: var(--jhfaq-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: clamp(24px, 2.6vw, 32px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.1 !important;
  letter-spacing: 0.047em !important;
  text-transform: none !important;
}

.jhfaq-category__header p {
  margin: 6px 0 0 !important;
  color: var(--jhfaq-muted) !important;
  font-size: 14.5px !important;
  font-style: italic;
  line-height: 1.35 !important;
  text-align: left !important;
}

.jhfaq-category__count {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 9px;
  border: 1px solid #d8e4ec;
  border-radius: 999px;
  background: var(--jhfaq-blue-soft);
  color: var(--jhfaq-blue-dark);
  font-size: 12.5px;
  font-style: italic;
  white-space: nowrap;
}

.jhfaq-list {
  display: grid;
  gap: 8px;
}

.jhfaq details.jhfaq-item {
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid #e5d9e0 !important;
  border-radius: 11px !important;
  background: #ffffff !important;
  box-shadow: 0 3px 9px rgba(53, 18, 47, 0.025);
  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}

.jhfaq details.jhfaq-item:hover {
  border-color: #d3c0ca !important;
  box-shadow: 0 6px 15px rgba(53, 18, 47, 0.055);
}

.jhfaq details.jhfaq-item[open] {
  border-color: rgba(97, 12, 58, 0.34) !important;
  box-shadow: 0 9px 20px rgba(53, 18, 47, 0.075);
}

.jhfaq details.jhfaq-item > summary {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 34px;
  gap: 12px;
  align-items: center;
  min-height: 60px;
  margin: 0 !important;
  padding: 14px 15px 14px 17px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--jhfaq-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 17px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  line-height: 1.32 !important;
  list-style: none !important;
  outline: none !important;
  cursor: pointer;
  text-align: left !important;
  transition:
    color 0.18s ease,
    background 0.18s ease;
}

.jhfaq details.jhfaq-item > summary::-webkit-details-marker {
  display: none;
}

.jhfaq details.jhfaq-item > summary::marker {
  content: "";
}

.jhfaq details.jhfaq-item > summary:hover,
.jhfaq details.jhfaq-item > summary:focus-visible {
  background: linear-gradient(110deg, #fcf8fa, #ffffff) !important;
  color: var(--jhfaq-wine) !important;
}

.jhfaq details.jhfaq-item > summary:focus-visible {
  box-shadow: inset 0 0 0 3px rgba(47, 101, 146, 0.15);
}

.jhfaq details.jhfaq-item[open] > summary {
  background: radial-gradient(circle at 100% 0, rgba(47, 101, 146, 0.07), transparent 35%), linear-gradient(110deg, #fcf8fa, #ffffff) !important;
  color: var(--jhfaq-wine) !important;
}

.jhfaq-question {
  min-width: 0;
}

.jhfaq-chevron {
  position: relative;
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border: 1px solid #d8e4ec;
  border-radius: 50%;
  background: var(--jhfaq-blue-soft);
  transition:
    background 0.18s ease,
    border-color 0.18s ease,
    transform 0.22s ease;
}

.jhfaq-chevron::before,
.jhfaq-chevron::after {
  content: "";
  position: absolute;
  width: 11px;
  height: 1.5px;
  border-radius: 999px;
  background: var(--jhfaq-blue-dark);
}

.jhfaq-chevron::after {
  transform: rotate(90deg);
  transition: opacity 0.18s ease;
}

.jhfaq details.jhfaq-item[open] .jhfaq-chevron {
  border-color: var(--jhfaq-wine);
  background: var(--jhfaq-wine);
  transform: rotate(180deg);
}

.jhfaq details.jhfaq-item[open] .jhfaq-chevron::before,
.jhfaq details.jhfaq-item[open] .jhfaq-chevron::after {
  background: #ffffff;
}

.jhfaq details.jhfaq-item[open] .jhfaq-chevron::after {
  opacity: 0;
}

.jhfaq-answer {
  padding: 0 17px 17px;
  border-top: 1px solid #eee5ea;
  background: linear-gradient(145deg, #ffffff, #fefcfd);
}

.jhfaq-answer p {
  margin: 14px 0 0 !important;
  color: var(--jhfaq-text) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  text-align: left !important;
}

.jhfaq-answer strong {
  color: var(--jhfaq-wine);
  font-weight: 300;
}

.jhfaq-answer a {
  color: var(--jhfaq-blue-dark);
  font-weight: 300;
  text-decoration: underline;
  text-decoration-color: rgba(47, 101, 146, 0.34);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.jhfaq-answer a:hover,
.jhfaq-answer a:focus-visible {
  color: var(--jhfaq-wine);
  text-decoration-color: var(--jhfaq-wine);
  outline: none;
}

.jhfaq-empty {
  padding: 34px 24px;
  border: 1px dashed #cdbac4;
  border-radius: 15px;
  background: linear-gradient(145deg, #ffffff, #fcf8fa);
  text-align: center;
}

.jhfaq-empty > span {
  display: grid;
  width: 52px;
  height: 52px;
  margin: 0 auto 12px;
  place-items: center;
  border-radius: 50%;
  background: var(--jhfaq-wine);
  color: #ffffff;
  font-size: 26px;
  font-style: italic;
}

.jhfaq-empty h2 {
  margin: 0 !important;
  color: var(--jhfaq-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 26px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  text-transform: none !important;
}

.jhfaq-empty p {
  margin: 8px auto 14px !important;
  max-width: 560px;
  color: var(--jhfaq-muted) !important;
  font-size: 15px !important;
  font-style: italic;
  line-height: 1.4 !important;
  text-align: center !important;
}

.jhfaq-contact {
  position: relative;
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  margin-top: 24px;
  padding: clamp(20px, 3vw, 28px);
  overflow: hidden;
  border: 1px solid rgba(97, 12, 58, 0.2);
  border-top: 3px solid var(--jhfaq-magenta);
  border-radius: 15px;
  background: radial-gradient(circle at 100% 0, rgba(227, 17, 255, 0.08), transparent 34%), linear-gradient(135deg, #ffffff, #faf6f8);
  box-shadow: 0 12px 28px rgba(53, 18, 47, 0.075);
}

.jhfaq-contact__mark {
  display: grid;
  width: 64px;
  height: 64px;
  place-items: center;
  border-radius: 17px;
  background: linear-gradient(145deg, var(--jhfaq-wine), var(--jhfaq-wine-deep));
  color: #ffffff;
  font-size: 22px;
  font-style: italic;
  letter-spacing: 0.04em;
  box-shadow: 0 9px 19px rgba(97, 12, 58, 0.2);
}

.jhfaq-contact__copy > span {
  color: var(--jhfaq-blue);
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  letter-spacing: 0.085em;
}

.jhfaq-contact h2 {
  margin: 5px 0 0 !important;
  color: var(--jhfaq-ink) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: clamp(24px, 2.7vw, 33px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.12 !important;
  text-transform: none !important;
}

.jhfaq-contact p {
  margin: 8px 0 0 !important;
  color: var(--jhfaq-text) !important;
  font-size: 15px !important;
  font-style: italic;
  line-height: 1.4 !important;
  text-align: left !important;
}

.jhfaq-contact__actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 205px;
}

.jhfaq-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 44px;
  padding: 10px 14px;
  border-radius: 10px;
  font-size: 14px;
  font-style: italic;
  line-height: 1;
  outline: none;
  transition:
    color 0.18s ease,
    background 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}

.jhfaq-button--primary {
  border: 1px solid var(--jhfaq-wine);
  background: linear-gradient(135deg, var(--jhfaq-wine-soft), var(--jhfaq-wine-deep));
  color: #ffffff;
  box-shadow: 0 7px 16px rgba(97, 12, 58, 0.18);
}

.jhfaq-button--primary:hover,
.jhfaq-button--primary:focus-visible {
  border-color: var(--jhfaq-magenta);
  color: #ffffff;
  box-shadow: 0 10px 21px rgba(97, 12, 58, 0.27);
  transform: translateY(-2px);
}

.jhfaq-button--secondary {
  border: 1px solid #cadbe7;
  background: var(--jhfaq-blue-soft);
  color: var(--jhfaq-blue-dark);
}

.jhfaq-button--secondary:hover,
.jhfaq-button--secondary:focus-visible {
  border-color: var(--jhfaq-blue);
  background: var(--jhfaq-blue);
  color: #ffffff;
  transform: translateY(-2px);
}

.jhfaq-updated {
  margin: 13px 2px 0 !important;
  color: var(--jhfaq-muted) !important;
  font-size: 13px !important;
  font-style: italic;
  line-height: 1.35 !important;
  text-align: center !important;
}

@media (max-width: 1040px) {
  .jhfaq-hero {
    grid-template-columns: minmax(0, 1.2fr) minmax(285px, 0.8fr);
  }

  .jhfaq-layout {
    grid-template-columns: 210px minmax(0, 1fr);
    gap: 16px;
  }

  .jhfaq-sidebar__card {
    padding: 14px;
  }

  .jhfaq-contact {
    grid-template-columns: 58px minmax(0, 1fr);
  }

  .jhfaq-contact__mark {
    width: 54px;
    height: 54px;
    border-radius: 14px;
    font-size: 18px;
  }

  .jhfaq-contact__actions {
    grid-column: 2;
    flex-direction: row;
    min-width: 0;
  }
}

@media (max-width: 860px) {
  .jhfaq-hero {
    grid-template-columns: 1fr;
  }

  .jhfaq-layout {
    grid-template-columns: 1fr;
  }

  .jhfaq-sidebar {
    position: static;
  }

  .jhfaq-sidebar__card nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhfaq-tools {
    grid-template-columns: 1fr;
  }

  .jhfaq-tools__actions {
    justify-content: flex-start;
    padding-bottom: 0;
  }
}

@media (max-width: 640px) {
  .jhfaq {
    font-size: 16px;
  }

  .jhfaq-hero {
    padding: 21px 17px 19px;
    border-radius: 14px;
  }

  .jhfaq-hero h2 {
    font-size: clamp(29px, 9vw, 38px) !important;
  }

  .jhfaq-hero__lead {
    font-size: 16px !important;
    text-align: left !important;
  }

  .jhfaq-hero__quick {
    grid-template-columns: 1fr 1fr;
  }

  .jhfaq-quick-card {
    grid-template-columns: 36px minmax(0, 1fr);
    min-height: 74px;
    padding: 10px;
  }

  .jhfaq-quick-card__arrow {
    display: none;
  }

  .jhfaq-nav {
    flex-wrap: nowrap;
    margin-right: -15px;
    margin-left: -15px;
    padding: 0 15px 4px;
    overflow-x: auto;
    scrollbar-width: thin;
    scroll-snap-type: x proximity;
  }

  .jhfaq-nav a {
    flex: 0 0 auto;
    scroll-snap-align: start;
  }

  .jhfaq-tools {
    padding: 14px;
    border-radius: 12px;
  }

  .jhfaq-search__field input {
    min-height: 48px;
    font-size: 16px;
  }

  .jhfaq-tools__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .jhfaq-tools__actions button {
    width: 100%;
  }

  .jhfaq-filters {
    flex-wrap: nowrap;
    margin-right: -14px;
    margin-left: -14px;
    padding-right: 14px;
    padding-left: 14px;
    overflow-x: auto;
    scrollbar-width: thin;
  }

  .jhfaq-filter {
    flex: 0 0 auto;
  }

  .jhfaq-sidebar__card nav {
    grid-template-columns: 1fr;
  }

  .jhfaq-category {
    padding: 14px;
    border-radius: 13px;
  }

  .jhfaq-category__header {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 11px;
  }

  .jhfaq-category__number {
    width: 43px;
    height: 43px;
    border-radius: 11px;
    font-size: 13px;
  }

  .jhfaq-category__count {
    grid-column: 2;
    justify-self: start;
  }

  .jhfaq-category__header h2 {
    font-size: 25px !important;
  }

  .jhfaq details.jhfaq-item > summary {
    grid-template-columns: minmax(0, 1fr) 30px;
    gap: 9px;
    min-height: 57px;
    padding: 13px 12px 13px 14px !important;
    font-size: 16px !important;
  }

  .jhfaq-chevron {
    width: 29px;
    height: 29px;
  }

  .jhfaq-answer {
    padding: 0 14px 15px;
  }

  .jhfaq-answer p {
    font-size: 15.5px !important;
  }

  .jhfaq-contact {
    grid-template-columns: 1fr;
    padding: 18px;
    text-align: left;
  }

  .jhfaq-contact__actions {
    grid-column: auto;
    flex-direction: column;
  }

  .jhfaq-contact__mark {
    width: 48px;
    height: 48px;
  }
}

@media (max-width: 420px) {
  .jhfaq-hero__quick {
    grid-template-columns: 1fr;
  }

  .jhfaq-hero__meta span {
    width: 100%;
    justify-content: center;
  }

  .jhfaq-tools__actions {
    grid-template-columns: 1fr;
  }

  .jhfaq-category__header p {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhfaq *,
  .jhfaq *::before,
  .jhfaq *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media print {
  .jhfaq {
    max-width: none;
    color: #000000;
    font-size: 11pt;
  }

  .jhfaq-hero,
  .jhfaq-tools,
  .jhfaq-category,
  .jhfaq-contact,
  .jhfaq-sidebar__card,
  .jhfaq-sidebar__note {
    box-shadow: none !important;
    background: #ffffff !important;
  }

  .jhfaq-nav,
  .jhfaq-tools,
  .jhfaq-sidebar,
  .jhfaq-contact__actions,
  .jhfaq-updated {
    display: none !important;
  }

  .jhfaq-layout {
    display: block;
  }

  .jhfaq-category {
    margin-bottom: 14px;
    break-inside: avoid;
  }

  .jhfaq details.jhfaq-item {
    break-inside: avoid;
  }

  .jhfaq details.jhfaq-item > summary {
    color: #000000 !important;
  }
}

/* ==========================================================================
   @JH-32B — FAQ MEDIUM-WIDTH LAYOUT + TEXT VISIBILITY FAILSAFE
   Owner selectors: .jhfaq hero, quick links, nav, and action controls
   Scope status: FAQ ONLY / append after @JH-32
   Fix date: 2 August 2026
   ========================================================================== */

/* Keep all FAQ UI text visible even when older theme rules target buttons,
   spans, small, strong, or links with greater inherited styling. */
.jhfaq .jhfaq-quick-card,
.jhfaq .jhfaq-nav a,
.jhfaq .jhfaq-tools__actions button,
.jhfaq .jhfaq-filter,
.jhfaq .jhfaq-button,
.jhfaq .jhfaq-empty button {
  text-indent: 0 !important;
  text-shadow: none !important;
  -webkit-text-fill-color: currentColor !important;
}

.jhfaq .jhfaq-quick-card__copy {
  position: static !important;
  display: flex !important;
  visibility: visible !important;
  min-width: 0 !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  transform: none !important;
  line-height: 1.15 !important;
}

.jhfaq .jhfaq-quick-card__label,
.jhfaq .jhfaq-quick-card__title {
  position: static !important;
  display: block !important;
  visibility: visible !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  float: none !important;
  clear: none !important;
  opacity: 1 !important;
  transform: none !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  text-align: left !important;
  text-decoration: none !important;
  text-indent: 0 !important;
}

.jhfaq .jhfaq-quick-card__label {
  color: #766a70 !important;
  font-family: "NexusSansTF-Regular", Arial, sans-serif !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-variant: normal !important;
  font-weight: 400 !important;
  letter-spacing: 0.055em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  -webkit-text-fill-color: #766a70 !important;
}

.jhfaq .jhfaq-quick-card__title {
  color: #610c3a !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 16px !important;
  font-style: italic !important;
  font-variant: normal !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.18 !important;
  text-transform: none !important;
  -webkit-text-fill-color: #610c3a !important;
}

/* More balanced desktop hero. It remains two columns only when there is
   enough real content width; medium OJS layouts switch to a clean stack. */
.jhfaq .jhfaq-hero {
  grid-template-columns: minmax(0, 1.18fr) minmax(390px, 0.82fr) !important;
  gap: clamp(28px, 3.5vw, 46px) !important;
}

.jhfaq .jhfaq-hero h2 {
  max-width: 720px !important;
  font-size: clamp(36px, 3.7vw, 50px) !important;
  letter-spacing: 0.025em !important;
  line-height: 1.08 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

.jhfaq .jhfaq-hero__lead {
  max-width: 720px !important;
}

.jhfaq .jhfaq-quick-card {
  grid-template-columns: 42px minmax(0, 1fr) 18px !important;
  gap: 12px !important;
  min-height: 92px !important;
  padding: 14px !important;
}

.jhfaq .jhfaq-quick-card__mark {
  width: 42px !important;
  height: 42px !important;
}

/* Stable, readable category navigation instead of uneven wrapping pills. */
.jhfaq .jhfaq-nav {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 0 0 20px !important;
  overflow: visible !important;
}

.jhfaq .jhfaq-nav a {
  display: grid !important;
  grid-template-columns: 30px minmax(0, 1fr) !important;
  justify-content: stretch !important;
  align-items: center !important;
  gap: 9px !important;
  min-width: 0 !important;
  min-height: 46px !important;
  padding: 8px 12px !important;
  border-radius: 11px !important;
  font-family: "NexusSansTF-Regular", Arial, sans-serif !important;
  font-size: 12.5px !important;
  font-style: normal !important;
  font-variant: normal !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  line-height: 1.22 !important;
  text-align: left !important;
  text-transform: none !important;
  white-space: normal !important;
  -webkit-text-fill-color: #204866 !important;
}

.jhfaq .jhfaq-nav__number {
  display: grid !important;
  width: 30px !important;
  height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  place-items: center !important;
  border-radius: 8px !important;
  background: #f4eef1 !important;
  color: #610c3a !important;
  font-family: "NexusSansTF-Regular", Arial, sans-serif !important;
  font-size: 10.5px !important;
  font-style: normal !important;
  font-variant: normal !important;
  font-weight: 600 !important;
  letter-spacing: 0.055em !important;
  line-height: 1 !important;
  -webkit-text-fill-color: #610c3a !important;
}

.jhfaq .jhfaq-nav__label {
  position: static !important;
  display: block !important;
  visibility: visible !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  transform: none !important;
  color: #204866 !important;
  line-height: 1.22 !important;
  -webkit-text-fill-color: #204866 !important;
}

.jhfaq .jhfaq-nav a:hover,
.jhfaq .jhfaq-nav a:focus-visible {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.jhfaq .jhfaq-nav a:hover .jhfaq-nav__label,
.jhfaq .jhfaq-nav a:focus-visible .jhfaq-nav__label {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.jhfaq .jhfaq-nav a:hover .jhfaq-nav__number,
.jhfaq .jhfaq-nav a:focus-visible .jhfaq-nav__number {
  background: rgba(255, 255, 255, 0.17) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Visible and vertically centred utility buttons. */
.jhfaq .jhfaq-tools {
  align-items: center !important;
}

.jhfaq .jhfaq-tools__actions {
  align-self: end !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  padding: 0 0 24px !important;
}

.jhfaq .jhfaq-tools__actions button,
.jhfaq .jhfaq-empty button {
  position: relative !important;
  display: inline-flex !important;
  visibility: visible !important;
  min-width: 132px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 9px 14px !important;
  overflow: visible !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(97, 12, 58, 0.3) !important;
  border-radius: 9px !important;
  background: #ffffff !important;
  color: #610c3a !important;
  font-family: "NexusSansTF-Regular", Arial, sans-serif !important;
  font-size: 12.5px !important;
  font-style: normal !important;
  font-variant: normal !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  opacity: 1 !important;
  text-align: center !important;
  text-transform: none !important;
  white-space: nowrap !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  -webkit-text-fill-color: #610c3a !important;
}

.jhfaq .jhfaq-tools__actions button > span,
.jhfaq .jhfaq-empty button > span {
  position: static !important;
  display: inline !important;
  visibility: visible !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  opacity: 1 !important;
  transform: none !important;
  color: inherit !important;
  font: inherit !important;
  line-height: inherit !important;
  text-indent: 0 !important;
  -webkit-text-fill-color: currentColor !important;
}

.jhfaq .jhfaq-tools__actions button:hover,
.jhfaq .jhfaq-tools__actions button:focus-visible,
.jhfaq .jhfaq-empty button:hover,
.jhfaq .jhfaq-empty button:focus-visible {
  border-color: #610c3a !important;
  background: #610c3a !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.jhfaq .jhfaq-filter {
  color: #204866 !important;
  font-family: "NexusSansTF-Regular", Arial, sans-serif !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-variant: normal !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  -webkit-text-fill-color: #204866 !important;
}

.jhfaq .jhfaq-filter[aria-pressed="true"] {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

@media (max-width: 1120px) {
  .jhfaq .jhfaq-hero {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
  }

  .jhfaq .jhfaq-hero h2 {
    max-width: 840px !important;
    font-size: clamp(36px, 6vw, 48px) !important;
  }

  .jhfaq .jhfaq-hero__lead {
    max-width: 820px !important;
  }

  .jhfaq .jhfaq-hero__quick {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .jhfaq .jhfaq-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 860px) {
  .jhfaq .jhfaq-tools__actions {
    justify-content: flex-start !important;
    padding-bottom: 0 !important;
  }
}

@media (max-width: 640px) {
  .jhfaq .jhfaq-hero h2 {
    font-size: clamp(31px, 9vw, 40px) !important;
    letter-spacing: 0.015em !important;
  }

  .jhfaq .jhfaq-hero__quick,
  .jhfaq .jhfaq-nav {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .jhfaq .jhfaq-nav {
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding: 0 !important;
    overflow-x: visible !important;
  }

  .jhfaq .jhfaq-quick-card {
    grid-template-columns: 42px minmax(0, 1fr) 18px !important;
  }

  .jhfaq .jhfaq-quick-card__arrow {
    display: block !important;
  }

  .jhfaq .jhfaq-tools__actions {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .jhfaq .jhfaq-tools__actions button {
    width: 100% !important;
    white-space: normal !important;
  }
}

/* ==========================================================================
   @JH-32C — FAQ COMPACT PERPETUA REFINEMENT
   [TUNE 2026-08-02 | @JH-32C | Compact hero, navigation and controls; Perpetua-dominant typography]
   Place this block at the VERY END of the active J-HyTEL stylesheet.
   ========================================================================== */

/* Dominant journal typography. Small functional labels remain sans serif. */
.jhfaq,
.jhfaq p,
.jhfaq a,
.jhfaq button,
.jhfaq input,
.jhfaq summary,
.jhfaq h2,
.jhfaq h3,
.jhfaq strong {
  font-family: "Perpetua", Georgia, "Times New Roman", serif !important;
}

.jhfaq {
  --jhfaq-compact-wine: #610c3a;
  --jhfaq-compact-blue: #2f6592;
  --jhfaq-compact-ink: #30272c;
  --jhfaq-compact-muted: #756871;
}

/* Hero: preserves the J-HyTEL wine/blue editorial look without excessive height. */
.jhfaq .jhfaq-hero {
  grid-template-columns: minmax(265px, 0.82fr) minmax(420px, 1.18fr) !important;
  gap: clamp(22px, 3vw, 34px) !important;
  align-items: center !important;
  min-height: 0 !important;
  margin-bottom: 12px !important;
  padding: clamp(24px, 3.2vw, 32px) clamp(24px, 3.6vw, 36px) !important;
  border-radius: 16px !important;
}

.jhfaq .jhfaq-hero::after {
  right: 18px !important;
  bottom: -50px !important;
  font-size: clamp(150px, 19vw, 220px) !important;
  opacity: 0.75 !important;
}

.jhfaq .jhfaq-kicker {
  font-family: "NexusSansTF-Regular", Arial, sans-serif !important;
  font-size: 10.5px !important;
  font-style: normal !important;
  font-variant: normal !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

.jhfaq .jhfaq-hero h2 {
  max-width: 360px !important;
  margin: 7px 0 0 !important;
  color: var(--jhfaq-compact-ink) !important;
  font-size: clamp(35px, 4.1vw, 43px) !important;
  font-style: italic !important;
  font-variant: normal !important;
  font-weight: 400 !important;
  letter-spacing: 0.012em !important;
  line-height: 1.01 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

.jhfaq .jhfaq-hero h2 > span {
  display: block !important;
  white-space: nowrap !important;
}

.jhfaq .jhfaq-hero__lead {
  max-width: 350px !important;
  margin: 14px 0 0 !important;
  color: #4b3f46 !important;
  font-size: 16px !important;
  font-style: italic !important;
  line-height: 1.47 !important;
}

.jhfaq .jhfaq-hero__meta {
  gap: 5px 12px !important;
  margin-top: 15px !important;
}

.jhfaq .jhfaq-hero__meta span {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #665860 !important;
  font-size: 14px !important;
  font-style: normal !important;
  line-height: 1.25 !important;
}

.jhfaq .jhfaq-hero__meta span + span::before {
  content: "·";
  margin-right: 7px;
  color: #b79ca9;
}

.jhfaq .jhfaq-hero__meta strong {
  color: var(--jhfaq-compact-wine) !important;
  font-size: 15px !important;
  font-style: normal !important;
  font-weight: 400 !important;
}

/* Compact 2 × 2 service cards. */
.jhfaq .jhfaq-hero__quick {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 9px !important;
}

.jhfaq .jhfaq-quick-card {
  grid-template-columns: 38px minmax(0, 1fr) 15px !important;
  gap: 10px !important;
  min-height: 72px !important;
  padding: 10px 11px !important;
  border-radius: 11px !important;
  box-shadow: 0 5px 14px rgba(53, 18, 47, 0.045) !important;
}

.jhfaq .jhfaq-quick-card__mark {
  width: 38px !important;
  height: 38px !important;
  border-radius: 10px !important;
  font-size: 15px !important;
}

.jhfaq .jhfaq-quick-card__label {
  font-family: "NexusSansTF-Regular", Arial, sans-serif !important;
  font-size: 9.5px !important;
  font-style: normal !important;
  font-weight: 500 !important;
  letter-spacing: 0.09em !important;
  line-height: 1.1 !important;
}

.jhfaq .jhfaq-quick-card__title {
  margin-top: 2px !important;
  color: var(--jhfaq-compact-wine) !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 15px !important;
  font-style: italic !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.12 !important;
}

.jhfaq .jhfaq-quick-card__arrow {
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 16px !important;
}

/* Compact journal-style section shortcuts. */
.jhfaq .jhfaq-nav {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 7px !important;
  margin: 0 0 16px !important;
}

.jhfaq .jhfaq-nav a {
  grid-template-columns: 27px minmax(0, 1fr) !important;
  gap: 7px !important;
  min-height: 43px !important;
  padding: 6px 9px !important;
  border-radius: 10px !important;
  color: #244c69 !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 14px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.08 !important;
  -webkit-text-fill-color: #244c69 !important;
}

.jhfaq .jhfaq-nav__number {
  width: 27px !important;
  height: 27px !important;
  border-radius: 7px !important;
  font-family: "NexusSansTF-Regular", Arial, sans-serif !important;
  font-size: 9px !important;
  font-style: normal !important;
  font-weight: 600 !important;
}

.jhfaq .jhfaq-nav__label {
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 14px !important;
  line-height: 1.08 !important;
}

/* Search, filters and action buttons follow the same Perpetua-led language. */
.jhfaq .jhfaq-tools {
  gap: 10px 14px !important;
  margin-bottom: 18px !important;
  padding: 14px !important;
  border-radius: 13px !important;
}

.jhfaq .jhfaq-search label {
  margin-bottom: 5px !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 15px !important;
  font-style: italic !important;
  font-variant: normal !important;
  letter-spacing: 0.02em !important;
}

.jhfaq .jhfaq-search__field input {
  min-height: 44px !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  font-size: 16px !important;
}

.jhfaq .jhfaq-tools__actions {
  gap: 6px !important;
  padding-bottom: 20px !important;
}

.jhfaq .jhfaq-tools__actions button,
.jhfaq .jhfaq-empty button {
  min-width: 118px !important;
  min-height: 36px !important;
  padding: 7px 11px !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 14px !important;
  font-style: italic !important;
  font-weight: 400 !important;
}

.jhfaq .jhfaq-filters {
  gap: 6px !important;
  padding-top: 10px !important;
}

.jhfaq .jhfaq-filter {
  min-height: 31px !important;
  padding: 5px 10px !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 13px !important;
  font-style: italic !important;
  font-weight: 400 !important;
}

/* FAQ content remains readable while reducing unnecessary vertical space. */
.jhfaq .jhfaq-layout {
  gap: 18px !important;
}

.jhfaq .jhfaq-category {
  margin-bottom: 16px !important;
  border-radius: 13px !important;
}

.jhfaq .jhfaq-category__header {
  gap: 12px !important;
  padding: 15px 16px !important;
}

.jhfaq .jhfaq-category__number {
  width: 42px !important;
  height: 42px !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 18px !important;
}

.jhfaq .jhfaq-category__eyebrow {
  font-family: "NexusSansTF-Regular", Arial, sans-serif !important;
  font-size: 9.5px !important;
  font-style: normal !important;
  letter-spacing: 0.1em !important;
}

.jhfaq .jhfaq-category__header h2 {
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 25px !important;
  font-style: italic !important;
  font-variant: normal !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.05 !important;
}

.jhfaq .jhfaq-category__header p {
  margin-top: 3px !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
}

.jhfaq .jhfaq-category__count {
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 13px !important;
  font-style: italic !important;
}

.jhfaq details.jhfaq-item {
  margin: 0 !important;
  border-radius: 0 !important;
}

.jhfaq details.jhfaq-item > summary {
  min-height: 50px !important;
  padding: 11px 15px !important;
}

.jhfaq .jhfaq-question {
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 16.5px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
}

.jhfaq .jhfaq-answer {
  padding: 0 15px 14px !important;
}

.jhfaq .jhfaq-answer p,
.jhfaq .jhfaq-answer li {
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 15.5px !important;
  line-height: 1.48 !important;
}

/* Compact support panel and reliably visible action labels. */
.jhfaq .jhfaq-contact {
  grid-template-columns: 54px minmax(0, 1fr) minmax(190px, 220px) !important;
  gap: 14px !important;
  margin-top: 18px !important;
  padding: 18px 20px !important;
  border-radius: 14px !important;
}

.jhfaq .jhfaq-contact__mark {
  width: 50px !important;
  height: 50px !important;
  border-radius: 14px !important;
  font-size: 18px !important;
}

.jhfaq .jhfaq-contact__copy > span {
  font-family: "NexusSansTF-Regular", Arial, sans-serif !important;
  font-size: 9.5px !important;
  font-style: normal !important;
  font-variant: normal !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

.jhfaq .jhfaq-contact h2 {
  margin-top: 3px !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 25px !important;
  font-style: italic !important;
  font-variant: normal !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.05 !important;
}

.jhfaq .jhfaq-contact p {
  margin-top: 5px !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
}

.jhfaq .jhfaq-contact__actions {
  gap: 7px !important;
  min-width: 0 !important;
}

.jhfaq .jhfaq-button {
  min-height: 39px !important;
  padding: 8px 12px !important;
  color: inherit !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 14px !important;
  font-style: italic !important;
  font-weight: 400 !important;
  -webkit-text-fill-color: currentColor !important;
}

.jhfaq .jhfaq-button--primary,
.jhfaq .jhfaq-button--primary span {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.jhfaq .jhfaq-button--secondary,
.jhfaq .jhfaq-button--secondary span {
  color: #245171 !important;
  -webkit-text-fill-color: #245171 !important;
}

.jhfaq .jhfaq-button--secondary:hover,
.jhfaq .jhfaq-button--secondary:focus-visible,
.jhfaq .jhfaq-button--secondary:hover span,
.jhfaq .jhfaq-button--secondary:focus-visible span {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.jhfaq .jhfaq-updated {
  margin-top: 10px !important;
  font-size: 12.5px !important;
}

/* OJS content-width breakpoint: keep the desktop composition compact longer. */
@media (max-width: 900px) {
  .jhfaq .jhfaq-hero {
    grid-template-columns: minmax(250px, 0.8fr) minmax(390px, 1.2fr) !important;
    gap: 20px !important;
    padding: 24px !important;
  }

  .jhfaq .jhfaq-hero h2 {
    font-size: 36px !important;
  }

  .jhfaq .jhfaq-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  .jhfaq .jhfaq-hero {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  .jhfaq .jhfaq-hero h2,
  .jhfaq .jhfaq-hero__lead {
    max-width: 100% !important;
  }

  .jhfaq .jhfaq-hero h2 > span {
    white-space: normal !important;
  }

  .jhfaq .jhfaq-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .jhfaq .jhfaq-contact {
    grid-template-columns: 50px minmax(0, 1fr) !important;
  }

  .jhfaq .jhfaq-contact__actions {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px) {
  .jhfaq .jhfaq-hero {
    padding: 20px 17px !important;
  }

  .jhfaq .jhfaq-hero h2 {
    font-size: clamp(31px, 10vw, 37px) !important;
  }

  .jhfaq .jhfaq-hero__quick,
  .jhfaq .jhfaq-nav {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .jhfaq .jhfaq-contact {
    grid-template-columns: 1fr !important;
    text-align: left !important;
  }

  .jhfaq .jhfaq-contact__actions {
    grid-column: auto !important;
    grid-template-columns: 1fr !important;
  }
}
/* ==========================================================================
   @JH-32D — FAQ TYPOGRAPHY ALIGNED WITH PREPRINT POLICY PAGE
   [TUNE 2026-08-02 | @JH-32D | Match .jhpre-policy Perpetua editorial typography]
   Place this block at the VERY END of the active J-HyTEL stylesheet.
   ========================================================================== */

/* Base typography mirrors @JH-28 (.jhpre-policy). */
.jhfaq {
  color: #4d4248 !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
}

.jhfaq *,
.jhfaq *::before,
.jhfaq *::after {
  font-family: inherit;
}

.jhfaq p,
.jhfaq li,
.jhfaq blockquote,
.jhfaq input,
.jhfaq button,
.jhfaq summary,
.jhfaq a,
.jhfaq small,
.jhfaq strong,
.jhfaq span {
  font-family: "Perpetua", Georgia, serif !important;
}

.jhfaq p,
.jhfaq li {
  color: #4d4248 !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  word-spacing: normal !important;
}

/* Hero typography follows the Preprint & Prior Dissemination policy hero. */
.jhfaq .jhfaq-kicker {
  display: block !important;
  margin: 0 0 6px !important;
  color: #2f6592 !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-variant-caps: unicase !important;
  line-height: 1 !important;
  letter-spacing: 0.095em !important;
  text-transform: none !important;
}

.jhfaq .jhfaq-hero h2 {
  max-width: 430px !important;
  margin: 0 !important;
  color: #2f272c !important;
  font-family: "Perpetua", Georgia, serif !important;
  font-size: clamp(34px, 3.6vw, 45px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-variant-caps: unicase !important;
  line-height: 1.1 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
  text-wrap: balance !important;
}

.jhfaq .jhfaq-hero h2 > span {
  display: block !important;
  white-space: normal !important;
}

.jhfaq .jhfaq-hero__lead {
  max-width: 440px !important;
  margin: 14px 0 0 !important;
  color: #4d4248 !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  font-style: italic !important;
  line-height: 1.55 !important;
  letter-spacing: normal !important;
  word-spacing: normal !important;
}

.jhfaq .jhfaq-hero__meta span,
.jhfaq .jhfaq-hero__meta strong {
  font-size: 15px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-variant-caps: unicase !important;
  letter-spacing: 0.035em !important;
  line-height: 1.15 !important;
}

.jhfaq .jhfaq-hero__meta strong {
  color: #610c3a !important;
}

/* Quick cards use the same label/title hierarchy as @JH-28 facts and policy cards. */
.jhfaq .jhfaq-quick-card__mark {
  font-size: 17px !important;
  font-weight: 300 !important;
  font-style: italic !important;
}

.jhfaq .jhfaq-quick-card__label {
  color: #766a70 !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-variant-caps: unicase !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  text-transform: none !important;
}

.jhfaq .jhfaq-quick-card__title {
  margin-top: 5px !important;
  color: #610c3a !important;
  font-size: 17px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-variant-caps: unicase !important;
  line-height: 1.2 !important;
  letter-spacing: 0.025em !important;
}

.jhfaq .jhfaq-quick-card__arrow {
  color: #2f6592 !important;
  font-size: 17px !important;
  font-weight: 300 !important;
  font-style: italic !important;
}

/* Section shortcuts mirror .jhpre-nav. */
.jhfaq .jhfaq-nav a,
.jhfaq .jhfaq-nav__label {
  color: #2f6592 !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-variant-caps: unicase !important;
  line-height: 1.08 !important;
  letter-spacing: 0.045em !important;
  text-transform: none !important;
  -webkit-text-fill-color: #2f6592 !important;
}

.jhfaq .jhfaq-nav__number {
  font-size: 13px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  letter-spacing: 0.07em !important;
}

.jhfaq .jhfaq-nav a:hover,
.jhfaq .jhfaq-nav a:focus-visible,
.jhfaq .jhfaq-nav a:hover .jhfaq-nav__label,
.jhfaq .jhfaq-nav a:focus-visible .jhfaq-nav__label {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Search and controls retain the editorial type treatment. */
.jhfaq .jhfaq-search label {
  color: #2f272c !important;
  font-size: 17px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-variant-caps: unicase !important;
  line-height: 1.15 !important;
  letter-spacing: 0.035em !important;
}

.jhfaq .jhfaq-search__field input {
  color: #4d4248 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 1.35 !important;
  letter-spacing: normal !important;
}

.jhfaq .jhfaq-search__field input::placeholder {
  color: #766a70 !important;
  font-style: italic !important;
  opacity: 0.86 !important;
}

.jhfaq .jhfaq-tools__actions button,
.jhfaq .jhfaq-filter,
.jhfaq .jhfaq-empty button,
.jhfaq .jhfaq-button {
  font-size: 14px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-variant-caps: unicase !important;
  line-height: 1 !important;
  letter-spacing: 0.045em !important;
  text-transform: none !important;
}

/* Category hierarchy follows @JH-28 foundation and policy-directory typography. */
.jhfaq .jhfaq-category__number {
  font-size: 15px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  letter-spacing: 0.07em !important;
}

.jhfaq .jhfaq-category__eyebrow {
  color: #2f6592 !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-variant-caps: unicase !important;
  line-height: 1 !important;
  letter-spacing: 0.095em !important;
  text-transform: none !important;
}

.jhfaq .jhfaq-category__header h2 {
  color: #2f272c !important;
  font-size: clamp(25px, 2.8vw, 34px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-variant-caps: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhfaq .jhfaq-category__header p {
  color: #766a70 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  font-style: italic !important;
  line-height: 1.4 !important;
}

.jhfaq .jhfaq-category__count {
  color: #2f6592 !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-variant-caps: unicase !important;
  letter-spacing: 0.045em !important;
}

/* Questions mirror @JH-28 policy-item headings; answers remain regular Perpetua. */
.jhfaq .jhfaq-question {
  color: #610c3a !important;
  font-size: 19.5px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-variant-caps: unicase !important;
  line-height: 1.16 !important;
  letter-spacing: 0.035em !important;
  text-transform: none !important;
}

.jhfaq .jhfaq-answer p,
.jhfaq .jhfaq-answer li {
  color: #4d4248 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 1.52 !important;
  letter-spacing: normal !important;
  word-spacing: normal !important;
}

.jhfaq .jhfaq-answer a {
  color: #2f6592 !important;
  font-weight: 600 !important;
  font-style: normal !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}

.jhfaq .jhfaq-answer a:hover,
.jhfaq .jhfaq-answer a:focus-visible {
  color: #610c3a !important;
}

/* Contact panel and maintenance note use the same policy-page heading language. */
.jhfaq .jhfaq-contact__mark {
  font-size: 19px !important;
  font-weight: 300 !important;
  font-style: italic !important;
}

.jhfaq .jhfaq-contact__copy > span {
  color: #2f6592 !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-variant-caps: unicase !important;
  line-height: 1 !important;
  letter-spacing: 0.095em !important;
  text-transform: none !important;
}

.jhfaq .jhfaq-contact h2 {
  color: #2f272c !important;
  font-size: clamp(24px, 2.6vw, 32px) !important;
  font-weight: 300 !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-variant-caps: unicase !important;
  line-height: 1.14 !important;
  letter-spacing: 0.055em !important;
  text-transform: none !important;
}

.jhfaq .jhfaq-contact p {
  color: #4d4248 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 1.48 !important;
}

.jhfaq .jhfaq-updated {
  color: #766a70 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  font-style: italic !important;
  line-height: 1.4 !important;
}

/* Keep the typography compact and readable on smaller OJS content widths. */
@media (max-width: 900px) {
  .jhfaq .jhfaq-hero h2 {
    font-size: 38px !important;
  }

  .jhfaq .jhfaq-question {
    font-size: 18px !important;
  }
}

@media (max-width: 760px) {
  .jhfaq .jhfaq-hero h2 {
    max-width: 100% !important;
    font-size: clamp(33px, 8vw, 40px) !important;
  }

  .jhfaq .jhfaq-hero__lead {
    font-size: 17px !important;
  }
}

@media (max-width: 520px) {
  .jhfaq {
    font-size: 16px !important;
  }

  .jhfaq .jhfaq-kicker,
  .jhfaq .jhfaq-category__eyebrow,
  .jhfaq .jhfaq-contact__copy > span {
    font-size: 12px !important;
  }

  .jhfaq .jhfaq-category__header h2 {
    font-size: 26px !important;
  }

  .jhfaq .jhfaq-question {
    font-size: 17.5px !important;
  }

  .jhfaq .jhfaq-answer p,
  .jhfaq .jhfaq-answer li {
    font-size: 15.5px !important;
  }
}

/* ========================================================================== 
   @JH-32E — FAQ HERO QUICK LINKS: FOUR STACKED ROWS
   [FIX 2026-08-03 | Prevent service cards from clipping on narrow layouts]
   Append this block at the VERY END of the active J-HyTEL stylesheet.
   ========================================================================== */

/* Keep the service area as one vertical list on every screen size. */
.jhfaq .jhfaq-hero__quick {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  overflow: visible !important;
}

/* One compact full-width row: icon | text | arrow. */
.jhfaq .jhfaq-quick-card {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) 22px !important;
  align-items: center !important;
  column-gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 62px !important;
  padding: 9px 13px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.jhfaq .jhfaq-quick-card__mark {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  margin: 0 !important;
}

.jhfaq .jhfaq-quick-card__copy {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.jhfaq .jhfaq-quick-card__label,
.jhfaq .jhfaq-quick-card__title {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  margin-right: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.jhfaq .jhfaq-quick-card__label {
  margin-bottom: 3px !important;
  font-size: 12px !important;
  line-height: 1 !important;
}

.jhfaq .jhfaq-quick-card__title {
  margin-top: 0 !important;
  font-size: 16px !important;
  line-height: 1.12 !important;
}

.jhfaq .jhfaq-quick-card__arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  min-width: 22px !important;
  margin: 0 !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

/* Give the right hero column enough usable width on desktop. */
@media (min-width: 769px) {
  .jhfaq .jhfaq-hero {
    grid-template-columns: minmax(260px, 0.9fr) minmax(300px, 1.1fr) !important;
    column-gap: 26px !important;
  }
}

/* On phones, keep cards readable without clipping. */
@media (max-width: 520px) {
  .jhfaq .jhfaq-quick-card {
    grid-template-columns: 38px minmax(0, 1fr) 20px !important;
    column-gap: 10px !important;
    min-height: 58px !important;
    padding: 8px 10px !important;
  }

  .jhfaq .jhfaq-quick-card__mark {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
  }

  .jhfaq .jhfaq-quick-card__label {
    font-size: 11px !important;
  }

  .jhfaq .jhfaq-quick-card__title {
    font-size: 15px !important;
  }
}

.jhmr-status {
  font-size: 13px !important;
}

/* =========================================================
   J-HyTEL — MINIMAL EDITORIAL HOMEPAGE REFINEMENT
   Add this block AFTER the existing OJS custom stylesheet.
   Scope: .jhsuite-refined only; no JavaScript required.
   ========================================================= */

.jhsuite-refined {
  --jhr-wine: #610c3a;
  --jhr-wine-strong: #4a082d;
  --jhr-wine-soft: #8a1455;
  --jhr-indigo: #2d46a5;
  --jhr-ink: #30272d;
  --jhr-text: #5f535b;
  --jhr-muted: #7a6e75;
  --jhr-line: #e8dce4;
  --jhr-line-strong: #dcc8d4;
  --jhr-paper: #ffffff;
  --jhr-blush: #fff8fc;
  --jhr-blush-soft: #fcf9fb;
  --jhr-focus: rgba(45, 70, 165, 0.28);
  --jhr-shadow: 0 10px 28px rgba(53, 18, 47, 0.065);
  --jhr-motion: cubic-bezier(0.22, 1, 0.36, 1);
  --jhr-display: "Perpetua", Georgia, "Times New Roman", serif;
  --jhr-ui: "NexusSansTF-Regular", Arial, sans-serif;

  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  color: var(--jhr-text);
  font-family: var(--jhr-display);
  text-align: left;
}

.jhsuite-refined,
.jhsuite-refined *,
.jhsuite-refined *::before,
.jhsuite-refined *::after {
  box-sizing: border-box;
}

.jhsuite-refined :is(h2, h3, p) {
  margin-top: 0;
  text-align: left;
  word-spacing: normal;
}

/* Shared editorial panel language */
.jhsuite-refined > :is(.jhsuite-timeline-section, .jhsuite-author-section, .jhytel-indexing) {
  position: relative;
  width: 100%;
  margin: 22px 0 0 !important;
  padding: clamp(22px, 3.3vw, 32px) !important;
  overflow: hidden;
  color: var(--jhr-text);
  background: radial-gradient(circle at 100% 0, rgba(97, 12, 58, 0.055), transparent 36%), linear-gradient(145deg, var(--jhr-paper) 0%, var(--jhr-blush-soft) 100%);
  border: 1px solid var(--jhr-line);
  border-left: 4px solid var(--jhr-wine);
  border-radius: 0 18px 18px 0;
  box-shadow: var(--jhr-shadow);
  font-family: var(--jhr-display);
  text-align: left;
}

.jhsuite-refined :is(.jhsuite-timeline-heading, .jhsuite-section-heading, .jhytel-indexing-header) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(255px, 0.68fr);
  align-items: end;
  gap: clamp(20px, 3vw, 34px);
  max-width: none !important;
  margin: 0 0 18px !important;
  text-align: left !important;
}

.jhsuite-refined .jhsuite-timeline-heading {
  grid-template-columns: minmax(0, 1fr) auto;
}

.jhsuite-refined :is(.jhsuite-kicker, .jhytel-indexing-kicker) {
  display: block;
  margin: 0 0 3px;
  color: var(--jhr-wine);
  font-family: var(--jhr-display);
  font-size: 1.02rem;
  font-style: italic;
  font-variant: unicase;
  font-weight: 400;
  letter-spacing: 0.065em;
  line-height: 1.25;
  text-transform: none;
}

.jhsuite-refined :is(.jhsuite-timeline-heading h2, .jhsuite-section-heading h2, .jhytel-indexing-header h2) {
  margin: 0;
  color: var(--jhr-ink);
  font-family: var(--jhr-display);
  font-size: clamp(1.72rem, 3vw, 2.18rem);
  font-style: italic;
  font-variant: unicase;
  font-weight: 400;
  letter-spacing: -0.012em;
  line-height: 1.08;
}

.jhsuite-refined :is(.jhsuite-timeline-heading-copy > p, .jhsuite-section-heading > p, .jhytel-indexing-header > p) {
  max-width: 39rem;
  margin: 7px 0 0 !important;
  color: var(--jhr-muted);
  font-family: var(--jhr-display);
  font-size: 0.98rem;
  line-height: 1.5;
}

/* Editorial timeline */
.jhsuite-refined .jhsuite-review-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 42px;
  padding: 9px 15px;
  color: var(--jhr-wine);
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid var(--jhr-line-strong);
  border-radius: 999px;
  box-shadow: 0 3px 10px rgba(53, 18, 47, 0.035);
  font-family: var(--jhr-display);
  font-size: 0.98rem;
  font-style: italic;
  line-height: 1.2;
  white-space: nowrap;
}

.jhsuite-refined .jhsuite-review-dot {
  width: 7px;
  height: 7px;
  background: var(--jhr-indigo);
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(45, 70, 165, 0.09);
  animation: jhr-review-pulse 2.8s ease-in-out infinite;
}

.jhsuite-refined .jhsuite-timeline-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 0;
  padding: 0;
  isolation: isolate;
  list-style: none !important;
}

.jhsuite-refined .jhsuite-timeline-grid::before {
  content: none;
  display: none;
}

.jhsuite-refined .jhsuite-timeline-grid > li,
.jhsuite-refined .jhsuite-timeline-grid > li::marker {
  margin: 0;
  padding: 0;
  list-style: none !important;
  content: "";
}

.jhsuite-refined .jhsuite-timeline-card {
  --jhr-stage: var(--jhr-wine);
  --jhr-stage-soft: rgba(97, 12, 58, 0.075);

  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: auto 1fr;
  min-width: 0;
  min-height: 164px;
  overflow: visible;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid var(--jhr-line);
  border-radius: 16px;
  box-shadow: 0 7px 20px rgba(53, 18, 47, 0.055);
  animation: jhr-timeline-reveal 0.72s var(--jhr-motion) both;
  transition:
    translate 0.28s var(--jhr-motion),
    border-color 0.28s ease,
    box-shadow 0.28s ease;
}

.jhsuite-refined .jhsuite-stage-two {
  --jhr-stage: var(--jhr-indigo);
  --jhr-stage-soft: rgba(45, 70, 165, 0.075);
  animation-delay: 0.11s;
}

.jhsuite-refined .jhsuite-stage-three {
  --jhr-stage: #1f6a53;
  --jhr-stage-soft: rgba(31, 106, 83, 0.08);
  animation-delay: 0.22s;
}

.jhsuite-refined .jhsuite-timeline-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  z-index: 2;
  width: auto;
  height: 3px;
  background: var(--jhr-stage);
  border-radius: 16px 16px 0 0;
  transform: scaleX(0.3);
  transform-origin: left center;
  transition: transform 0.35s var(--jhr-motion);
}

.jhsuite-refined .jhsuite-timeline-card:hover {
  translate: 0 -5px;
  border-color: var(--jhr-line-strong);
  box-shadow: 0 15px 30px rgba(53, 18, 47, 0.105);
}

.jhsuite-refined .jhsuite-timeline-card:hover::before {
  transform: scaleX(1);
}

.jhsuite-refined .jhsuite-timeline-card-top {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 72px;
  padding: 16px 17px 13px 18px;
  background: linear-gradient(135deg, var(--jhr-stage-soft), rgba(255, 255, 255, 0.22));
  border-bottom: 1px solid var(--jhr-line);
  border-radius: 16px 16px 0 0;
}

.jhsuite-refined .jhsuite-timeline-step {
  display: inline-grid;
  flex: 0 0 36px;
  place-items: center;
  width: 36px;
  height: 36px;
  color: #ffffff;
  background: var(--jhr-stage);
  border: 4px solid #ffffff;
  border-radius: 50%;
  box-shadow:
    0 0 0 4px var(--jhr-stage-soft),
    0 6px 12px rgba(53, 18, 47, 0.12);
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  font-size: 0.88rem;
  font-style: normal;
  font-variant: normal;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1;
  transition:
    transform 0.3s var(--jhr-motion),
    box-shadow 0.3s ease;
}

.jhsuite-refined .jhsuite-timeline-number {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 6px 10px;
  color: var(--jhr-stage);
  background: rgba(255, 255, 255, 0.76);
  border: 1px solid var(--jhr-stage-soft);
  border-radius: 999px;
  box-shadow: none;
  font-family: var(--jhr-display);
  font-size: clamp(1.15rem, 1.8vw, 1.36rem);
  font-style: italic;
  font-variant: unicase;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1.1;
  white-space: nowrap;
  transition:
    color 0.24s ease,
    background-color 0.24s ease,
    border-color 0.24s ease;
}

.jhsuite-refined .jhsuite-timeline-card:hover .jhsuite-timeline-step {
  transform: rotate(-5deg) scale(1.08);
  box-shadow:
    0 0 0 5px var(--jhr-stage-soft),
    0 8px 16px rgba(53, 18, 47, 0.16);
}

.jhsuite-refined .jhsuite-timeline-card:hover .jhsuite-timeline-number {
  color: #ffffff;
  background: var(--jhr-stage);
  border-color: var(--jhr-stage);
}

.jhsuite-refined .jhsuite-timeline-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 15px 18px 19px;
}

.jhsuite-refined .jhsuite-timeline-subtitle {
  display: block;
  margin: 0 0 4px;
  color: var(--jhr-stage);
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  font-size: 20px;
  font-style: italic;
  font-variant: unicase;
  font-weight: 400;
  letter-spacing: normal;
  line-height: 1.25;
  text-transform: none;
}

.jhsuite-refined .jhsuite-timeline-copy h3 {
  margin: 0;
  color: var(--jhr-ink);
  font-family: var(--jhr-display);
  font-size: 1.12rem;
  font-style: italic;
  font-variant: unicase;
  font-weight: 400;
  line-height: 1.18;
  transition: color 0.24s ease;
}

.jhsuite-refined .jhsuite-timeline-card:hover .jhsuite-timeline-copy h3 {
  color: var(--jhr-stage);
}

.jhsuite-refined .jhsuite-timeline-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  margin-top: 14px;
}

.jhsuite-refined .jhsuite-timeline-notice {
  display: grid;
  grid-template-columns: 25px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  min-height: 46px;
  padding: 10px 13px;
  color: var(--jhr-text);
  background: linear-gradient(135deg, #f1f4ff 0%, #f8f3f8 100%);
  border: 1px solid #cfd6ee;
  border-radius: 11px;
  box-shadow:
    inset 4px 0 0 var(--jhr-indigo),
    0 5px 14px rgba(45, 70, 165, 0.06);
}

.jhsuite-refined .jhsuite-notice-icon {
  display: inline-grid;
  place-items: center;
  width: 25px;
  height: 25px;
  margin-top: 1px;
  color: #ffffff;
  background: var(--jhr-indigo);
  border-radius: 50%;
  font-family: Georgia, serif;
  font-size: 0.8rem;
  font-style: italic;
  font-weight: 700;
  line-height: 1;
}

.jhsuite-refined .jhsuite-timeline-notice p {
  min-height: 0;
  margin: 0 !important;
  padding: 0;
  color: var(--jhr-text);
  background: transparent;
  border: 0;
  border-radius: 0;
  font-family: var(--jhr-display);
  font-size: 0.98rem !important;
  line-height: 1.46;
}

.jhsuite-refined .jhsuite-timeline-notice p::before {
  content: none;
}

.jhsuite-refined .jhsuite-timeline-notice strong {
  color: var(--jhr-ink);
  font-weight: 600;
}

.jhsuite-refined .jhsuite-timeline-link,
.jhsuite-refined .jhsuite-btn,
.jhsuite-refined .jhytel-indexing-summary-action {
  font-family: var(--jhr-display);
  font-style: italic;
  font-variant: unicase;
  font-weight: 400;
}

.jhsuite-refined .jhsuite-timeline-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 44px;
  padding: 9px 15px;
  color: var(--jhr-wine) !important;
  background: var(--jhr-blush);
  border: 1px solid var(--jhr-line-strong);
  border-radius: 999px;
  box-shadow: none;
  font-size: 0.96rem;
  line-height: 1.15;
  text-decoration: none !important;
  white-space: nowrap;
  transition:
    color 0.18s ease,
    background-color 0.18s ease,
    border-color 0.18s ease;
}

.jhsuite-refined .jhsuite-timeline-link:hover,
.jhsuite-refined .jhsuite-timeline-link:focus-visible {
  color: #ffffff !important;
  background: var(--jhr-wine);
  border-color: var(--jhr-wine);
  box-shadow: none;
  outline: none;
  transform: none;
}

.jhsuite-refined .jhsuite-timeline-link:focus-visible,
.jhsuite-refined .jhsuite-btn:focus-visible,
.jhsuite-refined .jhytel-indexing-directory-card:focus-visible {
  outline: 3px solid var(--jhr-focus);
  outline-offset: 3px;
}

.jhsuite-refined :is(.jhsuite-timeline-link-arrow, .jhsuite-btn-arrow, .jhytel-indexing-summary-arrow) {
  font-family: Arial, sans-serif;
  font-style: normal;
  line-height: 1;
  transition: transform 0.18s ease;
}

.jhsuite-refined .jhsuite-timeline-link:hover .jhsuite-timeline-link-arrow,
.jhsuite-refined .jhsuite-timeline-link:focus-visible .jhsuite-timeline-link-arrow,
.jhsuite-refined .jhsuite-btn:hover .jhsuite-btn-arrow,
.jhsuite-refined .jhsuite-btn:focus-visible .jhsuite-btn-arrow,
.jhsuite-refined .jhytel-indexing-directory-card:hover .jhytel-indexing-summary-arrow,
.jhsuite-refined .jhytel-indexing-directory-card:focus-visible .jhytel-indexing-summary-arrow {
  transform: translateX(3px);
}

/* Author resources */
.jhsuite-refined .jhsuite-submit-card {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.jhsuite-refined .jhsuite-submit-item {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  align-items: start;
  gap: 15px;
  min-width: 0;
  padding: clamp(18px, 2.5vw, 23px);
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid var(--jhr-line);
  border-radius: 13px;
  box-shadow: 0 4px 13px rgba(53, 18, 47, 0.04);
}

.jhsuite-refined .jhsuite-submit-item + .jhsuite-submit-item {
  border: 1px solid var(--jhr-line);
}

.jhsuite-refined .jhsuite-submit-icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  color: #ffffff;
  background: var(--jhr-wine);
  border: 4px solid #f2e6ed;
  border-radius: 50%;
  box-shadow: 0 6px 14px rgba(53, 18, 47, 0.14);
  font-family: var(--jhr-display);
  font-size: 1.17rem;
  font-style: italic;
  font-weight: 600;
  line-height: 1;
}

.jhsuite-refined .jhsuite-submit-icon-ojs {
  font-family: var(--jhr-ui);
  font-size: 0.62rem;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.jhsuite-refined .jhsuite-submit-copy {
  min-width: 0;
}

.jhsuite-refined .jhsuite-submit-copy .jhsuite-kicker {
  margin: 0 0 4px;
  color: #2d46a5;
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  font-size: 20px;
  font-style: italic;
  font-variant: unicase;
  font-weight: 400;
  letter-spacing: normal;
  line-height: 1.25;
  text-transform: none;
}

.jhsuite-refined .jhsuite-submit-copy h3 {
  margin: 0;
  color: var(--jhr-ink);
  font-family: var(--jhr-display);
  font-size: 1.22rem;
  font-style: italic;
  font-variant: unicase;
  font-weight: 400;
  line-height: 1.15;
}

.jhsuite-refined .jhsuite-submit-copy p {
  min-height: 3.9em;
  margin: 7px 0 14px;
  color: var(--jhr-muted);
  font-family: var(--jhr-display);
  font-size: 0.9rem;
  line-height: 1.46;
}

.jhsuite-refined .jhsuite-submit-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.jhsuite-refined .jhsuite-btn {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 44px;
  padding: 9px 14px;
  border: 1px solid transparent;
  border-radius: 999px;
  box-shadow: none;
  font-size: 0.93rem;
  line-height: 1.15;
  text-decoration: none !important;
  transform: none;
  transition:
    color 0.18s ease,
    background-color 0.18s ease,
    border-color 0.18s ease;
}

.jhsuite-refined .jhsuite-btn-burgundy {
  color: var(--jhr-wine) !important;
  background: var(--jhr-blush);
  border-color: var(--jhr-line-strong);
}

.jhsuite-refined .jhsuite-btn-burgundy:hover,
.jhsuite-refined .jhsuite-btn-burgundy:focus-visible {
  color: #ffffff !important;
  background: var(--jhr-wine);
  border-color: var(--jhr-wine);
  box-shadow: none;
  transform: none;
}

.jhsuite-refined .jhsuite-btn-outline {
  color: var(--jhr-wine) !important;
  background: #ffffff;
  border-color: var(--jhr-line-strong);
}

.jhsuite-refined .jhsuite-btn-outline:hover,
.jhsuite-refined .jhsuite-btn-outline:focus-visible {
  color: #ffffff !important;
  background: var(--jhr-wine);
  border-color: var(--jhr-wine);
  transform: none;
}

.jhsuite-refined .jhsuite-btn-outline:hover > span,
.jhsuite-refined .jhsuite-btn-outline:focus-visible > span {
  color: #ffffff !important;
}

/* Indexing directory */
.jhsuite-refined .jhytel-indexing-directory-card {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 78px;
  padding: 12px 14px;
  color: var(--jhr-ink) !important;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid var(--jhr-line);
  border-left: 2px solid var(--jhr-indigo);
  border-radius: 12px;
  box-shadow: 0 4px 13px rgba(53, 18, 47, 0.04);
  text-decoration: none !important;
  transition:
    background-color 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease;
}

.jhsuite-refined .jhytel-indexing-directory-card:hover,
.jhsuite-refined .jhytel-indexing-directory-card:focus-visible {
  color: var(--jhr-ink) !important;
  background: #ffffff;
  border-color: var(--jhr-line-strong);
  border-left-color: var(--jhr-wine);
  box-shadow: 0 8px 20px rgba(53, 18, 47, 0.075);
  outline: none;
  text-decoration: none !important;
}

.jhsuite-refined .jhytel-indexing-directory-card:focus-visible {
  outline: 3px solid var(--jhr-focus);
  outline-offset: 3px;
}

.jhsuite-refined .jhytel-indexing-summary-mark {
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  color: #ffffff;
  background: var(--jhr-wine);
  border: 4px solid #f2e6ed;
  border-radius: 50%;
  box-shadow: 0 6px 14px rgba(53, 18, 47, 0.14);
  font-family: var(--jhr-display);
  font-size: 1.12rem;
  font-style: italic;
  font-variant: unicase;
  font-weight: 600;
  line-height: 1;
}

.jhsuite-refined .jhytel-indexing-summary-copy {
  display: block;
  min-width: 0;
}

.jhsuite-refined .jhytel-indexing-summary-copy strong {
  display: block;
  color: var(--jhr-ink);
  font-family: var(--jhr-display);
  font-size: 1.14rem;
  font-style: italic;
  font-variant: unicase;
  font-weight: 400;
  line-height: 1.15;
}

.jhsuite-refined .jhytel-indexing-summary-copy small {
  display: block;
  margin-top: 4px;
  color: var(--jhr-muted);
  font-family: var(--jhr-display);
  font-size: 0.98rem;
  font-weight: 400;
  line-height: 1.35;
}

.jhsuite-refined .jhytel-indexing-summary-action {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 42px;
  padding: 8px 13px;
  color: var(--jhr-wine);
  background: var(--jhr-blush);
  border: 1px solid var(--jhr-line-strong);
  border-radius: 999px;
  font-size: 0.94rem;
  line-height: 1.15;
  white-space: nowrap;
  transition:
    color 0.18s ease,
    background-color 0.18s ease,
    border-color 0.18s ease;
}

.jhsuite-refined .jhytel-indexing-directory-card:hover .jhytel-indexing-summary-action,
.jhsuite-refined .jhytel-indexing-directory-card:focus-visible .jhytel-indexing-summary-action {
  color: #ffffff;
  background: var(--jhr-wine);
  border-color: var(--jhr-wine);
}

/* Motion: subtle enough for an editorial site, disabled below for reduced motion. */
@keyframes jhr-timeline-reveal {
  from {
    opacity: 0;
    translate: 0 18px;
  }
  to {
    opacity: 1;
    translate: 0 0;
  }
}

@keyframes jhr-review-pulse {
  0%,
  100% {
    box-shadow: 0 0 0 3px rgba(45, 70, 165, 0.09);
  }
  50% {
    box-shadow: 0 0 0 6px rgba(45, 70, 165, 0.025);
  }
}

/* Responsive layout */
@media (max-width: 900px) {
  .jhsuite-refined :is(.jhsuite-timeline-heading, .jhsuite-section-heading, .jhytel-indexing-header) {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 9px;
  }

  .jhsuite-refined .jhsuite-review-pill {
    width: max-content;
    max-width: 100%;
  }

  .jhsuite-refined .jhsuite-timeline-footer {
    grid-template-columns: minmax(0, 1fr);
  }

  .jhsuite-refined .jhsuite-timeline-link {
    width: max-content;
    max-width: 100%;
  }

  .jhsuite-refined .jhsuite-submit-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .jhsuite-refined .jhsuite-submit-copy p {
    min-height: 0;
  }
}

@media (max-width: 780px) {
  .jhsuite-refined .jhsuite-timeline-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    padding-left: 18px;
  }

  .jhsuite-refined .jhsuite-timeline-card,
  .jhsuite-refined .jhsuite-timeline-card:last-child {
    grid-column: auto;
    min-height: 0;
  }
}

@media (max-width: 620px) {
  .jhsuite-refined > :is(.jhsuite-timeline-section, .jhsuite-author-section, .jhytel-indexing) {
    margin-top: 18px !important;
    padding: 19px 15px !important;
    border-radius: 0 15px 15px 0;
  }

  .jhsuite-refined .jhsuite-timeline-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .jhsuite-refined .jhsuite-timeline-card,
  .jhsuite-refined .jhsuite-timeline-card:last-child {
    grid-column: auto;
    min-height: 0;
  }

  .jhsuite-refined .jhsuite-timeline-link,
  .jhsuite-refined .jhsuite-submit-copy > .jhsuite-btn,
  .jhsuite-refined .jhsuite-submit-actions .jhsuite-btn {
    width: 100%;
    white-space: normal;
  }

  .jhsuite-refined .jhsuite-submit-item {
    grid-template-columns: 45px minmax(0, 1fr);
    gap: 12px;
    padding: 17px 14px;
  }

  .jhsuite-refined .jhsuite-submit-icon {
    width: 45px;
    height: 45px;
    border-width: 3px;
  }

  .jhsuite-refined .jhsuite-submit-actions {
    display: grid;
  }

  .jhsuite-refined .jhytel-indexing-directory-card {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 11px;
    padding: 12px;
  }

  .jhsuite-refined .jhytel-indexing-summary-mark {
    width: 46px;
    height: 46px;
    border-width: 3px;
  }

  .jhsuite-refined .jhytel-indexing-summary-action {
    grid-column: 1 / -1;
    width: 100%;
  }
}

@media (max-width: 380px) {
  .jhsuite-refined .jhsuite-review-pill {
    white-space: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhsuite-refined *,
  .jhsuite-refined *::before,
  .jhsuite-refined *::after {
    scroll-behavior: auto !important;
    translate: none !important;
    transition-duration: 0.01ms !important;
    animation: none !important;
  }
}
/* ==========================================================================
   @JH-02I — COMBINED EDITORIAL REVIEW + AUTHOR RESOURCES HUB
   Owner selectors: .jh-review-author-hub; .jh-review-*; .jh-author-resource-*
   Scope status: HOMEPAGE / isolated combined component
   Editing rule: modify only this owner section for this component.
   ========================================================================== */

/* [NEW 2026-08-06 | @JH-02I | Combine the editorial timeline and author resources into one compact, responsive, CSS-only carousel hub.] */
.jh-review-author-hub {
  --jhh-wine: #610c3a;
  --jhh-wine-dark: #470729;
  --jhh-indigo: #2d46a5;
  --jhh-green: #1f6a53;
  --jhh-ink: #30272d;
  --jhh-text: #5f535b;
  --jhh-muted: #7a6e75;
  --jhh-line: #e8dce4;
  --jhh-line-strong: #d9c5d1;
  --jhh-paper: #ffffff;
  --jhh-blush: #fff8fc;
  --jhh-soft: #fcf9fb;
  --jhh-display: "Perpetua", Georgia, "Times New Roman", serif;
  --jhh-ui: "NexusSansTF-Regular", Arial, sans-serif;

  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, 0.85fr);
  gap: 16px;
  width: 100%;
  margin: 22px 0 0;
  padding: 16px;
  color: var(--jhh-text);
  background:
    radial-gradient(circle at 100% 0, rgba(97, 12, 58, 0.055), transparent 34%),
    linear-gradient(145deg, var(--jhh-paper) 0%, var(--jhh-soft) 100%);
  border: 1px solid var(--jhh-line);
  border-left: 4px solid var(--jhh-wine);
  border-radius: 0 18px 18px 0;
  box-shadow: 0 10px 28px rgba(53, 18, 47, 0.065);
  box-sizing: border-box;
  font-family: var(--jhh-display);
  text-align: left;
}

.jh-review-author-hub,
.jh-review-author-hub *,
.jh-review-author-hub *::before,
.jh-review-author-hub *::after {
  box-sizing: border-box;
}

.jh-review-author-hub :is(h2, h3, p) {
  margin-top: 0;
  text-align: left;
  word-spacing: normal;
}

.jh-review-panel,
.jh-author-panel {
  min-width: 0;
  padding: clamp(16px, 2.2vw, 24px);
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid var(--jhh-line);
  border-radius: 14px;
}

.jh-review-panel {
  overflow: hidden;
}

.jh-author-panel {
  display: flex;
  flex-direction: column;
  background:
    radial-gradient(circle at 100% 0, rgba(45, 70, 165, 0.06), transparent 36%),
    rgba(255, 255, 255, 0.9);
}

.jh-hub-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 14px;
  margin-bottom: 14px;
}

.jh-author-heading {
  grid-template-columns: minmax(0, 1fr);
  margin-bottom: 12px;
}

.jh-hub-kicker {
  display: block;
  margin-bottom: 3px;
  color: var(--jhh-wine);
  font-size: 1rem;
  font-style: italic;
  font-variant: unicase;
  font-weight: 400;
  letter-spacing: 0.065em;
  line-height: 1.2;
}

.jh-hub-heading h2 {
  margin-bottom: 0;
  color: var(--jhh-ink);
  font-family: var(--jhh-display);
  font-size: clamp(1.48rem, 2.4vw, 1.95rem);
  font-style: italic;
  font-variant: unicase;
  font-weight: 400;
  letter-spacing: -0.012em;
  line-height: 1.06;
}

.jh-author-heading h2 {
  font-size: clamp(1.35rem, 2vw, 1.7rem);
}

.jh-hub-heading p {
  max-width: 36rem;
  margin: 6px 0 0 !important;
  color: var(--jhh-muted);
  font-size: 0.9rem !important;
  line-height: 1.42;
  text-align: left !important;
}

.jh-review-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 7px 11px;
  color: var(--jhh-wine);
  background: var(--jhh-blush);
  border: 1px solid var(--jhh-line-strong);
  border-radius: 999px;
  font-size: 0.88rem;
  font-style: italic;
  line-height: 1.15;
  white-space: nowrap;
}

.jh-review-pill-dot {
  width: 7px;
  height: 7px;
  background: var(--jhh-indigo);
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(45, 70, 165, 0.1);
}

.jh-review-slider {
  min-width: 0;
}

.jh-review-track {
  display: grid;
  grid-auto-columns: minmax(250px, 76%);
  grid-auto-flow: column;
  gap: 12px;
  margin: 0;
  padding: 2px 2px 10px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-behavior: smooth;
  scroll-padding-inline: 2px;
  scroll-snap-type: inline mandatory;
  scrollbar-color: var(--jhh-line-strong) transparent;
  scrollbar-width: thin;
  list-style: none !important;
}

.jh-review-track::-webkit-scrollbar {
  height: 7px;
}

.jh-review-track::-webkit-scrollbar-track {
  background: transparent;
}

.jh-review-track::-webkit-scrollbar-thumb {
  background: var(--jhh-line-strong);
  border-radius: 999px;
}

.jh-review-track:focus-visible {
  outline: 3px solid rgba(45, 70, 165, 0.2);
  outline-offset: 3px;
}

.jh-review-slide {
  --jh-stage: var(--jhh-wine);
  --jh-stage-soft: rgba(97, 12, 58, 0.08);

  position: relative;
  display: grid;
  grid-template-rows: auto 1fr;
  min-width: 0;
  min-height: 146px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid var(--jhh-line);
  border-radius: 13px;
  box-shadow: 0 6px 17px rgba(53, 18, 47, 0.06);
  scroll-snap-align: start;
  scroll-snap-stop: always;
  list-style: none !important;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

.jh-review-slide::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--jh-stage);
}

.jh-review-slide-two {
  --jh-stage: var(--jhh-indigo);
  --jh-stage-soft: rgba(45, 70, 165, 0.08);
}

.jh-review-slide-three {
  --jh-stage: var(--jhh-green);
  --jh-stage-soft: rgba(31, 106, 83, 0.08);
}

.jh-review-slide:hover,
.jh-review-slide:focus-within,
.jh-review-slide:target {
  border-color: var(--jh-stage);
  box-shadow: 0 10px 23px rgba(53, 18, 47, 0.11);
  transform: translateY(-2px);
}

.jh-review-slide-top {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 61px;
  padding: 12px 42px 10px 17px;
  background: linear-gradient(135deg, var(--jh-stage-soft), rgba(255, 255, 255, 0.28));
  border-bottom: 1px solid var(--jhh-line);
}

.jh-review-step {
  display: inline-grid;
  flex: 0 0 34px;
  place-items: center;
  width: 34px;
  height: 34px;
  color: #ffffff;
  background: var(--jh-stage);
  border: 3px solid #ffffff;
  border-radius: 50%;
  box-shadow: 0 0 0 3px var(--jh-stage-soft);
  font-size: 0.78rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1;
}

.jh-review-duration {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  color: var(--jh-stage);
  font-size: clamp(1.18rem, 2vw, 1.42rem);
  font-style: italic;
  font-variant: unicase;
  line-height: 1;
  white-space: nowrap;
}

.jh-review-duration small {
  color: var(--jhh-muted);
  font-size: 0.72rem;
  font-style: normal;
  font-variant: normal;
}

.jh-review-slide-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 13px 44px 16px 17px;
}

.jh-review-slide-copy > span {
  display: block;
  margin-bottom: 3px;
  color: var(--jh-stage);
  font-size: 0.95rem;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.2;
}

.jh-review-slide-copy h3 {
  margin: 0;
  color: var(--jhh-ink);
  font-family: var(--jhh-display);
  font-size: 1.08rem;
  font-style: italic;
  font-variant: unicase;
  font-weight: 400;
  line-height: 1.15;
}

.jh-review-next {
  position: absolute;
  right: 11px;
  bottom: 11px;
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  color: var(--jh-stage) !important;
  background: var(--jh-stage-soft);
  border: 1px solid transparent;
  border-radius: 50%;
  font-family: Arial, sans-serif;
  font-size: 0.92rem;
  line-height: 1;
  text-decoration: none !important;
}

.jh-review-next:hover,
.jh-review-next:focus-visible {
  color: #ffffff !important;
  background: var(--jh-stage);
  outline: none;
}

.jh-review-next:focus-visible {
  box-shadow: 0 0 0 3px var(--jh-stage-soft);
}

.jh-review-slider-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 3px;
}

.jh-review-slider-nav a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 31px;
  padding: 5px 9px;
  color: var(--jhh-muted) !important;
  background: #ffffff;
  border: 1px solid var(--jhh-line);
  border-radius: 999px;
  font-size: 0.78rem;
  line-height: 1;
  text-decoration: none !important;
}

.jh-review-slider-nav a:hover,
.jh-review-slider-nav a:focus-visible {
  color: var(--jhh-wine) !important;
  border-color: var(--jhh-line-strong);
  outline: none;
}

.jh-review-slider-nav span {
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  color: #ffffff;
  background: var(--jhh-wine);
  border-radius: 50%;
  font-size: 0.66rem;
}

.jh-review-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
}

.jh-review-notice {
  display: grid;
  grid-template-columns: 23px minmax(0, 1fr);
  gap: 8px;
  min-width: 0;
  padding: 9px 11px;
  background: linear-gradient(135deg, #f1f4ff, #faf7fa);
  border: 1px solid #cfd6ee;
  border-radius: 10px;
  box-shadow: inset 3px 0 0 var(--jhh-indigo);
}

.jh-review-notice > span {
  display: inline-grid;
  place-items: center;
  width: 23px;
  height: 23px;
  color: #ffffff;
  background: var(--jhh-indigo);
  border-radius: 50%;
  font-family: Georgia, serif;
  font-size: 0.78rem;
  font-style: italic;
  font-weight: 700;
  line-height: 1;
}

.jh-review-notice p {
  margin: 0 !important;
  color: var(--jhh-text);
  font-size: 0.78rem !important;
  line-height: 1.38;
  text-align: left !important;
}

.jh-review-notice strong {
  color: var(--jhh-ink);
}

.jh-hub-link,
.jh-author-action {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 13px;
  min-height: 38px;
  padding: 7px 11px;
  color: var(--jhh-wine) !important;
  background: var(--jhh-blush);
  border: 1px solid var(--jhh-line-strong);
  border-radius: 999px;
  font-size: 0.83rem;
  line-height: 1.1;
  text-decoration: none !important;
  white-space: nowrap;
  transition:
    color 0.18s ease,
    background-color 0.18s ease,
    border-color 0.18s ease;
}

.jh-hub-link:hover,
.jh-hub-link:focus-visible,
.jh-author-action:hover,
.jh-author-action:focus-visible {
  color: #ffffff !important;
  background: var(--jhh-wine);
  border-color: var(--jhh-wine);
  outline: none;
}

.jh-hub-link:focus-visible,
.jh-author-action:focus-visible,
.jh-author-text-link:focus-visible {
  box-shadow: 0 0 0 3px rgba(45, 70, 165, 0.18);
}

.jh-author-resource-list {
  display: grid;
  gap: 10px;
  margin-top: auto;
}

.jh-author-resource-card {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
  min-width: 0;
  padding: 14px;
  background: #ffffff;
  border: 1px solid var(--jhh-line);
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(53, 18, 47, 0.04);
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

.jh-author-resource-card:hover,
.jh-author-resource-card:focus-within {
  border-color: var(--jhh-line-strong);
  box-shadow: 0 8px 19px rgba(53, 18, 47, 0.08);
  transform: translateY(-2px);
}

.jh-author-resource-icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  color: #ffffff;
  background: var(--jhh-wine);
  border: 3px solid #f2e6ed;
  border-radius: 50%;
  box-shadow: 0 5px 12px rgba(53, 18, 47, 0.14);
  font-size: 1rem;
  font-style: italic;
  font-weight: 600;
  line-height: 1;
}

.jh-author-resource-icon-ojs {
  font-family: var(--jhh-ui);
  font-size: 0.56rem;
  font-style: normal;
  letter-spacing: 0.04em;
}

.jh-author-resource-copy {
  min-width: 0;
}

.jh-author-resource-copy > span {
  display: block;
  margin-bottom: 2px;
  color: var(--jhh-indigo);
  font-size: 0.84rem;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.2;
}

.jh-author-resource-copy h3 {
  margin: 0;
  color: var(--jhh-ink);
  font-family: var(--jhh-display);
  font-size: 1.08rem;
  font-style: italic;
  font-variant: unicase;
  font-weight: 400;
  line-height: 1.15;
}

.jh-author-resource-copy p {
  margin: 5px 0 10px !important;
  color: var(--jhh-muted);
  font-size: 0.81rem !important;
  line-height: 1.38;
  text-align: left !important;
}

.jh-author-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.jh-author-text-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 34px;
  padding: 6px 2px;
  color: var(--jhh-wine) !important;
  font-size: 0.8rem;
  line-height: 1;
  text-decoration: none !important;
}

.jh-author-text-link:hover,
.jh-author-text-link:focus-visible {
  color: var(--jhh-indigo) !important;
  outline: none;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

@media (max-width: 940px) {
  .jh-review-author-hub {
    grid-template-columns: minmax(0, 1fr);
  }

  .jh-author-resource-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jh-review-track {
    grid-auto-columns: minmax(260px, 66%);
  }
}

@media (max-width: 680px) {
  .jh-review-author-hub {
    gap: 12px;
    margin-top: 18px;
    padding: 10px;
    border-radius: 0 15px 15px 0;
  }

  .jh-review-panel,
  .jh-author-panel {
    padding: 15px;
  }

  .jh-hub-heading {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 8px;
  }

  .jh-review-pill {
    width: max-content;
    max-width: 100%;
  }

  .jh-review-track {
    grid-auto-columns: minmax(245px, 88%);
  }

  .jh-review-footer {
    grid-template-columns: minmax(0, 1fr);
  }

  .jh-hub-link {
    width: 100%;
    white-space: normal;
  }

  .jh-author-resource-list {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 420px) {
  .jh-review-panel,
  .jh-author-panel {
    padding: 13px;
  }

  .jh-review-track {
    grid-auto-columns: minmax(228px, 93%);
  }

  .jh-review-slider-nav a {
    flex: 1 1 auto;
    justify-content: center;
  }

  .jh-author-resource-card {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 10px;
    padding: 12px;
  }

  .jh-author-resource-icon {
    width: 40px;
    height: 40px;
  }

  .jh-author-actions {
    display: grid;
  }

  .jh-author-action {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jh-review-author-hub *,
  .jh-review-author-hub *::before,
  .jh-review-author-hub *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* ==========================================================================
   @JH-03J — MINIMAL INDEXING DIRECTORY DROPDOWN
   Owner selector: .jhytel-indexing--dropdown
   Scope status: HOMEPAGE / isolated override
   ========================================================================== */

/* [TUNE 2026-08-06 | @JH-03J | Preserve the established indexing style while reducing width and typography, and keep the directory collapsed by default.] */
.jhsuite-refined .jhytel-indexing--dropdown {
  width: min(100%, 1020px) !important;
  height: auto !important;
  min-height: 0 !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding: clamp(17px, 2vw, 22px) !important;
  background: linear-gradient(145deg, #ffffff 0%, #fbf7fa 100%);
  border: 1px solid #eadde5;
  border-left: 4px solid #790746;
  border-top-width: 1px;
  border-radius: 0 18px 18px 0;
  box-shadow: 0 9px 24px rgba(61, 30, 48, 0.055);
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-header {
  grid-template-columns: minmax(0, 1fr) minmax(250px, 0.68fr);
  align-items: end;
  gap: 26px;
  margin-bottom: 13px !important;
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-kicker {
  margin-bottom: 2px;
  font-size: 0.82rem;
  letter-spacing: 0.07em;
  line-height: 1.2;
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-header h2 {
  font-size: clamp(1.42rem, 2.25vw, 1.82rem);
  line-height: 1.08;
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-header p {
  max-width: 30rem;
  font-size: 0.84rem !important;
  line-height: 1.44;
}

/* Neutralise the stylesheet's global details/summary rules. */
.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-disclosure {
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid #e3d3dc;
  border-left: 2px solid #2d46a5;
  border-radius: 12px;
  box-shadow: 0 4px 13px rgba(61, 30, 48, 0.035);
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-disclosure > summary {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 64px;
  margin: 0;
  padding: 9px 12px;
  color: #30252c;
  background: transparent;
  border: 0;
  border-radius: 0;
  outline: none;
  list-style: none;
  cursor: pointer;
  font-weight: 400;
  transition:
    background-color 0.18s ease,
    border-color 0.18s ease;
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-disclosure > summary::-webkit-details-marker {
  display: none;
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-disclosure > summary::marker {
  content: "";
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-disclosure > summary:hover,
.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-disclosure > summary:focus-visible {
  color: #30252c;
  background: #fff8fc;
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-disclosure > summary:focus-visible {
  outline: 3px solid rgba(45, 70, 165, 0.14);
  outline-offset: -3px;
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-disclosure[open] > summary {
  background: #fffafd;
  border-bottom: 1px solid #e3d3dc;
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-summary-mark {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  color: #ffffff;
  background: #790746;
  border: 3px solid #f2e6ed;
  border-radius: 50%;
  box-shadow: 0 5px 12px rgba(53, 18, 47, 0.13);
  font-family: "Perpetua", Georgia, serif;
  font-size: 1rem;
  font-style: italic;
  font-variant: unicase;
  font-weight: 600;
  line-height: 1;
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-summary-copy {
  display: block;
  min-width: 0;
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-summary-copy strong {
  display: block;
  color: #30252c;
  font-family: "Perpetua", Georgia, serif;
  font-size: 0.93rem;
  font-style: italic;
  font-variant: unicase;
  font-weight: 400;
  line-height: 1.16;
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-summary-copy small {
  display: block;
  margin-top: 3px;
  color: #74666f;
  font-family: "Perpetua", Georgia, serif;
  font-size: 0.78rem;
  font-weight: 400;
  line-height: 1.32;
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-summary-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 34px;
  padding: 6px 11px;
  color: #790746;
  background: #fff6fb;
  border: 1px solid #dfc5d3;
  border-radius: 999px;
  font-family: "Perpetua", Georgia, serif;
  font-size: 0.82rem;
  font-style: italic;
  font-variant: unicase;
  font-weight: 400;
  line-height: 1;
  white-space: nowrap;
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-summary-plus {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 15px;
  height: 15px;
  font-family: Arial, sans-serif;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  transition: transform 0.18s ease;
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-disclosure[open] .jhytel-indexing-summary-plus {
  transform: rotate(45deg);
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 205px), 1fr));
  gap: 9px;
  margin: 0;
  padding: 12px !important;
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-item {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 15px;
  align-items: center;
  gap: 9px;
  min-height: 62px;
  padding: 8px 9px;
  border-radius: 8px;
  box-shadow: 0 3px 9px rgba(61, 30, 48, 0.035);
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-monogram {
  width: 46px;
  height: 40px;
  font-size: 1.22rem;
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-copy strong {
  font-size: 0.9rem;
  line-height: 1.12;
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-copy small {
  margin-top: 2px;
  font-size: 0.64rem;
  line-height: 1.18;
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 15px;
  height: 15px;
  color: #a18494;
  font-family: Arial, sans-serif;
  font-size: 0.92rem;
  font-weight: 400;
  line-height: 1;
  transform: none;
  transition:
    color 0.18s ease,
    transform 0.18s ease;
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-item:hover .jhytel-indexing-arrow,
.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-item:focus .jhytel-indexing-arrow {
  color: #790746;
  transform: rotate(90deg);
}

@media (max-width: 900px) {
  .jhsuite-refined .jhytel-indexing--dropdown {
    width: min(100%, 820px) !important;
  }

  .jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-header {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 6px;
  }
}

@media (max-width: 700px) {
  .jhsuite-refined .jhytel-indexing--dropdown {
    padding: 16px 14px !important;
  }

  .jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
}

@media (max-width: 520px) {
  .jhsuite-refined .jhytel-indexing--dropdown {
    width: 100% !important;
    padding: 15px 12px !important;
  }

  .jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-header h2 {
    font-size: 1.38rem;
  }

  .jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-disclosure > summary {
    grid-template-columns: 42px minmax(0, 1fr) auto;
    gap: 9px;
    min-height: 60px;
    padding: 8px 9px;
  }

  .jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-summary-mark {
    width: 40px;
    height: 40px;
    font-size: 0.92rem;
  }

  .jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-summary-action {
    gap: 6px;
    min-height: 31px;
    padding: 5px 8px;
    font-size: 0.72rem;
  }

  .jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-summary-plus,
  .jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-arrow {
    transition: none;
  }
}

/* ==========================================================================
   @JH-02J — HUB + INDEXING WIDTH ALIGNMENT
   Scope: remove the visual outer shell around the two-column hub and align
   the indexing section to the same full content width.
   ========================================================================== */

/* [TUNE 2026-08-06 | @JH-02J | Keep the hub wrapper as a grid only; remove its visible outer container.] */
.jhsuite-refined .jh-review-author-hub {
  width: 100% !important;
  max-width: none !important;
  margin: 22px 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* The two real content panels remain the only visible containers. */
.jhsuite-refined .jh-review-panel,
.jhsuite-refined .jh-author-panel {
  height: 100%;
}

/* [TUNE 2026-08-06 | @JH-03J | Match the indexing section to the hub/root width.] */
.jhsuite-refined .jhytel-indexing--dropdown {
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

@media (max-width: 680px) {
  .jhsuite-refined .jh-review-author-hub {
    gap: 12px;
    margin-top: 18px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
}


/* ==========================================================================
   @JH-03K — REMOVE LEFT ACCENT FROM SELECT HOMEPAGE CONTAINERS
   Scope: Abstracting/Indexing, Journal Performance, and Global Authorship.
   Purpose: keep a quiet uniform border and symmetrical rounded corners.
   ========================================================================== */

/* [TUNE 2026-08-06 | @JH-03K | Remove the 4px burgundy left accent from the indexing directory.] */
.jhsuite-refined .jhytel-indexing--dropdown {
  border-left: 1px solid #eadde5 !important;
  border-radius: 18px !important;
}

/* [TUNE 2026-08-06 | @JH-03K | Remove the 4px burgundy left accent from Journal Performance and Global Authorship.] */
.jhytel-impact-card,
.jhytel-geo-card,
.jhytel-geo-card--shared {
  border-left-width: 1px !important;
  border-left-color: #ead8e4 !important;
  border-radius: 14px !important;
}

/* Keep the hover border uniform on every side. */
.jhytel-impact-card:hover,
.jhytel-impact-card:focus-within,
.jhytel-geo-card:hover,
.jhytel-geo-card:focus-within,
.jhytel-geo-card--shared:hover,
.jhytel-geo-card--shared:focus-within {
  border-left-color: #d7b7c8 !important;
}

/* ==========================================================================
   @JH-03L — HOMEPAGE VISUAL HARMONISATION V6
   Scope: Global Authorship preview, Journal Performance, combined editorial
   and author hub, and the compact indexing directory.
   Purpose: unify typography, card geometry, spacing, notices, and action CTAs.
   ========================================================================== */

/* [TUNE 2026-08-06 | @JH-03L | Selected Countries now uses the same quiet metric-card language as Journal Performance.] */
.jhytel-geo-card--shared .jhytel-geo-preview {
  padding: 12px 13px 13px !important;
  background: #fbf8fa !important;
  border: 1px solid #eadde6 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

.jhytel-geo-card--shared .jhytel-geo-preview::before,
.jhytel-geo-card--shared .jhytel-geo-preview__label::before {
  display: none !important;
  content: none !important;
}

.jhytel-geo-card--shared .jhytel-geo-preview__head {
  padding-left: 0 !important;
}

/* [TUNE 2026-08-06 | @JH-03L | Remove the decorative Journal Performance icon and let the heading own the left edge.] */
.jhytel-impact-card .jhytel-impact-icon {
  display: none !important;
}

.jhytel-impact-card .jhytel-impact-intro {
  align-items: flex-start !important;
  gap: 0 !important;
}

/* [TUNE 2026-08-06 | @JH-03L | Editorial panel gets a rounded indexing-style accent; Author Resources stays neutral and CFP-inspired.] */
.jhsuite-refined .jh-review-panel {
  padding: clamp(15px, 2vw, 21px) !important;
  background: #ffffff !important;
  border: 1px solid #e3d3dc !important;
  border-left: 2px solid #2d46a5 !important;
  border-radius: 14px !important;
  box-shadow: 0 5px 16px rgba(53, 18, 47, 0.045) !important;
}

.jhsuite-refined .jh-author-panel {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(15px, 2vw, 21px) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(121, 7, 70, 0.065), transparent 31%),
    linear-gradient(160deg, #ffffff 0%, #fff6fb 64%, #fffaf0 100%) !important;
  border: 1px solid #e3d3dc !important;
  border-left: 1px solid #e3d3dc !important;
  border-radius: 14px !important;
  box-shadow: 0 5px 16px rgba(53, 18, 47, 0.045) !important;
}

.jhsuite-refined .jh-author-panel::before {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  width: 62px;
  height: 62px;
  content: "";
  border-top: 1px solid rgba(121, 7, 70, 0.11);
  border-right: 1px solid rgba(121, 7, 70, 0.11);
  border-radius: 0 14px 0 100%;
}

/* Harmonised section-heading system. */
.jhsuite-refined .jh-hub-kicker,
.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-kicker {
  margin: 0 0 3px !important;
  color: #610c3a !important;
  font-family: "Perpetua", Georgia, "Times New Roman", serif !important;
  font-size: 1rem !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-weight: 400 !important;
  letter-spacing: 0.065em !important;
  line-height: 1.2 !important;
}

.jhsuite-refined .jh-hub-heading h2,
.jhsuite-refined .jh-author-heading h2,
.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-header h2 {
  margin: 0 !important;
  color: #30272d !important;
  font-family: "Perpetua", Georgia, "Times New Roman", serif !important;
  font-size: clamp(1.48rem, 2.4vw, 1.95rem) !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-weight: 400 !important;
  letter-spacing: -0.012em !important;
  line-height: 1.06 !important;
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-header {
  grid-template-columns: minmax(0, 1fr) minmax(270px, 0.72fr) !important;
  align-items: end !important;
  gap: 26px !important;
  margin-bottom: 14px !important;
}

/* Match the Global Authorship explanatory sentence exactly. */
.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-header > p {
  max-width: 680px !important;
  margin: 0 !important;
  color: #756970 !important;
  font-family: "Perpetua", Georgia, "Times New Roman", serif !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  text-align: left !important;
}

/* [TUNE 2026-08-06 | @JH-03L | Compact non-scrolling review stages.] */
.jhsuite-refined .jh-review-slider {
  min-width: 0;
  overflow: visible !important;
}

.jhsuite-refined .jh-review-track {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-columns: auto !important;
  grid-auto-flow: row !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  scroll-behavior: auto !important;
  scroll-snap-type: none !important;
  scrollbar-width: none !important;
}

.jhsuite-refined .jh-review-track::-webkit-scrollbar {
  display: none !important;
}

.jhsuite-refined .jh-review-slide {
  min-height: 112px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  border: 1px solid #e6d9e1 !important;
  border-left: 3px solid var(--jh-stage) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  scroll-snap-align: none !important;
  scroll-snap-stop: normal !important;
  transform: none !important;
}

.jhsuite-refined .jh-review-slide::before {
  display: none !important;
  content: none !important;
}

.jhsuite-refined .jh-review-slide:hover,
.jhsuite-refined .jh-review-slide:focus-within,
.jhsuite-refined .jh-review-slide:target {
  border-color: #d8c9d2 !important;
  border-left-color: var(--jh-stage) !important;
  box-shadow: 0 6px 15px rgba(53, 18, 47, 0.065) !important;
  transform: none !important;
}

.jhsuite-refined .jh-review-slide-top {
  min-height: 0 !important;
  padding: 10px 10px 6px !important;
  background: linear-gradient(135deg, var(--jh-stage-soft), rgba(255, 255, 255, 0.56)) !important;
  border-bottom: 0 !important;
}

.jhsuite-refined .jh-review-step,
.jhsuite-refined .jh-review-next,
.jhsuite-refined .jh-review-slider-nav {
  display: none !important;
}

.jhsuite-refined .jh-review-duration {
  gap: 4px !important;
  color: var(--jh-stage) !important;
  font-size: 1.08rem !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-weight: 400 !important;
  line-height: 1 !important;
}

.jhsuite-refined .jh-review-duration small {
  color: #756970 !important;
  font-size: 0.76rem !important;
  font-style: normal !important;
  font-variant: normal !important;
}

.jhsuite-refined .jh-review-slide-copy {
  justify-content: flex-start !important;
  padding: 2px 10px 11px !important;
}

.jhsuite-refined .jh-review-slide-copy > span {
  margin: 0 0 3px !important;
  color: #756970 !important;
  font-size: 0.78rem !important;
  font-style: normal !important;
  font-variant: normal !important;
  line-height: 1.22 !important;
}

.jhsuite-refined .jh-review-slide-copy h3 {
  margin: 0 !important;
  color: #30272d !important;
  font-family: "Perpetua", Georgia, "Times New Roman", serif !important;
  font-size: 0.94rem !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-weight: 400 !important;
  line-height: 1.16 !important;
}

/* Warm warning treatment; notice body matches the stage-title size. */
.jhsuite-refined .jh-review-notice {
  grid-template-columns: 24px minmax(0, 1fr) !important;
  gap: 9px !important;
  padding: 10px 11px !important;
  background: linear-gradient(135deg, #fff1c9 0%, #fff8f1 100%) !important;
  border: 1px solid #e3c77f !important;
  border-radius: 10px !important;
  box-shadow: inset 3px 0 0 #790746 !important;
}

.jhsuite-refined .jh-review-notice > span {
  width: 24px !important;
  height: 24px !important;
  color: #ffffff !important;
  background: #790746 !important;
  font-size: 0.8rem !important;
}

.jhsuite-refined .jh-review-notice p {
  color: #5b4725 !important;
  font-family: "Perpetua", Georgia, "Times New Roman", serif !important;
  font-size: 0.94rem !important;
  line-height: 1.38 !important;
}

.jhsuite-refined .jh-review-notice strong {
  color: #4b3212 !important;
  font-weight: 700 !important;
}

/* Match the dimensions and typography of Browse Archives / View Impact Details. */
.jhsuite-refined .jh-hub-link,
.jhsuite-refined .jh-author-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  width: min(100%, 220px) !important;
  min-width: 0 !important;
  max-width: 220px !important;
  min-height: 41px !important;
  padding: 8px 14px !important;
  color: #790746 !important;
  background: #fff6fb !important;
  border: 1px solid #dfc5d3 !important;
  border-radius: 8px !important;
  font-family: "Perpetua", Georgia, "Times New Roman", serif !important;
  font-size: 16px !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-weight: 300 !important;
  letter-spacing: 0.045em !important;
  line-height: 1.15 !important;
  white-space: normal !important;
}

.jhsuite-refined .jh-hub-link:hover,
.jhsuite-refined .jh-hub-link:focus-visible,
.jhsuite-refined .jh-author-action:hover,
.jhsuite-refined .jh-author-action:focus-visible {
  color: #ffffff !important;
  background: #790746 !important;
  border-color: #790746 !important;
}

/* Author-resource copy follows the same compact editorial scale. */
.jhsuite-refined .jh-author-resource-copy > span {
  font-size: 0.78rem !important;
  line-height: 1.22 !important;
}

.jhsuite-refined .jh-author-resource-copy h3 {
  font-size: 0.94rem !important;
  line-height: 1.16 !important;
}

.jhsuite-refined .jh-author-resource-copy p {
  font-size: 0.8rem !important;
  line-height: 1.4 !important;
}

/* [TUNE 2026-08-06 | @JH-03L | Indexing summary and directory cards use the same readable scale as review-stage content.] */
.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-disclosure {
  border-left: 2px solid #2d46a5 !important;
  border-radius: 12px !important;
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-summary-copy strong {
  color: #30272d !important;
  font-size: 0.94rem !important;
  line-height: 1.16 !important;
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-summary-copy small {
  margin-top: 3px !important;
  color: #756970 !important;
  font-size: 0.86rem !important;
  line-height: 1.3 !important;
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-summary-action {
  min-height: 41px !important;
  padding: 8px 14px !important;
  border-radius: 8px !important;
  font-size: 16px !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-weight: 300 !important;
  letter-spacing: 0.045em !important;
  line-height: 1.15 !important;
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-item {
  min-height: 70px !important;
  padding: 9px 10px !important;
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-copy strong {
  font-size: 0.96rem !important;
  line-height: 1.14 !important;
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-copy small {
  margin-top: 3px !important;
  color: #756970 !important;
  font-size: 0.94rem !important;
  font-style: italic !important;
  font-variant: unicase !important;
  line-height: 1.16 !important;
}

@media (max-width: 900px) {
  .jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-header {
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 6px !important;
  }
}

@media (max-width: 700px) {
  .jhsuite-refined .jh-review-track {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .jhsuite-refined .jh-review-slide {
    min-height: 92px !important;
  }

  .jhsuite-refined .jh-review-footer {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .jhsuite-refined .jh-hub-link,
  .jhsuite-refined .jh-author-action {
    width: 100% !important;
    max-width: none !important;
  }
}

@media (max-width: 520px) {
  .jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-summary-copy small {
    font-size: 0.8rem !important;
  }

  .jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-summary-action {
    min-height: 36px !important;
    padding: 7px 10px !important;
    font-size: 0.86rem !important;
  }

  .jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-copy small {
    font-size: 0.88rem !important;
  }
}

/* ==========================================================================
   @JH-03M — HOMEPAGE HARMONISATION V7
   Scope: top-level card accents, editorial support cards, unified pill CTAs,
   and requested 1.1rem explanatory typography.
   Editing rule: append after @JH-03L so these targeted declarations remain
   the final presentation layer.
   ========================================================================== */

/* [TUNE 2026-08-06 | @JH-03M | Restore one consistent burgundy left accent on the four principal information containers. Left corners remain square; right corners remain rounded.] */
.jhytel-geo-card--shared,
.jhytel-impact-card,
.jhsuite-refined .jh-review-panel,
.jhsuite-refined .jhytel-indexing--dropdown {
  border-left: 4px solid #790746 !important;
  border-radius: 0 14px 14px 0 !important;
}

.jhytel-geo-card--shared:hover,
.jhytel-geo-card--shared:focus-within,
.jhytel-impact-card:hover,
.jhytel-impact-card:focus-within,
.jhsuite-refined .jh-review-panel:hover,
.jhsuite-refined .jh-review-panel:focus-within,
.jhsuite-refined .jhytel-indexing--dropdown:hover,
.jhsuite-refined .jhytel-indexing--dropdown:focus-within {
  border-left-color: #790746 !important;
}

/* Author Resources intentionally remains a neutral CFP-inspired card. */
.jhsuite-refined .jh-author-panel {
  border-left: 1px solid #e3d3dc !important;
  border-radius: 14px !important;
}

/* [TUNE 2026-08-06 | @JH-03M | The four requested explanatory sentences share one readable editorial scale.] */
.jhsuite-refined .jh-hub-heading p,
.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-header > p,
.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-summary-copy small {
  font-family: "Perpetua", Georgia, "Times New Roman", serif !important;
  font-size: 1.1rem !important;
  font-weight: 400 !important;
  line-height: 1.42 !important;
  text-align: left !important;
}

.jhsuite-refined .jh-hub-heading p {
  max-width: 42rem !important;
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-header > p {
  max-width: 34rem !important;
}

/* [NEW 2026-08-06 | @JH-03M | Compact APC and SINTA cards use the otherwise unused lower area of the review panel.] */
.jhsuite-refined .jh-review-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.jhsuite-refined .jh-review-info-card {
  display: flex;
  min-width: 0;
  min-height: 132px;
  flex-direction: column;
  align-items: flex-start;
  padding: 12px 13px;
  background: linear-gradient(145deg, #ffffff 0%, #fbf8fa 100%);
  border: 1px solid #e6d9e1;
  border-radius: 11px;
  box-shadow: 0 4px 12px rgba(53, 18, 47, 0.04);
}

.jhsuite-refined .jh-review-info-card--apc {
  background: linear-gradient(145deg, #f5fbf7 0%, #ffffff 100%);
  border-color: #d5e8de;
}

.jhsuite-refined .jh-review-info-card--accreditation {
  background: linear-gradient(145deg, #fff8fc 0%, #ffffff 100%);
  border-color: #ead8e4;
}

.jhsuite-refined .jh-review-info-copy {
  min-width: 0;
}

.jhsuite-refined .jh-review-info-copy > span {
  display: block;
  margin-bottom: 2px;
  color: #790746;
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  font-size: 0.82rem;
  font-style: italic;
  font-variant: unicase;
  font-weight: 400;
  letter-spacing: 0.045em;
  line-height: 1.2;
}

.jhsuite-refined .jh-review-info-card--apc .jh-review-info-copy > span {
  color: #1f6a53;
}

.jhsuite-refined .jh-review-info-copy h3 {
  margin: 0 !important;
  color: #30272d !important;
  font-family: "Perpetua", Georgia, "Times New Roman", serif !important;
  font-size: 1.03rem !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-weight: 400 !important;
  line-height: 1.16 !important;
}

.jhsuite-refined .jh-review-info-copy p {
  margin: 5px 0 10px !important;
  color: #6f626a !important;
  font-family: "Perpetua", Georgia, "Times New Roman", serif !important;
  font-size: 0.86rem !important;
  line-height: 1.38 !important;
  text-align: left !important;
}

/* [TUNE 2026-08-06 | @JH-03M | Full review, Create account, and APC controls adopt the Explore Author Diversity pill geometry.] */
.jhsuite-refined .jh-hub-link,
.jhsuite-refined .jh-author-text-link,
.jhsuite-refined .jh-review-info-link,
.jhsuite-refined .jh-review-info-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  min-height: 41px !important;
  padding: 8px 14px !important;
  color: #790746 !important;
  background: #fff6fc !important;
  border: 1px solid #ead8e4 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  font-family: "Perpetua", Georgia, "Times New Roman", serif !important;
  font-size: 16px !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-weight: 300 !important;
  letter-spacing: 0.045em !important;
  line-height: 1.15 !important;
  text-decoration: none !important;
  white-space: normal !important;
}

.jhsuite-refined .jh-hub-link {
  width: min(100%, 220px) !important;
  min-width: 0 !important;
  max-width: 220px !important;
}

.jhsuite-refined .jh-author-actions .jh-author-action,
.jhsuite-refined .jh-author-actions .jh-author-text-link {
  flex: 1 1 142px !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
}

.jhsuite-refined .jh-review-info-link {
  width: min(100%, 190px) !important;
  margin-top: auto;
  color: #1f6a53 !important;
  background: #f3faf6 !important;
  border-color: #d2e7dc !important;
}

.jhsuite-refined .jh-review-info-badge {
  min-height: 34px !important;
  margin-top: auto;
  padding: 6px 13px !important;
  color: #790746 !important;
  cursor: default;
}

.jhsuite-refined .jh-hub-link:hover,
.jhsuite-refined .jh-hub-link:focus-visible,
.jhsuite-refined .jh-author-text-link:hover,
.jhsuite-refined .jh-author-text-link:focus-visible {
  color: #ffffff !important;
  background: #790746 !important;
  border-color: #790746 !important;
  box-shadow: 0 7px 15px rgba(81, 2, 46, 0.15) !important;
  outline: none !important;
  text-decoration: none !important;
  transform: translateY(-2px);
}

.jhsuite-refined .jh-review-info-link:hover,
.jhsuite-refined .jh-review-info-link:focus-visible {
  color: #ffffff !important;
  background: #1f6a53 !important;
  border-color: #1f6a53 !important;
  box-shadow: 0 7px 15px rgba(31, 106, 83, 0.15) !important;
  outline: none !important;
  text-decoration: none !important;
  transform: translateY(-2px);
}

.jhsuite-refined .jh-hub-link:focus-visible,
.jhsuite-refined .jh-author-text-link:focus-visible,
.jhsuite-refined .jh-review-info-link:focus-visible {
  outline: 3px solid rgba(121, 7, 70, 0.17) !important;
  outline-offset: 3px !important;
}

@media (max-width: 760px) {
  .jhsuite-refined .jh-review-info-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .jhsuite-refined .jh-review-info-card {
    min-height: 0;
  }

  .jhsuite-refined .jh-hub-link,
  .jhsuite-refined .jh-review-info-link {
    width: 100% !important;
    max-width: none !important;
  }
}

@media (max-width: 520px) {
  .jhsuite-refined .jh-hub-heading p,
  .jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-header > p,
  .jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-summary-copy small {
    font-size: 1.1rem !important;
  }
}

/* ==========================================================================
   @JH-03N — HOMEPAGE HARMONISATION V8
   Scope: final typography and CTA consistency corrections requested on
   6 August 2026.
   Editing rule: append after @JH-03M so this remains the final presentation
   layer for Editorial Review and Author Resources.
   ========================================================================== */

/* [TUNE 2026-08-06 | @JH-03N | Match the Double-Blind Peer Review pill to the Full Peer Review Process CTA typography.] */
.jhsuite-refined .jh-review-pill {
  min-height: 41px !important;
  padding: 8px 14px !important;
  color: #790746 !important;
  background: #fff6fc !important;
  border: 1px solid #ead8e4 !important;
  border-radius: 999px !important;
  font-family: "Perpetua", Georgia, "Times New Roman", serif !important;
  font-size: 16px !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-weight: 300 !important;
  letter-spacing: 0.045em !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
}

/* [TUNE 2026-08-06 | @JH-03N | Download Template, Author Login, and Create account use one identical Explore Author Diversity pill treatment.] */
.jhsuite-refined .jh-author-action,
.jhsuite-refined .jh-author-text-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  min-height: 41px !important;
  padding: 8px 14px !important;
  color: #790746 !important;
  background: #fff6fc !important;
  border: 1px solid #ead8e4 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  font-family: "Perpetua", Georgia, "Times New Roman", serif !important;
  font-size: 16px !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-weight: 300 !important;
  letter-spacing: 0.045em !important;
  line-height: 1.15 !important;
  text-decoration: none !important;
  white-space: normal !important;
  transition:
    color 0.18s ease,
    background-color 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease !important;
}

.jhsuite-refined .jh-author-resource-copy > .jh-author-action {
  width: min(100%, 190px) !important;
  max-width: 190px !important;
}

.jhsuite-refined .jh-author-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
}

.jhsuite-refined .jh-author-actions .jh-author-action,
.jhsuite-refined .jh-author-actions .jh-author-text-link {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

.jhsuite-refined .jh-author-action:hover,
.jhsuite-refined .jh-author-action:focus-visible,
.jhsuite-refined .jh-author-text-link:hover,
.jhsuite-refined .jh-author-text-link:focus-visible {
  color: #ffffff !important;
  background: #790746 !important;
  border-color: #790746 !important;
  box-shadow: 0 7px 15px rgba(81, 2, 46, 0.15) !important;
  outline: none !important;
  text-decoration: none !important;
  transform: translateY(-2px) !important;
}

.jhsuite-refined .jh-author-action:focus-visible,
.jhsuite-refined .jh-author-text-link:focus-visible {
  outline: 3px solid rgba(121, 7, 70, 0.17) !important;
  outline-offset: 3px !important;
}

/* [TUNE 2026-08-06 | @JH-03N | Author-resource descriptions and the APC/accreditation descriptions share exactly one scale.] */
.jhsuite-refined .jh-author-resource-copy p,
.jhsuite-refined .jh-review-info-copy p {
  color: #6f626a !important;
  font-family: "Perpetua", Georgia, "Times New Roman", serif !important;
  font-size: 0.9rem !important;
  font-weight: 400 !important;
  line-height: 1.42 !important;
  text-align: left !important;
}

.jhsuite-refined .jh-author-resource-copy p {
  margin: 5px 0 12px !important;
}

.jhsuite-refined .jh-review-info-copy p {
  margin: 5px 0 10px !important;
}

/* [TUNE 2026-08-06 | @JH-03N | The SINTA badge is now an interactive pill linked to the accreditation page.] */
.jhsuite-refined a.jh-review-info-badge {
  cursor: pointer !important;
  text-decoration: none !important;
  transition:
    color 0.18s ease,
    background-color 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease !important;
}

.jhsuite-refined a.jh-review-info-badge:hover,
.jhsuite-refined a.jh-review-info-badge:focus-visible {
  color: #ffffff !important;
  background: #790746 !important;
  border-color: #790746 !important;
  box-shadow: 0 7px 15px rgba(81, 2, 46, 0.15) !important;
  outline: none !important;
  text-decoration: none !important;
  transform: translateY(-2px) !important;
}

.jhsuite-refined a.jh-review-info-badge:focus-visible {
  outline: 3px solid rgba(121, 7, 70, 0.17) !important;
  outline-offset: 3px !important;
}

@media (max-width: 620px) {
  .jhsuite-refined .jh-review-pill {
    width: 100% !important;
    justify-content: center !important;
    white-space: normal !important;
  }

  .jhsuite-refined .jh-author-actions {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .jhsuite-refined .jh-author-resource-copy > .jh-author-action {
    width: 100% !important;
    max-width: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhsuite-refined .jh-author-action,
  .jhsuite-refined .jh-author-text-link,
  .jhsuite-refined a.jh-review-info-badge {
    transition: none !important;
  }
}

/* ==========================================================================
   @JH-06C — FOOTER QUALITY ROW REFINEMENT
   [TUNE 2026-08-06 | @JH-06C | Remove duplicate APC card and align four quality cards in one row.]
   ========================================================================== */

.jhft__quality {
  grid-template-columns: minmax(280px, 0.82fr) minmax(0, 2.18fr);
  gap: 24px;
  align-items: stretch;
}

.jhft__quality-links,
.jhft__quality-links--four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  align-items: stretch;
}

.jhft__quality-links a {
  justify-content: flex-start;
  min-height: 98px;
  padding: 14px 15px;
}

.jhft__quality-links span {
  display: block;
  margin: 0;
  color: #8fb6d4;
  font-size: 13px;
  font-style: italic;
  font-variant: unicase;
  line-height: 1.1;
  letter-spacing: 0.065em;
}

.jhft__quality-links strong {
  display: block;
  margin-top: 6px;
  font-size: 16px;
  line-height: 1.28;
}

/* Safety fallback for cached footer markup. */
.jhft__fee {
  display: none !important;
}

@media (max-width: 1120px) {
  .jhft__quality {
    grid-template-columns: 1fr;
  }

  .jhft__quality-links,
  .jhft__quality-links--four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .jhft__quality-links,
  .jhft__quality-links--four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .jhft__quality-links,
  .jhft__quality-links--four {
    grid-template-columns: 1fr;
  }

  .jhft__quality-links a {
    min-height: 0;
  }
}

/* ==========================================================================
   @JH-03P — INDEXING DIRECTORY PAGE CTA — V10
   Adds a compact link below the collapsible discovery directory.
   ========================================================================== */

.jhsuite-refined .jhytel-indexing-page-action {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-top: 12px;
}

.jhsuite-refined .jhytel-indexing-page-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: min(100%, 220px);
  min-height: 41px;
  padding: 8px 14px;
  color: #790746 !important;
  background: #fff6fc;
  border: 1px solid #ead8e4;
  border-radius: 999px;
  box-shadow: none;
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  font-size: 16px;
  font-style: italic;
  font-variant: unicase;
  font-weight: 300;
  letter-spacing: 0.045em;
  line-height: 1.15;
  text-decoration: none !important;
  transition:
    color 0.18s ease,
    background-color 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}

.jhsuite-refined .jhytel-indexing-page-link > span[aria-hidden="true"] {
  flex: 0 0 auto;
  font-family: Arial, sans-serif;
  font-style: normal;
  transition: transform 0.18s ease;
}

.jhsuite-refined .jhytel-indexing-page-link:hover,
.jhsuite-refined .jhytel-indexing-page-link:focus-visible {
  color: #ffffff !important;
  background: #790746;
  border-color: #790746;
  box-shadow: 0 7px 15px rgba(81, 2, 46, 0.15);
  outline: none;
  text-decoration: none !important;
  transform: translateY(-2px);
}

.jhsuite-refined .jhytel-indexing-page-link:hover > span[aria-hidden="true"],
.jhsuite-refined .jhytel-indexing-page-link:focus-visible > span[aria-hidden="true"] {
  transform: translateX(3px);
}

.jhsuite-refined .jhytel-indexing-page-link:focus-visible {
  outline: 3px solid rgba(121, 7, 70, 0.17);
  outline-offset: 3px;
}

@media (max-width: 520px) {
  .jhsuite-refined .jhytel-indexing-page-action {
    justify-content: stretch;
  }

  .jhsuite-refined .jhytel-indexing-page-link {
    width: 100%;
    max-width: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhsuite-refined .jhytel-indexing-page-link,
  .jhsuite-refined .jhytel-indexing-page-link > span[aria-hidden="true"] {
    transition: none;
  }
}


/* ==========================================================================
   @JH-06D — FOOTER QUALITY COMPACT BALANCE
   [TUNE 2026-08-06 | @JH-06D | Give the quality copy more room, keep all three checks in one row, and make the four service cards narrower and content-height only.]
   ========================================================================== */

/* Two balanced regions: a wider editorial-copy column and a compact fixed-width card row. */
.jhft__quality {
  grid-template-columns: minmax(430px, 1fr) auto;
  align-items: start;
  gap: clamp(24px, 3vw, 42px);
}

.jhft__quality-copy {
  min-width: 0;
  max-width: 660px;
}

/* Keep the three editorial commitments on one line on desktop. */
.jhft__checks {
  flex-wrap: nowrap;
  gap: 7px;
}

.jhft__checks li {
  flex: 0 0 auto;
  padding: 6px 9px;
  font-size: 13.5px;
  white-space: nowrap;
}

.jhft__quality-copy p {
  max-width: 650px;
  line-height: 1.55;
}

/* Four slimmer cards; they no longer stretch to the height of the copy column. */
.jhft__quality-links,
.jhft__quality-links--four {
  grid-template-columns: repeat(4, minmax(150px, 188px));
  align-items: start;
  justify-content: end;
  justify-self: end;
  gap: 9px;
  width: max-content;
  max-width: 100%;
}

.jhft__quality-links a {
  align-self: start;
  justify-content: flex-start;
  width: 100%;
  min-height: 88px;
  height: auto;
  padding: 12px 13px;
}

.jhft__quality-links span {
  font-size: 12.5px;
  line-height: 1.15;
}

.jhft__quality-links strong {
  margin-top: 6px;
  font-size: 14.5px;
  line-height: 1.32;
}

/* At medium desktop widths, stack the copy above a four-card row before text becomes cramped. */
@media (max-width: 1180px) {
  .jhft__quality {
    grid-template-columns: 1fr;
    gap: 19px;
  }

  .jhft__quality-copy {
    max-width: none;
  }

  .jhft__quality-copy p {
    max-width: 820px;
  }

  .jhft__quality-links,
  .jhft__quality-links--four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    justify-self: stretch;
    width: 100%;
  }
}

@media (max-width: 760px) {
  .jhft__checks {
    flex-wrap: wrap;
  }

  .jhft__quality-links,
  .jhft__quality-links--four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .jhft__quality-links,
  .jhft__quality-links--four {
    grid-template-columns: 1fr;
  }

  .jhft__quality-links a {
    min-height: 0;
  }
}

/* ==========================================================================
   @JH-03Q — INDEXING + AUTHOR CONTROLS — V12
   [TUNE 2026-08-06 | @JH-03Q | Rename author actions, unify both as pill buttons,
   refine the Open Directory control, and reveal the full indexing CTA only
   inside the expanded native details disclosure.]
   ========================================================================== */

/* LOGIN + REGISTER: identical compact pill controls. */
.jhsuite-refined .jh-author-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
}

.jhsuite-refined .jh-author-actions .jh-author-action {
  width: 100%;
  min-width: 0;
  min-height: 41px;
  padding: 8px 13px;
  border-radius: 999px;
  font-family: "Perpetua", Georgia, "Times New Roman", serif;
  font-size: 16px;
  font-style: italic;
  font-variant: unicase;
  font-weight: 300;
  letter-spacing: 0.035em;
  line-height: 1.1;
}

.jhsuite-refined .jh-author-actions .jh-author-action > span[aria-hidden="true"] {
  flex: 0 0 auto;
  font-family: Arial, sans-serif;
  font-style: normal;
}

/* OPEN DIRECTORY: a true pill with a separate circular plus control. */
.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-summary-action {
  gap: 10px;
  min-height: 42px;
  padding: 5px 6px 5px 14px;
  border-radius: 999px;
  font-size: 16px;
  line-height: 1.1;
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-summary-plus {
  display: inline-flex;
  flex: 0 0 27px;
  align-items: center;
  justify-content: center;
  width: 27px;
  height: 27px;
  color: #790746;
  background: #ffffff;
  border: 1px solid #dfc5d3;
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(81, 2, 46, 0.08);
  font-family: Arial, sans-serif;
  font-size: 17px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  transform-origin: center;
  transition:
    color 0.18s ease,
    background-color 0.18s ease,
    border-color 0.18s ease,
    transform 0.18s ease;
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-disclosure[open] .jhytel-indexing-summary-plus {
  color: #ffffff;
  background: #790746;
  border-color: #790746;
  transform: rotate(45deg);
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-disclosure > summary:hover .jhytel-indexing-summary-plus,
.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-disclosure > summary:focus-visible .jhytel-indexing-summary-plus {
  color: #ffffff;
  background: #790746;
  border-color: #790746;
}

/* FULL INDEXING CTA: now physically inside <details>, therefore hidden until open. */
.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-page-action {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin: 0;
  padding: 12px 14px 14px;
  background: linear-gradient(180deg, #ffffff 0%, #fffafd 100%);
  border-top: 1px solid #ead8e4;
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-page-link {
  width: min(100%, 230px);
  min-height: 41px;
  font-size: 16px;
}

@media (max-width: 560px) {
  .jhsuite-refined .jh-author-actions {
    grid-template-columns: 1fr;
  }

  .jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-summary-action {
    width: 100%;
    justify-content: space-between;
  }

  .jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-page-action {
    justify-content: stretch;
  }

  .jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-page-link {
    width: 100%;
    max-width: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-summary-plus {
    transition: none;
  }
}


/* ==========================================================================
   @JH-03R — UNIFIED COMPACT ACTION PILLS — V13
   [TUNE 2026-08-06 | @JH-03R | Match APC, SINTA, and Open Directory controls
   to one width, height, radius, type scale, and internal spacing.]
   ========================================================================== */

.jhsuite-refined {
  --jh-unified-action-width: 220px;
  --jh-unified-action-height: 41px;
}

/* APC + SINTA: identical geometry. */
.jhsuite-refined .jh-review-info-link,
.jhsuite-refined a.jh-review-info-badge {
  box-sizing: border-box !important;
  width: min(100%, var(--jh-unified-action-width)) !important;
  min-width: 0 !important;
  max-width: var(--jh-unified-action-width) !important;
  min-height: var(--jh-unified-action-height) !important;
  padding: 8px 14px !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  border-radius: 999px !important;
  font-size: 16px !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

.jhsuite-refined .jh-review-info-link > span[aria-hidden="true"],
.jhsuite-refined a.jh-review-info-badge > span[aria-hidden="true"] {
  flex: 0 0 auto !important;
  font-family: Arial, sans-serif !important;
  font-style: normal !important;
  line-height: 1 !important;
}

/* Open Directory: same outer pill dimensions, with the existing circular plus. */
.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-summary-action {
  box-sizing: border-box !important;
  width: min(100%, var(--jh-unified-action-width)) !important;
  min-width: 0 !important;
  max-width: var(--jh-unified-action-width) !important;
  min-height: var(--jh-unified-action-height) !important;
  padding: 6px 7px 6px 14px !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  border-radius: 999px !important;
  font-size: 16px !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

.jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-summary-action-label {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

@media (max-width: 560px) {
  .jhsuite-refined .jh-review-info-link,
  .jhsuite-refined a.jh-review-info-badge,
  .jhsuite-refined .jhytel-indexing--dropdown .jhytel-indexing-summary-action {
    width: 100% !important;
    max-width: none !important;
  }
}


/* ==========================================================================
   @JH-06E — FOOTER QUALITY COLUMN SPACING
   [TUNE 2026-08-06 | @JH-06E | Add breathing room between the editorial copy and the four compact quality cards.] 
   ========================================================================== */

/* Desktop only: preserve the compact cards while creating a clearer visual
   separation from the editorial-standards copy on the left. */
@media (min-width: 1181px) {
  .jhft__quality {
    column-gap: clamp(44px, 4vw, 64px);
  }

  .jhft__quality-links,
  .jhft__quality-links--four {
    margin-left: 10px;
  }
}

/* Slightly narrower desktops still receive comfortable separation before
   the layout changes to the stacked tablet arrangement. */
@media (min-width: 981px) and (max-width: 1180px) {
  .jhft__quality {
    row-gap: 22px;
  }
}


/* ==========================================================================
   @JH-06F — FOOTER QUALITY RIGHT-EDGE ALIGNMENT — V15
   [TUNE 2026-08-06 | @JH-06F | Keep the four quality cards inside the same
   footer content edge as the Author Resources cards below, while allowing
   additional card height for long labels and accreditation details.]
   ========================================================================== */

/* Shared safety: prevent the quality-card row from becoming wider than the
   footer content area and make every card absorb its text cleanly. */
.jhft__quality-links,
.jhft__quality-links--four {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin-right: 0;
  margin-left: 0;
  justify-self: stretch;
}

.jhft__quality-links a {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 108px;
  height: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}

.jhft__quality-links span,
.jhft__quality-links strong {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}

/* Wide desktop: reserve a controlled right-hand region for the four cards.
   Its right edge is exactly the same as every full-width footer section below. */
@media (min-width: 1181px) {
  .jhft__quality {
    grid-template-columns: minmax(360px, 1fr) minmax(600px, 740px);
    column-gap: clamp(42px, 4vw, 62px);
    align-items: start;
  }

  .jhft__quality-copy {
    max-width: none;
  }

  .jhft__quality-links,
  .jhft__quality-links--four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    justify-self: end;
    width: 100%;
    max-width: 740px;
    margin-left: 0;
  }
}

/* Stacked desktop/tablet: both this row and Author Resources use the complete
   inner width, so their left and right edges remain identical. */
@media (max-width: 1180px) {
  .jhft__quality-links,
  .jhft__quality-links--four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    justify-self: stretch;
    width: 100%;
    max-width: none;
    margin-inline: 0;
  }
}

@media (max-width: 760px) {
  .jhft__quality-links,
  .jhft__quality-links--four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhft__quality-links a {
    min-height: 104px;
  }
}

@media (max-width: 520px) {
  .jhft__quality-links,
  .jhft__quality-links--four {
    grid-template-columns: minmax(0, 1fr);
  }

  .jhft__quality-links a {
    min-height: 0;
  }
}
/* ==========================================================================
   @JH-03S — HOMEPAGE HEADING ALIGNMENT + REVIEW-STAGE MOTION — V16
   Scope: Global Authorship, Journal Performance, and Editorial Review stages.
   Purpose:
   - Match the Global Authorship and Journal Performance heading system to
     Editorial Process / Editorial Review Timeline.
   - Preserve the three compact review-stage cards while adding restrained,
     accessible motion and stable responsive behaviour.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Shared heading language
   -------------------------------------------------------------------------- */

/* Global Authorship: remove the decorative icon so the title block starts at
   the same visual edge as Editorial Process. */
.jhytel-geo-card--shared .jhytel-geo-icon {
  display: none !important;
}

.jhytel-geo-card--shared .jhytel-geo-summary {
  align-items: flex-start !important;
  gap: 0 !important;
}

.jhytel-geo-card--shared .jhytel-geo-heading,
.jhytel-impact-card .jhytel-impact-intro > div {
  min-width: 0 !important;
  font-family: "Perpetua", Georgia, "Times New Roman", serif !important;
}

/* Kicker: identical to Editorial Process. */
.jhytel-geo-card--shared .jhytel-geo-eyebrow,
.jhytel-impact-card .jhytel-impact-kicker {
  display: block !important;
  margin: 0 0 3px !important;
  color: #610c3a !important;
  font-family: "Perpetua", Georgia, "Times New Roman", serif !important;
  font-size: 1rem !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-weight: 400 !important;
  letter-spacing: 0.065em !important;
  line-height: 1.2 !important;
  text-transform: none !important;
}

/* Main title: identical scale and rhythm to Editorial Review Timeline. */
.jhytel-geo-card--shared .jhytel-geo-heading h3,
.jhytel-impact-card .jhytel-impact-intro h2 {
  margin: 0 !important;
  color: #30272d !important;
  font-family: "Perpetua", Georgia, "Times New Roman", serif !important;
  font-size: clamp(1.48rem, 2.4vw, 1.95rem) !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-weight: 400 !important;
  letter-spacing: -0.012em !important;
  line-height: 1.06 !important;
  text-transform: none !important;
}

/* Explanatory copy follows the same readable scale used by the editorial and
   indexing headings. */
.jhytel-geo-card--shared .jhytel-geo-heading p,
.jhytel-impact-card .jhytel-impact-intro p {
  max-width: 42rem !important;
  margin: 6px 0 0 !important;
  color: #756970 !important;
  font-family: "Perpetua", Georgia, "Times New Roman", serif !important;
  font-size: 1.1rem !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.42 !important;
  text-align: left !important;
}

/* Keep the Journal Performance heading aligned to the upper edge of its card. */
.jhytel-impact-card .jhytel-impact-intro {
  align-items: flex-start !important;
}

/* --------------------------------------------------------------------------
   2. Review-stage animation and interaction
   -------------------------------------------------------------------------- */

.jhsuite-refined .jh-review-slide-one {
  --jh-stage-glow: rgba(121, 7, 70, 0.15);
}

.jhsuite-refined .jh-review-slide-two {
  --jh-stage-glow: rgba(45, 70, 165, 0.15);
}

.jhsuite-refined .jh-review-slide-three {
  --jh-stage-glow: rgba(31, 106, 83, 0.15);
}

.jhsuite-refined .jh-review-slide {
  isolation: isolate;
  will-change: transform;
  animation: jh-review-stage-enter 560ms cubic-bezier(0.22, 0.8, 0.24, 1) backwards !important;
  transition:
    transform 220ms cubic-bezier(0.22, 0.8, 0.24, 1),
    border-color 220ms ease,
    box-shadow 220ms ease,
    background-color 220ms ease !important;
}

.jhsuite-refined .jh-review-slide:nth-child(1) {
  animation-delay: 60ms !important;
}

.jhsuite-refined .jh-review-slide:nth-child(2) {
  animation-delay: 150ms !important;
}

.jhsuite-refined .jh-review-slide:nth-child(3) {
  animation-delay: 240ms !important;
}

/* Restrained light sweep: visible only on deliberate hover/focus. */
.jhsuite-refined .jh-review-slide::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    112deg,
    transparent 18%,
    rgba(255, 255, 255, 0.68) 46%,
    transparent 74%
  );
  opacity: 0;
  transform: translateX(-115%);
  transition:
    transform 520ms cubic-bezier(0.22, 0.8, 0.24, 1),
    opacity 180ms ease;
}

.jhsuite-refined .jh-review-slide > * {
  position: relative;
  z-index: 1;
}

@media (hover: hover) and (pointer: fine) {
  .jhsuite-refined .jh-review-slide:hover {
    border-color: var(--jh-stage) !important;
    border-left-color: var(--jh-stage) !important;
    box-shadow:
      0 12px 26px rgba(53, 18, 47, 0.09),
      0 0 0 3px var(--jh-stage-glow) !important;
    transform: translateY(-4px) !important;
  }

  .jhsuite-refined .jh-review-slide:hover::after {
    opacity: 1;
    transform: translateX(115%);
  }

  .jhsuite-refined .jh-review-slide:hover .jh-review-duration {
    transform: translateX(2px);
  }
}

.jhsuite-refined .jh-review-slide:focus-within {
  border-color: var(--jh-stage) !important;
  border-left-color: var(--jh-stage) !important;
  box-shadow:
    0 10px 22px rgba(53, 18, 47, 0.085),
    0 0 0 3px var(--jh-stage-glow) !important;
  outline: none !important;
  transform: translateY(-3px) !important;
}

.jhsuite-refined .jh-review-slide:focus-within::after {
  opacity: 1;
  transform: translateX(115%);
}

.jhsuite-refined .jh-review-duration {
  transition:
    color 200ms ease,
    transform 200ms ease !important;
}

@keyframes jh-review-stage-enter {
  from {
    opacity: 0;
    transform: translateY(13px) scale(0.985);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* --------------------------------------------------------------------------
   3. Responsive stability
   -------------------------------------------------------------------------- */

/* Keep three stages in one compact row while there is enough room. */
@media (min-width: 721px) {
  .jhsuite-refined .jh-review-track {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* Stack the stages before the text becomes cramped. No horizontal scrolling. */
@media (max-width: 720px) {
  .jhsuite-refined .jh-review-track {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 9px !important;
    overflow: visible !important;
  }

  .jhsuite-refined .jh-review-slide {
    min-height: 0 !important;
  }

  .jhsuite-refined .jh-review-slide-top {
    padding: 10px 12px 5px !important;
  }

  .jhsuite-refined .jh-review-slide-copy {
    padding: 3px 12px 12px !important;
  }
}

@media (max-width: 520px) {
  .jhytel-geo-card--shared .jhytel-geo-heading h3,
  .jhytel-impact-card .jhytel-impact-intro h2 {
    font-size: 1.48rem !important;
  }

  .jhytel-geo-card--shared .jhytel-geo-heading p,
  .jhytel-impact-card .jhytel-impact-intro p {
    font-size: 1rem !important;
  }
}

/* Respect operating-system motion preferences. */
@media (prefers-reduced-motion: reduce) {
  .jhsuite-refined .jh-review-slide {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    will-change: auto;
  }

  .jhsuite-refined .jh-review-slide::after,
  .jhsuite-refined .jh-review-duration {
    transition: none !important;
  }

  .jhsuite-refined .jh-review-slide::after {
    display: none !important;
  }
}
/* ==========================================================================
   @JH-06C — FOOTER CONTACT ICONS
   [TUNE 2026-08-06 | @JH-06C | Add compact WhatsApp and email icons to footer contact pills.]
   ========================================================================== */

.jhft__contact a {
  justify-content: flex-start;
  gap: 8px;
}

.jhft__contact a::before {
  content: "";
  display: inline-block;
  flex: 0 0 17px;
  width: 17px;
  height: 17px;
  background-color: currentColor;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 0.92;
}

/* Phone/chat symbol for the official WhatsApp contact. */
.jhft__contact a[href^="https://wa.me/"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='M20.5 11.8a8.5 8.5 0 0 1-12.6 7.4L3.5 20.5l1.3-4.2a8.5 8.5 0 1 1 15.7-4.5Z'/%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='M8.2 7.8c.4-.4.8-.3 1.1.1l1 1.5c.2.4.2.7-.1 1l-.6.6c.6 1.4 1.7 2.5 3.1 3.1l.6-.6c.3-.3.6-.3 1-.1l1.5 1c.4.3.5.7.1 1.1-.6.7-1.5 1.1-2.4.9-3.2-.6-5.8-3.2-6.4-6.4-.2-.9.2-1.8 1.1-2.2Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='M20.5 11.8a8.5 8.5 0 0 1-12.6 7.4L3.5 20.5l1.3-4.2a8.5 8.5 0 1 1 15.7-4.5Z'/%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='M8.2 7.8c.4-.4.8-.3 1.1.1l1 1.5c.2.4.2.7-.1 1l-.6.6c.6 1.4 1.7 2.5 3.1 3.1l.6-.6c.3-.3.6-.3 1-.1l1.5 1c.4.3.5.7.1 1.1-.6.7-1.5 1.1-2.4.9-3.2-.6-5.8-3.2-6.4-6.4-.2-.9.2-1.8 1.1-2.2Z'/%3E%3C/svg%3E");
}

/* Envelope symbol for both editorial email contacts. */
.jhft__contact a[href^="mailto:"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='M4 6.5h16v11H4z'/%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='m4.8 7.2 7.2 5.6 7.2-5.6M4.8 16.8l5.1-4M19.2 16.8l-5.1-4'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='M4 6.5h16v11H4z'/%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='m4.8 7.2 7.2 5.6 7.2-5.6M4.8 16.8l5.1-4M19.2 16.8l-5.1-4'/%3E%3C/svg%3E");
}

.jhft__contact a:hover::before,
.jhft__contact a:focus-visible::before {
  opacity: 1;
  transform: translateY(-1px);
}

@media (max-width: 520px) {
  .jhft__contact {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .jhft__contact a {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhft__contact a::before {
    transform: none !important;
  }
}


/* ==========================================================================
   @JH-03T — HOMEPAGE SECTION-HEADING HARMONISATION — V18
   Scope:
   - For Authors / Current Call for Papers
   - Upcoming Publication / Prepare Your Submission
   - Journal section / Research Articles
   - Journal Highlights / News & Global Goals
   - From the Editorial Office / Editor's Welcome

   Purpose:
   Match these heading pairs to the approved Global Authorship /
   Geographical Diversity of Authors hierarchy without changing their
   existing containers, controls, content, or responsive behaviour.
   ========================================================================== */

/* Shared kicker language — matches Global Authorship. */
.jhsuite-cfp-section .jhcfp-eyebrow,
.jhsuite-cfp-section .jhcfp-panel__eyebrow,
.jhytel-article-cfp-row__articles
  .jhytel-compact-article-section
  .jhytel-journal-section-label,
.jhm-combined-panel .jhm-panel-kicker,
.jhed2-welcome .jhed2-welcome__kicker {
  display: block !important;
  margin: 0 0 3px !important;
  padding: 0 !important;
  color: #610c3a !important;
  font-family: "Perpetua", Georgia, "Times New Roman", serif !important;
  font-size: 1rem !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-variant-caps: unicase !important;
  font-weight: 400 !important;
  letter-spacing: 0.065em !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  transform: none !important;
}

/* Shared title language — matches Geographical Diversity of Authors. */
.jhsuite-cfp-section .jhcfp-heading h2,
.jhsuite-cfp-section .jhcfp-panel__header h3,
.jhytel-article-cfp-row__articles
  .jhytel-compact-article-section
  .issue-toc-section-title,
.jhm-combined-panel .jhm-panel-title,
.jhed2-welcome .jhed2-welcome__title {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #30272d !important;
  font-family: "Perpetua", Georgia, "Times New Roman", serif !important;
  font-size: clamp(1.48rem, 2.4vw, 1.95rem) !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-variant-caps: unicase !important;
  font-weight: 400 !important;
  letter-spacing: -0.012em !important;
  line-height: 1.06 !important;
  text-transform: none !important;
  transform: none !important;
  white-space: normal !important;
  text-wrap: balance;
}

/* Preserve useful separation below headings that carry supporting copy. */
.jhsuite-cfp-section .jhcfp-panel__header h3 {
  margin-bottom: 6px !important;
}

/* The Research Articles counter remains vertically balanced beside the
   enlarged shared heading. */
.jhytel-article-cfp-row__articles
  .jhytel-compact-article-section
  .jhytel-article-count {
  align-self: center !important;
}

/* Give the editorial welcome heading enough room at desktop and tablet
   widths so the harmonised title does not crowd the quote. */
@media (min-width: 981px) {
  .jhed2-welcome {
    grid-template-columns: minmax(220px, 0.82fr) minmax(0, 2fr) auto !important;
  }
}

@media (min-width: 761px) and (max-width: 980px) {
  .jhed2-welcome {
    grid-template-columns: minmax(205px, 0.8fr) minmax(0, 1.65fr) !important;
  }
}

/* On narrow screens all heading pairs keep the same hierarchy while their
   existing containers stack naturally. */
@media (max-width: 520px) {
  .jhsuite-cfp-section .jhcfp-eyebrow,
  .jhsuite-cfp-section .jhcfp-panel__eyebrow,
  .jhytel-article-cfp-row__articles
    .jhytel-compact-article-section
    .jhytel-journal-section-label,
  .jhm-combined-panel .jhm-panel-kicker,
  .jhed2-welcome .jhed2-welcome__kicker {
    font-size: 0.95rem !important;
  }

  .jhsuite-cfp-section .jhcfp-heading h2,
  .jhsuite-cfp-section .jhcfp-panel__header h3,
  .jhytel-article-cfp-row__articles
    .jhytel-compact-article-section
    .issue-toc-section-title,
  .jhm-combined-panel .jhm-panel-title,
  .jhed2-welcome .jhed2-welcome__title {
    font-size: 1.48rem !important;
    line-height: 1.08 !important;
  }
}



/* ========================================================================== 
   @JH-03U — HOMEPAGE SURFACE + AUTHOR PANEL HARMONISATION — V19
   Scope:
   - Current Issue / Vol. N No. N (YYYY)
   - Journal section / Research Articles
   - Journal Highlights / News & Global Goals
   - Author Resources / Prepare and Submit Your Manuscript

   Purpose:
   - Extend the approved Global Authorship left-accent geometry to the three
     requested homepage sections.
   - Give Author Resources the burgundy editorial surface and soft wave
     treatment used by the Call for Papers feature, while preserving clear,
     accessible resource cards and controls.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Shared left-accent geometry
   -------------------------------------------------------------------------- */

/* Current Issue heading bar. The extra html/body specificity is intentional:
   indexJournal.tpl contains later inline !important rules for this heading. */
html body .jhytel-home-current .homepage-issue-current.jhhi-current-heading {
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 76px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 5px 10px !important;
  margin: 22px 0 13px !important;
  padding: 14px 20px !important;
  color: #30272d !important;
  background:
    radial-gradient(circle at 100% 0, rgba(121, 7, 70, 0.055), transparent 34%),
    linear-gradient(145deg, #ffffff 0%, #fffafd 100%) !important;
  border: 1px solid #ead8e4 !important;
  border-left: 4px solid #790746 !important;
  border-radius: 0 14px 14px 0 !important;
  box-shadow: 0 8px 22px rgba(53, 18, 47, 0.065) !important;
  font-family: "Perpetua", Georgia, "Times New Roman", serif !important;
  font-size: clamp(1.48rem, 2.4vw, 1.95rem) !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-weight: 400 !important;
  letter-spacing: -0.012em !important;
  line-height: 1.06 !important;
  text-align: left !important;
  text-shadow: none !important;
}

html body .jhytel-home-current .homepage-issue-current.jhhi-current-heading::after {
  display: none !important;
  content: none !important;
}

html body .jhytel-home-current .jhhi-current-heading__label,
html body .jhytel-home-current .jhhi-current-heading__series,
html body .jhytel-home-current .jhhi-current-heading__divider {
  color: inherit !important;
  font: inherit !important;
  text-shadow: none !important;
}

html body .jhytel-home-current .jhhi-current-heading__label {
  color: #610c3a !important;
}

html body .jhytel-home-current .jhhi-current-heading__divider {
  color: #b58a9f !important;
}

/* Research Articles: make the full current-issue section use the same outer
   geometry as Global Authorship. Article cards and metadata remain unchanged. */
html body .jhytel-article-cfp-row__articles .jhytel-compact-article-section {
  position: relative !important;
  width: 100% !important;
  margin: 0 0 20px !important;
  padding: clamp(16px, 2vw, 22px) !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 100% 0, rgba(121, 7, 70, 0.045), transparent 32%),
    linear-gradient(145deg, #ffffff 0%, #fffafd 100%) !important;
  border: 1px solid #ead8e4 !important;
  border-left: 4px solid #790746 !important;
  border-radius: 0 14px 14px 0 !important;
  box-shadow: 0 8px 22px rgba(53, 18, 47, 0.055) !important;
}

/* Journal Highlights: replace the previous multicolour strip with the same
   restrained burgundy accent and square-left/rounded-right silhouette. */
html body .jhm-home-modules .jhm-combined-panel {
  border: 1px solid #ead8e4 !important;
  border-left: 4px solid #790746 !important;
  border-radius: 0 14px 14px 0 !important;
  box-shadow: 0 8px 22px rgba(53, 18, 47, 0.065) !important;
}

html body .jhm-home-modules .jhm-combined-panel::before {
  display: none !important;
  content: none !important;
}

/* Keep the three accent surfaces stable during interaction. */
@media (hover: hover) and (pointer: fine) {
  html body .jhytel-home-current .homepage-issue-current.jhhi-current-heading:hover,
  html body .jhytel-article-cfp-row__articles .jhytel-compact-article-section:hover,
  html body .jhm-home-modules .jhm-combined-panel:hover {
    border-left-color: #790746 !important;
    box-shadow: 0 11px 27px rgba(53, 18, 47, 0.085) !important;
  }
}

/* --------------------------------------------------------------------------
   2. Burgundy Author Resources panel with soft editorial waves
   -------------------------------------------------------------------------- */

.jhsuite-refined .jh-author-panel {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  color: #ffffff !important;
  background:
    radial-gradient(circle at 15% 0, rgba(255, 255, 255, 0.12), transparent 30%),
    linear-gradient(155deg, #8d0750 0%, #69033a 48%, #3b0828 100%) !important;
  border: 1px solid #5c0a37 !important;
  border-left: 1px solid #5c0a37 !important;
  border-radius: 14px !important;
  box-shadow:
    0 13px 30px rgba(61, 8, 40, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}

/* Two broad translucent ellipses form a restrained wave/ombre treatment. */
.jhsuite-refined .jh-author-panel::before,
.jhsuite-refined .jh-author-panel::after {
  position: absolute !important;
  z-index: 0 !important;
  display: block !important;
  content: "" !important;
  pointer-events: none !important;
  border: 0 !important;
}

.jhsuite-refined .jh-author-panel::before {
  top: auto !important;
  right: -20% !important;
  bottom: -17% !important;
  width: 118% !important;
  height: 44% !important;
  background: rgba(255, 255, 255, 0.052) !important;
  border-radius: 50% 50% 0 0 / 100% 100% 0 0 !important;
  transform: rotate(-5deg) !important;
}

.jhsuite-refined .jh-author-panel::after {
  top: auto !important;
  right: -34% !important;
  bottom: -28% !important;
  width: 132% !important;
  height: 49% !important;
  background: rgba(255, 255, 255, 0.035) !important;
  border-radius: 50% 50% 0 0 / 100% 100% 0 0 !important;
  transform: rotate(4deg) !important;
}

.jhsuite-refined .jh-author-panel > * {
  position: relative !important;
  z-index: 1 !important;
}

.jhsuite-refined .jh-author-panel .jh-hub-kicker {
  color: #f5c8dd !important;
}

.jhsuite-refined .jh-author-panel .jh-author-heading h2 {
  color: #ffffff !important;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.08) !important;
}

.jhsuite-refined .jh-author-panel .jh-author-heading p {
  color: rgba(255, 255, 255, 0.82) !important;
}

/* Preserve a clean reading surface inside the dark panel. */
.jhsuite-refined .jh-author-panel .jh-author-resource-card {
  background: rgba(255, 255, 255, 0.965) !important;
  border-color: rgba(255, 255, 255, 0.62) !important;
  box-shadow:
    0 7px 18px rgba(39, 5, 25, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.jhsuite-refined .jh-author-panel .jh-author-resource-card:hover,
.jhsuite-refined .jh-author-panel .jh-author-resource-card:focus-within {
  border-color: #f1c9dc !important;
  box-shadow:
    0 11px 24px rgba(39, 5, 25, 0.21),
    inset 0 1px 0 rgba(255, 255, 255, 0.96) !important;
}

.jhsuite-refined .jh-author-panel .jh-author-resource-icon {
  color: #ffffff !important;
  background: linear-gradient(145deg, #8d0750, #4a082f) !important;
  border-color: rgba(121, 7, 70, 0.16) !important;
  box-shadow: 0 6px 14px rgba(61, 8, 40, 0.2) !important;
}

/* --------------------------------------------------------------------------
   3. Responsive refinements
   -------------------------------------------------------------------------- */

@media (max-width: 991px) {
  html body .jhytel-home-current .homepage-issue-current.jhhi-current-heading {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 68px !important;
    margin: 18px 0 12px !important;
    padding: 13px 17px !important;
  }
}

@media (max-width: 767.98px) {
  html body .jhytel-home-current .homepage-issue-current.jhhi-current-heading {
    gap: 3px 7px !important;
    min-height: 0 !important;
    padding: 13px 15px !important;
    border-radius: 0 12px 12px 0 !important;
    font-size: 1.48rem !important;
    line-height: 1.08 !important;
  }

  html body .jhytel-home-current .jhhi-current-heading__label,
  html body .jhytel-home-current .jhhi-current-heading__series {
    flex: 1 0 100% !important;
    width: 100% !important;
  }

  html body .jhytel-home-current .jhhi-current-heading__divider {
    display: none !important;
  }

  html body .jhytel-article-cfp-row__articles .jhytel-compact-article-section,
  html body .jhm-home-modules .jhm-combined-panel {
    border-radius: 0 12px 12px 0 !important;
  }
}

@media (max-width: 520px) {
  html body .jhytel-article-cfp-row__articles .jhytel-compact-article-section {
    padding: 15px 13px !important;
  }

  .jhsuite-refined .jh-author-panel::before {
    right: -36% !important;
    bottom: -12% !important;
    width: 150% !important;
  }

  .jhsuite-refined .jh-author-panel::after {
    right: -48% !important;
    bottom: -25% !important;
    width: 165% !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body .jhytel-home-current .homepage-issue-current.jhhi-current-heading,
  html body .jhytel-article-cfp-row__articles .jhytel-compact-article-section,
  html body .jhm-home-modules .jhm-combined-panel,
  .jhsuite-refined .jh-author-panel .jh-author-resource-card {
    transition: none !important;
  }
}


/* ========================================================================== 
   @JH-03V — PUBLICATION DATE HOVER CONTRAST — V20
   Scope: homepage Actual Publication Date / Published status pill
   Purpose: keep all text and the information marker white on hover,
            including the delayed-publication state.
   ========================================================================== */

html body .jhytel-home-current .jhhi-publication-state .jhhi-date-copy:hover,
html body .jhytel-home-current .jhhi-publication-state .jhhi-date-copy.is-delayed:hover {
  color: #ffffff !important;
  background: #790746 !important;
  border-color: #790746 !important;
  box-shadow: 0 7px 15px rgba(81, 2, 46, 0.18) !important;
}

html body .jhytel-home-current .jhhi-publication-state .jhhi-date-copy:hover .jhhi-date-label,
html body .jhytel-home-current .jhhi-publication-state .jhhi-date-copy:hover time,
html body .jhytel-home-current .jhhi-publication-state .jhhi-date-copy.is-delayed:hover .jhhi-date-label,
html body .jhytel-home-current .jhhi-publication-state .jhhi-date-copy.is-delayed:hover time {
  color: #ffffff !important;
}

html body .jhytel-home-current .jhhi-publication-state .jhhi-date-copy:hover .jhhi-date-label::after,
html body .jhytel-home-current .jhhi-publication-state .jhhi-date-copy.is-delayed:hover .jhhi-date-label::after {
  color: rgba(255, 255, 255, 0.72) !important;
}

html body .jhytel-home-current .jhhi-publication-state .jhhi-date-copy:hover .jhhi-delay-info__button,
html body .jhytel-home-current .jhhi-publication-state .jhhi-date-copy.is-delayed:hover .jhhi-delay-info__button {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: rgba(255, 255, 255, 0.7) !important;
  box-shadow: none !important;
}

html body .jhytel-home-current .jhhi-publication-state .jhhi-date-copy:hover .jhhi-delay-info__button:hover,
html body .jhytel-home-current .jhhi-publication-state .jhhi-date-copy:hover .jhhi-delay-info__button:focus-visible {
  color: #790746 !important;
  background: #ffffff !important;
  border-color: #ffffff !important;
}


/* ========================================================================== 
   @JH-03W — ARTICLE HEADING + EDITORIAL ALIGNMENT CORRECTION — V21
   Scope:
   - Journal section / Research Articles heading only
   - Editor's Welcome typography
   - Left-edge alignment of Editor's Welcome and journal-service cards

   Purpose:
   - Remove the v19 surface from the complete article section so the article
     list returns to its approved unboxed presentation.
   - Apply the Global Authorship surface only to the compact section heading.
   - Keep the right edge unchanged while extending the left edge to match the
     current-issue cover row on desktop.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Restore the unboxed article list
   -------------------------------------------------------------------------- */
html body .jhytel-article-cfp-row__articles .jhytel-compact-article-section {
  width: 100% !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

html body .jhytel-article-cfp-row__articles .jhytel-compact-article-section:hover,
html body .jhytel-article-cfp-row__articles .jhytel-compact-article-section:focus-within {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* --------------------------------------------------------------------------
   2. Global-Authorship treatment on the heading row only
   The JavaScript in indexJournal.tpl assigns .jhytel-article-heading-surface
   to the existing header wrapper; no article card or article metadata moves.
   -------------------------------------------------------------------------- */
html body .jhytel-article-cfp-row__articles .jhytel-article-heading-surface {
  box-sizing: border-box !important;
  position: relative !important;
  width: 100% !important;
  min-height: 84px !important;
  margin: 0 0 18px !important;
  padding: 14px 20px !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 100% 0, rgba(121, 7, 70, 0.055), transparent 34%),
    linear-gradient(145deg, #ffffff 0%, #fffafd 100%) !important;
  border: 1px solid #ead8e4 !important;
  border-left: 4px solid #790746 !important;
  border-radius: 0 14px 14px 0 !important;
  box-shadow: 0 8px 22px rgba(53, 18, 47, 0.065) !important;
}

html body .jhytel-article-cfp-row__articles .jhytel-article-heading-surface:hover,
html body .jhytel-article-cfp-row__articles .jhytel-article-heading-surface:focus-within {
  border-left-color: #790746 !important;
  box-shadow: 0 11px 27px rgba(53, 18, 47, 0.085) !important;
}

/* Fallback for browsers/templates where the heading wrapper is the first
   direct section child. The class-based selector above remains primary. */
@supports selector(:has(*)) {
  html body .jhytel-article-cfp-row__articles
    .jhytel-compact-article-section
    > :first-child:has(.issue-toc-section-title):not(.jhytel-article-heading-surface) {
    box-sizing: border-box !important;
    position: relative !important;
    width: 100% !important;
    min-height: 84px !important;
    margin: 0 0 18px !important;
    padding: 14px 20px !important;
    overflow: hidden !important;
    background:
      radial-gradient(circle at 100% 0, rgba(121, 7, 70, 0.055), transparent 34%),
      linear-gradient(145deg, #ffffff 0%, #fffafd 100%) !important;
    border: 1px solid #ead8e4 !important;
    border-left: 4px solid #790746 !important;
    border-radius: 0 14px 14px 0 !important;
    box-shadow: 0 8px 22px rgba(53, 18, 47, 0.065) !important;
  }
}

/* --------------------------------------------------------------------------
   3. Smaller Editor's Welcome heading
   -------------------------------------------------------------------------- */
html body .jhed2-welcome .jhed2-welcome__kicker {
  font-size: 0.86rem !important;
  letter-spacing: 0.07em !important;
  line-height: 1.12 !important;
}

html body .jhed2-welcome .jhed2-welcome__title {
  font-size: clamp(1.14rem, 1.6vw, 1.38rem) !important;
  letter-spacing: 0.045em !important;
  line-height: 1.08 !important;
}

html body .jhed2-welcome .jhed2-welcome__heading-arrow {
  font-size: 16px !important;
}

@media (min-width: 981px) {
  html body .jhed2-welcome {
    grid-template-columns: minmax(190px, 0.72fr) minmax(0, 2fr) auto !important;
  }
}

@media (min-width: 761px) and (max-width: 980px) {
  html body .jhed2-welcome {
    grid-template-columns: minmax(180px, 0.7fr) minmax(0, 1.65fr) !important;
  }
}

/* --------------------------------------------------------------------------
   4. Match the cover row's left edge without moving the approved right edge
   Bootstrap's current-issue row extends about one gutter to the left. These
   two modules now use that same left boundary, while their right side stays
   aligned with the editor identity and the information panel above.
   -------------------------------------------------------------------------- */
@media (min-width: 992px) {
  html body .jhytel-home-panels .jhm-home-modules > .jhed2-welcome,
  html body .jhytel-home-panels .jhm-home-modules > .jhblue-services {
    width: calc(100% + 18px) !important;
    max-width: calc(100% + 18px) !important;
    margin-left: -18px !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 767.98px) {
  html body .jhytel-article-cfp-row__articles .jhytel-article-heading-surface {
    min-height: 0 !important;
    margin-bottom: 14px !important;
    padding: 12px 14px !important;
    border-radius: 0 12px 12px 0 !important;
  }

  @supports selector(:has(*)) {
    html body .jhytel-article-cfp-row__articles
      .jhytel-compact-article-section
      > :first-child:has(.issue-toc-section-title):not(.jhytel-article-heading-surface) {
      min-height: 0 !important;
      margin-bottom: 14px !important;
      padding: 12px 14px !important;
      border-radius: 0 12px 12px 0 !important;
    }
  }
}

@media (max-width: 520px) {
  html body .jhed2-welcome .jhed2-welcome__kicker {
    font-size: 0.82rem !important;
  }

  html body .jhed2-welcome .jhed2-welcome__title {
    font-size: 1.18rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body .jhytel-article-cfp-row__articles .jhytel-article-heading-surface {
    transition: none !important;
  }
}

/* ========================================================================== 
   @JH-03X — HOMEPAGE EDGE ALIGNMENT + SINGLE ARTICLE ACCENT — V22
   Scope:
   - Restore the original Current Issue heading presentation.
   - Align Editor's Welcome, journal-service cards, News & Global Goals,
     and the Research Articles heading to one shared left edge.
   - Ensure Journal section / Research Articles has exactly one left accent.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Restore Current Issue / Vol. N No. N (YYYY) to the approved original
   -------------------------------------------------------------------------- */
html body .jhytel-home-current .homepage-issue-current.jhhi-current-heading {
  position: relative !important;
  z-index: 4 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  justify-content: center !important;
  gap: 4px 10px !important;
  width: fit-content !important;
  max-width: calc(100% - 24px) !important;
  min-height: 0 !important;
  margin: 28px auto 0 !important;
  padding: 5px 8px 9px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #ffffff !important;
  font-family: "HighCruiser", "Perpetua", Georgia, serif !important;
  font-size: clamp(16px, 3.25vw, 25px) !important;
  font-style: normal !important;
  font-variant: normal !important;
  font-weight: 300 !important;
  letter-spacing: 0.075em !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-shadow:
    0 2px 3px rgba(0, 0, 0, 0.78),
    0 0 14px rgba(0, 0, 0, 0.3) !important;
  text-transform: none !important;
}

html body .jhytel-home-current .homepage-issue-current.jhhi-current-heading:hover,
html body .jhytel-home-current .homepage-issue-current.jhhi-current-heading:focus-within {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body .jhytel-home-current .homepage-issue-current.jhhi-current-heading::after {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  right: 12% !important;
  bottom: 0 !important;
  left: 12% !important;
  height: 1px !important;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 223, 144, 0.94),
    transparent
  ) !important;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.28) !important;
}

html body .jhytel-home-current .jhhi-current-heading__label,
html body .jhytel-home-current .jhhi-current-heading__series,
html body .jhytel-home-current .jhhi-current-heading__divider {
  color: inherit !important;
  font: inherit !important;
  text-shadow: inherit !important;
}

html body .jhytel-home-current .jhhi-current-heading__divider {
  display: inline !important;
  font-family: "HighCruiser", "Perpetua", Georgia, serif !important;
  font-style: italic !important;
}

/* --------------------------------------------------------------------------
   2. One shared horizontal frame for the homepage modules
   -------------------------------------------------------------------------- */
html body .jhytel-home-panels,
html body .jhytel-home-panels .jhm-home-modules {
  width: 100% !important;
  max-width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

html body .jhytel-home-panels .jhm-home-modules > .jhed2-welcome,
html body .jhytel-home-panels .jhm-home-modules > .jhblue-services,
html body .jhytel-home-panels .jhm-home-modules > .jhm-combined-panel {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  justify-self: stretch !important;
}

/* Cancel the previous desktop-only negative offset. */
@media (min-width: 992px) {
  html body .jhytel-home-panels .jhm-home-modules > .jhed2-welcome,
  html body .jhytel-home-panels .jhm-home-modules > .jhblue-services {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
}

/* The article column already resolves Bootstrap's row gutter. Keep the
   section and its heading wrapper flush with that resolved content edge. */
html body .jhytel-article-cfp-row__articles,
html body .jhytel-article-cfp-row__articles .jhytel-compact-article-section {
  box-sizing: border-box !important;
}

html body .jhytel-article-cfp-row__articles .jhytel-compact-article-section {
  width: 100% !important;
  max-width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
  border: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* --------------------------------------------------------------------------
   3. Research Articles: exactly one border-left on the heading wrapper
   -------------------------------------------------------------------------- */
html body .jhytel-article-cfp-row__articles .jhytel-compact-article-section::before,
html body .jhytel-article-cfp-row__articles .jhytel-compact-article-section::after,
html body .jhytel-article-cfp-row__articles .jhytel-article-heading-surface::before,
html body .jhytel-article-cfp-row__articles .jhytel-article-heading-surface::after {
  display: none !important;
  content: none !important;
}

html body .jhytel-article-cfp-row__articles .jhytel-article-heading-surface {
  box-sizing: border-box !important;
  position: relative !important;
  left: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 84px !important;
  margin: 0 0 18px !important;
  padding: 14px 20px !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 100% 0, rgba(121, 7, 70, 0.055), transparent 34%),
    linear-gradient(145deg, #ffffff 0%, #fffafd 100%) !important;
  border: 1px solid #ead8e4 !important;
  border-left: 4px solid #790746 !important;
  border-radius: 0 14px 14px 0 !important;
  box-shadow: 0 8px 22px rgba(53, 18, 47, 0.065) !important;
}

/* Neutralise any earlier accent attached to wrappers surrounding the new,
   single heading surface. */
html body .jhytel-article-cfp-row__articles
  .jhytel-compact-article-section
  > :not(.jhytel-article-heading-surface) {
  border-left-color: initial;
}

html body .jhytel-article-cfp-row__articles .jhytel-article-heading-surface:hover,
html body .jhytel-article-cfp-row__articles .jhytel-article-heading-surface:focus-within {
  border-left: 4px solid #790746 !important;
  box-shadow: 0 11px 27px rgba(53, 18, 47, 0.085) !important;
}

/* --------------------------------------------------------------------------
   4. Responsive restoration and alignment
   -------------------------------------------------------------------------- */
@media (max-width: 767.98px) {
  html body .jhytel-home-current .homepage-issue-current.jhhi-current-heading {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 20px auto 0 !important;
    padding: 0 0 10px !important;
    gap: 2px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #610c3a !important;
    font-size: clamp(21px, 6.1vw, 25px) !important;
    font-style: normal !important;
    line-height: 1.14 !important;
    letter-spacing: 0.055em !important;
    text-align: center !important;
    text-shadow: none !important;
  }

  html body .jhytel-home-current .jhhi-current-heading__label,
  html body .jhytel-home-current .jhhi-current-heading__series {
    flex: 1 0 100% !important;
    width: 100% !important;
    color: inherit !important;
    text-shadow: none !important;
  }

  html body .jhytel-home-current .jhhi-current-heading__series {
    font-size: 0.92em !important;
  }

  html body .jhytel-home-current .jhhi-current-heading__divider {
    display: none !important;
  }

  html body .jhytel-home-current .homepage-issue-current.jhhi-current-heading::after {
    right: 24% !important;
    left: 24% !important;
    background: linear-gradient(
      90deg,
      transparent,
      rgba(121, 7, 70, 0.48),
      transparent
    ) !important;
    box-shadow: none !important;
  }

  html body .jhytel-article-cfp-row__articles .jhytel-article-heading-surface {
    min-height: 0 !important;
    margin-bottom: 14px !important;
    padding: 12px 14px !important;
    border-radius: 0 12px 12px 0 !important;
  }
}

@media (max-width: 359.98px) {
  html body .jhytel-home-current .homepage-issue-current.jhhi-current-heading {
    margin-top: 17px !important;
    font-size: 20px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body .jhytel-article-cfp-row__articles .jhytel-article-heading-surface {
    transition: none !important;
  }
}



/* ========================================================================== 
   @JH-03Y — SHARED LEFT EDGE FROM JOURNAL SERVICES TO INDEXING — V23
   Reference edge: the Read Freely / Open Access service card.

   Scope:
   - Restore the approved original Current Issue heading.
   - Align News & Global Goals, Research Articles, Global Authorship,
     Journal Performance, Editorial/Author Resources, and Indexing to the
     same desktop left edge as the journal-service cards.
   - Preserve the approved right edge by expanding each shifted surface.
   - Guarantee one burgundy accent on Research Articles.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Restore Current Issue / Vol. N No. N (YYYY) to the original heading
   -------------------------------------------------------------------------- */
html body .jhytel-home-current .homepage-issue-current.jhhi-current-heading {
  position: relative !important;
  z-index: 4 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  justify-content: center !important;
  gap: 4px 10px !important;
  width: fit-content !important;
  max-width: calc(100% - 24px) !important;
  min-height: 0 !important;
  margin: 28px auto 0 !important;
  padding: 5px 8px 9px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #ffffff !important;
  font-family: "HighCruiser", "Perpetua", Georgia, serif !important;
  font-size: clamp(16px, 3.25vw, 25px) !important;
  font-style: normal !important;
  font-variant: normal !important;
  font-weight: 300 !important;
  letter-spacing: 0.075em !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-shadow:
    0 2px 3px rgba(0, 0, 0, 0.78),
    0 0 14px rgba(0, 0, 0, 0.3) !important;
  text-transform: none !important;
}

html body .jhytel-home-current .homepage-issue-current.jhhi-current-heading:hover,
html body .jhytel-home-current .homepage-issue-current.jhhi-current-heading:focus-within {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body .jhytel-home-current .homepage-issue-current.jhhi-current-heading::before {
  display: none !important;
  content: none !important;
}

html body .jhytel-home-current .homepage-issue-current.jhhi-current-heading::after {
  display: block !important;
  content: "" !important;
  position: absolute !important;
  right: 12% !important;
  bottom: 0 !important;
  left: 12% !important;
  height: 1px !important;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 223, 144, 0.94),
    transparent
  ) !important;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.28) !important;
}

html body .jhytel-home-current .jhhi-current-heading__label,
html body .jhytel-home-current .jhhi-current-heading__series,
html body .jhytel-home-current .jhhi-current-heading__divider {
  color: inherit !important;
  font: inherit !important;
  text-shadow: inherit !important;
}

html body .jhytel-home-current .jhhi-current-heading__divider {
  display: inline !important;
  font-family: "HighCruiser", "Perpetua", Georgia, serif !important;
  font-style: italic !important;
}

/* --------------------------------------------------------------------------
   2. One reference edge on desktop

   V21 intentionally extended Editor's Welcome and the three service cards
   18px to the left. Read Freely is now the reference. Every major surface
   below it receives the same extension while its approved right edge stays
   fixed.
   -------------------------------------------------------------------------- */
@media (min-width: 992px) {
  html body .jhytel-home-panels .jhm-home-modules > .jhed2-welcome,
  html body .jhytel-home-panels .jhm-home-modules > .jhblue-services,
  html body .jhytel-home-panels .jhm-home-modules > .jhm-combined-panel,
  html body .jhytel-article-cfp-row__articles .jhytel-article-heading-surface,
  html body .homepage-additional-content .jhytel-home-lower-sections > .jhytel-geo-card--shared,
  html body .homepage-additional-content .jhytel-home-lower-sections > .jhytel-impact-card,
  html body .homepage-additional-content .jhytel-home-lower-sections > .jhsuite-root {
    box-sizing: border-box !important;
    width: calc(100% + 18px) !important;
    max-width: calc(100% + 18px) !important;
    margin-right: 0 !important;
    margin-left: -18px !important;
  }

  html body .jhytel-home-panels .jhm-home-modules > .jhm-combined-panel,
  html body .homepage-additional-content .jhytel-home-lower-sections > .jhytel-geo-card--shared,
  html body .homepage-additional-content .jhytel-home-lower-sections > .jhytel-impact-card,
  html body .homepage-additional-content .jhytel-home-lower-sections > .jhsuite-root {
    justify-self: stretch !important;
  }
}

/* Tablet/mobile uses the normal resolved Bootstrap content edge. */
@media (max-width: 991.98px) {
  html body .jhytel-home-panels .jhm-home-modules > .jhed2-welcome,
  html body .jhytel-home-panels .jhm-home-modules > .jhblue-services,
  html body .jhytel-home-panels .jhm-home-modules > .jhm-combined-panel,
  html body .jhytel-article-cfp-row__articles .jhytel-article-heading-surface,
  html body .homepage-additional-content .jhytel-home-lower-sections > .jhytel-geo-card--shared,
  html body .homepage-additional-content .jhytel-home-lower-sections > .jhytel-impact-card,
  html body .homepage-additional-content .jhytel-home-lower-sections > .jhsuite-root {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
}

/* --------------------------------------------------------------------------
   3. Research Articles: one and only one left accent
   -------------------------------------------------------------------------- */
html body .jhytel-article-cfp-row__articles .jhytel-compact-article-section {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body .jhytel-article-cfp-row__articles .jhytel-compact-article-section::before,
html body .jhytel-article-cfp-row__articles .jhytel-compact-article-section::after,
html body .jhytel-article-cfp-row__articles .jhytel-article-heading-surface::before,
html body .jhytel-article-cfp-row__articles .jhytel-article-heading-surface::after {
  display: none !important;
  content: none !important;
}

/* When the heading class is on a nested row, remove the older :has() fallback
   surface from its ancestor. This is the source of the duplicate border. */
@supports selector(:has(*)) {
  html body .jhytel-article-cfp-row__articles
    .jhytel-compact-article-section
    > :first-child:has(.jhytel-article-heading-surface):not(.jhytel-article-heading-surface) {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-left: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
}

html body .jhytel-article-cfp-row__articles .jhytel-article-heading-surface {
  position: relative !important;
  left: auto !important;
  min-height: 84px !important;
  margin-top: 0 !important;
  margin-bottom: 18px !important;
  padding: 14px 20px !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 100% 0, rgba(121, 7, 70, 0.055), transparent 34%),
    linear-gradient(145deg, #ffffff 0%, #fffafd 100%) !important;
  border: 1px solid #ead8e4 !important;
  border-left: 4px solid #790746 !important;
  border-radius: 0 14px 14px 0 !important;
  box-shadow: 0 8px 22px rgba(53, 18, 47, 0.065) !important;
}

html body .jhytel-article-cfp-row__articles .jhytel-article-heading-surface:hover,
html body .jhytel-article-cfp-row__articles .jhytel-article-heading-surface:focus-within {
  border-left: 4px solid #790746 !important;
  box-shadow: 0 11px 27px rgba(53, 18, 47, 0.085) !important;
}

/* --------------------------------------------------------------------------
   4. Responsive Current Issue restoration
   -------------------------------------------------------------------------- */
@media (max-width: 767.98px) {
  html body .jhytel-home-current .homepage-issue-current.jhhi-current-heading {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 20px auto 0 !important;
    padding: 0 0 10px !important;
    gap: 2px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #610c3a !important;
    font-size: clamp(21px, 6.1vw, 25px) !important;
    font-style: normal !important;
    line-height: 1.14 !important;
    letter-spacing: 0.055em !important;
    text-align: center !important;
    text-shadow: none !important;
  }

  html body .jhytel-home-current .jhhi-current-heading__label,
  html body .jhytel-home-current .jhhi-current-heading__series {
    flex: 1 0 100% !important;
    width: 100% !important;
    color: inherit !important;
    text-shadow: none !important;
  }

  html body .jhytel-home-current .jhhi-current-heading__series {
    font-size: 0.92em !important;
  }

  html body .jhytel-home-current .jhhi-current-heading__divider {
    display: none !important;
  }

  html body .jhytel-home-current .homepage-issue-current.jhhi-current-heading::after {
    right: 24% !important;
    left: 24% !important;
    background: linear-gradient(
      90deg,
      transparent,
      rgba(121, 7, 70, 0.48),
      transparent
    ) !important;
    box-shadow: none !important;
  }

  html body .jhytel-article-cfp-row__articles .jhytel-article-heading-surface {
    min-height: 0 !important;
    margin-bottom: 14px !important;
    padding: 12px 14px !important;
    border-radius: 0 12px 12px 0 !important;
  }
}

@media (max-width: 359.98px) {
  html body .jhytel-home-current .homepage-issue-current.jhhi-current-heading {
    margin-top: 17px !important;
    font-size: 20px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body .jhytel-article-cfp-row__articles .jhytel-article-heading-surface {
    transition: none !important;
  }
}


/* ========================================================================== 
   @JH-03Y — ARTICLE LIST LEFT-EDGE ALIGNMENT — V24
   Scope:
   - Published article summaries below Journal section / Research Articles

   Purpose:
   - Use Read Freely / Open Access as the desktop left-edge reference.
   - Keep the approved right edge of the 9-column article area unchanged.
   - Do not alter the Current Call for Papers column or the article markup.
   ========================================================================== */

@media (min-width: 992px) {
  html body .jhytel-article-cfp-row__articles
    .jhytel-compact-article-section .article-summary,
  html body .jhytel-article-cfp-row__articles
    .jhytel-compact-article-section .obj_article_summary {
    box-sizing: border-box !important;
    width: calc(100% + 18px) !important;
    max-width: calc(100% + 18px) !important;
    margin-right: 0 !important;
    margin-left: -18px !important;
  }
}

/* Once the Bootstrap columns stack, use the normal mobile/tablet content edge. */
@media (max-width: 991.98px) {
  html body .jhytel-article-cfp-row__articles
    .jhytel-compact-article-section .article-summary,
  html body .jhytel-article-cfp-row__articles
    .jhytel-compact-article-section .obj_article_summary {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
}


/* ========================================================================== 
   @JH-03Z — JOURNAL SECTION HEADING LEFT-EDGE CORRECTION — V25
   Scope:
   - Journal section / Research Articles heading surface only

   Purpose:
   - Align the heading's burgundy left border with the approved Read Freely /
     Open Access reference edge.
   - Preserve the existing right edge and the unboxed article list.
   - No indexJournal.tpl change is required.
   ========================================================================== */

@media (min-width: 992px) {
  html body .jhytel-article-cfp-row__articles .jhytel-article-heading-surface {
    box-sizing: border-box !important;
    width: calc(100% + 38px) !important;
    max-width: calc(100% + 38px) !important;
    margin-right: 0 !important;
    margin-left: -38px !important;
  }
}

/* Stacked tablet/mobile columns return to their resolved container edge. */
@media (max-width: 991.98px) {
  html body .jhytel-article-cfp-row__articles .jhytel-article-heading-surface {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
}


/* ========================================================================== 
   @JH-04A — JOURNAL HEADING EDGE + INDEXING/POPULAR RHYTHM — V26
   Scope:
   - Journal section / Research Articles heading surface
   - Dynamic Most Popular Articles section following homepage indexing

   Purpose:
   - Align the Research Articles heading border with the shared left edge used
     by Read Freely, News & Global Goals, Global Authorship and Indexing.
   - Allow the template helper to remove excessive whitespace between the
     indexing directory and a dynamically rendered Most Popular Articles block.
   ========================================================================== */

/* The v25 correction remains about 20px short in the rendered Bootstrap grid.
   Extend it by one additional resolved gutter while preserving the right edge. */
@media (min-width: 992px) {
  html body .jhytel-article-cfp-row__articles .jhytel-article-heading-surface {
    box-sizing: border-box !important;
    left: auto !important;
    width: calc(100% + 58px) !important;
    max-width: calc(100% + 58px) !important;
    margin-right: 0 !important;
    margin-left: -58px !important;
  }
}

/* Tablet/mobile columns use the resolved container edge without negative
   offsets so the heading never extends outside the viewport. */
@media (max-width: 991.98px) {
  html body .jhytel-article-cfp-row__articles .jhytel-article-heading-surface {
    left: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
}

/* These classes are added by the small helper in indexJournal.tpl. The helper
   calculates the real rendered gap because the popular block may be injected
   by a plugin after the normal homepage content has loaded. */
html body .jhytel-indexing.jhytel-indexing-before-popular {
  margin-bottom: 0 !important;
}

html body .jhytel-most-popular-section {
  position: relative;
  scroll-margin-top: 24px;
}

/* Fallback for implementations whose wrapper already exposes a useful name.
   The JavaScript helper remains the primary and more reliable method. */
html body .jhytel-indexing + :is(
  [class*="popular" i],
  [id*="popular" i],
  [class*="reader-engagement" i],
  [id*="reader-engagement" i]
) {
  margin-top: clamp(24px, 2.4vw, 34px) !important;
}


/* ========================================================================== 
   @JH-04B — INDEXING TO MOST-POPULAR GAP — V27
   Scope:
   - Homepage Abstracting, Indexing & Discovery section
   - Dynamically rendered Most Popular Articles / Reader Engagement block

   Purpose:
   - Remove the oversized blank band between indexing and the readership block.
   - Use a measured CSS variable so the result remains stable when fonts,
     cards or plugin content finish loading after DOMContentLoaded.
   ========================================================================== */

html body .jhytel-indexing.jhytel-indexing-before-popular {
  margin-bottom: 0 !important;
  padding-bottom: clamp(18px, 1.8vw, 26px) !important;
}

html body .jhytel-most-popular-section {
  --jhytel-popular-shift: 0px;
  position: relative !important;
  top: calc(-1 * var(--jhytel-popular-shift)) !important;
  margin-bottom: calc(-1 * var(--jhytel-popular-shift)) !important;
  scroll-margin-top: 24px;
}

/* Common plugin naming fallbacks before the helper has identified the exact
   wrapper. They are intentionally modest; the measured helper is primary. */
html body .jhytel-indexing + :is(
  [class*="popular" i],
  [id*="popular" i],
  [class*="reader-engagement" i],
  [id*="reader-engagement" i]
) {
  margin-top: 22px !important;
}

@media (max-width: 767.98px) {
  html body .jhytel-indexing.jhytel-indexing-before-popular {
    padding-bottom: 16px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body .jhytel-most-popular-section {
    transition: none !important;
  }
}


/* ========================================================================== 
   @JH-03AB — GLOBAL AUTHORSHIP MOBILE HEADING STACK — V28
   Scope: title copy only inside .jhytel-geo-card--shared.
   Purpose:
   - Remove the unused mobile icon column after the decorative icon is hidden.
   - Stack Global Authorship, Geographical Diversity of Authors, and the
     explanatory paragraph vertically at full available width.
   - Preserve the approved country/flag preview and action button layout.
   ========================================================================== */

@media (max-width: 600px) {
  html body .jhytel-geo-card--shared .jhytel-geo-summary {
    display: block !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  html body .jhytel-geo-card--shared .jhytel-geo-heading {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body .jhytel-geo-card--shared .jhytel-geo-eyebrow,
  html body .jhytel-geo-card--shared .jhytel-geo-heading h3,
  html body .jhytel-geo-card--shared .jhytel-geo-heading p {
    display: block !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    writing-mode: horizontal-tb !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    text-align: left !important;
  }

  html body .jhytel-geo-card--shared .jhytel-geo-eyebrow {
    margin: 0 0 4px !important;
    font-size: 1rem !important;
    line-height: 1.18 !important;
  }

  html body .jhytel-geo-card--shared .jhytel-geo-heading h3 {
    margin: 0 !important;
    font-size: clamp(1.42rem, 7vw, 1.62rem) !important;
    line-height: 1.08 !important;
  }

  html body .jhytel-geo-card--shared .jhytel-geo-heading p {
    margin: 7px 0 0 !important;
    font-size: 1rem !important;
    line-height: 1.42 !important;
  }
}
/* ========================================================================== 
   @JH-04C — RESPONSIVE CONTROL + EDITORIAL POLISH — V29
   Scope:
   - Editorial Review stage duration typography
   - View All Issues vertical centring
   - Journal section / Research Articles heading icon removal
   - Editor's Welcome mobile card redesign
   - All News, Explore SDGs and Double-Blind Peer Review CTA harmonisation

   This is a final override layer. Append after the v28 stylesheet.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Editorial Review: make the duration figures and Days labels more legible
   -------------------------------------------------------------------------- */
html body .jhsuite-refined .jh-review-duration {
  gap: 7px !important;
  font-size: clamp(1.42rem, 2.35vw, 1.78rem) !important;
  font-weight: 400 !important;
  letter-spacing: -0.015em !important;
  line-height: 1 !important;
}

html body .jhsuite-refined .jh-review-duration small {
  font-size: 0.88rem !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-weight: 400 !important;
  letter-spacing: 0.035em !important;
  line-height: 1 !important;
}

@media (max-width: 720px) {
  html body .jhsuite-refined .jh-review-duration {
    font-size: 1.58rem !important;
  }

  html body .jhsuite-refined .jh-review-duration small {
    font-size: 0.92rem !important;
  }
}

/* --------------------------------------------------------------------------
   2. View All Issues: equal breathing room above and below the CTA
   -------------------------------------------------------------------------- */
html body .jhytel-view-all-issues-wrap {
  box-sizing: border-box !important;
  display: flex !important;
  width: 100% !important;
  min-height: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 26px 0 !important;
  text-align: center !important;
}

html body .jhytel-view-all-issues-wrap .jhytel-view-all-issues {
  margin: 0 auto !important;
}

@media (max-width: 767.98px) {
  html body .jhytel-view-all-issues-wrap {
    padding-top: 21px !important;
    padding-bottom: 21px !important;
  }
}

/* --------------------------------------------------------------------------
   3. Journal section / Research Articles: remove the circular + ornament
      and let the heading copy begin at the normal inner padding edge.
   The v29 indexJournal helper assigns the two utility classes below.
   -------------------------------------------------------------------------- */
html body .jhytel-article-cfp-row__articles .jhytel-article-heading-surface {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  column-gap: 16px !important;
  row-gap: 4px !important;
}

html body .jhytel-article-cfp-row__articles .jhytel-article-heading-icon {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
}

html body .jhytel-article-cfp-row__articles .jhytel-article-heading-copy {
  grid-column: 1 !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}

html body .jhytel-article-cfp-row__articles
  .jhytel-article-heading-surface .jhytel-journal-section-label,
html body .jhytel-article-cfp-row__articles
  .jhytel-article-heading-surface .issue-toc-section-title {
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
  transform: none !important;
}

html body .jhytel-article-cfp-row__articles
  .jhytel-article-heading-surface .jhytel-article-count {
  grid-column: 2 !important;
  justify-self: end !important;
}

@media (max-width: 520px) {
  html body .jhytel-article-cfp-row__articles .jhytel-article-heading-surface {
    column-gap: 10px !important;
    padding-right: 13px !important;
    padding-left: 15px !important;
  }
}

/* --------------------------------------------------------------------------
   4. Editor's Welcome: professional stacked mobile card
   Desktop/tablet presentation remains unchanged above 760px.
   -------------------------------------------------------------------------- */
@media (max-width: 760px) {
  html body .jhed2-welcome {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
    width: 100% !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #ead8e4 !important;
    border-left: 4px solid #790746 !important;
    border-radius: 0 14px 14px 0 !important;
    background:
      radial-gradient(circle at 100% 0, rgba(121, 7, 70, 0.07), transparent 38%),
      linear-gradient(145deg, #ffffff 0%, #fffafd 100%) !important;
    box-shadow: 0 9px 24px rgba(53, 18, 47, 0.07) !important;
  }

  html body .jhed2-welcome::after {
    display: none !important;
    content: none !important;
  }

  html body .jhed2-welcome .jhed2-welcome__heading-link {
    position: relative !important;
    display: flex !important;
    width: 100% !important;
    min-height: 0 !important;
    align-items: flex-start !important;
    justify-content: center !important;
    justify-self: stretch !important;
    margin: 0 !important;
    padding: 15px 52px 14px 17px !important;
    border: 0 !important;
    border-bottom: 1px solid #ead8e4 !important;
    border-radius: 0 !important;
    background: linear-gradient(135deg, #fff6fc 0%, #fffafd 100%) !important;
    box-shadow: none !important;
    transform: none !important;
  }

  html body .jhed2-welcome .jhed2-welcome__heading-link:hover,
  html body .jhed2-welcome .jhed2-welcome__heading-link:focus-visible {
    border-color: #790746 !important;
    background: #790746 !important;
    box-shadow: none !important;
    transform: none !important;
  }

  html body .jhed2-welcome .jhed2-welcome__kicker {
    margin-bottom: 4px !important;
    font-size: 0.87rem !important;
    line-height: 1.1 !important;
  }

  html body .jhed2-welcome .jhed2-welcome__title {
    font-size: 1.34rem !important;
    line-height: 1.08 !important;
    white-space: normal !important;
  }

  html body .jhed2-welcome .jhed2-welcome__heading-arrow {
    top: 50% !important;
    right: 15px !important;
    display: inline-flex !important;
    width: 31px !important;
    height: 31px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #e2cbd8 !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    color: #790746 !important;
    font-size: 16px !important;
    transform: translateY(-50%) !important;
  }

  html body .jhed2-welcome .jhed2-welcome__heading-link:hover .jhed2-welcome__heading-arrow,
  html body .jhed2-welcome .jhed2-welcome__heading-link:focus-visible .jhed2-welcome__heading-arrow {
    border-color: #ffffff !important;
    background: #ffffff !important;
    color: #790746 !important;
    transform: translate(2px, -50%) !important;
  }

  html body .jhed2-welcome .jhed2-welcome__quote {
    position: relative !important;
    margin: 0 !important;
    padding: 18px 17px 17px 47px !important;
    border: 0 !important;
    background: rgba(255, 255, 255, 0.78) !important;
  }

  html body .jhed2-welcome .jhed2-welcome__mark {
    top: 13px !important;
    left: 16px !important;
    color: rgba(121, 7, 70, 0.17) !important;
    font-size: 43px !important;
    line-height: 1 !important;
  }

  html body .jhed2-welcome .jhed2-welcome__message {
    margin: 0 !important;
    color: #4c4147 !important;
    font-size: 1rem !important;
    line-height: 1.5 !important;
    text-wrap: pretty;
  }

  html body .jhed2-welcome .jhed2-welcome__profile {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 42px !important;
    grid-column: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    align-items: center !important;
    justify-self: stretch !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 13px 15px 14px 17px !important;
    border: 0 !important;
    border-top: 1px solid #ead8e4 !important;
    background: #fffafd !important;
  }

  html body .jhed2-welcome .jhed2-welcome__identity {
    min-width: 0 !important;
    align-items: flex-start !important;
    text-align: left !important;
  }

  html body .jhed2-welcome .jhed2-welcome__identity strong {
    font-size: 0.94rem !important;
    line-height: 1.12 !important;
  }

  html body .jhed2-welcome .jhed2-welcome__identity span {
    margin-top: 4px !important;
    font-size: 0.96rem !important;
    line-height: 1.2 !important;
    white-space: normal !important;
  }

  html body .jhed2-welcome .jhed2-welcome__audio,
  html body .jhed2-welcome .jhed2-audio-toggle {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
  }

  html body .jhed2-welcome .jhed2-audio-icon,
  html body .jhed2-welcome .jhed2-audio-icon svg {
    width: 19px !important;
    height: 19px !important;
  }
}

@media (max-width: 390px) {
  html body .jhed2-welcome .jhed2-welcome__heading-link {
    padding-right: 48px !important;
    padding-left: 14px !important;
  }

  html body .jhed2-welcome .jhed2-welcome__title {
    font-size: 1.24rem !important;
  }

  html body .jhed2-welcome .jhed2-welcome__quote {
    padding-right: 14px !important;
    padding-left: 42px !important;
  }

  html body .jhed2-welcome .jhed2-welcome__mark {
    left: 13px !important;
  }

  html body .jhed2-welcome .jhed2-welcome__message {
    font-size: 0.96rem !important;
  }
}

/* --------------------------------------------------------------------------
   5. One CTA language for All News, Explore SDGs, Double-Blind Peer Review
      and Full Peer Review Process.
   -------------------------------------------------------------------------- */
html body .jhm-combined-links .jhm-header-button,
html body .jhsuite-refined .jh-review-pill,
html body .jhsuite-refined .jh-hub-link {
  box-sizing: border-box !important;
  display: inline-flex !important;
  width: min(100%, 220px) !important;
  min-width: 0 !important;
  max-width: 220px !important;
  min-height: 41px !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 8px 14px !important;
  border: 1px solid #ead8e4 !important;
  border-radius: 999px !important;
  background: #fff6fc !important;
  box-shadow: none !important;
  color: #790746 !important;
  font-family: "Perpetua", Georgia, "Times New Roman", serif !important;
  font-size: 16px !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-weight: 300 !important;
  letter-spacing: 0.045em !important;
  line-height: 1.15 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: normal !important;
  transition:
    color 0.18s ease,
    background-color 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease !important;
}

/* The non-link review status is centred because it has no directional arrow. */
html body .jhsuite-refined .jh-review-pill {
  justify-content: center !important;
}

html body .jhm-combined-links .jhm-header-button:hover,
html body .jhm-combined-links .jhm-header-button:focus-visible,
html body .jhsuite-refined .jh-hub-link:hover,
html body .jhsuite-refined .jh-hub-link:focus-visible {
  border-color: #790746 !important;
  background: #790746 !important;
  box-shadow: 0 7px 15px rgba(81, 2, 46, 0.15) !important;
  color: #ffffff !important;
  outline: none !important;
  text-decoration: none !important;
  transform: translateY(-2px) !important;
}

html body .jhm-combined-links .jhm-header-button:focus-visible,
html body .jhsuite-refined .jh-hub-link:focus-visible {
  outline: 3px solid rgba(121, 7, 70, 0.17) !important;
  outline-offset: 3px !important;
}

html body .jhm-combined-links {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 220px)) !important;
  gap: 8px !important;
  align-items: center !important;
  justify-content: end !important;
}

@media (max-width: 820px) {
  html body .jhm-combined-links {
    width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    justify-content: stretch !important;
  }

  html body .jhm-combined-links .jhm-header-button {
    width: 100% !important;
    max-width: none !important;
  }
}

@media (max-width: 760px) {
  html body .jhsuite-refined .jh-review-pill,
  html body .jhsuite-refined .jh-hub-link {
    width: 100% !important;
    max-width: none !important;
  }
}

@media (max-width: 380px) {
  html body .jhm-combined-links {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body .jhm-combined-links .jhm-header-button,
  html body .jhsuite-refined .jh-hub-link,
  html body .jhed2-welcome .jhed2-welcome__heading-link,
  html body .jhed2-welcome .jhed2-welcome__heading-arrow {
    transition: none !important;
  }
}

/* ========================================================================== 
   @JH-06D — HOMEPAGE FOOTER BOTTOM-EDGE FIX — V30
   Scope: homepage footer only; #mostpopular is rendered only in its footer.
   Purpose:
   - Remove the white strip left by the OJS footer-content wrapper.
   - Preserve the footer treatment on all non-homepage pages.
   - Cover the small residual viewport edge produced by the site's 90% zoom.
   ========================================================================== */

@supports selector(footer:has(#mostpopular)) {
  footer.site-footer:has(#mostpopular) {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
    box-shadow: 0 40px 0 #1d101a !important;
  }

  footer.site-footer:has(#mostpopular) > .site-footer-content {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: #1d101a !important;
  }

  footer.site-footer:has(#mostpopular) > .site-footer-content > .row {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #1d101a !important;
  }

  footer.site-footer:has(#mostpopular)
    > .site-footer-content
    > .row
    > .site-footer-content,
  footer.site-footer:has(#mostpopular) .jhft {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
  }
}


/* ========================================================================== 
   @JH-03Y — HOMEPAGE MOBILE EDGE ALIGNMENT + IOS SAFETY — V36
   Scope: homepage phone/tablet canvas only (<= 991.98px).
   Purpose:
   - Keep the approved desktop presentation byte-for-byte unchanged.
   - Resolve Bootstrap row/column gutter accumulation on the homepage.
   - Use one equal left/right mobile content edge across Current Issue,
     homepage panels, Research Articles/CFP, and lower homepage modules.
   - Prevent accidental horizontal page overflow / blank space on iOS Safari.
   ========================================================================== */

@media (max-width: 991.98px) {
  /* One symmetric viewport gutter. Using the larger iOS safe-area inset on
     both sides preserves visual symmetry in portrait and landscape. */
  html body .container-homepage-issue.jhytel-home-current {
    --jh-mobile-edge: max(
      12px,
      env(safe-area-inset-left, 0px),
      env(safe-area-inset-right, 0px)
    );

    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: var(--jh-mobile-edge) !important;
    padding-left: var(--jh-mobile-edge) !important;
  }

  /* Bootstrap .row normally carries negative side margins. The homepage
     already has its own mobile edge, so those negative gutters create a
     second geometry system and can extend the page past the viewport. */
  html body .jhytel-home-current > .homepage-issue-header,
  html body .jhytel-home-current > .jhytel-article-cfp-row,
  html body .jhytel-home-current > .homepage-additional-content {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  /* Resolve the matching Bootstrap column padding once at the row boundary.
     Internal component padding is intentionally retained. */
  html body .jhytel-home-current > .homepage-issue-header > .jhhi-cover-column,
  html body .jhytel-home-current > .homepage-issue-header > .col-lg-9,
  html body .jhytel-home-current > .homepage-issue-header > .col-lg-12,
  html body .jhytel-home-current > .jhytel-article-cfp-row > .jhytel-article-cfp-row__articles,
  html body .jhytel-home-current > .jhytel-article-cfp-row > .jhytel-article-cfp-row__cfp,
  html body .jhytel-home-current > .homepage-additional-content > .col-lg-9 {
    box-sizing: border-box !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  /* Current-issue surfaces now use the same outer edge as the rest of the
     homepage. Vertical spacing and all approved visual styling are retained. */
  html body .jhytel-home-current .homepage-issue-description-wrapper,
  html body .jhytel-home-current .homepage-issue-description,
  html body .jhytel-home-current .jhytel-home-panels,
  html body .jhytel-home-current .jhm-home-modules,
  html body .jhytel-home-current .jh-panel-section {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  /* Article/CFP row: all mobile surfaces share the exact resolved content
     width. No desktop column ratio or desktop offset is changed. */
  html body .jhytel-article-cfp-row__articles,
  html body .jhytel-article-cfp-row__cfp,
  html body .jhytel-article-cfp-row__articles .jhytel-compact-article-section,
  html body .jhytel-article-cfp-row__articles .jhytel-article-heading-surface,
  html body .jhsuite-cfp-section--docked {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  /* Lower homepage stack: remove historical nested width contractions while
     leaving each card's internal padding, radius, colours and typography as-is. */
  html body .homepage-additional-content .jhytel-home-lower-sections,
  html body .homepage-additional-content .jhytel-home-lower-sections > .jhytel-geo-card--shared,
  html body .homepage-additional-content .jhytel-home-lower-sections > .jhytel-impact-card,
  html body .homepage-additional-content .jhytel-home-lower-sections > .jhsuite-root,
  html body .homepage-additional-content .jhytel-indexing,
  html body .homepage-additional-content .jhytel-connectbar {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  /* Media and long inline content may shrink, but never enlarge the mobile
     canvas. This does not alter their approved aspect ratios. */
  html body .jhytel-home-current img,
  html body .jhytel-home-current svg,
  html body .jhytel-home-current video,
  html body .jhytel-home-current iframe {
    max-width: 100%;
  }

  html body .jhytel-home-current :is(
    .article-summary-title,
    .article-summary-title a,
    .article-author-name,
    .article-summary-metric,
    .article-summary-pages,
    .jhhi-journal-title,
    .jhhi-issue-theme,
    .jhm-panel-title,
    .jh-hub-title
  ) {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  /* The custom footer uses 100vw on desktop to become full-bleed. On mobile,
     100vw can become wider than the layout viewport in some Safari states.
     The parent is already full-width, so 100% is the safe equivalent here. */
  html body footer.site-footer .jhft,
  html body footer.site-footer-content .jhft {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
}

/* Modern Safari/Chromium: clip only accidental page-level horizontal spill on
   the homepage. Component-level horizontal scrollers (if any) remain usable. */
@supports selector(body:has(.jhytel-home-current)) {
  @media (max-width: 991.98px) {
    html:has(body .jhytel-home-current),
    body:has(.jhytel-home-current) {
      max-width: 100% !important;
      overflow-x: clip !important;
    }
  }
}


/* ============================================================================
   J-HyTEL CITED-BY — CARD-ONLY REFINEMENT
   Scope status: ARTICLE PAGE / citation list only
   Purpose: keep original metric icons/layout from plugin; style only cited-by entries
   [NEW 2026-08-07 | @JH-05N | Card-only refinement, smaller typography, standard DOI]
   ============================================================================ */

html body .jhct-container,
html body .jhct-container *,
html body .jhct-container *::before,
html body .jhct-container *::after {
  box-sizing: border-box;
}

html body .jhct-container {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 22px 0 28px;
  padding: 0;
  color: #2f252c;
  background: transparent;
  font-family: "Perpetua", "Perpetua Std", Georgia, "Times New Roman", serif;
  font-size: 16px;
  line-height: 1.5;
  overflow-x: hidden;
}

/* keep provider metrics in original plugin appearance */
html body .jhct-container .jhct-counts,
html body .jhct-container .jhct-source,
html body .jhct-container .jhct-source a,
html body .jhct-container .jhct-source img,
html body .jhct-container .jhct-badge {
  font-family: inherit;
}

html body .jhct-container .jhct-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
}

html body .jhct-container .jhct-entry {
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  padding: 16px 18px 15px 18px;
  color: #2f252c;
  background:
    radial-gradient(circle at 100% 0, rgba(227, 17, 255, 0.05), transparent 34%),
    linear-gradient(180deg, #ffffff 0%, #fffdfd 100%);
  border: 1px solid #e8dde4;
  border-left: 4px solid #7a1350;
  border-radius: 0 14px 14px 0;
  box-shadow: 0 7px 18px rgba(53, 18, 47, 0.055);
  font-family: "Perpetua", "Perpetua Std", Georgia, "Times New Roman", serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  overflow: hidden;
  overflow-wrap: anywhere;
  word-break: normal;
  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease;
}

html body .jhct-container .jhct-entry:hover,
html body .jhct-container .jhct-entry:focus-within {
  border-color: #dbc8d3;
  border-left-color: #8f1d5d;
  box-shadow: 0 10px 22px rgba(53, 18, 47, 0.08);
  transform: translateY(-2px);
}

html body .jhct-container .jhct-authors {
  margin: 0 0 8px;
  color: #6f6169;
  font-family: "Perpetua", "Perpetua Std", Georgia, "Times New Roman", serif;
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.52;
  overflow-wrap: anywhere;
}

html body .jhct-container .jhct-citation-line {
  margin: 0;
  color: #756770;
  font-family: "Perpetua", "Perpetua Std", Georgia, "Times New Roman", serif;
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.52;
  overflow-wrap: anywhere;
}

html body .jhct-container .jhct-title {
  display: block;
  margin: 0 0 7px;
  color: #251b21;
  font-family: "Perpetua", "Perpetua Std", Georgia, "Times New Roman", serif;
  font-size: 17px;
  font-style: italic;
  font-variant: unicase;
  font-weight: 600;
  line-height: 1.34;
  letter-spacing: 0.003em;
  overflow-wrap: anywhere;
}

html body .jhct-container .jhct-doi {
  display: inline-block;
  max-width: 100%;
  margin-top: 10px;
  padding: 0;
  color: #245fc5 !important;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font-family: "Perpetua", "Perpetua Std", Georgia, "Times New Roman", serif;
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.45;
  text-decoration: none !important;
  overflow-wrap: anywhere;
  word-break: break-word;
  transition: color 0.18s ease, text-decoration-color 0.18s ease;
}

html body .jhct-container .jhct-doi::before,
html body .jhct-container .jhct-doi::after {
  content: none !important;
  display: none !important;
}

html body .jhct-container .jhct-doi:hover,
html body .jhct-container .jhct-doi:focus-visible {
  color: #1c4ea3 !important;
  background: transparent;
  border: 0;
  box-shadow: none;
  outline: none;
  text-decoration: underline !important;
}

html body .jhct-container .jhct-doi:focus-visible {
  outline: 2px solid rgba(36, 95, 197, 0.16);
  outline-offset: 2px;
}

html body .jhct-container .jhct-loader {
  width: 40px;
  height: 40px;
  margin: 16px auto;
  border: 3px solid #eee6eb;
  border-top-color: #610c3a;
  border-radius: 50%;
  animation: jhct-cardonly-spin 0.9s linear infinite;
}

@keyframes jhct-cardonly-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 767.98px) {
  html body .jhct-container {
    margin: 18px 0 24px;
    font-size: 15px;
  }

  html body .jhct-container .jhct-list {
    gap: 12px;
  }

  html body .jhct-container .jhct-entry {
    padding: 14px 15px 14px 15px;
    border-left-width: 3px;
    border-radius: 0 12px 12px 0;
    font-size: 15px;
    transform: none;
  }

  html body .jhct-container .jhct-entry:hover,
  html body .jhct-container .jhct-entry:focus-within {
    transform: none;
  }

  html body .jhct-container .jhct-authors {
    margin-bottom: 7px;
    font-size: 14.5px;
    line-height: 1.5;
  }

  html body .jhct-container .jhct-citation-line {
    font-size: 14.5px;
    line-height: 1.5;
  }

  html body .jhct-container .jhct-title {
    margin-bottom: 6px;
    font-size: 16px;
    line-height: 1.34;
  }

  html body .jhct-container .jhct-doi {
    font-size: 14px;
    line-height: 1.42;
  }
}

@media (max-width: 520px) {
  html body .jhct-container .jhct-entry {
    padding: 13px 13px 13px 14px;
  }

  html body .jhct-container .jhct-authors {
    font-size: 14px;
  }

  html body .jhct-container .jhct-title {
    font-size: 15.5px;
  }

  html body .jhct-container .jhct-citation-line,
  html body .jhct-container .jhct-doi {
    font-size: 13.8px;
  }
}

@media (max-width: 359.98px) {
  html body .jhct-container .jhct-entry {
    padding: 12px 11px 12px 12px;
  }

  html body .jhct-container .jhct-title {
    font-size: 15px;
  }

  html body .jhct-container .jhct-authors,
  html body .jhct-container .jhct-citation-line,
  html body .jhct-container .jhct-doi {
    font-size: 13.2px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body .jhct-container .jhct-entry,
  html body .jhct-container .jhct-doi {
    transition: none;
  }

  html body .jhct-container .jhct-loader {
    animation: none;
  }
}


/* ========================================================================== 
   @JH-06E — FOOTER OUTER EDGE / DESKTOP CANVAS FIX — V39
   Scope: custom J-HyTEL footer only.
   Purpose:
   - Keep the custom .jhft footer design unchanged.
   - Remove the dark colour from the empty left/right OJS footer canvas.
   - Cancel the historical full-width wrapper/background patch that coloured
     the outer gutters on wide desktop screens.
   - Preserve the footer's own dark gradient and all internal spacing/content.
   ========================================================================== */

/* OJS outer footer canvas must remain neutral. */
html body footer.site-footer {
  background: #ffffff !important;
}

/* The outer OJS wrappers are layout containers only; they must not paint the
   left/right gutters around the custom J-HyTEL footer. */
html body footer.site-footer > .site-footer-content,
html body footer.site-footer > .site-footer-content > .row,
html body footer.site-footer > .site-footer-content > .row > .site-footer-content {
  background: transparent !important;
}

/* Cancel the old V30 edge-fill shadow which visually extended #1d101a beyond
   the actual footer component. */
@supports selector(footer:has(#mostpopular)) {
  html body footer.site-footer:has(#mostpopular) {
    box-shadow: none !important;
    background: #ffffff !important;
  }

  html body footer.site-footer:has(#mostpopular) > .site-footer-content,
  html body footer.site-footer:has(#mostpopular) > .site-footer-content > .row {
    background: transparent !important;
  }
}

/* Keep only the actual custom footer coloured. Do not force its parent canvas
   to the footer colour. The visual treatment inside .jhft stays unchanged. */
html body footer.site-footer .jhft,
html body footer.site-footer-content .jhft {
  position: relative;
  z-index: 1;
}


/* ============================================================================
   @JH-05R — ISSUE ARTICLE ACTION BUTTONS (v40)
   Scope status: ISSUE / ARTICLE SUMMARY ONLY
   Purpose:
   - Remove all arrow/GIF marks from PDF/XML actions.
   - Make PDF a warm orange button and XML an editorial blue button.
   - Give Open Access the same compact button language without making it clickable.
   - Preserve existing article layout, metrics, pagination, cover, authors and pages.
   ============================================================================ */

.article-summary-actions,
.article-summary-actions *,
.article-summary-galleys,
.article-summary-galleys * {
  box-sizing: border-box;
}

/* Keep the action group compact and aligned. */
.article-summary-galleys {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 8px !important;
}

/* Shared PDF/XML button shape. */
.article-summary-galleys > a,
.article-summary-galleys .btn,
.article-summary-galleys .galley-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 72px !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 8px 15px !important;
  border-style: solid !important;
  border-width: 1px !important;
  border-radius: 9px !important;
  box-shadow: 0 4px 11px rgba(44, 35, 40, 0.08) !important;
  font-family: "Perpetua", "Perpetua Std", Georgia, "Times New Roman", serif !important;
  font-size: 14px !important;
  font-style: italic !important;
  font-variant: unicase !important;
  font-weight: 400 !important;
  letter-spacing: 0.055em !important;
  line-height: 1 !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: nowrap !important;
  transition:
    color 0.18s ease,
    background-color 0.18s ease,
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease !important;
}

/* Remove every inherited text arrow / animated download.gif. */
.article-summary-galleys > a::before,
.article-summary-galleys > a::after,
.article-summary-galleys .btn::before,
.article-summary-galleys .btn::after,
.article-summary-galleys .galley-link::before,
.article-summary-galleys .galley-link::after {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  content: none !important;
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

/* PDF — first galley control. */
.article-summary-galleys > a:nth-of-type(1),
.article-summary-galleys > .btn:nth-of-type(1),
.article-summary-galleys > .galley-link:nth-of-type(1) {
  color: #9a4308 !important;
  background: linear-gradient(180deg, #fff8ef 0%, #fff1df 100%) !important;
  border-color: #eda660 !important;
  box-shadow: 0 4px 11px rgba(216, 112, 29, 0.10) !important;
}

.article-summary-galleys > a:nth-of-type(1):hover,
.article-summary-galleys > a:nth-of-type(1):focus-visible,
.article-summary-galleys > .btn:nth-of-type(1):hover,
.article-summary-galleys > .btn:nth-of-type(1):focus-visible,
.article-summary-galleys > .galley-link:nth-of-type(1):hover,
.article-summary-galleys > .galley-link:nth-of-type(1):focus-visible {
  color: #ffffff !important;
  background: #dc711b !important;
  border-color: #c96212 !important;
  box-shadow: 0 7px 15px rgba(201, 98, 18, 0.22) !important;
  outline: none !important;
  transform: translateY(-2px) !important;
}

/* XML — second galley control. */
.article-summary-galleys > a:nth-of-type(2),
.article-summary-galleys > .btn:nth-of-type(2),
.article-summary-galleys > .galley-link:nth-of-type(2) {
  color: #1e579d !important;
  background: linear-gradient(180deg, #f5f9ff 0%, #edf4ff 100%) !important;
  border-color: #9cbce8 !important;
  box-shadow: 0 4px 11px rgba(37, 99, 177, 0.10) !important;
}

.article-summary-galleys > a:nth-of-type(2):hover,
.article-summary-galleys > a:nth-of-type(2):focus-visible,
.article-summary-galleys > .btn:nth-of-type(2):hover,
.article-summary-galleys > .btn:nth-of-type(2):focus-visible,
.article-summary-galleys > .galley-link:nth-of-type(2):hover,
.article-summary-galleys > .galley-link:nth-of-type(2):focus-visible {
  color: #ffffff !important;
  background: #2866b1 !important;
  border-color: #1f579a !important;
  box-shadow: 0 7px 15px rgba(31, 87, 154, 0.22) !important;
  outline: none !important;
  transform: translateY(-2px) !important;
}

/* Open Access — button-like status, intentionally non-interactive. */
.article-summary-open-access {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  min-height: 38px !important;
  padding: 8px 14px !important;
  color: #7d4800 !important;
  background: linear-gradient(180deg, #fffaf0 0%, #fff0d0 100%) !important;
  border: 1px solid #e9aa42 !important;
  border-radius: 9px !important;
  box-shadow: 0 4px 11px rgba(208, 132, 20, 0.10) !important;
  font-family: "Perpetua", "Perpetua Std", Georgia, "Times New Roman", serif !important;
  font-size: 14px !important;
  font-style: normal !important;
  font-variant: normal !important;
  font-weight: 400 !important;
  letter-spacing: 0.025em !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  cursor: default !important;
}

.article-summary-open-access-icon {
  flex: 0 0 16px !important;
  width: 16px !important;
  height: 16px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

/* Pages retain their own line, with slightly calmer spacing. */
.article-summary-actions .article-summary-pages {
  margin-top: 1px !important;
}

/* Tablet: keep controls compact while preserving right alignment. */
@media (max-width: 900px) {
  .article-summary-actions {
    gap: 9px !important;
  }

  .article-summary-galleys {
    justify-content: flex-end !important;
  }
}

/* Mobile: actions align from the left and never overflow. */
@media (max-width: 600px) {
  .article-summary-actions {
    align-items: flex-start !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    text-align: left !important;
  }

  .article-summary-galleys {
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .article-summary-galleys > a,
  .article-summary-galleys .btn,
  .article-summary-galleys .galley-link {
    min-width: 68px !important;
    min-height: 36px !important;
    padding: 8px 13px !important;
    font-size: 13.5px !important;
  }

  .article-summary-open-access {
    min-height: 36px !important;
    padding: 8px 13px !important;
    font-size: 13.5px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .article-summary-galleys > a,
  .article-summary-galleys .btn,
  .article-summary-galleys .galley-link {
    transition: none !important;
  }
}


/* ============================================================================
   J-HyTEL — OPEN ACCESS SVG STATUS
   [NEW 2026-08-08 | @JH-05O | Replace Open Access text pill with official SVG]
   Source file on web root: /Open_Access.svg
   ============================================================================ */

.article-summary-open-access {
  display: inline-block !important;
  width: 90px !important;
  height: 32px !important;
  min-width: 90px !important;
  min-height: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: transparent !important;
  background-color: transparent !important;
  background-image: url("/Open_Access.svg") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: -9999px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  cursor: default !important;
}

.article-summary-open-access-icon,
.article-summary-open-access svg,
.article-summary-open-access::before,
.article-summary-open-access::after {
  display: none !important;
  content: none !important;
}

@media (max-width: 600px) {
  .article-summary-open-access {
    width: 82px !important;
    height: 29px !important;
    min-width: 82px !important;
    min-height: 29px !important;
    padding: 0 !important;
  }
}


/* ============================================================================
   J-HyTEL — PDF / XML LABEL SIZE REFINEMENT (v42)
   [TUNE 2026-08-08 | @JH-05R | Slightly larger PDF/XML labels only]
   ============================================================================ */

.article-summary-galleys > a,
.article-summary-galleys .btn,
.article-summary-galleys .galley-link {
  font-size: 15.5px !important;
  letter-spacing: 0.045em !important;
}

@media (max-width: 600px) {
  .article-summary-galleys > a,
  .article-summary-galleys .btn,
  .article-summary-galleys .galley-link {
    font-size: 15px !important;
  }
}
