      .page-hero nav[aria-label="breadcrumb"] {
        text-align: left;
      }

      .page-hero .breadcrumb {
        justify-content: flex-start;
      }

      .term-hero-copy {
        max-width: 920px;
      }

      .term-badge {
        letter-spacing: 0.08em;
        font-weight: 700;
        text-transform: uppercase;
        padding: 0.5rem 0.9rem;
      }

      .eyebrow {
        font-size: 0.78rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: #6c757d;
      }

      .term-divider {
        width: 80px;
        height: 4px;
        background-color: #000;
        margin: 0 auto 1.25rem;
        border-radius: 999px;
      }

      .term-lead {
        max-width: 900px;
        margin: 0 auto;
      }

      .term-guide {
        border: 1px solid rgba(26, 26, 26, 0.1);
        border-radius: 1.2rem;
        background: linear-gradient(180deg, #ffffff 0%, #fbfbfb 100%);
        box-shadow: 0 10px 24px rgba(31, 38, 45, 0.05);
        padding: 1.15rem 1.15rem 1rem;
      }

      .term-guide-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        margin-bottom: 0.85rem;
      }

      .term-guide-head p {
        margin: 0;
        color: #5d6e82;
        font-size: 0.96rem;
      }

      .term-guide-line {
        width: 52px;
        height: 4px;
        border-radius: 999px;
        background: #212529;
        flex-shrink: 0;
      }

      .term-guide-links {
        display: flex;
        flex-wrap: wrap;
        gap: 0.7rem;
      }

      .term-guide-link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.72rem 1rem;
        border: 1px solid rgba(26, 26, 26, 0.12);
        border-radius: 999px;
        text-decoration: none;
        background: #fff;
        color: #1a1a1a;
        font-family: "Baskervville SC", serif;
        font-size: 1.02rem;
        line-height: 1;
        transition: transform 0.14s ease, box-shadow 0.14s ease, border-color 0.14s ease, color 0.14s ease;
      }

      .term-guide-link:hover {
        transform: translateY(-1px);
        box-shadow: 0 10px 20px rgba(31, 38, 45, 0.07);
        border-color: rgba(148, 31, 26, 0.28);
        color: #941f1a;
        text-decoration: none;
      }

      .summary-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 1rem;
      }

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

      @media (max-width: 575.98px) {
        .summary-grid {
          grid-template-columns: 1fr;
        }
      }

      .summary-card,
      .compare-card,
      .route-card,
      .effect-card,
      .code-card {
        height: 100%;
        border: 1px solid rgba(26, 26, 26, 0.08);
        border-radius: 1.1rem;
        background: linear-gradient(180deg, #ffffff 0%, #fbfbfb 100%);
        box-shadow: 0 8px 20px rgba(31, 38, 45, 0.05);
        transition: transform 0.14s ease, box-shadow 0.14s ease, border-color 0.14s ease;
      }

      .summary-card:hover,
      .compare-card:hover,
      .route-card:hover,
      .effect-card:hover,
      .code-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 14px 28px rgba(31, 38, 45, 0.09);
        border-color: rgba(148, 31, 26, 0.22);
      }

      .summary-card .card-body,
      .compare-card .card-body,
      .route-card .card-body,
      .effect-card .card-body,
      .code-card .card-body {
        padding: 1.25rem 1.25rem 1.15rem;
      }

      .summary-card .mini-kicker,
      .compare-card .mini-kicker,
      .route-card .mini-kicker,
      .effect-card .mini-kicker,
      .code-card .mini-kicker {
        display: inline-block;
        font-size: 0.8rem;
        line-height: 1;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        font-weight: 800;
        color: #5d6e82;
        margin-bottom: 0.75rem;
      }

      .summary-card p,
      .compare-card p,
      .route-card p,
      .effect-card p,
      .code-card p {
        margin-bottom: 0;
        font-size: 1rem;
        line-height: 1.58;
        color: #2f3337;
      }

      .compare-card h3,
      .route-card h3,
      .effect-card h3,
      .code-card h3 {
        font-family: "Baskervville SC", serif;
        font-size: 1.3rem;
        line-height: 1.08;
        margin-bottom: 0.7rem;
      }

      .section-kicker {
        display: inline-block;
        font-size: 0.82rem;
        line-height: 1;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        font-weight: 800;
        color: #5d6e82;
        margin-bottom: 0.75rem;
      }

      .gl-term-section h2,
      .faq-section h2,
      .resources-section h2 {
        font-family: "Baskervville SC", serif;
        font-size: clamp(2rem, 3.2vw, 2.7rem);
        line-height: 1.05;
        letter-spacing: 0.01em;
        margin-bottom: 1rem;
      }

      .section-lead {
        max-width: 980px;
        margin: 0 0 1.15rem;
        font-size: 1.05rem;
        color: #4c535b;
      }

      .term-note {
        border-left: 4px solid #941f1a;
        background: #faf7f2;
        border-radius: 0.9rem;
        padding: 1rem 1.15rem;
      }

      .term-note p:last-child {
        margin-bottom: 0;
      }

      .authority-callout {
        background: linear-gradient(135deg, #1b2128 0%, #12171d 100%);
        border-radius: 1.4rem;
        box-shadow: 0 18px 36px rgba(20, 25, 31, 0.18);
      }

      .authority-callout h2 {
        color: #fff;
        margin-bottom: 1rem;
      }

      .authority-callout p {
        color: rgba(255, 255, 255, 0.94);
      }

      .authority-callout .btn {
        min-height: 58px;
      }

      .faq-section .accordion-item {
        border: 1px solid rgba(26, 26, 26, 0.1);
        border-radius: 1rem !important;
        overflow: hidden;
        margin-bottom: 0.8rem;
      }

      .faq-section .accordion-button {
        font-weight: 800;
        color: #1f2328;
        background: #fff;
        font-size: 1.03rem;
      }

      .faq-section .accordion-button strong {
        font-weight: 800;
      }

      .faq-section .accordion-button:not(.collapsed) {
        background: #f7f7f7;
        color: #1a1a1a;
        box-shadow: none;
      }

      .faq-section .accordion-button:focus {
        box-shadow: none;
        border-color: rgba(26, 26, 26, 0.12);
      }

      .faq-section .accordion-body {
        font-size: 1rem;
        line-height: 1.65;
      }

      .resources-section .art-section-header {
        margin-bottom: 0.95rem;
      }

      .resources-section .art-section-label {
        display: inline-flex;
        align-items: center;
        padding: 0.35rem 0.7rem;
        border-radius: 999px;
        font-size: 0.76rem;
        line-height: 1;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        font-weight: 800;
      }

      .resources-section .recursos-intro {
        font-size: 0.98rem;
        color: #59626b;
        margin-bottom: 1rem;
        max-width: 980px;
      }

      .resources-section .recursos-list .list-group-item {
        border-color: rgba(26, 26, 26, 0.12);
        padding: 1rem 1.1rem;
        transition: background 0.14s ease, border-color 0.14s ease, transform 0.14s ease, box-shadow 0.14s ease;
      }

      .resources-section .recursos-list .list-group-item:hover {
        background: linear-gradient(135deg, #fff 0%, #fcf8f1 100%);
        border-color: rgba(148, 31, 26, 0.26);
        transform: translateY(-1px);
        box-shadow: 0 10px 20px rgba(31, 38, 45, 0.06);
      }

      .resources-section .recursos-list .fw-bold {
        font-size: 1rem;
      }

      .resources-section .badge {
        font-size: 0.72rem;
        letter-spacing: 0.05em;
        text-transform: uppercase;
      }

      .recursos-badge-dogmatica {
        background: rgba(148, 31, 26, 0.12);
        color: #941f1a;
      }

      .recursos-badge-juris {
        background: rgba(37, 99, 235, 0.12);
        color: #1d4ed8;
      }

      .recursos-badge-defensa {
        background: rgba(34, 197, 94, 0.12);
        color: #15803d;
      }

      .recursos-badge-estrategia {
        background: rgba(124, 58, 237, 0.12);
        color: #6d28d9;
      }

      .art-nav-row {
        display: flex;
        justify-content: space-between;
        gap: 12px;
        margin-top: 16px;
        flex-wrap: wrap;
      }

      .art-nav-link {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 12px 18px;
        border: 1.5px solid rgba(26, 26, 26, 0.12);
        border-radius: 1rem;
        text-decoration: none;
        background: #fff;
        transition: all 0.14s ease;
        max-width: 220px;
      }

      .art-nav-link:hover {
        border-color: rgba(148, 31, 26, 0.3);
        box-shadow: 0 10px 22px rgba(31, 38, 45, 0.08);
        text-decoration: none;
      }

      .art-nav-copy {
        display: flex;
        flex-direction: column;
        gap: 4px;
        min-width: 0;
      }

      .art-nav-link.next {
        margin-left: auto;
        text-align: right;
        flex-direction: row-reverse;
      }

      .art-nav-link.next .art-nav-copy {
        align-items: flex-end;
      }

      .art-nav-arrow {
        color: #8b9096;
        flex-shrink: 0;
      }

      .dir {
        display: block;
        font-size: 12px;
        line-height: 1;
        font-weight: 800;
        letter-spacing: 0.18em;
        text-transform: uppercase;
        color: #8c6a3d;
      }

      .art-ref {
        display: block;
        color: #941f1a;
        font-size: 18px;
        line-height: 1.18;
        font-weight: 700;
        text-wrap: balance;
      }

      .art-nav-row-3 {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 28px;
        align-items: stretch;
        width: 100%;
      }

      .art-nav-row.art-nav-row-3 > .art-nav-link {
        width: 100%;
        min-width: 0;
        height: 100%;
        max-width: none;
      }

      .art-nav-row.art-nav-row-3 > .art-nav-link.prev {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        column-gap: 24px;
      }

      .art-nav-row.art-nav-row-3 > .art-nav-link.prev > .art-nav-arrow {
        grid-column: 1;
        justify-self: start;
        margin: 0;
      }

      .art-nav-row.art-nav-row-3 > .art-nav-link.prev > .art-nav-copy {
        grid-column: 2;
        align-items: flex-start;
        text-align: left;
        gap: 8px;
      }

      .art-nav-row.art-nav-row-3 > .art-nav-link.prev .dir,
      .art-nav-row.art-nav-row-3 > .art-nav-link.prev .art-ref {
        width: 100%;
        text-align: left;
      }

      .art-nav-row.art-nav-row-3 > .art-nav-link.back {
        display: flex !important;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding-inline: 24px;
      }

      .art-nav-row.art-nav-row-3 > .art-nav-link.back > .art-nav-copy {
        width: 100%;
        align-items: center;
        justify-content: center;
        text-align: center;
        gap: 8px;
      }

      .art-nav-row.art-nav-row-3 > .art-nav-link.back .dir,
      .art-nav-row.art-nav-row-3 > .art-nav-link.back .art-ref {
        width: 100%;
        text-align: center;
      }

      .art-nav-row.art-nav-row-3 > .art-nav-link.next {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        column-gap: 24px;
        margin-left: 0;
      }

      .art-nav-row.art-nav-row-3 > .art-nav-link.next > .art-nav-copy {
        grid-column: 1;
        align-items: flex-end;
        justify-content: center;
        text-align: right;
        gap: 8px;
      }

      .art-nav-row.art-nav-row-3 > .art-nav-link.next > .art-nav-arrow {
        grid-column: 2;
        justify-self: end;
        margin: 0;
      }

      .art-nav-row.art-nav-row-3 > .art-nav-link.next .dir,
      .art-nav-row.art-nav-row-3 > .art-nav-link.next .art-ref {
        width: 100%;
        text-align: right;
      }

      @media (max-width: 991.98px) {
        .art-nav-row-3 {
          grid-template-columns: 1fr;
          gap: 18px;
        }
      }

      @media (max-width: 767.98px) {
        .art-nav-link,
        .art-nav-link.next {
          width: 100%;
          max-width: none;
          margin-left: 0;
          flex-direction: row;
          text-align: left;
        }

        .art-nav-link.next .art-nav-copy {
          align-items: flex-start;
        }

        .art-ref {
          font-size: 1rem;
        }
      }

/* Glosario: ajustes extraídos del HTML */
.page-hero .glossary-breadcrumb{--bs-breadcrumb-divider:"›";}
.term-title{font-family:"Baskervville SC", serif;}
.glossary-resources-block{margin-bottom:32px;}
.glossary-resources-label{background:rgba(30,30,30,0.08);color:#1a1a1a;}
.st-offcanvas .offcanvas-title.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
#collapsePenal.show{display:block;}
.st-oc-accbtn.is-active{border-color:rgba(180,140,84,.4);background:linear-gradient(180deg, rgba(180,140,84,.16), rgba(180,140,84,.08));}

/* refinamientos v4: botones del hero y CTA tomados del patrón de /defensa/ */
.page-hero .hero-cta-row,
.authority-callout .cta-actions {
  max-width: 980px;
  margin-inline: auto;
}

.page-hero .hero-cta-row .col-12,
.authority-callout .cta-actions .col-12 {
  display: grid;
}

.st-hero-btn,
.st-cta-btn {
  width: 100%;
  max-width: 420px;
  margin-inline: auto;
  border-radius: 22px !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  line-height: 1.15;
  box-shadow: none;
}

.page-hero .st-hero-btn {
  min-height: 56px;
}

.authority-callout .st-cta-btn {
  min-height: 56px;
}

.page-hero .st-hero-btn .fa,
.authority-callout .st-cta-btn .fa {
  font-size: 1rem;
  line-height: 1;
}

.page-hero .st-hero-btn span,
.authority-callout .st-cta-btn span {
  display: inline-block;
}

.term-guide {
  padding: 0.95rem 1rem 0.95rem;
}

.term-guide-head {
  align-items: flex-start;
  margin-bottom: 0.7rem;
}

.term-guide-head p {
  font-size: 0.94rem;
  line-height: 1.45;
}

.term-guide-line {
  width: 42px;
  height: 4px;
}

.term-guide-links {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.5rem;
  justify-items: stretch;
}

.term-guide-link {
  width: 100%;
  min-height: 40px;
  padding: 0.5rem 0.65rem;
  border: 1px solid rgba(26, 26, 26, 0.12);
  border-radius: 999px;
  text-align: center;
  color: #1a1a1a;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 0.84rem;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: 0;
  text-wrap: balance;
  background: #fff;
}

.term-guide-link:hover,
.term-guide-link:focus {
  color: #941f1a;
  border-color: rgba(148, 31, 26, 0.26);
  background: #fff;
  box-shadow: 0 6px 12px rgba(31, 38, 45, 0.05);
}

.section-kicker {
  margin-bottom: 0.5rem;
}

.gl-term-section h2,
.faq-section h2,
.resources-section h2 {
  font-family: "Baskervville SC", serif;
  font-size: clamp(1.45rem, 1.95vw, 1.95rem);
  line-height: 1.14;
  letter-spacing: 0.01em;
  margin-bottom: 0.8rem;
}

.summary-card .card-body,
.compare-card .card-body,
.route-card .card-body,
.effect-card .card-body,
.code-card .card-body {
  padding: 1rem 1rem 0.95rem;
}

.summary-card .mini-kicker,
.compare-card .mini-kicker,
.route-card .mini-kicker,
.effect-card .mini-kicker,
.code-card .mini-kicker {
  font-size: 0.77rem;
  margin-bottom: 0.55rem;
}

.compare-card h3,
.route-card h3,
.effect-card h3,
.code-card h3 {
  font-family: "Baskervville SC", serif;
  font-size: 0.98rem;
  line-height: 1.24;
  margin-bottom: 0.5rem;
}

.summary-card p,
.compare-card p,
.route-card p,
.effect-card p,
.code-card p {
  font-size: 0.98rem;
  line-height: 1.55;
}

.authority-callout {
  background: linear-gradient(135deg, #131a22 0%, #09111a 100%);
}

.authority-callout h2 {
  color: #fff;
  margin-bottom: 0.8rem;
  font-size: clamp(1.35rem, 1.7vw, 1.7rem);
  line-height: 1.16;
}

.authority-callout p {
  color: rgba(255, 255, 255, 0.94);
  font-size: 1rem;
  line-height: 1.6;
}

.gl-term-section a:not(.btn):not(.term-guide-link):not(.list-group-item),
.faq-section a:not(.btn):not(.list-group-item),
.resources-section a:not(.btn):not(.list-group-item) {
  color: #941f1a;
  text-decoration: none;
  font-weight: 700;
}

.gl-term-section a:not(.btn):not(.term-guide-link):not(.list-group-item):hover,
.faq-section a:not(.btn):not(.list-group-item):hover,
.resources-section a:not(.btn):not(.list-group-item):hover {
  color: #7e1915;
  text-decoration: underline;
}

.resources-section .list-group-item .fw-bold i {
  width: 1.1rem;
  text-align: center;
}

.resources-section .list-group-item .small {
  color: #59626b !important;
}

.art-nav-link {
  border-width: 1.5px;
  border-color: rgba(26,26,26,0.13);
  box-shadow: 0 10px 22px rgba(31, 38, 45, 0.04);
}

.art-nav-arrow {
  color: #941f1a;
}

.art-nav-arrow svg {
  width: 18px;
  height: 18px;
}

.art-nav-link.prev:hover .art-nav-arrow { transform: translateX(-2px); }
.art-nav-link.next:hover .art-nav-arrow { transform: translateX(2px); }
.dir { color: #9b7038; }
.art-ref { color: #941f1a; }

@media (max-width: 991.98px) {
  .term-guide-links {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .page-hero .hero-cta-row,
  .authority-callout .cta-actions {
    row-gap: 0.75rem;
  }

  .page-hero .st-hero-btn,
  .authority-callout .st-cta-btn {
    max-width: none;
    min-height: 52px;
    font-size: 0.96rem;
    padding: 0.9rem 1rem !important;
    letter-spacing: .03em;
  }

  .term-guide-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
  }

  .term-guide-link {
    min-height: 40px;
    padding: 0.5rem 0.55rem;
    font-size: 0.82rem;
  }

  .gl-term-section h2,
  .faq-section h2,
  .resources-section h2 {
    font-size: clamp(1.35rem, 5.2vw, 1.7rem);
  }

  .compare-card h3,
  .route-card h3,
  .effect-card h3,
  .code-card h3 {
    font-size: 0.95rem;
  }

  .summary-card p,
  .compare-card p,
  .route-card p,
  .effect-card p,
  .code-card p {
    font-size: 0.96rem;
  }

  .authority-callout h2 {
    font-size: clamp(1.2rem, 4.8vw, 1.5rem);
  }
}
