
  .kbc-whistleblowing,
  .kbc-whistleblowing * {
    box-sizing: border-box;
  }

  .kbc-whistleblowing {
    --kbc-purple: #5d19df;
    --kbc-purple-2: #7138e7;
    --kbc-purple-dark: #251340;
    --kbc-purple-deep: #160b2a;
    --kbc-gold: #aa741f;
    --kbc-gold-bright: #d7a536;
    --kbc-gold-soft: #fff7e5;
    --kbc-blue: #2459a9;
    --kbc-ink: #171522;
    --kbc-muted: #625d6c;
    --kbc-border: #e7e1ef;
    --kbc-soft: #f8f6fb;
    --kbc-white: #ffffff;
    --kbc-success: #16794d;
    --kbc-danger: #a3212d;
    --kbc-shadow-sm: 0 10px 30px rgba(37, 19, 64, 0.08);
    --kbc-shadow-lg: 0 24px 70px rgba(28, 13, 51, 0.18);

    /*
      KBC typography tree. Elementor's Global Fonts remain the source of truth,
      so future font changes made in Site Settings flow into this page automatically.
    */
    --kbc-font-display: var(--e-global-typography-primary-font-family, var(--wp--preset--font-family--primary, "Poppins"));
    --kbc-font-heading: var(--e-global-typography-secondary-font-family, var(--kbc-font-display));
    --kbc-font-body: var(--e-global-typography-text-font-family, var(--wp--preset--font-family--body, "Poppins"));
    --kbc-font-accent: var(--e-global-typography-accent-font-family, var(--kbc-font-display));
    --kbc-weight-display: var(--e-global-typography-primary-font-weight, 700);
    --kbc-weight-heading: var(--e-global-typography-secondary-font-weight, 600);
    --kbc-weight-body: var(--e-global-typography-text-font-weight, 400);
    --kbc-weight-accent: var(--e-global-typography-accent-font-weight, 600);

    color: var(--kbc-ink);
    background: var(--kbc-white);
    font-family: var(--kbc-font-body), "Segoe UI", Arial, sans-serif;
    font-size: 16px;
    font-weight: var(--kbc-weight-body);
    line-height: 1.65;
    overflow: hidden;
  }

  .kbc-whistleblowing a {
    color: inherit;
  }

  .kbc-whistleblowing img,
  .kbc-whistleblowing svg {
    display: block;
  }

  .kbc-whistleblowing .kbc-shell {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
  }

  .kbc-whistleblowing .kbc-skip-link {
    position: absolute;
    z-index: 999;
    top: 12px;
    left: 12px;
    padding: 10px 14px;
    border-radius: 8px;
    background: var(--kbc-white);
    color: var(--kbc-purple-dark);
    font-weight: 800;
    transform: translateY(-160%);
    transition: transform 0.2s ease;
  }

  .kbc-whistleblowing .kbc-skip-link:focus {
    transform: translateY(0);
  }

  .kbc-whistleblowing .kbc-hero {
    position: relative;
    isolation: isolate;
    padding: clamp(54px, 7vw, 92px) 0 clamp(84px, 10vw, 126px);
    color: var(--kbc-white);
    background:
      radial-gradient(circle at 84% 16%, rgba(215, 165, 54, 0.25), transparent 25%),
      radial-gradient(circle at 9% 78%, rgba(93, 25, 223, 0.55), transparent 34%),
      linear-gradient(128deg, var(--kbc-purple-deep) 0%, var(--kbc-purple-dark) 44%, #49208d 72%, #244f94 100%);
  }

  .kbc-whistleblowing .kbc-hero::before,
  .kbc-whistleblowing .kbc-hero::after {
    content: "";
    position: absolute;
    z-index: -1;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 50%;
  }

  .kbc-whistleblowing .kbc-hero::before {
    width: 520px;
    height: 520px;
    right: -210px;
    top: -220px;
  }

  .kbc-whistleblowing .kbc-hero::after {
    width: 270px;
    height: 270px;
    right: 11%;
    bottom: -165px;
  }

  .kbc-whistleblowing .kbc-brand-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: clamp(38px, 6vw, 66px);
  }

 

  .kbc-whistleblowing .kbc-status {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 9px 14px;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.09);
    backdrop-filter: blur(8px);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .kbc-whistleblowing .kbc-status-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--kbc-gold-bright);
    box-shadow: 0 0 0 5px rgba(215, 165, 54, 0.17);
  }

  .kbc-whistleblowing .kbc-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
    gap: clamp(34px, 6vw, 78px);
    align-items: center;
  }

  .kbc-whistleblowing .kbc-eyebrow {
    margin: 0 0 14px;
    color: #f1d38a;
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
  }

  .kbc-whistleblowing h1,
  .kbc-whistleblowing h2,
  .kbc-whistleblowing h3,
  .kbc-whistleblowing p {
    margin-top: 0;
  }

  .kbc-whistleblowing .kbc-hero h1 {
    max-width: 820px;
    margin-bottom: 20px;
    color: var(--kbc-white);
    font-size: clamp(2.45rem, 6vw, 5.15rem);
    line-height: 0.99;
    letter-spacing: -0.045em;
  }

  .kbc-whistleblowing .kbc-hero-lead {
    max-width: 760px;
    margin-bottom: 30px;
    color: rgba(255, 255, 255, 0.86);
    font-size: clamp(1.05rem, 2vw, 1.28rem);
    line-height: 1.62;
  }

  .kbc-whistleblowing .kbc-button-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
  }

  .kbc-whistleblowing .kbc-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 50px;
    padding: 12px 20px;
    border: 2px solid transparent;
    border-radius: 11px;
    font-size: 0.96rem;
    font-weight: 850;
    line-height: 1.2;
    text-decoration: none;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, border-color 0.18s ease;
  }

  .kbc-whistleblowing .kbc-btn:hover {
    transform: translateY(-2px);
  }

  .kbc-whistleblowing .kbc-btn:focus-visible,
  .kbc-whistleblowing a:focus-visible,
  .kbc-whistleblowing summary:focus-visible {
    outline: 3px solid #f5ca5a;
    outline-offset: 3px;
  }

  .kbc-whistleblowing .kbc-btn--gold {
    background: linear-gradient(135deg, #e1b64f, var(--kbc-gold-bright));
    color: #20162c;
    box-shadow: 0 12px 34px rgba(215, 165, 54, 0.23);
  }

  .kbc-whistleblowing .kbc-btn--gold:hover {
    box-shadow: 0 16px 40px rgba(215, 165, 54, 0.33);
  }

  .kbc-whistleblowing .kbc-btn--outline {
    border-color: rgba(255, 255, 255, 0.46);
    background: rgba(255, 255, 255, 0.06);
    color: var(--kbc-white);
  }

  .kbc-whistleblowing .kbc-btn--outline:hover {
    border-color: var(--kbc-white);
    background: rgba(255, 255, 255, 0.12);
  }

  .kbc-whistleblowing .kbc-btn--purple {
    background: linear-gradient(135deg, var(--kbc-purple), var(--kbc-purple-2));
    color: var(--kbc-white);
    box-shadow: 0 12px 28px rgba(93, 25, 223, 0.22);
  }

  .kbc-whistleblowing .kbc-btn--light {
    border-color: var(--kbc-border);
    background: var(--kbc-white);
    color: var(--kbc-purple-dark);
  }

  .kbc-whistleblowing .kbc-btn svg {
    width: 19px;
    height: 19px;
    flex: 0 0 auto;
  }

  .kbc-whistleblowing .kbc-privacy-note {
    margin: 15px 0 0;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.86rem;
  }

  .kbc-whistleblowing .kbc-assurance-card {
    padding: 28px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.1);
    box-shadow: var(--kbc-shadow-lg);
    backdrop-filter: blur(16px);
  }

  .kbc-whistleblowing .kbc-assurance-card h2 {
    margin-bottom: 19px;
    color: var(--kbc-white);
    font-size: 1.32rem;
    line-height: 1.25;
  }

  .kbc-whistleblowing .kbc-check-list,
  .kbc-whistleblowing .kbc-plain-list {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .kbc-whistleblowing .kbc-check-list li {
    position: relative;
    margin: 0 0 14px;
    padding-left: 32px;
    color: rgba(255, 255, 255, 0.88);
  }

  .kbc-whistleblowing .kbc-check-list li:last-child {
    margin-bottom: 0;
  }

  .kbc-whistleblowing .kbc-check-list li::before {
    content: "✓";
    position: absolute;
    top: 1px;
    left: 0;
    display: grid;
    width: 22px;
    height: 22px;
    place-items: center;
    border-radius: 50%;
    background: rgba(215, 165, 54, 0.18);
    color: #f5d77f;
    font-size: 0.78rem;
    font-weight: 900;
  }

  .kbc-whistleblowing .kbc-overlap {
    position: relative;
    z-index: 4;
    margin-top: -48px;
  }

  .kbc-whistleblowing .kbc-emergency {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 18px;
    align-items: center;
    padding: 21px 24px;
    border: 1px solid #f1d6d9;
    border-radius: 18px;
    background: var(--kbc-white);
    box-shadow: var(--kbc-shadow-lg);
  }

  .kbc-whistleblowing .kbc-emergency-icon {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 14px;
    background: #fff0f1;
    color: var(--kbc-danger);
  }

  .kbc-whistleblowing .kbc-emergency-icon svg {
    width: 25px;
    height: 25px;
  }

  .kbc-whistleblowing .kbc-emergency h2 {
    margin: 0 0 3px;
    font-size: 1.06rem;
    line-height: 1.25;
  }

  .kbc-whistleblowing .kbc-emergency p {
    margin: 0;
    color: var(--kbc-muted);
    font-size: 0.93rem;
  }

  .kbc-whistleblowing .kbc-emergency a:not(.kbc-btn) {
    color: var(--kbc-purple);
    font-weight: 800;
  }

  .kbc-whistleblowing .kbc-section {
    padding: clamp(58px, 8vw, 94px) 0;
    scroll-margin-top: 30px;
  }

  .kbc-whistleblowing .kbc-section--soft {
    background: var(--kbc-soft);
  }

  .kbc-whistleblowing .kbc-section--purple-soft {
    background: linear-gradient(180deg, #fbf9ff 0%, #f2edfb 100%);
  }

  .kbc-whistleblowing .kbc-section-heading {
    max-width: 800px;
    margin-bottom: 34px;
  }

  .kbc-whistleblowing .kbc-kicker {
    margin-bottom: 8px;
    color: var(--kbc-purple);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }

  .kbc-whistleblowing .kbc-section-heading h2,
  .kbc-whistleblowing .kbc-split h2 {
    margin-bottom: 13px;
    color: var(--kbc-purple-dark);
    font-size: clamp(1.85rem, 4vw, 3.05rem);
    line-height: 1.08;
    letter-spacing: -0.035em;
  }

  .kbc-whistleblowing .kbc-section-heading p,
  .kbc-whistleblowing .kbc-split > div > p {
    margin-bottom: 0;
    color: var(--kbc-muted);
    font-size: 1.03rem;
  }

  .kbc-whistleblowing .kbc-jump-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 34px;
    padding-bottom: 4px;
  }

  .kbc-whistleblowing .kbc-jump-nav a {
    padding: 8px 12px;
    border: 1px solid var(--kbc-border);
    border-radius: 999px;
    background: var(--kbc-white);
    color: var(--kbc-purple-dark);
    font-size: 0.84rem;
    font-weight: 760;
    text-decoration: none;
  }

  .kbc-whistleblowing .kbc-jump-nav a:hover {
    border-color: #cdbce9;
    background: #f7f2ff;
    color: var(--kbc-purple);
  }

  .kbc-whistleblowing .kbc-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
    gap: 28px;
    align-items: stretch;
  }

  .kbc-whistleblowing .kbc-definition,
  .kbc-whistleblowing .kbc-scope-card,
  .kbc-whistleblowing .kbc-card,
  .kbc-whistleblowing .kbc-route-card,
  .kbc-whistleblowing .kbc-external-card,
  .kbc-whistleblowing details {
    border: 1px solid var(--kbc-border);
    border-radius: 18px;
    background: var(--kbc-white);
    box-shadow: var(--kbc-shadow-sm);
  }

  .kbc-whistleblowing .kbc-definition,
  .kbc-whistleblowing .kbc-scope-card {
    padding: clamp(25px, 4vw, 38px);
  }

  .kbc-whistleblowing .kbc-definition h3,
  .kbc-whistleblowing .kbc-scope-card h3 {
    margin-bottom: 13px;
    color: var(--kbc-purple-dark);
    font-size: 1.35rem;
  }

  .kbc-whistleblowing .kbc-definition p:last-child,
  .kbc-whistleblowing .kbc-scope-card p:last-child {
    margin-bottom: 0;
  }

  .kbc-whistleblowing .kbc-highlight {
    color: var(--kbc-purple);
    font-weight: 820;
  }

  .kbc-whistleblowing .kbc-scope-card {
    position: relative;
    overflow: hidden;
    border-color: #ddcef5;
    background: linear-gradient(150deg, #fbf9ff, #f3edff);
  }

  .kbc-whistleblowing .kbc-scope-card::after {
    content: "";
    position: absolute;
    width: 140px;
    height: 140px;
    right: -62px;
    bottom: -72px;
    border-radius: 50%;
    background: rgba(93, 25, 223, 0.09);
  }

  .kbc-whistleblowing .kbc-callout {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 15px;
    align-items: start;
    margin-top: 24px;
    padding: 19px 21px;
    border: 1px solid #ead49b;
    border-radius: 14px;
    background: var(--kbc-gold-soft);
  }

  .kbc-whistleblowing .kbc-callout-mark {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 50%;
    background: var(--kbc-gold-bright);
    color: #23172d;
    font-weight: 900;
  }

  .kbc-whistleblowing .kbc-callout p {
    margin: 0;
    color: #514324;
  }

  .kbc-whistleblowing .kbc-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 17px;
  }

  .kbc-whistleblowing .kbc-card {
    padding: 23px;
  }

  .kbc-whistleblowing .kbc-card-icon,
  .kbc-whistleblowing .kbc-route-icon,
  .kbc-whistleblowing .kbc-external-icon {
    display: grid;
    width: 44px;
    height: 44px;
    margin-bottom: 18px;
    place-items: center;
    border-radius: 13px;
    background: #f0e9ff;
    color: var(--kbc-purple);
  }

  .kbc-whistleblowing .kbc-card-icon svg,
  .kbc-whistleblowing .kbc-route-icon svg,
  .kbc-whistleblowing .kbc-external-icon svg {
    width: 22px;
    height: 22px;
  }

  .kbc-whistleblowing .kbc-card h3 {
    margin-bottom: 9px;
    color: var(--kbc-purple-dark);
    font-size: 1.03rem;
    line-height: 1.3;
  }

  .kbc-whistleblowing .kbc-card p {
    margin-bottom: 0;
    color: var(--kbc-muted);
    font-size: 0.9rem;
  }

  .kbc-whistleblowing .kbc-route-elsewhere {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
    margin-top: 28px;
  }

  .kbc-whistleblowing .kbc-route-elsewhere-item {
    padding: 18px 20px;
    border-left: 4px solid #cab4ec;
    border-radius: 10px;
    background: var(--kbc-white);
    box-shadow: 0 8px 22px rgba(37, 19, 64, 0.05);
  }

  .kbc-whistleblowing .kbc-route-elsewhere-item strong {
    display: block;
    margin-bottom: 4px;
    color: var(--kbc-purple-dark);
  }

  .kbc-whistleblowing .kbc-route-elsewhere-item span {
    color: var(--kbc-muted);
    font-size: 0.91rem;
  }

  .kbc-whistleblowing .kbc-route-elsewhere-item a {
    color: var(--kbc-purple);
    font-weight: 760;
  }

  .kbc-whistleblowing .kbc-route-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }

  .kbc-whistleblowing .kbc-route-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 27px;
    overflow: hidden;
  }

  .kbc-whistleblowing .kbc-route-card--primary {
    border-color: #bda6e6;
    background: linear-gradient(150deg, #ffffff 0%, #f4effd 100%);
  }

  .kbc-whistleblowing .kbc-route-card--primary::before {
    content: "Primary confidential route";
    position: absolute;
    top: 18px;
    right: -45px;
    width: 190px;
    padding: 6px 0;
    transform: rotate(35deg);
    background: var(--kbc-gold-bright);
    color: #2b1a35;
    font-size: 0.68rem;
    font-weight: 900;
    text-align: center;
    text-transform: uppercase;
  }

  .kbc-whistleblowing .kbc-route-card h3 {
    margin-bottom: 8px;
    color: var(--kbc-purple-dark);
    font-size: 1.22rem;
    line-height: 1.28;
  }

  .kbc-whistleblowing .kbc-route-card p {
    margin-bottom: 13px;
    color: var(--kbc-muted);
  }

  .kbc-whistleblowing .kbc-route-card .kbc-contact {
    display: inline-block;
    margin: 1px 0 13px;
    color: var(--kbc-purple);
    font-size: 1rem;
    font-weight: 850;
    overflow-wrap: anywhere;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }

  .kbc-whistleblowing .kbc-route-card address {
    margin: 0 0 16px;
    color: var(--kbc-purple-dark);
    font-style: normal;
    font-weight: 740;
  }

  .kbc-whistleblowing .kbc-route-use {
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid var(--kbc-border);
    color: var(--kbc-muted);
    font-size: 0.88rem;
  }

  .kbc-whistleblowing .kbc-route-use strong {
    color: var(--kbc-purple-dark);
  }

  .kbc-whistleblowing .kbc-small-note {
    margin: 20px 0 0;
    color: var(--kbc-muted);
    font-size: 0.91rem;
  }

  .kbc-whistleblowing .kbc-small-note strong {
    color: var(--kbc-purple-dark);
  }

  .kbc-whistleblowing .kbc-split {
    display: grid;
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
    gap: clamp(32px, 6vw, 78px);
    align-items: start;
  }

  .kbc-whistleblowing .kbc-sticky-copy {
    position: sticky;
    top: 30px;
  }

  .kbc-whistleblowing .kbc-disclosure-list {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: disclosure;
  }

  .kbc-whistleblowing .kbc-disclosure-list li {
    position: relative;
    padding: 18px 19px 18px 60px;
    border: 1px solid var(--kbc-border);
    border-radius: 14px;
    background: var(--kbc-white);
    box-shadow: 0 8px 20px rgba(37, 19, 64, 0.05);
    counter-increment: disclosure;
  }

  .kbc-whistleblowing .kbc-disclosure-list li::before {
    content: counter(disclosure);
    position: absolute;
    top: 17px;
    left: 17px;
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 9px;
    background: #eee7fb;
    color: var(--kbc-purple);
    font-size: 0.84rem;
    font-weight: 900;
  }

  .kbc-whistleblowing .kbc-disclosure-list strong {
    display: block;
    margin-bottom: 2px;
    color: var(--kbc-purple-dark);
  }

  .kbc-whistleblowing .kbc-disclosure-list span {
    color: var(--kbc-muted);
    font-size: 0.91rem;
  }

  .kbc-whistleblowing .kbc-process {
    position: relative;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .kbc-whistleblowing .kbc-process::before {
    content: "";
    position: absolute;
    top: 29px;
    left: 7%;
    right: 7%;
    height: 2px;
    background: linear-gradient(90deg, #d8c8f3, #ba9de9, #d6ad4e);
  }

  .kbc-whistleblowing .kbc-process li {
    position: relative;
    z-index: 1;
    min-width: 0;
    text-align: center;
  }

  .kbc-whistleblowing .kbc-process-number {
    display: grid;
    width: 58px;
    height: 58px;
    margin: 0 auto 14px;
    place-items: center;
    border: 6px solid var(--kbc-soft);
    border-radius: 50%;
    background: var(--kbc-purple);
    color: var(--kbc-white);
    box-shadow: 0 7px 18px rgba(93, 25, 223, 0.2);
    font-weight: 900;
  }

  .kbc-whistleblowing .kbc-process h3 {
    margin-bottom: 7px;
    color: var(--kbc-purple-dark);
    font-size: 0.96rem;
    line-height: 1.25;
  }

  .kbc-whistleblowing .kbc-process p {
    margin: 0;
    color: var(--kbc-muted);
    font-size: 0.82rem;
    line-height: 1.48;
  }

  .kbc-whistleblowing .kbc-time-pill {
    display: inline-block;
    margin-top: 7px;
    padding: 4px 8px;
    border-radius: 999px;
    background: #eee7fb;
    color: var(--kbc-purple);
    font-size: 0.72rem;
    font-weight: 850;
  }

  .kbc-whistleblowing .kbc-protection-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }

  .kbc-whistleblowing .kbc-protection-panel {
    padding: clamp(25px, 4vw, 38px);
    border-radius: 20px;
  }

  .kbc-whistleblowing .kbc-protection-panel--dark {
    color: var(--kbc-white);
    background: linear-gradient(145deg, var(--kbc-purple-deep), var(--kbc-purple-dark));
    box-shadow: var(--kbc-shadow-lg);
  }

  .kbc-whistleblowing .kbc-protection-panel--light {
    border: 1px solid var(--kbc-border);
    background: var(--kbc-white);
    box-shadow: var(--kbc-shadow-sm);
  }

  .kbc-whistleblowing .kbc-protection-panel h3 {
    margin-bottom: 13px;
    font-size: 1.4rem;
    line-height: 1.25;
  }

  .kbc-whistleblowing .kbc-protection-panel--dark h3 {
    color: var(--kbc-white);
  }

  .kbc-whistleblowing .kbc-protection-panel--light h3 {
    color: var(--kbc-purple-dark);
  }

  .kbc-whistleblowing .kbc-protection-panel p {
    margin-bottom: 13px;
  }

  .kbc-whistleblowing .kbc-protection-panel--dark p,
  .kbc-whistleblowing .kbc-protection-panel--dark li {
    color: rgba(255, 255, 255, 0.82);
  }

  .kbc-whistleblowing .kbc-protection-panel--light p,
  .kbc-whistleblowing .kbc-protection-panel--light li {
    color: var(--kbc-muted);
  }

  .kbc-whistleblowing .kbc-dot-list {
    margin: 0;
    padding-left: 20px;
  }

  .kbc-whistleblowing .kbc-dot-list li {
    margin-bottom: 8px;
  }

  .kbc-whistleblowing .kbc-external-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 17px;
  }

  .kbc-whistleblowing .kbc-external-card {
    display: flex;
    flex-direction: column;
    padding: 24px;
  }

  .kbc-whistleblowing .kbc-external-card h3 {
    margin-bottom: 8px;
    color: var(--kbc-purple-dark);
    font-size: 1.08rem;
  }

  .kbc-whistleblowing .kbc-external-card p {
    margin-bottom: 18px;
    color: var(--kbc-muted);
    font-size: 0.9rem;
  }

  .kbc-whistleblowing .kbc-text-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: auto;
    color: var(--kbc-purple);
    font-size: 0.9rem;
    font-weight: 850;
    text-decoration: none;
  }

  .kbc-whistleblowing .kbc-text-link:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
  }

  .kbc-whistleblowing .kbc-regulator-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
  }

  .kbc-whistleblowing .kbc-regulator-links a {
    padding: 8px 12px;
    border: 1px solid var(--kbc-border);
    border-radius: 999px;
    background: var(--kbc-white);
    color: var(--kbc-purple-dark);
    font-size: 0.82rem;
    font-weight: 760;
    text-decoration: none;
  }

  .kbc-whistleblowing .kbc-regulator-links a:hover {
    border-color: #c6afe9;
    color: var(--kbc-purple);
  }

  .kbc-whistleblowing .kbc-accordion {
    display: grid;
    gap: 12px;
  }

  .kbc-whistleblowing details {
    overflow: hidden;
  }

  .kbc-whistleblowing summary {
    position: relative;
    padding: 19px 58px 19px 21px;
    color: var(--kbc-purple-dark);
    font-weight: 850;
    cursor: pointer;
    list-style: none;
  }

  .kbc-whistleblowing summary::-webkit-details-marker {
    display: none;
  }

  .kbc-whistleblowing summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 20px;
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 50%;
    background: #eee7fb;
    color: var(--kbc-purple);
    font-size: 1.2rem;
    line-height: 1;
    transform: translateY(-50%);
  }

  .kbc-whistleblowing details[open] summary::after {
    content: "−";
  }

  .kbc-whistleblowing .kbc-details-body {
    padding: 0 21px 21px;
    color: var(--kbc-muted);
  }

  .kbc-whistleblowing .kbc-details-body p:last-child,
  .kbc-whistleblowing .kbc-details-body ul:last-child {
    margin-bottom: 0;
  }

  .kbc-whistleblowing .kbc-policy-meta {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 32px;
  }

  .kbc-whistleblowing .kbc-meta-item {
    padding: 17px;
    border: 1px solid var(--kbc-border);
    border-radius: 13px;
    background: var(--kbc-white);
  }

  .kbc-whistleblowing .kbc-meta-item span {
    display: block;
    margin-bottom: 4px;
    color: var(--kbc-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .kbc-whistleblowing .kbc-meta-item strong {
    display: block;
    color: var(--kbc-purple-dark);
    font-size: 0.94rem;
    line-height: 1.35;
  }

  .kbc-whistleblowing .kbc-final-cta {
    position: relative;
    overflow: hidden;
    padding: clamp(42px, 7vw, 70px);
    border-radius: 25px;
    color: var(--kbc-white);
    background:
      radial-gradient(circle at 92% 18%, rgba(215, 165, 54, 0.24), transparent 28%),
      linear-gradient(135deg, var(--kbc-purple-deep), #3d1b71 70%, #254c8c);
    box-shadow: var(--kbc-shadow-lg);
  }

  .kbc-whistleblowing .kbc-final-cta::after {
    content: "";
    position: absolute;
    width: 230px;
    height: 230px;
    right: -110px;
    bottom: -130px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
  }

  .kbc-whistleblowing .kbc-final-cta-content {
    position: relative;
    z-index: 1;
    max-width: 820px;
  }

  .kbc-whistleblowing .kbc-final-cta h2 {
    margin-bottom: 13px;
    color: var(--kbc-white);
    font-size: clamp(2rem, 4vw, 3.25rem);
    line-height: 1.08;
    letter-spacing: -0.035em;
  }

  .kbc-whistleblowing .kbc-final-cta p {
    max-width: 720px;
    margin-bottom: 25px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 1.03rem;
  }

  .kbc-whistleblowing .kbc-control-note {
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.16);
    color: rgba(255, 255, 255, 0.66);
    font-size: 0.82rem;
  }

  /* ---------------------------------------------------------
     KBC FONT TREE / TYPOGRAPHY HIERARCHY
     H1-H2: Elementor Primary font
     H3 and accordion headings: Elementor Secondary font
     Body copy: Elementor Text font
     Buttons, labels and navigation: Elementor Accent font
     --------------------------------------------------------- */

  .kbc-whistleblowing h1,
  .kbc-whistleblowing h2 {
    font-family: var(--kbc-font-display), "Segoe UI", Arial, sans-serif;
    font-weight: var(--kbc-weight-display);
  }

  .kbc-whistleblowing h3,
  .kbc-whistleblowing summary {
    font-family: var(--kbc-font-heading), "Segoe UI", Arial, sans-serif;
    font-weight: var(--kbc-weight-heading);
  }

  .kbc-whistleblowing p,
  .kbc-whistleblowing li,
  .kbc-whistleblowing address,
  .kbc-whistleblowing .kbc-details-body,
  .kbc-whistleblowing .kbc-meta-item strong {
    font-family: var(--kbc-font-body), "Segoe UI", Arial, sans-serif;
  }

  .kbc-whistleblowing .kbc-btn,
  .kbc-whistleblowing .kbc-status,
  .kbc-whistleblowing .kbc-eyebrow,
  .kbc-whistleblowing .kbc-kicker,
  .kbc-whistleblowing .kbc-jump-nav a,
  .kbc-whistleblowing .kbc-regulator-links a,
  .kbc-whistleblowing .kbc-text-link,
  .kbc-whistleblowing .kbc-route-card .kbc-contact,
  .kbc-whistleblowing .kbc-time-pill,
  .kbc-whistleblowing .kbc-meta-item span {
    font-family: var(--kbc-font-accent), "Segoe UI", Arial, sans-serif;
    font-weight: var(--kbc-weight-accent);
  }

  /* Keep the hierarchy consistent even when the active font is not variable. */
  .kbc-whistleblowing strong,
  .kbc-whistleblowing b {
    font-weight: 700;
  }

  @media (max-width: 1020px) {
    .kbc-whistleblowing .kbc-card-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .kbc-whistleblowing .kbc-process {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      row-gap: 28px;
    }

    .kbc-whistleblowing .kbc-process::before {
      display: none;
    }

    .kbc-whistleblowing .kbc-external-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .kbc-whistleblowing .kbc-policy-meta {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 800px) {
    .kbc-whistleblowing .kbc-brand-row {
      align-items: flex-start;
      flex-direction: column;
    }

    .kbc-whistleblowing .kbc-hero-grid,
    .kbc-whistleblowing .kbc-intro-grid,
    .kbc-whistleblowing .kbc-split {
      grid-template-columns: 1fr;
    }

    .kbc-whistleblowing .kbc-sticky-copy {
      position: static;
    }

    .kbc-whistleblowing .kbc-emergency {
      grid-template-columns: auto 1fr;
    }

    .kbc-whistleblowing .kbc-emergency .kbc-btn {
      grid-column: 1 / -1;
    }

    .kbc-whistleblowing .kbc-route-grid,
    .kbc-whistleblowing .kbc-protection-grid {
      grid-template-columns: 1fr;
    }
  }

  @media (max-width: 620px) {
    .kbc-whistleblowing .kbc-shell {
      width: min(100% - 28px, 1180px);
    }

    .kbc-whistleblowing .kbc-status {
      white-space: normal;
    }

    .kbc-whistleblowing .kbc-card-grid,
    .kbc-whistleblowing .kbc-route-elsewhere,
    .kbc-whistleblowing .kbc-external-grid,
    .kbc-whistleblowing .kbc-policy-meta,
    .kbc-whistleblowing .kbc-process {
      grid-template-columns: 1fr;
    }

    .kbc-whistleblowing .kbc-process li {
      display: grid;
      grid-template-columns: 48px 1fr;
      column-gap: 14px;
      text-align: left;
    }

    .kbc-whistleblowing .kbc-process-number {
      width: 48px;
      height: 48px;
      margin: 0;
      border-width: 4px;
      grid-row: 1 / span 3;
    }

    .kbc-whistleblowing .kbc-process h3,
    .kbc-whistleblowing .kbc-process p,
    .kbc-whistleblowing .kbc-process .kbc-time-pill {
      grid-column: 2;
    }

    .kbc-whistleblowing .kbc-button-row {
      align-items: stretch;
      flex-direction: column;
    }

    .kbc-whistleblowing .kbc-btn {
      width: 100%;
    }

    .kbc-whistleblowing .kbc-emergency {
      grid-template-columns: 1fr;
      text-align: left;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .kbc-whistleblowing *,
    .kbc-whistleblowing *::before,
    .kbc-whistleblowing *::after {
      scroll-behavior: auto !important;
      transition-duration: 0.001ms !important;
      animation-duration: 0.001ms !important;
      animation-iteration-count: 1 !important;
    }
  }

  @media print {
    .kbc-whistleblowing {
      color: #000;
      background: #fff;
      font-size: 11pt;
    }

    .kbc-whistleblowing .kbc-hero,
    .kbc-whistleblowing .kbc-final-cta,
    .kbc-whistleblowing .kbc-protection-panel--dark {
      color: #000;
      background: #fff;
      box-shadow: none;
    }

    .kbc-whistleblowing .kbc-hero *,
    .kbc-whistleblowing .kbc-final-cta *,
    .kbc-whistleblowing .kbc-protection-panel--dark * {
      color: #000 !important;
    }

    .kbc-whistleblowing .kbc-btn,
    .kbc-whistleblowing .kbc-jump-nav,
    .kbc-whistleblowing .kbc-overlap {
      display: none !important;
    }

    .kbc-whistleblowing .kbc-card,
    .kbc-whistleblowing .kbc-route-card,
    .kbc-whistleblowing .kbc-external-card,
    .kbc-whistleblowing details,
    .kbc-whistleblowing .kbc-definition,
    .kbc-whistleblowing .kbc-scope-card {
      break-inside: avoid;
      box-shadow: none;
    }
  }
