:root {
  --ks-navy-950: #071c33;
  --ks-navy-900: #0a294a;
  --ks-navy-800: #123b64;
  --ks-ink: #17233b;
  --ks-muted: #5d6877;
  --ks-gold: #b8862f;
  --ks-gold-light: #e4c581;
  --ks-ivory: #fff;
  --ks-line: #e2e6eb;
  --ks-white: #fff;
  --ks-sidebar-width: 292px;
  --ks-header-height: 86px;
  --ks-radius: 12px;
  --ks-shadow: 0 12px 34px rgba(7, 28, 51, .09);
}

html { scroll-behavior: smooth; }

body.ks-portal {
  color: var(--ks-ink);
  background: #fff;
  font-size: 17px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}

.ks-portal h1,
.ks-portal h2,
.ks-portal h3,
.ks-portal h4 {
  color: var(--ks-ink);
  line-height: 1.18;
  letter-spacing: -.02em;
}

.ks-portal h1 { font-size: clamp(2.7rem, 5vw, 5rem); }
.ks-portal h2 { font-size: clamp(2rem, 3vw, 3rem); }
.ks-portal h3 { font-size: clamp(1.25rem, 1.7vw, 1.55rem); }
.ks-portal p { margin-bottom: 1.15rem; }
.ks-portal a { text-underline-offset: .18em; }

/* Accessible global header and primary navigation. */
.ks-portal #sp-header {
  min-height: var(--ks-header-height);
  height: auto;
  background: var(--ks-navy-950) !important;
  box-shadow: 0 5px 20px rgba(4, 19, 36, .22);
  position: sticky !important;
  top: 0;
  z-index: 1100;
}

.ks-portal #sp-header > .container,
.ks-portal #sp-header > .container-fluid {
  max-width: 1840px;
}

.ks-portal #sp-header .logo {
  display: flex;
  align-items: center;
  min-height: 66px;
  margin: 9px 0;
  padding: 3px 6px;
  border-radius: 0;
  background: transparent;
}

.ks-portal #sp-header .logo-image {
  width: auto !important;
  max-width: min(286px, 22vw);
  height: 62px !important;
  max-height: 62px !important;
  object-fit: contain;
  object-position: left center;
}

.ks-portal .sp-megamenu-parent {
  display: flex;
  align-items: stretch;
  gap: clamp(4px, .65vw, 14px);
}

.ks-portal .sp-megamenu-parent > li > a,
.ks-portal .sp-megamenu-parent > li > span {
  min-height: var(--ks-header-height);
  height: auto !important;
  padding: 0 clamp(7px, .75vw, 14px) !important;
  color: #fff !important;
  font-size: clamp(.92rem, .9vw, 1.08rem) !important;
  font-weight: 750 !important;
  letter-spacing: .035em;
  line-height: 1.25 !important;
  text-transform: uppercase;
  white-space: nowrap;
  display: flex !important;
  align-items: center;
  border-bottom: 4px solid transparent;
}

.ks-portal .sp-megamenu-parent > li.active > a,
.ks-portal .sp-megamenu-parent > li:hover > a,
.ks-portal .sp-megamenu-parent > li:focus-within > a {
  color: #fff !important;
  border-bottom-color: var(--ks-gold-light);
  background: rgba(255, 255, 255, .055);
}

.ks-portal .sp-megamenu-parent .sp-dropdown .sp-dropdown-inner {
  border-top: 3px solid var(--ks-gold);
  border-radius: 0 0 8px 8px;
  box-shadow: var(--ks-shadow);
}

/* Persistent information architecture. */
.ks-sidebar {
  float: left;
  position: sticky;
  top: var(--ks-header-height);
  width: var(--ks-sidebar-width);
  height: calc(100vh - var(--ks-header-height));
  overflow: hidden auto;
  overscroll-behavior: contain;
  color: #fff;
  background: linear-gradient(180deg, var(--ks-navy-900), var(--ks-navy-950));
  border-right: 1px solid rgba(255, 255, 255, .13);
  z-index: 900;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, .34) transparent;
}

.ks-sidebar__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 58px;
  padding: 13px 18px;
  border-bottom: 1px solid rgba(255, 255, 255, .14);
  font-size: 1.05rem;
}

.ks-sidebar-close { display: none; }

.ks-sidebar-search {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 16px;
  padding: 0 13px;
  color: var(--ks-ink);
  background: #fff;
  border: 2px solid transparent;
  border-radius: 8px;
}

.ks-sidebar-search:focus-within {
  border-color: var(--ks-gold-light);
  outline: 3px solid rgba(228, 197, 129, .25);
}

.ks-sidebar-search input {
  width: 100%;
  min-height: 47px;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  font-size: 1rem;
}

.ks-category { border-top: 1px solid rgba(255, 255, 255, .11); }
.ks-category:last-child { border-bottom: 1px solid rgba(255, 255, 255, .11); }

.ks-category summary {
  display: grid;
  grid-template-columns: 25px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  min-height: 54px;
  padding: 10px 14px;
  cursor: pointer;
  color: #fff;
  font-size: .95rem;
  font-weight: 750;
  list-style: none;
  text-transform: uppercase;
}

.ks-category summary::-webkit-details-marker { display: none; }
.ks-category summary:hover,
.ks-category summary:focus-visible { background: rgba(255, 255, 255, .08); }
.ks-category[open] summary { background: rgba(255, 255, 255, .055); }
.ks-category__icon { color: var(--ks-gold-light); text-align: center; }
.ks-category__title { overflow: hidden; text-overflow: ellipsis; }

.ks-category__count,
.ks-category__items small {
  min-width: 34px;
  padding: 3px 7px;
  color: #fff;
  background: rgba(255, 255, 255, .13);
  border-radius: 999px;
  font-size: .75rem;
  font-weight: 700;
  text-align: center;
}

.ks-category__items {
  padding: 5px 10px 12px 38px;
  background: rgba(0, 0, 0, .09);
}

.ks-category__items a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 42px;
  padding: 6px 8px;
  color: rgba(255, 255, 255, .9);
  border-radius: 6px;
  font-size: .91rem;
  text-decoration: none;
}

.ks-category__items a:hover,
.ks-category__items a:focus-visible { color: #fff; background: rgba(255, 255, 255, .09); }
.ks-category__items .ks-category__all { color: var(--ks-gold-light); font-weight: 700; }

.ks-sidebar__all {
  display: grid;
  grid-template-columns: 22px 1fr auto;
  align-items: center;
  gap: 9px;
  margin: 16px;
  min-height: 50px;
  padding: 9px 12px;
  color: #fff;
  border: 2px solid var(--ks-gold);
  border-radius: 8px;
  font-weight: 750;
  text-decoration: none;
  text-transform: uppercase;
}

.ks-sidebar__all:hover { color: #fff; background: rgba(184, 134, 47, .15); }
.ks-sidebar-toggle { display: none; }

/* Keep the blue navigation rail continuous on pages taller than the viewport. */
.ks-portal #sp-main {
  min-height: calc(100vh - var(--ks-header-height));
  background:
    linear-gradient(
      90deg,
      var(--ks-navy-900) 0,
      var(--ks-navy-950) var(--ks-sidebar-width),
      #fff var(--ks-sidebar-width),
      #fff 100%
    );
}

.ks-portal #sp-main-body {
  width: auto;
  min-height: calc(100vh - var(--ks-header-height));
  margin-left: var(--ks-sidebar-width);
  background: #fff;
}

.ks-portal #sp-main-body > .container,
.ks-portal #sp-main-body .sppb-row-container {
  max-width: 1260px;
}

.ks-portal #sp-bottom,
.ks-portal #sp-footer {
  position: relative;
  clear: both;
  z-index: 920;
}
.ks-portal #sp-bottom {
  color: rgba(255, 255, 255, .88) !important;
  background: var(--ks-navy-900) !important;
  border-top: 4px solid var(--ks-gold) !important;
}
.ks-portal #sp-footer {
  color: rgba(255, 255, 255, .78) !important;
  background: var(--ks-navy-950) !important;
  border-top: 1px solid rgba(228, 197, 129, .25) !important;
}
.ks-portal #sp-bottom h1,
.ks-portal #sp-bottom h2,
.ks-portal #sp-bottom h3,
.ks-portal #sp-bottom h4,
.ks-portal #sp-bottom .sp-module-title { color: #fff !important; }
.ks-portal #sp-bottom a,
.ks-portal #sp-footer a { color: rgba(255, 255, 255, .82) !important; }
.ks-portal #sp-bottom a:hover,
.ks-portal #sp-bottom a:focus,
.ks-portal #sp-footer a:hover,
.ks-portal #sp-footer a:focus { color: var(--ks-gold-light) !important; }

/* Modernise existing SP Page Builder content without replacing its data. */
.ks-portal.com-sppagebuilder #sp-page-builder .sppb-section {
  padding-top: clamp(54px, 6vw, 92px) !important;
  padding-bottom: clamp(54px, 6vw, 92px) !important;
}

.ks-portal.com-sppagebuilder #sp-page-builder .sppb-section:first-child {
  padding-top: clamp(56px, 6vw, 100px) !important;
  padding-bottom: clamp(56px, 6vw, 100px) !important;
}

.ks-portal .sppb-addon-feature {
  height: 100%;
  padding: clamp(24px, 3vw, 38px);
  background: #fff;
  border: 1px solid var(--ks-line);
  border-radius: var(--ks-radius);
  box-shadow: 0 8px 24px rgba(7, 28, 51, .06);
  transition: transform .2s ease, box-shadow .2s ease;
}

.ks-portal .sppb-addon-feature:hover {
  transform: translateY(-3px);
  box-shadow: var(--ks-shadow);
}

.ks-portal .sppb-btn,
.ks-portal .btn {
  min-height: 46px;
  padding: 11px 19px;
  border-radius: 7px;
  font-size: 1rem;
  font-weight: 750;
}

.ks-portal .sppb-btn-primary,
.ks-portal .btn-primary {
  color: #fff;
  background: var(--ks-navy-900);
  border-color: var(--ks-navy-900);
}

.ks-portal .sppb-btn-primary:hover,
.ks-portal .btn-primary:hover { background: var(--ks-navy-800); border-color: var(--ks-navy-800); }

/* Dynamic latest posts, moved into the home page by site.js. */
.ks-latest {
  max-width: 1260px;
  margin: 0 auto;
  padding: clamp(60px, 7vw, 100px) clamp(20px, 3vw, 44px);
  background: #fff;
}

.ks-latest__heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 28px;
}

.ks-latest__heading h2 { margin: 4px 0 0; }
.ks-latest__heading > a,
.ks-post-card__more { color: var(--ks-gold); font-weight: 750; text-decoration: none; }
.ks-eyebrow { color: var(--ks-gold); font-size: .82rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }

.ks-latest__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.ks-post-card {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--ks-line);
  border-radius: var(--ks-radius);
  box-shadow: 0 7px 22px rgba(7, 28, 51, .06);
  transition: transform .2s ease, box-shadow .2s ease;
}

.ks-post-card:hover { transform: translateY(-3px); box-shadow: var(--ks-shadow); }
.ks-post-card__media { display: block; aspect-ratio: 16 / 8.8; overflow: hidden; background: var(--ks-ivory); }
.ks-post-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.ks-post-card:hover .ks-post-card__media img { transform: scale(1.035); }
.ks-post-card__placeholder { display: grid; place-items: center; width: 100%; height: 100%; color: var(--ks-gold); font-size: 3.2rem; }
.ks-post-card__body { padding: 22px; }

.ks-post-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 14px;
  margin-bottom: 10px;
  color: var(--ks-muted);
  font-size: .77rem;
  font-weight: 700;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.ks-post-card__meta span { color: var(--ks-gold); }
.ks-post-card h3 { margin: 0 0 11px; font-size: 1.25rem; }
.ks-post-card h3 a { color: var(--ks-ink); text-decoration: none; }
.ks-post-card p { color: var(--ks-muted); font-size: .94rem; }

/* Component integration. */
.ks-portal .com-liturgijskacitanja,
.ks-portal [class*="liturgijska-citanja"] {
  --liturgical-accent: var(--ks-gold);
}

.ks-portal .item-page,
.ks-portal .blog,
.ks-portal .blog-featured {
  font-size: 1.04rem;
}

.ks-portal .item-page .article-details,
.ks-portal .item-page .article-body { max-width: 860px; }

.ks-sidebar-overlay { display: none; }

/* Full home page composition approved in the visual rendering. */
.ks-homepage #sp-page-builder { display: none !important; }
.ks-homepage #sp-main-body > .container,
.ks-homepage #sp-main-body .container-component { max-width: none; padding: 0; }
.ks-homepage #sp-main-body .container-component > .row { margin: 0; }
.ks-homepage #sp-main-body .container-component > .row > [class*="col-"] { padding: 0; }
.ks-portal .ks-home-edit {
  position: fixed !important;
  top: auto !important;
  right: 22px !important;
  bottom: 22px !important;
  left: auto !important;
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  width: auto !important;
  padding: 11px 16px !important;
  color: #fff !important;
  background: var(--ks-gold) !important;
  border: 2px solid #fff !important;
  border-radius: 8px !important;
  box-shadow: 0 7px 22px rgba(7, 28, 51, .25);
  font-size: .92rem !important;
  font-weight: 750;
  line-height: 1.2 !important;
  text-decoration: none;
  z-index: 10050 !important;
}
.ks-portal .ks-home-edit:hover,
.ks-portal .ks-home-edit:focus {
  color: var(--ks-navy-950) !important;
  background: var(--ks-gold-light) !important;
}

/* GetBible reader: spacious book-like layout integrated with KS Portal. */
.ks-bible-reader-page .sp-page-title {
  padding: 9px 0 !important;
  background: linear-gradient(120deg, var(--ks-navy-900), var(--ks-navy-800)) !important;
  border-bottom: 2px solid var(--ks-gold) !important;
}
.ks-bible-reader-page .sp-page-title .sp-page-title-heading {
  display: none !important;
}
.ks-bible-reader-page .sp-page-title .breadcrumb {
  margin: 0 !important;
  padding: 0 !important;
  font-size: .82rem !important;
  line-height: 1.35;
}
.ks-bible-reader-page .sp-page-title .breadcrumb > li,
.ks-bible-reader-page .sp-page-title .breadcrumb > span,
.ks-bible-reader-page .sp-page-title .breadcrumb a { font-size: inherit !important; }
.ks-bible-reader-page #sp-main-body { padding-top: 36px !important; padding-bottom: 72px !important; }
.ks-bible-reader-page #sp-main-body > .container { max-width: 1420px !important; }
.ks-bible-reader-page #sp-main-body .uk-section { padding: 0 !important; background: transparent !important; }
.ks-bible-reader-page #sp-main-body .uk-container {
  width: 100%;
  max-width: 1320px !important;
  padding-inline: clamp(14px, 2.5vw, 34px) !important;
}
.ks-bible-reader-page ul[uk-switcher*="get-bible-app-body"] {
  margin: 0 0 18px !important;
  padding: 0 !important;
  gap: 8px;
}
.ks-bible-reader-page ul[uk-switcher*="get-bible-app-body"] > li:nth-child(2),
.ks-bible-reader-page ul[uk-switcher*="get-bible-app-body"] > li:nth-child(3) { display: none !important; }
.ks-bible-reader-page ul[uk-switcher*="get-bible-app-body"] > li > a {
  min-height: 42px;
  padding: 9px 14px !important;
  color: var(--ks-navy-800) !important;
  background: #fff !important;
  border: 1px solid var(--ks-line) !important;
  border-radius: 7px !important;
  font-size: .88rem !important;
  font-weight: 750 !important;
  letter-spacing: .025em;
}
.ks-bible-reader-page ul[uk-switcher*="get-bible-app-body"] > li.uk-active > a {
  color: #fff !important;
  background: var(--ks-navy-800) !important;
  border-color: var(--ks-navy-800) !important;
}
.ks-bible-nav {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr);
  align-items: stretch;
  gap: 14px;
  margin: 0 0 18px;
  scroll-margin-top: 125px;
}
.ks-bible-nav__button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 64px;
  padding: 12px 20px;
  color: #fff;
  background: var(--ks-navy-900);
  border: 2px solid var(--ks-navy-900);
  border-radius: 9px;
  box-shadow: 0 7px 20px rgba(7, 28, 51, .13);
  font-size: 1.05rem;
  letter-spacing: .045em;
  text-transform: uppercase;
  transition: transform .18s ease, color .18s ease, background .18s ease;
}
.ks-bible-nav__button > span { color: var(--ks-gold-light); font-size: 2rem; line-height: .8; }
.ks-bible-nav__button:hover,
.ks-bible-nav__button:focus-visible,
.ks-bible-nav__button.is-active {
  color: var(--ks-navy-950);
  background: var(--ks-gold-light);
  border-color: var(--ks-gold);
  transform: translateY(-1px);
}
.ks-bible-nav__button:hover > span,
.ks-bible-nav__button:focus-visible > span,
.ks-bible-nav__button.is-active > span { color: var(--ks-navy-950); }
.ks-bible-nav__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 190px;
  padding: 9px 18px;
  color: var(--ks-navy-950);
  background: #fff;
  border: 1px solid var(--ks-line);
  border-radius: 9px;
  text-align: center;
}
.ks-bible-nav__title small {
  order: 2;
  margin-top: 6px;
  color: var(--ks-navy-900);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: .82rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.1;
  text-transform: none;
}
.ks-bible-nav__title strong {
  order: 1;
  color: var(--ks-navy-950);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 3.15rem;
  font-weight: 700;
  line-height: .8;
}
.ks-bible-reference-search {
  display: grid;
  grid-template-columns: minmax(190px, .55fr) minmax(320px, 1.45fr);
  align-items: center;
  gap: 18px 28px;
  margin: 0 0 20px;
  padding: 20px 22px;
  background: #fff;
  border: 1px solid var(--ks-line);
  border-left: 4px solid var(--ks-gold);
  border-radius: 9px;
  box-shadow: 0 7px 20px rgba(7, 28, 51, .06);
}
.ks-bible-reference-search label {
  display: flex;
  flex-direction: column;
  color: var(--ks-navy-950);
}
.ks-bible-reference-search label strong { font-size: 1rem; }
.ks-bible-reference-search label span { color: var(--ks-muted); font-size: .82rem; }
.ks-bible-reference-search__controls { display: flex; gap: 9px; }
.ks-bible-reference-search input {
  width: 100%;
  min-height: 48px;
  padding: 10px 14px;
  color: var(--ks-ink);
  background: #fff;
  border: 1px solid #c7d0dc;
  border-radius: 7px;
  font-size: 1rem;
}
.ks-bible-reference-search input:focus {
  border-color: var(--ks-gold);
  outline: 3px solid rgba(184, 134, 47, .16);
}
.ks-bible-reference-search input[aria-invalid="true"] { border-color: #a93434; }
.ks-bible-reference-search button {
  min-width: 130px;
  padding: 10px 18px;
  color: #fff;
  background: var(--ks-navy-900);
  border: 1px solid var(--ks-navy-900);
  border-radius: 7px;
  font-weight: 800;
}
.ks-bible-reference-search button:hover,
.ks-bible-reference-search button:focus-visible { background: var(--ks-navy-800); }
.ks-bible-reference-search__message {
  grid-column: 2;
  min-height: 0;
  margin: -10px 0 0;
  color: #8a2d2d !important;
  font-size: .84rem !important;
  line-height: 1.35 !important;
}
.ks-bible-reference-search__message:empty { display: none; }
.ks-bible-reference-result #getbible-holy-scripture .getbible-verse:not(.ks-reference-match),
.ks-bible-reference-result #getbible-holy-scripture li:not(.ks-reference-match-row) {
  display: none !important;
}
.ks-bible-reference-result .ks-reference-match {
  display: block;
  margin: 10px 0;
  padding: 15px 18px;
  background: #fffdf7;
  border: 1px solid #ead9aa;
  border-left: 4px solid var(--ks-gold);
  border-radius: 7px;
}
.ks-bible-reference-result__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 4px 0 22px;
  padding-bottom: 15px;
  border-bottom: 2px solid var(--ks-gold-light);
}
.ks-bible-reference-result__header div { display: flex; flex-direction: column; }
.ks-bible-reference-result__header span {
  color: var(--ks-gold);
  font-size: .73rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.ks-bible-reference-result__header strong {
  color: var(--ks-navy-950);
  font-size: 1.4rem;
}
.ks-bible-reference-result__header a {
  color: var(--ks-navy-900);
  font-weight: 800;
}
.ks-bible-chapter-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 24px;
  padding: 0 0 14px;
  border-bottom: 2px solid var(--ks-gold-light);
}
.ks-bible-chapter-heading span {
  color: var(--ks-gold);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.ks-bible-chapter-heading strong {
  color: var(--ks-navy-950);
  font-size: clamp(1.2rem, 2vw, 1.65rem);
}
.ks-bible-reader-page #get-bible-app-body {
  margin: 0 !important;
  padding: clamp(22px, 3vw, 40px) !important;
  background: #fff;
  border: 1px solid var(--ks-line);
  border-top: 4px solid var(--ks-gold);
  border-radius: 11px;
  box-shadow: var(--ks-shadow);
}
.ks-bible-reader-page #get-bible-app-body .uk-card { color: var(--ks-ink); background: #fff; }
.ks-bible-reader-page #get-bible-app-body h1,
.ks-bible-reader-page #get-bible-app-body h2,
.ks-bible-reader-page #get-bible-app-body h3 { color: var(--ks-navy-950) !important; }
.ks-bible-reader-page #get-bible-app-body p,
.ks-bible-reader-page #get-bible-app-body li {
  color: #344154;
  font-size: clamp(1rem, 1.05vw, 1.13rem);
  line-height: 1.8;
}
.ks-bible-reader-page #get-bible-app-body .uk-button-default {
  color: var(--ks-navy-900) !important;
  background: #fff !important;
  border: 1px solid #cfd6df !important;
  border-radius: 7px;
  font-weight: 700;
}
.ks-bible-reader-page #get-bible-app-body .uk-button-default:hover,
.ks-bible-reader-page #get-bible-app-body .uk-button-default:focus,
.ks-bible-reader-page #get-bible-app-body .uk-button-default.uk-active {
  color: #fff !important;
  background: var(--ks-navy-800) !important;
  border-color: var(--ks-navy-800) !important;
}

.ks-home {
  overflow: hidden;
  color: var(--ks-ink);
  background: #fff;
}

.ks-home-container {
  width: min(100% - 48px, 1260px);
  margin-inline: auto;
}

.ks-home-hero {
  padding: clamp(62px, 7vw, 108px) 0;
  background: #fff;
}

.ks-home-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, .87fr) minmax(420px, 1.13fr);
  align-items: center;
  gap: clamp(42px, 6vw, 90px);
}

.ks-home-hero__copy { max-width: 590px; }
.ks-home-hero__copy h1 { margin: 5px 0 18px; font-size: clamp(3.6rem, 5.5vw, 6.3rem); }
.ks-home-hero__copy p { max-width: 570px; color: #354155; font-size: 1.08rem; }

.ks-home-crossline {
  display: grid;
  grid-template-columns: minmax(30px, 112px) auto minmax(30px, 112px);
  align-items: center;
  gap: 14px;
  width: min(100%, 300px);
  margin-bottom: 25px;
  color: var(--ks-gold);
}

.ks-home-crossline span { height: 2px; background: var(--ks-gold-light); }
.ks-home-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }

.ks-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 50px;
  padding: 12px 20px;
  border: 2px solid transparent;
  border-radius: 7px;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none !important;
  transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.ks-button:hover { transform: translateY(-2px); }
.ks-button--primary { color: #fff !important; background: var(--ks-navy-900); box-shadow: 0 8px 20px rgba(10, 41, 74, .18); }
.ks-button--primary:hover { background: var(--ks-navy-800); }
.ks-button--outline { color: var(--ks-gold) !important; background: #fff; border-color: var(--ks-gold); }
.ks-button--outline:hover { background: #fff; box-shadow: 0 8px 20px rgba(10, 41, 74, .1); }
.ks-button--gold { color: #fff !important; background: var(--ks-gold); }
.ks-button--gold:hover { background: #9c7025; }

.ks-home-hero__image { position: relative; margin: 0; text-align: center; }
.ks-home-hero__image::before {
  content: "";
  position: absolute;
  inset: 4% 3%;
  border: 2px solid rgba(184, 134, 47, .42);
  clip-path: polygon(50% 0, 100% 24%, 92% 100%, 8% 100%, 0 24%);
  pointer-events: none;
}
.ks-home-hero__image img { position: relative; width: min(100%, 620px); max-height: 650px; object-fit: contain; filter: drop-shadow(0 20px 28px rgba(7, 28, 51, .12)); }

.ks-home-mission { padding: 72px 0; background: #fff; }
.ks-home-mission__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.ks-mission-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 265px;
  padding: 34px 30px;
  color: var(--ks-ink) !important;
  background: #fff;
  border: 1px solid var(--ks-line);
  border-radius: var(--ks-radius);
  box-shadow: 0 9px 26px rgba(7, 28, 51, .065);
  text-align: center;
  text-decoration: none !important;
  transition: transform .2s ease, box-shadow .2s ease;
}
.ks-mission-card:hover { transform: translateY(-4px); box-shadow: var(--ks-shadow); }
.ks-mission-card__icon { display: grid; place-items: center; width: 74px; height: 74px; margin-bottom: 19px; color: var(--ks-gold); background: #fff; border: 2px solid var(--ks-gold-light); border-radius: 50%; font-size: 2.15rem; }
.ks-mission-card h2 { margin: 0 0 11px; font-size: 1.5rem; }
.ks-mission-card p { margin: 0; color: var(--ks-muted); font-size: .97rem; }

.ks-home-content { padding: 16px 0 100px; }
.ks-home-feature {
  display: grid;
  align-items: center;
  gap: clamp(32px, 5vw, 70px);
  margin: 54px 0;
  padding: clamp(34px, 5vw, 62px);
  border: 1px solid var(--ks-line);
  border-radius: 14px;
  box-shadow: 0 10px 32px rgba(7, 28, 51, .065);
}
.ks-home-feature h2 { margin: 5px 0 18px; }
.ks-home-feature p { color: var(--ks-muted); }
.ks-home-feature--sam { grid-template-columns: minmax(220px, .65fr) minmax(0, 1.35fr); background: #fff; border-color: var(--ks-line); }
.ks-home-feature__portrait { width: min(100%, 310px); aspect-ratio: 1; margin-inline: auto; overflow: hidden; border-radius: 50%; background: var(--ks-navy-900); }
.ks-home-feature__portrait img { width: 100%; height: 100%; object-fit: cover; }
.ks-home-feature--islam { grid-template-columns: minmax(330px, 1fr) minmax(0, 1fr); background: #fff; }
.ks-home-feature--islam figure { margin: 0; overflow: hidden; border-radius: 9px; }
.ks-home-feature--islam img { width: 100%; min-height: 280px; object-fit: cover; }

.ks-home .ks-latest { max-width: none; padding: 72px 0; }
.ks-home-resources { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, .65fr); gap: 28px; align-items: stretch; margin-top: 38px; }
.ks-home-bible,
.ks-home-liturgy { padding: clamp(28px, 4vw, 44px); border: 1px solid var(--ks-line); border-radius: var(--ks-radius); }
.ks-home-bible { background: #fff; }
.ks-home-bible h2,
.ks-home-liturgy h2 { margin: 5px 0 12px; font-size: clamp(1.65rem, 2.3vw, 2.25rem); }
.ks-home-topic-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 25px; }
.ks-home-topic-grid a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; min-height: 126px; padding: 16px 12px; color: var(--ks-ink); background: #fff; border: 1px solid var(--ks-line); border-radius: 8px; box-shadow: 0 5px 16px rgba(7, 28, 51, .05); text-align: center; text-decoration: none; }
.ks-home-topic-grid a:hover { border-color: var(--ks-gold-light); background: #fff; box-shadow: 0 8px 22px rgba(7, 28, 51, .1); }
.ks-home-topic-grid a span { color: var(--ks-gold); font-size: 1.8rem; }
.ks-home-topic-grid strong { font-size: .86rem; }
.ks-home-liturgy { display: flex; flex-direction: column; align-items: flex-start; background: #fff; border: 2px solid var(--ks-gold-light); box-shadow: 0 8px 24px rgba(7, 28, 51, .06); }
.ks-home-liturgy__icon { color: var(--ks-gold); font-size: 2.7rem; }
.ks-home-liturgy p { color: var(--ks-muted); }
.ks-home-liturgy .ks-button { margin-top: auto; }

/* Make both Helix mobile navigation and the category navigation visible on blue. */
.ks-portal .offcanvas-toggler {
  display: inline-grid !important;
  place-items: center;
  min-width: 48px;
  min-height: 48px;
  padding: 10px !important;
  color: #fff !important;
  background: var(--ks-navy-800) !important;
  border: 2px solid var(--ks-gold-light) !important;
  border-radius: 8px;
}
.ks-portal .burger-icon > span,
.ks-portal .offcanvas-toggler .burger-icon > span { background-color: var(--ks-gold-light) !important; }
.ks-portal .offcanvas-menu { color: #fff !important; background: var(--ks-navy-900) !important; z-index: 10020 !important; }
.ks-portal .offcanvas-overlay { z-index: 10010 !important; }
.ks-portal .offcanvas-menu .offcanvas-inner,
.ks-portal .offcanvas-menu .offcanvas-inner p,
.ks-portal .offcanvas-menu .offcanvas-inner li { color: #fff !important; }
.ks-portal .offcanvas-menu .offcanvas-inner a,
.ks-portal .offcanvas-menu .offcanvas-inner ul.menu > li > a,
.ks-portal .offcanvas-menu .offcanvas-inner ul.menu > li > span,
.ks-portal .offcanvas-menu .offcanvas-inner ul.menu > li > .menu-separator,
.ks-portal .offcanvas-menu .offcanvas-inner ul.menu > li > .nav-header {
  color: var(--ks-gold-light) !important;
}
.ks-portal .offcanvas-menu .offcanvas-inner ul.menu > li li > a,
.ks-portal .offcanvas-menu .offcanvas-inner ul.menu > li li > span,
.ks-portal .offcanvas-menu .offcanvas-inner .sp-contact-info a,
.ks-portal .offcanvas-menu .offcanvas-inner .social-icons a {
  color: #fff !important;
}
.ks-portal .offcanvas-menu .offcanvas-inner a:hover,
.ks-portal .offcanvas-menu .offcanvas-inner a:focus,
.ks-portal .offcanvas-menu .offcanvas-inner ul.menu > li a:hover,
.ks-portal .offcanvas-menu .offcanvas-inner ul.menu > li a:focus,
.ks-portal .offcanvas-menu .offcanvas-inner ul.menu > li span:hover,
.ks-portal .offcanvas-menu .offcanvas-inner ul.menu > li span:focus {
  color: #fff !important;
}
.ks-portal .offcanvas-menu .close-offcanvas,
.ks-portal .offcanvas-menu .menu-toggler,
.ks-portal .offcanvas-menu .menu-toggler::before,
.ks-portal .offcanvas-menu .menu-toggler::after {
  color: var(--ks-gold-light) !important;
  border-color: var(--ks-gold-light) !important;
}
.ks-portal .offcanvas-menu .close-offcanvas {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  background: var(--ks-gold) !important;
  border: 2px solid var(--ks-gold-light) !important;
  border-radius: 50%;
  box-shadow: 0 5px 18px rgba(0, 0, 0, .24);
}
.ks-portal .offcanvas-menu .close-offcanvas span,
.ks-portal .offcanvas-menu .close-offcanvas i { color: #fff !important; }
.ks-portal .offcanvas-menu .menu > li.active > a,
.ks-portal .offcanvas-menu .menu > li:hover > a,
.ks-portal .offcanvas-menu .menu > li:focus-within > a,
.ks-portal .offcanvas-menu .menu-child li.active > a {
  color: var(--ks-gold-light) !important;
  background: rgba(184, 134, 47, .16) !important;
  border-left: 4px solid var(--ks-gold-light);
}
.ks-portal .offcanvas-menu .offcanvas-inner ul.menu > li a {
  padding-block: 12px;
  font-size: 1.05rem;
  font-weight: 700;
}
.ks-portal .offcanvas-menu .offcanvas-inner ul.menu > li li a {
  padding-left: 14px;
  font-size: 1rem;
  font-weight: 600;
  opacity: .94;
}

@media (max-width: 1450px) {
  :root { --ks-sidebar-width: 270px; }
  .ks-portal .sp-megamenu-parent > li > a,
  .ks-portal .sp-megamenu-parent > li > span { font-size: .86rem !important; padding-inline: 7px !important; }
}

@media (min-width: 1200px) {
  .ks-portal .offcanvas-toggler { display: none !important; }
}

@media (max-width: 1199.98px) {
  :root { --ks-header-height: 74px; }
  .ks-portal #sp-main { background: #fff; }
  .ks-portal .ks-home-edit { right: 12px !important; bottom: 12px !important; }
  .ks-portal #sp-header .logo { min-height: 56px; margin: 8px 0; }
  .ks-portal #sp-header .logo-image { width: 210px !important; max-width: 50vw; height: 52px !important; max-height: 52px !important; }
  .ks-portal #sp-main-body { margin-left: 0; }

  .ks-sidebar {
    float: none;
    position: fixed;
    top: 0;
    left: 0;
    width: min(88vw, 360px);
    height: 100vh;
    transform: translateX(-105%);
    transition: transform .24s ease;
    background: linear-gradient(180deg, var(--ks-navy-900), var(--ks-navy-950)) !important;
    z-index: 10040;
  }

  .ks-sidebar-close {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    padding: 0;
    color: #fff;
    background: var(--ks-gold);
    border: 2px solid var(--ks-gold-light);
    border-radius: 6px;
    font-size: 1.8rem;
  }

  .ks-sidebar-toggle {
    display: flex;
    position: fixed;
    left: 16px;
    bottom: 18px;
    align-items: center;
    gap: 9px;
    min-height: 50px;
    padding: 10px 16px;
    color: var(--ks-gold-light);
    background: var(--ks-navy-900);
    border: 2px solid var(--ks-gold-light);
    border-radius: 999px;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .25);
    font-weight: 750;
    z-index: 10000;
  }

  .ks-sidebar-overlay {
    position: fixed;
    inset: 0;
    display: block;
    background: rgba(5, 20, 37, .58);
    z-index: 10030;
  }

  body.ks-sidebar-open { overflow: hidden; }
  body.ks-sidebar-open .ks-sidebar { transform: translateX(0); }
  body.ks-sidebar-open .ks-sidebar-overlay[hidden] { display: block; }
  body.ks-sidebar-open .ks-sidebar-toggle { color: #fff; background: var(--ks-gold); border-color: var(--ks-gold-light); }

  .ks-home-hero__grid,
  .ks-home-feature--sam,
  .ks-home-feature--islam,
  .ks-home-resources { grid-template-columns: 1fr; }
  .ks-home-hero__copy { max-width: 720px; }
  .ks-home-hero__image { order: -1; }
  .ks-home-hero__image img { max-height: 500px; }
}

@media (max-width: 767.98px) {
  .ks-bible-reader-page #sp-main-body { padding-top: 22px !important; }
  .ks-bible-nav { grid-template-columns: 1fr 1fr; gap: 9px; }
  .ks-bible-nav__title { display: none; }
  .ks-bible-nav__button { min-height: 56px; padding: 10px 13px; font-size: .88rem; }
  .ks-bible-reference-search { grid-template-columns: 1fr; gap: 12px; padding: 16px; }
  .ks-bible-reference-search__controls { align-items: stretch; flex-direction: column; }
  .ks-bible-reference-search button { min-height: 46px; }
  .ks-bible-reference-search__message { grid-column: 1; margin-top: -4px; }
  .ks-bible-reference-result__header { align-items: flex-start; flex-direction: column; }
  .ks-bible-reader-page #get-bible-app-body { padding: 18px 14px !important; }
  .ks-bible-reader-page ul[uk-switcher*="get-bible-app-body"] { justify-content: flex-start !important; overflow-x: auto; flex-wrap: nowrap; }
  .ks-bible-chapter-heading { align-items: flex-start; flex-direction: column; gap: 4px; }
}

@media (max-width: 767.98px) {
  body.ks-portal { font-size: 16px; }
  .ks-latest__heading { align-items: flex-start; flex-direction: column; }
  .ks-latest__grid { grid-template-columns: 1fr; }
  .ks-home-container { width: min(100% - 30px, 1260px); }
  .ks-home-hero { padding-block: 42px 58px; }
  .ks-home-hero__copy h1 { font-size: clamp(2.8rem, 14vw, 4.2rem); }
  .ks-home-mission { padding-block: 48px; }
  .ks-home-mission__grid { grid-template-columns: 1fr; }
  .ks-home-feature { margin-block: 32px; padding: 27px 22px; }
  .ks-home-feature--islam img { min-height: 210px; }
  .ks-home-topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ks-portal.com-sppagebuilder #sp-page-builder .sppb-section,
  .ks-portal.com-sppagebuilder #sp-page-builder .sppb-section:first-child { padding-block: 48px !important; }
}

@media (min-width: 768px) and (max-width: 1040px) {
  .ks-latest__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
