/* Compact campaign selection; shared button treatment with news. */
.ik-home--impact { background: #eef2f0; }
.ik-home--impact .ik-home-hero { padding-bottom: 8rem; }
.ik-home--impact .ik-home-hero::after { bottom: 0; height: 7rem; pointer-events: none; background: linear-gradient(to bottom, rgba(238,242,240,0) 0%, rgba(238,242,240,.08) 15%, rgba(238,242,240,.3) 35%, rgba(238,242,240,.65) 60%, rgba(238,242,240,.92) 82%, #eef2f0 100%); }
#nav .ik-mobile-toggle { display: none; padding: 0; line-height: 1; }
#nav .ik-mobile-toggle svg { display: block; width: 22px; height: 22px; flex: none; margin: 0; }
@media (max-width: 980px) { #nav .ik-mobile-toggle { display: inline-flex; align-items: center; justify-content: center; } }
.ik-home-campaigns { padding: 1.75rem 1.5rem 2rem; background: #eef2f0; color: #202829; }
.ik-home-campaigns__inner { max-width: 1180px; margin-inline: auto; }
.ik-home-campaigns__header { display: flex; align-items: center; justify-content: space-between; gap: 1rem 2rem; margin-bottom: 1.25rem; }
.ik-home-campaigns__header h2 { font-size: 1.4rem; line-height: 1.25; margin: 0; color: #343b3d; }
.ik-home-campaigns__header p,
.ik-home-campaigns__eyebrow { display: none; }
.ik-home-campaigns__header > a,
.ik-home-section__head--split > a { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; min-height: 44px; padding: .75em 1.1em; border: 0; border-radius: 999px; background: #343b3d; color: #fff; font-size: .82rem; font-weight: 900; letter-spacing: .08em; line-height: 1.4; text-align: center; text-transform: uppercase; text-decoration: none; }
.ik-home-campaigns__header > a:hover,
.ik-home-section__head--split > a:hover { background: #202829; color: #fff; }
.ik-home-campaigns__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.ik-home-campaign-card { border-radius: .7rem; background: #fff; border: 1px solid #dce4e0; overflow: hidden; }
.ik-home-campaign-card > a { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; align-items: center; gap: .9rem; height: 100%; min-height: 98px; padding: .9rem; color: #343b3d; text-decoration: none; }
.ik-home-campaign-card > a:hover { background: #f7faf8; color: #202829; }
.ik-home-campaign-card > a:focus-visible { outline-offset: -4px; }
.ik-home-campaign-card figure { width: 64px; height: 56px; margin: 0; }
.ik-home-campaign-card figure img { width: 100%; height: 100%; object-fit: contain; }
.ik-home-campaign-card__body { min-width: 0; }
.ik-home-campaign-card__body h3 { margin: 0; color: inherit; font-size: 1rem; line-height: 1.35; }
.ik-home-campaign-card__body p,
.ik-home-campaign-card__body > span,
.ik-home-campaign-card__body strong { display: none; }
.ik-home-campaign-card__arrow { font-size: 1.3rem; color: #57716b; }
dialog.ik-contact-map-dialog { position: fixed; inset: 0; margin: auto; padding: 1rem; width: min(1120px, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); overflow: auto; border: 0; border-radius: .8rem; background: #fff; }
dialog.ik-contact-map-dialog:not([open]) { display: none; }
.ik-contact-map-dialog::backdrop { background: #192021bb; }
.ik-contact-map-dialog img { display: block; width: 100%; height: auto; max-height: 75dvh; object-fit: contain; }
.ik-contact-map-dialog button { display: block; margin: 0 0 1rem auto; }

/* Text disclosures retain full keyboard support without added down arrows. */




#nav li ul .has-submenu > a { padding-right: 1.1rem; }
#nav li ul { border-radius: .75rem; border: 1px solid #dce5e1; padding: .5rem; box-shadow: 0 12px 30px #1d343326; }
#nav li ul a { border-radius: .4rem; text-transform: none; letter-spacing: 0; }
#nav li ul { background: #f9fbfa; }
#nav .ik-nav-icon--home { display: none !important; }

/* One navigation level at a time, with spacious rows and a clear way back. */
.ik-mobile-panel { background: #f5f8f6; }
.ik-mobile-heading { color: #233d3e; font-size: 1.8rem; font-weight: 800; line-height: 1.2; margin: 1.25rem 0; }
.ik-mobile-close { display: block; margin: 0 0 1rem auto; background: transparent; color: #294c51; border: 1px solid #bdccc6; border-radius: 999px; font-size: .9rem; }
.ik-mobile-back { background: transparent; color: #294c51; border: 0; padding: .5rem 0; font: inherit; }
.ik-mobile-panel nav ul { margin: 0; padding: 0; list-style: none; }
.ik-mobile-panel nav li { margin: 0; padding: 0; }
.ik-mobile-panel nav a,
.ik-mobile-category { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 64px; padding: 1rem .15rem; background: transparent; border: 0; border-bottom: 1px solid #d6e1dc; color: #263e3f; text-align: left; text-transform: none; letter-spacing: 0; font: inherit; font-size: 1.15rem; font-weight: 650; text-decoration: none; }
.ik-mobile-panel nav .ik-mobile-parent { display: grid; grid-template-columns: minmax(0, 1fr) 52px; }
.ik-mobile-panel nav .ik-mobile-parent > a { min-width: 0; }
.ik-mobile-category { justify-content: center; padding: .5rem; border-left: 1px solid #d6e1dc; }
.ik-mobile-category::after { content: "›"; font-size: 1.7rem; font-weight: 400; }

/* Native, non-rotating card rails. Controls sit below the content. */
.ik-carousel-native { padding-block: 2rem; }
.ik-carousel-native .ik-carousel__inner { max-width: 1180px; padding: 0 1.5rem; }
.ik-carousel-native .ik-carousel__viewport { overflow: visible; }
.ik-carousel-native [data-carousel-track] { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 2rem) / 3); gap: 1rem; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-padding-inline: 0; padding: .5rem .15rem 1rem; height: auto; transform: none; touch-action: pan-x pan-y pinch-zoom; scrollbar-width: thin; scrollbar-color: #9bafaa transparent; cursor: auto; }
.ik-carousel-native [data-carousel-track]::-webkit-scrollbar { display: block; height: 4px; }
.ik-carousel-native [data-carousel-track] { padding-inline: 0; }
.ik-carousel-native [data-carousel-track]::-webkit-scrollbar-thumb { background: #9bafaa; border-radius: 5px; }
.ik-carousel-native .ik-carousel-card { position: relative; inset: auto; width: auto; height: auto; min-height: 0; transform: none; opacity: 1; visibility: visible; pointer-events: auto; scroll-snap-align: start; box-shadow: 0 3px 10px #263e3f0a; }
.ik-carousel-native .ik-carousel-card__image { aspect-ratio: 16/10; height: auto; }
.ik-carousel-native .ik-carousel-card__body { padding: 1.2rem; height: auto; }
.ik-carousel-native .ik-carousel-card__text { display: block; overflow: visible; max-height: none; }
.ik-carousel-toolbar { display: flex; justify-content: flex-end; align-items: center; gap: .85rem; max-width: 1180px; padding: .5rem 1.5rem 0; margin: 0 auto; }
.ik-carousel-count { color: #3f5959; font-size: .9rem; font-variant-numeric: tabular-nums; min-width: 4rem; text-align: center; }
.ik-carousel-native .ik-carousel-toolbar .ik-carousel__control { position: static; inset: auto; transform: none; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 0; border-radius: 999px; background: #343b3d; color: #fff; box-shadow: none; font: inherit; font-size: 1.4rem; }
.ik-carousel-native .ik-carousel-toolbar .ik-carousel__control:disabled { opacity: 1; background: #dce3df; color: #64736e; cursor: default; }
.ik-carousel-native .ik-carousel-toolbar .ik-carousel__control:not(:disabled):hover { background: #202829; }

/* Partners are visible together, without controls crossing the logos. */
.ik-home-logo-band { padding: 1.5rem; max-width: 1180px; }
.ik-home-logo-band .ik-carousel__control { display: none; }
.ik-home-logo-band .ik-logo-carousel__track { display: grid; grid-auto-flow: row; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; overflow: visible; transform: none; cursor: auto; }
.ik-home-logo-band .ik-logo-carousel__card { height: 112px; padding: .65rem; opacity: 1; overflow: hidden; }
.ik-home-logo-band .ik-logo-carousel__card img { max-height: 86px; max-width: 100%; width: 100%; height: 86px; filter: none; object-fit: contain; transform: scale(1.55); }
.ik-home-logo-band__title { text-align: center; color: #405b5c; font-size: .85rem; font-weight: 700; margin: 0 0 1rem; }
@media (max-width: 980px) {
  .ik-mobile-panel { left: auto; right: 0; width: min(430px, 100%); padding: 1.25rem 1.5rem; transform: translateX(105%); }
  .ik-carousel-native [data-carousel-track] { grid-auto-columns: calc((100% - 1rem) / 2); }
  .ik-home-campaigns__header { flex-direction: row; align-items: center; }
  .ik-home-campaigns__grid { grid-template-columns: 1fr; }
  .ik-home-campaign-card > a { grid-template-columns: 48px minmax(0, 1fr) auto; min-height: 76px; padding: .75rem .85rem; }
  .ik-home-campaign-card figure { width: 48px; height: 38px; }
}
@media (max-width: 600px) {
  .ik-home-campaigns { padding: 1.25rem; }
  .ik-home-campaigns__header { flex-wrap: wrap; gap: .85rem; }
  .ik-home-campaigns__header h2 { font-size: 1.25rem; }
  .ik-home-campaigns__header > a { min-height: 44px; }
  .ik-carousel-native .ik-carousel__inner { padding: 0 1.25rem; }
  .ik-carousel-native [data-carousel-track] { grid-auto-columns: 86%; gap: .85rem; }
  .ik-carousel-native .ik-carousel-card__image { aspect-ratio: 16/9; }
  .ik-carousel-native .ik-carousel__title { letter-spacing: .08em; padding-inline: 1rem; margin-bottom: 1rem; }
  .ik-carousel-native .ik-carousel__title::before,
.ik-carousel-native .ik-carousel__title::after { width: 1.25rem; margin-inline: .5rem; }
  .ik-carousel-toolbar { padding-inline: 1.25rem; }
  .ik-home-logo-band .ik-logo-carousel__track { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; }
  .ik-home-logo-band .ik-logo-carousel__card { height: 62px; }
  .ik-home-logo-band .ik-logo-carousel__card img { max-height: 42px; height: 42px; width: auto; transform: none; }
}
