/* ─── Conoce Tus Derechos / Know Your Rights ─── */

:root {
  --kyr-accent: var(--mn-red, #B22222);
  --kyr-accent-deep: var(--mn-red-deep, #8E1B1B);
  /* Theme tokens — KYR CSS may load before memphis-noticias.css */
  --mn-paper: #FFFFFF;
  --mn-ink: #211918;
  --mn-muted: #5E524D;
  --mn-rule: #DAD6CD;
  --mn-divider: #E8E4DC;
  --mn-yellow: #FFCE00;
  --cream: #F0EEE9;
  --cream-deep: #E7E4DC;
  --cream-light: #F6F5F1;
  --white: var(--mn-paper);
  --mn-display: "Source Serif 4", "Source Serif Pro", Georgia, "Times New Roman", serif;
  --mn-sans: "Source Sans 3", system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* lang wrapper — always visible (no entrance animation; it trapped content at opacity 0 on re-render) */
.kyr-fade { opacity: 1; }

/* ─── Hero (medium cream) ─── */
.kyr-hero {
  background: var(--cream);
  color: var(--mn-ink);
  border-bottom: 1px solid var(--mn-divider);
  padding: 56px 0 48px;
  position: relative;
  overflow: hidden;
}
.kyr-hero__inner { position: relative; z-index: 1; }
.kyr-hero__inner {
  display: block;
  gap: 56px;
  align-items: end;
}
.kyr-crumbs {
  font-family: var(--mn-sans);
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--mn-muted);
  margin-bottom: 22px;
  display: flex;
  gap: 9px;
  align-items: center;
  flex-wrap: wrap;
}
.kyr-crumbs a:hover { color: var(--mn-ink); }
.kyr-crumbs .sep { opacity: 0.4; }
.kyr-crumbs .now { color: var(--mn-ink); font-weight: 600; }
.kyr-eyebrow {
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--mn-ink);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
}
.kyr-eyebrow::before {
  content: "";
  width: 24px; height: 3px;
  background: var(--kyr-accent);
}
.kyr-hero__title {
  font-family: var(--mn-display);
  font-weight: 700;
  font-size: 64px;
  line-height: 1.0;
  letter-spacing: -0.025em;
  margin: 0 0 20px;
  text-wrap: balance;
  max-width: 16ch;
}
.kyr-hero__deck {
  font-family: var(--mn-serif);
  font-size: 20px;
  line-height: 1.5;
  color: var(--mn-ink);
  margin: 0 0 26px;
  max-width: 62ch;
}
.kyr-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 36px;
  padding-top: 20px;
  border-top: 1px solid var(--mn-rule);
  font-family: var(--mn-sans);
  font-size: 13px;
  color: var(--mn-muted);
  margin: 0;
}
.kyr-hero__meta-item { margin: 0; }
.kyr-hero__meta dt {
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--mn-ink);
  margin-bottom: 4px;
}
.kyr-hero__meta dd { margin: 0; }

/* lang toggle */
.kyr-aside { display: flex; flex-direction: column; align-items: flex-end; gap: 14px; }
.kyr-lang {
  display: inline-flex;
  border: 1.5px solid var(--mn-ink);
  border-radius: 999px;
  padding: 3px;
  background: var(--mn-paper);
}
.kyr-lang__btn {
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 8px 16px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--mn-ink);
  cursor: pointer;
  transition: background .15s, color .15s;
}
.kyr-lang__btn.is-active { background: var(--mn-ink); color: var(--mn-paper); }
.kyr-lang__hint {
  font-family: var(--mn-sans);
  font-size: 11px;
  letter-spacing: 0.04em;
  color: var(--mn-muted);
  text-align: right;
  max-width: 22ch;
}

/* ─── Emergency strip ─── */
/* ─── Emergency strip (black noir + pinstripe) ─── */
.kyr-emerg {
  background-color: var(--noir-base);
  background-image:
    repeating-linear-gradient(45deg, rgba(255,255,255,0.075) 0 1px, rgba(255,255,255,0) 1px 8px),
    var(--noir-bg);
  background-size: auto, 100% 100%, 240px 240px, 100% 100%;
  background-repeat: repeat, no-repeat, repeat, no-repeat;
  background-blend-mode: normal, screen, overlay, normal;
  color: var(--mn-paper);
  border-bottom: 0;
}
.kyr-emerg .mn-wrap.kyr-emerg__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 32px 40px;
  align-items: center;
  padding: 48px var(--mn-gutter) 36px;
}
.kyr-emerg__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 32px 40px;
  align-items: center;
  padding-top: 48px;
  padding-bottom: 36px;
}
.kyr-emerg__copy { align-self: center; }
.kyr-emerg__heading {
  font-family: var(--mn-display);
  font-weight: 700;
  font-size: 25px;
  line-height: 1.15;
  letter-spacing: -0.01em;
  margin: 0 0 8px;
  color: var(--mn-paper);
  text-wrap: balance;
}
.kyr-emerg__badge {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: var(--mn-sans);
  font-weight: 800;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.kyr-emerg__badge .pulse {
  width: 9px; height: 9px; border-radius: 50%;
  background: var(--mn-yellow);
  animation: kyr-beam 1.8s ease-out infinite;
}
@keyframes kyr-beam {
  0%   { box-shadow: 0 0 6px 1px rgba(255,206,0,0.95), 0 0 0 0 rgba(255,206,0,0.6); }
  70%  { box-shadow: 0 0 10px 2px rgba(255,206,0,0.7), 0 0 0 11px rgba(255,206,0,0); }
  100% { box-shadow: 0 0 6px 1px rgba(255,206,0,0.95), 0 0 0 0 rgba(255,206,0,0); }
}
.kyr-emerg__sub {
  font-family: var(--mn-sans);
  font-size: 14.5px;
  line-height: 1.5;
  margin: 0;
  max-width: 56ch;
  color: rgba(255,255,255,0.9);
}
.kyr-emerg__lines { display: flex; flex-direction: column; gap: 14px; }
.kyr-tel {
  display: flex;
  align-items: center;
  gap: 16px;
  position: relative;
  overflow: hidden;
  background: rgba(255,255,255,0.08);
  -webkit-backdrop-filter: blur(14px) saturate(1.4);
  backdrop-filter: blur(14px) saturate(1.4);
  color: var(--mn-paper);
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 13px;
  padding: 20px 22px;
  min-width: 320px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.22), 0 8px 22px rgba(0,0,0,0.28);
  transition: background .2s, border-color .2s, box-shadow .2s;
}
/* Mouse-following border glow — a bright yellow/white edge that tracks the pointer */
.kyr-tel::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1.5px;
  background: radial-gradient(140px circle at var(--mx, -200px) var(--my, -200px),
    rgba(255,255,255,1) 0%,
    rgba(255,224,102,0.95) 22%,
    rgba(255,206,0,0.6) 42%,
    rgba(255,206,0,0) 70%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask-composite: exclude;
  opacity: 0;
  transition: opacity .25s ease;
  pointer-events: none;
  z-index: 2;
}
.kyr-tel > * { position: relative; z-index: 1; }
@media (hover: hover) {
  .kyr-tel:hover,
  .kyr-tel:focus-visible,
  .kyr-tel.is-tracking {
    background: rgba(255,255,255,0.15);
    border-color: rgba(255,255,255,0.28);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.34), 0 12px 28px rgba(0,0,0,0.36), 0 0 22px rgba(255,206,0,0.18);
  }
  .kyr-tel:hover::before,
  .kyr-tel:focus-visible::before,
  .kyr-tel.is-tracking::before { opacity: 1; }
  .kyr-tel:hover .kyr-tel__label,
  .kyr-tel:focus-visible .kyr-tel__label,
  .kyr-tel.is-tracking .kyr-tel__label { color: rgba(255,255,255,0.92); }
  .kyr-tel:hover .kyr-tel__icon,
  .kyr-tel:focus-visible .kyr-tel__icon,
  .kyr-tel.is-tracking .kyr-tel__icon {
    background: var(--mn-yellow);
    color: var(--mn-ink);
    box-shadow: 0 0 14px rgba(255,206,0,0.55);
  }
}
.kyr-tel__icon {
  flex: none;
  width: 46px; height: 46px;
  border-radius: 50%;
  background: var(--mn-yellow);
  color: var(--mn-ink);
  display: flex; align-items: center; justify-content: center;
  transition: background .2s, color .2s, box-shadow .2s;
}
.kyr-tel__icon i { font-size: 19px; line-height: 1; }
.kyr-tel__body { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.kyr-tel__label {
  font-family: var(--mn-sans);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.78);
  transition: color .2s;
}
.kyr-tel__num {
  font-family: var(--mn-display);
  font-weight: 700;
  font-size: 23px;
  line-height: 1.05;
  letter-spacing: -0.01em;
}
.kyr-emerg__note {
  grid-column: 1 / -1;
  font-family: var(--mn-sans);
  font-size: 12.5px;
  line-height: 1.5;
  color: rgba(255,255,255,0.78);
  margin: 4px 0 0;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,0.12);
  max-width: 72ch;
}

/* ─── Sticky jump nav — mirrors the main masthead nav (dark, uppercase) ─── */
/* Pins with JS (.is-pinned) — CSS sticky cannot work inside the 56px shortcode widget parent. */
.kyr-jump {
  position: relative;
  top: auto;
  z-index: 101; /* above sticky masthead (z 100) so its drop shadow is covered — seamless join */
  background-color: var(--noir-base);
  background-image:
    repeating-linear-gradient(45deg, rgba(255,255,255,0.075) 0 1px, rgba(255,255,255,0) 1px 8px),
    url("/wp-content/themes/memphis/assets/img/footer-grain.png");
  background-size: auto, 240px 240px;
  background-repeat: repeat, repeat;
  background-blend-mode: normal, overlay;
  border-bottom: 0;
  box-shadow: 0 4px 10px rgba(0,0,0,0.22);
}
.kyr-jump.is-pinned {
  position: fixed;
  left: 0;
  right: 0;
  width: 100%;
  top: calc(var(--mn-header-bottom, 128px) - 1px);
}
.kyr-jump-spacer { display: block; width: 100%; }
.kyr-jump__inner {
  display: flex;
  align-items: stretch;
  gap: 22px;
  padding: 0 var(--mn-gutter);
  min-height: 56px;
  overflow-x: auto;
  scrollbar-width: none;
}
.kyr-jump__inner::-webkit-scrollbar { display: none; }
.kyr-jump a {
  position: relative;
  display: flex;
  align-items: center;
  font-family: var(--mn-sans);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.9);
  white-space: nowrap;
  transition: color .12s ease;
}
.kyr-jump a::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 5px;
  background: var(--mn-yellow);
  opacity: 0;
  transition: opacity .12s ease;
}
.kyr-jump a:hover,
.kyr-jump a:focus-visible,
.kyr-jump a.is-active { color: var(--mn-paper); }
.kyr-jump a:hover::after,
.kyr-jump a:focus-visible::after,
.kyr-jump a.is-active::after { opacity: 1; }

/* ─── Section scaffold ─── */
.kyr-sec { padding: 56px 0; background: var(--cream); scroll-margin-top: calc(var(--mn-header-bottom, 128px) + 56px); }
.kyr-sec--cream { background: var(--cream-deep); }
.kyr-sec__head { max-width: 64ch; margin-bottom: 28px; scroll-margin-top: 70px; }
.kyr-sec__title {
  font-family: var(--mn-display);
  font-weight: 700;
  font-size: 40px;
  line-height: 1.06;
  letter-spacing: -0.02em;
  margin: 0 0 16px;
  text-wrap: balance;
}
.kyr-sec__intro {
  font-family: var(--mn-sans);
  font-size: 19px;
  line-height: 1.55;
  color: var(--mn-muted);
  margin: 0;
  text-wrap: pretty;
}

/* plain-language callout (reused look from policy) */
.kyr-plain {
  background-color: var(--mn-paper, #FFFFFF);
  border: 1px solid var(--mn-rule);
  border-left: 4px solid var(--kyr-accent);
  border-radius: 6px;
  padding: 20px 24px;
  margin: 0 0 32px;
  max-width: 78ch;
}
.kyr-sec--cream .kyr-plain { background: var(--mn-paper); }
.kyr-plain b {
  display: block;
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 8px;
  color: var(--mn-ink);
}
.kyr-plain p {
  font-family: var(--mn-sans);
  font-size: 17px;
  line-height: 1.6;
  color: var(--mn-ink);
  margin: 0;
  text-wrap: pretty;
}

/* principles strip */
.kyr-principles {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 2px solid var(--mn-ink);
  margin: 0 0 32px;
}
.kyr-principle {
  padding: 20px 20px 16px;
  border-right: 1px solid var(--mn-rule);
}
.kyr-principle:first-child { padding-left: 0; }
.kyr-principle:last-child { border-right: 0; padding-right: 0; }
.kyr-principle__n {
  font-family: var(--mn-display);
  font-weight: 700;
  font-size: 15px;
  color: var(--kyr-accent-deep);
  letter-spacing: 0.06em;
  margin-bottom: 12px;
}
.kyr-principle__t {
  font-family: var(--mn-display);
  font-weight: 700;
  font-size: 18px;
  line-height: 1.2;
  margin: 0 0 7px;
}
.kyr-principle__d {
  font-family: var(--mn-sans);
  font-size: 16px;
  line-height: 1.6;
  color: var(--mn-muted);
  margin: 0;
}

/* ─── Foundation rights grid ─── */
.kyr-rights {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.kyr-right {
  background-color: var(--mn-paper, #FFFFFF);
  border: 1px solid var(--mn-divider);
  border-radius: 9px;
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 11px;
  transition: background .15s, color .15s, box-shadow .15s, transform .12s;
}
@media (hover: hover) {
  .kyr-right:hover,
  .kyr-right:focus-within {
    background: var(--mn-ink);
    color: var(--mn-paper);
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(33,25,24,0.18);
  }
  .kyr-right:hover .kyr-right__tick,
  .kyr-right:focus-within .kyr-right__tick { background: var(--mn-paper); color: var(--mn-ink); }
  .kyr-right:hover .kyr-right__t,
  .kyr-right:focus-within .kyr-right__t { color: var(--mn-paper); }
  .kyr-right:hover .kyr-right__d,
  .kyr-right:focus-within .kyr-right__d { color: rgba(255,255,255,0.78); }
  .kyr-res-card:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(33,25,24,0.12); }
  .kyr-wcol--yes li:hover .kyr-li__icon--do,
  .kyr-dl--do li:hover .kyr-li__icon--do {
    background: #1E5B4E;
    color: #FFFFFF;
  }
  .kyr-wcol--no li:hover .kyr-li__icon--dont,
  .kyr-dl--dont li:hover .kyr-li__icon--dont {
    background: var(--mn-red);
    color: #FFFFFF;
  }
}
.kyr-right__tick {
  width: 36px; height: 36px;
  flex: none;
  border-radius: 50%;
  background: var(--kyr-accent);
  color: var(--mn-paper);
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 2px 6px rgba(0,0,0,0.18);
  font-size: 15px;
  line-height: 1;
}
.kyr-right__t {
  font-family: var(--mn-display);
  font-weight: 700;
  font-size: 20px;
  line-height: 1.18;
  margin: 0;
  color: var(--mn-ink);
  text-wrap: balance;
}
.kyr-right__d {
  font-family: var(--mn-sans);
  font-size: 16px;
  line-height: 1.6;
  margin: 0;
  color: var(--mn-muted);
}

/* List item FA icon chips */
.kyr-li__icon {
  flex: none;
  width: 22px; height: 22px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  line-height: 1;
  margin-top: 1px;
  transition: background .15s, color .15s;
}
.kyr-li__icon--do { background: #E3EFE9; color: #1A4F43; }
.kyr-li__icon--dont { background: #FBE7E4; color: var(--mn-red); }

/* ─── Warrant comparison ─── */
.kyr-warrant {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.kyr-wcol {
  border-radius: 10px;
  padding: 26px;
  border: 1px solid var(--mn-rule);
  background: var(--mn-paper);
}
.kyr-wcol--yes { border-color: #1E5B4E; background: #F1F7F3; }
.kyr-wcol--no { border-color: var(--mn-red); background: #FBF1F0; }
.kyr-wcol__tag {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: var(--mn-sans);
  font-weight: 800;
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 16px;
}
.kyr-wcol--yes .kyr-wcol__tag { color: #1A4F43; }
.kyr-wcol--no .kyr-wcol__tag { color: var(--mn-red-deep); }
.kyr-wcol__badge {
  width: 26px; height: 26px;
  flex: none;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: var(--white);
  box-shadow: 0 2px 5px rgba(0,0,0,0.22);
}
.kyr-wcol--yes .kyr-wcol__badge { background: #1E5B4E; }
.kyr-wcol--no .kyr-wcol__badge { background: var(--mn-red); }
.kyr-wcol ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.kyr-wcol li {
  font-family: var(--mn-sans);
  font-size: 15px;
  line-height: 1.5;
  color: var(--mn-ink);
  display: flex;
  gap: 11px;
  align-items: flex-start;
}
.kyr-wtip {
  grid-column: 1 / -1;
  display: flex;
  gap: 14px;
  align-items: flex-start;
  background: var(--mn-ink);
  color: var(--mn-paper);
  border-radius: 10px;
  padding: 22px 26px;
  margin-top: 2px;
}
.kyr-wtip__icon { flex: none; color: var(--kyr-accent); margin-top: 2px; }
.kyr--urgent .kyr-wtip__icon { color: var(--mn-red-soft); }
.kyr-wtip p {
  font-family: var(--mn-sans);
  font-size: 17px;
  line-height: 1.55;
  margin: 0;
}
.kyr-wtip b { color: var(--kyr-accent); }
.kyr--urgent .kyr-wtip b { color: var(--mn-red-soft); }

/* ─── Scenarios ─── */
.kyr-scn { display: flex; flex-direction: column; gap: 22px; }
.kyr-scn-card {
  border: 1px solid var(--mn-rule);
  border-radius: 12px;
  overflow: hidden;
  background-color: var(--mn-paper);
  transition: box-shadow .15s ease;
}
@media (hover: hover) {
  .kyr-scn-card:hover { box-shadow: 0 10px 24px rgba(33,25,24,0.1); }
}
.kyr-scn-card__head {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 26px;
  background-color: var(--mn-paper);
  border-bottom: 1px solid var(--mn-rule);
}
.kyr-scn-card__icon {
  flex: none;
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--mn-ink);
  color: var(--mn-paper);
  display: flex; align-items: center; justify-content: center;
  box-shadow: inset 0 2px 6px rgba(0,0,0,0.5), inset 0 -1px 2px rgba(255,255,255,0.06);
  transition: background .18s, color .18s, box-shadow .18s;
}
.kyr-scn-card__icon i { font-size: 19px; line-height: 1; }
.kyr-scn-card:hover .kyr-scn-card__icon {
  background: var(--kyr-accent);
  color: var(--mn-paper);
  box-shadow: inset 0 2px 5px rgba(0,0,0,0.22);
}
.kyr-scn-card__hetx { min-width: 0; }
.kyr-scn-card__num {
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--kyr-accent-deep);
  display: block;
  margin-bottom: 3px;
}
.kyr-scn-card__title {
  font-family: var(--mn-display);
  font-weight: 700;
  font-size: 22px;
  line-height: 1.1;
  margin: 0 0 2px;
  letter-spacing: -0.01em;
}
.kyr-scn-card__sum {
  font-family: var(--mn-sans);
  font-size: 16px;
  line-height: 1.6;
  color: var(--mn-muted);
  margin: 0;
}
.kyr-scn-card__body {
  padding: 26px;
  background-color: var(--mn-paper);
}
.kyr-scn-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  margin-bottom: 0;
}
.kyr-dl__h {
  font-family: var(--mn-sans);
  font-weight: 800;
  font-size: 11.5px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin: 0 0 12px;
  padding: 0 0 10px;
  border-bottom: 1px solid var(--mn-rule);
}
.kyr-dl__h--do { color: #1A4F43; }
.kyr-dl__h--dont { color: var(--mn-red-deep); }
.kyr-dl ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 11px; }
.kyr-dl li {
  font-family: var(--mn-sans);
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--mn-ink);
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.kyr-say {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  background: var(--cream-light);
  color: var(--mn-ink);
  border: 1px solid var(--mn-divider);
  border-left: 5px solid var(--kyr-accent);
  border-radius: 10px;
  padding: 20px 24px;
}
.kyr-say__icon { flex: none; color: var(--kyr-accent-deep); margin-top: 3px; }
.kyr--urgent .kyr-say__icon { color: var(--mn-red); }
.kyr-say__body { min-width: 0; }
.kyr-say__label {
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 10.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--mn-muted);
  display: block;
  margin-bottom: 6px;
}
.kyr-say__quote {
  font-family: var(--mn-display);
  font-weight: 700;
  font-style: italic;
  font-size: 21px;
  line-height: 1.3;
  margin: 0;
  color: var(--mn-ink);
  text-wrap: balance;
}

/* ─── Family plan ─── */
.kyr-plan {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.kyr-plan-step {
  background-color: var(--mn-paper, #FFFFFF);
  border: 1px solid var(--mn-rule);
  border-radius: 9px;
  padding: 24px;
}
.kyr-plan-step__n {
  font-family: var(--mn-display);
  font-weight: 700;
  font-size: 30px;
  line-height: 1;
  color: var(--kyr-accent-deep);
  margin-bottom: 14px;
}
.kyr-plan-step__n::after {
  content: "";
  display: block;
  width: 28px; height: 3px;
  background: var(--kyr-accent);
  margin-top: 10px;
}
.kyr-plan-step__t {
  font-family: var(--mn-display);
  font-weight: 700;
  font-size: 19px;
  line-height: 1.18;
  margin: 0 0 7px;
}
.kyr-plan-step__d {
  font-family: var(--mn-sans);
  font-size: 16px;
  line-height: 1.6;
  color: var(--mn-muted);
  margin: 0;
}
.kyr-note {
  display: flex;
  gap: 13px;
  align-items: center;
  margin-top: 22px;
  padding: 16px 20px;
  background-color: var(--mn-ink, #211918);
  border: 1px dashed rgba(255,255,255,0.22);
  border-radius: 8px;
  font-family: var(--mn-sans);
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--mn-paper, #FFFFFF);
}
.kyr-note svg { flex: none; color: var(--kyr-accent); }

/* ─── Printable rights card ─── */
.kyr-cardwrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}
.kyr-redcard {
  border-radius: 14px;
  padding: 28px;
  color: var(--mn-paper);
  background:
    radial-gradient(120% 140% at 0% 0%, #C9483B 0%, #B22222 46%, #8E1B1B 100%);
  box-shadow: 0 14px 34px rgba(142,27,27,0.32);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 250px;
}
.kyr-redcard > *:not(.kyr-redcard__wm) { position: relative; z-index: 1; }
.kyr-redcard__wm {
  position: absolute;
  right: 18px; top: 16px;
  width: 104px;
  color: #fff;
  opacity: 0.15;
  z-index: 0;
  pointer-events: none;
  line-height: 0;
}
.kyr-redcard__wm svg,
.kyr-redcard__wm img {
  width: 100%;
  height: auto;
  display: block;
}
.kyr-redcard__wm img {
  filter: brightness(0) invert(1);
}
.kyr-redcard__lang {
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.66);
  margin-bottom: 12px;
}
.kyr-redcard__title {
  font-family: "Source Serif 4", Georgia, "Times New Roman", serif;
  font-weight: 700;
  font-size: 26px;
  line-height: 1.05;
  letter-spacing: -0.01em;
  margin: 0 0 6px;
  color: var(--mn-paper);
}
.kyr-redcard__intro {
  font-family: var(--mn-sans);
  font-style: italic;
  font-size: 14.5px;
  line-height: 1.4;
  color: rgba(255,255,255,0.85);
  margin: 0 0 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(255,255,255,0.2);
}
.kyr-redcard ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.kyr-redcard li {
  font-family: var(--mn-sans);
  font-size: 14px;
  line-height: 1.4;
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.kyr-redcard__bullet {
  flex: none;
  font-size: 7px;
  line-height: 1;
  color: var(--mn-yellow);
  margin-top: 7px;
}
.kyr-redcard__brand {
  margin-top: auto;
  padding-top: 18px;
  font-family: var(--mn-sans);
  font-size: 10.5px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.78);
}
.kyr-card-actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  margin-top: 6px;
}
.kyr-printbtn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 14px 22px;
  border-radius: 7px;
  border: 0;
  background: var(--mn-ink);
  color: var(--mn-paper);
  cursor: pointer;
  transition: background .15s, color .15s;
}
.kyr-printbtn:hover,
.kyr-printbtn:focus-visible { background: var(--kyr-accent); color: var(--mn-paper); }
/* The kit's global `.elementor-kit-8 button` rule (0,1,1) out-specifies this component's
   `border: 0`, leaving a 1px ink border that is invisible on the dark rest state but shows as a
   dark line once the hover background turns light. Doubled class (0,2,0) beats the kit in every
   state so the button stays truly borderless. */
.kyr-printbtn.kyr-printbtn { border: 0; }
.kyr-ilrc {
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 13px;
  color: var(--mn-ink);
  border-bottom: 2px solid transparent;
  padding-bottom: 2px;
  transition: color .15s, border-color .15s;
}
.kyr-ilrc:hover,
.kyr-ilrc:focus-visible { color: var(--mn-red-deep); border-bottom-color: var(--kyr-accent); }

/* ─── Scams ─── */
.kyr-scams {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}
.kyr-scam {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  background-color: var(--mn-paper, #FFFFFF);
  border: 1px solid var(--mn-rule);
  border-radius: 10px;
  padding: 22px 24px;
}
.kyr-scam__icon {
  flex: none;
  width: 42px; height: 42px;
  border-radius: 50%;
  background: #FBE7E4;
  color: var(--mn-red);
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 2px 6px rgba(142,27,27,0.18);
}
.kyr-scam__t {
  font-family: var(--mn-display);
  font-weight: 700;
  font-size: 18px;
  line-height: 1.2;
  margin: 0 0 6px;
}
.kyr-scam__d {
  font-family: var(--mn-sans);
  font-size: 16px;
  line-height: 1.6;
  color: var(--mn-muted);
  margin: 0;
}

/* ─── Resources ─── */
.kyr-resgroup { margin-bottom: 40px; }
.kyr-resgroup:last-child { margin-bottom: 0; }
.kyr-resgroup__label {
  display: flex;
  align-items: center;
  gap: 14px;
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--mn-ink);
  margin: 0 0 20px;
}
.kyr-resgroup__label::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--mn-rule);
}
.kyr-resgrid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}
.kyr-res-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  background-color: #FFFFFF;
  border: 1px solid var(--mn-divider, #E8E4DC);
  border-radius: 10px;
  padding: 22px;
  transition: box-shadow .15s, transform .12s;
}
.kyr-res-card__name {
  font-family: var(--mn-display);
  font-weight: 700;
  font-size: 21px;
  line-height: 1.15;
  margin: 0;
}
.kyr-res-card__role {
  font-family: var(--mn-sans);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--kyr-accent-deep);
  margin: 0;
}
.kyr-res-card__desc {
  font-family: var(--mn-sans);
  font-size: 14px;
  line-height: 1.55;
  color: var(--mn-muted);
  margin: 2px 0 0;
}
.kyr-res-card__foot {
  margin-top: auto;
  padding-top: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  align-items: center;
}
.kyr-res-tel {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--mn-display);
  font-weight: 700;
  font-size: 16px;
  color: var(--mn-ink);
}
.kyr-res-tel svg { color: var(--kyr-accent-deep); }
.kyr-res-tel:hover,
.kyr-res-tel:focus-visible { color: var(--mn-red-deep); }
.kyr-res-web {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--mn-ink);
  border-bottom: none;
  padding-bottom: 4px;
  margin-left: auto;
  position: relative;
  text-decoration: none;
}
.kyr-res-web::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: var(--kyr-accent);
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform .2s ease, background-color .15s ease;
}
.kyr-res-web i {
  font-size: 13px;
  line-height: 1;
  transition: transform .2s ease;
}
@media (hover: hover) {
  .kyr-res-web:hover,
  .kyr-res-web:focus-visible {
    color: var(--mn-red-deep);
  }
  .kyr-res-web:hover::after,
  .kyr-res-web:focus-visible::after {
    transform: scaleY(1);
    background: var(--mn-red-deep);
  }
  .kyr-res-web:hover i,
  .kyr-res-web:focus-visible i {
    transform: rotate(-90deg);
  }
}

/* ─── Disclaimer ─── */
.kyr-disc {
  background: var(--mn-ink);
  color: var(--mn-paper);
  border-radius: 12px;
  padding: 40px 44px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 28px;
  align-items: start;
}
.kyr-disc__mark { flex: none; color: var(--kyr-accent); align-self: start; }
.kyr--urgent .kyr-disc__mark { color: var(--mn-red-soft); }
.kyr-disc__title {
  font-family: var(--mn-display);
  font-weight: 700;
  font-size: 24px;
  line-height: 1.15;
  color: var(--mn-paper);
  margin: 0 0 10px;
}
.kyr-disc__text {
  font-family: var(--mn-sans);
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255,255,255,0.85);
  margin: 0 0 16px;
  max-width: 70ch;
}
.kyr-disc__cta {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-family: var(--mn-sans);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--mn-paper);
  background: var(--kyr-accent);
  padding: 12px 20px;
  border-radius: 7px;
}
.kyr-disc__cta:hover,
.kyr-disc__cta:focus-visible { background: var(--mn-paper); color: var(--mn-ink); }

/* ─── Responsive ─── */
@media (max-width: 1040px) {
  .kyr-hero__inner { grid-template-columns: 1fr; gap: 30px; align-items: start; }
  .kyr-aside { align-items: flex-start; }
  .kyr-lang__hint { text-align: left; }
  .kyr-hero__title { font-size: 50px; }
  .kyr-rights, .kyr-plan { grid-template-columns: repeat(2, 1fr); }
  .kyr-emerg .mn-wrap.kyr-emerg__inner,
  .kyr-emerg__inner { grid-template-columns: 1fr; gap: 24px; align-items: stretch; padding: 40px var(--mn-gutter) 32px; }
}
@media (max-width: 760px) {
  .kyr-sec { padding: 52px 0; }
  .kyr-hero__title { font-size: 40px; }
  .kyr-sec__title { font-size: 30px; }
  .kyr-principles { grid-template-columns: 1fr 1fr; gap: 0; }
  .kyr-principle { border-bottom: 1px solid var(--mn-rule); padding: 18px 18px 14px 0; }
  .kyr-principle:nth-child(2n) { border-right: 0; }
  .kyr-rights, .kyr-plan, .kyr-warrant, .kyr-scn-cols, .kyr-cardwrap, .kyr-scams, .kyr-resgrid {
    grid-template-columns: 1fr;
  }
  .kyr-tel { min-width: 0; width: 100%; }
  .kyr-disc { grid-template-columns: 1fr; gap: 18px; padding: 28px; }
}

/* ─── Print: only the rights card ─── */
@media print {
  body * { visibility: hidden !important; }
  #kyr-print, #kyr-print * { visibility: visible !important; }
  #kyr-print {
    position: absolute;
    left: 0; top: 0;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    padding: 24px;
  }
  #kyr-print .kyr-redcard {
    box-shadow: none !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    break-inside: avoid;
  }
  .kyr-card-actions { display: none !important; }
}

/* ─── Hero layout tweaks ─── */
.kyr-hero__top { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; flex-wrap:wrap; margin-bottom:6px; }
.kyr-hero__top .kyr-crumbs { margin-bottom:0; }
.kyr-crumbs .now { font-weight: 500; }
.kyr-lang__btn { text-decoration:none; display:inline-block; }
.kyr-sec__intro--spaced { max-width:64ch; margin-bottom:24px; }
.kyr-scn-card__body .kyr-say { margin-top:22px; }

/* ─── Font Awesome icon slots (Classic Regular / fa-regular) ─── */
.kyr-tel__icon i { font-size: 20px; line-height: 1; }
.kyr-right__tick i { font-size: 16px; line-height: 1; }
.kyr-wcol__badge i { font-size: 14px; line-height: 1; }
.kyr-li__icon i { font-size: 12px; line-height: 1; }
.kyr-wtip__icon,
.kyr-note__icon {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--kyr-accent);
}
.kyr-wtip__icon { width: 22px; height: 22px; margin-top: 2px; font-size: 20px; line-height: 1; }
.kyr-note__icon { width: 22px; height: 22px; font-size: 20px; line-height: 1; }
.kyr-scam__icon i { font-size: 18px; line-height: 1; }
.kyr-say__icon {
  flex: none;
  color: var(--kyr-accent-deep);
  margin-top: 2px;
  font-size: 22px;
  line-height: 1;
}
.kyr-disc__mark {
  flex: none;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  color: var(--kyr-accent);
  font-size: 34px;
  line-height: 1;
  margin-top: 2px;
}
.kyr-res-tel i { color: var(--kyr-accent-deep); font-size: 14px; }
.kyr-ilrc i,
.kyr-disc__cta i { font-size: 11px; line-height: 1; }
.kyr-printbtn i { font-size: 14px; line-height: 1; }

/* Force readable type on the noir emergency band */
.kyr-emerg h2,
.kyr-emerg p,
.kyr-emerg a { color: inherit; }
.kyr-emerg .kyr-emerg__heading { color: var(--mn-paper); }

/* ─── Elementor page shell (3649) ─── */
/* Site-neutral canvas — cream-light band surface (matches article/crumb pages) */
html:has(body.elementor-page-3649) {
  background-color: var(--cream-light, #F6F5F1);
}
body.elementor-page-3649 {
  background-color: var(--cream-light, #F6F5F1);
  background-image: none;
}
.elementor-page-3649 .language-switcher,
.elementor-page-3649 #language-switcher {
  display: none !important;
}
.elementor-page-3649 .elementor-3649,
.elementor-page-3649 #content,
.elementor-page-3649 main,
.elementor-page-3649 .site-main {
  background: var(--cream-light, #F6F5F1) !important;
  padding: 0 !important;
  margin: 0 !important;
}
.elementor-page-3649 .elementor-element-kyrroot,
.elementor-page-3649 .elementor-element-kyrroot > .e-con-inner {
  --padding-top: 0 !important;
  --padding-bottom: 0 !important;
  --padding-left: 0 !important;
  --padding-right: 0 !important;
  --row-gap: 0 !important;
  --column-gap: 0 !important;
  --gap: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  width: 100% !important;
  gap: 0 !important;
  row-gap: 0 !important;
  background-color: var(--cream-light, #F6F5F1) !important;
}
.elementor-page-3649 .elementor-element-kyrroot .elementor-widget {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.elementor-page-3649 .elementor-element-kyrroot .elementor-widget-container,
.elementor-page-3649 .elementor-element-kyrroot .elementor-shortcode {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
}
.elementor-page-3649 .kyr-hero,
.elementor-page-3649 .kyr-emerg,
.elementor-page-3649 .kyr-jump,
.elementor-page-3649 .kyr-sec {
  width: 100%;
  max-width: none;
}
.elementor-page-3649 .kyr-sec--cream { background: var(--cream-deep) !important; }
.elementor-page-3649 .kyr-sec:not(.kyr-sec--cream) { background: var(--cream) !important; }
.elementor-page-3649 .elementor-3649.elementor-bc-flex-widget {
  gap: 0 !important;
  --row-gap: 0 !important;
  --column-gap: 0 !important;
}
.elementor-page-3649 .kyr-principles { margin-bottom: 32px; }
.elementor-page-3649 .kyr-emerg { background-color: var(--noir-base) !important; background-image: repeating-linear-gradient(45deg, rgba(255,255,255,0.075) 0 1px, rgba(255,255,255,0) 1px 8px), var(--noir-bg) !important; }
.elementor-page-3649 .kyr-jump { background-color: var(--noir-base) !important; }

/* Card surfaces — explicit paper white per kyr.css design (cream sections must not bleed through) */
.elementor-page-3649 .kyr-plain,
.elementor-page-3649 .kyr-plan-step,
.elementor-page-3649 .kyr-scn-card,
.elementor-page-3649 .kyr-scn-card__head,
.elementor-page-3649 .kyr-scn-card__body,
.elementor-page-3649 .kyr-scam,
.elementor-page-3649 .kyr-res-card,
.elementor-page-3649 .kyr-res-card:hover,
.elementor-page-3649 .kyr-res-card:focus-within {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  background-image: none !important;
}
.elementor-page-3649 .kyr-right:not(:hover):not(:focus-visible) {
  background-color: #FFFFFF !important;
}
/* Rights cards — beat Elementor kit h3/p colors on dark hover inversion */
.elementor-page-3649 .kyr-right h3.kyr-right__t {
  color: var(--mn-ink, #211918) !important;
}
@media (hover: hover) {
  .elementor-page-3649 .kyr-right:hover,
  .elementor-page-3649 .kyr-right:focus-within {
    background-color: var(--mn-ink, #211918) !important;
    color: var(--mn-paper, #FFFFFF) !important;
  }
  .elementor-page-3649 .kyr-right:hover h3.kyr-right__t,
  .elementor-page-3649 .kyr-right:focus-within h3.kyr-right__t {
    color: var(--mn-paper, #FFFFFF) !important;
  }
  .elementor-page-3649 .kyr-right:hover .kyr-right__d,
  .elementor-page-3649 .kyr-right:focus-within .kyr-right__d {
    color: rgba(255,255,255,0.78) !important;
  }
}
/* Plan footnote — dark ink strip (matches .kyr-wtip pattern) */
.elementor-page-3649 .kyr-note {
  background-color: var(--mn-ink, #211918) !important;
  color: var(--mn-paper, #FFFFFF) !important;
  border-color: rgba(255,255,255,0.22) !important;
}
/* Nested quote callout stays cream-light (not a white card) */
.elementor-page-3649 .kyr-say {
  background-color: var(--cream-light, #F6F5F1) !important;
}

/* Readable card body copy — 16px minimum (beats Elementor kit paragraph scale) */
.elementor-page-3649 .kyr-plan-step__d,
.elementor-page-3649 .kyr-right__d,
.elementor-page-3649 .kyr-principle__d,
.elementor-page-3649 .kyr-scam__d,
.elementor-page-3649 .kyr-scn-card__sum {
  font-size: 16px !important;
  line-height: 1.6 !important;
}

/* Red card — beat Elementor kit global heading styles */
.elementor-page-3649 .kyr-redcard,
.elementor-page-3649 .kyr-redcard h3.kyr-redcard__title,
.elementor-page-3649 .kyr-redcard p.kyr-redcard__intro,
.elementor-page-3649 .kyr-redcard li,
.elementor-page-3649 .kyr-redcard .kyr-redcard__brand {
  color: var(--mn-paper);
}
.elementor-page-3649 .kyr-redcard h3.kyr-redcard__title {
  font-family: "Source Serif 4", Georgia, "Times New Roman", serif !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.01em !important;
  margin: 0 0 6px !important;
  color: var(--mn-paper) !important;
}
.elementor-page-3649 .kyr-redcard p.kyr-redcard__intro {
  font-family: var(--mn-sans) !important;
  font-size: 14.5px !important;
  font-style: italic !important;
  color: rgba(255,255,255,0.85) !important;
}

/* Disclaimer — beat Elementor kit global h2 (dark ink on dark box hid the title) */
.elementor-page-3649 .kyr-disc h2.kyr-disc__title {
  font-family: "Source Serif 4", Georgia, "Times New Roman", serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  color: var(--mn-paper, #FFFFFF) !important;
  margin: 0 0 10px !important;
}
.elementor-page-3649 .kyr-disc__mark i {
  font-family: "Font Awesome 6 Pro" !important;
  font-size: 34px !important;
  line-height: 1 !important;
}

/* ─── Accessibility ─── */
.kyr-crumbs a:focus-visible,
.kyr-lang__btn:focus-visible,
.kyr-tel:focus-visible,
.kyr-jump a:focus-visible,
.kyr-printbtn:focus-visible,
.kyr-ilrc:focus-visible,
.kyr-res-tel:focus-visible,
.kyr-res-web:focus-visible,
.kyr-disc__cta:focus-visible {
  outline: 3px solid var(--mn-yellow);
  outline-offset: 3px;
}
.kyr-crumbs a:focus-visible { color: var(--mn-ink); }
.kyr-lang__btn:focus-visible:not(.is-active) { background: rgba(33,25,24,0.08); }
.kyr-res-web:focus-visible { color: var(--mn-red-deep); }

@media (prefers-reduced-motion: reduce) {
  .kyr-emerg__badge .pulse { animation: none; }
  .kyr-res-card:hover { transform: none; }
  .kyr-res-web::after,
  .kyr-res-web i { transition: none; }
  .kyr-tel,
  .kyr-jump a,
  .kyr-printbtn,
  .kyr-disc__cta { transition: none; }
}

