/* KMS home shares the public portal palette; legacy course pages keep their own skin. */

  .kms-home .product-item-3 {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 0;
    overflow: hidden;
  }

  .kms-home .swiper-wrapper {
    align-items: stretch;
  }

  .kms-home .swiper-slide,
  .kms-home .swiper-slide > .col-12 {
    display: flex;
    align-items: stretch;
  }

  .kms-home .swiper-slide .product-item-3 {
    height: auto;
    align-self: flex-start;
  }

  .kms-home .product-item-3 .product-info {
    flex: 0 1 auto;
    padding: 0 20px 10px !important;
  }

  .kms-home .product-item-3 .product-info .box-rating.abs-info {
    position: static;
    width: auto;
  }

  .kms-home .product-item-3 .product-info h3 {
    display: -webkit-box;
    height: 80px;
    min-height: 80px;
    overflow: hidden;
    line-height: 20px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    margin-bottom: 8px;
  }

  .kms-home .product-item-3 .smol-font {
    display: block;
    min-height: 20px;
    font-size: 11px;
    line-height: 18px;
  }

  .kms-home .product-item-3 .product-info .rating.mt-10 {
    margin-top: 0 !important;
  }

  .kms-home .product-item-3 .product-image .location-icon {
    position: absolute;
    left: 10px;
    bottom: 0;
    z-index: 2;
    display: block;
    width: auto;
    max-width: calc(100% - 20px);
    margin-bottom: 10px;
    overflow: hidden;
    padding: 3px 8px 3px 22px;
    border-radius: 5px;
    background-color: rgba(255, 255, 255, 0.92);
    background-image: url('../../kudagang-kms/imgs/page/homepage8/location.svg');
    background-position: 6px center;
    background-repeat: no-repeat;
    background-size: 12px;
    color: #667085;
    font-size: 10px;
    font-weight: 700;
    line-height: 14px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .kms-home .product-item-3 .type-video,
  .kms-home .product-item-3 .type-pdf {
    position: static;
    flex: 0 0 auto;
    width: 100%;
    margin-top: 0;
    padding: 4px 20px;
    font-size: 12px;
    line-height: 18px;
  }

  .kms-home .kms-home-loader-host {
    position: relative;
    display: grid;
    min-width: 0;
    min-height: 240px;
  }

  .kms-home .kms-home-loader-host > .swiper-container {
    grid-area: 1 / 1;
    min-width: 0;
    width: 100%;
  }

  .kms-home .kms-home-loader-host:not(.is-ready) .swiper-container {
    visibility: hidden;
  }

  .kms-home-loader {
    position: relative;
    grid-area: 1 / 1;
    z-index: 5;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    min-height: 220px;
    min-width: 0;
    overflow: hidden;
    background: rgba(246, 248, 253, 0.94);
    transition: opacity 0.25s ease, visibility 0.25s ease;
  }

  .kms-home-loader.is-hidden {
    display: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  .kms-home-loader-content {
    color: #1830a3;
    text-align: center;
    font-family: "Noto Sans", sans-serif;
    font-weight: 700;
  }

  .kms-home-loader-spinner {
    width: 38px;
    height: 38px;
    margin: 0 auto 10px;
    border: 4px solid #dbe3f4;
    border-top-color: #1830a3;
    border-radius: 50%;
    animation: kmsHomeLoaderSpin 0.8s linear infinite;
  }

  @keyframes kmsHomeLoaderSpin {
    to { transform: rotate(360deg); }
  }

  .kms-home .kms-skeleton-track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 60px) / 4);
    gap: 20px;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    padding: 5px 0;
  }

  .kms-home .kms-skeleton-card {
    min-width: 0;
    overflow: hidden;
    border-radius: 16px;
    background: #fff;
  }

  .kms-home .kms-skeleton-block {
    background: linear-gradient(100deg, #e8edf5 20%, #f7f9fc 40%, #e8edf5 60%);
    background-size: 200% 100%;
    animation: kmsHomeSkeletonShimmer 1.4s ease-in-out infinite;
  }

  .kms-home .kms-skeleton-image {
    height: 180px;
  }

  .kms-home .kms-skeleton-body {
    padding: 16px 20px 10px;
  }

  .kms-home .kms-skeleton-line {
    height: 12px;
    margin-bottom: 10px;
    border-radius: 6px;
  }

  .kms-home .kms-skeleton-line.short { width: 55%; }
  .kms-home .kms-skeleton-line.medium { width: 78%; }
  .kms-home .kms-skeleton-line.long { width: 94%; }

  .kms-home .kms-skeleton-footer {
    height: 30px;
    margin-top: 16px;
  }

  @keyframes kmsHomeSkeletonShimmer {
    to { background-position: -200% 0; }
  }

  @media (max-width: 1149.98px) {
    .kms-home .kms-skeleton-track {
      grid-auto-columns: calc((100% - 40px) / 3);
    }
  }

  @media (max-width: 767.98px) {
    .kms-home .kms-skeleton-body {
      padding: 12px 12px 6px;
    }

    .kms-home .kms-skeleton-image {
      height: 150px;
    }

    .kms-home .kms-skeleton-track {
      grid-auto-columns: calc((100% - 16px) / 2);
      gap: 16px;
    }
  }

  @media (max-width: 479.98px) {
    .kms-home .kms-skeleton-track {
      grid-auto-columns: calc((100% - 2.4px) / 1.15);
    }
  }

body.portal-kms { background: var(--portal-soft); }
html.dark-scheme body.portal-kms { --portal-text: #edf4ff; --portal-muted: #a8b9cc; --portal-surface: #121f30; --portal-soft: #19283b; --portal-border: #2c4059; --portal-primary: #90baff; color-scheme: dark; }
.portal-kms .container { width: 100%; max-width: 1200px; padding-inline: 24px; }
.portal-kms :is(.text-body-lead,.text-body-text,.text-body-text-md,.text-heading-4,.text-semibold,.font-user) { font-family: inherit; }
.portal-kms .header.sticky-bar { padding-block: 14px; background: var(--portal-deep); border-bottom: 1px solid rgb(255 255 255 / 12%); box-shadow: none; }
.portal-kms .header.stick { background: var(--portal-deep); box-shadow: 0 4px 20px rgb(10 35 70 / 6%); }
.portal-kms .header .main-header { min-height: 50px; }
.portal-kms .header .header-left { flex: 1; min-width: 0; }
.portal-kms .header .header-logo { margin-right: 32px; }
.portal-kms .kms-brand { align-items: center; gap: 10px; color: #fff; font-size: 22px; font-weight: 600; letter-spacing: -.05em; white-space: nowrap; }
.portal-kms .kms-brand img.top-logo { width: 36px; height: 40px; object-fit: contain; }
.portal-kms .header .kms-brand > span { display: inline; }
.portal-kms .kms-brand small { display: inline-block; margin-left: 5px; padding: 3px 7px; border: 1px solid rgb(255 255 255 / 25%); border-radius: 6px; color: #d3e2f4; font-size: 9px; font-weight: 500; letter-spacing: .04em; vertical-align: middle; }
.portal-kms .header .main-menu > li { padding-inline: 12px; }
.portal-kms .header .main-menu > li > a { padding-block: 14px; color: #d3e2f4; font-size: 15px; font-weight: 500; }
.portal-kms .header .main-menu > li > a:is(.active,:hover) { color: var(--portal-accent); }
.portal-kms .header .header-right { display: flex; align-items: center; justify-content: flex-end; gap: 12px; width: auto; max-width: none; }
.portal-kms .header .btn-primary { border: 1px solid rgb(255 255 255 / 30%); border-radius: 10px; background: rgb(255 255 255 / 10%); color: #fff; font-size: 12px; box-shadow: none; }
.portal-kms .header .btn-primary:hover { background: #0f4494; }
.portal-kms .header .kms-profile-trigger { background: #084fb9 !important; border-color: #084fb9 !important; border-radius: 10px !important; box-shadow: none; }
.portal-kms .kms-profile-trigger .font-user { gap: 8px; font-size: 12px; font-weight: 500; }
.portal-kms .kms-profile-trigger .image-profil { width: 28px; height: 28px; margin: 0; object-fit: cover; }
.portal-kms .header .dropdown-menu { border: 1px solid var(--portal-border) !important; border-radius: 14px; background: var(--portal-surface); box-shadow: 0 12px 36px rgb(15 68 148 / 12%); }
.portal-kms .header .dropdown-item { color: var(--portal-text); font-size: 12px; }
.portal-kms .header .dropdown-item:hover { background: var(--portal-soft); color: var(--portal-primary); }
.portal-kms .burger-icon > span { background-color: #fff; }
.portal-kms .main { padding-top: 0; }
.portal-kms .kms-hero { position: relative; isolation: isolate; overflow: hidden; padding: 64px 0; color: #fff; background: radial-gradient(ellipse at 85% 20%,#2364ad 0,transparent 55%),linear-gradient(135deg,#103c80,#0f4494 60%,#0d3878); }
.kms-hero::before { content: ''; position: absolute; z-index: -1; top: -240px; right: -100px; width: 620px; height: 620px; border: 1px solid rgb(255 255 255 / 10%); border-radius: 50%; box-shadow: 0 0 0 60px rgb(255 255 255 / 3%),0 0 0 120px rgb(255 255 255 / 2%); pointer-events: none; }
.kms-hero-grid { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(0,1fr); gap: 64px; align-items: center; }
.kms-kicker { display: inline-flex; align-items: center; gap: 8px; padding: 6px 11px; border: 1px solid rgb(188 254 90 / 30%); border-radius: 999px; background: rgb(188 254 90 / 8%); color: var(--portal-accent); font-size: 10px; font-weight: 500; letter-spacing: .08em; }
.kms-kicker::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.portal-kms .kms-hero h1 { margin: 22px 0 8px; color: #fff; font-size: clamp(22px,1.8vw,30px); font-weight: 600; line-height: 1.25; letter-spacing: -.045em; }
.kms-hero h1 span { color: var(--portal-accent); }
.portal-kms .kms-hero-intro > p { max-width: 510px; margin: 0 0 28px; color: #d3e2f4; font-size: 14px; line-height: 1.9; }
.portal-kms .form-newsletter-2 { width: 100%; padding: 7px !important; border: 1px solid rgb(255 255 255 / 40%); border-radius: 14px; background: #fff; box-shadow: 0 8px 24px rgb(0 20 60 / 12%); z-index: auto; }
.portal-kms .form-newsletter-2 form { display: flex; align-items: center; gap: 8px; }
.kms-search-icon { margin-left: 8px; color: #526777; font-size: 23px; }
.portal-kms .form-newsletter-2 .input-newsletter { flex: 1; min-width: 0; width: auto; padding: 12px 4px; background: #fff; color: #273b4a; font-size: 12px; outline-offset: 0; }
.portal-kms .form-newsletter-2 .input-newsletter::placeholder { color: #697d8d; }
.portal-kms .form-newsletter-2 .btn-newsletter { position: static; display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0; height: auto; margin: 0; padding: 12px 18px; border: 0; border-radius: 10px; background: var(--portal-accent); color: #183a24; font-size: 12px; font-weight: 600; }
.portal-kms .header .burger-icon { padding: 0; border: 0; background: transparent; }
.portal-kms .header .header-right > a { flex-shrink: 0; }
.portal-kms .header .header-right > a .btn { white-space: nowrap; }
.portal-kms .form-newsletter-2 .btn-newsletter:hover { background: #a8ea49; }
.kms-hero-links { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 18px; }
.kms-hero-links a { display: inline-flex; align-items: center; gap: 7px; color: #d3e2f4; font-size: 11px; }
.kms-hero-links a:hover { color: var(--portal-accent); }
.kms-hero-aside { padding: 28px; border: 1px solid rgb(255 255 255 / 18%); border-radius: 22px; background: rgb(255 255 255 / 6%); }
.kms-aside-eyebrow { color: var(--portal-accent); font-size: 9px; letter-spacing: .1em; }
.portal-kms .kms-hero-aside h2 { margin: 14px 0 10px; color: #fff; font-size: 26px; font-weight: 500; line-height: 1.4; letter-spacing: -.035em; }
.portal-kms .kms-hero-aside > p { margin: 0 0 22px; color: #d3e2f4; font-size: 11px; line-height: 1.8; }
.kms-discovery-list { display: grid; gap: 10px; }
.kms-discovery-list a { display: grid; grid-template-columns: 32px minmax(0,1fr) 16px; gap: 10px; align-items: center; padding-top: 12px; border-top: 1px solid rgb(255 255 255 / 13%); color: #fff; }
.kms-discovery-list a > i:first-child { display: grid; place-items: center; width: 32px; height: 36px; border-radius: 9px; background: rgb(255 255 255 / 8%); color: var(--portal-accent); font-size: 22px; }
.kms-discovery-list strong { display: block; color: #fff; font-size: 12px; font-weight: 500; line-height: 1.6; }
.kms-discovery-list small { display: block; margin-top: 2px; color: #c4d6ee; font-size: 10px; }
.kms-discovery-list a:hover > i:last-child { color: var(--portal-accent); }
.kms-topics { padding: 38px 0; border-bottom: 1px solid var(--portal-border); background: var(--portal-surface); }
.kms-section-kicker { display: inline-block; margin-bottom: 10px; color: var(--portal-primary); font-size: 9px; font-weight: 600; letter-spacing: .1em; }
.portal-kms :is(.kms-category-heading,.kms-section-heading) h2 { margin: 0 0 8px; padding: 0; color: var(--portal-text); font-size: clamp(20px,2.4vw,26px); font-weight: 600; line-height: 1.4; letter-spacing: -.035em; }
.portal-kms :is(.kms-category-heading,.kms-section-heading) p { margin: 0; padding: 0; color: var(--portal-muted); font-size: 12px; line-height: 1.8; }
.kms-topic-list { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.kms-topic { position: relative; min-width: 0; }
.kms-topic summary { display: flex; align-items: center; gap: 12px; padding: 10px 14px; border: 1px solid var(--portal-border); border-radius: 10px; background: var(--portal-soft); color: var(--portal-text); font-size: 11px; font-weight: 500; list-style: none; cursor: pointer; }
.kms-topic summary::-webkit-details-marker { display: none; }
.kms-topic summary { transition: border-color .18s ease, color .18s ease, box-shadow .18s ease; }
.kms-topic summary i { transition: transform .18s ease; }
.kms-topic summary:hover, .kms-topic[open] summary { border-color: var(--portal-primary); color: var(--portal-primary); box-shadow: 0 4px 14px rgb(15 68 148 / 8%); }
.kms-topic summary:focus-visible { outline: 2px solid var(--portal-primary); outline-offset: 3px; }
.kms-topic[open] summary i { transform: rotate(180deg); }
.kms-topic-dropdown { position: absolute; top: calc(100% + 8px); left: 0; z-index: 20; width: 340px; max-width: calc(100vw - 48px); max-height: 360px; overflow-y: auto; padding: 10px; border: 1px solid var(--portal-border); border-radius: 16px; background: var(--portal-surface); box-shadow: 0 16px 40px rgb(15 68 148 / 14%); }
.kms-topic-dropdown a { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px; border: 1px solid transparent; border-radius: 10px; color: var(--portal-text); font-size: 11px; line-height: 1.65; transition: background-color .18s ease, color .18s ease, border-color .18s ease; }
.kms-topic-dropdown a > span { min-width: 0; }
.kms-topic-dropdown a:hover, .kms-topic-dropdown a:focus-visible { background: var(--portal-soft); border-color: var(--portal-border); color: var(--portal-primary); }
.kms-topic-dropdown a:focus-visible { outline: 2px solid var(--portal-primary); outline-offset: -2px; }
.kms-topic-dropdown small { flex-shrink: 0; padding: 4px 9px; border: 1px solid var(--portal-border); border-radius: 999px; background: var(--portal-soft); color: var(--portal-muted); font-size: 9px; font-weight: 500; line-height: 1.5; white-space: nowrap; transition: background-color .18s ease, color .18s ease, border-color .18s ease; }
.kms-topic-dropdown a:hover small, .kms-topic-dropdown a:focus-visible small { background: var(--portal-primary); border-color: var(--portal-primary); color: var(--portal-surface); }
.kms-topic-dropdown .kms-topic-all { margin-bottom: 6px; padding-bottom: 14px; border-bottom-color: var(--portal-border); border-radius: 10px 10px 0 0; color: var(--portal-primary); font-weight: 600; }
.kms-topic-empty { color: var(--portal-muted); font-size: 12px; }
.kms-link-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 11px 16px; border: 1px solid #084fb9; border-radius: 10px; background: #084fb9; color: #fff; font-size: 11px; font-weight: 500; }
.kms-link-button:hover { background: #0f4494; color: #fff; }
.kms-insight-slider { min-width: 0; }
.kms-insight-preview { display: block; overflow: hidden; border: 1px solid var(--portal-border); border-radius: 16px; color: var(--portal-text); }
.kms-insight-preview img { display: block; width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.kms-insight-caption { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 16px; background: var(--portal-soft); }
.kms-insight-caption strong { color: var(--portal-text); font-size: 12px; font-weight: 500; line-height: 1.7; }
.kms-insight-caption i { color: var(--portal-primary); font-size: 20px; }
.kms-insight-controls { display: flex; justify-content: flex-end; gap: 8px; margin-top: 12px; }
.portal-kms .kms-insight-controls .swiper-button-prev,
.portal-kms .kms-insight-controls .swiper-button-next { position: static; margin: 0; }
.portal-kms .kms-knowledge-section { padding-block: 38px 8px; scroll-margin-top: 110px; }
.kms-section-action { display: flex; align-items: flex-end; justify-content: flex-end; padding-bottom: 5px; }
.kms-section-action a { display: inline-flex; align-items: center; gap: 8px; color: var(--portal-primary); font-size: 11px; font-weight: 500; }
.portal-kms .box-swiper { padding: 0; }
.portal-kms .kms-home .swiper-slide .product-item-3 { align-self: stretch; height: 100%; }
.portal-kms .kms-home .product-item-3 { border: 1px solid var(--portal-border); border-radius: 16px; background: var(--portal-surface); box-shadow: 0 4px 16px rgb(15 68 148 / 4%); transition: border-color .2s ease,box-shadow .2s ease; }
.portal-kms .kms-home .product-item-3.wow { visibility: visible !important; animation: none; }
.portal-kms .kms-home .product-item-3 { margin-bottom: 0; }
.portal-kms .kms-home .product-item-3:hover { transform: none; border-color: var(--portal-primary); box-shadow: 0 8px 24px rgb(15 68 148 / 10%); }
.portal-kms .product-item-3 .product-image { position: relative; float: none; margin: 0; padding: 0; overflow: hidden; }
.portal-kms .product-item-3 .product-image img { display: block; width: 100%; max-width: 100%; min-height: 0; max-height: none; height: auto; border-radius: 0; aspect-ratio: 16/10; object-fit: cover; }
.portal-kms .kms-home .product-item-3 .product-info { flex: 1; padding: 16px !important; }
.portal-kms .kms-home .product-item-3 .product-info h3 { height: 66px; min-height: 66px; margin: 0 0 12px; color: var(--portal-text); font-size: 13px; font-weight: 600; line-height: 22px; -webkit-line-clamp: 3; }
.portal-kms .kms-home .product-item-3 .smol-font { min-height: 32px; margin-bottom: 6px; color: var(--portal-muted); font-size: 10px; line-height: 16px; }
.portal-kms .product-item-3 .infopd { color: var(--portal-muted); font-family: inherit; }
.portal-kms .product-item-3 :is(.rating,.box-rating) { position: static; }
.portal-kms .kms-home .product-item-3 .product-image .location-icon { bottom: 10px; left: 10px; margin: 0; padding: 5px 9px; border: 1px solid rgb(255 255 255 / 60%); border-radius: 7px; background: rgb(255 255 255 / 95%); color: #273b4a; font-size: 9px; font-weight: 500; line-height: 15px; }
.portal-kms .product-item-3 .cat-stats { top: 10px; right: 10px; left: auto; width: auto; }
.portal-kms .product-item-3 .cat-stats span { border-radius: 6px; background: #103c80; color: #fff; font-size: 9px; }
.portal-kms .kms-home .product-item-3 :is(.type-video,.type-pdf) { margin-top: auto; padding: 8px 16px; border-top: 1px solid var(--portal-border); color: #fff; font-size: 10px; line-height: 18px; }
.portal-kms .kms-home .product-item-3 .type-video { background: #59935b; }
.portal-kms .kms-home .product-item-3 .type-pdf { background: #c0392b; }
.portal-kms .swiper-button-next,
.portal-kms .swiper-button-prev { width: 36px; height: 36px; border: 1px solid var(--portal-border); border-radius: 50%; background: var(--portal-surface); box-shadow: 0 2px 8px rgb(15 68 148 / 6%); color: var(--portal-primary); }
.portal-kms .swiper-button-next:hover,
.portal-kms .swiper-button-prev:hover { border-color: var(--portal-primary); background: var(--portal-soft); }
.portal-kms .swiper-button-next::after { content: '→'; }
.portal-kms .swiper-button-prev::after { content: '←'; }
.portal-kms .swiper-button-next::after,
.portal-kms .swiper-button-prev::after { display: block; color: var(--portal-primary); font-family: inherit; font-size: 19px; line-height: 1; }
.portal-kms .box-swiper > .swiper-button-next,
.portal-kms .box-swiper > .swiper-button-prev { top: -38px; bottom: auto; margin: 0; }
.portal-kms .box-swiper > .swiper-button-next { right: 0; left: auto; }
.portal-kms .box-swiper > .swiper-button-prev { right: 44px; left: auto; }
.portal-kms .kms-section-heading { padding-right: 100px; }
.portal-kms .kms-section-action { padding-right: 108px; }
/* Keep collection copy and navigation in one responsive header. */
.portal-kms .kms-collection-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding-bottom: 20px; border-bottom: 1px solid var(--portal-border); }
.portal-kms .kms-collection-header .kms-section-heading { flex: 1; min-width: 0; max-width: none; padding: 0; }
.portal-kms .kms-collection-header .kms-section-kicker { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 12px; padding: 5px 10px; border: 1px solid var(--portal-border); border-radius: 6px; background: var(--portal-surface); font-size: 9px; line-height: 1.5; letter-spacing: .08em; }
.portal-kms .kms-collection-header .kms-section-kicker i { font-size: 11px; letter-spacing: 0; }
.portal-kms .kms-collection-header h2 { margin-bottom: 8px; font-size: clamp(22px,2.4vw,28px); line-height: 1.3; }
.portal-kms .kms-collection-header p { max-width: 540px; line-height: 1.75; }
.portal-kms .kms-collection-actions { display: flex; flex-shrink: 0; align-items: center; gap: 16px; padding-bottom: 2px; }
.portal-kms .kms-collection-link { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 40px; padding: 9px 14px; border: 1px solid var(--portal-border); border-radius: 10px; background: var(--portal-surface); color: var(--portal-primary); font-size: 11px; font-weight: 500; line-height: 1.5; text-decoration: none; transition: border-color .2s ease,background .2s ease; }
.portal-kms .kms-collection-link:hover { border-color: var(--portal-primary); background: var(--portal-soft); }
.portal-kms .kms-collection-link i { font-size: 12px; }
.portal-kms .kms-collection-controls { display: flex; align-items: center; gap: 8px; }
.portal-kms .kms-collection-controls :is(.swiper-button-prev,.swiper-button-next) { position: static; display: inline-flex; flex-shrink: 0; align-items: center; justify-content: center; width: 40px; height: 40px; margin: 0; padding: 0; background-image: none; cursor: pointer; transition: border-color .2s ease,background .2s ease; }
.portal-kms .kms-collection-controls .swiper-button-disabled { opacity: .4; cursor: default; }
.portal-kms .kms-collection-controls .swiper-button-lock { display: none; }
.portal-kms .kms-collection-actions :is(a,button):focus-visible { outline: 2px solid var(--portal-primary); outline-offset: 4px; }
@media (max-width: 991.98px) {
  .portal-kms .kms-collection-header { flex-wrap: wrap; gap: 16px; }
  .portal-kms .kms-collection-header .kms-section-heading { flex-basis: 100%; }
  .portal-kms .kms-collection-actions { width: 100%; justify-content: space-between; padding: 0; }
}
@media (max-width: 480px) {
  .portal-kms .kms-collection-header { padding-bottom: 16px; }
  .portal-kms .kms-collection-link { padding-inline: 10px; font-size: 10px; }
  .portal-kms .kms-collection-actions { gap: 10px; }
}
.portal-kms .swiper-pagination-bullet-active { background: var(--portal-primary); }
.portal-kms .kms-home-loader { background: var(--portal-soft); border-radius: 16px; }
.portal-kms .kms-skeleton-card { border: 1px solid var(--portal-border); background: var(--portal-surface); }
.portal-kms :is(.leader-empty-state,.kms-collection-empty) { display: flex; flex-direction: column; justify-content: center; align-items: center; width: 100%; min-height: 260px; padding: 28px; border: 1px dashed var(--portal-border); border-radius: 16px; background: var(--portal-soft); text-align: center; }
.portal-kms :is(.leader-empty-state,.kms-collection-empty) > i { margin-bottom: 14px; color: var(--portal-primary); font-size: 38px; }
.portal-kms :is(.leader-empty-state,.kms-collection-empty) h3 { margin: 0 0 8px; color: var(--portal-text); font-size: 15px; line-height: 1.6; }
.portal-kms :is(.leader-empty-state,.kms-collection-empty) p { margin: 0; color: var(--portal-muted); font-size: 11px; line-height: 1.8; }
.kms-quote-section { padding: 36px 0 48px; }
.kms-quote { display: grid; grid-template-columns: minmax(0,1fr) 230px; gap: 32px; align-items: center; padding: 36px 44px; border: 1px solid var(--portal-border); border-radius: 22px; background: linear-gradient(135deg,rgb(44 193 194 / 7%),rgb(188 254 90 / 12%)),var(--portal-surface); }
.portal-kms .kms-quote h2 { margin: 4px 0 12px; color: var(--portal-text); font-size: clamp(23px,3vw,34px); font-weight: 500; line-height: 1.4; letter-spacing: -.035em; }
.portal-kms .kms-quote-author { margin-bottom: 20px; color: var(--portal-muted); font-size: 12px; }
.kms-quote-art img { display: block; width: 100%; max-width: 210px; max-height: 230px; margin-inline: auto; object-fit: contain; }
.kms-footer { padding-top: 36px; border-top: 1px solid var(--portal-border); background: var(--portal-surface); }
.kms-footer-main { display: flex; justify-content: space-between; align-items: center; gap: 32px; padding-bottom: 28px; }
.kms-footer-brand { display: flex; align-items: center; gap: 14px; }
.kms-footer-brand img { width: 42px; height: 48px; }
.kms-footer-brand strong { color: var(--portal-text); font-size: 16px; font-weight: 600; }
.kms-footer-brand p { margin: 4px 0 0; color: var(--portal-muted); font-size: 10px; }
.kms-footer-links { display: flex; flex-wrap: wrap; gap: 12px 20px; }
.kms-footer-links a { color: var(--portal-muted); font-size: 12px; }
.kms-footer-links a:hover { color: var(--portal-primary); }
.kms-footer-bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding-block: 18px; border-top: 1px solid var(--portal-border); }
.kms-footer-bottom p { margin: 0; color: var(--portal-muted); font-size: 10px; }
.kms-footer-bottom a { display: inline-flex; align-items: center; gap: 6px; color: var(--portal-primary); font-size: 10px; }
.kms-footer-bottom .kms-footer-instagram { gap: 8px; max-width: 100%; padding: 5px 10px 5px 5px; border: 1px solid var(--portal-border); border-radius: 10px; background: var(--portal-soft); color: var(--portal-text); text-decoration: none; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.kms-footer-instagram-icon { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 28px; height: 28px; border-radius: 8px; background: linear-gradient(135deg,#818996,#526777 50%,#536878); color: #fff; font-size: 17px; }
.kms-footer-instagram-copy { display: flex; flex-direction: column; gap: 0; line-height: 1.4; }
.kms-footer-instagram-copy strong { color: var(--portal-text); font-size: 10px; font-weight: 600; }
.kms-footer-instagram-copy > span { color: var(--portal-muted); font-size: 9px; }
.kms-footer-instagram-arrow { margin-left: 4px; color: var(--portal-muted); font-size: 10px; transition: color .2s ease, transform .2s ease; }
.kms-footer-bottom .kms-footer-instagram:is(:hover,:focus-visible) { border-color: #c52c80; box-shadow: 0 5px 16px rgb(197 44 128 / 12%); transform: translateY(-2px); }
.kms-footer-instagram:is(:hover,:focus-visible) .kms-footer-instagram-arrow { color: #c52c80; transform: translate(1px,-1px); }
@media (prefers-reduced-motion: reduce) {
  .kms-topic summary, .kms-topic summary i, .kms-topic-dropdown a, .kms-topic-dropdown small { transition: none; }
  .kms-footer-bottom .kms-footer-instagram, .kms-footer-instagram-arrow { transition: none; }
  .kms-footer-bottom .kms-footer-instagram:is(:hover,:focus-visible), .kms-footer-instagram:is(:hover,:focus-visible) .kms-footer-instagram-arrow { transform: none; }
}
html.dark-scheme .portal-kms .kms-hero { background: radial-gradient(ellipse at 85% 20%,#1b365a 0,transparent 55%),linear-gradient(135deg,#101c2d,#132640 60%,#0e1c30); }
html.dark-scheme .portal-kms .kms-skeleton-block { background-image: linear-gradient(100deg,#24364d 20%,#30445e 40%,#24364d 60%); }
.portal-kms .mobile-header-wrapper-style .mobile-header-wrapper-inner { background: var(--portal-surface); }
.portal-kms .mobile-header-wrapper-style .mobile-menu-close { padding: 0; color: var(--portal-muted); }
.portal-kms .kms-mobile-brand { color: var(--portal-primary); font-size: 18px; font-weight: 600; }
.portal-kms .mobile-header-wrapper-style :is(.mobile-header-top,.mobile-header-border,.mobile-account) { border-color: var(--portal-border) !important; }
.portal-kms .mobile-header-wrapper-style :is(.user-account .user-name,.mobile-account h6,.mobile-progress-card h5) { color: var(--portal-text); font-weight: 500; }
.portal-kms .mobile-header-wrapper-style .mobile-header-content-area .mobile-menu-wrap nav .mobile-menu li a { color: var(--portal-text); font-size: 14px; font-weight: 500; }
.portal-kms .mobile-header-wrapper-style .mobile-progress-card { background: var(--portal-soft); }
.portal-kms .mobile-header-wrapper-style .mobile-progress-card p { color: var(--portal-muted); }
@media (max-width: 1199px) {
  .portal-kms .header .header-right { padding-right: 42px; }
  .portal-kms .header .main-header .header-right .burger-icon { position: relative; top: auto; right: auto; flex-shrink: 0; margin: 0; }
  .kms-hero-grid { gap: 32px; }
  .kms-hero-aside { padding: 24px; }
}
@media (max-width: 991px) {
  .kms-hero-grid { grid-template-columns: minmax(0,1fr); gap: 32px; }
  .portal-kms .kms-hero { padding-block: 44px; }
  .kms-hero-aside { display: none; }
  .kms-footer-main { align-items: flex-start; flex-direction: column; gap: 24px; }
}
@media (max-width: 767px) {
  .portal-kms .container { padding-inline: 18px; }
  .portal-kms .header.sticky-bar { padding-block: 10px; }
  .portal-kms .header .main-header .header-right { display: flex; gap: 8px; padding-right: 0; }
  .portal-kms .header .header-right .theme-switch { min-height: 36px; padding: 5px 7px; }
  .portal-kms .header .theme-switch > svg,
  .portal-kms .header .theme-switch-label { display: none; }
  .portal-kms .header .header-left .header-logo { margin: 0; }
  .portal-kms .kms-brand { gap: 7px; font-size: 18px; }
  .portal-kms .kms-brand small { display: none; }
  .portal-kms .header .main-header .header-left .header-logo .top-logo { width: 28px; height: 34px; }
  .portal-kms .kms-profile-trigger { width: auto; max-width: 150px; }
  .portal-kms .kms-profile-trigger .font-user { grid-template-columns: 24px minmax(0,1fr) 12px; font-size: 11px; }
  .portal-kms .header .main-header .header-right .burger-icon { flex-shrink: 0; margin-left: 4px; }
  .kms-topics { padding-block: 28px; }
  .kms-topic { max-width: 100%; }
  .kms-topic summary { padding: 9px 12px; }
  .kms-topic-dropdown { position: static; width: 100%; max-width: 100%; margin-top: 8px; box-shadow: none; }
  .kms-topic[open] { flex-basis: 100%; }
  .portal-kms .kms-knowledge-section { padding-top: 28px; }
  .portal-kms .kms-section-action { justify-content: flex-start; margin-top: 12px; padding-right: 12px; }
  .portal-kms .kms-section-heading { flex-basis: 100%; max-width: 100%; }
  .portal-kms .kms-home .product-item-3 .product-info { padding: 12px !important; }
  .portal-kms .kms-home .product-item-3 .product-info h3 { font-size: 12px; line-height: 20px; height: 60px; min-height: 60px; }
  .kms-quote { grid-template-columns: minmax(0,1fr) 120px; gap: 16px; padding: 24px; }
  .kms-quote-art img { max-width: 120px; max-height: 160px; }
}
@media (max-width: 480px) {
  .portal-kms .header .kms-brand > span { display: none; }
  .portal-kms .header .header-left { flex: 0 0 auto; }
  .portal-kms .kms-hero { padding-block: 34px; }
  .portal-kms .kms-hero h1 { font-size: 33px; }
  .portal-kms .kms-hero-intro > p { font-size: 12px; }
  .portal-kms .form-newsletter-2 .input-newsletter { font-size: 11px; }
  .portal-kms .form-newsletter-2 .btn-newsletter { padding: 12px; }
  .portal-kms .form-newsletter-2 .btn-newsletter i { display: none; }
  .kms-hero-links { gap: 12px; flex-direction: column; }
  .kms-quote { grid-template-columns: minmax(0,1fr); }

}
@media (prefers-reduced-motion: reduce) {
  .portal-kms :is(.kms-skeleton-block,.kms-home-loader-spinner) { animation: none; }
  .portal-kms :is(.product-item-3,.kms-home-loader) { transition: none; }

}

/* Keep Trady visible at every screen size, including reduced-motion mode. */
.kms-hero-mascots { position: relative; min-width: 0; width: 100%; max-width: 380px; height: 300px; margin-inline: auto; }
.kms-mascot-halo { position: absolute; inset: 12px 22px; border: 1px solid rgb(255 255 255 / 18%); border-radius: 50%; background: radial-gradient(circle,rgb(188 254 90 / 24%),rgb(44 193 194 / 12%) 65%,transparent); }
.kms-hero-mascots img { position: absolute; object-fit: contain; filter: drop-shadow(0 12px 16px rgb(5 26 61 / 20%)); }
.kms-mascot-main { width: 72%; height: 92%; top: 0; right: 0; transform: rotate(6deg); }
.kms-mascot-companion { width: 48%; height: 66%; bottom: 0; left: 0; transform: rotate(-8deg); }
.kms-quote-art { position: relative; height: 230px; }
.kms-quote-art .kms-quote-mascot-main { position: absolute; right: 0; top: 0; width: 76%; height: 100%; }
.kms-quote-art .kms-quote-mascot-companion { position: absolute; bottom: 0; left: -12px; width: 58%; height: 68%; }
@media (min-width: 768px) and (max-width: 991px) {
  .kms-hero-grid { grid-template-columns: minmax(0,1.45fr) minmax(0,1fr); gap: 24px; }
  .kms-hero-mascots { height: 250px; }
}
@media (max-width: 767px) {
  .kms-hero-grid { gap: 22px; }
  .kms-hero-mascots { max-width: 270px; height: 210px; }
  .kms-quote-art { height: 160px; }
}
@media (max-width: 480px) {
  .kms-quote-art { width: 200px; height: 180px; margin-inline: auto; }
  .kms-quote-art img { max-width: none; max-height: none; }
}

/* Leader's Insight belongs to the top hero, together with its mascot. */
.kms-hero-visual { min-width: 0; }
.kms-hero-visual .kms-hero-mascots { max-width: 380px; height: 320px; margin: 0 auto; }
.portal-kms .kms-hero .leader-empty-state { min-height: 240px; }
@media (max-width: 767px) {
  .kms-hero-visual .kms-hero-mascots { max-width: 270px; height: 210px; margin: 0 auto; }
}

.kms-hero-intro { min-width: 0; }
.kms-hero-intro .kms-insight-slider { margin-block: 22px 24px; }

/* Shared portal navigation surface and scroll appearance. */
/* Keep the header in document flow so scrolling never changes the page height. */
.portal-kms .header.sticky-bar { position: sticky; top: 0; float: none; z-index: 999; animation: none; transition: transform .2s ease; background: var(--portal-surface); border-bottom: 1px solid var(--portal-border); }
.portal-kms .header.sticky-bar.kms-header-hidden { transform: translateY(-100%); }
.portal-kms .header.sticky-bar.stick { background: var(--portal-surface); padding-block: 14px !important; box-shadow: 0 4px 20px rgb(15 68 148 / 7%); backdrop-filter: blur(10px); }
.portal-kms .header .kms-brand { color: var(--portal-primary); }
.portal-kms .header .kms-brand small { border-color: var(--portal-border); color: var(--portal-muted); }
.portal-kms .header .main-menu > li > a { color: var(--portal-text); }
.portal-kms .header .main-menu > li > a:is(.active,:hover) { color: var(--portal-primary); }
.portal-kms .header .btn-primary { background: #084fb9; border-color: #084fb9; color: #fff; box-shadow: 0 3px 10px rgb(8 79 185 / 12%); }
.portal-kms .header .burger-icon > span { background-color: var(--portal-text); }

/* Layered mascots overlap the search field while leaving its controls clear. */
.portal-kms .kms-hero { padding: 32px 0 28px; background: radial-gradient(ellipse at 85% 20%,#2364ad 0,transparent 55%),linear-gradient(135deg,#103c80,#0f4494 60%,#0d3878); }
.portal-kms .kms-hero::before { inset: 0; width: auto; height: auto; border: 0; border-radius: 0; box-shadow: none; background: url('../../kudagang-kms/imgs/page/about/1/doodle.png') center / 800px repeat; mix-blend-mode: screen; opacity: .3; }
.portal-kms .kms-hero::after { content: ''; position: absolute; z-index: -1; top: -180px; right: -100px; width: 520px; height: 520px; border: 1px solid rgb(255 255 255 / 10%); border-radius: 50%; box-shadow: 0 0 0 75px rgb(255 255 255 / 3%); pointer-events: none; }
.kms-hero-header { position: relative; isolation: isolate; margin-bottom: 34px; }
.kms-hero-search { --kms-mascot-width: clamp(225px,30.6vw,261px); --kms-search-button-width: 100px; position: relative; }
.portal-kms .kms-hero h1 { position: relative; z-index: 3; display: flex; align-items: center; justify-content: center; min-height: 70px; margin: 0 0 24px; padding-right: 0; text-shadow: 0 2px 3px rgb(25 65 40 / 20%); text-align: center; font-size: clamp(22px,2.2vw,30px); line-height: 1.4; letter-spacing: -.035em; }
.portal-kms .kms-hero-header .form-newsletter-2 { position: relative; z-index: 1; width: 100%; margin: 0; padding: 8px !important; }
.portal-kms .kms-hero-search .kms-search-icon { display: block; flex-shrink: 0; margin: 0 8px 0 12px; color: #526777; font-size: 26px; }
.portal-kms .kms-hero-search .input-newsletter { margin-right: calc(var(--kms-mascot-width) - 32px); padding-block: 8px; font-size: 14px; }
.portal-kms .kms-hero .btn-newsletter { justify-content: center; width: var(--kms-search-button-width); min-height: 44px; padding: 10px 14px; font-size: 14px; background: #1d32a5; color: #fff; }
.portal-kms .kms-hero .btn-newsletter:hover { background: #152681; }
.kms-hero-decoration { position: absolute; z-index: 2; right: calc(var(--kms-search-button-width) + 20px); bottom: -44px; width: var(--kms-mascot-width); max-width: 100%; margin: 0; pointer-events: none; }
.kms-hero-decoration .kms-hero-mascots { width: 100%; height: auto; aspect-ratio: 13 / 8; margin: 0; }
.kms-hero-decoration .kms-mascot-halo { display: none; }
.kms-hero-decoration .kms-mascot-main { width: 56%; height: 100%; top: -38%; right: 0; transform: none; animation: kmsMascotSideways 4s linear infinite alternate; }
.kms-hero-decoration .kms-mascot-companion { width: 56%; height: 100%; bottom: 0; left: 0; transform: none; animation: kmsMascotVertical 2s linear infinite alternate; }
@keyframes kmsMascotVertical {
  from { transform: translateY(-4px); }
  to { transform: translateY(0); }
}
@keyframes kmsMascotSideways {
  from { transform: translateX(-4px); }
  to { transform: translateX(0); }
}
.portal-kms .kms-hero-grid { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: stretch; gap: 24px; }
.portal-kms .kms-hero .kms-insight-slider { position: relative; margin: 0; padding: 0; overflow: hidden; border: 0; border-radius: 20px; background: transparent; }
.kms-hero .kms-insight-slider .swiper-container { height: 100%; }
.kms-hero .kms-insight-preview { position: relative; flex: 0 0 100%; width: 100%; height: 280px; border: 0; border-radius: 0; }
.kms-hero .kms-insight-preview img { height: 100%; aspect-ratio: auto; }
.kms-hero .kms-insight-caption { position: absolute; inset: auto 0 0; padding: 32px 18px 16px; background: linear-gradient(transparent,rgb(10 29 55 / 85%)); }
.portal-kms .kms-hero .kms-insight-caption :is(strong,i) { color: #fff; }
.kms-hero .kms-insight-caption strong { padding-right: 84px; }
.kms-hero .kms-insight-caption > i { display: none; }
.kms-hero .kms-insight-controls { position: absolute; z-index: 2; right: 12px; bottom: 12px; margin: 0; }
.portal-kms .kms-hero .kms-insight-controls button { display: block !important; width: 32px; height: 32px; background-color: #fff; }
.kms-insight-feature { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); overflow: hidden; border: 0; border-radius: 20px; background: #fff; }
.kms-insight-feature-cover { display: block; min-width: 0; width: 100%; height: 100%; overflow: hidden; }
.kms-insight-feature-cover img { display: block; width: 100%; height: 100%; min-height: 280px; object-fit: cover;object-position: right; }
.kms-insight-feature-copy { display: flex; flex-direction: column; justify-content: center; gap: 18px; padding: 24px; }
.kms-insight-feature-copy:only-child { grid-column: 1 / -1; }
.kms-hero-grid > .kms-insight-feature:only-child { grid-column: 1 / -1; }
.portal-kms .kms-insight-feature h2 { margin: 0; color: #17324d; font-size: 20px; line-height: 1.4; font-weight: 600; }
.portal-kms .kms-insight-feature p { margin: 0; color: #526477; font-size: 12px; line-height: 1.8; }
.kms-insight-feature-copy > a:not(.kms-insight-feature-cover) { display: inline-flex; align-items: center; gap: 8px; color: #084fb9; font-size: 12px; font-weight: 500; }
/* Hero search and insight cards follow the selected portal theme. */
html.dark-scheme .portal-kms .kms-hero .form-newsletter-2 { background: var(--portal-surface); border-color: var(--portal-border); }
html.dark-scheme .portal-kms .kms-hero .input-newsletter { background: transparent; color: var(--portal-text); }
html.dark-scheme .portal-kms .kms-hero .input-newsletter::placeholder { color: var(--portal-muted); }
html.dark-scheme .portal-kms .kms-hero-search .kms-search-icon { color: var(--portal-muted); }
html.dark-scheme .portal-kms .kms-hero .form-newsletter-2:focus-within { border-color: var(--portal-primary); }
html.dark-scheme .portal-kms .kms-insight-feature { background: var(--portal-surface); }
html.dark-scheme .portal-kms .kms-insight-feature h2 { color: var(--portal-text); }
html.dark-scheme .portal-kms .kms-insight-feature p { color: var(--portal-muted); }
html.dark-scheme .portal-kms .kms-insight-feature-copy > a { color: var(--portal-primary); }
html.dark-scheme .portal-kms .kms-insight-feature-copy > a:is(:hover,:focus-visible) { color: var(--portal-accent); }
html.dark-scheme .portal-kms .kms-hero .kms-insight-controls button { background: var(--portal-surface); border-color: var(--portal-border); color: var(--portal-primary); }
html.dark-scheme .portal-kms .kms-hero .kms-insight-controls button:is(:hover,:focus-visible) { background: var(--portal-soft); border-color: var(--portal-primary); }
.portal-kms .kms-hero .leader-empty-state {
  min-height: 280px;
  overflow: hidden;
  border: 0;
  border-radius: 20px;
  clip-path: inset(0 round 20px);
}
.portal-kms .kms-topics { padding: 22px 0; }
.kms-topics .kms-topic-list { margin-top: 0; }
@media (min-width: 768px) and (max-width: 991px) {
  .portal-kms .kms-hero-grid { gap: 16px; }
  .kms-insight-feature { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); }
  .kms-insight-feature-copy { padding: 18px; gap: 12px; }
  .portal-kms .kms-insight-feature h2 { font-size: 18px; }
}
@media (max-width: 767px) {
  .portal-kms .header.sticky-bar.stick { padding-block: 10px !important; }
  .portal-kms .kms-hero { padding: 24px 0; }
  .portal-kms .kms-hero h1 { min-height: 0; margin: 0 0 16px; padding-right: 0; text-align: center; font-size: 22px; }
  .kms-hero-search { --kms-search-button-width: 84px; padding-top: 67px; }
  .kms-hero-decoration { top: 0; right: 12px; bottom: auto; width: 101px; margin: 0; }
  .kms-hero-decoration .kms-hero-mascots { height: 70px; }
  .kms-hero-decoration .kms-mascot-main { top: 0; }
  .portal-kms .kms-hero-search .input-newsletter { margin-right: 0; font-size: 12px; }
  .portal-kms .kms-hero .btn-newsletter { min-height: 44px; padding-inline: 12px; font-size: 12px; }
  .portal-kms .kms-hero-header .form-newsletter-2 { width: 100%; }
  .portal-kms .kms-hero-grid { grid-template-columns: minmax(0,1fr); gap: 14px; }
  .kms-hero-header { margin-bottom: 18px; }
  .kms-hero .kms-insight-preview { height: auto; aspect-ratio: 16/9; }
  .kms-insight-feature { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .kms-insight-feature-cover img { min-height: 200px; }
  .kms-insight-feature-copy { min-width: 0; padding: 16px 12px; gap: 8px; }
  .portal-kms .kms-insight-feature h2 { font-size: 18px; }
  .portal-kms .kms-insight-feature p { font-size: 11px; }
  .portal-kms .kms-topics { padding-block: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .kms-hero-decoration :is(.kms-mascot-main,.kms-mascot-companion) { animation: none; }
}

/* A growing plant accompanies the closing invitation to learn. */
.portal-kms .kms-quote { position: relative; isolation: isolate; overflow: hidden; grid-template-columns: minmax(0,1fr) 360px; gap: 36px; padding: 40px 44px; border-radius: 28px; background: radial-gradient(ellipse at 100% 100%,rgb(188 254 90 / 22%),transparent 65%),linear-gradient(120deg,rgb(44 193 194 / 8%),rgb(188 254 90 / 6%)),var(--portal-surface); box-shadow: 0 12px 32px rgb(15 68 148 / 5%); }
.portal-kms .kms-quote::before { content: ''; position: absolute; z-index: -1; inset: 0; background: url('../../kudagang-kms/imgs/page/about/1/doodle.png') right center / 600px repeat; opacity: .035; pointer-events: none; }
.kms-quote-copy { position: relative; z-index: 1; }
.portal-kms .kms-quote .kms-section-kicker { display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; border: 1px solid rgb(45 137 96 / 16%); border-radius: 999px; background: rgb(255 255 255 / 55%); color: #2d7654; font-size: 9px; letter-spacing: .08em; }
.portal-kms .kms-quote h2 { margin: 18px 0 14px; font-weight: 600; }
.portal-kms .kms-quote-author { margin-bottom: 24px; }
.portal-kms .kms-quote .kms-link-button { gap: 14px; padding: 12px 18px; box-shadow: 0 5px 14px rgb(8 79 185 / 14%); }
.portal-kms .kms-quote-art { position: relative; width: 100%; height: 300px; margin: 0; }
.kms-quote-art::before { content: ''; position: absolute; inset: 24px 8px 8px; border: 1px solid rgb(45 137 96 / 12%); border-radius: 50%; background: radial-gradient(circle,rgb(255 255 255 / 80%),rgb(188 254 90 / 10%)); }
.kms-quote-plant { position: absolute; z-index: 1; bottom: -8px; left: 8%; display: block; width: 78%; height: 100%; pointer-events: none; }
.portal-kms .kms-quote-art img { z-index: 2; max-width: none; max-height: none; filter: drop-shadow(0 8px 8px rgb(39 91 71 / 10%)); }
.portal-kms .kms-quote-art .kms-quote-mascot-main { top: 0; right: -4px; width: 46%; height: 64%; transform: rotate(7deg); }
.portal-kms .kms-quote-art .kms-quote-mascot-companion { bottom: 10px; left: -6px; width: 35%; height: 46%; transform: rotate(-8deg); }
html.dark-scheme .portal-kms .kms-quote .kms-section-kicker { background: rgb(188 254 90 / 8%); color: #bcfe5a; border-color: rgb(188 254 90 / 18%); }
html.dark-scheme .portal-kms .kms-quote-art::before { background: radial-gradient(circle,rgb(188 254 90 / 12%),transparent 70%); }
@media (min-width: 768px) and (max-width: 991px) {
  .portal-kms .kms-quote { grid-template-columns: minmax(0,1fr) 260px; gap: 20px; padding: 32px; }
  .portal-kms .kms-quote-art { height: 250px; }
}
@media (max-width: 767px) {
  .portal-kms .kms-quote { grid-template-columns: minmax(0,1fr); gap: 16px; padding: 28px 24px; border-radius: 22px; }
  .portal-kms .kms-quote-art { width: min(100%,300px); height: 250px; margin-inline: auto; }
  .portal-kms .kms-quote .kms-section-kicker { font-size: 8px; }
}

/* KMS mobile drawer: one scroll area and compact, touch-friendly navigation. */
.portal-kms #mobileKmsMenu {
  width: min(380px, calc(100vw - 16px));
  min-height: 0;
  height: 100dvh;
  border-left: 1px solid var(--portal-border);
  background: var(--portal-surface);
  box-shadow: -16px 0 48px rgb(15 40 75 / 14%);
  transform: translateX(100%);
  transition: transform .25s ease, opacity .25s ease, visibility .25s ease;
}
.portal-kms #mobileKmsMenu.sidebar-visible { transform: translateX(0); }
body.portal-kms.mobile-menu-active { overflow: hidden; }
.portal-kms .body-overlay-1 { background: rgb(10 24 43 / 42%); cursor: pointer; }
.portal-kms #mobileKmsMenu .mobile-header-wrapper-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  padding: 0;
  overscroll-behavior-y: contain;
}
.portal-kms #mobileKmsMenu .mobile-header-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 40px;
  flex: 0 0 auto;
  align-items: center;
  align-self: stretch;
  gap: 12px;
  padding: max(20px, env(safe-area-inset-top)) 18px 20px;
  border-bottom: 1px solid var(--portal-border);
  background: linear-gradient(120deg, rgb(44 193 194 / 8%), transparent), var(--portal-surface);
}
.portal-kms #mobileKmsMenu .mobile-header-top > a { display: block; min-width: 0; text-decoration: none; }
.portal-kms #mobileKmsMenu .user-account { display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: center; gap: 12px; }
.portal-kms #mobileKmsMenu .user-account img { width: 44px; height: 44px; max-width: 44px; margin: 0; border: 2px solid var(--portal-surface); border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 1px var(--portal-border); }
.portal-kms #mobileKmsMenu .kms-mobile-greeting { display: block; margin-bottom: 3px; color: var(--portal-muted); font-size: 11px; line-height: 1.5; }
.portal-kms #mobileKmsMenu .user-account .user-name { margin: 0; color: var(--portal-text); font-size: 14px; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.portal-kms #mobileKmsMenu .mobile-menu-close { position: relative; inset: auto; display: grid; place-items: center; width: 40px; height: 40px; margin: 0; border: 1px solid var(--portal-border); border-radius: 12px; background: var(--portal-surface); color: var(--portal-muted); cursor: pointer; }
.portal-kms #mobileKmsMenu .mobile-menu-close::before,
.portal-kms #mobileKmsMenu .mobile-menu-close::after { content: ''; position: absolute; width: 17px; height: 2px; border-radius: 2px; background: currentColor; }
.portal-kms #mobileKmsMenu .mobile-menu-close::before { transform: rotate(45deg); }
.portal-kms #mobileKmsMenu .mobile-menu-close::after { transform: rotate(-45deg); }
.portal-kms #mobileKmsMenu .mobile-menu-close:hover { background: var(--portal-soft); color: var(--portal-primary); }
.portal-kms #mobileKmsMenu .mobile-header-content-area { display: flex; flex: 1 0 auto; padding: 20px 16px max(20px, env(safe-area-inset-bottom)); }
.portal-kms #mobileKmsMenu .perfect-scroll { display: flex; flex-direction: column; gap: 20px; width: 100%; height: auto; min-width: 0; }
.portal-kms #mobileKmsMenu .mobile-header-border { padding: 0; border: 0 !important; }
.portal-kms #mobileKmsMenu .kms-mobile-section-label { margin: 0 0 10px; padding-inline: 12px; color: var(--portal-muted); font-size: 10px; font-weight: 600; line-height: 1.5; letter-spacing: .08em; text-transform: uppercase; }
.portal-kms #mobileKmsMenu .mobile-menu-wrap,
.portal-kms #mobileKmsMenu .mobile-menu-wrap nav { margin: 0; padding: 0; }
.portal-kms #mobileKmsMenu .mobile-menu { display: grid !important; gap: 4px !important; margin: 0 !important; padding: 0 !important; list-style: none; }
.portal-kms #mobileKmsMenu .mobile-menu-wrap nav .mobile-menu li { margin: 0 !important; padding: 0 !important; }
.portal-kms #mobileKmsMenu .mobile-menu-wrap nav .mobile-menu li a { display: flex !important; align-items: center; gap: 10px; width: 100%; min-height: 46px !important; padding: 9px 12px !important; border: 1px solid transparent; border-radius: 12px; color: var(--portal-text); font-family: inherit; font-size: 13px; font-weight: 500; line-height: 1.5; text-transform: none; text-decoration: none; }
.portal-kms #mobileKmsMenu .mobile-menu-wrap nav .mobile-menu li a:is(:hover,.active) { background: var(--portal-soft); color: var(--portal-primary); }
.portal-kms #mobileKmsMenu .mobile-menu-wrap nav .mobile-menu li a.active { border-color: var(--portal-border); font-weight: 600; }
.portal-kms #mobileKmsMenu .mobile-menu-wrap nav .mobile-menu li a span { min-width: 0; overflow-wrap: anywhere; }
.portal-kms #mobileKmsMenu .mobile-menu-wrap nav .mobile-menu li a :is(i,svg) { flex-shrink: 0; margin: 0; color: inherit; }
.portal-kms #mobileKmsMenu .kms-mobile-nav-icon { display: grid; place-items: center; width: 28px; font-size: 21px; }
.portal-kms #mobileKmsMenu .kms-mobile-nav-arrow { margin-left: auto !important; font-size: 12px; opacity: .5; }
.portal-kms #mobileKmsMenu .mobile-account { margin: 0; padding: 0; border: 0; }
.portal-kms #mobileKmsMenu .tableProgressNotif { display: block !important; border-radius: 14px; }
.portal-kms #mobileKmsMenu .kms-progress-heading { padding: 14px 16px 12px; background: var(--portal-soft); }
.portal-kms #mobileKmsMenu .kms-progress-heading > span { font-size: 13px; }
.portal-kms #mobileKmsMenu .kms-progress-heading > small { font-size: 10px; }
.portal-kms #mobileKmsMenu .kms-progress-empty { display: grid; grid-template-columns: 40px minmax(0, 1fr); column-gap: 12px; padding: 16px; text-align: left; }
.portal-kms #mobileKmsMenu .kms-progress-empty-icon { grid-row: 1 / 3; width: 40px; height: 40px; margin: 0; border-radius: 12px; }
.portal-kms #mobileKmsMenu .kms-progress-empty-icon svg { width: 23px; height: 23px; }
.portal-kms #mobileKmsMenu .kms-progress-empty h5 { margin: 0 0 4px; font-size: 13px; line-height: 1.5; }
.portal-kms #mobileKmsMenu .kms-progress-empty p { margin: 0; font-size: 11px; line-height: 1.7; }
.portal-kms #mobileKmsMenu .kms-progress-empty a.kms-progress-cta { grid-column: 1 / -1; min-height: 42px; margin-top: 14px; font-size: 12px; }
.portal-kms #mobileKmsMenu .kms-progress-entry { padding: 4px 6px; }
.portal-kms #mobileKmsMenu .kms-progress-course { grid-template-columns: 44px minmax(0, 1fr); gap: 10px; }
.portal-kms #mobileKmsMenu .kms-progress-thumbnail { width: 44px; height: 44px; }
.portal-kms #mobileKmsMenu .site-copyright { margin-top: auto; padding: 16px 12px 0; border-top: 1px solid var(--portal-border); color: var(--portal-muted) !important; font-size: 10px !important; font-weight: 400; line-height: 1.7; }
.portal-kms #mobileKmsMenu :is(a,button):focus-visible { outline: 2px solid var(--portal-primary); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  .portal-kms #mobileKmsMenu { transition: none; }
}
