﻿/* Scoped Greenly-style public marketing layer for Inrep Scholar. */
.inrep-public-body {
  --gl-ink: #08251d;
  --gl-muted: #52635b;
  --gl-border: #dfe8e2;
  --gl-soft: #f4f7f4;
  --gl-mint: #d9fbe5;
  --gl-green: #25c75a;
  --gl-green-dark: #0f7b3e;
  --gl-night: #051f19;
  --gl-night-2: #0b3625;
  --gl-lavender: #efe8ff;
  --gl-blue: #dff0ff;
  --gl-cream: #fff4dd;
  --gl-blush: #ffe9e6;
  color: var(--gl-ink);
  background: #fff;
  overflow-x: hidden;
}

/* Unified nav, dropdown, and homepage video pass. */
.inrep-public-body .gl-nav {
  min-height: 66px !important;
  padding: 0 clamp(26px, 4.2vw, 78px) !important;
  grid-template-columns: auto minmax(0, 1fr) minmax(250px, 310px) auto !important;
  gap: clamp(14px, 1.7vw, 26px) !important;
}
.inrep-public-body .gl-brand {
  font-size: 18px !important;
  font-weight: 800 !important;
}
.inrep-public-body .gl-nav-links {
  gap: 4px !important;
  justify-content: center !important;
}
.inrep-public-body .gl-nav-links > a,
.inrep-public-body .gl-nav-group > button {
  min-height: 40px !important;
  padding: 8px 10px !important;
  border-radius: var(--inrep-radius, 10px) !important;
  color: #24372f !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}
.inrep-public-body .gl-nav-group > button:hover,
.inrep-public-body .gl-nav-group > button:focus-visible,
.inrep-public-body .gl-nav-group.is-open > button,
.inrep-public-body .gl-nav-links > a:hover,
.inrep-public-body .gl-nav-links > a:focus-visible {
  background: #f0f6f2 !important;
  color: #071f17 !important;
}
.inrep-public-body .gl-nav-search-form {
  width: clamp(250px, 20vw, 310px) !important;
  min-width: 250px !important;
  max-width: 310px !important;
  height: 42px !important;
  padding: 0 11px 0 14px !important;
  background: #f8fbf9 !important;
}
.inrep-public-body .gl-nav-search-input {
  font-size: 13px !important;
  font-weight: 400 !important;
}
.inrep-public-body .gl-login,
.inrep-public-body .gl-start {
  min-height: 42px !important;
  padding: 9px 17px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}
.inrep-public-body .gl-nav-group,
.inrep-public-body .gl-nav-group:has(.gl-mega-slim),
.inrep-public-body .gl-nav-group:has(.gl-mega-small) {
  position: relative !important;
}
.inrep-public-body .gl-mega,
.inrep-public-body .gl-mega.gl-mega-slim,
.inrep-public-body .gl-mega.gl-mega-small,
.inrep-public-body .gl-mega.gl-mega-about {
  top: calc(100% + 9px) !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  min-width: 0 !important;
  max-width: calc(100vw - 40px) !important;
  padding: 14px !important;
  border: 1px solid #d7e2dc !important;
  border-radius: 0 0 var(--inrep-radius, 10px) var(--inrep-radius, 10px) !important;
  background: #fff !important;
  box-shadow: 0 20px 48px rgba(8,37,29,.13) !important;
  align-items: start !important;
  gap: 10px !important;
}
.inrep-public-body .gl-mega.gl-mega-slim,
.inrep-public-body .gl-mega.gl-mega-small {
  width: min(560px, calc(100vw - 40px)) !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.inrep-public-body .gl-mega.gl-mega-about {
  width: min(760px, calc(100vw - 40px)) !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.inrep-public-body .gl-mega-col {
  display: grid !important;
  gap: 8px !important;
  align-content: start !important;
}
.inrep-public-body .gl-mega.gl-mega-small .gl-mega-col {
  grid-column: 1 / -1 !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.inrep-public-body .gl-mega-label,
.inrep-public-body .gl-mega.gl-mega-small .gl-mega-label {
  grid-column: 1 / -1 !important;
  margin: 0 0 5px !important;
  color: #52675e !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
}
.inrep-public-body .gl-mega a:not(.gl-mega-card):not(.gl-about-card),
.inrep-public-body .gl-mega.gl-mega-small a:not(.gl-mega-card):not(.gl-about-card) {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: 11px !important;
  row-gap: 2px !important;
  min-height: 66px !important;
  padding: 10px !important;
  border: 1px solid #edf3ef !important;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #fbfefd !important;
  text-decoration: none !important;
}
.inrep-public-body .gl-mega a:not(.gl-mega-card):not(.gl-about-card):hover,
.inrep-public-body .gl-mega a:not(.gl-mega-card):not(.gl-about-card):focus-visible {
  border-color: #cfe2d8 !important;
  background: #f3fbf6 !important;
}
.inrep-public-body .gl-mega a:not(.gl-mega-card):not(.gl-about-card) > span:first-child,
.inrep-public-body .gl-mega-col a > span:first-child,
.inrep-public-body .gl-mega.gl-mega-small a:not(.gl-mega-card):not(.gl-about-card) > span:first-child {
  width: 38px !important;
  height: 38px !important;
  flex-basis: 38px !important;
  border-radius: var(--inrep-radius, 10px) !important;
}
.inrep-public-body .gl-mega a:not(.gl-mega-card):not(.gl-about-card) > span:first-child svg,
.inrep-public-body .gl-mega-col a > span:first-child svg,
.inrep-public-body .gl-mega.gl-mega-small a:not(.gl-mega-card):not(.gl-about-card) > span:first-child svg {
  width: 18px !important;
  height: 18px !important;
}
.inrep-public-body .gl-mega a:not(.gl-mega-card):not(.gl-about-card) strong,
.inrep-public-body .gl-mega.gl-mega-small a:not(.gl-mega-card):not(.gl-about-card) strong {
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.16 !important;
}
.inrep-public-body .gl-mega a:not(.gl-mega-card):not(.gl-about-card) small,
.inrep-public-body .gl-mega.gl-mega-small a:not(.gl-mega-card):not(.gl-about-card) small {
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.28 !important;
}
.inrep-public-body .gl-home-hero {
  width: min(1480px, calc(100% - 96px)) !important;
  margin-top: clamp(42px, 5vw, 74px) !important;
  grid-template-columns: minmax(420px, .78fr) minmax(620px, 1.08fr) !important;
  gap: clamp(48px, 6vw, 92px) !important;
}
.inrep-public-body .gl-home-video-card {
  min-height: 430px !important;
  padding: clamp(28px, 3vw, 44px) !important;
  cursor: pointer;
  background:
    radial-gradient(circle at 72% 8%, rgba(47,208,99,.16), transparent 34%),
    linear-gradient(135deg, #06271e, #0d3a2a 52%, #07251c) !important;
  box-shadow: 0 28px 84px rgba(8,37,29,.16) !important;
}
.inrep-public-body .gl-home-video-card:focus-visible {
  outline: 3px solid rgba(37,199,90,.42);
  outline-offset: 4px;
}
.inrep-public-body .gl-home-screen {
  height: 350px !important;
}
.inrep-public-body .gl-home-video-card .gl-play {
  width: 96px !important;
  min-width: 96px !important;
  height: 96px !important;
  min-height: 96px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 22px 52px rgba(4,31,23,.27) !important;
}
.inrep-public-body .gl-home-video-card .gl-play:after {
  border-top-width: 16px !important;
  border-bottom-width: 16px !important;
  border-left-width: 24px !important;
  margin-left: 7px !important;
}
.gl-video-modal[hidden] {
  display: none !important;
}
.gl-video-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  padding: clamp(18px, 4vw, 46px);
}
.gl-video-modal-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: rgba(3, 20, 14, .76);
  cursor: pointer;
}
.gl-video-modal-panel {
  position: relative;
  z-index: 1;
  width: min(1120px, calc(100vw - 48px));
  aspect-ratio: 16 / 9;
  max-height: calc(100vh - 96px);
  border-radius: var(--inrep-radius, 10px);
  background: #06140f;
  box-shadow: 0 34px 90px rgba(0,0,0,.36);
}
.gl-video-modal-panel iframe {
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: inherit;
  display: block;
  background: #06140f;
}
.gl-video-modal-close {
  position: absolute;
  top: -18px;
  right: -18px;
  z-index: 2;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 999px !important;
  background: #fff;
  color: #071f17;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}
body.gl-video-modal-open {
  overflow: hidden;
}
@media (max-width: 1320px) {
  .inrep-public-body .gl-nav {
    grid-template-columns: auto minmax(0, 1fr) minmax(220px, 260px) auto !important;
    gap: 12px !important;
  }
  .inrep-public-body .gl-nav-search-form {
    min-width: 220px !important;
    max-width: 260px !important;
  }
}
@media (max-width: 1180px) {
  .inrep-public-body .gl-nav {
    grid-template-columns: auto 1fr auto !important;
  }
  .inrep-public-body .gl-home-hero {
    grid-template-columns: 1fr !important;
    width: min(860px, calc(100% - 40px)) !important;
  }
}
@media (max-width: 680px) {
  .inrep-public-body .gl-mega.gl-mega-slim,
  .inrep-public-body .gl-mega.gl-mega-small,
  .inrep-public-body .gl-mega.gl-mega-about {
    left: auto !important;
    right: 0 !important;
    transform: none !important;
    width: min(360px, calc(100vw - 28px)) !important;
    grid-template-columns: 1fr !important;
  }
  .inrep-public-body .gl-mega.gl-mega-small .gl-mega-col {
    grid-template-columns: 1fr !important;
  }
  .inrep-public-body .gl-home-hero {
    width: min(100% - 24px, 520px) !important;
  }
  .inrep-public-body .gl-home-video-card {
    min-height: 270px !important;
    padding: 18px !important;
  }
  .inrep-public-body .gl-home-screen {
    height: 230px !important;
  }
  .inrep-public-body .gl-home-video-card .gl-play {
    width: 66px !important;
    min-width: 66px !important;
    height: 66px !important;
    min-height: 66px !important;
  }
  .gl-video-modal-panel {
    width: calc(100vw - 24px);
  }
  .gl-video-modal-close {
    top: -52px;
    right: 0;
  }
}
.inrep-public-body .mkt-page { background: #fff; overflow-x: hidden; }
.inrep-public-body h1,
.inrep-public-body h2,
.inrep-public-body h3 {
  font-family: var(--font-display, Sora, sans-serif);
  font-weight: 700;
  color: var(--gl-ink);
  letter-spacing: 0;
}
.inrep-public-body .mkt-page {
  padding-bottom: 0 !important;
}
.inrep-public-body p { color: var(--gl-muted); }
.gl-topbar {
  min-height: 30px;
  padding: 6px 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  background: #052a20;
  color: #f6fff8;
  font-size: 13px;
  font-weight: 700;
}
.gl-topbar p { margin: 0; color: inherit; text-align: center; }
.gl-topbar button { position: absolute; right: 22px; color: #fff; font-size: 18px; }
.gl-topbar.is-hidden { display: none; }
.gl-nav {
  position: sticky;
  top: 0;
  z-index: 350;
  width: 100%;
  box-sizing: border-box;
  min-height: 68px;
  padding: 0 54px;
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto auto auto;
  align-items: center;
  gap: 16px;
  background: rgba(255,255,255,.98);
  border-bottom: 1px solid var(--gl-border);
}
.gl-brand,
.gl-login-logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-display, Sora, sans-serif);
  font-size: 18px;
  font-weight: 800;
  color: var(--gl-ink);
  text-decoration: none;
  line-height: 1;
  letter-spacing: -.02em;
  text-transform: none;
}
.gl-brand-logo {
  width: 34px;
  height: 34px;
  min-width: 34px;
  border-radius: var(--inrep-radius, 10px) !important;
  display: block;
}
.gl-brand-mark {
  width: 34px;
  height: 34px;
  min-width: 34px;
  border-radius: var(--inrep-radius, 10px) !important;
  display: inline-grid;
  place-items: center;
  background: var(--gl-ink);
  color: #fff;
  font-size: 14px;
  font-weight: 800;
}
.gl-nav-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 0;
}
.gl-nav-links > a,
.gl-nav-group > button,
.gl-locale,
.gl-login {
  min-height: 38px;
  padding: 7px 12px;
  border-radius: var(--inrep-radius, 10px) !important;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #273c35;
  background: transparent;
  font-weight: 600;
  font-size: 14px;
  white-space: nowrap;
  text-decoration: none;
}
.gl-nav-links > a:hover,
.gl-nav-group > button:hover,
.gl-nav-group.is-open > button,
.gl-login:hover,
.gl-locale:hover {
  background: var(--gl-soft);
  color: var(--gl-ink);
}
.gl-ai-link { color: var(--gl-green-dark) !important; }
.gl-nav-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.gl-login {
  border: 1px solid #b9c8c1;
  background: #fff;
  border-radius: var(--inrep-radius, 10px) !important;
}
.gl-start {
  min-height: 40px;
  padding: 10px 22px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #090b0a;
  color: #fff !important;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.gl-start:hover { background: #1a1d1b; }
.gl-nav-group { position: relative; }
.gl-mega {
  position: absolute;
  top: calc(100% + 14px);
  left: 50%;
  transform: translateX(-50%);
  display: none;
  min-width: 860px;
  max-width: min(94vw, 1120px);
  padding: 22px;
  border: 1px solid #cfdcd5;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #fff;
  box-shadow: 0 28px 80px rgba(8,37,29,.16);
  grid-template-columns: 1.1fr 1fr 2.1fr 1.1fr;
  gap: 22px;
}
.gl-nav-group.is-open .gl-mega { display: grid; }
.gl-mega-small {
  min-width: 300px;
  grid-template-columns: 1fr;
  left: 0;
  transform: none;
}
.gl-mega-about {
  min-width: 660px;
  grid-template-columns: 1fr 1.2fr;
}
.gl-mega-slim {
  min-width: 560px;
  max-width: 680px;
  grid-template-columns: 1fr 1fr;
  left: 0;
  transform: none;
}
.gl-mega-label {
  display: block;
  margin-bottom: 12px;
  color: #42554d;
  text-transform: uppercase;
  font-size: 13px;
  font-weight: 900;
}
.gl-mega-col {
  display: grid;
  align-content: start;
  gap: 12px;
}
.gl-mega-wide {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.gl-mega-wide .gl-mega-label { grid-column: 1 / -1; }
.gl-mega a {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  padding: 10px;
  border-radius: var(--inrep-radius, 10px) !important;
  color: var(--gl-ink);
  text-decoration: none;
}
.gl-mega a:hover { background: var(--gl-soft); }
.gl-mega a > span:first-child,
.gl-mega-col a > span:first-child {
  width: 42px;
  height: 42px;
  border-radius: var(--inrep-radius, 10px) !important;
  display: grid;
  place-items: center;
  background: var(--gl-mint);
  color: var(--gl-green-dark);
  flex: none;
  font-weight: 900;
}
.gl-mega-card,
.gl-about-card {
  min-height: 190px;
  border-radius: var(--inrep-radius, 10px) !important;
  color: #fff !important;
  align-items: end !important;
  background:
    linear-gradient(180deg, rgba(5,31,25,.08), rgba(5,31,25,.72)),
    radial-gradient(circle at 70% 20%, #d9fbe5 0 16%, transparent 17%),
    linear-gradient(135deg, #315f49, #0b261f) !important;
}
.gl-about-card span,
.gl-mega-card span {
  color: #fff;
  font-size: 22px;
  font-weight: 900;
}
.gl-mobile-toggle,
.gl-mobile-head button {
  display: none;
  width: 42px;
  height: 42px;
  border: 1px solid var(--gl-border);
  border-radius: var(--inrep-radius, 10px) !important;
  background: #fff;
  color: var(--gl-ink);
  place-items: center;
}
.gl-mobile-scrim {
  position: fixed;
  inset: 0;
  z-index: 360;
  background: rgba(5,31,25,.42);
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
}
.gl-mobile-drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 370;
  width: min(390px, 88vw);
  height: 100dvh;
  padding: 18px;
  display: grid;
  align-content: start;
  gap: 8px;
  background: #fff;
  box-shadow: -22px 0 70px rgba(5,31,25,.2);
  transform: translateX(104%);
  transition: transform .22s ease;
  overflow-y: auto;
}
.gl-mobile-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}
.gl-mobile-drawer a:not(.gl-brand) {
  min-height: 44px;
  padding: 11px 12px;
  border-radius: var(--inrep-radius, 10px) !important;
  color: var(--gl-ink);
  font-weight: 800;
  text-decoration: none;
}
.gl-mobile-drawer a:hover { background: var(--gl-soft); }
.gl-mobile-open { overflow: hidden; }
.gl-mobile-open .gl-mobile-scrim { opacity: 1; pointer-events: auto; }
.gl-mobile-open .gl-mobile-drawer { transform: translateX(0); }

.gl-btn {
  min-height: 40px;
  padding: 10px 20px;
  border-radius: var(--inrep-radius, 10px) !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid var(--gl-border);
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  color: var(--gl-ink);
  background: #fff;
  transition: background .14s ease, border-color .14s ease, color .14s ease;
}
.gl-btn:hover { background: var(--gl-soft); }
.gl-btn-green { background: var(--gl-green); border-color: var(--gl-green); color: #062319 !important; }
.gl-btn-green:hover { background: var(--gl-green-dark); border-color: var(--gl-green-dark); color: #fff !important; }
.gl-btn-dark { background: #090b0a; border-color: #090b0a; color: #fff !important; }
.gl-btn-dark:hover { background: #1a1d1b; border-color: #1a1d1b; }
.gl-btn-light { background: #fff; color: var(--gl-ink) !important; }
.gl-btn-light:hover { background: var(--gl-soft); }
.gl-btn-outline { background: transparent; }
.gl-btn-outline:hover { background: var(--gl-soft); }
.gl-btn-outline-light { background: transparent; color: #fff !important; border-color: rgba(255,255,255,.45); }
.gl-btn-outline-light:hover { background: rgba(255,255,255,.1); }
.gl-centered { margin: 26px auto 0; width: max-content; }
.gl-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.gl-pill,
.gl-breadcrumb {
  display: inline-flex;
  align-items: center;
  width: max-content;
  max-width: 100%;
  padding: 4px 10px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: var(--gl-mint);
  color: var(--gl-green-dark);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .01em;
  text-transform: uppercase;
}
.gl-breadcrumb {
  background: transparent;
  color: #79918a;
  padding-left: 0;
}
.gl-rating {
  margin-top: 18px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  color: var(--gl-ink);
  font-size: 13px;
}
.gl-rating > span:first-child:not(.gl-review-bubbles) {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #063025;
  color: var(--gl-green);
  font-weight: 900;
}
.gl-rating .gl-review-bubbles {
  display: inline-flex;
  align-items: center;
  width: auto;
  height: auto;
  flex: 0 0 auto;
  background: transparent;
  color: inherit;
  padding: 0;
  overflow: visible;
  white-space: nowrap;
}
.gl-rating .gl-review-bubbles i {
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  border: 2px solid #fff;
  border-radius: var(--inrep-radius, 10px) !important;
  display: inline-grid;
  place-items: center;
  background: #063025;
  color: #2ed66d;
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}
.gl-rating .gl-review-bubbles i + i { margin-left: -8px; }
.gl-rating .gl-review-bubbles i:nth-child(2) { background: #1bb56a; color: #fff; }
.gl-rating .gl-review-bubbles i:nth-child(3) { background: #f26d5b; color: #fff; margin-right: 6px; }
.gl-rating span:nth-child(3) { color: #ffb22c; letter-spacing: 2px; }
.gl-section,
.gl-soft-section,
.gl-standards,
.gl-benefit-carousel,
.gl-data-section,
.gl-success-cards,
.gl-testimonial-block,
.gl-faq-split,
.gl-product-steps,
.gl-impact-grid,
.gl-partner-table,
.gl-premium,
.gl-addons,
.gl-sector-band,
.gl-client-base {
  padding: 62px 0;
}
.gl-soft-section,
.gl-addons,
.gl-client-base,
.gl-premium,
.gl-sector-band {
  background: var(--gl-soft);
}
.gl-section-head {
  width: min(980px, calc(100% - 48px));
  margin: 0 auto 34px;
  text-align: center;
}
.gl-section-head h2,
.gl-standards h2,
.gl-testimonial-block > h2,
.gl-impact-grid > h2,
.gl-product-steps > h2,
.gl-benefit-carousel > h2,
.gl-data-section > h2,
.gl-success-cards > h2,
.gl-partner-table > h2,
.gl-premium > h2 {
  margin: 0;
  font-size: 30px;
  line-height: 1.15;
  font-weight: 700;
}

.gl-home-hero,
.gl-info-hero,
.gl-product-hero,
.gl-industry-hero,
.gl-partner-hero,
.gl-case-hero,
.gl-pricing-hero {
  width: min(1450px, calc(100% - 18px));
  margin: 8px auto 0;
  padding: 52px 10%;
  border-radius: var(--inrep-radius, 10px) !important;
}
.gl-home-hero,
.gl-info-hero,
.gl-industry-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, .92fr);
  gap: 60px;
  align-items: center;
}
.gl-home-hero { min-height: 560px; }
.gl-hero-copy h1,
.gl-info-hero h1,
.gl-product-hero h1,
.gl-industry-hero h1,
.gl-partner-hero h1,
.gl-pricing-hero h1,
.gl-case-hero h1 {
  margin: 10px 0 14px;
  font-size: 34px;
  line-height: 1.08;
  font-weight: 700;
  letter-spacing: -.02em;
}
.gl-hero-copy p,
.gl-info-hero p,
.gl-product-hero p,
.gl-industry-hero p,
.gl-partner-hero p,
.gl-pricing-hero > p,
.gl-case-hero > p {
  max-width: 580px;
  font-size: 16px;
  line-height: 1.68;
}
.gl-dashboard-visual,
.gl-product-hero-visual,
.gl-industry-visual,
.gl-info-collage,
.gl-video-tile {
  min-height: 360px;
  border-radius: var(--inrep-radius, 10px) !important;
  position: relative;
}
.gl-window {
  min-height: 340px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #f2f7f4;
  border: 1px solid #d9e5df;
  box-shadow: 0 26px 90px rgba(8,37,29,.12);
  overflow: hidden;
  position: relative;
}
.gl-window-top {
  height: 40px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 0 14px;
  border-bottom: 1px solid #d9e5df;
}
.gl-window-top span {
  width: 10px;
  height: 10px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #c6d7ce;
}
.gl-window-top strong { margin-left: 8px; font-size: 12px; color: #688078; }
.gl-window-body {
  display: grid;
  grid-template-columns: 110px 1fr;
  min-height: 300px;
}
.gl-window-body aside {
  padding: 18px 14px;
  display: grid;
  align-content: start;
  gap: 16px;
  background: #fff;
  border-right: 1px solid #d9e5df;
}
.gl-window-body aside b { color: var(--gl-green-dark); }
.gl-window-body aside em { font-style: normal; color: #6a7d75; font-size: 13px; }
.gl-window-body main { padding: 24px; display: grid; gap: 22px; }
.gl-chart-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.gl-chart-row span,
.gl-mini-table,
.gl-mini-board {
  min-height: 64px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #fff;
  border: 1px solid #dce7e0;
}
.gl-donut {
  width: 110px;
  height: 110px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: conic-gradient(var(--gl-green) 0 72%, #e7eee9 72% 100%);
  position: relative;
}
.gl-donut:after {
  content: "";
  position: absolute;
  inset: 22px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #f2f7f4;
}
.gl-mini-table {
  min-height: 100px;
  padding: 14px;
  display: grid;
  grid-template-columns: 1fr 70px;
  gap: 10px;
  color: #5c7068;
}
.gl-mini-table b {
  height: 10px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #cfeedd;
  align-self: center;
}
.gl-play,
.gl-video-large button,
.gl-story-media button,
.gl-video-tile button {
  width: 70px;
  height: 70px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #fff;
  box-shadow: 0 12px 30px rgba(8,37,29,.18);
  position: absolute;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
}
.gl-play:after,
.gl-video-large button:after,
.gl-story-media button:after,
.gl-video-tile button:after {
  content: "";
  display: block;
  margin: 0 0 0 4px;
  width: 0;
  height: 0;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  border-left: 18px solid #0d261d;
}
.gl-logo-strip {
  width: min(1200px, calc(100% - 48px));
  margin: 36px auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 26px;
  flex-wrap: wrap;
}
.gl-logo-strip p {
  flex-basis: 100%;
  margin: 0 0 8px;
  text-align: center;
  color: #6d7f76;
  font-weight: 800;
}
.gl-logo-strip span,
.gl-standards span,
.gl-cert-row span {
  min-width: 120px;
  min-height: 56px;
  padding: 12px 18px;
  border: 1px solid var(--gl-border);
  border-radius: var(--inrep-radius, 10px) !important;
  display: inline-grid;
  place-items: center;
  background: #fff;
  color: #263d35;
  font-weight: 900;
  text-align: center;
}
.gl-product-cards,
.gl-case-card-grid,
.gl-audience-cards,
.gl-resource-carousel,
.gl-service-cards {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}
.gl-product-card,
.gl-story-card,
.gl-resource-carousel article,
.gl-service-cards article,
.gl-audience-cards article,
.gl-price-cards article,
.gl-premium article,
.gl-success-cards article {
  min-height: 245px;
  padding: 26px;
  border: 1px solid var(--gl-border);
  border-radius: var(--inrep-radius, 10px) !important;
  background: #fff;
  color: var(--gl-ink);
  text-decoration: none;
  display: grid;
  align-content: start;
  gap: 14px;
}
.gl-product-card span,
.gl-product-card-photo span,
.gl-story-card p span,
.gl-resource-carousel span {
  width: max-content;
  padding: 5px 9px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: var(--gl-mint);
  color: var(--gl-green-dark);
  font-size: 12px;
  font-weight: 900;
}
.gl-product-card strong { font-size: 17px; font-weight: 700; }
.gl-product-card p { margin: 0; }
.gl-product-card-photo {
  color: #fff;
  background:
    linear-gradient(180deg, rgba(8,37,29,.05), rgba(8,37,29,.76)),
    radial-gradient(circle at 68% 18%, #d3f8e0 0 12%, transparent 13%),
    linear-gradient(135deg, #47775e, #102b21);
}
.gl-product-card-photo strong,
.gl-product-card-photo em { color: #fff; }
.gl-prompt-bar {
  width: min(760px, calc(100% - 48px));
  margin: -20px auto 0;
  padding: 10px;
  border-radius: var(--inrep-radius, 10px) !important;
  display: grid;
  gap: 8px;
  background: linear-gradient(100deg, #caffdd, rgba(202,255,221,.78), #0d5a31);
  box-shadow: 0 16px 45px rgba(18,148,69,.18);
  position: relative;
  z-index: 4;
}
.gl-prompt-bar button,
.gl-prompt-bar label {
  min-height: 38px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: rgba(255,255,255,.94);
  display: flex;
  align-items: center;
  padding: 7px 16px;
  color: #263d35;
  font-size: 14px;
  font-weight: 800;
}
.gl-prompt-bar label {
  border-radius: var(--inrep-radius, 10px) !important;
  gap: 8px;
}
.gl-prompt-bar input {
  min-height: 28px;
  border: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
}
.gl-dark-band,
.gl-ai-panel,
.gl-pro-license,
.gl-final-cta,
.gl-partner-hero {
  width: min(1450px, calc(100% - 18px));
  margin: 0 auto;
  border-radius: var(--inrep-radius, 10px) !important;
  background:
    radial-gradient(circle at 32% 80%, rgba(47,208,99,.16), transparent 34%),
    linear-gradient(135deg, #05291f, #06100d 58%, #0b3b26);
  color: #fff;
  padding: 56px 8%;
}
.gl-dark-band h2,
.gl-ai-panel h2,
.gl-pro-license h2,
.gl-final-cta h2,
.gl-partner-hero h1 { color: #fff; }
.gl-dark-band > h2,
.gl-final-cta h2 {
  text-align: center;
  margin: 0 auto 26px;
  font-size: 34px;
  line-height: 1.1;
  font-weight: 700;
}
.gl-dark-metrics,
.gl-dark-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.gl-dark-metrics article,
.gl-dark-cards article {
  min-height: 160px;
  padding: 28px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.08);
}
.gl-dark-metrics strong {
  display: block;
  color: #fff;
  font-size: 38px;
  line-height: 1;
  font-weight: 700;
  margin-bottom: 8px;
}
.gl-dark-metrics span,
.gl-dark-cards p,
.gl-pro-license p,
.gl-final-cta p { color: rgba(255,255,255,.75); }
.gl-mosaic {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 20px;
}
.gl-mosaic article {
  min-height: 230px;
  padding: 26px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #fff;
  border: 1px solid var(--gl-border);
  overflow: hidden;
}
.gl-mosaic-wide { grid-column: span 3; }
.gl-mosaic-dark,
.gl-mosaic-black {
  background: #071a15 !important;
  color: #fff;
}
.gl-mosaic-dark h3,
.gl-mosaic-black h3,
.gl-mosaic-photo h3 { color: #fff; }
.gl-mosaic-dark p,
.gl-mosaic-black p,
.gl-mosaic-photo p { color: rgba(255,255,255,.75); }
.gl-mosaic-green { background: var(--gl-mint) !important; }
.gl-mosaic-cream { background: var(--gl-cream) !important; }
.gl-mosaic-photo {
  color: #fff;
  background:
    linear-gradient(180deg, rgba(8,37,29,.08), rgba(8,37,29,.78)),
    radial-gradient(circle at 74% 22%, #f6d4aa 0 18%, transparent 19%),
    linear-gradient(135deg, #a8d0bd, #123629) !important;
}
.gl-scope-meter {
  width: 130px;
  height: 64px;
  margin-top: 28px;
  display: grid;
  place-items: center;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #121212;
  border: 1px solid #343434;
  color: #fff;
  font-size: 30px;
  font-weight: 900;
  box-shadow: inset 0 0 28px rgba(255,70,70,.35);
}
.gl-standards {
  text-align: center;
}
.gl-standards div,
.gl-cert-row {
  width: min(1120px, calc(100% - 48px));
  margin: 28px auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
}
.gl-ai-panel {
  display: grid;
  grid-template-columns: 1fr 440px;
  align-items: center;
  gap: 54px;
}
.gl-ai-panel p { color: rgba(255,255,255,.76); }
.gl-ai-phone {
  min-height: 330px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: linear-gradient(135deg, #1a5b4f, #092720);
  padding: 44px;
}
.gl-ai-phone > div {
  min-height: 240px;
  border-radius: var(--inrep-radius, 10px) !important;
  padding: 22px;
  background: #fff;
  color: var(--gl-ink);
}
.gl-ai-phone p {
  padding: 12px;
  border-radius: var(--inrep-radius, 10px) !important;
  color: var(--gl-ink);
  background: var(--gl-soft);
}
.gl-proof-section,
.gl-sector-band {
  width: min(1450px, calc(100% - 18px));
  margin: 0 auto;
  padding: 56px 10%;
  display: grid;
  grid-template-columns: 1fr 460px;
  gap: 60px;
  align-items: center;
  border-radius: var(--inrep-radius, 10px) !important;
  background: var(--gl-soft);
}
.gl-proof-section h2 { font-size: 30px; line-height: 1.15; font-weight: 700; }
.gl-awards {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 22px;
}
.gl-awards span {
  padding: 14px 18px;
  border-radius: var(--inrep-radius, 10px) !important;
  border: 1px solid var(--gl-border);
  background: #fff;
  font-weight: 900;
}
.gl-grid-plot {
  min-height: 310px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #fff;
  border: 1px solid var(--gl-border);
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 18px;
  padding: 34px;
}
.gl-grid-plot span {
  width: 12px;
  height: 12px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: var(--gl-green);
  align-self: center;
  justify-self: center;
}
.gl-grid-plot span:nth-child(3n) { background: #55a7ff; }
.gl-grid-plot span:nth-child(4n) { background: #ffb750; }
.gl-grid-plot b {
  position: absolute;
  right: 70px;
  bottom: 66px;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: var(--inrep-radius, 10px) !important;
  background: var(--gl-green);
}
.gl-resource-carousel {
  grid-template-columns: repeat(4, minmax(260px, 1fr));
  overflow: hidden;
}
.gl-resource-carousel article {
  min-height: 270px;
}
.gl-final-cta {
  margin: 48px auto;
  text-align: center;
}
.gl-final-cta h2 { margin-bottom: 28px; }

.gl-case-hero {
  text-align: center;
  padding-top: 62px;
}
.gl-case-hero .gl-rating { justify-content: center; }
.gl-case-hero select {
  width: 220px;
  margin: 42px auto 24px;
}
.gl-client-grid {
  width: min(1010px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border: 1px solid var(--gl-border);
  background: #fff;
}
.gl-client-grid span {
  min-height: 96px;
  display: grid;
  place-items: center;
  border-right: 1px solid var(--gl-border);
  border-bottom: 1px solid var(--gl-border);
  font-weight: 900;
  color: #111;
}
.gl-case-card-grid { grid-template-columns: repeat(3, 1fr); }
.gl-story-media {
  height: 170px;
  margin: -26px -26px 0;
  border-radius: var(--inrep-radius, 10px) !important;
  position: relative;
  background:
    linear-gradient(180deg, rgba(8,37,29,.05), rgba(8,37,29,.48)),
    linear-gradient(135deg, #dbece3, #628a75);
}
.gl-story-media-2 { background: linear-gradient(135deg, #f6ba74, #305243); }
.gl-story-media-3 { background: linear-gradient(135deg, #bcd4e8, #365c70); }
.gl-story-card p {
  margin: 0;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.gl-audience-cards {
  grid-template-columns: repeat(3, 1fr);
  padding-top: 20px;
  padding-bottom: 68px;
}
.gl-impact-grid {
  width: min(1020px, calc(100% - 48px));
  margin: 0 auto;
  text-align: center;
}
.gl-impact-cards {
  margin-top: 28px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
}
.gl-impact-cards article {
  min-height: 210px;
  padding: 26px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: var(--gl-soft);
  text-align: left;
}
.gl-impact-cards strong {
  display: block;
  font-size: 32px;
  margin-bottom: 8px;
}
.gl-impact-photo {
  grid-row: span 2;
  color: #fff;
  background:
    linear-gradient(180deg, rgba(8,37,29,.05), rgba(8,37,29,.68)),
    radial-gradient(circle at 68% 24%, #f4c88c 0 17%, transparent 18%),
    linear-gradient(135deg, #83b595, #133528) !important;
}
.gl-impact-photo strong,
.gl-impact-photo span,
.gl-impact-dark strong,
.gl-impact-dark span { color: #fff; }
.gl-impact-dark {
  grid-row: span 2;
  background: #05291f !important;
}
.gl-mini-bars {
  height: 70px;
  margin-top: 34px;
  background: linear-gradient(90deg, transparent 0 16%, var(--gl-green) 16% 24%, transparent 24% 32%, var(--gl-green) 32% 44%, transparent 44% 52%, var(--gl-green) 52% 72%, transparent 72%);
}
.gl-testimonial-block {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  text-align: center;
}
.gl-testimonial-card {
  margin-top: 28px;
  padding: 28px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: var(--gl-soft);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  text-align: left;
}
.gl-video-large {
  min-height: 300px;
  border-radius: var(--inrep-radius, 10px) !important;
  position: relative;
  background:
    linear-gradient(180deg, rgba(8,37,29,.1), rgba(8,37,29,.5)),
    linear-gradient(135deg, #e4ece8, #82998e);
}
.gl-testimonial-card blockquote {
  margin: 12px 0 18px;
  font-size: 24px;
  line-height: 1.25;
  font-weight: 900;
  color: var(--gl-ink);
}
.gl-test-stats {
  display: grid;
  grid-template-columns: auto 1fr auto 1fr;
  gap: 8px 16px;
  margin: 22px 0;
}
.gl-test-stats strong { font-size: 28px; }
.gl-quote-strip {
  width: min(1180px, calc(100% - 48px));
  margin: 20px auto 70px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}
.gl-quote-strip article {
  padding-top: 20px;
  border-top: 1px solid var(--gl-border);
}
.gl-quote-strip blockquote { margin: 0 0 16px; font-weight: 800; line-height: 1.45; }
.gl-quote-strip span { color: #8a9b94; }
.gl-award-marquee {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto 48px;
  display: flex;
  gap: 42px;
  overflow: hidden;
  color: #8a9b94;
  font-weight: 800;
  white-space: nowrap;
}

.gl-pricing-hero {
  text-align: center;
}
.gl-price-cards {
  margin-top: 58px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) 1fr;
  gap: 22px;
  text-align: left;
}
.gl-price-cards article {
  position: relative;
  min-height: 390px;
}
.gl-price-cards article.is-popular {
  border-color: var(--gl-green);
  background: #f3fff7;
}
.gl-popular {
  position: absolute;
  top: -16px;
  left: 50%;
  transform: translateX(-50%);
  padding: 6px 16px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: var(--gl-green);
  color: #063025;
  font-weight: 900;
}
.gl-price-cards h2 {
  display: flex;
  align-items: center;
  gap: 10px;
}
.gl-price-cards h2 span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: var(--inrep-radius, 10px) !important;
  background: var(--gl-mint);
}
.gl-price-cards ul {
  margin: auto 0 0;
  padding: 18px 0 0;
  border-top: 1px solid var(--gl-border);
  list-style: none;
  display: grid;
  gap: 10px;
}
.gl-price-cards li:before {
  content: "";
  width: 14px;
  height: 14px;
  margin-right: 10px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: var(--gl-green);
  display: inline-block;
  vertical-align: middle;
}
.gl-detailed-rate {
  min-height: 390px;
  padding: 34px;
  border-radius: var(--inrep-radius, 10px) !important;
  display: grid;
  align-content: center;
  color: #fff;
  background:
    linear-gradient(180deg, rgba(8,37,29,.05), rgba(8,37,29,.7)),
    radial-gradient(circle at 70% 76%, #f6c58e 0 18%, transparent 19%),
    linear-gradient(135deg, #4b6f53, #10231c);
}
.gl-detailed-rate h2,
.gl-detailed-rate p,
.gl-detailed-rate a { color: #fff; }
.gl-pricing-prompt { margin-top: -48px; }
.gl-segments {
  margin-top: 20px;
  display: flex;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}
.gl-segments span {
  padding: 9px 15px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: var(--gl-soft);
  font-weight: 900;
}
.gl-segments span:first-child { background: var(--gl-ink); color: #fff; }
.gl-compare-wrap {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  overflow-x: auto;
}
.gl-compare {
  min-width: 880px;
  border-collapse: collapse;
  background: #fff;
}
.gl-compare th,
.gl-compare td {
  padding: 18px;
  border-bottom: 1px solid var(--gl-border);
  text-align: center;
}
.gl-compare th:first-child,
.gl-compare td:first-child { text-align: left; font-weight: 900; }
.gl-compare .gl-row-head td {
  background: var(--gl-ink);
  color: #fff;
  font-weight: 900;
}
.gl-compare .is-highlight,
.gl-compare td:nth-child(3) {
  background: #edfff3;
  border-left: 1px solid var(--gl-green);
  border-right: 1px solid var(--gl-green);
}
.gl-addon-grid {
  width: min(1060px, calc(100% - 48px));
  margin: 42px auto 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.gl-addon-grid span {
  min-height: 54px;
  display: flex;
  align-items: center;
  padding: 16px 20px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #fff;
  font-weight: 900;
}
.gl-sector-band {
  grid-template-columns: 1.1fr repeat(3, 180px);
}
.gl-sector-band article {
  min-height: 180px;
  padding: 18px;
  border-radius: var(--inrep-radius, 10px) !important;
  display: flex;
  align-items: end;
  color: #fff;
  font-weight: 900;
  background: linear-gradient(135deg, #214436, #97b7a4);
}
.gl-sector-band span {
  align-self: end;
  justify-self: end;
  color: #6b7d75;
}
.gl-faq-split {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 80px;
  align-items: start;
}
.gl-faq-split h2 { font-size: 26px; font-weight: 700; line-height: 1.15; }
.gl-faq-list { display: grid; gap: 12px; }
.gl-faq-list details {
  border-radius: var(--inrep-radius, 10px) !important;
  background: var(--gl-soft);
  border: 1px solid var(--gl-border);
}
.gl-faq-list summary {
  min-height: 58px;
  padding: 17px 20px;
  font-weight: 900;
  cursor: pointer;
}
.gl-faq-list p {
  padding: 0 20px 18px;
  margin: 0;
}

.gl-info-collage,
.gl-industry-visual,
.gl-product-hero-visual {
  background:
    radial-gradient(circle at 66% 28%, #f1c792 0 17%, transparent 18%),
    linear-gradient(135deg, #e7f3ee, #aac8b8);
}
.gl-info-collage span,
.gl-info-collage strong,
.gl-floating-report {
  position: absolute;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #fff;
  padding: 16px;
  box-shadow: 0 16px 40px rgba(8,37,29,.12);
}
.gl-info-collage span { right: 18px; top: 30px; }
.gl-info-collage strong { left: 30px; bottom: 34px; font-size: 40px; }
.gl-benefit-carousel {
  width: min(1450px, calc(100% - 18px));
  margin: 0 auto;
}
.gl-benefit-carousel h2 { width: min(1180px, calc(100% - 48px)); margin: 0 auto 28px; }
.gl-benefit-carousel > div {
  display: grid;
  grid-template-columns: repeat(5, 310px);
  gap: 20px;
  overflow: hidden;
  padding-left: max(24px, calc((100% - 1180px) / 2));
}
.gl-benefit-carousel article {
  min-height: 250px;
  padding: 26px;
  border-radius: var(--inrep-radius, 10px) !important;
  color: #fff;
  background: linear-gradient(135deg, #10251d, #47624e);
}
.gl-benefit-carousel article:nth-child(2) { background: var(--gl-mint); color: var(--gl-ink); }
.gl-benefit-carousel article:nth-child(3) { background: #111; }
.gl-benefit-carousel article:nth-child(5) { background: var(--gl-blue); color: var(--gl-ink); }
.gl-benefit-carousel p { width: min(1180px, calc(100% - 48px)); margin: 28px auto 0; display: flex; gap: 12px; justify-content: center; }
.gl-data-section,
.gl-success-cards { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.gl-stat-row,
.gl-success-cards > div {
  margin-top: 28px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.gl-stat-row article {
  min-height: 125px;
  padding: 24px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #06291f;
  color: #fff;
}
.gl-stat-row strong { display: block; font-size: 34px; color: #fff; }
.gl-stat-row span { color: rgba(255,255,255,.72); }
.gl-success-cards > div { grid-template-columns: 1fr 1fr; }
.gl-chat-mini {
  min-height: 110px;
  margin-top: 18px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: linear-gradient(#fff,#fff) padding-box, linear-gradient(135deg,#d9fbe5,#fff) border-box;
  border: 1px solid transparent;
}
.gl-photo-card {
  color: #fff;
  background:
    linear-gradient(180deg, rgba(8,37,29,.08), rgba(8,37,29,.55)),
    radial-gradient(circle at 66% 38%, #e4a777 0 18%, transparent 19%),
    linear-gradient(135deg, #e0efe9, #5f816d) !important;
}
.gl-photo-card strong,
.gl-photo-card span { color: #fff; }

.gl-partner-hero {
  display: grid;
  grid-template-columns: 1fr 520px;
  gap: 42px;
  align-items: center;
}
.gl-video-tile {
  background:
    linear-gradient(180deg, rgba(8,37,29,.1), rgba(8,37,29,.6)),
    linear-gradient(135deg, #9fc0b0, #183a2d);
}
.gl-hero-benefits {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.gl-hero-benefits span {
  min-height: 58px;
  display: grid;
  place-items: center;
  border-radius: var(--inrep-radius, 10px) !important;
  background: rgba(255,255,255,.08);
  color: #d8eee0;
  font-weight: 900;
}
.gl-tech-grid,
.gl-industrial-grid {
  width: min(1050px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.gl-tech-grid article,
.gl-industrial-grid article {
  min-height: 230px;
  padding: 24px;
  border-radius: var(--inrep-radius, 10px) !important;
  border: 1px solid var(--gl-border);
  background: #fff;
}
.gl-tech-grid article:first-child { grid-column: span 2; }
.gl-tech-dark,
.gl-industrial-dark,
.gl-industrial-black {
  background: #091410 !important;
  color: #fff;
}
.gl-tech-dark h3,
.gl-industrial-dark h3,
.gl-industrial-black h3,
.gl-tech-dark p,
.gl-industrial-dark p,
.gl-industrial-black p { color: #fff; }
.gl-tech-green,
.gl-industrial-green { background: var(--gl-mint) !important; }
.gl-tech-photo,
.gl-industrial-photo {
  background:
    linear-gradient(180deg, rgba(8,37,29,.08), rgba(8,37,29,.54)),
    radial-gradient(circle at 68% 34%, #efc08a 0 15%, transparent 16%),
    linear-gradient(135deg, #ddebe5, #7d9e8b) !important;
}
.gl-tech-meter {
  display: grid;
  place-items: center;
  text-align: center;
}
.gl-tech-meter strong { font-size: 34px; }
.gl-client-base {
  width: min(1450px, calc(100% - 18px));
  margin: 0 auto;
  text-align: center;
  border-radius: var(--inrep-radius, 10px) !important;
}
.gl-client-base > div {
  width: min(900px, calc(100% - 48px));
  margin: 32px auto 0;
  display: grid;
  grid-template-columns: 260px 1fr 1fr;
  gap: 18px;
}
.gl-client-base aside {
  grid-row: span 2;
  border-radius: var(--inrep-radius, 10px) !important;
  background:
    radial-gradient(circle at 50% 28%, #f0bf84 0 18%, transparent 19%),
    linear-gradient(135deg, #e1eee8, #8aa998);
}
.gl-client-base article {
  min-height: 160px;
  padding: 22px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #fff;
  text-align: left;
}
.gl-pro-license { text-align: center; }
.gl-pro-license div {
  width: 360px;
  max-width: 100%;
  min-height: 220px;
  margin: 28px auto;
  padding: 28px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #151515;
  display: grid;
  place-items: center;
}
.gl-pro-license strong { color: #fff; font-size: 24px; }
.gl-partner-table,
.gl-premium { width: min(1050px, calc(100% - 48px)); margin: 0 auto; }
.gl-partner-table table {
  margin-top: 26px;
  background: #fff;
  border-collapse: collapse;
}
.gl-partner-table th,
.gl-partner-table td {
  padding: 17px 20px;
  border-bottom: 1px solid var(--gl-border);
  text-align: center;
}
.gl-partner-table td:first-child,
.gl-partner-table th:first-child { text-align: left; }
.gl-premium > div {
  margin-top: 28px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.gl-service-cards { grid-template-columns: repeat(4, 1fr); }

.gl-product-hero {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 60px;
  align-items: center;
  background: linear-gradient(135deg, #06100d, #082b1e 70%, #19623d);
  color: #fff;
}
.gl-product-hero h1,
.gl-product-hero p { color: #fff; }
.gl-hero-form {
  width: min(380px, 92%);
  margin: 0 auto;
  padding: 22px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #fff;
}
.gl-hero-form input,
.gl-hero-form > span,
.gl-hero-form button {
  min-height: 44px;
  border-radius: var(--inrep-radius, 10px) !important;
}
.gl-hero-form > span {
  border: 1px solid #d9e5df;
  display: flex;
  align-items: center;
  padding: 0 12px;
  color: #6f8178;
  background: #f8fbf9;
  font-size: 13px;
  font-weight: 800;
}
.gl-hero-form button {
  grid-column: 1 / -1;
  background: #0b0b0b;
  color: #fff;
  font-weight: 900;
}
.gl-floating-report {
  right: 24px;
  bottom: 34px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.gl-product-steps {
  width: min(1100px, calc(100% - 48px));
  margin: 0 auto;
}
.gl-product-steps > h2 { text-align: center; margin-bottom: 70px; }
.gl-product-steps article {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: center;
  margin-bottom: 70px;
}
.gl-product-steps article.is-reverse .gl-step-visual { order: 2; }
.gl-step-visual {
  min-height: 300px;
  border-radius: var(--inrep-radius, 10px) !important;
  border: 1px solid var(--gl-border);
  background:
    linear-gradient(135deg, rgba(47,208,99,.18), transparent),
    repeating-linear-gradient(0deg, transparent 0 28px, rgba(8,37,29,.08) 29px 30px),
    #fff;
}
.gl-step-visual-2 { background: linear-gradient(135deg, #dbf0ff, #f8fffb); }
.gl-step-visual-3 { background: linear-gradient(135deg, #0b1a14, #0e4a31); }
.gl-step-visual-4 { background: linear-gradient(135deg, #e9fff0, #b6edd0); }
.gl-product-steps ul {
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
.gl-product-steps li:before {
  content: "";
  width: 14px;
  height: 14px;
  margin-right: 10px;
  display: inline-block;
  border-radius: var(--inrep-radius, 10px) !important;
  background: var(--gl-green);
  vertical-align: middle;
}
.gl-why-grid {
  width: min(1450px, calc(100% - 18px));
  margin: 0 auto;
  padding: 56px 10%;
  border-radius: var(--inrep-radius, 10px) !important;
  background: var(--gl-soft);
}
.gl-why-grid > div {
  margin-top: 28px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.gl-why-grid article {
  min-height: 180px;
  padding: 22px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #fff;
}
.gl-chart-card { background: #0a0a0a !important; color: #fff; }
.gl-chart-card h3 { color: #fff; }

.gl-industry-hero {
  display: grid;
  grid-template-columns: 1fr 460px;
  gap: 60px;
  align-items: center;
}
.gl-industry-visual {
  padding: 28px;
  display: grid;
  align-content: start;
  gap: 12px;
}
.gl-industry-visual span,
.gl-industry-visual strong {
  width: max-content;
  padding: 16px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #fff;
  box-shadow: 0 14px 35px rgba(8,37,29,.12);
}
.gl-industry-visual strong { font-size: 28px; }
.gl-industrial-grid article:first-child { background: var(--gl-soft); }
.gl-industrial-dark { grid-column: span 2; }
.gl-timeline-line {
  height: 88px;
  margin-top: 34px;
  background: repeating-linear-gradient(90deg, rgba(255,255,255,.16) 0 2px, transparent 2px 44px);
  border-bottom: 8px solid var(--gl-green);
}

.gl-footer {
  padding: 52px 0 24px;
  background: #f7faf8;
  border-top: 1px solid var(--gl-border);
}
.gl-footer-main {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.1fr 2fr;
  gap: 76px;
}
.gl-footer-brand p {
  max-width: 360px;
  margin: 18px 0;
}
.gl-newsletter {
  display: grid;
  gap: 9px;
}
.gl-newsletter input,
.gl-newsletter button {
  max-width: 360px;
  min-height: 42px;
  border-radius: var(--inrep-radius, 10px) !important;
}
.gl-newsletter button {
  background: var(--gl-green);
  color: #063025;
  font-weight: 900;
}
.gl-newsletter small { color: #7f9189; }
.gl-footer-cols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 44px;
}
.gl-footer-cols div {
  display: grid;
  align-content: start;
  gap: 10px;
}
.gl-footer-cols h3 {
  margin: 0 0 8px;
  font-size: 14px;
  color: var(--gl-ink);
}
.gl-footer-cols a {
  color: #263d35;
  text-decoration: none;
  font-weight: 700;
}
.gl-footer-cols span {
  padding: 2px 7px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #c8ff4f;
  color: #09231b;
  font-size: 12px;
}
.gl-footer-social {
  width: min(1180px, calc(100% - 48px));
  margin: 32px auto 0;
  padding-top: 28px;
  border-top: 1px solid var(--gl-border);
  text-align: center;
}
.gl-footer-social p { margin: 0 0 14px; color: var(--gl-ink); }
.gl-footer-social div {
  display: flex;
  justify-content: center;
  gap: 28px;
  font-weight: 900;
  font-size: 22px;
}
.gl-footer-legal {
  width: min(1180px, calc(100% - 48px));
  margin: 28px auto 0;
  padding-top: 22px;
  border-top: 1px solid var(--gl-border);
  display: flex;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
  color: #60736b;
  font-size: 13px;
}
.gl-footer-legal a { color: #60736b; }

.inrep-public-body .site-chatbot {
  right: 22px;
  bottom: 22px;
}
.inrep-public-body .site-chatbot-toggle {
  width: 58px;
  height: 58px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: var(--gl-green);
  color: #062319;
  box-shadow: 0 18px 45px rgba(18,148,69,.3);
}
.inrep-public-body .site-chatbot-toggle span { display: none; }
.inrep-public-body .site-chatbot-panel {
  border-radius: var(--inrep-radius, 10px) !important;
  border: 1px solid var(--gl-border);
  box-shadow: 0 28px 90px rgba(8,37,29,.18);
}

.inrep-auth-body {
  --gl-ink: #08251d;
  --gl-muted: #52635b;
  --gl-border: #dfe8e2;
  --gl-soft: #f4f7f4;
  --gl-mint: #d9fbe5;
  --gl-green: #25c75a;
  --gl-green-dark: #0f7b3e;
  background: #075540 !important;
  min-height: 100vh;
  place-items: center;
}
.inrep-auth-body:before,
.inrep-auth-body:after { display: none !important; }
.gl-login-shell {
  width: 100%;
  min-height: 100vh;
  display: grid;
  place-items: center;
  position: relative;
  overflow: hidden;
}
.gl-login-deco {
  position: absolute;
  width: 300px;
  max-width: 28vw;
  z-index: 1;
}
.gl-login-deco-left { left: calc(50% - 430px); top: calc(50% - 150px); }
.gl-login-deco-right { right: calc(50% - 440px); top: calc(50% - 90px); }
.gl-login-card {
  width: min(500px, calc(100% - 36px));
  min-height: 430px;
  padding: 58px 50px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #fff;
  position: relative;
  z-index: 2;
  box-shadow: 0 28px 80px rgba(0,0,0,.24);
}
.gl-login-logo {
  margin-bottom: 36px;
}
.gl-login-kicker {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--gl-green-dark);
}
.gl-login-card h1 {
  margin: 0 0 10px;
  font-size: 29px;
  font-weight: 500;
}
.gl-login-card h1:last-of-type { margin-bottom: 36px; }
.gl-login-hint {
  margin: 0 0 28px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--gl-muted);
}
.gl-login-form {
  display: grid;
  gap: 18px;
}
.gl-login-field > span:first-child {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
}
.gl-login-field input {
  min-height: 66px;
  border: 1px solid #bfcac5;
  border-radius: var(--inrep-radius, 10px) !important;
  padding: 0 28px;
  font-size: 18px;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.gl-login-field input:focus {
  border-color: var(--gl-green);
  box-shadow: 0 0 0 4px rgba(37,199,90,.14);
  outline: none;
}
.gl-login-continue,
.gl-login-submit {
  min-height: 66px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: var(--gl-green);
  color: #06231b;
  font-size: 18px;
  font-weight: 800;
  transition: background .15s ease;
}
.gl-login-continue:hover,
.gl-login-submit:hover {
  background: var(--gl-green-dark);
  color: #fff;
}
.gl-login-continue:focus-visible,
.gl-login-submit:focus-visible {
  outline: 3px solid var(--gl-green);
  outline-offset: 3px;
}
.gl-login-password-stage {
  display: none;
  gap: 12px;
}
.gl-login-card.is-password-stage .gl-login-password-stage {
  display: grid;
}
.gl-login-card.is-password-stage .gl-login-continue {
  display: none;
}
.gl-login-forgot {
  color: var(--gl-green-dark);
  font-weight: 800;
}
.gl-login-sso {
  min-height: 48px;
  margin-top: 18px;
  border: 1px solid var(--gl-border);
  border-radius: var(--inrep-radius, 10px) !important;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gl-ink);
  font-weight: 800;
  gap: 10px;
}
.gl-microsoft-icon {
  width: 18px;
  height: 18px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 2px;
  flex: 0 0 auto;
}
.gl-microsoft-icon i:nth-child(1) { background: #f25022; }
.gl-microsoft-icon i:nth-child(2) { background: #7fba00; }
.gl-microsoft-icon i:nth-child(3) { background: #00a4ef; }
.gl-microsoft-icon i:nth-child(4) { background: #ffb900; }
.gl-login-links {
  margin: 18px 0 0;
  text-align: center;
}

@media (max-width: 1180px) {
  .gl-nav { padding: 0 22px; grid-template-columns: auto 1fr auto; }
  .gl-nav-links,
  .gl-nav-actions { display: none; }
  .gl-mobile-toggle,
  .gl-mobile-head button { display: grid; }
  .gl-home-hero,
  .gl-info-hero,
  .gl-product-hero,
  .gl-industry-hero,
  .gl-partner-hero,
  .gl-ai-panel,
  .gl-proof-section,
  .gl-sector-band {
    grid-template-columns: 1fr;
  }
  .gl-price-cards { grid-template-columns: repeat(2, 1fr); }
  .gl-mosaic { grid-template-columns: repeat(2, 1fr); }
  .gl-mosaic-wide { grid-column: span 1; }
  .gl-footer-main { grid-template-columns: 1fr; gap: 42px; }
}
@media (max-width: 820px) {
  .gl-home-hero,
  .gl-info-hero,
  .gl-product-hero,
  .gl-industry-hero,
  .gl-partner-hero,
  .gl-case-hero,
  .gl-pricing-hero,
  .gl-dark-band,
  .gl-ai-panel,
  .gl-pro-license,
  .gl-final-cta,
  .gl-proof-section,
  .gl-sector-band {
    width: min(100% - 16px, 760px);
    padding: 36px 18px;
  }
  .gl-hero-copy h1,
  .gl-info-hero h1,
  .gl-product-hero h1,
  .gl-industry-hero h1,
  .gl-partner-hero h1,
  .gl-pricing-hero h1,
  .gl-case-hero h1 {
    font-size: 26px;
  }
  .gl-section,
  .gl-soft-section,
  .gl-standards,
  .gl-benefit-carousel,
  .gl-data-section,
  .gl-success-cards,
  .gl-testimonial-block,
  .gl-faq-split,
  .gl-product-steps,
  .gl-impact-grid,
  .gl-partner-table,
  .gl-premium,
  .gl-addons,
  .gl-sector-band,
  .gl-client-base {
    padding: 44px 0;
  }
  .gl-product-cards,
  .gl-case-card-grid,
  .gl-audience-cards,
  .gl-resource-carousel,
  .gl-service-cards,
  .gl-price-cards,
  .gl-impact-cards,
  .gl-stat-row,
  .gl-success-cards > div,
  .gl-quote-strip,
  .gl-tech-grid,
  .gl-industrial-grid,
  .gl-client-base > div,
  .gl-premium > div,
  .gl-addon-grid,
  .gl-footer-cols {
    grid-template-columns: 1fr;
  }
  .gl-client-grid { grid-template-columns: repeat(2, 1fr); }
  .gl-testimonial-card,
  .gl-product-steps article,
  .gl-faq-split {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .gl-product-steps article.is-reverse .gl-step-visual { order: 0; }
  .gl-benefit-carousel > div { grid-template-columns: repeat(5, 280px); overflow-x: auto; padding-left: 24px; }
  .gl-dark-metrics,
  .gl-dark-cards { grid-template-columns: 1fr; }
  .gl-hero-benefits { grid-template-columns: 1fr; }
  .gl-mosaic { grid-template-columns: 1fr; }
  .gl-login-deco { opacity: .35; }
  .gl-login-deco-left { left: -80px; }
  .gl-login-deco-right { right: -80px; }
  .gl-login-card { padding: 38px 24px; }
  .gl-footer-legal { display: grid; }
}

/* Homepage hero precision pass: match the Greenly-style first viewport closely. */
.inrep-public-body .gl-home-hero {
  width: min(1120px, calc(100% - 56px));
  min-height: 0;
  margin: 42px auto 0;
  padding: 0 !important;
  border-radius: var(--inrep-radius, 10px) !important;
  display: grid;
  grid-template-columns: minmax(0, 470px) minmax(500px, 1fr);
  gap: 76px;
  align-items: center;
}
.inrep-public-body .gl-home-powered {
  gap: 6px;
  padding: 5px 8px;
  border: 1px solid #aeeec7;
  background: #f3fff8;
  color: #0c4e32;
  font-size: 11px;
}
.inrep-public-body .gl-home-powered strong {
  padding: 3px 6px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #d9ffe8;
  color: var(--gl-green-dark);
}
.inrep-public-body .gl-home-hero .gl-hero-copy h1 {
  max-width: 420px;
  margin: 15px 0 16px;
  font-size: clamp(20px, 2.2vw, 32px);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.02em;
}
.inrep-public-body .gl-home-hero .gl-hero-copy p {
  max-width: 440px;
  margin: 0 0 22px;
  color: #52645d;
  font-size: 14px;
  line-height: 1.6;
}
/* ── Hero search bar ──────────────────────────────── */
.inrep-public-body .gl-home-hero .gl-hero-search {
  display: flex;
  align-items: center;
  gap: 0;
  background: #fff;
  border: 1.5px solid #cdd8d1;
  border-radius: 12px;
  padding: 5px 5px 5px 14px;
  margin-bottom: 18px;
  max-width: 440px;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
  transition: border-color .2s, box-shadow .2s;
}
.inrep-public-body .gl-home-hero .gl-hero-search:focus-within {
  border-color: #25c75a;
  box-shadow: 0 0 0 3px rgba(37,199,90,.14);
}
.inrep-public-body .gl-home-hero .gl-hero-search-icon {
  color: #6b8c7a;
  flex-shrink: 0;
  margin-right: 9px;
}
.inrep-public-body .gl-home-hero .gl-hero-search-input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  color: #0f1f14;
  font-size: 14px;
  font-weight: 500;
  padding: 7px 0;
  min-width: 0;
  font-family: inherit;
}
.inrep-public-body .gl-home-hero .gl-hero-search-input::placeholder {
  color: #94a3a0;
  font-weight: 400;
}
.inrep-public-body .gl-home-hero .gl-hero-search-btn {
  flex-shrink: 0;
  background: #25c75a;
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 9px 18px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: background .15s, transform .1s;
  white-space: nowrap;
  font-family: inherit;
}
.inrep-public-body .gl-home-hero .gl-hero-search-btn:hover { background: #1daf4d; }
.inrep-public-body .gl-home-hero .gl-hero-search-btn:active { transform: scale(.97); }

.inrep-public-body .gl-home-hero .gl-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 22px;
}
.inrep-public-body .gl-home-hero .gl-btn {
  min-height: 40px;
  padding: 10px 18px;
  border-radius: var(--inrep-radius, 10px) !important;
  font-size: 14px;
}
.inrep-public-body .gl-home-rating {
  margin-top: 0;
  gap: 9px;
  font-size: 12px;
  flex-wrap: wrap;
}
.inrep-public-body .gl-home-rating .gl-review-bubbles {
  display: inline-flex;
  align-items: center;
  background: transparent;
  padding: 0;
  white-space: nowrap;
}
.inrep-public-body .gl-home-rating .gl-review-bubbles i {
  width: 26px;
  height: 26px;
  flex-shrink: 0;
  margin-right: -8px;
  border: 2px solid #fff;
  border-radius: var(--inrep-radius, 10px) !important;
  display: inline-grid;
  place-items: center;
  background: #063025;
  color: #2ed66d;
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
  text-transform: uppercase;
  line-height: 1;
}
.inrep-public-body .gl-home-rating .gl-review-bubbles i:nth-child(2) { background: #1bb56a; color: #fff; }
.inrep-public-body .gl-home-rating .gl-review-bubbles i:nth-child(3) { background: #f26d5b; color: #fff; margin-right: 6px; }
.inrep-public-body .gl-home-rating > span:not(.gl-review-bubbles) {
  color: #f5a400;
  letter-spacing: 1px;
}
.inrep-public-body .gl-home-video-card {
  min-height: 286px;
  padding: 28px 28px 26px;
  border-radius: var(--inrep-radius, 10px) !important;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 0%, rgba(47,208,99,.18), transparent 30%),
    linear-gradient(135deg, #06271e, #103c2d 54%, #09251d);
  box-shadow: 0 24px 70px rgba(8,37,29,.13);
}
.inrep-public-body .gl-home-video-card:before {
  content: "";
  position: absolute;
  inset: -20% -10% auto auto;
  width: 260px;
  height: 260px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: rgba(49, 213, 101, .12);
}
.inrep-public-body .gl-home-screen {
  height: 246px;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: var(--inrep-radius, 10px) !important;
  position: relative;
  overflow: hidden;
  background: #f4f6f4;
  box-shadow: 0 24px 40px rgba(0,0,0,.18);
}
.inrep-public-body .gl-screen-toolbar {
  height: 33px;
  padding: 0 12px;
  border-bottom: 1px solid #dfe7e2;
  display: flex;
  align-items: center;
  gap: 6px;
  color: #60736c;
  font-size: 11px;
}
.inrep-public-body .gl-screen-toolbar span {
  width: 8px;
  height: 8px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #c8d7cf;
}
.inrep-public-body .gl-screen-toolbar strong { margin-left: 8px; color: #263d35; }
.inrep-public-body .gl-screen-toolbar em {
  margin-left: auto;
  padding: 3px 7px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #dff8e9;
  color: #168246;
  font-style: normal;
  font-weight: 900;
}
.inrep-public-body .gl-screen-body {
  display: grid;
  grid-template-columns: 92px 1fr;
  height: calc(100% - 33px);
}
.inrep-public-body .gl-screen-body aside {
  padding: 14px 12px;
  border-right: 1px solid #e0e8e3;
  display: grid;
  align-content: start;
  gap: 12px;
  background: #fff;
  font-size: 11px;
  color: #75877f;
}
.inrep-public-body .gl-screen-body aside b { color: var(--gl-green-dark); font-size: 13px; }
.inrep-public-body .gl-screen-body main {
  padding: 16px;
  display: grid;
  gap: 12px;
}
.inrep-public-body .gl-screen-tabs,
.inrep-public-body .gl-screen-metrics,
.inrep-public-body .gl-screen-chart {
  display: grid;
  gap: 10px;
}
.inrep-public-body .gl-screen-tabs { grid-template-columns: repeat(4, 1fr); }
.inrep-public-body .gl-screen-tabs span,
.inrep-public-body .gl-screen-metrics article,
.inrep-public-body .gl-screen-table {
  border: 1px solid #e1e9e4;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #fff;
}
.inrep-public-body .gl-screen-tabs span { height: 26px; }
.inrep-public-body .gl-screen-metrics { grid-template-columns: repeat(3, 1fr); }
.inrep-public-body .gl-screen-metrics article {
  min-height: 44px;
  padding: 8px;
}
.inrep-public-body .gl-screen-metrics strong {
  display: block;
  color: #0b2d22;
  font-size: 14px;
}
.inrep-public-body .gl-screen-metrics small { color: #7d9188; font-size: 10px; }
.inrep-public-body .gl-screen-chart {
  grid-template-columns: 1fr 92px;
  align-items: center;
}
.inrep-public-body .gl-bars {
  height: 70px;
  padding: 10px 12px 0;
  border: 1px solid #e1e9e4;
  border-radius: var(--inrep-radius, 10px) !important;
  display: flex;
  align-items: end;
  gap: 10px;
  background: #fff;
}
.inrep-public-body .gl-bars i {
  width: 28px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #1f8d55;
}
.inrep-public-body .gl-bars i:nth-child(1) { height: 52px; }
.inrep-public-body .gl-bars i:nth-child(2) { height: 38px; background: #49c775; }
.inrep-public-body .gl-bars i:nth-child(3) { height: 28px; background: #87d99d; }
.inrep-public-body .gl-bars i:nth-child(4) { height: 44px; background: #0d3d2c; }
.inrep-public-body .gl-ring {
  width: 72px;
  height: 72px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: conic-gradient(#0b2d22 0 74%, #e0e9e4 74% 100%);
  position: relative;
}
.inrep-public-body .gl-ring:after {
  content: "";
  position: absolute;
  inset: 15px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #f4f6f4;
}
.inrep-public-body .gl-screen-table {
  padding: 9px 10px;
  display: grid;
  gap: 6px;
}
.inrep-public-body .gl-screen-table p {
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 58px;
  gap: 10px;
  align-items: center;
  color: #52645d;
  font-size: 10px;
}
.inrep-public-body .gl-screen-table b {
  height: 7px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #b9eed0;
}
.inrep-public-body .gl-home-video-card .gl-play {
  z-index: 3;
  width: 72px;
  height: 72px;
  border: 0;
  color: #08251d;
}
.inrep-public-body .gl-home-hero + .gl-logo-strip {
  width: min(1040px, calc(100% - 56px));
  margin: 52px auto 16px;
  padding: 0 !important;
  gap: 54px;
}
.inrep-public-body .gl-home-hero + .gl-logo-strip span {
  min-width: 0;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #7e9088;
  font-size: 12px;
  opacity: .8;
}
.inrep-public-body .gl-home-prompt {
  width: min(720px, calc(100% - 56px));
  margin: 0 auto 30px;
  padding: 0 !important;
}
.inrep-public-body .gl-home-prompt label {
  min-height: 43px;
  padding: 0 10px 0 14px;
  border: 2px solid #b9f5ce;
  border-radius: var(--inrep-radius, 10px) !important;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 10px;
  align-items: center;
  background: #fff;
  box-shadow: 0 10px 28px rgba(18,148,69,.08);
}
.inrep-public-body .gl-home-prompt span {
  color: #31d563;
  font-weight: 900;
}
.inrep-public-body .gl-home-prompt input {
  min-height: 30px;
  border: 0;
  background: transparent;
  box-shadow: none;
  color: var(--gl-ink);
}
.inrep-public-body .gl-home-prompt b {
  width: 28px;
  height: 28px;
  border-radius: var(--inrep-radius, 10px) !important;
  display: grid;
  place-items: center;
  color: #516a60;
  font-size: 18px;
}

@media (max-width: 1180px) {
  .inrep-public-body .gl-home-hero {
    grid-template-columns: 1fr;
    gap: 34px;
    width: min(760px, calc(100% - 40px));
  }
  .inrep-public-body .gl-home-video-card { max-width: 620px; width: 100%; }
}
@media (max-width: 820px) {
  .inrep-public-body .gl-home-hero {
    width: min(100% - 24px, 500px);
    margin-top: 26px;
    padding: 0 !important;
  }
  .inrep-public-body .gl-home-hero .gl-hero-copy h1 {
    max-width: 340px;
    font-size: clamp(18px, 5.5vw, 24px);
  }
  .inrep-public-body .gl-home-hero .gl-hero-copy p {
    font-size: 15px;
  }
  .inrep-public-body .gl-home-hero .gl-actions {
    flex-wrap: wrap;
  }
  .inrep-public-body .gl-home-rating {
    align-items: flex-start;
  }
  .inrep-public-body .gl-home-video-card {
    min-height: 230px;
    padding: 18px;
    border-radius: var(--inrep-radius, 10px) !important;
  }
  .inrep-public-body .gl-home-screen {
    height: 202px;
  }
  .inrep-public-body .gl-screen-body {
    grid-template-columns: 70px 1fr;
  }
  .inrep-public-body .gl-screen-body aside {
    padding: 10px 8px;
    gap: 9px;
    font-size: 9px;
  }
  .inrep-public-body .gl-screen-body main {
    padding: 10px;
    gap: 8px;
  }
  .inrep-public-body .gl-screen-tabs { grid-template-columns: repeat(2, 1fr); }
  .inrep-public-body .gl-screen-metrics { grid-template-columns: 1fr; }
  .inrep-public-body .gl-screen-metrics article:nth-child(n+2) { display: none; }
  .inrep-public-body .gl-screen-chart {
    grid-template-columns: 1fr 58px;
  }
  .inrep-public-body .gl-ring {
    width: 54px;
    height: 54px;
  }
  .inrep-public-body .gl-ring:after { inset: 12px; }
  .inrep-public-body .gl-screen-table { display: none; }
  .inrep-public-body .gl-home-video-card .gl-play {
    width: 58px;
    height: 58px;
  }
  .inrep-public-body .gl-home-video-card .gl-play:after {
    margin: 0 0 0 4px;
    border-top-width: 10px;
    border-bottom-width: 10px;
    border-left-width: 15px;
  }
  .inrep-public-body .gl-home-hero + .gl-logo-strip {
    width: min(100% - 24px, 500px);
    margin: 32px auto 16px;
    gap: 18px 22px;
  }
  .inrep-public-body .gl-home-hero + .gl-logo-strip span {
    width: calc(50% - 12px);
    text-align: center;
    font-size: 11px;
  }
  .inrep-public-body .gl-home-prompt {
    width: min(100% - 24px, 500px);
    margin-bottom: 18px;
  }
}

/* Marketing alignment pass: keep repeated sections and CTAs visually consistent. */
.inrep-public-body .gl-section-head {
  display: grid;
  justify-items: center;
}
.inrep-public-body .gl-section-head > p {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
.inrep-public-body .gl-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.inrep-public-body .gl-btn {
  text-align: center;
  white-space: normal;
}
.inrep-public-body .gl-centered {
  display: flex;
  justify-content: center;
  justify-self: center;
  margin-left: auto;
  margin-right: auto;
}
.inrep-public-body .gl-product-cards,
.inrep-public-body .gl-case-card-grid,
.inrep-public-body .gl-audience-cards,
.inrep-public-body .gl-resource-carousel,
.inrep-public-body .gl-service-cards,
.inrep-public-body .gl-price-cards,
.inrep-public-body .gl-impact-cards,
.inrep-public-body .gl-tech-grid,
.inrep-public-body .gl-addon-grid,
.inrep-public-body .gl-premium > div,
.inrep-public-body .gl-client-base > div {
  align-items: stretch;
}
.inrep-public-body .gl-product-card,
.inrep-public-body .gl-story-card,
.inrep-public-body .gl-resource-carousel article,
.inrep-public-body .gl-service-cards article,
.inrep-public-body .gl-audience-cards article,
.inrep-public-body .gl-price-cards article,
.inrep-public-body .gl-premium article,
.inrep-public-body .gl-success-cards article,
.inrep-public-body .gl-impact-cards article,
.inrep-public-body .gl-tech-grid article,
.inrep-public-body .gl-client-base article {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.inrep-public-body .gl-product-card > em,
.inrep-public-body .gl-resource-carousel article > a,
.inrep-public-body .gl-story-card > a,
.inrep-public-body .gl-service-cards article > strong {
  margin-top: auto;
}
.inrep-public-body .gl-product-card > em,
.inrep-public-body .gl-resource-carousel article > a,
.inrep-public-body .gl-story-card > a {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
}
.inrep-public-body .gl-story-card h3,
.inrep-public-body .gl-resource-carousel h3,
.inrep-public-body .gl-service-cards h3,
.inrep-public-body .gl-audience-cards h3,
.inrep-public-body .gl-premium h3 {
  margin-bottom: 0;
}
.inrep-public-body .gl-price-cards article > p {
  min-height: 72px;
}
.inrep-public-body .gl-price-cards article > .gl-btn {
  width: 100%;
  justify-content: center;
}
.inrep-public-body .gl-price-cards article > small {
  min-height: 20px;
  display: block;
  color: #587069;
}
.inrep-public-body .gl-price-cards ul {
  width: 100%;
  margin-top: auto;
}
.inrep-public-body .gl-detailed-rate {
  align-items: start;
}
.inrep-public-body .gl-detailed-rate a {
  width: 100%;
  min-height: 44px;
  margin-top: auto;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: var(--inrep-radius, 10px) !important;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: 900;
}
.inrep-public-body .gl-sector-band > div,
.inrep-public-body .gl-faq-split > div:first-child,
.inrep-public-body .gl-client-base > div:first-child,
.inrep-public-body .gl-partner-hero > div,
.inrep-public-body .gl-product-hero > div:first-child,
.inrep-public-body .gl-industry-hero > div:first-child,
.inrep-public-body .gl-info-hero > div:first-child {
  text-align: left;
}
.inrep-public-body .gl-sector-band > div .gl-btn,
.inrep-public-body .gl-faq-split > div:first-child .gl-btn,
.inrep-public-body .gl-client-base > a,
.inrep-public-body .gl-pro-license > a {
  margin-top: 14px;
}
.inrep-public-body .gl-faq-split > div:first-child {
  display: flex;
  flex-wrap: wrap;
  align-content: start;
  gap: 12px;
}
.inrep-public-body .gl-faq-split > div:first-child h2,
.inrep-public-body .gl-faq-split > div:first-child p {
  flex-basis: 100%;
}
.inrep-public-body .gl-final-cta {
  display: grid;
  justify-items: center;
  text-align: center;
}
.inrep-public-body .gl-footer-main,
.inrep-public-body .gl-footer-cols,
.inrep-public-body .gl-footer-legal {
  align-items: start;
}

@media (max-width: 820px) {
  .inrep-public-body .gl-actions,
  .inrep-public-body .gl-faq-split > div:first-child {
    justify-content: flex-start;
  }
  .inrep-public-body .gl-price-cards article > p {
    min-height: 0;
  }
  .inrep-public-body .gl-detailed-rate a,
  .inrep-public-body .gl-price-cards article > .gl-btn {
    width: 100%;
  }
}

/* Public nav repair pass: preserve Inrep branding, make menus predictable, and keep mobile controls clean. */
.inrep-public-body .gl-nav {
  min-height: 74px;
  padding: 0 clamp(24px, 4vw, 72px);
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  gap: clamp(18px, 2vw, 34px);
}
.inrep-public-body .gl-brand,
.inrep-auth-body .gl-login-logo {
  gap: 10px;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -.02em;
  text-transform: none;
}
.inrep-public-body .gl-brand .inrep-mark,
.inrep-auth-body .gl-login-logo .inrep-mark,
.inrep-public-body .gl-menu-logo {
  width: 34px;
  height: 34px;
  min-width: 34px;
  border-radius: var(--inrep-radius, 10px) !important;
  display: inline-grid;
  place-items: center;
  background: #0a1f15;
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
}
.inrep-public-body .gl-nav-links {
  justify-content: center;
  gap: 10px;
}
.inrep-public-body .gl-nav-links > a,
.inrep-public-body .gl-nav-group > button,
.inrep-public-body .gl-locale,
.inrep-public-body .gl-login {
  min-height: 46px;
  padding: 10px 14px;
  font-size: 16px;
}
.inrep-public-body .gl-nav-group {
  position: static;
}
/* Slim dropdown (Platform) sits relative to its trigger, not full-width */
.inrep-public-body .gl-nav-group:has(.gl-mega-slim) {
  position: relative;
}
.inrep-public-body .gl-mega {
  top: 100%;
  left: 0;
  right: 0;
  transform: none;
  width: 100%;
  max-width: none;
  min-width: 0;
  padding: 34px clamp(36px, 7vw, 132px);
  border-left: 0;
  border-right: 0;
  border-radius: var(--inrep-radius, 10px) !important;
  box-shadow: 0 22px 56px rgba(8,37,29,.12);
  grid-template-columns: minmax(260px, 1fr) minmax(250px, .95fr) minmax(300px, 1.15fr) minmax(260px, .9fr);
  align-items: stretch;
}
/* Slim override - fixed-width dropdown, no dead space */
.inrep-public-body .gl-mega.gl-mega-slim {
  left: 0;
  right: auto;
  width: 560px;
  padding: 22px 20px;
  border: 1px solid #d4e0da;
  border-top: 0;
  border-radius: var(--inrep-radius, 10px) !important;
  box-shadow: 0 18px 44px rgba(8,37,29,.12);
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.inrep-public-body .gl-nav-group:hover .gl-mega,
.inrep-public-body .gl-nav-group:focus-within .gl-mega,
.inrep-public-body .gl-nav-group.is-open .gl-mega {
  display: grid;
}
.inrep-public-body .gl-nav-group > button .gl-caret {
  margin-left: 2px;
  opacity: .7;
  transition: transform .18s ease;
}
.inrep-public-body .gl-nav-group:hover > button .gl-caret,
.inrep-public-body .gl-nav-group:focus-within > button .gl-caret,
.inrep-public-body .gl-nav-group.is-open > button .gl-caret {
  transform: rotate(180deg);
}
.inrep-public-body .gl-mega-small {
  grid-template-columns: repeat(3, minmax(230px, 1fr));
}
.inrep-public-body .gl-mega-about {
  grid-template-columns: minmax(520px, 1fr) minmax(360px, .7fr);
}
.inrep-public-body .gl-mega-col {
  gap: 14px;
}
.inrep-public-body .gl-mega-wide {
  grid-template-columns: 1fr;
}
.inrep-public-body .gl-mega a:not(.gl-mega-card):not(.gl-about-card) {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 14px;
  row-gap: 4px;
  min-height: 74px;
  align-items: center;
  padding: 12px;
}
.inrep-public-body .gl-mega a:not(.gl-mega-card):not(.gl-about-card) strong {
  grid-column: 2;
  grid-row: 1;
  display: block;
  margin: 0;
  font-size: 17px;
  line-height: 1.2;
}
.inrep-public-body .gl-mega a:not(.gl-mega-card):not(.gl-about-card) small {
  grid-column: 2;
  grid-row: 2;
  display: block;
  color: #62766e;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
}
.inrep-public-body .gl-mega a:not(.gl-mega-card):not(.gl-about-card) > span:first-child,
.inrep-public-body .gl-mega-col a > span:first-child {
  grid-column: 1;
  grid-row: 1 / span 2;
  width: 46px;
  height: 46px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #dff8e9;
  color: #0f8f45;
  display: grid;
  place-items: center;
  flex: 0 0 46px;
}
.inrep-public-body .gl-mega a:not(.gl-mega-card):not(.gl-about-card):nth-of-type(2n) > span:first-child {
  background: #e9f3ff;
  color: #1871b7;
}
.inrep-public-body .gl-mega a:not(.gl-mega-card):not(.gl-about-card):nth-of-type(3n) > span:first-child {
  background: #f0e8ff;
  color: #7154c8;
}
.inrep-public-body .gl-mega a:not(.gl-mega-card):not(.gl-about-card):nth-of-type(4n) > span:first-child {
  background: #fff4dd;
  color: #946017;
}
.inrep-public-body .gl-mega a:not(.gl-mega-card):not(.gl-about-card) > span:first-child svg,
.inrep-public-body .gl-mega-col a > span:first-child svg {
  width: 21px;
  height: 21px;
  stroke-width: 1.8;
}
.inrep-public-body .gl-mega-card,
.inrep-public-body .gl-about-card {
  display: grid !important;
  align-content: end !important;
  gap: 16px !important;
}
.inrep-public-body .gl-mega-card > span:first-child,
.inrep-public-body .gl-about-card > span:first-child {
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  border-radius: var(--inrep-radius, 10px) !important;
  display: block !important;
  background: transparent !important;
  color: #fff !important;
}
.inrep-public-body .gl-mega-card,
.inrep-public-body .gl-about-card {
  min-height: 230px;
  padding: 26px !important;
  border-radius: var(--inrep-radius, 10px) !important;
}
.inrep-public-body .gl-mobile-toggle {
  justify-self: end;
  width: 54px;
  height: 54px;
  border: 0;
  border-radius: var(--inrep-radius, 10px) !important;
  background: transparent;
  color: var(--gl-ink);
}
.inrep-public-body .gl-mobile-toggle svg {
  width: 32px;
  height: 32px;
  stroke-width: 1.9;
}
.inrep-public-body .gl-mobile-head button {
  width: 48px;
  height: 48px;
  border: 0;
  background: transparent;
}
.inrep-public-body .gl-mobile-drawer {
  width: min(430px, 92vw);
  height: 100dvh;
  min-height: 100dvh;
  padding: 22px;
  z-index: 10001;
  padding-bottom: 28px;
}
.inrep-public-body .gl-mobile-label {
  margin: 18px 4px 4px;
  color: #6a7b74;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.inrep-public-body .gl-mobile-ctas {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--gl-border);
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.inrep-public-body .gl-mobile-ctas a {
  min-height: 50px;
  border: 1px solid var(--gl-border);
  border-radius: var(--inrep-radius, 10px) !important;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
}
.inrep-public-body .gl-mobile-ctas .gl-start {
  border-color: #090b0a;
}
.inrep-public-body.gl-mobile-open .gl-mobile-ctas {
  position: static;
  width: 100%;
  margin: 22px 0 0;
  padding: 18px 0 0;
  border-top: 1px solid var(--gl-border);
  background: #fff;
  box-shadow: none;
}
.inrep-public-body .gl-footer-social a,
.inrep-public-body .gl-footer-social span {
  width: 42px;
  height: 42px;
  border: 1px solid var(--gl-border);
  border-radius: var(--inrep-radius, 10px) !important;
  display: inline-grid;
  place-items: center;
  color: var(--gl-ink);
  background: #fff;
}
.inrep-public-body .gl-footer-social a:hover {
  border-color: var(--gl-green);
  color: var(--gl-green-dark);
  background: #f3fff8;
}
.inrep-public-body .mkt-newsletter-msg {
  max-width: 360px;
  margin: 8px 0 0;
  color: var(--gl-green-dark);
  font-size: 13px;
  font-weight: 800;
}
.inrep-public-body.gl-mobile-open .site-chatbot {
  display: none;
}

/* Sticky Inrep Scholar chat prompt. */
.inrep-public-body {
  padding-bottom: 0 !important;
}
.inrep-public-body .site-chatbot {
  inset: auto 22px 22px auto;
  z-index: 9998;
  pointer-events: none;
  width: auto;
}
.inrep-public-body .site-chatbot-toggle {
  position: fixed;
  right: 22px;
  bottom: 22px;
  width: 64px;
  height: 64px;
  padding: 0;
  border-radius: var(--inrep-radius, 10px) !important;
  pointer-events: auto;
}
.inrep-public-body .site-chatbot.is-open .site-chatbot-toggle {
  display: none;
}
.inrep-public-body .site-chatbot.is-minimized .site-chatbot-toggle {
  display: grid;
}
.inrep-public-body .site-chatbot-panel {
  position: fixed;
  left: auto;
  right: 22px;
  bottom: 22px;
  transform: none;
  width: min(680px, calc(100vw - 56px));
  max-height: min(420px, calc(100vh - 120px));
  padding: 12px;
  border: 0;
  border-radius: var(--inrep-radius, 10px) !important;
  grid-template-rows: auto auto auto;
  gap: 10px;
  overflow: visible;
  pointer-events: auto;
  background: linear-gradient(100deg, #c9f8d7 0%, #dffce8 50%, #0e5a31 100%);
  box-shadow: 0 20px 56px rgba(8,37,29,.18);
}
.inrep-public-body .site-chatbot-panel header {
  min-height: 20px;
  padding: 0 8px;
  background: transparent;
  color: #103327;
}
.inrep-public-body .site-chatbot-panel header strong {
  font-size: 0;
}
.inrep-public-body .site-chatbot-panel header button {
  margin-left: auto;
  color: #27483d;
  font-size: 24px;
  line-height: 1;
}
.inrep-public-body .site-chatbot-suggestions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.inrep-public-body .site-chatbot-suggestions button {
  min-height: 46px;
  padding: 9px 18px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: rgba(255,255,255,.94);
  color: #263d35;
  font-size: 16px;
  font-weight: 700;
  box-shadow: 0 4px 12px rgba(8,37,29,.05);
}
.inrep-public-body .site-chatbot-suggestions button:after {
  content: " +";
  margin-left: 8px;
  color: #53675f;
  font-weight: 900;
}
.inrep-public-body .site-chatbot:not(.has-chat-history) .site-chatbot-messages {
  display: none;
}
.inrep-public-body .site-chatbot-messages {
  max-height: 150px;
  padding: 8px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: rgba(255,255,255,.32);
}
.inrep-public-body .site-chatbot-form {
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  min-height: 54px;
  padding: 0 10px;
  border: 0;
  border-radius: var(--inrep-radius, 10px) !important;
  background: rgba(255,255,255,.96);
}
.inrep-public-body .site-chatbot-form > span {
  color: var(--gl-green);
  display: grid;
  place-items: center;
}
.inrep-public-body .site-chatbot-form input {
  min-height: 48px;
  border: 0;
  border-radius: var(--inrep-radius, 10px) !important;
  background: transparent;
  box-shadow: none;
  font-size: 16px;
}
.inrep-public-body .site-chatbot-form button {
  width: 42px;
  height: 42px;
  padding: 0;
  display: grid;
  place-items: center;
  background: transparent;
  color: #67766f;
}

/* ── Conversation mode ─────────────────────────────────────────
   Once a chat is underway, turn the wide "ask bar" into a proper,
   tall chat window so long threads read cleanly and scroll well. */
.inrep-public-body .site-chatbot.has-chat-history .site-chatbot-panel {
  width: min(420px, calc(100vw - 44px));
  max-height: min(580px, calc(100vh - 96px));
  grid-template-rows: auto 1fr auto;
  gap: 0;
  padding: 0;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid var(--gl-border);
}
.inrep-public-body .site-chatbot.has-chat-history .site-chatbot-panel header {
  padding: 13px 16px;
  border-bottom: 1px solid var(--gl-border);
  background: #f7faf8;
}
.inrep-public-body .site-chatbot.has-chat-history .site-chatbot-panel header strong {
  font-size: 14px;
  font-weight: 800;
  color: #0f1f14;
}
.inrep-public-body .site-chatbot.has-chat-history .site-chatbot-suggestions {
  display: none;
}
.inrep-public-body .site-chatbot.has-chat-history .site-chatbot-messages {
  max-height: none;
  min-height: 0;
  height: 100%;
  overflow-y: auto;
  margin: 0;
  padding: 16px;
  border-radius: 0;
  background: #f6faf7;
  display: grid;
  gap: 10px;
  align-content: start;
}
.inrep-public-body .site-chatbot.has-chat-history .site-chatbot-form {
  margin: 0;
  border-radius: 0;
  border-top: 1px solid var(--gl-border);
  background: #fff;
}
/* Message bubbles + follow-up chip rows */
.inrep-public-body .site-chatbot-message {
  max-width: 86%;
  padding: 10px 13px;
  border-radius: 12px;
  font-size: 14px;
  line-height: 1.45;
  box-shadow: 0 1px 2px rgba(8,37,29,.05);
}
.inrep-public-body .site-chatbot-message.bot {
  justify-self: start;
  border-bottom-left-radius: 4px;
}
.inrep-public-body .site-chatbot-message.user {
  justify-self: end;
  border-bottom-right-radius: 4px;
}
.inrep-public-body .site-chatbot-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.inrep-public-body .site-chatbot-chip-row button {
  padding: 6px 11px;
  border: 1px solid #cfe6d6;
  border-radius: 8px;
  background: #fff;
  font-size: 12px;
  font-weight: 700;
  color: #1d6b3f;
  cursor: pointer;
  transition: background .15s, border-color .15s;
}
.inrep-public-body .site-chatbot-chip-row button:hover {
  background: #f0fbf4;
  border-color: #25c75a;
}

/* Login and password controls. */
.inrep-auth-body .gl-login-card {
  width: min(620px, calc(100% - 40px));
}
.inrep-auth-body .public-alert {
  border: 1px solid rgba(47, 208, 99, .32);
  border-radius: var(--inrep-radius, 10px) !important;
  background: #eefcf2;
  color: #073322;
  padding: 12px 14px;
  font-weight: 700;
  line-height: 1.45;
}
.inrep-auth-body .gl-login-logo .inrep-mark {
  width: 32px;
  height: 32px;
  min-width: 32px;
}
.inrep-auth-body .gl-login-field input {
  width: 100%;
}
.inrep-auth-body .gl-login-password-field,
.inrep-auth-body .gl-login-password-control {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  clip: auto !important;
}
.inrep-auth-body .gl-login-password-control {
  position: relative !important;
}
.inrep-auth-body .gl-login-field .password-wrap,
.inrep-auth-body .gl-login-field .password-control,
.inrep-auth-body .gl-login-field .gl-password-native-wrap,
.gl-password-wrap {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto !important;
}
.inrep-auth-body .gl-login-field .password-wrap input,
.inrep-auth-body .gl-login-field .password-control input,
.inrep-auth-body .gl-login-field .gl-password-native-wrap input,
.gl-password-wrap input {
  width: 100% !important;
  min-width: 0 !important;
  padding-right: 62px !important;
}
.inrep-auth-body .gl-login-password-control input#loginPassword,
.inrep-auth-body .gl-login-card.is-password-stage .gl-login-password-control input#loginPassword {
  display: block !important;
  width: 100% !important;
  height: 66px !important;
  min-height: 66px !important;
  padding: 0 64px 0 28px !important;
  border: 1px solid #bfcac5 !important;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #fff !important;
  color: #061a13 !important;
  box-shadow: none !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 66px !important;
  opacity: 1 !important;
}
.inrep-auth-body .gl-login-password-control input#loginPassword:focus {
  border-color: var(--gl-green) !important;
  box-shadow: 0 0 0 4px rgba(47, 208, 99, .16) !important;
  outline: 0 !important;
}
.inrep-auth-body .gl-login-field .password-wrap .password-toggle.gl-password-peek,
.inrep-auth-body .gl-login-field .password-control .password-toggle.gl-password-peek,
.inrep-auth-body .gl-login-password-control .gl-password-peek,
.gl-password-peek {
  position: absolute !important;
  top: 50% !important;
  right: 12px !important;
  transform: translateY(-50%) !important;
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: var(--inrep-radius, 10px) !important;
  display: grid !important;
  place-items: center;
  background: #eef8f1;
  color: #0a5f36;
  font-size: 0 !important;
  line-height: 1 !important;
}
.inrep-auth-body .gl-login-password-control .gl-password-peek {
  flex: none !important;
  max-width: 40px !important;
  overflow: hidden !important;
}
.gl-password-peek:hover {
  background: #d9f8e5;
}
.inrep-auth-body .gl-login-password-stage {
  gap: 14px;
}
.inrep-auth-body .gl-login-card.is-password-stage .gl-login-password-stage {
  display: grid;
}
.inrep-auth-body .gl-login-card:has(input[type="email"]:not(:placeholder-shown)) .gl-login-password-stage {
  display: grid;
}
.inrep-auth-body .gl-login-card:has(input[type="email"]:not(:placeholder-shown)) .gl-login-continue {
  display: none;
}
.inrep-auth-body .gl-login-card.is-password-stage .gl-login-field input[name="password"] {
  border: 1px solid #9fb2aa;
  background: #fff;
}

/* Public button normalization. */
.inrep-public-body :where(.gl-btn, .btn, a.btn, button.btn, .public-actions a, .public-actions button, .gl-actions a, .gl-actions button, .gl-card a.gl-card-link) {
  min-height: 44px;
  padding: 0 18px;
  border-radius: var(--inrep-radius, 10px) !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-weight: 900;
  line-height: 1.1;
  text-align: center;
  text-decoration: none;
  white-space: normal;
}
.inrep-public-body :where(.gl-btn, .btn, a.btn, button.btn):where(.primary, .btn-primary, .gl-primary),
.inrep-public-body :where(.public-actions .primary, .gl-actions .primary) {
  border: 1px solid var(--gl-green);
  background: var(--gl-green);
  color: #062319 !important;
}
.inrep-public-body :where(.btn:not(.primary):not(.btn-primary), a.btn:not(.primary):not(.btn-primary), button.btn:not(.primary):not(.btn-primary), .public-actions a:not(.primary), .public-actions button:not(.primary), .gl-actions a:not(.primary), .gl-actions button:not(.primary)) {
  border: 1px solid var(--gl-border);
  background: #fff;
  color: var(--gl-ink) !important;
}
.inrep-public-body :where(.btn.tiny, .btn-sm, .public-actions .tiny, .gl-actions .tiny) {
  min-height: 34px;
  padding: 0 12px;
  border-radius: var(--inrep-radius, 10px) !important;
  font-size: 13px;
}
.inrep-public-body :where(.public-actions, .gl-actions) {
  align-items: center;
  gap: 12px;
}

/* Copy/contrast/section alignment corrections. */
.inrep-public-body .gl-dark-cards h3,
.inrep-public-body .gl-dark-cards p,
.inrep-public-body .gl-dark-metrics span {
  color: rgba(255,255,255,.82);
}
.inrep-public-body .gl-dark-cards h3 {
  color: #fff;
}
.inrep-public-body .gl-premium {
  width: 100%;
  margin: 0;
  padding: 62px max(24px, calc((100% - 1180px) / 2));
}
.inrep-public-body .gl-premium > h2,
.inrep-public-body .gl-premium > div {
  width: min(1180px, 100%);
  margin-left: auto;
  margin-right: auto;
}
.inrep-public-body .gl-premium > h2 {
  margin-bottom: 28px;
}
.inrep-public-body .gl-testimonial-block {
  padding-bottom: 56px;
}
.inrep-public-body .gl-testimonial-card {
  align-items: stretch;
}
.inrep-public-body .gl-video-large {
  min-height: 360px;
}
.inrep-public-body .gl-video-tile-static {
  display: grid;
  place-items: center;
  min-height: 320px;
  background:
    radial-gradient(circle at 68% 28%, rgba(47,208,99,.32), transparent 24%),
    linear-gradient(135deg, #0b3b2c, #061812);
}
.inrep-public-body .gl-video-tile-static > span {
  width: 96px;
  height: 96px;
  border-radius: var(--inrep-radius, 10px) !important;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.12);
  color: #d9fbe5;
  border: 1px solid rgba(255,255,255,.16);
}
.inrep-public-body .public-panel {
  background: #fff;
  border: 1px solid var(--gl-border);
  border-radius: var(--inrep-radius, 10px) !important;
  padding: clamp(20px, 2.4vw, 30px);
  box-shadow: 0 14px 38px rgba(8,37,29,.06);
}
.inrep-public-body .public-panel h2,
.inrep-public-body .public-panel h3 {
  margin-top: 0;
  color: var(--gl-ink);
  letter-spacing: 0;
}
.inrep-public-body .public-panel label {
  display: grid;
  gap: 7px;
  color: var(--gl-ink);
  font-weight: 800;
}
.inrep-public-body .public-panel input,
.inrep-public-body .public-panel select,
.inrep-public-body .public-panel textarea {
  width: 100%;
  min-height: 48px;
  border: 1px solid var(--gl-border);
  border-radius: var(--inrep-radius, 10px) !important;
  padding: 10px 13px;
  font: inherit;
  background: #fff;
}
.inrep-public-body .public-panel textarea {
  min-height: 130px;
  resize: vertical;
}
.inrep-public-body .public-grid {
  display: grid;
  gap: clamp(18px, 2.4vw, 28px);
  align-items: stretch;
}
.inrep-public-body .public-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.inrep-public-body .public-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.inrep-public-body .public-empty-state {
  display: grid;
  gap: 8px;
  justify-items: start;
  padding: 24px;
  border: 1px dashed var(--gl-border);
  border-radius: var(--inrep-radius, 10px) !important;
  background: #f7fbf8;
  color: var(--gl-muted);
}
.inrep-public-body .public-empty-state strong {
  color: var(--gl-ink);
}
.inrep-public-body .public-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.inrep-public-body .implementation-plan-link {
  margin-top: 20px;
}
.inrep-public-body .public-alert {
  border: 1px solid var(--gl-border);
  border-radius: var(--inrep-radius, 10px) !important;
  padding: 13px 15px;
  margin: 14px 0;
  background: #f7fbf8;
  color: var(--gl-ink);
  font-weight: 700;
}
.inrep-public-body .public-alert.warning {
  background: #fff8e8;
  border-color: #f0d692;
  color: #6a4a05;
}
.inrep-public-body .public-alert.success {
  background: #e8fbea;
  border-color: #9be3a8;
  color: #07572c;
}
.inrep-public-body .public-alert.info {
  background: #edf7ff;
  border-color: #b9dfff;
  color: #16476e;
}
.inrep-public-body .public-alert.error {
  background: #fff1f1;
  border-color: #ffc6c6;
  color: #7f1d1d;
}
.inrep-public-body .public-alert.warn {
  background: #fff8e8;
  border-color: #f0d692;
  color: #6a4a05;
}
.inrep-public-body .public-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--gl-border);
  border-radius: var(--inrep-radius, 10px) !important;
  background: #fff;
  box-shadow: 0 14px 38px rgba(8,37,29,.06);
}
.inrep-public-body .public-table {
  width: 100%;
  min-width: 760px;
  border-collapse: separate;
  border-spacing: 0;
}
.inrep-public-body .public-table th,
.inrep-public-body .public-table td {
  padding: 17px 20px;
  border-bottom: 1px solid var(--gl-border);
  text-align: left;
  vertical-align: top;
}
.inrep-public-body .public-table th {
  background: #f3f8f3;
  color: #52635b;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.inrep-public-body .public-table tr:last-child td {
  border-bottom: 0;
}
.inrep-public-body .repo-more-actions-v3 {
  position: relative;
}
.inrep-public-body .repo-more-actions-v3 summary {
  list-style: none;
  cursor: pointer;
  min-height: 34px;
  padding: 7px 12px;
  border: 1px solid var(--gl-border);
  border-radius: var(--inrep-radius, 10px) !important;
  display: inline-flex;
  align-items: center;
  font-weight: 800;
  color: var(--gl-ink);
  background: #fff;
}
.inrep-public-body .repo-more-actions-v3 summary::-webkit-details-marker {
  display: none;
}
.inrep-public-body .repo-more-actions-v3 summary:after {
  content: "+";
  margin-left: 8px;
}
.inrep-public-body .repo-more-actions-v3[open] summary:after {
  content: "-";
}
.inrep-public-body .repo-more-actions-v3 > div {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  z-index: 20;
  width: 180px;
  padding: 8px;
  border: 1px solid var(--gl-border);
  border-radius: var(--inrep-radius, 10px) !important;
  background: #fff;
  box-shadow: 0 18px 42px rgba(8,37,29,.14);
  display: grid;
  gap: 4px;
}
.inrep-public-body .repo-more-actions-v3 > div a {
  justify-content: flex-start;
  border: 0;
  border-radius: var(--inrep-radius, 10px) !important;
}
.inrep-public-body .repo-actions-v3 .repo-primary-action-v3 {
  background: var(--gl-green);
  border-color: var(--gl-green);
  color: #062319 !important;
}

/* Public marketing visual polish. */
.inrep-public-body .gl-stars {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  color: #f5a400 !important;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 1px;
  text-shadow: 0 1px 0 rgba(0,0,0,.05);
}
.inrep-public-body .gl-actions .gl-btn,
.inrep-public-body .gl-btn {
  min-height: 46px;
  border-radius: var(--inrep-radius, 10px) !important;
}
.inrep-public-body .gl-btn-green {
  border-color: var(--gl-green) !important;
  background: var(--gl-green) !important;
  color: #062319 !important;
}
.inrep-public-body .gl-btn-outline {
  border-color: #cfdcd5 !important;
  background: #fff !important;
  color: var(--gl-ink) !important;
}
.inrep-public-body .gl-btn svg,
.inrep-public-body a svg,
.inrep-public-body button svg {
  flex: 0 0 auto;
}
.inrep-public-body .gl-home-hero {
  align-items: center;
  padding-top: clamp(32px, 5vw, 62px);
  padding-bottom: clamp(28px, 4vw, 52px);
}
.inrep-public-body .gl-home-video-card {
  isolation: isolate;
}
.inrep-public-body .gl-home-video-card .gl-play,
.inrep-public-body .gl-story-media button,
.inrep-public-body .gl-video-large button,
.inrep-public-body .gl-video-tile button {
  width: 70px !important;
  min-width: 70px !important;
  height: 70px !important;
  min-height: 70px !important;
  padding: 0 !important;
  border-radius: var(--inrep-radius, 10px) !important;
  display: grid !important;
  place-items: center !important;
  inset: auto !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  border: 0;
  z-index: 5;
}
.inrep-public-body .gl-home-video-card .gl-play {
  background: #fff;
  box-shadow: 0 18px 38px rgba(4,31,23,.25);
}
.inrep-public-body .gl-home-screen:after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 50% 50%, rgba(255,255,255,.36), transparent 28%);
}
.inrep-public-body .gl-section-head p {
  max-width: 760px;
  margin: 10px auto 0;
  color: var(--gl-muted);
  font-size: 17px;
  line-height: 1.65;
}
.inrep-public-body .gl-mosaic article {
  position: relative;
  overflow: hidden;
}
.inrep-public-body .gl-mosaic article > span:first-child {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 12px;
  padding: 6px 10px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: rgba(47,208,99,.14);
  color: #0b6b3e;
  font-size: 12px;
  font-weight: 900;
}
.inrep-public-body .gl-mosaic-dark > span:first-child,
.inrep-public-body .gl-mosaic-black > span:first-child,
.inrep-public-body .gl-mosaic-photo > span:first-child {
  background: rgba(255,255,255,.12);
  color: #dfffe8;
}
.inrep-public-body .gl-mosaic a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 900;
}
.inrep-public-body .gl-mini-board {
  min-height: 96px;
  margin-top: 22px;
  border: 1px solid var(--gl-border);
  border-radius: var(--inrep-radius, 10px) !important;
  background:
    linear-gradient(90deg, transparent 0 18%, rgba(47,208,99,.16) 18% 22%, transparent 22% 100%),
    repeating-linear-gradient(0deg, #fff 0 17px, #edf4ef 17px 18px);
}
.inrep-public-body .gl-case-hero .gl-breadcrumb,
.inrep-public-body .gl-breadcrumb {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.inrep-public-body .gl-breadcrumb a {
  color: inherit;
  text-decoration: none;
}
.inrep-public-body .gl-story-media {
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(8,37,29,.02), rgba(8,37,29,.38)),
    radial-gradient(circle at 72% 24%, rgba(255,255,255,.44), transparent 18%),
    linear-gradient(135deg, #dbece3, #628a75);
}
.inrep-public-body .gl-story-media:before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.75) 0 8%, transparent 8%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.14) 0 1px, transparent 1px 36px);
  opacity: .45;
}
.inrep-public-body .gl-story-person {
  position: absolute;
  left: 26px;
  bottom: -8px;
  width: 76px;
  height: 112px;
  border-radius: var(--inrep-radius, 10px) !important;
  background:
    radial-gradient(circle at 50% 22%, #ffd3ad 0 18px, transparent 19px),
    linear-gradient(#14543f 0 100%);
  box-shadow: 86px 18px 0 -28px rgba(47,208,99,.38);
  opacity: .95;
}
.inrep-public-body .gl-story-ui {
  position: absolute;
  right: 22px;
  top: 24px;
  width: 112px;
  height: 76px;
  border-radius: var(--inrep-radius, 10px) !important;
  border: 1px solid rgba(255,255,255,.42);
  background:
    linear-gradient(90deg, rgba(47,208,99,.72) 0 36%, rgba(255,255,255,.72) 36% 40%, rgba(255,255,255,.32) 40% 100%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.36) 0 8px, transparent 8px 16px);
  box-shadow: 0 18px 32px rgba(8,37,29,.18);
}
.inrep-public-body .gl-story-media-2 {
  background:
    linear-gradient(180deg, rgba(8,37,29,.03), rgba(8,37,29,.42)),
    radial-gradient(circle at 30% 30%, rgba(255,196,104,.55), transparent 22%),
    linear-gradient(135deg, #f6ba74, #305243);
}
.inrep-public-body .gl-story-media-3 {
  background:
    linear-gradient(180deg, rgba(8,37,29,.03), rgba(8,37,29,.42)),
    radial-gradient(circle at 70% 26%, rgba(174,220,255,.62), transparent 24%),
    linear-gradient(135deg, #bcd4e8, #365c70);
}
.inrep-public-body .gl-story-media-4 {
  background:
    linear-gradient(180deg, rgba(8,37,29,.04), rgba(8,37,29,.45)),
    radial-gradient(circle at 74% 30%, rgba(47,208,99,.42), transparent 23%),
    linear-gradient(135deg, #d8f4dd, #16523b);
}
.inrep-public-body .gl-story-media-5 {
  background:
    linear-gradient(180deg, rgba(8,37,29,.04), rgba(8,37,29,.45)),
    radial-gradient(circle at 24% 34%, rgba(255,231,171,.6), transparent 24%),
    linear-gradient(135deg, #f8e6bd, #394c3f);
}
.inrep-public-body .gl-story-media-6 {
  background:
    linear-gradient(180deg, rgba(8,37,29,.04), rgba(8,37,29,.45)),
    radial-gradient(circle at 74% 26%, rgba(103,176,255,.45), transparent 23%),
    linear-gradient(135deg, #cfe3ef, #113d34);
}
.inrep-public-body .gl-story-card h3 {
  min-height: 72px;
}
.inrep-public-body .gl-story-card p span {
  background: #dbf9e5;
  color: #0b6b3e;
}

/* Homepage section rebuild: denser Greenly-style composition with Inrep-specific visuals. */
.inrep-public-body .gl-impact-band {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(380px, .85fr);
  gap: 28px;
  align-items: center;
  padding: clamp(54px, 6vw, 84px) clamp(28px, 7vw, 110px);
  background:
    radial-gradient(circle at 18% 82%, rgba(47,208,99,.20), transparent 30%),
    radial-gradient(circle at 80% 18%, rgba(47,208,99,.10), transparent 26%),
    linear-gradient(135deg, #061b15, #073223 58%, #042016);
}
.inrep-public-body .gl-impact-copy {
  max-width: 650px;
}
.inrep-public-body .gl-impact-copy .gl-pill {
  background: rgba(217,251,229,.14);
  color: #d9fbe5;
}
.inrep-public-body .gl-impact-copy h2 {
  margin: 12px 0 14px;
  color: #fff;
  font-size: clamp(26px, 3vw, 40px);
  font-weight: 700;
  line-height: 1.08;
}
.inrep-public-body .gl-impact-copy p {
  max-width: 560px;
  color: rgba(255,255,255,.78);
  font-size: 15px;
  line-height: 1.7;
}
.inrep-public-body .gl-impact-console {
  position: relative;
  min-height: 260px;
  padding: 26px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: var(--inrep-radius, 10px) !important;
  display: grid;
  align-content: center;
  gap: 12px;
  background:
    radial-gradient(circle at 76% 30%, rgba(47,208,99,.24), transparent 28%),
    linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.04));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}
.inrep-public-body .gl-impact-console > span {
  width: fit-content;
  padding: 8px 12px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: rgba(255,255,255,.10);
  color: rgba(255,255,255,.78);
  font-size: 12px;
  font-weight: 900;
}
.inrep-public-body .gl-impact-console > span:nth-child(2) {
  margin-left: 42px;
}
.inrep-public-body .gl-impact-console > span:nth-child(3) {
  margin-left: 84px;
}
.inrep-public-body .gl-console-prompt,
.inrep-public-body .gl-console-input {
  min-height: 44px;
  border-radius: var(--inrep-radius, 10px) !important;
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(255,255,255,.94);
  color: #0b2a20;
  font-weight: 800;
}
.inrep-public-body .gl-console-prompt {
  width: min(420px, 100%);
  padding: 0 16px;
}
.inrep-public-body .gl-console-prompt svg {
  margin-left: auto;
}
.inrep-public-body .gl-console-input {
  margin-top: 4px;
  padding: 0 18px;
  color: #6c7b73;
}
.inrep-public-body .gl-console-input:before {
  content: "";
  width: 18px;
  height: 18px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: var(--gl-green);
  box-shadow: 0 0 0 6px rgba(47,208,99,.12);
}
.inrep-public-body .gl-impact-band .gl-dark-metrics {
  grid-column: 1 / -1;
  margin-top: 12px;
}
.inrep-public-body .gl-impact-band .gl-dark-metrics article {
  min-height: 154px;
  padding: 26px;
  display: grid;
  align-content: center;
  gap: 10px;
  background: rgba(255,255,255,.075);
  border-color: rgba(255,255,255,.12);
}
.inrep-public-body .gl-impact-band .gl-dark-metrics small {
  color: #bdf4d0;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.inrep-public-body .gl-impact-band .gl-dark-metrics strong {
  margin: 0;
  font-size: clamp(22px, 3vw, 36px);
  font-weight: 700;
}
.inrep-public-body .gl-impact-band .gl-dark-metrics span {
  max-width: 340px;
  font-size: 16px;
  line-height: 1.5;
}
.inrep-public-body .gl-mosaic {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}
.inrep-public-body .gl-mosaic-wide {
  grid-column: span 2;
}
.inrep-public-body .gl-mosaic article {
  min-height: 300px;
  padding: clamp(24px, 2.4vw, 34px);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.inrep-public-body .gl-mosaic article h3 {
  margin: 0;
  font-size: clamp(23px, 2vw, 31px);
  line-height: 1.16;
}
.inrep-public-body .gl-mosaic article p {
  margin: 0;
  font-size: 16px;
  line-height: 1.62;
}
.inrep-public-body .gl-mosaic .gl-mini-board {
  margin-top: auto;
  min-height: 118px;
  background:
    linear-gradient(90deg, transparent 0 18%, rgba(47,208,99,.16) 18% 22%, transparent 22% 100%),
    linear-gradient(90deg, rgba(8,37,29,.05), transparent),
    repeating-linear-gradient(0deg, #fff 0 18px, #edf4ef 18px 19px);
}
.inrep-public-body .gl-mosaic-black .gl-scope-meter {
  margin-top: auto;
}
.inrep-public-body .gl-mosaic-photo {
  min-height: 300px;
}
.inrep-public-body .gl-ai-showcase {
  min-height: auto;
  padding: clamp(40px, 4vw, 62px) clamp(24px, 6vw, 90px);
  grid-template-columns: minmax(0, .95fr) minmax(390px, .75fr);
}
.inrep-public-body .gl-ai-copy h2 {
  max-width: 620px;
  margin: 14px 0 18px;
  font-size: clamp(22px, 2.4vw, 34px);
  line-height: 1.08;
}
.inrep-public-body .gl-ai-checks {
  margin: 22px 0 28px;
  padding: 0;
  display: grid;
  gap: 12px;
  color: rgba(255,255,255,.82);
  list-style: none;
}
.inrep-public-body .gl-ai-checks li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 800;
}
.inrep-public-body .gl-ai-checks li:before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: var(--gl-green);
  box-shadow: 0 0 0 6px rgba(47,208,99,.12);
}
.inrep-public-body .gl-ai-workbench {
  min-height: 360px;
  padding: 34px;
  border-radius: var(--inrep-radius, 10px) !important;
  background:
    radial-gradient(circle at 78% 22%, rgba(47,208,99,.22), transparent 24%),
    linear-gradient(135deg, #1a5b4f, #092720);
}
.inrep-public-body .gl-ai-workbench > div {
  min-height: 292px;
  padding: 28px;
  border-radius: var(--inrep-radius, 10px) !important;
  display: grid;
  gap: 18px;
}
.inrep-public-body .gl-ai-workbench p {
  margin: 0;
  padding: 18px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #f2f6f3;
  color: #0b251d;
  font-size: 18px;
  line-height: 1.45;
}
.inrep-public-body .gl-ai-workbench span {
  color: #0b251d;
}
.inrep-public-body .gl-ai-evidence {
  margin-top: 4px;
  padding: 14px;
  border-radius: var(--inrep-radius, 10px) !important;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr auto;
  gap: 8px;
  background: #eef8f1;
}
.inrep-public-body .gl-ai-evidence i {
  height: 34px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: linear-gradient(90deg, var(--gl-green) 0 58%, #fff 58% 100%);
}
.inrep-public-body .gl-ai-evidence i:nth-child(2) { background: linear-gradient(90deg, #55a7ff 0 42%, #fff 42% 100%); }
.inrep-public-body .gl-ai-evidence i:nth-child(3) { background: linear-gradient(90deg, #ffb750 0 72%, #fff 72% 100%); }
.inrep-public-body .gl-ai-evidence b {
  align-self: center;
  padding: 8px 10px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #d9fbe5;
  color: #0b6b3e;
  font-size: 12px;
}
.inrep-public-body .gl-proof-section {
  padding-top: clamp(56px, 6vw, 84px);
  padding-bottom: clamp(56px, 6vw, 84px);
}
.inrep-public-body .gl-proof-section p {
  max-width: 620px;
  color: var(--gl-muted);
  font-size: 17px;
  line-height: 1.65;
}
.inrep-public-body .gl-proof-card {
  min-height: 370px;
  padding: 24px;
  border: 1px solid var(--gl-border);
  border-radius: var(--inrep-radius, 10px) !important;
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  background: #fff;
  box-shadow: 0 22px 55px rgba(8,37,29,.07);
}
.inrep-public-body .gl-proof-map {
  min-height: 220px;
  border-radius: var(--inrep-radius, 10px) !important;
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 18px;
  padding: 32px;
  background:
    radial-gradient(circle at 75% 72%, rgba(47,208,99,.16), transparent 25%),
    #fbfdfb;
}
.inrep-public-body .gl-proof-map span {
  width: 12px;
  height: 12px;
  border-radius: var(--inrep-radius, 10px) !important;
  align-self: center;
  justify-self: center;
  background: var(--gl-green);
}
.inrep-public-body .gl-proof-map span:nth-child(3n) { background: #55a7ff; }
.inrep-public-body .gl-proof-map span:nth-child(4n) { background: #ffb750; }
.inrep-public-body .gl-proof-map b {
  position: absolute;
  right: 54px;
  bottom: 38px;
  width: 48px;
  height: 48px;
  border-radius: var(--inrep-radius, 10px) !important;
  display: grid;
  place-items: center;
  background: var(--gl-green);
  color: #052117;
}
.inrep-public-body .gl-proof-lines {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.inrep-public-body .gl-proof-lines p {
  margin: 0;
  padding: 14px;
  border: 1px solid var(--gl-border);
  border-radius: var(--inrep-radius, 10px) !important;
  display: grid;
  gap: 2px;
  background: #f7fbf8;
}
.inrep-public-body .gl-proof-lines strong {
  color: var(--gl-ink);
  font-size: 20px;
}
.inrep-public-body .gl-proof-lines span {
  color: var(--gl-muted);
  font-size: 12px;
  font-weight: 800;
}

@media (max-width: 1180px) {
  .inrep-public-body .gl-impact-band,
  .inrep-public-body .gl-ai-showcase {
    grid-template-columns: 1fr;
  }
  .inrep-public-body .gl-impact-console,
  .inrep-public-body .gl-ai-workbench {
    min-width: 0;
  }
  .inrep-public-body .gl-mosaic {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .inrep-public-body .gl-impact-console > span:nth-child(2),
  .inrep-public-body .gl-impact-console > span:nth-child(3) {
    margin-left: 0;
  }
  .inrep-public-body .gl-impact-band .gl-dark-metrics,
  .inrep-public-body .gl-proof-lines,
  .inrep-public-body .gl-mosaic {
    grid-template-columns: 1fr;
  }
  .inrep-public-body .gl-mosaic-wide {
    grid-column: auto;
  }
  .inrep-public-body .gl-ai-showcase {
    grid-template-columns: 1fr;
  }
  .inrep-public-body .gl-ai-workbench,
  .inrep-public-body .gl-proof-card {
    padding: 16px;
  }
}

@media (max-width: 760px) {
  .inrep-public-body .public-grid-2,
  .inrep-public-body .public-grid-3 {
    grid-template-columns: 1fr;
  }
  .inrep-public-body .public-panel {
    padding: 18px;
    border-radius: var(--inrep-radius, 10px) !important;
  }
  .inrep-public-body .public-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .inrep-public-body .public-actions .btn,
  .inrep-public-body .public-actions .gl-btn {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 1180px) {
  .inrep-public-body .gl-nav {
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: 0 10px 0 16px;
    gap: 8px;
  }
  .inrep-public-body .gl-mobile-toggle {
    display: grid !important;
    grid-column: 3;
    justify-self: end;
  }
  .inrep-public-body .gl-nav-links,
  .inrep-public-body .gl-nav-actions {
    display: none !important;
  }
  .inrep-public-body .gl-brand span:last-child {
    max-width: min(56vw, 245px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
@media (max-width: 820px) {
  .inrep-public-body { padding-bottom: 0 !important; }
  .inrep-public-body .site-chatbot {
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    width: auto !important;
  }
  .inrep-public-body .site-chatbot-panel {
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    width: auto !important;
    max-width: none !important;
    max-height: calc(100dvh - 24px) !important;
    padding: 10px !important;
    overflow-y: auto !important;
  }
  .inrep-public-body .site-chatbot-suggestions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px;
  }
  .inrep-public-body .site-chatbot-suggestions button {
    width: 100%;
    justify-content: flex-start;
    min-height: 40px;
    padding: 8px 14px;
    font-size: 13px;
    text-align: left;
  }
  .inrep-public-body .site-chatbot-suggestions button:nth-child(n+3) {
    display: flex;
  }
  .inrep-public-body .site-chatbot-form {
    display: grid !important;
    grid-template-columns: 28px minmax(0, 1fr) 40px !important;
    gap: 8px !important;
    min-height: 50px;
    padding: 0 8px !important;
  }
  .inrep-public-body .site-chatbot-form input {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px;
    font-size: 14px;
  }
  .inrep-public-body .site-chatbot-form button {
    width: 40px !important;
    height: 40px !important;
  }
}
@media (max-width: 520px) {
  .inrep-public-body .gl-brand {
    font-size: 19px;
  }
  .inrep-public-body .gl-brand .inrep-mark {
    width: 32px;
    height: 32px;
    min-width: 32px;
  }
  .inrep-auth-body .gl-login-card {
    padding: 34px 22px;
  }
  .inrep-public-body .gl-mobile-toggle {
    width: 58px;
    height: 58px;
  }
  .inrep-public-body .gl-home-hero,
  .inrep-public-body .gl-home-hero + .gl-logo-strip,
  .inrep-public-body .gl-soft-section,
  .inrep-public-body .gl-section,
  .inrep-public-body .gl-dark-band,
  .inrep-public-body .gl-ai-panel,
  .inrep-public-body .gl-proof-section,
  .inrep-public-body .gl-final-cta {
    max-width: 100vw;
    overflow-x: hidden;
  }
}

/* Final public header and home operating-layer correction. */
.inrep-public-body .gl-sticky-shell {
  position: sticky;
  top: 0;
  z-index: 12000;
  width: 100%;
  background: #fff;
  box-shadow: 0 1px 0 rgba(8,37,29,.08);
}
.inrep-public-body .gl-sticky-shell .gl-nav {
  position: relative !important;
  top: auto !important;
  z-index: 2 !important;
  overflow: visible;
}
.inrep-public-body .gl-sticky-shell .gl-mega {
  z-index: 3;
}
.inrep-public-body .gl-sticky-shell .gl-topbar {
  position: relative;
  z-index: 3;
}
.inrep-public-body .gl-operating-layer {
  width: min(1450px, calc(100% - 18px));
  margin: 0 auto;
  padding: clamp(40px, 4vw, 62px) 0 clamp(44px, 5vw, 70px);
  border-radius: var(--inrep-radius, 10px) !important;
  background: #f4f7f4;
}
.inrep-public-body .gl-operating-layer .gl-section-head {
  width: min(900px, calc(100% - 48px));
  margin-bottom: 34px;
}
.inrep-public-body .gl-operating-layer .gl-section-head h2 {
  max-width: 720px;
  font-size: clamp(24px, 2.5vw, 34px);
  font-weight: 700;
  line-height: 1.1;
}
.inrep-public-body .gl-operating-layer .gl-section-head p {
  max-width: 680px;
  font-size: 15px;
  line-height: 1.65;
}
.inrep-public-body .gl-operating-layer .gl-mosaic {
  width: min(1120px, calc(100% - 48px));
  grid-template-columns: 1.15fr 1.15fr .9fr .9fr;
  grid-template-areas:
    "command command fit quality"
    "command command governance reporting"
    "support scale scale scale";
  grid-auto-rows: minmax(270px, auto);
  align-items: stretch;
  gap: 18px;
}
.inrep-public-body .gl-operating-layer .gl-mosaic article {
  min-height: 0;
  height: auto;
  padding: 28px;
  border-radius: var(--inrep-radius, 10px) !important;
  gap: 12px;
  box-shadow: none;
}
.inrep-public-body .gl-operating-layer .gl-mosaic-wide { grid-column: auto; }
.inrep-public-body .gl-operating-layer .gl-mosaic article:first-child {
  grid-column: auto;
  grid-row: auto;
  padding: 34px;
}
.inrep-public-body .gl-operating-layer .gl-mosaic article:last-child {
  grid-column: auto;
}
.inrep-public-body .gl-operating-layer .gl-mosaic article:nth-child(1) { grid-area: command; }
.inrep-public-body .gl-operating-layer .gl-mosaic article:nth-child(2) { grid-area: fit; }
.inrep-public-body .gl-operating-layer .gl-mosaic article:nth-child(3) { grid-area: quality; }
.inrep-public-body .gl-operating-layer .gl-mosaic article:nth-child(4) { grid-area: governance; }
.inrep-public-body .gl-operating-layer .gl-mosaic article:nth-child(5) { grid-area: reporting; }
.inrep-public-body .gl-operating-layer .gl-mosaic article:nth-child(6) { grid-area: support; }
.inrep-public-body .gl-operating-layer .gl-mosaic article:nth-child(7) { grid-area: scale; }
.inrep-public-body .gl-operating-layer .gl-mosaic article h3 {
  font-size: clamp(14px, 1.1vw, 17px);
  font-weight: 700;
  line-height: 1.25;
}
.inrep-public-body .gl-operating-layer .gl-mosaic article:first-child h3,
.inrep-public-body .gl-operating-layer .gl-mosaic article:last-child h3 {
  font-size: clamp(17px, 1.5vw, 22px);
  font-weight: 700;
}
.inrep-public-body .gl-operating-layer .gl-mosaic article p {
  font-size: 14.5px;
  line-height: 1.5;
}
.inrep-public-body .gl-operating-layer .gl-mosaic article > span:first-child {
  margin-bottom: 4px;
}
.inrep-public-body .gl-operating-layer .gl-mini-board {
  min-height: 150px;
  margin-top: auto;
  border-color: #d9e6de;
  background:
    linear-gradient(90deg, transparent 0 18%, rgba(47,208,99,.18) 18% 22%, transparent 22% 100%),
    linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,255,255,.65)),
    repeating-linear-gradient(0deg, #fff 0 21px, #e8f0eb 21px 22px);
}
.inrep-public-body .gl-operating-layer .gl-mosaic-dark {
  background:
    radial-gradient(circle at 82% 14%, rgba(47,208,99,.18), transparent 34%),
    #071a15 !important;
}
.inrep-public-body .gl-operating-layer .gl-mosaic-black {
  background:
    radial-gradient(circle at 62% 82%, rgba(136,46,46,.42), transparent 38%),
    #071a15 !important;
}
.inrep-public-body .gl-operating-layer .gl-mosaic-photo {
  background:
    linear-gradient(180deg, rgba(8,37,29,.02), rgba(8,37,29,.74)),
    radial-gradient(circle at 74% 22%, #d6bd84 0 19%, transparent 20%),
    linear-gradient(135deg, #a8d0bd, #123629) !important;
}
.inrep-public-body .gl-operating-layer .gl-mosaic a {
  margin-top: auto;
}
.inrep-public-body .gl-operating-layer .gl-scope-meter {
  width: 132px;
  height: 70px;
  margin-top: auto;
}

@media (max-width: 1180px) {
  .inrep-public-body .gl-operating-layer .gl-mosaic {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas: none;
    grid-auto-rows: auto;
  }
  .inrep-public-body .gl-operating-layer .gl-mosaic article,
  .inrep-public-body .gl-operating-layer .gl-mosaic article:first-child,
  .inrep-public-body .gl-operating-layer .gl-mosaic article:last-child {
    grid-column: auto;
    grid-row: auto;
    grid-area: auto;
    min-height: 300px;
  }
}

@media (max-width: 760px) {
  .inrep-public-body .gl-sticky-shell {
    box-shadow: 0 8px 26px rgba(8,37,29,.08);
  }
  .inrep-public-body .gl-operating-layer {
    width: min(100% - 18px, 1450px);
    padding: 46px 0 56px;
  }
  .inrep-public-body .gl-operating-layer .gl-section-head {
    width: calc(100% - 28px);
    justify-items: start;
    text-align: left;
  }
  .inrep-public-body .gl-operating-layer .gl-mosaic {
    width: calc(100% - 28px);
    grid-template-columns: 1fr;
    grid-template-areas: none;
  }
  .inrep-public-body .gl-operating-layer .gl-mosaic article,
  .inrep-public-body .gl-operating-layer .gl-mosaic article:first-child,
  .inrep-public-body .gl-operating-layer .gl-mosaic article:last-child {
    grid-area: auto;
    min-height: 250px;
    padding: 24px;
  }
  .inrep-public-body .gl-operating-layer .gl-mini-board {
    min-height: 120px;
  }
}

/* Public website polish pass: sticky navigation, stronger public IA, image-backed sections, docs readability. */
.inrep-public-body .gl-sticky-shell {
  position: sticky;
  top: 0;
  z-index: 10000;
  background: #fff;
  box-shadow: 0 10px 28px rgba(8,37,29,.045);
}
.inrep-public-body .gl-nav {
  position: relative;
  top: auto;
  z-index: 2;
  backdrop-filter: saturate(160%) blur(14px);
}
.inrep-public-body .gl-nav-links {
  gap: clamp(6px, .8vw, 14px);
}
.inrep-public-body .gl-topbar.is-hidden + .gl-nav {
  border-top: 0;
}
.inrep-public-body .gl-mega {
  z-index: 10002;
}
.inrep-public-body .gl-mobile-scrim,
.inrep-public-body .gl-mobile-drawer {
  z-index: 10003;
}
.inrep-public-body .gl-illustration-card,
.inrep-public-body .gl-step-visual,
.inrep-public-body .gl-video-large-image {
  margin: 0;
  overflow: hidden;
  border-radius: var(--inrep-radius, 10px) !important;
  border: 1px solid rgba(185,210,196,.75);
  background: #f5faf7;
  box-shadow: 0 22px 70px rgba(8,37,29,.12);
}
.inrep-public-body .gl-illustration-card img,
.inrep-public-body .gl-step-visual img,
.inrep-public-body .gl-video-large-image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 320px;
  object-fit: cover;
}
.inrep-public-body .gl-info-hero-polished,
.inrep-public-body .gl-product-hero-pro {
  background: linear-gradient(135deg, #f7fbf8 0%, #eef7f1 48%, #ffffff 100%);
  border: 1px solid #e1ebe5;
  box-shadow: 0 22px 70px rgba(8,37,29,.06);
}
.inrep-public-body .gl-info-hero-polished h1,
.inrep-public-body .gl-product-hero-pro h1,
.inrep-public-body .gl-info-hero-polished p {
  color: var(--gl-ink);
}
.inrep-public-body .gl-product-hero-pro {
  color: var(--gl-ink);
}
.inrep-public-body .gl-product-hero-pro h1,
.inrep-public-body .gl-product-hero-pro p {
  color: var(--gl-ink) !important;
}
.inrep-public-body .gl-product-illustration {
  position: relative;
  min-height: 420px;
}
.inrep-public-body .gl-product-illustration figcaption {
  position: absolute;
  right: 24px;
  bottom: 24px;
  padding: 18px 20px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: rgba(255,255,255,.94);
  box-shadow: 0 16px 40px rgba(8,37,29,.12);
  display: grid;
  gap: 4px;
}
.inrep-public-body .gl-product-illustration figcaption strong {
  font-size: 32px;
  color: var(--gl-ink);
}
.inrep-public-body .gl-product-illustration figcaption span {
  color: var(--gl-muted);
  font-weight: 800;
}
.inrep-public-body .gl-value-grid {
  width: min(1220px, calc(100% - 48px));
  padding: 62px 0;
}
.inrep-public-body .gl-value-grid h2 {
  width: min(820px, 100%);
  margin: 0 auto 30px;
  text-align: center;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.08;
}
.inrep-public-body .gl-value-grid > div {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 18px;
  padding: 0;
  overflow: visible;
}
.inrep-public-body .gl-value-grid article {
  min-height: 235px;
  padding: 28px;
  border: 1px solid #d8e7df;
  border-radius: var(--inrep-radius, 10px) !important;
  color: var(--gl-ink);
  background: #fff;
  box-shadow: 0 18px 44px rgba(8,37,29,.06);
}
.inrep-public-body .gl-value-grid article:nth-child(1),
.inrep-public-body .gl-value-grid article:nth-child(4) {
  background: #0b3528;
  color: #fff;
}
.inrep-public-body .gl-value-grid article:nth-child(2) { background: #dffbe8; }
.inrep-public-body .gl-value-grid article:nth-child(3) { background: #111; color: #fff; }
.inrep-public-body .gl-value-grid article h3,
.inrep-public-body .gl-value-grid article p { color: inherit; }
.inrep-public-body .gl-value-grid article p { opacity: .82; line-height: 1.6; }
.inrep-public-body .gl-ai-save {
  display: grid;
  grid-template-columns: minmax(0,.95fr) minmax(0,1.6fr);
  gap: 36px;
  align-items: start;
}
.inrep-public-body .gl-ai-save-head {
  display: grid;
  align-content: start;
  gap: 16px;
}
.inrep-public-body .gl-ai-save-head h2 {
  margin: 0;
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.08;
}
.inrep-public-body .gl-ai-save-head p {
  margin: 0;
  color: rgba(255,255,255,.76);
  line-height: 1.65;
}
.inrep-public-body .gl-dark-cards {
  gap: 18px;
}
.inrep-public-body .gl-dark-cards article {
  min-height: 210px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: rgba(255,255,255,.095);
  border-color: rgba(255,255,255,.14);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.inrep-public-body .gl-dark-cards h3,
.inrep-public-body .gl-dark-cards p {
  color: #fff !important;
}
.inrep-public-body .gl-dark-cards p {
  opacity: .78;
  line-height: 1.65;
}
.inrep-public-body .gl-data-section-polished h2,
.inrep-public-body .gl-success-cards h2 {
  font-size: clamp(20px, 2.6vw, 30px);
  line-height: 1.12;
}
.inrep-public-body .gl-expert-support {
  width: min(1220px, calc(100% - 48px));
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(420px,1fr);
  gap: 46px;
  align-items: center;
}
.inrep-public-body .gl-expert-copy {
  display: grid;
  gap: 16px;
}
.inrep-public-body .gl-expert-copy h2,
.inrep-public-body .gl-expert-copy p {
  margin: 0;
}
.inrep-public-body .gl-expert-copy ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
.inrep-public-body .gl-expert-copy li {
  position: relative;
  padding-left: 28px;
  color: var(--gl-muted);
  line-height: 1.55;
}
.inrep-public-body .gl-expert-copy li:before {
  content: "";
  position: absolute;
  left: 0;
  top: .45em;
  width: 14px;
  height: 14px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: var(--gl-green);
}
.inrep-public-body .gl-illustration-card-dark {
  background: #08251d;
}
.inrep-public-body .gl-testimonial-polished .gl-testimonial-card {
  grid-template-columns: minmax(360px,.9fr) 1fr;
  align-items: center;
}
.inrep-public-body .gl-video-large-image {
  min-height: 360px;
  position: relative;
}
.inrep-public-body .gl-video-large-image button,
.inrep-public-body .gl-video-large-image:after {
  display: none !important;
}
.inrep-public-body .gl-operating-layer-pro {
  background: #fff;
}
.inrep-public-body .gl-operating-grid {
  width: min(1220px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 18px;
}
.inrep-public-body .gl-operating-card {
  min-height: 236px;
  padding: 26px;
  border: 1px solid #dbe8e1;
  border-radius: var(--inrep-radius, 10px) !important;
  display: grid;
  gap: 12px;
  align-content: start;
  background: #fff;
  box-shadow: 0 18px 48px rgba(8,37,29,.055);
}
.inrep-public-body .gl-operating-card-main {
  grid-column: span 2;
  grid-row: span 2;
  grid-template-columns: minmax(0,1fr);
  padding: 0;
  overflow: hidden;
  background: #08251d;
  color: #fff;
}
.inrep-public-body .gl-operating-card-main > div {
  padding: 30px 30px 0;
}
.inrep-public-body .gl-operating-card-main figure {
  margin: 10px 18px 18px;
  overflow: hidden;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #fff;
}
.inrep-public-body .gl-operating-card-main img {
  width: 100%;
  min-height: 270px;
  object-fit: cover;
  display: block;
}
.inrep-public-body .gl-operating-card span {
  width: max-content;
  padding: 6px 10px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #d9fbe5;
  color: #0b6c3b;
  font-size: 12px;
  font-weight: 900;
}
.inrep-public-body .gl-operating-card h3 {
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.22;
}
.inrep-public-body .gl-operating-card p {
  margin: 0;
  line-height: 1.62;
}
.inrep-public-body .gl-operating-card-main h3,
.inrep-public-body .gl-operating-card-main p,
.inrep-public-body .gl-operating-card-main a {
  color: #fff;
}
.inrep-public-body .gl-product-steps-pro .gl-step-visual {
  min-height: 300px;
  display: block;
  padding: 0;
  background: #f5faf7 !important;
}
.inrep-public-body .gl-product-steps-pro .gl-step-visual img {
  min-height: 300px;
}
.inrep-public-body .gl-price-cards {
  width: min(1180px, calc(100% - 48px));
  margin-left: auto;
  margin-right: auto;
  grid-template-columns: repeat(3, minmax(0,1fr));
  align-items: stretch;
}
.inrep-public-body .gl-price-cards article {
  min-width: 0;
  border-radius: var(--inrep-radius, 10px) !important;
}
.inrep-public-body .gl-price-cards h2 {
  display: grid;
  grid-template-columns: 44px minmax(0,1fr);
  gap: 12px;
  align-items: start;
  margin: 0;
  font-size: clamp(22px, 2.2vw, 30px);
  line-height: 1.16;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.inrep-public-body .gl-price-cards h2 span {
  flex: none;
}
.inrep-public-body .gl-detailed-rate {
  grid-column: 1 / -1;
  min-height: 230px;
  border-radius: var(--inrep-radius, 10px) !important;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 28px;
  background: linear-gradient(135deg, #0b3328, #0e5034 65%, #20724a);
}
.inrep-public-body .gl-detailed-rate p {
  max-width: 720px;
}
.inrep-public-body .gl-detailed-rate a {
  max-width: 240px;
}
.inrep-public-body .gl-sector-band-pro {
  width: min(1220px, calc(100% - 48px));
  padding: 72px;
  display: grid;
  grid-template-columns: minmax(280px,.9fr) minmax(320px,1fr);
  gap: 24px;
  align-items: stretch;
  background: #f4f8f5;
}
.inrep-public-body .gl-sector-band-pro > div {
  align-content: center;
  display: grid;
  gap: 16px;
}
.inrep-public-body .gl-sector-band-pro > div h2,
.inrep-public-body .gl-sector-band-pro > div p {
  margin: 0;
}
.inrep-public-body .gl-sector-band-pro figure {
  grid-row: span 4;
  margin: 0;
  border-radius: var(--inrep-radius, 10px) !important;
  overflow: hidden;
  border: 1px solid #d8e7df;
  background: #fff;
  box-shadow: 0 18px 48px rgba(8,37,29,.07);
}
.inrep-public-body .gl-sector-band-pro figure img {
  width: 100%;
  height: 100%;
  min-height: 340px;
  display: block;
  object-fit: cover;
}
.inrep-public-body .gl-sector-band-pro article {
  min-height: 0;
  padding: 20px;
  border-radius: var(--inrep-radius, 10px) !important;
  display: grid;
  gap: 8px;
  align-content: start;
  color: var(--gl-ink);
  background: #fff;
  border: 1px solid #d8e7df;
  box-shadow: 0 12px 36px rgba(8,37,29,.05);
}
.inrep-public-body .gl-sector-band-pro article strong {
  color: var(--gl-ink);
  font-size: 18px;
}
.inrep-public-body .gl-sector-band-pro article span {
  color: var(--gl-muted);
  font-weight: 600;
  line-height: 1.55;
}
.inrep-public-body .docs-hero-pro .page-hero-sub {
  max-width: 850px;
}
.inrep-public-body .docs-hero-actions {
  margin-top: 22px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}
.inrep-public-body .docs-intro-band {
  width: min(1120px, calc(100% - 48px));
  margin: 36px auto 0;
  padding: 30px;
  border: 1px solid #dbe8e1;
  border-radius: var(--inrep-radius, 10px) !important;
  display: grid;
  grid-template-columns: 320px minmax(0,1fr);
  gap: 32px;
  align-items: center;
  background: #f6faf7;
}
.inrep-public-body .docs-intro-band figure {
  margin: 0;
  border-radius: var(--inrep-radius, 10px) !important;
  overflow: hidden;
  background: #fff;
  border: 1px solid #dbe8e1;
}
.inrep-public-body .docs-intro-band img {
  width: 100%;
  display: block;
}
.inrep-public-body .docs-intro-band h2 {
  margin: 10px 0;
  font-size: 34px;
}
.inrep-public-body .docs-grid-pro {
  gap: 20px;
}
.inrep-public-body .docs-grid-pro .docs-card {
  border-radius: var(--inrep-radius, 10px) !important;
  box-shadow: 0 18px 44px rgba(8,37,29,.055);
}
.inrep-public-body .docs-grid-pro .docs-card p {
  margin: 0 0 14px;
  line-height: 1.55;
}
.inrep-public-body .docs-plain-box {
  margin-bottom: 28px;
  padding: 22px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #effbf4;
  border: 1px solid #ccead8;
}
.inrep-public-body .docs-plain-box strong {
  display: block;
  margin-bottom: 8px;
  color: var(--gl-ink);
  font-size: 18px;
}
.inrep-public-body .docs-plain-box p {
  margin: 0;
}
.inrep-public-body .docs-article-section-pro {
  grid-template-columns: minmax(0,1fr) 340px;
}
.inrep-public-body .docs-article-card h2 {
  margin-top: 30px;
  padding-top: 22px;
  border-top: 1px solid #e3eee8;
}
.inrep-public-body .docs-step-list-pro {
  counter-reset: docStep;
  list-style: none;
  padding: 0;
}
.inrep-public-body .docs-step-list-pro li {
  counter-increment: docStep;
  position: relative;
  padding: 16px 18px 16px 58px;
  border: 1px solid #dfeae4;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #fff;
}
.inrep-public-body .docs-step-list-pro li:before {
  content: counter(docStep);
  position: absolute;
  left: 18px;
  top: 16px;
  width: 26px;
  height: 26px;
  border-radius: var(--inrep-radius, 10px) !important;
  display: grid;
  place-items: center;
  background: var(--gl-green);
  color: #062319;
  font-size: 13px;
  font-weight: 900;
}
.inrep-public-body .docs-related-card {
  top: 116px;
}
@media (max-width: 1180px) {
  .inrep-public-body .gl-ai-save,
  .inrep-public-body .gl-expert-support,
  .inrep-public-body .gl-sector-band-pro,
  .inrep-public-body .docs-intro-band,
  .inrep-public-body .docs-article-section-pro {
    grid-template-columns: 1fr;
  }
  .inrep-public-body .gl-value-grid > div,
  .inrep-public-body .gl-operating-grid,
  .inrep-public-body .gl-price-cards {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .inrep-public-body .gl-operating-card-main,
  .inrep-public-body .gl-detailed-rate {
    grid-column: 1 / -1;
  }
  .inrep-public-body .gl-expert-support {
    width: min(760px, calc(100% - 48px));
  }
}
@media (max-width: 820px) {
  .inrep-public-body .gl-sticky-shell {
    position: sticky;
  }
  .inrep-public-body .gl-topbar {
    padding: 7px 44px 7px 14px;
    font-size: 12px;
  }
  .inrep-public-body .gl-value-grid > div,
  .inrep-public-body .gl-operating-grid,
  .inrep-public-body .gl-price-cards,
  .inrep-public-body .gl-dark-cards,
  .inrep-public-body .gl-testimonial-polished .gl-testimonial-card {
    grid-template-columns: 1fr;
  }
  .inrep-public-body .gl-operating-card-main {
    grid-column: auto;
  }
  .inrep-public-body .gl-sector-band-pro {
    width: min(100% - 16px, 760px);
    padding: 34px 20px;
  }
  .inrep-public-body .gl-detailed-rate {
    display: grid;
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .inrep-public-body .gl-price-cards h2 {
    font-size: 24px;
  }
  .inrep-public-body .docs-intro-band {
    width: min(100% - 24px, 680px);
    padding: 20px;
  }
  .inrep-public-body .docs-hero-actions {
    justify-content: flex-start;
  }
}

/* Public website correction pass: hard sticky nav, Greenly-style polish, real image surfaces. */
.inrep-public-body {
  --gl-header-height: 104px;
  padding-top: var(--gl-header-height) !important;
  background: #fff;
}
.inrep-public-body .gl-sticky-shell {
  position: fixed !important;
  inset: 0 0 auto 0 !important;
  z-index: 50000 !important;
  width: 100% !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 1px 0 rgba(8,37,29,.08), 0 14px 40px rgba(8,37,29,.05) !important;
  backdrop-filter: saturate(170%) blur(16px);
  transform: translateZ(0);
}
.inrep-public-body .gl-sticky-shell .gl-nav {
  position: relative !important;
  min-height: 74px;
  background: rgba(255,255,255,.96) !important;
}
.inrep-public-body .gl-sticky-shell .gl-mega {
  position: absolute !important;
  top: 100% !important;
  z-index: 50002 !important;
}
.inrep-public-body .gl-mobile-scrim { z-index: 50003 !important; }
.inrep-public-body .gl-mobile-drawer { z-index: 50004 !important; }
.inrep-public-body .gl-topbar {
  min-height: 31px;
  background: #05251d;
  letter-spacing: .01em;
}
.inrep-public-body .gl-nav-links > a[aria-current="page"],
.inrep-public-body .gl-nav-group > button[aria-expanded="true"] {
  background: #f0f6f2;
  color: var(--gl-ink);
}
.inrep-public-body .gl-start,
.inrep-public-body .gl-btn-dark {
  box-shadow: 0 8px 22px rgba(0,0,0,.12);
}
.inrep-public-body .gl-operating-layer-pro {
  width: min(1450px, calc(100% - 18px));
  margin: 0 auto;
  padding: clamp(64px, 7vw, 96px) 0;
  border-radius: var(--inrep-radius, 10px) !important;
  background: linear-gradient(180deg, #fff 0%, #f5f9f6 100%);
  border: 1px solid #e3eee7;
}
.inrep-public-body .gl-operating-grid-v3 {
  width: min(1220px, calc(100% - 48px));
  grid-template-columns: minmax(0,1.25fr) repeat(2, minmax(0,.875fr));
  grid-auto-rows: minmax(270px, auto);
  gap: 20px;
}
.inrep-public-body .gl-operating-grid-v3 .gl-operating-card {
  border-radius: var(--inrep-radius, 10px) !important;
  overflow: hidden;
  border-color: #dce9e2;
  box-shadow: 0 22px 58px rgba(8,37,29,.07);
}
.inrep-public-body .gl-operating-grid-v3 .gl-operating-card:not(.gl-operating-card-main) {
  padding: 0;
  gap: 0;
  background: #fff;
}
.inrep-public-body .gl-operating-grid-v3 .gl-operating-card:not(.gl-operating-card-main) > img {
  width: 100%;
  height: 150px;
  object-fit: cover;
  display: block;
  border-bottom: 1px solid #e1ece6;
}
.inrep-public-body .gl-operating-grid-v3 .gl-operating-card:not(.gl-operating-card-main) > :not(img) {
  margin-left: 24px;
  margin-right: 24px;
}
.inrep-public-body .gl-operating-grid-v3 .gl-operating-card:not(.gl-operating-card-main) > span {
  margin-top: 22px;
}
.inrep-public-body .gl-operating-grid-v3 .gl-operating-card:not(.gl-operating-card-main) > p {
  margin-bottom: 24px;
}
.inrep-public-body .gl-operating-card-main {
  grid-column: span 1;
  grid-row: span 2;
  background: #061f18;
}
.inrep-public-body .gl-operating-card-main figure {
  margin: 18px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #fff;
}
.inrep-public-body .gl-operating-card-main img {
  min-height: 320px;
}
.inrep-public-body .gl-operating-card-accent {
  background: linear-gradient(135deg, #09281f, #0e5b39) !important;
  color: #fff;
  padding: 26px !important;
}
.inrep-public-body .gl-operating-card-accent h3,
.inrep-public-body .gl-operating-card-accent p { color: #fff; }
.inrep-public-body .gl-mini-report {
  width: calc(100% - 48px);
  min-height: 98px;
  margin: auto 24px 24px;
  padding: 18px;
  border-radius: var(--inrep-radius, 10px) !important;
  display: grid;
  gap: 12px;
  background: rgba(255,255,255,.12);
}
.inrep-public-body .gl-mini-report b {
  display: block;
  height: 12px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: rgba(255,255,255,.75);
}
.inrep-public-body .gl-mini-report b:nth-child(2) { width: 76%; background: var(--gl-green); }
.inrep-public-body .gl-mini-report b:nth-child(3) { width: 58%; }
.inrep-public-body .gl-story-media,
.inrep-public-body .gl-video-large-image,
.inrep-public-body .gl-tech-photo-image,
.inrep-public-body .gl-video-tile-image,
.inrep-public-body .gl-client-base aside,
.inrep-public-body .gl-image-card {
  position: relative;
  overflow: hidden;
  background: #eff8f2 !important;
}
.inrep-public-body .gl-story-media img,
.inrep-public-body .gl-video-large-image img,
.inrep-public-body .gl-tech-photo-image img,
.inrep-public-body .gl-video-tile-image img,
.inrep-public-body .gl-client-base aside img,
.inrep-public-body .gl-image-card > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.inrep-public-body .gl-story-media:after,
.inrep-public-body .gl-tech-photo-image:after,
.inrep-public-body .gl-image-card:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8,37,29,.03), rgba(8,37,29,.58));
  pointer-events: none;
}
.inrep-public-body .gl-story-card h3,
.inrep-public-body .gl-story-card p,
.inrep-public-body .gl-story-media button,
.inrep-public-body .gl-tech-photo-image h3,
.inrep-public-body .gl-image-card strong,
.inrep-public-body .gl-image-card span {
  position: relative;
  z-index: 2;
}
.inrep-public-body .gl-story-media button { background: rgba(255,255,255,.95); }
.inrep-public-body .gl-image-card {
  padding: 28px;
  display: grid;
  align-content: end;
  min-height: 260px;
}
.inrep-public-body .gl-image-card strong,
.inrep-public-body .gl-image-card span { color: #fff; }
.inrep-public-body .gl-video-large-image { min-height: 360px; }
.inrep-public-body .gl-video-large-image img { position: static; min-height: 360px; }
.inrep-public-body .gl-video-tile-image {
  min-height: 320px;
  border-radius: var(--inrep-radius, 10px) !important;
  border: 1px solid rgba(255,255,255,.12);
}
.inrep-public-body .gl-video-tile-image img { position: static; min-height: 320px; }
.inrep-public-body .gl-tech-photo-image {
  min-height: 230px;
  color: #fff;
}
.inrep-public-body .gl-tech-photo-image h3 {
  margin-top: auto;
  color: #fff;
}
.inrep-public-body .gl-client-base aside {
  min-height: 340px;
}
.inrep-public-body .gl-client-base aside img { position: static; min-height: 340px; }
.inrep-public-body .gl-sector-band-pro figure img,
.inrep-public-body .gl-illustration-card img,
.inrep-public-body .gl-step-visual img {
  background: #f7fbf8;
}
.inrep-public-body .gl-soft-section,
.inrep-public-body .gl-addons,
.inrep-public-body .gl-client-base,
.inrep-public-body .gl-premium,
.inrep-public-body .gl-sector-band,
.inrep-public-body .cards-section.mkt-light,
.inrep-public-body .contact-section.mkt-light {
  background: #f5f8f5 !important;
}
.inrep-public-body .gl-price-cards h2 {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}
.inrep-public-body .gl-price-cards article,
.inrep-public-body .gl-detailed-rate,
.inrep-public-body .gl-addon-grid span,
.inrep-public-body .gl-faq-list details,
.inrep-public-body .docs-card,
.inrep-public-body .feature-card,
.inrep-public-body .public-card {
  border-radius: var(--inrep-radius, 10px) !important;
  box-shadow: 0 18px 44px rgba(8,37,29,.055);
}
.inrep-public-body .docs-article-card {
  font-size: 17px;
  line-height: 1.75;
}
.inrep-public-body .docs-article-card p,
.inrep-public-body .docs-note-list li,
.inrep-public-body .docs-step-list-pro li {
  color: #40564e;
}
.inrep-public-body .docs-plain-box-light {
  background: #f8fbf9;
  border-color: #dfeae4;
}
.inrep-public-body .docs-related-card {
  position: sticky;
  top: calc(var(--gl-header-height) + 24px) !important;
}
.inrep-public-body .gl-footer {
  background: #f7faf8;
}
.inrep-public-body .gl-footer-cols {
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 32px;
}
@media (max-width: 900px) {
  .inrep-public-body .gl-footer-cols {
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 28px;
  }
}
@media (max-width: 520px) {
  .inrep-public-body .gl-footer-cols {
    grid-template-columns: 1fr;
  }
}
.inrep-public-body .gl-cert-row span {
  background: #fff;
}

/* ── Utility/discovery/AI pages that use bare .mkt-section ───────
   Give them a centered container so forms, buttons, tables and card
   grids stop running edge-to-edge across the viewport. */
.inrep-public-body .mkt-section {
  padding-left: clamp(20px, 5vw, 48px);
  padding-right: clamp(20px, 5vw, 48px);
}
.inrep-public-body .mkt-section > * {
  width: min(1180px, 100%);
  margin-inline: auto;
}
.inrep-public-body .mkt-section > .section-heading {
  text-align: center;
  margin-bottom: 28px;
}
.inrep-public-body .mkt-section > .public-form,
.inrep-public-body .mkt-section > .project-section {
  width: min(820px, 100%);
}
.inrep-public-body .mkt-section .public-form button.btn,
.inrep-public-body .mkt-section .public-form .btn.primary {
  justify-self: center;
  min-width: 240px;
  width: auto;
}

/* ── How it works: timeline steps were invisible (white text on white
   card) and the layout was hijacked by the admin .timeline-item rule. */
.inrep-public-body .timeline-rebuilt .timeline-item {
  grid-template-columns: 64px 1fr;
  gap: 20px;
  align-items: start;
  background: #fff;
  border: 1px solid var(--gl-border);
  border-radius: 14px;
  padding: 22px 24px;
  margin-bottom: 14px;
}
.inrep-public-body .timeline-rebuilt .timeline-num {
  width: 52px;
  height: 52px;
}
.inrep-public-body .timeline-rebuilt .feature-showcase-h2 {
  color: #0f1f14 !important;
  font-size: 19px;
  line-height: 1.25;
  margin: 0 0 6px;
  max-width: none;
}
.inrep-public-body .timeline-rebuilt .feature-showcase-desc {
  color: #52645d !important;
  font-size: 15px;
  line-height: 1.55;
  margin: 0;
  max-width: none;
}
@media (max-width: 1180px) {
  .inrep-public-body .gl-operating-grid-v3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .inrep-public-body .gl-operating-card-main {
    grid-column: 1 / -1;
    grid-row: auto;
  }
}
@media (max-width: 820px) {
  .inrep-public-body { --gl-header-height: 105px; }
  .inrep-public-body .gl-operating-layer-pro,
  .inrep-public-body .gl-value-grid,
  .inrep-public-body .gl-expert-support,
  .inrep-public-body .gl-sector-band-pro {
    width: min(100% - 16px, 760px);
  }
  .inrep-public-body .gl-operating-grid-v3,
  .inrep-public-body .gl-footer-cols {
    grid-template-columns: 1fr;
  }
  .inrep-public-body .gl-operating-grid-v3 {
    width: calc(100% - 28px);
  }
  .inrep-public-body .gl-operating-card-main {
    grid-column: auto;
  }
  .inrep-public-body .gl-operating-grid-v3 .gl-operating-card:not(.gl-operating-card-main) > img {
    height: 190px;
  }
  .inrep-public-body .docs-related-card {
    position: static;
  }
}

/* --- Features page components (previously unstyled) --- */
.inrep-public-body .gl-subpage-hero {
  background: linear-gradient(135deg, #f7fbf8, #fff) !important;
  border: 1px solid #e1ebe5;
  color: var(--gl-ink) !important;
}
.inrep-public-body .gl-subpage-hero h1,
.inrep-public-body .gl-subpage-hero p {
  color: var(--gl-ink) !important;
}
.inrep-public-body .gl-feature-section {
  padding-top: 72px;
  padding-bottom: 48px;
}
.inrep-public-body .gl-feature-grid-4 {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}
.inrep-public-body .gl-feature-card {
  padding: 24px;
  border: 1px solid var(--gl-border);
  border-radius: var(--inrep-radius, 10px) !important;
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: flex-start;
  box-shadow: 0 8px 28px rgba(8,37,29,.05);
  transition: box-shadow .18s ease, transform .18s ease;
  overflow: hidden;
}
.inrep-public-body .gl-feature-card:hover {
  box-shadow: 0 18px 46px rgba(8,37,29,.1);
  transform: translateY(-3px);
}
/* Ops section: non-dark cards get the header strip, then content with padding */
.inrep-public-body .gl-feature-section--ops .gl-feature-card:not(:first-child) {
  padding: 0;
  gap: 0;
}
.inrep-public-body .gl-feature-section--ops .gl-feature-card:not(:first-child) .gl-feat-ops-header {
  width: 100%;
  padding: 0 20px;
  margin-bottom: 0;
}
.inrep-public-body .gl-feature-section--ops .gl-feature-card:not(:first-child) h3 {
  padding: 16px 20px 0;
  margin: 0;
}
.inrep-public-body .gl-feature-section--ops .gl-feature-card:not(:first-child) p {
  padding: 6px 20px 20px;
  margin: 0;
}
.inrep-public-body .gl-feature-shot {
  width: 100%;
  height: 76px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: var(--gl-soft);
  display: flex;
  align-items: flex-end;
  gap: 8px;
  padding: 0 14px 12px;
  overflow: hidden;
}
.inrep-public-body .gl-feature-shot span {
  display: block;
  width: 16px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: var(--gl-green);
  height: 52px;
}
.inrep-public-body .gl-feature-shot b {
  display: block;
  width: 16px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: rgba(37,199,90,.38);
  height: 36px;
}
.inrep-public-body .gl-feature-shot i {
  display: block;
  width: 16px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: rgba(37,199,90,.18);
  height: 24px;
  font-style: normal;
}
.inrep-public-body .feature-card-icon {
  width: 40px;
  height: 40px;
  border-radius: var(--inrep-radius, 10px) !important;
  display: grid;
  place-items: center;
  background: var(--gl-mint);
  color: var(--gl-green-dark);
  flex: none;
}

/* ── Feature card vis: base sizing override for full-bleed validation cards */
.inrep-public-body .gl-feature-section--validation .gl-feat-card-vis {
  width: 100% !important;
  min-height: 90px !important;
  border-radius: 0 !important;
  flex-shrink: 0;
}

/* ── Improved feature card icon (XL) ───────────────────────────────────── */
.inrep-public-body .gl-feat-icon-xl {
  width: 46px;
  height: 46px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: var(--gl-mint);
  color: var(--gl-green-dark);
  flex-shrink: 0;
}
.inrep-public-body .gl-feat-icon-xl--dark {
  background: rgba(255,255,255,.12);
  color: #d9fbe5;
}
.inrep-public-body .gl-feat-icon-xl--reporting {
  background: linear-gradient(135deg, #fefce8, #fef9c3);
  color: #a16207;
  margin-bottom: 4px;
}
/* Ops section icon colour variants per card position */
.inrep-public-body .gl-feat-icon-xl--ops-0 { background: #08251d; color: #25c75a; }
.inrep-public-body .gl-feat-icon-xl--ops-1 { background: var(--gl-mint); color: var(--gl-green-dark); }
.inrep-public-body .gl-feat-icon-xl--ops-2 { background: #dff0ff; color: #1d4ed8; }
.inrep-public-body .gl-feat-icon-xl--ops-3 { background: #fef9c3; color: #a16207; }

/* Ops section card header strip */
.inrep-public-body .gl-feat-ops-header {
  width: 100%;
  height: 80px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  padding: 0 16px;
  flex-shrink: 0;
}
/* Ops cards: first card already dark; others get subtle tinted headers */
.inrep-public-body .gl-feature-section--ops .gl-feature-card:nth-child(2) .gl-feat-ops-header {
  background: linear-gradient(135deg, #f0f9f4, #d9fbe5);
}
.inrep-public-body .gl-feature-section--ops .gl-feature-card:nth-child(3) .gl-feat-ops-header {
  background: linear-gradient(135deg, #eff6ff, #dbeafe);
}
.inrep-public-body .gl-feature-section--ops .gl-feature-card:nth-child(4) .gl-feat-ops-header {
  background: linear-gradient(135deg, #fefce8, #fef9c3);
}

/* Validation card label strip (below illustration) */
.inrep-public-body .gl-feat-card-label {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Dark review-section card vis */
.inrep-public-body .gl-feat-card-vis--dark {
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.1);
}

/* ── Review section: unique per-card CSS illustrations ─────────────────── */

/* Library review — a queue of document rows */
.inrep-public-body .feat-vis--queue {
  background: rgba(255,255,255,.08);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  padding: 14px 16px;
}
.inrep-public-body .feat-vis--queue::before,
.inrep-public-body .feat-vis--queue::after {
  content: "";
  display: block;
  height: 8px;
  border-radius: 4px;
}
.inrep-public-body .feat-vis--queue::before {
  width: 70%;
  background: #25c75a;
}
.inrep-public-body .feat-vis--queue::after {
  width: 45%;
  background: rgba(37,199,90,.4);
}

/* Metadata checks — an inspection form */
.inrep-public-body .feat-vis--inspect {
  background: rgba(255,255,255,.08);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  padding: 12px 16px;
  position: relative;
}
.inrep-public-body .feat-vis--inspect::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 14px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #25c75a;
  box-shadow: 0 4px 0 0 rgba(37,199,90,.3), 0 8px 0 0 rgba(37,199,90,.15);
}
.inrep-public-body .feat-vis--inspect::after {
  content: "";
  display: block;
  margin-left: 26px;
  height: 100%;
  background:
    linear-gradient(#d9fbe5 2px, transparent 2px) 0 0 / 100% 10px,
    linear-gradient(rgba(255,255,255,.2) 2px, transparent 2px) 0 5px / 100% 10px;
  width: calc(100% - 42px);
}

/* Role-based dashboards — user avatars */
.inrep-public-body .feat-vis--roles {
  background: rgba(255,255,255,.08);
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 16px;
}
.inrep-public-body .feat-vis--roles::before,
.inrep-public-body .feat-vis--roles::after {
  content: "";
  display: block;
  border-radius: 999px;
  flex-shrink: 0;
}
.inrep-public-body .feat-vis--roles::before {
  width: 36px; height: 36px;
  background: radial-gradient(circle at 50% 38%, #ffd3ad 0 12px, #1a5c3a 12px);
  border: 2px solid rgba(255,255,255,.25);
}
.inrep-public-body .feat-vis--roles::after {
  width: 28px; height: 28px;
  background: radial-gradient(circle at 50% 38%, #b8d4ff 0 9px, #1e40af 9px);
  border: 2px solid rgba(255,255,255,.2);
}

/* Restricted access — padlock visual */
.inrep-public-body .feat-vis--restricted {
  background: rgba(255,255,255,.08);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.inrep-public-body .feat-vis--restricted::before {
  content: "";
  width: 30px;
  height: 34px;
  background: rgba(255,255,255,.15);
  border-radius: 6px;
  border: 2.5px solid #25c75a;
  position: relative;
  box-shadow: 0 0 0 4px rgba(37,199,90,.15);
}
.inrep-public-body .feat-vis--restricted::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 12px;
  border: 2.5px solid #25c75a;
  border-bottom: none;
  border-radius: 10px 10px 0 0;
  top: calc(50% - 22px);
}

/* ── Responsive adjustments for new card structures ─────────────────────── */
@media (max-width: 760px) {
  .inrep-public-body .gl-feat-ops-header { height: 64px; }
}

.inrep-public-body .gl-feature-card h3 {
  margin: 0;
  font-size: 17px;
  line-height: 1.28;
  color: var(--gl-ink);
}
.inrep-public-body .gl-feature-card p {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--gl-muted);
}
.inrep-public-body .gl-feature-band-compact {
  padding: 62px 8% !important;
}
.inrep-public-body .gl-feature-band-compact .gl-pill {
  background: rgba(220,250,230,.16);
  color: #d9fbe5;
}
.inrep-public-body .gl-feature-band-compact h2 {
  text-align: center;
  max-width: 700px;
  margin: 12px auto 30px;
  font-size: clamp(22px, 2.4vw, 32px);
  font-weight: 700;
}
.inrep-public-body .gl-feature-band-compact .gl-dark-cards {
  grid-template-columns: repeat(3, minmax(0,1fr));
}
@media (max-width: 1180px) {
  .inrep-public-body .gl-feature-grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .inrep-public-body .gl-feature-band-compact .gl-dark-cards {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}
@media (max-width: 640px) {
  .inrep-public-body .gl-feature-grid-4 {
    grid-template-columns: 1fr;
  }
  .inrep-public-body .gl-feature-band-compact .gl-dark-cards {
    grid-template-columns: 1fr;
  }
}

/* -- Greenly design parity: typography scale, spacing, visual weight -- */

/* Global body text - Greenly uses 14-15px for running copy */
.inrep-public-body p {
  font-size: 15px;
  line-height: 1.68;
}

/* Hero - restrained, Greenly-style proportions */
.inrep-public-body .gl-hero-copy h1 {
  font-size: clamp(30px, 3.2vw, 44px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -.025em;
}
.inrep-public-body .gl-hero-copy p {
  font-size: 15px;
  line-height: 1.7;
  max-width: 520px;
  color: var(--gl-muted);
}
.inrep-public-body .gl-home-hero {
  min-height: 440px;
  padding: clamp(48px, 6vw, 72px) clamp(32px, 8%, 10%);
}

/* Section heads - Greenly keeps h2 restrained, letting whitespace do the work */
.inrep-public-body .gl-section-head h2,
.inrep-public-body .gl-standards h2,
.inrep-public-body .gl-testimonial-block > h2,
.inrep-public-body .gl-proof-section h2 {
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 700;
  line-height: 1.15;
}
.inrep-public-body .gl-section-head p {
  font-size: 15px;
  line-height: 1.7;
  color: var(--gl-muted);
  margin-top: 10px;
}
.inrep-public-body .gl-section-head {
  margin-bottom: 28px;
}

/* Dark band: Greenly's "More impact, less cost." is large but tight - our version needs to be balanced */
.inrep-public-body .gl-dark-band > h2 {
  font-size: clamp(22px, 2.8vw, 34px);
  font-weight: 700;
}
.inrep-public-body .gl-final-cta h2 {
  font-size: clamp(22px, 2.8vw, 32px);
  font-weight: 700;
}

/* Nav text - lighter and more refined */
.inrep-public-body .gl-nav-links > a,
.inrep-public-body .gl-nav-group > button {
  font-weight: 600;
  font-size: 15px;
}

/* Logo strip - smaller, more subtle like Greenly */
.inrep-public-body .gl-logo-strip span {
  font-size: 13px;
  font-weight: 700;
  padding: 10px 16px;
  min-height: 44px;
  min-width: 100px;
  color: #4a6258;
  border-color: #e2ebe5;
}
.inrep-public-body .gl-logo-strip {
  margin: 28px auto 0;
  gap: 12px;
}

/* Rating row - compact */
.inrep-public-body .gl-home-rating {
  font-size: 12px;
}

/* Product cards - Greenly uses 17px h3 titles, 14px body */
.inrep-public-body .gl-product-card strong {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
}
.inrep-public-body .gl-product-card p {
  font-size: 14px;
  line-height: 1.62;
}

/* Resource carousel - tighten headings */
.inrep-public-body .gl-resource-carousel h3 {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
}
.inrep-public-body .gl-resource-carousel p {
  font-size: 13px;
  line-height: 1.6;
}

/* Proof/awards section */
.inrep-public-body .gl-proof-section {
  padding: clamp(48px, 6vw, 72px) 8%;
}
.inrep-public-body .gl-proof-section h2 {
  font-size: clamp(20px, 2.2vw, 28px);
  font-weight: 700;
}
.inrep-public-body .gl-awards span {
  font-size: 13px;
  font-weight: 700;
  padding: 10px 14px;
}

/* Standards badges - Greenly has these as tight pills */
.inrep-public-body .gl-standards span,
.inrep-public-body .gl-cert-row span {
  font-size: 12px;
  font-weight: 700;
  padding: 10px 14px;
  min-height: 42px;
  min-width: 90px;
}

/* Dark metric cards - compact and clean */
.inrep-public-body .gl-dark-metrics article {
  min-height: 130px;
  padding: 22px;
}
.inrep-public-body .gl-dark-metrics small {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #8fe0b4;
}
.inrep-public-body .gl-dark-metrics span {
  font-size: 14px;
  color: rgba(255,255,255,.7);
}

/* Operating card - refined copy */
.inrep-public-body .gl-operating-card p {
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--gl-muted);
}
.inrep-public-body .gl-operating-card-main p {
  color: rgba(255,255,255,.78);
  font-size: 14px;
}
.inrep-public-body .gl-operating-card-main h3 {
  font-size: clamp(18px, 1.6vw, 22px);
  font-weight: 700;
}

/* AI panel */
.inrep-public-body .gl-ai-panel h2 {
  font-size: clamp(22px, 2.5vw, 32px);
  font-weight: 700;
}
.inrep-public-body .gl-ai-panel p {
  font-size: 15px;
}

/* Buttons - Greenly CTA style: clean, not oversized */
.inrep-public-body .gl-btn {
  font-size: 14px;
  font-weight: 700;
  min-height: 40px;
  padding: 9px 18px;
}
.inrep-public-body .gl-btn-green {
  background: var(--gl-green);
  color: #06231b !important;
}
.inrep-public-body .gl-btn-green:hover {
  background: var(--gl-green-dark);
  color: #fff !important;
}
.inrep-public-body .gl-start {
  font-size: 14px;
  font-weight: 700;
}

/* Final CTA section */
.inrep-public-body .gl-final-cta {
  margin: 40px auto;
  padding: clamp(48px, 6vw, 72px) 8%;
}

/* Logo strip intro text */
.inrep-public-body .gl-logo-strip p {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #8fa59c;
}

/* Home proof section CTA spacing */
.inrep-public-body .gl-proof-section .gl-btn {
  margin-top: 22px;
  align-self: flex-start;
}
/* Home final CTA sub-text */
.inrep-public-body .ir-cta-sub {
  color: rgba(255,255,255,.72);
  font-size: 15px;
  margin: 0 0 24px;
  max-width: 480px;
}
/* Proof section - fix flex direction for CTA alignment */
.inrep-public-body .gl-proof-section > div:first-child {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
/* Standards section - tighten top margin */
.inrep-public-body .gl-standards {
  padding: 56px 0;
}

/* Mosaic articles in general - tighten copy */
.inrep-public-body .gl-mosaic article p {
  font-size: 14px;
  line-height: 1.58;
}
.inrep-public-body .gl-mosaic article h3 {
  font-size: 16px;
  font-weight: 700;
}

/* -- Home page: Recent records section -- */
.inrep-public-body .ir-records-preview {
  padding: 72px 0 80px;
}
.inrep-public-body .ir-records-head {
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 20px;
}
.inrep-public-body .ir-records-intro {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 8px;
}
.inrep-public-body .ir-records-intro h2 {
  margin: 0;
  font-size: clamp(20px, 2.2vw, 28px);
  font-weight: 700;
  color: var(--gl-ink);
  line-height: 1.15;
}
.inrep-public-body .ir-records-intro p {
  margin: 0;
  font-size: 14px;
  color: var(--gl-muted);
  max-width: 520px;
}

/* Filter tabs */
.inrep-public-body .ir-doc-filters {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex-wrap: wrap;
}
.inrep-public-body .ir-doc-filter {
  min-height: 34px;
  padding: 6px 14px;
  border-radius: var(--inrep-radius, 10px) !important;
  border: 1px solid #d6e4db;
  background: #fff;
  color: var(--gl-ink);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background .12s ease, border-color .12s ease, color .12s ease;
  white-space: nowrap;
}
.inrep-public-body .ir-doc-filter:hover {
  background: var(--gl-soft);
  border-color: #bcd4c6;
}
.inrep-public-body .ir-doc-filter.is-active {
  background: var(--gl-ink);
  border-color: var(--gl-ink);
  color: #fff;
}

/* Records grid */
.inrep-public-body .ir-records-grid {
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.inrep-public-body .ir-record-card {
  padding: 22px;
  border: 1px solid #dce8e2;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow: 0 4px 16px rgba(8,37,29,.04);
  transition: box-shadow .16s ease, transform .16s ease;
}
.inrep-public-body .ir-record-card:hover {
  box-shadow: 0 12px 32px rgba(8,37,29,.09);
  transform: translateY(-2px);
}
.inrep-public-body .ir-record-card[hidden] { display: none; }

/* Record top row: type pill + access pill + year */
.inrep-public-body .ir-record-top {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.inrep-public-body .ir-doc-pill {
  padding: 3px 9px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: var(--gl-mint);
  color: var(--gl-green-dark);
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}
.inrep-public-body .ir-access-pill {
  padding: 3px 9px;
  border-radius: var(--inrep-radius, 10px) !important;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
  background: #f0f4f2;
  color: #52635b;
}
.inrep-public-body .ir-access-open,
.inrep-public-body .ir-access-open_access {
  background: #e4f9ec;
  color: #0a6633;
}
.inrep-public-body .ir-access-restricted,
.inrep-public-body .ir-access-embargoed {
  background: #fff3e0;
  color: #7c4a00;
}
.inrep-public-body .ir-access-view_only,
.inrep-public-body .ir-access-metadata,
.inrep-public-body .ir-access-metadata_only {
  background: #eef2ff;
  color: #3b4ec0;
}
.inrep-public-body .ir-year {
  margin-left: auto;
  font-size: 12px;
  font-weight: 700;
  color: #8fa59c;
}

/* Record title */
.inrep-public-body .ir-record-title {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--gl-ink);
}
.inrep-public-body .ir-record-title a {
  color: var(--gl-ink);
  text-decoration: none;
}
.inrep-public-body .ir-record-title a:hover {
  color: var(--gl-green-dark);
  text-decoration: underline;
}

/* Abstract */
.inrep-public-body .ir-record-abstract {
  margin: 0;
  font-size: 13px;
  line-height: 1.62;
  color: var(--gl-muted);
  flex-grow: 1;
}

/* Meta row */
.inrep-public-body .ir-record-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  font-size: 12px;
  color: #7a918a;
}
.inrep-public-body .ir-record-meta span::after {
  content: '-';
  margin-left: 12px;
}
.inrep-public-body .ir-record-meta span:last-child::after { content: ''; }

/* Actions row */
.inrep-public-body .ir-record-actions {
  margin-top: auto;
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 10px;
  border-top: 1px solid #edf2ef;
  font-size: 13px;
  font-weight: 700;
}
.inrep-public-body .ir-view-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--gl-green-dark);
  text-decoration: none;
}
.inrep-public-body .ir-view-btn:hover { text-decoration: underline; }
.inrep-public-body .ir-dl-btn {
  color: var(--gl-muted);
  text-decoration: none;
}
.inrep-public-body .ir-dl-btn:hover { color: var(--gl-ink); }

/* Empty state */
.inrep-public-body .ir-records-empty {
  grid-column: 1 / -1;
  padding: 48px;
  text-align: center;
  border: 1px dashed #cddbd4;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #f8fbf9;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.inrep-public-body .ir-records-empty p {
  color: var(--gl-muted);
  font-size: 15px;
  max-width: 400px;
  margin: 0;
}

/* Footer row */
.inrep-public-body .ir-records-footer {
  width: min(1200px, calc(100% - 48px));
  margin: 28px auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}
.inrep-public-body .ir-records-footer > span {
  font-size: 13px;
  font-weight: 700;
  color: var(--gl-muted);
}

/* Responsive */
@media (max-width: 1024px) {
  .inrep-public-body .ir-records-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 600px) {
  .inrep-public-body .ir-records-head {
    gap: 16px;
  }
  .inrep-public-body .ir-records-grid {
    grid-template-columns: 1fr;
  }
  .inrep-public-body .ir-records-footer {
    flex-direction: column;
    align-items: center;
  }
}

/* --- Pricing programs section (replaces broken SVG layout) ------ */
.inrep-public-body .gl-programs-section {
  text-align: center;
}
.inrep-public-body .gl-programs-cards {
  width: min(1100px, calc(100% - 48px));
  margin: 32px auto 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.inrep-public-body .gl-programs-card {
  padding: 24px 20px;
  border: 1px solid var(--gl-border);
  border-radius: var(--inrep-radius, 10px) !important;
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 10px;
  text-align: left;
}
.inrep-public-body .gl-programs-card strong {
  font-size: 15px;
  font-weight: 700;
  color: var(--gl-ink);
}
.inrep-public-body .gl-programs-card span {
  font-size: 13px;
  line-height: 1.6;
  color: var(--gl-muted);
}
@media (max-width: 1024px) {
  .inrep-public-body .gl-programs-cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .inrep-public-body .gl-programs-cards { grid-template-columns: 1fr; }
}

/* --- Nav search form --------------------------------------------- */
.gl-nav-search-form {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 180px;
  max-width: 240px;
  height: 38px;
  padding: 0 10px 0 13px;
  border-radius: var(--inrep-radius, 10px) !important;
  border: 1px solid #dde8e2;
  background: #f6f9f6;
  flex-shrink: 1;
  transition: border-color .15s, box-shadow .15s, background .15s;
}
.gl-nav-search-form:focus-within {
  border-color: var(--gl-green);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(37,199,90,.12);
}
.gl-nav-search-icon {
  color: #8fa59c;
  flex-shrink: 0;
}
.gl-nav-search-input {
  flex: 1;
  min-width: 0;
  min-height: unset !important;
  height: auto !important;
  border: none !important;
  background: transparent !important;
  outline: none !important;
  box-shadow: none !important;
  border-radius: var(--inrep-radius, 10px) !important;
  padding: 0 !important;
  font-size: 13px;
  color: var(--gl-ink);
  font-weight: 400;
}
.gl-nav-search-input::placeholder { color: #9ab0a6; }
.gl-nav-search-kbd {
  flex-shrink: 0;
  padding: 2px 6px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #fff;
  border: 1px solid #cddbd4;
  font-size: 11px;
  font-weight: 700;
  color: #7a918a;
  font-family: inherit;
  line-height: 1.5;
}
.gl-nav-search-form:focus-within .gl-nav-search-kbd { display: none; }

/* --- Mobile search in drawer ------------------------------------- */
.gl-mobile-search {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 12px 18px 6px;
  padding: 10px 14px;
  border-radius: var(--inrep-radius, 10px) !important;
  border: 1px solid var(--gl-border);
  background: var(--gl-soft);
}
.gl-mobile-search input {
  flex: 1;
  border: none !important;
  background: transparent !important;
  outline: none !important;
  min-height: unset !important;
  padding: 0 !important;
  font-size: 14px;
}
.gl-mobile-search button {
  font-size: 13px;
  font-weight: 700;
  color: var(--gl-green-dark);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  white-space: nowrap;
}

/* --- About page ------------------------------------------------- */
.inrep-public-body .gl-about-hero {
  align-items: center;
}
.inrep-public-body .gl-about-visual {
  display: flex;
  align-items: center;
  justify-content: center;
}
.inrep-public-body .gl-about-stats-card {
  background: #fff;
  border: 1px solid var(--gl-border);
  border-radius: var(--inrep-radius, 10px) !important;
  padding: 32px 28px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px 32px;
  box-shadow: 0 8px 32px rgba(8,37,29,.07);
  width: 100%;
  max-width: 340px;
}
.inrep-public-body .gl-about-stat {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.inrep-public-body .gl-about-stat strong {
  font-size: 28px;
  font-weight: 700;
  color: var(--gl-ink);
  line-height: 1;
}
.inrep-public-body .gl-about-stat span {
  font-size: 12px;
  color: var(--gl-muted);
  font-weight: 600;
}

/* Mission grid */
.inrep-public-body .gl-about-mission-grid {
  width: min(1100px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.inrep-public-body .gl-about-mission-card {
  padding: 24px 20px;
  border: 1px solid var(--gl-border);
  border-radius: var(--inrep-radius, 10px) !important;
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.inrep-public-body .gl-about-mission-card span {
  color: var(--gl-green);
  display: flex;
}
.inrep-public-body .gl-about-mission-card strong {
  font-size: 15px;
  font-weight: 700;
  color: var(--gl-ink);
}
.inrep-public-body .gl-about-mission-card p {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--gl-muted);
}

/* Features grid */
.inrep-public-body .gl-about-features-grid {
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.inrep-public-body .gl-about-feature-card {
  padding: 24px 22px;
  border: 1px solid var(--gl-border);
  border-radius: var(--inrep-radius, 10px) !important;
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.inrep-public-body .gl-about-feature-icon {
  width: 36px;
  height: 36px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: var(--gl-mint);
  color: var(--gl-green-dark);
  display: flex;
  align-items: center;
  justify-content: center;
}
.inrep-public-body .gl-about-feature-card strong {
  font-size: 15px;
  font-weight: 700;
  color: var(--gl-ink);
}
.inrep-public-body .gl-about-feature-card p {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--gl-muted);
  flex-grow: 1;
}

/* Security grid */
.inrep-public-body .gl-about-security-grid {
  width: min(1100px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 40px;
}
.inrep-public-body .gl-about-security-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 0;
  border-bottom: 1px solid var(--gl-border);
}
.inrep-public-body .gl-about-security-item:last-child,
.inrep-public-body .gl-about-security-item:nth-last-child(2):nth-child(odd) {
  border-bottom: none;
}
.inrep-public-body .gl-about-security-check {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: var(--inrep-radius, 10px) !important;
  background: var(--gl-mint);
  color: var(--gl-green-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px;
}
.inrep-public-body .gl-about-security-item strong {
  font-size: 14px;
  font-weight: 700;
  color: var(--gl-ink);
  display: block;
  margin-bottom: 4px;
}
.inrep-public-body .gl-about-security-item p {
  margin: 0;
  font-size: 13px;
  line-height: 1.58;
  color: var(--gl-muted);
}

/* Implementation steps */
.inrep-public-body .gl-about-steps {
  width: min(1100px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.inrep-public-body .gl-about-step {
  padding: 24px 20px;
  border: 1px solid var(--gl-border);
  border-radius: var(--inrep-radius, 10px) !important;
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.inrep-public-body .gl-about-step-num {
  font-size: 28px;
  font-weight: 800;
  color: var(--gl-green);
  font-family: var(--font-display, Sora, sans-serif);
  line-height: 1;
}
.inrep-public-body .gl-about-step strong {
  font-size: 15px;
  font-weight: 700;
  color: var(--gl-ink);
}
.inrep-public-body .gl-about-step p {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--gl-muted);
}

/* Audience grid */
.inrep-public-body .gl-about-audience-grid {
  width: min(1100px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.inrep-public-body .gl-about-audience-card {
  padding: 22px 20px;
  border: 1px solid var(--gl-border);
  border-radius: var(--inrep-radius, 10px) !important;
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.inrep-public-body .gl-about-audience-card strong {
  font-size: 15px;
  font-weight: 700;
  color: var(--gl-ink);
}
.inrep-public-body .gl-about-audience-card p {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--gl-muted);
}

/* About responsive */
@media (max-width: 1024px) {
  .inrep-public-body .gl-about-mission-grid { grid-template-columns: repeat(2, 1fr); }
  .inrep-public-body .gl-about-features-grid { grid-template-columns: repeat(2, 1fr); }
  .inrep-public-body .gl-about-steps { grid-template-columns: repeat(2, 1fr); }
  .inrep-public-body .gl-about-audience-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 680px) {
  .inrep-public-body .gl-about-mission-grid { grid-template-columns: 1fr; }
  .inrep-public-body .gl-about-features-grid { grid-template-columns: 1fr; }
  .inrep-public-body .gl-about-security-grid { grid-template-columns: 1fr; }
  .inrep-public-body .gl-about-steps { grid-template-columns: 1fr; }
  .inrep-public-body .gl-about-audience-grid { grid-template-columns: 1fr; }
  .inrep-public-body .gl-about-stats-card { max-width: 100%; }
}

/* --- Built-for trust strip --------------------------------------- */
.inrep-public-body .gl-built-for-strip {
  width: min(1200px, calc(100% - 48px));
  margin: 48px auto 0;
  padding: 32px 0 36px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  border-top: 1px solid var(--gl-border);
  border-bottom: 1px solid var(--gl-border);
}
.inrep-public-body .gl-built-for-label {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #8fa59c;
}
.inrep-public-body .gl-built-for-items {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}
.inrep-public-body .gl-built-for-item {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 16px;
  border-radius: var(--inrep-radius, 10px) !important;
  border: 1px solid var(--gl-border);
  background: #fff;
  color: var(--gl-ink);
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  transition: border-color .12s, background .12s;
}
.inrep-public-body .gl-built-for-item:hover {
  border-color: #b5cfc2;
  background: var(--gl-soft);
}
.inrep-public-body .gl-built-for-item svg {
  color: var(--gl-green-dark);
  opacity: .75;
}
@media (max-width: 640px) {
  .inrep-public-body .gl-built-for-items { gap: 6px; }
  .inrep-public-body .gl-built-for-item { font-size: 12px; padding: 7px 12px; }
}

/* --- Pricing hero - centred text --------------------------------- */
.inrep-public-body .gl-pricing-hero {
  text-align: center;
}
.inrep-public-body .gl-pricing-hero h1 {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}
.inrep-public-body .gl-pricing-hero > p {
  margin: 0 auto 36px;
  text-align: center;
  max-width: 540px;
}

/* --- gl-btn home override reset --------------------------------- */
.inrep-public-body .gl-home-hero .gl-btn {
  border-radius: var(--inrep-radius, 10px) !important;
  font-size: 14px;
  padding: 10px 20px;
  min-height: 40px;
}

/* --- Improved dark band console --------------------------------- */
.inrep-public-body .gl-impact-console {
  border-radius: var(--inrep-radius, 10px) !important;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.inrep-public-body .gl-console-prompt {
  font-size: 14px;
  font-weight: 600;
}
.inrep-public-body .gl-console-input {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0;
}

/* --- Nav responsive - hide search at tablet ---------------------- */
@media (max-width: 1100px) {
  .gl-nav { gap: 10px; padding: 0 32px; }
  .gl-nav-search-form { min-width: 140px; max-width: 180px; }
}
@media (max-width: 900px) {
  .gl-nav-search-form { display: none; }
  .gl-nav { grid-template-columns: auto minmax(0,1fr) auto auto; }
}

/* Keep public-page buttons aligned with the global button radius. */
.inrep-public-body :where(
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  [role="button"],
  .btn,
  .gl-btn,
  .mkt-nav-signup,
  .btn-new-repo,
  .public-actions a,
  .public-actions button,
  .gl-actions a,
  .gl-actions button
) {
  border-radius: var(--inrep-radius, 10px) !important;
}


/* ═══════════════════════════════════════════════
   PRICING PAGE — Complete redesign
   ═══════════════════════════════════════════════ */
.inrep-public-body .ir-pricing-hero {
  padding: 64px 10% 56px;
  width: min(1450px, calc(100% - 18px));
  margin: 8px auto 0;
  background: var(--gl-soft);
  border-radius: var(--inrep-radius, 10px) !important;
}
.inrep-public-body .ir-pricing-hero-inner {
  text-align: center;
  max-width: 660px;
  margin: 0 auto 48px;
}
.inrep-public-body .ir-pricing-hero-inner h1 {
  font-size: clamp(28px,3vw,42px);
  font-weight: 700;
  margin: 14px 0 16px;
  line-height: 1.08;
  letter-spacing: -.02em;
}
.inrep-public-body .ir-pricing-hero-inner p { font-size: 16px; line-height: 1.65; color: var(--gl-muted); margin: 0; }
.inrep-public-body .ir-plan-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 18px;
}
.inrep-public-body .ir-plan-card {
  background: #fff;
  border: 1px solid var(--gl-border);
  border-radius: var(--inrep-radius, 10px) !important;
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: relative;
}
.inrep-public-body .ir-plan-popular {
  border-color: var(--gl-green);
  box-shadow: 0 0 0 1px var(--gl-green), 0 20px 56px rgba(37,199,90,.12);
}
.inrep-public-body .ir-plan-badge {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--gl-green);
  color: #063025;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: var(--inrep-radius, 10px) !important;
  white-space: nowrap;
}
.inrep-public-body .ir-plan-head { display: flex; align-items: center; gap: 12px; }
.inrep-public-body .ir-plan-icon {
  width: 40px; height: 40px; flex-shrink: 0;
  border-radius: var(--inrep-radius, 10px) !important; background: var(--gl-mint); color: var(--gl-green-dark);
  font-size: 18px; font-weight: 800; display: grid; place-items: center;
  font-family: var(--font-display, Sora, sans-serif);
}
.inrep-public-body .ir-plan-name { display: block; font-size: 18px; font-weight: 700; color: var(--gl-ink); }
.inrep-public-body .ir-plan-label { display: block; font-size: 12px; color: var(--gl-muted); font-weight: 600; }
.inrep-public-body .ir-plan-desc { margin: 0; font-size: 13.5px; line-height: 1.62; color: var(--gl-muted); }
.inrep-public-body .ir-plan-price { display: flex; align-items: baseline; gap: 6px; }
.inrep-public-body .ir-plan-price strong { font-size: 26px; font-weight: 700; color: var(--gl-ink); font-family: var(--font-display,Sora,sans-serif); }
.inrep-public-body .ir-plan-price span { font-size: 13px; color: var(--gl-muted); }
.inrep-public-body .ir-plan-features { list-style: none; padding: 14px 0 0; margin: 0; border-top: 1px solid var(--gl-border); display: flex; flex-direction: column; gap: 9px; flex-grow: 1; }
.inrep-public-body .ir-plan-features li { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--gl-ink); font-weight: 500; }
.inrep-public-body .ir-plan-features li svg { color: var(--gl-green); flex-shrink: 0; }
.inrep-public-body .ir-detailed-rate-bar {
  margin-top: 20px; padding: 22px 28px; border-radius: var(--inrep-radius, 10px) !important;
  background: var(--gl-ink); display: flex; align-items: center;
  justify-content: space-between; gap: 24px; flex-wrap: wrap;
}
.inrep-public-body .ir-detailed-rate-bar strong { display: block; color: #fff; font-size: 15px; font-weight: 700; margin-bottom: 4px; }
.inrep-public-body .ir-detailed-rate-bar span { color: rgba(255,255,255,.65); font-size: 13px; }
.inrep-public-body .ir-compare-section { padding: 72px 0 56px; }
.inrep-public-body .ir-compare-wrap {
  width: min(1020px, calc(100% - 48px));
  margin: 0 auto 28px; overflow-x: auto;
  border-radius: var(--inrep-radius, 10px) !important; border: 1px solid var(--gl-border);
  box-shadow: 0 4px 20px rgba(8,37,29,.05);
}
.inrep-public-body .ir-compare-table { min-width: 700px; border-collapse: collapse; background: #fff; width: 100%; }
.inrep-public-body .ir-compare-table th { padding: 16px 20px; font-size: 13px; font-weight: 700; text-align: center; background: var(--gl-soft); border-bottom: 2px solid var(--gl-border); color: var(--gl-ink); }
.inrep-public-body .ir-compare-table th:first-child { text-align: left; }
.inrep-public-body .ir-col-highlight { background: #edfff3 !important; border-left: 1px solid rgba(37,199,90,.2); border-right: 1px solid rgba(37,199,90,.2); }
.inrep-public-body .ir-compare-table td { padding: 13px 20px; border-bottom: 1px solid var(--gl-border); font-size: 13.5px; text-align: center; color: var(--gl-ink); }
.inrep-public-body .ir-compare-table td:first-child { text-align: left; font-weight: 600; }
.inrep-public-body .ir-compare-group td { background: #f5f8f5; font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: var(--gl-green-dark); padding: 10px 20px; }
.inrep-public-body .ir-compare-group td.ir-col-highlight { background: #e6f9ed !important; }
.inrep-public-body .ir-compare-yes { color: var(--gl-green-dark); display: inline-flex; }
.inrep-public-body .ir-compare-no { color: #bfccc7; font-weight: 700; }
.inrep-public-body .ir-compare-ctas { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }
.inrep-public-body .ir-addons-section { padding: 64px 0; background: var(--gl-soft); }
.inrep-public-body .ir-addon-grid { width: min(1060px,calc(100% - 48px)); margin: 0 auto; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.inrep-public-body .ir-addon-card { background: #fff; border: 1px solid var(--gl-border); border-radius: var(--inrep-radius, 10px) !important; padding: 20px; display: flex; flex-direction: column; gap: 8px; }
.inrep-public-body .ir-addon-card .ir-addon-icon { width: 34px; height: 34px; border-radius: var(--inrep-radius, 10px) !important; background: var(--gl-mint); color: var(--gl-green-dark); display: grid; place-items: center; }
.inrep-public-body .ir-addon-card strong { font-size: 14px; font-weight: 700; color: var(--gl-ink); }
.inrep-public-body .ir-addon-card span { font-size: 12.5px; line-height: 1.55; color: var(--gl-muted); }
.inrep-public-body .ir-faq-section { padding: 72px 0; }
.inrep-public-body .ir-faq-inner { width: min(1060px,calc(100% - 48px)); margin: 0 auto; display: grid; grid-template-columns: .75fr 1.25fr; gap: 64px; align-items: start; }
.inrep-public-body .ir-faq-intro { display: flex; flex-direction: column; gap: 14px; }
.inrep-public-body .ir-faq-intro h2 { font-size: 26px; font-weight: 700; margin: 0; }
.inrep-public-body .ir-faq-intro p { font-size: 14px; line-height: 1.65; color: var(--gl-muted); margin: 0; }
.inrep-public-body .ir-faq-actions { display: flex; flex-direction: column; gap: 10px; }
.inrep-public-body .ir-faq-actions .gl-btn { justify-content: center; }
.inrep-public-body .ir-faq-list { display: flex; flex-direction: column; gap: 10px; }
.inrep-public-body .ir-faq-item { border: 1px solid var(--gl-border); border-radius: var(--inrep-radius, 10px) !important; background: #fff; overflow: hidden; }
.inrep-public-body .ir-faq-item summary { padding: 16px 20px; font-weight: 700; font-size: 14px; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; color: var(--gl-ink); }
.inrep-public-body .ir-faq-item summary::-webkit-details-marker { display: none; }
.inrep-public-body .ir-faq-item summary::after { content: '+'; font-size: 20px; font-weight: 400; color: var(--gl-muted); flex-shrink: 0; line-height: 1; }
.inrep-public-body .ir-faq-item[open] summary::after { content: '-'; }
.inrep-public-body .ir-faq-item p { margin: 0; padding: 0 20px 18px; font-size: 13.5px; line-height: 1.65; color: var(--gl-muted); border-top: 1px solid var(--gl-border); }
@media (max-width: 1024px) {
  .inrep-public-body .ir-plan-grid { grid-template-columns: 1fr 1fr; }
  .inrep-public-body .ir-addon-grid { grid-template-columns: 1fr 1fr; }
  .inrep-public-body .ir-faq-inner { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 640px) {
  .inrep-public-body .ir-plan-grid { grid-template-columns: 1fr; }
  .inrep-public-body .ir-addon-grid { grid-template-columns: 1fr; }
  .inrep-public-body .ir-pricing-hero { padding: 40px 5% 36px; }
  .inrep-public-body .ir-detailed-rate-bar { flex-direction: column; text-align: center; }
}

/* Final corrections for discovery, AI, statistics, and security pages. */
.inrep-public-body .gl-nav-group:has(.gl-mega-small) {
  position: relative;
}
.inrep-public-body .gl-mega.gl-mega-small {
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  width: min(520px, calc(100vw - 32px)) !important;
  min-width: 0 !important;
  max-width: calc(100vw - 32px) !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 12px !important;
  border: 1px solid #d4e0da !important;
  border-top: 0 !important;
  border-radius: 0 0 var(--inrep-radius, 10px) var(--inrep-radius, 10px) !important;
  box-shadow: 0 18px 42px rgba(8,37,29,.13) !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  align-items: start !important;
  overflow: hidden !important;
}
.inrep-public-body .gl-mega.gl-mega-small .gl-mega-col {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  align-content: start !important;
}
.inrep-public-body .gl-mega.gl-mega-small .gl-mega-label {
  grid-column: 1 / -1 !important;
  margin: 0 0 3px !important;
  color: #52675e !important;
  font-size: 11px !important;
  letter-spacing: .08em !important;
}
.inrep-public-body .gl-mega.gl-mega-small a:not(.gl-mega-card):not(.gl-about-card) {
  grid-template-columns: 34px minmax(0, 1fr) !important;
  column-gap: 10px !important;
  row-gap: 1px !important;
  min-height: 66px !important;
  padding: 10px !important;
  border: 1px solid #edf3ef !important;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #fbfefd !important;
}
.inrep-public-body .gl-mega.gl-mega-small a:not(.gl-mega-card):not(.gl-about-card):hover {
  border-color: #cfe2d8 !important;
  background: #f3fbf6 !important;
}
.inrep-public-body .gl-mega.gl-mega-small a:not(.gl-mega-card):not(.gl-about-card) strong {
  font-size: 15px !important;
}
.inrep-public-body .gl-mega.gl-mega-small a:not(.gl-mega-card):not(.gl-about-card) small {
  font-size: 11px !important;
  line-height: 1.3 !important;
}
.inrep-public-body .gl-mega.gl-mega-small a:not(.gl-mega-card):not(.gl-about-card) > span:first-child {
  width: 34px !important;
  height: 34px !important;
  flex-basis: 34px !important;
}
.inrep-public-body .gl-mega.gl-mega-small a:not(.gl-mega-card):not(.gl-about-card) > span:first-child svg {
  width: 17px !important;
  height: 17px !important;
}
.inrep-public-body .insight-page {
  width: min(1180px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
  padding: clamp(88px, 9vw, 132px) 0 !important;
}
.inrep-public-body .insight-page > * {
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: auto !important;
}
.inrep-public-body .insight-page > .section-heading {
  width: min(780px, 100%) !important;
  margin-bottom: 30px !important;
  text-align: center !important;
}
.inrep-public-body .insight-page .public-card-grid {
  width: 100% !important;
  max-width: 1180px !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 18px !important;
}
.inrep-public-body .insight-page .public-card {
  min-height: 132px;
}
.inrep-public-body .insight-empty-card {
  grid-column: 1 / -1;
  min-height: 112px !important;
  justify-content: center;
  text-align: center;
}
.inrep-public-body .ai-tool-page .public-form,
.inrep-public-body .ai-tool-page .project-section {
  width: min(820px, 100%) !important;
  max-width: 820px !important;
}
.inrep-public-body .ai-tool-page .public-form textarea {
  min-height: 180px !important;
  resize: vertical;
}
.inrep-public-body .ai-tool-page .public-form .form-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}
.inrep-public-body .ai-tool-page .public-form button.btn,
.inrep-public-body .ai-tool-page .public-form .btn.primary {
  justify-self: center !important;
  width: auto !important;
  min-width: 240px !important;
  padding-inline: 28px !important;
}
.inrep-public-body .insight-table-wrap,
.inrep-public-body .insight-page .admin-table-wrap {
  width: min(1180px, 100%) !important;
  max-width: 1180px !important;
  margin-inline: auto !important;
  border: 1px solid var(--gl-border) !important;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #fff !important;
  box-shadow: 0 18px 50px rgba(8,37,29,.055) !important;
  overflow-x: auto !important;
}
.inrep-public-body .insight-table {
  width: 100% !important;
  min-width: 760px !important;
}
.inrep-public-body .insight-stat-hero {
  width: min(1180px, calc(100% - 48px)) !important;
  margin: 0 auto !important;
  padding: clamp(92px, 10vw, 150px) 0 clamp(58px, 7vw, 92px) !important;
  display: grid !important;
  grid-template-columns: minmax(0, .82fr) minmax(360px, 1.18fr) !important;
  gap: clamp(28px, 5vw, 64px) !important;
  align-items: center !important;
}
.inrep-public-body .insight-stat-hero .mkt-hero-copy {
  max-width: 540px !important;
}
.inrep-public-body .insight-stat-hero .mkt-hero-copy h1 {
  margin: 12px 0 16px !important;
  font-size: clamp(34px, 3.6vw, 54px) !important;
  line-height: 1.08 !important;
}
.inrep-public-body .insight-stat-hero .mkt-hero-panel {
  width: 100% !important;
}
.inrep-public-body .insight-stat-hero .stat-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}
.inrep-public-body .insight-stat-hero .stat-grid div {
  min-height: 108px !important;
}
.inrep-public-body .security-hero {
  width: min(1180px, calc(100% - 48px)) !important;
  min-height: 0 !important;
  margin: 14px auto 0 !important;
  padding: clamp(54px, 6vw, 82px) clamp(34px, 6vw, 78px) !important;
  grid-template-columns: minmax(0, .95fr) minmax(320px, .78fr) !important;
  gap: clamp(34px, 6vw, 68px) !important;
  background: linear-gradient(135deg, #f8fcf9, #fff) !important;
}
.inrep-public-body .security-hero h1 {
  max-width: 610px !important;
  font-size: clamp(36px, 3.8vw, 58px) !important;
  line-height: 1.04 !important;
}
.inrep-public-body .security-hero p {
  max-width: 590px !important;
  color: #33483f !important;
}
.inrep-public-body .security-hero .gl-product-hero-visual {
  min-height: 320px !important;
}
.inrep-public-body .gl-security-visual {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
  background: linear-gradient(135deg, #e6f3ed, #b8d2c5) !important;
}
.inrep-public-body .gl-lock-card {
  width: min(360px, 100%);
  min-height: 254px;
  padding: 18px;
  border-radius: var(--inrep-radius, 10px);
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(255,255,255,.75);
  box-shadow: 0 24px 70px rgba(8,37,29,.14);
  display: grid;
  gap: 16px;
}
.inrep-public-body .gl-lock-card-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: start;
}
.inrep-public-body .gl-lock-card-head strong {
  color: var(--gl-ink);
  font-size: 16px;
}
.inrep-public-body .gl-lock-card-head span {
  color: var(--gl-green-dark);
  font-size: 12px;
  font-weight: 800;
}
.inrep-public-body .gl-lock-orb {
  width: 104px;
  height: 104px;
  border-radius: 999px !important;
  justify-self: center;
  background: radial-gradient(circle at 34% 30%, #f8d9a7, #efbb74);
}
.inrep-public-body .gl-lock-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.inrep-public-body .gl-lock-actions span {
  min-height: 42px;
  border-radius: var(--inrep-radius, 10px);
  background: #f4faf6;
  border: 1px solid #dce9e2;
  display: grid;
  place-items: center;
  padding: 8px;
  color: #213a30;
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}
.inrep-public-body .security-controls-section {
  padding: clamp(74px, 8vw, 110px) 0 !important;
}
.inrep-public-body .security-controls-section .gl-section-head {
  width: min(820px, calc(100% - 48px)) !important;
}
.inrep-public-body .security-controls-section .gl-security-grid {
  width: min(1180px, calc(100% - 48px)) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
}
.inrep-public-body .security-controls-section .gl-feature-card {
  min-height: 188px !important;
  align-content: start !important;
}
.inrep-public-body .security-storage-section .public-table-wrap,
.inrep-public-body .security-storage-section .gl-modern-table-wrap {
  width: min(1080px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
  overflow-x: auto !important;
}
.inrep-public-body .timeline-rebuilt .timeline-item {
  display: grid !important;
}
.inrep-public-body .timeline-rebuilt .feature-showcase-h2 {
  color: var(--gl-ink) !important;
}
.inrep-public-body .timeline-rebuilt .feature-showcase-desc {
  color: var(--gl-muted) !important;
}
@media (max-width: 1100px) {
  .inrep-public-body .insight-stat-hero,
  .inrep-public-body .security-hero {
    grid-template-columns: 1fr !important;
  }
  .inrep-public-body .security-controls-section .gl-security-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 680px) {
  .inrep-public-body .insight-page,
  .inrep-public-body .insight-stat-hero,
  .inrep-public-body .security-hero,
  .inrep-public-body .security-controls-section .gl-security-grid,
  .inrep-public-body .security-storage-section .public-table-wrap,
  .inrep-public-body .security-storage-section .gl-modern-table-wrap {
    width: calc(100% - 28px) !important;
  }
  .inrep-public-body .ai-tool-page .public-form .form-grid-2,
  .inrep-public-body .insight-stat-hero .stat-grid,
  .inrep-public-body .security-controls-section .gl-security-grid {
    grid-template-columns: 1fr !important;
  }
  .inrep-public-body .gl-mega.gl-mega-small {
    left: auto !important;
    right: 0 !important;
    transform: none !important;
    width: min(360px, calc(100vw - 28px)) !important;
  }
  .inrep-public-body .gl-mega.gl-mega-small .gl-mega-col {
    grid-template-columns: 1fr !important;
  }
}

/* Final unified nav/dropdown/video overrides. */
.inrep-public-body .gl-nav {
  min-height: 66px !important;
  padding: 0 clamp(26px, 4.2vw, 78px) !important;
  grid-template-columns: auto minmax(0, 1fr) minmax(250px, 310px) auto !important;
  gap: clamp(14px, 1.7vw, 26px) !important;
}
.inrep-public-body .gl-nav-links { gap: 4px !important; }
.inrep-public-body .gl-nav-links > a,
.inrep-public-body .gl-nav-group > button {
  min-height: 40px !important;
  padding: 8px 10px !important;
  color: #24372f !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}
.inrep-public-body .gl-nav-group > button:hover,
.inrep-public-body .gl-nav-group > button:focus-visible,
.inrep-public-body .gl-nav-group.is-open > button,
.inrep-public-body .gl-nav-links > a:hover,
.inrep-public-body .gl-nav-links > a:focus-visible {
  background: #f0f6f2 !important;
  color: #071f17 !important;
}
.inrep-public-body .gl-nav-search-form {
  width: clamp(250px, 20vw, 310px) !important;
  min-width: 250px !important;
  max-width: 310px !important;
  height: 42px !important;
}
.inrep-public-body .gl-nav-group,
.inrep-public-body .gl-nav-group:has(.gl-mega-slim),
.inrep-public-body .gl-nav-group:has(.gl-mega-small) {
  position: relative !important;
}
.inrep-public-body .gl-mega,
.inrep-public-body .gl-mega.gl-mega-slim,
.inrep-public-body .gl-mega.gl-mega-small,
.inrep-public-body .gl-mega.gl-mega-about {
  top: calc(100% + 9px) !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  min-width: 0 !important;
  max-width: calc(100vw - 40px) !important;
  padding: 14px !important;
  border: 1px solid #d7e2dc !important;
  border-radius: 0 0 var(--inrep-radius, 10px) var(--inrep-radius, 10px) !important;
  background: #fff !important;
  box-shadow: 0 20px 48px rgba(8,37,29,.13) !important;
  align-items: start !important;
  gap: 10px !important;
}
.inrep-public-body .gl-mega.gl-mega-slim,
.inrep-public-body .gl-mega.gl-mega-small {
  width: min(560px, calc(100vw - 40px)) !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.inrep-public-body .gl-mega.gl-mega-about {
  width: min(760px, calc(100vw - 40px)) !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.inrep-public-body .gl-mega-col {
  display: grid !important;
  gap: 8px !important;
  align-content: start !important;
}
.inrep-public-body .gl-mega.gl-mega-small .gl-mega-col {
  grid-column: 1 / -1 !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.inrep-public-body .gl-mega-label,
.inrep-public-body .gl-mega.gl-mega-small .gl-mega-label {
  grid-column: 1 / -1 !important;
  margin: 0 0 5px !important;
  color: #52675e !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
}
.inrep-public-body .gl-mega a:not(.gl-mega-card):not(.gl-about-card),
.inrep-public-body .gl-mega.gl-mega-small a:not(.gl-mega-card):not(.gl-about-card) {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: 11px !important;
  row-gap: 2px !important;
  min-height: 66px !important;
  padding: 10px !important;
  border: 1px solid #edf3ef !important;
  border-radius: var(--inrep-radius, 10px) !important;
  background: #fbfefd !important;
  text-decoration: none !important;
}
.inrep-public-body .gl-mega a:not(.gl-mega-card):not(.gl-about-card) > span:first-child,
.inrep-public-body .gl-mega-col a > span:first-child,
.inrep-public-body .gl-mega.gl-mega-small a:not(.gl-mega-card):not(.gl-about-card) > span:first-child {
  width: 38px !important;
  height: 38px !important;
  flex-basis: 38px !important;
}
.inrep-public-body .gl-mega a:not(.gl-mega-card):not(.gl-about-card) strong,
.inrep-public-body .gl-mega.gl-mega-small a:not(.gl-mega-card):not(.gl-about-card) strong {
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.16 !important;
}
.inrep-public-body .gl-mega a:not(.gl-mega-card):not(.gl-about-card) small,
.inrep-public-body .gl-mega.gl-mega-small a:not(.gl-mega-card):not(.gl-about-card) small {
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.28 !important;
}
.inrep-public-body .gl-home-hero {
  width: min(1480px, calc(100% - 96px)) !important;
  margin-top: clamp(42px, 5vw, 74px) !important;
  grid-template-columns: minmax(420px, .78fr) minmax(620px, 1.08fr) !important;
  gap: clamp(48px, 6vw, 92px) !important;
}
.inrep-public-body .gl-home-video-card {
  min-height: 430px !important;
  padding: clamp(28px, 3vw, 44px) !important;
  cursor: pointer;
}
.inrep-public-body .gl-home-video-card:focus-visible {
  outline: 3px solid rgba(37,199,90,.42);
  outline-offset: 4px;
}
.inrep-public-body .gl-home-screen {
  height: 350px !important;
}
.inrep-public-body .gl-home-video-card .gl-play {
  width: 96px !important;
  min-width: 96px !important;
  height: 96px !important;
  min-height: 96px !important;
  border-radius: 999px !important;
}
.gl-video-modal[hidden] { display: none !important; }
.gl-video-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  padding: clamp(18px, 4vw, 46px);
}
.gl-video-modal-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: rgba(3,20,14,.76);
  cursor: pointer;
}
.gl-video-modal-panel {
  position: relative;
  z-index: 1;
  width: min(1120px, calc(100vw - 48px));
  aspect-ratio: 16 / 9;
  max-height: calc(100vh - 96px);
  border-radius: var(--inrep-radius, 10px);
  background: #06140f;
  box-shadow: 0 34px 90px rgba(0,0,0,.36);
}
.gl-video-modal-panel iframe {
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: inherit;
  display: block;
  background: #06140f;
}
.gl-video-modal-close {
  position: absolute;
  top: -18px;
  right: -18px;
  z-index: 2;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 999px !important;
  background: #fff;
  color: #071f17;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}
body.gl-video-modal-open { overflow: hidden; }
@media (max-width: 1320px) {
  .inrep-public-body .gl-nav {
    grid-template-columns: auto minmax(0, 1fr) minmax(220px, 260px) auto !important;
    gap: 12px !important;
  }
  .inrep-public-body .gl-nav-search-form {
    min-width: 220px !important;
    max-width: 260px !important;
  }
}
@media (max-width: 1180px) {
  .inrep-public-body .gl-nav { grid-template-columns: auto 1fr auto !important; }
  .inrep-public-body .gl-home-hero {
    grid-template-columns: 1fr !important;
    width: min(860px, calc(100% - 40px)) !important;
  }
}
@media (max-width: 680px) {
  .inrep-public-body .gl-mega.gl-mega-slim,
  .inrep-public-body .gl-mega.gl-mega-small,
  .inrep-public-body .gl-mega.gl-mega-about {
    left: auto !important;
    right: 0 !important;
    transform: none !important;
    width: min(360px, calc(100vw - 28px)) !important;
    grid-template-columns: 1fr !important;
  }
  .inrep-public-body .gl-mega.gl-mega-small .gl-mega-col { grid-template-columns: 1fr !important; }
  .inrep-public-body .gl-home-hero { width: min(100% - 24px, 520px) !important; }
  .inrep-public-body .gl-home-video-card {
    min-height: 270px !important;
    padding: 18px !important;
  }
  .inrep-public-body .gl-home-screen { height: 230px !important; }
  .inrep-public-body .gl-home-video-card .gl-play {
    width: 66px !important;
    min-width: 66px !important;
    height: 66px !important;
    min-height: 66px !important;
  }
}

/* Final homepage hero/template correction. */
.inrep-public-body .gl-home-hero {
  width: min(1520px, 80vw) !important;
  margin: clamp(48px, 5vw, 72px) auto 0 !important;
  grid-template-columns: minmax(420px, .88fr) minmax(560px, 1.12fr) !important;
  gap: clamp(52px, 5vw, 84px) !important;
  align-items: center !important;
}
.inrep-public-body .gl-home-hero .gl-hero-copy h1 {
  max-width: 460px !important;
  font-size: clamp(28px, 2.4vw, 38px) !important;
  line-height: 1.1 !important;
  letter-spacing: -.025em !important;
}
.inrep-public-body .gl-home-hero .gl-hero-copy p {
  max-width: 460px !important;
  font-size: clamp(14px, 1vw, 15px) !important;
  line-height: 1.6 !important;
}
.inrep-public-body .gl-home-video-card {
  min-height: clamp(360px, 25vw, 480px) !important;
  padding: clamp(28px, 3vw, 58px) clamp(28px, 3.2vw, 62px) 0 !important;
}
.inrep-public-body .gl-home-screen {
  height: clamp(300px, 22vw, 430px) !important;
}
.inrep-public-body .gl-home-video-card .gl-play {
  width: clamp(84px, 6vw, 112px) !important;
  min-width: clamp(84px, 6vw, 112px) !important;
  height: clamp(84px, 6vw, 112px) !important;
  min-height: clamp(84px, 6vw, 112px) !important;
}
.gl-video-modal {
  z-index: 2147483000 !important;
}
.gl-video-modal-panel {
  width: min(1240px, calc(100vw - 48px)) !important;
  max-height: calc(100vh - 72px) !important;
}
@media (max-width: 1180px) {
  .inrep-public-body .gl-home-hero {
    width: min(860px, calc(100% - 40px)) !important;
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }
  .inrep-public-body .gl-home-video-card {
    min-height: 330px !important;
    padding: 28px 28px 0 !important;
  }
  .inrep-public-body .gl-home-screen {
    height: 290px !important;
  }
}
@media (max-width: 680px) {
  .inrep-public-body .gl-home-hero {
    width: min(100% - 24px, 520px) !important;
    margin-top: 28px !important;
  }
  .inrep-public-body .gl-home-hero .gl-hero-copy h1 {
    font-size: clamp(24px, 7vw, 32px) !important;
  }
  .inrep-public-body .gl-home-video-card {
    min-height: 270px !important;
    padding: 18px 18px 0 !important;
  }
  .inrep-public-body .gl-home-screen {
    height: 230px !important;
  }
  .inrep-public-body .gl-home-video-card .gl-play {
    width: 66px !important;
    min-width: 66px !important;
    height: 66px !important;
    min-height: 66px !important;
  }
  .gl-video-modal-panel {
    width: calc(100vw - 24px) !important;
    max-height: calc(100vh - 90px) !important;
  }
}

/* ─── Hero actual image (replaces animated mockup) ─── */
.inrep-public-body .gl-home-hero-img {
  margin: 0;
  padding: 0;
  min-height: clamp(320px, 28vw, 520px);
  aspect-ratio: 16 / 10;
  border: 1px solid rgba(8,37,29,.14);
  border-radius: 18px !important;
  background: #061f18;
  box-shadow: 0 30px 90px rgba(8,37,29,.18);
  overflow: hidden;
  position: relative;
  display: block;
}
.inrep-public-body .gl-home-hero-img img {
  width: 100%;
  max-width: none;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
  box-shadow: none;
  display: block;
}
.inrep-public-body .gl-home-hero-img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(3,19,14,0) 54%, rgba(3,19,14,.34));
  pointer-events: none;
}
.inrep-public-body .gl-hero-watch-btn {
  position: absolute;
  left: 18px;
  bottom: 18px;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 20px;
  border-radius: 999px !important;
  background: rgba(255,255,255,.94);
  color: var(--gl-ink);
  font-size: 14px;
  font-weight: 700;
  border: 1px solid rgba(255,255,255,.72);
  cursor: pointer;
  box-shadow: 0 14px 36px rgba(8,37,29,.2);
  backdrop-filter: blur(10px);
  transition: box-shadow .16s ease;
}
.inrep-public-body .gl-hero-watch-btn:hover {
  box-shadow: 0 8px 28px rgba(8,37,29,.14);
}
.inrep-public-body .gl-hero-watch-btn .gl-play {
  position: static;
  transform: none;
  width: 28px;
  height: 28px;
  min-width: 28px;
  border-radius: 50%;
  background: var(--gl-night);
  box-shadow: none;
}
.inrep-public-body .gl-hero-watch-btn .gl-play:after {
  border-left-width: 10px !important;
  border-top-width: 7px !important;
  border-bottom-width: 7px !important;
  border-left-color: #fff !important;
  border-top-color: transparent !important;
  border-bottom-color: transparent !important;
  margin-left: 3px !important;
}
@media (max-width: 1180px) {
  .inrep-public-body .gl-home-hero-img { max-width: 560px; width: 100%; }
}
@media (max-width: 680px) {
  .inrep-public-body .gl-home-hero-img {
    min-height: 260px;
    aspect-ratio: 4 / 3;
  }
  .inrep-public-body .gl-hero-watch-btn {
    left: 12px;
    bottom: 12px;
    padding: 9px 14px;
    font-size: 13px;
  }
}

/* ─── Pill spacing above headings ─── */
.inrep-public-body .gl-section-head .gl-pill,
.inrep-public-body .gl-hero-copy .gl-pill,
.inrep-public-body .gl-product-hero .gl-pill,
.inrep-public-body .gl-partner-hero .gl-pill,
.inrep-public-body .gl-case-hero .gl-pill,
.inrep-public-body .gl-industry-hero .gl-pill,
.inrep-public-body .gl-pricing-hero .gl-pill,
.inrep-public-body .gl-info-hero .gl-pill,
.inrep-public-body .gl-subpage-hero .gl-pill,
.inrep-public-body .gl-about-hero .gl-pill,
.inrep-public-body .gl-dark-band .gl-pill,
.inrep-public-body .gl-proof-section .gl-pill,
.inrep-public-body .gl-impact-copy .gl-pill,
.inrep-public-body .gl-feature-section .gl-section-head .gl-pill {
  display: inline-block;
  margin-bottom: 14px;
}
/* Remove the top margin from h1/h2 that follows a pill — the pill bottom-margin is now the gap */
.inrep-public-body .gl-hero-copy h1,
.inrep-public-body .gl-info-hero h1,
.inrep-public-body .gl-product-hero h1,
.inrep-public-body .gl-industry-hero h1,
.inrep-public-body .gl-partner-hero h1,
.inrep-public-body .gl-pricing-hero h1,
.inrep-public-body .gl-case-hero h1 {
  margin-top: 0 !important;
}

/* ─── Feature section theme variants ─── */

/* Variant: soft (light gray) */
.inrep-public-body .gl-feature-section--soft {
  background: var(--gl-soft);
}
.inrep-public-body .gl-feature-section--soft .gl-feature-card {
  background: #fff;
}
.inrep-public-body .gl-feature-section--soft .feature-card-icon {
  background: rgba(37,199,90,.12);
  color: var(--gl-green-dark);
}

/* Variant: dark (dark green) */
.inrep-public-body .gl-feature-section--dark {
  background: var(--gl-night);
  color: #fff;
}
.inrep-public-body .gl-feature-section--dark .gl-section-head h2,
.inrep-public-body .gl-feature-section--dark .gl-section-head p {
  color: #fff;
}
.inrep-public-body .gl-feature-section--dark .gl-section-head p {
  color: rgba(255,255,255,.65);
}
.inrep-public-body .gl-feature-section--dark .gl-section-head .gl-pill {
  background: rgba(37,199,90,.18);
  color: #4edd82;
  border: 1px solid rgba(37,199,90,.3);
}
.inrep-public-body .gl-feature-section--dark .gl-feature-card {
  background: rgba(255,255,255,.07);
  border-color: rgba(255,255,255,.1);
  box-shadow: none;
  color: #fff;
}
.inrep-public-body .gl-feature-section--dark .gl-feature-card h3 {
  color: #fff;
}
.inrep-public-body .gl-feature-section--dark .gl-feature-card p {
  color: rgba(255,255,255,.6);
}
.inrep-public-body .gl-feature-section--dark .feature-card-icon {
  background: rgba(37,199,90,.2);
  color: #4edd82;
}
.inrep-public-body .gl-feature-section--dark .gl-feature-shot {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.08);
}
.inrep-public-body .gl-feature-section--dark .gl-feature-card:hover {
  background: rgba(255,255,255,.12);
  transform: translateY(-2px);
}

/* Variant: accent (white with strong left stripe + 2-col layout) */
.inrep-public-body .gl-feature-section--accent {
  background: #fff;
}
.inrep-public-body .gl-feature-section--accent .gl-feature-grid-4 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px;
}
.inrep-public-body .gl-feature-section--accent .gl-feature-card {
  border-left: 4px solid var(--gl-green);
  padding-left: 22px;
  flex-direction: row;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  column-gap: 18px;
  align-content: start;
}
.inrep-public-body .gl-feature-section--accent .gl-feature-shot {
  display: none;
}
.inrep-public-body .gl-feature-section--accent .feature-card-icon {
  grid-row: 1 / 3;
  background: var(--gl-mint);
  color: var(--gl-green-dark);
  width: 44px;
  height: 44px;
  align-self: start;
}
.inrep-public-body .gl-feature-section--accent .gl-feature-card h3 {
  align-self: end;
  font-size: 16px;
}
.inrep-public-body .gl-feature-section--accent .gl-feature-card p {
  grid-column: 2;
}
@media (max-width: 820px) {
  .inrep-public-body .gl-feature-section--accent .gl-feature-grid-4 {
    grid-template-columns: 1fr !important;
  }
}

/* ─── Pagination — proper numbered design ─── */
.inrep-public-body .public-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 36px;
  flex-wrap: wrap;
}
.inrep-public-body .pag-btn {
  min-width: 38px;
  min-height: 38px;
  padding: 8px 12px;
  border-radius: var(--inrep-radius, 10px);
  border: 1px solid var(--gl-border);
  background: #fff;
  color: var(--gl-ink);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background .14s ease, border-color .14s ease, color .14s ease;
  white-space: nowrap;
}
.inrep-public-body .pag-btn:hover:not(.pag-current):not(.disabled) {
  background: var(--gl-soft);
  border-color: #bcd4c6;
}
.inrep-public-body .pag-btn.pag-current {
  background: var(--gl-ink);
  border-color: var(--gl-ink);
  color: #fff;
}
.inrep-public-body .pag-btn.disabled,
.inrep-public-body .pag-btn[aria-disabled="true"] {
  opacity: .38;
  pointer-events: none;
  cursor: default;
}
.inrep-public-body .pag-ellipsis {
  color: var(--gl-muted);
  padding: 0 4px;
  font-weight: 700;
  font-size: 13px;
  align-self: center;
  user-select: none;
}

/* ─── National Discovery hero form ─── */
.inrep-public-body .gl-nd-hero {
  background:
    radial-gradient(circle at 80% 20%, rgba(37,199,90,.10), transparent 40%),
    linear-gradient(135deg, #06271e, #0d3a2a 55%, #07251c);
  color: #fff;
}
.inrep-public-body .gl-nd-hero .gl-hero-copy h1,
.inrep-public-body .gl-nd-hero .gl-hero-copy p {
  color: #fff;
}
.inrep-public-body .gl-nd-hero .gl-hero-copy p {
  color: rgba(255,255,255,.72);
}
.inrep-public-body .gl-nd-search-form {
  display: grid;
  gap: 10px;
  margin-top: 20px;
}
.inrep-public-body .gl-nd-search-form input {
  width: 100%;
  min-height: 46px;
  padding: 11px 16px;
  border-radius: var(--inrep-radius, 10px);
  border: 1px solid rgba(255,255,255,.2);
  background: rgba(255,255,255,.1);
  color: #fff;
  font-size: 15px;
}
.inrep-public-body .gl-nd-search-form input::placeholder { color: rgba(255,255,255,.5); }
.inrep-public-body .gl-nd-filter-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}
.inrep-public-body .gl-nd-filter-row select {
  min-height: 40px;
  padding: 8px 12px;
  border-radius: var(--inrep-radius, 10px);
  border: 1px solid rgba(255,255,255,.2);
  background: rgba(255,255,255,.08);
  color: #fff;
  font-size: 13px;
}
@media (max-width: 680px) {
  .inrep-public-body .gl-nd-filter-row { grid-template-columns: 1fr; }
}

/* Final public UI alignment pass. */
.inrep-public-body .gl-pill,
.inrep-public-body .hero-eyebrow,
.inrep-public-body .portal-kicker {
  line-height: 1 !important;
}
.inrep-public-body .gl-section-head .gl-pill,
.inrep-public-body .gl-hero-copy .gl-pill,
.inrep-public-body .gl-product-hero .gl-pill,
.inrep-public-body .gl-partner-hero .gl-pill,
.inrep-public-body .gl-subpage-hero .gl-pill,
.inrep-public-body .gl-dark-band .gl-pill,
.inrep-public-body .section-heading .gl-pill {
  margin-bottom: clamp(18px, 1.5vw, 24px) !important;
}
.inrep-public-body .gl-pill-compact {
  padding: 5px 10px !important;
  font-size: 10px !important;
  letter-spacing: .05em !important;
  min-height: 0 !important;
}
.inrep-public-body .gl-product-hero.gl-subpage-hero,
.inrep-public-body .gl-product-hero-pro,
.inrep-public-body .gl-partner-hero,
.inrep-public-body .gl-nd-hero {
  width: min(1520px, calc(100% - 72px)) !important;
  margin: clamp(42px, 5vw, 72px) auto clamp(42px, 5vw, 72px) !important;
  padding: clamp(48px, 6vw, 72px) clamp(32px, 6vw, 90px) !important;
  display: grid !important;
  grid-template-columns: minmax(380px, .9fr) minmax(420px, 1.1fr) !important;
  gap: clamp(44px, 5vw, 82px) !important;
  align-items: center !important;
}
.inrep-public-body .gl-product-hero h1,
.inrep-public-body .gl-partner-hero h1,
.inrep-public-body .gl-nd-hero .gl-hero-copy h1,
.inrep-public-body .page-hero .hero-h1,
.inrep-public-body .national-hero h1 {
  max-width: 680px !important;
  font-size: clamp(28px, 2.4vw, 38px) !important;
  line-height: 1.1 !important;
  letter-spacing: -.025em !important;
}
.inrep-public-body .gl-product-hero p,
.inrep-public-body .gl-partner-hero p,
.inrep-public-body .gl-nd-hero .gl-hero-copy p,
.inrep-public-body .page-hero .hero-subtitle,
.inrep-public-body .national-hero p {
  max-width: 560px !important;
  font-size: clamp(14px, 1vw, 15px) !important;
  line-height: 1.65 !important;
}
.inrep-public-body .gl-partner-photo {
  min-height: clamp(320px, 26vw, 460px) !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  background: #08251d !important;
  box-shadow: 0 28px 70px rgba(0,0,0,.22) !important;
}
.inrep-public-body .gl-partner-photo img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
}
.inrep-public-body .gl-partner-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(5,31,25,.02), rgba(5,31,25,.22));
  pointer-events: none;
}
.inrep-public-body .ir-doc-filters {
  width: min(1200px, calc(100% - 48px)) !important;
  margin: 0 auto 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}
.inrep-public-body [data-ir-records-grid] [hidden] {
  display: none !important;
}
.inrep-public-body .gl-feature-section {
  position: relative;
  overflow: hidden;
  padding: clamp(70px, 7vw, 104px) 0 !important;
}
.inrep-public-body .gl-feature-section .gl-section-head {
  margin-bottom: clamp(34px, 4vw, 56px) !important;
}
.inrep-public-body .gl-feature-section--ops {
  background:
    radial-gradient(circle at 8% 20%, rgba(37,199,90,.12), transparent 30%),
    linear-gradient(135deg, #f7fbf8, #ffffff);
}
.inrep-public-body .gl-feature-section--ops .gl-section-head {
  text-align: left !important;
  width: min(1180px, calc(100% - 48px)) !important;
}
.inrep-public-body .gl-feature-section--ops .gl-feature-grid-4 {
  grid-template-columns: 1.15fr .95fr .95fr !important;
  align-items: stretch !important;
}
.inrep-public-body .gl-feature-section--ops .gl-feature-card:first-child {
  grid-row: span 2;
  min-height: 100%;
  background: #08251d !important;
  color: #fff !important;
  border-color: #08251d !important;
  padding: 0 !important;
  gap: 0 !important;
}
.inrep-public-body .gl-feature-section--ops .gl-feature-card:first-child .gl-feat-ops-header {
  background: linear-gradient(135deg, rgba(37,199,90,.12), rgba(37,199,90,.04)) !important;
  border-bottom: 1px solid rgba(255,255,255,.1) !important;
  width: 100%;
  height: 96px;
  padding: 0 24px;
}
.inrep-public-body .gl-feature-section--ops .gl-feature-card:first-child h3 {
  padding: 20px 24px 0;
  color: #fff !important;
  font-size: 20px !important;
}
.inrep-public-body .gl-feature-section--ops .gl-feature-card:first-child p {
  padding: 8px 24px 24px;
  color: rgba(255,255,255,.62) !important;
  flex: 1;
}
.inrep-public-body .gl-feature-section--validation {
  background:
    linear-gradient(180deg, #f3fbf6 0%, #ffffff 52%, #f8fbf9 100%);
}
.inrep-public-body .gl-feature-section--validation .gl-feature-card {
  border-top: none !important;
  overflow: hidden !important;
  box-shadow: 0 16px 42px rgba(8,37,29,.07) !important;
  gap: 14px !important;
  padding: 0 !important;
}
.inrep-public-body .gl-feature-section--validation .gl-feat-card-vis {
  border-radius: 0 !important;
  height: 90px !important;
}
.inrep-public-body .gl-feature-section--validation .gl-feat-card-label {
  padding: 0 20px;
}
.inrep-public-body .gl-feature-section--validation .gl-feature-card h3,
.inrep-public-body .gl-feature-section--validation .gl-feature-card p {
  padding: 0 20px;
}
.inrep-public-body .gl-feature-section--validation .gl-feature-card p {
  padding-bottom: 20px;
}
.inrep-public-body .gl-feature-section--validation .gl-feature-shot {
  height: 96px !important;
  align-items: center !important;
  justify-content: center !important;
  background:
    linear-gradient(135deg, rgba(37,199,90,.12), rgba(37,199,90,.03)),
    #f8fbf9 !important;
}
.inrep-public-body .gl-feature-section--review {
  background:
    radial-gradient(circle at 15% 20%, rgba(37,199,90,.2), transparent 34%),
    linear-gradient(135deg, #041b15, #092b20 58%, #06351f);
  color: #fff;
}
.inrep-public-body .gl-feature-section--review .gl-section-head h2,
.inrep-public-body .gl-feature-section--review .gl-section-head p,
.inrep-public-body .gl-feature-section--review .gl-feature-card h3 {
  color: #fff !important;
}
.inrep-public-body .gl-feature-section--review .gl-section-head p,
.inrep-public-body .gl-feature-section--review .gl-feature-card p {
  color: rgba(255,255,255,.68) !important;
}
.inrep-public-body .gl-feature-section--review .gl-pill {
  background: rgba(217,251,229,.14) !important;
  border-color: rgba(217,251,229,.2) !important;
  color: #d9fbe5 !important;
}
.inrep-public-body .gl-feature-section--review .gl-feature-card {
  background: rgba(255,255,255,.07) !important;
  border-color: rgba(255,255,255,.14) !important;
  box-shadow: none !important;
  gap: 14px !important;
}
.inrep-public-body .gl-feature-section--review .gl-feat-card-vis {
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.1);
}
.inrep-public-body .gl-feature-section--review .gl-feature-card h3 {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #fff !important;
}
.inrep-public-body .gl-feature-section--review .gl-feature-card p {
  font-size: 14px !important;
  color: rgba(255,255,255,.65) !important;
}
.inrep-public-body .gl-feature-section--reporting {
  background:
    linear-gradient(135deg, #fffef9, #f4fbf7);
}
.inrep-public-body .gl-feature-section--reporting .gl-feature-grid-4 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.inrep-public-body .gl-feature-section--reporting .gl-feature-card {
  min-height: 190px;
  grid-template-columns: 46px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 16px;
  border-left: 4px solid #25c75a !important;
  align-items: start;
}
.inrep-public-body .gl-feature-section--reporting .gl-feat-icon-xl--reporting {
  grid-row: 1 / span 2;
  align-self: center;
  width: 46px;
  height: 46px;
}
.inrep-public-body .gl-feature-section--reporting .gl-feature-shot {
  display: none !important;
}
.inrep-public-body .gl-feature-section--reporting .feature-card-icon {
  grid-row: 1 / span 2;
}
.inrep-public-body .gl-feature-band-compact {
  display: grid !important;
  justify-items: center !important;
  text-align: center !important;
}
.inrep-public-body .gl-feature-band-compact .gl-dark-cards article {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.14) !important;
}
.inrep-public-body .public-pagination,
.inrep-public-body .national-pagination {
  width: fit-content !important;
  max-width: calc(100% - 32px) !important;
  margin: 36px auto 0 !important;
  padding: 8px !important;
  gap: 7px !important;
  border: 1px solid #dce8df !important;
  border-radius: 999px !important;
  background: #f8fbf9 !important;
  box-shadow: 0 18px 44px rgba(8,37,29,.08) !important;
}
.inrep-public-body .pag-btn {
  min-width: 42px !important;
  min-height: 42px !important;
  padding: 9px 14px !important;
  border-radius: 999px !important;
  border-color: transparent !important;
  background: transparent !important;
  font-weight: 850 !important;
}
.inrep-public-body .pag-prev,
.inrep-public-body .pag-next {
  padding-inline: 18px !important;
  background: #fff !important;
  border-color: #dce8df !important;
}
.inrep-public-body .pag-btn.pag-current {
  background: #08251d !important;
  border-color: #08251d !important;
  color: #fff !important;
  box-shadow: 0 10px 26px rgba(8,37,29,.22) !important;
}
.inrep-public-body .pag-ellipsis {
  min-width: 24px;
  text-align: center;
}
.inrep-public-body .insight-page {
  padding-top: clamp(54px, 6vw, 92px) !important;
}
.inrep-public-body .insight-page > .section-heading span {
  display: inline-flex !important;
  margin-bottom: 18px !important;
  padding: 6px 12px !important;
  border: 1px solid #bfe8cc !important;
  border-radius: 999px !important;
  background: #effbf3 !important;
  color: #107a3c !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}
.inrep-public-body .insight-page > .section-heading h1 {
  margin: 0 0 14px !important;
  font-size: clamp(28px, 2.4vw, 38px) !important;
  line-height: 1.1 !important;
  letter-spacing: -.025em !important;
}
.inrep-public-body .ai-tool-page .public-form {
  padding: clamp(18px, 2.4vw, 28px) !important;
  border: 1px solid #dce8df !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 20px 58px rgba(8,37,29,.075) !important;
}
.inrep-public-body .ai-tool-page .public-card-grid {
  margin-top: clamp(30px, 4vw, 52px) !important;
}
@media (max-width: 1180px) {
  .inrep-public-body .gl-product-hero.gl-subpage-hero,
  .inrep-public-body .gl-product-hero-pro,
  .inrep-public-body .gl-partner-hero,
  .inrep-public-body .gl-nd-hero,
  .inrep-public-body .gl-feature-section--ops .gl-feature-grid-4 {
    grid-template-columns: 1fr !important;
  }
  .inrep-public-body .gl-feature-section--ops .gl-section-head {
    text-align: center !important;
  }
}
@media (max-width: 760px) {
  .inrep-public-body .gl-product-hero.gl-subpage-hero,
  .inrep-public-body .gl-product-hero-pro,
  .inrep-public-body .gl-partner-hero,
  .inrep-public-body .gl-nd-hero {
    width: min(100% - 24px, 560px) !important;
    padding: 30px 20px !important;
  }
  .inrep-public-body .gl-feature-section--reporting .gl-feature-grid-4,
  .inrep-public-body .gl-feature-section--ops .gl-feature-grid-4 {
    grid-template-columns: 1fr !important;
  }
  .inrep-public-body .public-pagination,
  .inrep-public-body .national-pagination {
    width: calc(100% - 24px) !important;
    justify-content: center !important;
    border-radius: 22px !important;
  }
  .inrep-public-body .pag-prev,
  .inrep-public-body .pag-next {
    flex: 1 1 120px;
  }
}

/* Screenshot defect cleanup: compact spacing, fixed media crops, consistent public heroes. */
.inrep-public-body :where(.gl-section, .gl-soft-section, .gl-testimonial-block, .gl-client-base, .gl-premium, .gl-partner-table, .gl-standards) {
  padding-top: clamp(54px, 6vw, 82px) !important;
  padding-bottom: clamp(54px, 6vw, 82px) !important;
}
.inrep-public-body :where(.gl-section, .gl-soft-section, .gl-testimonial-block, .gl-client-base, .gl-premium, .gl-partner-table, .gl-standards) + :where(.gl-section, .gl-soft-section, .gl-testimonial-block, .gl-client-base, .gl-premium, .gl-partner-table, .gl-standards, .gl-final-cta, .gl-pro-license) {
  margin-top: 0 !important;
}
.inrep-public-body .gl-logo-strip {
  width: min(1180px, calc(100% - 48px)) !important;
  margin: clamp(34px, 4vw, 54px) auto !important;
  overflow: visible !important;
}
.inrep-public-body .gl-logo-strip span,
.inrep-public-body .gl-award-marquee span {
  white-space: normal !important;
}
.inrep-public-body .gl-award-marquee {
  width: min(1180px, calc(100% - 48px)) !important;
  margin: clamp(28px, 4vw, 48px) auto !important;
  padding: 16px 0 !important;
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 14px 28px !important;
  overflow: visible !important;
}
.inrep-public-body .gl-award-marquee span {
  flex: 0 1 auto !important;
  color: #82958c !important;
}
.inrep-public-body .gl-partner-hero + .gl-logo-strip {
  margin-top: 28px !important;
}
.inrep-public-body .gl-final-cta,
.inrep-public-body .gl-pro-license {
  width: min(1450px, calc(100% - 48px)) !important;
  min-height: 0 !important;
  margin: clamp(34px, 4vw, 56px) auto !important;
  padding: clamp(58px, 7vw, 90px) clamp(22px, 6vw, 90px) !important;
  display: grid !important;
  justify-items: center !important;
  align-items: center !important;
  gap: 22px !important;
}
.inrep-public-body .gl-final-cta h2,
.inrep-public-body .gl-pro-license h2 {
  max-width: 920px !important;
  margin: 0 !important;
  font-size: clamp(26px, 2.8vw, 42px) !important;
  line-height: 1.12 !important;
}
.inrep-public-body .gl-pro-license p {
  max-width: 760px !important;
  margin: 0 !important;
  color: rgba(255,255,255,.76) !important;
  font-size: clamp(15px, 1.2vw, 18px) !important;
}
.inrep-public-body .gl-pro-license div {
  width: min(560px, 100%) !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 30px !important;
  display: grid !important;
  gap: 12px !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
}
.inrep-public-body .gl-pro-license strong {
  font-size: clamp(21px, 2vw, 30px) !important;
}
.inrep-public-body .gl-pro-license span {
  color: rgba(255,255,255,.72) !important;
  font-weight: 800 !important;
}

.inrep-public-body .gl-case-card-grid {
  width: min(1200px, calc(100% - 48px)) !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
}
.inrep-public-body .gl-story-card {
  min-height: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  overflow: hidden !important;
  align-content: stretch !important;
  box-shadow: 0 18px 44px rgba(8,37,29,.06) !important;
}
.inrep-public-body .gl-story-media {
  height: clamp(180px, 15vw, 240px) !important;
  margin: 0 !important;
  border-radius: 0 !important;
  background: #eef8f2 !important;
}
.inrep-public-body .gl-story-media img,
.inrep-public-body .gl-video-large-image img,
.inrep-public-body .gl-tech-photo-image img,
.inrep-public-body .gl-image-card > img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
}
.inrep-public-body .gl-story-media img {
  opacity: 0 !important;
}
.inrep-public-body .gl-story-media::before {
  content: "";
  position: absolute;
  inset: 22px;
  border-radius: 16px;
  background:
    linear-gradient(90deg, #25c75a 0 12%, transparent 12% 18%, rgba(37,199,90,.36) 18% 31%, transparent 31% 37%, rgba(37,199,90,.22) 37% 52%, transparent 52%),
    radial-gradient(circle at 78% 28%, rgba(246,199,146,.95) 0 18%, transparent 19%),
    linear-gradient(135deg, #ffffff, #dff3e7);
  box-shadow: inset 0 0 0 1px rgba(8,37,29,.08);
  z-index: 1;
}
.inrep-public-body .gl-story-media-2::before {
  background:
    linear-gradient(90deg, #09251d 0 22%, transparent 22% 28%, #25c75a 28% 46%, transparent 46%),
    radial-gradient(circle at 75% 72%, rgba(246,199,146,.95) 0 18%, transparent 19%),
    linear-gradient(135deg, #f7fbf8, #d9fbe5);
}
.inrep-public-body .gl-story-media-3::before {
  background:
    linear-gradient(135deg, rgba(9,37,29,.92) 0 32%, transparent 32%),
    linear-gradient(90deg, rgba(37,199,90,.95) 0 12%, transparent 12% 18%, rgba(37,199,90,.35) 18% 28%, transparent 28%),
    radial-gradient(circle at 77% 26%, rgba(246,199,146,.92) 0 16%, transparent 17%),
    #eef8f2;
}
.inrep-public-body .gl-story-media-4::before,
.inrep-public-body .gl-story-media-5::before,
.inrep-public-body .gl-story-media-6::before {
  background:
    linear-gradient(180deg, #09251d 0 26%, transparent 26%),
    linear-gradient(90deg, rgba(37,199,90,.18), transparent 62%),
    radial-gradient(circle at 28% 70%, rgba(37,199,90,.95) 0 17%, transparent 18%),
    radial-gradient(circle at 48% 70%, rgba(246,199,146,.95) 0 13%, transparent 14%),
    #f5fbf7;
}
.inrep-public-body .gl-story-card h3 {
  margin: 0 !important;
  padding: 24px 26px 12px !important;
  font-size: clamp(20px, 1.55vw, 27px) !important;
  line-height: 1.28 !important;
}
.inrep-public-body .gl-story-card p {
  padding: 0 26px 26px !important;
}
.inrep-public-body .gl-story-media button {
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
}
.inrep-public-body .gl-testimonial-card {
  margin-top: 24px !important;
  padding: clamp(22px, 3vw, 34px) !important;
  gap: clamp(24px, 4vw, 46px) !important;
  align-items: center !important;
}
.inrep-public-body .gl-video-large-image {
  min-height: clamp(260px, 24vw, 380px) !important;
}
.inrep-public-body .gl-testimonial-card blockquote {
  font-size: clamp(21px, 2.2vw, 34px) !important;
  line-height: 1.18 !important;
}
.inrep-public-body .gl-quote-strip {
  margin: clamp(30px, 4vw, 50px) auto clamp(34px, 4vw, 56px) !important;
}

.inrep-public-body .gl-client-base {
  width: 100% !important;
  margin: 0 !important;
  background: #f5f8f5 !important;
}
.inrep-public-body .gl-client-base > h2,
.inrep-public-body .gl-client-base > p {
  width: min(1000px, calc(100% - 48px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.inrep-public-body .gl-client-base > div {
  width: min(1120px, calc(100% - 48px)) !important;
  grid-template-columns: minmax(280px, .9fr) repeat(2, minmax(0, 1fr)) !important;
  gap: 20px !important;
}
.inrep-public-body .gl-client-base aside {
  min-height: 0 !important;
  padding: 24px !important;
  display: grid !important;
  place-items: center !important;
  background: linear-gradient(135deg, #e7fff0, #edf6f1) !important;
}
.inrep-public-body .gl-client-base aside img {
  position: static !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: 420px !important;
  object-fit: contain !important;
}
.inrep-public-body .gl-client-base article {
  min-height: 0 !important;
  padding: clamp(24px, 2.6vw, 34px) !important;
  box-shadow: 0 18px 42px rgba(8,37,29,.045) !important;
}
.inrep-public-body .gl-client-base article h3 {
  font-size: clamp(21px, 1.8vw, 28px) !important;
  line-height: 1.25 !important;
}
.inrep-public-body .gl-premium {
  background: #f5f8f5 !important;
}
.inrep-public-body .gl-premium > div {
  width: min(1160px, 100%) !important;
  gap: 20px !important;
}
.inrep-public-body .gl-premium article {
  min-height: 0 !important;
  padding: clamp(24px, 2.8vw, 36px) !important;
  border-top: 4px solid #25c75a !important;
  box-shadow: 0 16px 40px rgba(8,37,29,.045) !important;
}
.inrep-public-body .gl-premium article h3 {
  font-size: clamp(22px, 1.8vw, 28px) !important;
}

.inrep-public-body .research-portal-hero,
.inrep-public-body .national-hero,
.inrep-public-body .public-portal-hero.insight-stat-hero {
  min-height: 0 !important;
  padding: clamp(52px, 6vw, 84px) 0 !important;
}
.inrep-public-body .research-hero-grid,
.inrep-public-body .national-hero-inner,
.inrep-public-body .public-portal-hero.insight-stat-hero {
  width: min(1280px, calc(100% - 72px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.inrep-public-body .research-hero-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr) !important;
  gap: clamp(42px, 6vw, 80px) !important;
  align-items: center !important;
}
.inrep-public-body .research-hero-copy h1,
.inrep-public-body .national-hero h1,
.inrep-public-body .public-portal-hero.insight-stat-hero h1 {
  max-width: 720px !important;
  font-size: clamp(30px, 2.8vw, 44px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.03em !important;
}
.inrep-public-body .research-hero-copy p,
.inrep-public-body .national-hero p,
.inrep-public-body .public-portal-hero.insight-stat-hero p {
  max-width: 680px !important;
  font-size: clamp(16px, 1.35vw, 21px) !important;
  line-height: 1.55 !important;
}
.inrep-public-body .portal-stats-card,
.inrep-public-body .public-portal-hero.insight-stat-hero .mkt-hero-panel {
  box-shadow: 0 22px 56px rgba(8,37,29,.08) !important;
}
.inrep-public-body .portal-stat-grid,
.inrep-public-body .insight-stat-hero .stat-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
}
.inrep-public-body .portal-stat-item,
.inrep-public-body .insight-stat-hero .stat-grid > div {
  min-height: 132px !important;
  padding: 24px !important;
}

.inrep-public-body .ai-tool-page {
  width: min(1120px, calc(100% - 48px)) !important;
  margin: 0 auto !important;
  padding: clamp(54px, 6vw, 90px) 0 !important;
}
.inrep-public-body .ai-tool-page > .section-heading {
  max-width: 820px !important;
  margin: 0 auto clamp(28px, 4vw, 42px) !important;
  text-align: center !important;
}
.inrep-public-body .ai-tool-page > .section-heading h1 {
  font-size: clamp(30px, 2.8vw, 42px) !important;
}
.inrep-public-body .ai-tool-page .public-form {
  width: min(880px, 100%) !important;
  margin: 0 auto !important;
}
.inrep-public-body .ai-tool-page .public-form textarea {
  min-height: 190px !important;
}
.inrep-public-body .ai-tool-page .form-grid-2 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}
.inrep-public-body .ai-tool-page .public-card-grid {
  width: min(1240px, calc(100vw - 72px)) !important;
  margin: clamp(34px, 4vw, 54px) 50% 0 !important;
  transform: translateX(-50%) !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
.inrep-public-body .ai-tool-page .public-card {
  min-height: 0 !important;
  padding: 24px !important;
  overflow-wrap: anywhere !important;
  box-shadow: 0 16px 42px rgba(8,37,29,.045) !important;
}
.inrep-public-body .ai-tool-page .public-card strong {
  font-size: clamp(18px, 1.35vw, 23px) !important;
  line-height: 1.36 !important;
}

.inrep-public-body .gl-feature-band-compact {
  min-height: 0 !important;
  margin: clamp(30px, 4vw, 56px) auto !important;
  padding: clamp(58px, 7vw, 88px) clamp(24px, 6vw, 90px) !important;
}
.inrep-public-body .gl-feature-band-compact .gl-dark-cards article {
  min-height: 150px !important;
}
.inrep-public-body .gl-standards {
  min-height: 0 !important;
}
.inrep-public-body .gl-standards h2 {
  max-width: 1000px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  font-size: clamp(26px, 2.5vw, 40px) !important;
  line-height: 1.14 !important;
}

@media (max-width: 1180px) {
  .inrep-public-body .gl-case-card-grid,
  .inrep-public-body .ai-tool-page .public-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .inrep-public-body .gl-client-base > div,
  .inrep-public-body .research-hero-grid,
  .inrep-public-body .public-portal-hero.insight-stat-hero {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 760px) {
  .inrep-public-body :where(.gl-section, .gl-soft-section, .gl-testimonial-block, .gl-client-base, .gl-premium, .gl-partner-table, .gl-standards) {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }
  .inrep-public-body .gl-case-card-grid,
  .inrep-public-body .gl-premium > div,
  .inrep-public-body .gl-testimonial-card,
  .inrep-public-body .gl-quote-strip,
  .inrep-public-body .gl-client-base > div,
  .inrep-public-body .ai-tool-page .public-card-grid,
  .inrep-public-body .ai-tool-page .form-grid-2 {
    grid-template-columns: 1fr !important;
  }
  .inrep-public-body .gl-final-cta,
  .inrep-public-body .gl-pro-license,
  .inrep-public-body .research-hero-grid,
  .inrep-public-body .national-hero-inner,
  .inrep-public-body .public-portal-hero.insight-stat-hero,
  .inrep-public-body .ai-tool-page {
    width: min(100% - 24px, 560px) !important;
  }
  .inrep-public-body .research-hero-copy h1,
  .inrep-public-body .national-hero h1,
  .inrep-public-body .public-portal-hero.insight-stat-hero h1,
  .inrep-public-body .ai-tool-page > .section-heading h1 {
    font-size: clamp(28px, 8vw, 36px) !important;
  }
  .inrep-public-body .portal-stat-grid,
  .inrep-public-body .insight-stat-hero .stat-grid {
    grid-template-columns: 1fr 1fr !important;
  }
  .inrep-public-body .portal-stat-item,
  .inrep-public-body .insight-stat-hero .stat-grid > div {
    min-height: 104px !important;
    padding: 18px !important;
  }
  .inrep-public-body .ai-tool-page .public-card-grid {
    width: 100% !important;
    margin-left: 0 !important;
    transform: none !important;
  }
}

/* Final case-study media correction: shared flex-card rules were shrinking thumbnails. */
.inrep-public-body .gl-case-card-grid .gl-story-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  min-height: 0 !important;
}
.inrep-public-body .gl-case-card-grid .gl-story-media {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 100% !important;
  height: 218px !important;
  flex: 0 0 218px !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  background:
    radial-gradient(circle at 76% 26%, rgba(246,199,146,.98) 0 13%, transparent 14%),
    linear-gradient(90deg, rgba(37,199,90,.95) 0 9%, transparent 9% 15%, rgba(37,199,90,.4) 15% 24%, transparent 24% 31%, rgba(37,199,90,.22) 31% 40%, transparent 40%),
    linear-gradient(135deg, #f7fff9 0%, #d8f4e2 100%) !important;
}
.inrep-public-body .gl-case-card-grid .gl-story-media-2 {
  background:
    linear-gradient(135deg, rgba(9,37,29,.96) 0 24%, transparent 24%),
    radial-gradient(circle at 72% 68%, rgba(246,199,146,.95) 0 14%, transparent 15%),
    linear-gradient(90deg, #26c75a 0 13%, transparent 13% 22%, rgba(37,199,90,.36) 22% 34%, transparent 34%),
    linear-gradient(135deg, #f8fff9 0%, #d5f8e1 100%) !important;
}
.inrep-public-body .gl-case-card-grid .gl-story-media-3 {
  background:
    linear-gradient(135deg, rgba(9,37,29,.94) 0 30%, transparent 30%),
    radial-gradient(circle at 80% 26%, rgba(180,222,255,.96) 0 15%, transparent 16%),
    linear-gradient(90deg, #25c75a 0 10%, transparent 10% 18%, rgba(37,199,90,.35) 18% 29%, transparent 29%),
    linear-gradient(135deg, #f4fbff 0%, #d5eafb 100%) !important;
}
.inrep-public-body .gl-case-card-grid .gl-story-media-4,
.inrep-public-body .gl-case-card-grid .gl-story-media-5,
.inrep-public-body .gl-case-card-grid .gl-story-media-6 {
  background:
    linear-gradient(180deg, #09251d 0 28%, transparent 28%),
    radial-gradient(circle at 30% 68%, rgba(37,199,90,.96) 0 13%, transparent 14%),
    radial-gradient(circle at 52% 68%, rgba(246,199,146,.95) 0 10%, transparent 11%),
    linear-gradient(135deg, #f6fff8 0%, #dcebe3 100%) !important;
}
.inrep-public-body .gl-case-card-grid .gl-story-media img {
  display: none !important;
}
.inrep-public-body .gl-case-card-grid .gl-story-media::before {
  content: "";
  position: absolute !important;
  inset: 22px !important;
  z-index: 1 !important;
  border-radius: 18px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.78)),
    repeating-linear-gradient(0deg, transparent 0 14px, rgba(8,37,29,.08) 14px 16px) !important;
  box-shadow: 0 18px 38px rgba(8,37,29,.12), inset 0 0 0 1px rgba(8,37,29,.08) !important;
  opacity: 1 !important;
}
.inrep-public-body .gl-case-card-grid .gl-story-media::after {
  content: "";
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  background: linear-gradient(180deg, rgba(8,37,29,0), rgba(8,37,29,.18)) !important;
  pointer-events: none !important;
}
.inrep-public-body .gl-case-card-grid .gl-story-media button {
  z-index: 3 !important;
}

/* Dark-surface contrast: keep all text readable on dark marketing sections. */
.inrep-public-body :where(
  .gl-partner-hero,
  .gl-dark-band,
  .gl-feature-section--dark,
  .gl-feature-band-compact,
  .gl-final-cta,
  .gl-pro-license,
  .gl-impact-dark,
  .gl-tech-dark,
  .gl-industrial-dark,
  .gl-mosaic-dark,
  .gl-illustration-card-dark,
  .gl-chart-card,
  .mkt-footer--dark
) {
  color: #f6fff9 !important;
}
.inrep-public-body :where(
  .gl-partner-hero,
  .gl-dark-band,
  .gl-feature-section--dark,
  .gl-feature-band-compact,
  .gl-final-cta,
  .gl-pro-license,
  .gl-impact-dark,
  .gl-tech-dark,
  .gl-industrial-dark,
  .gl-mosaic-dark,
  .gl-illustration-card-dark,
  .gl-chart-card,
  .mkt-footer--dark
) :where(h1, h2, h3, h4, h5, h6, strong, b, blockquote) {
  color: #ffffff !important;
}
.inrep-public-body :where(
  .gl-partner-hero,
  .gl-dark-band,
  .gl-feature-section--dark,
  .gl-feature-band-compact,
  .gl-final-cta,
  .gl-pro-license,
  .gl-impact-dark,
  .gl-tech-dark,
  .gl-industrial-dark,
  .gl-mosaic-dark,
  .gl-illustration-card-dark,
  .gl-chart-card,
  .mkt-footer--dark
) :where(p, small, li, dd, dt, label, em, span, td, th, figcaption, a:not(.gl-btn):not(.btn):not(.mkt-nav-signup)) {
  color: rgba(246,255,249,.86) !important;
}
.inrep-public-body :where(
  .gl-partner-hero,
  .gl-dark-band,
  .gl-feature-section--dark,
  .gl-feature-band-compact,
  .gl-final-cta,
  .gl-pro-license,
  .mkt-footer--dark
) :where(.gl-pill, .gl-breadcrumb, .gl-breadcrumb a, .gl-section-head p) {
  color: rgba(246,255,249,.92) !important;
}
.inrep-public-body :where(
  .gl-partner-hero,
  .gl-dark-band,
  .gl-feature-section--dark,
  .gl-feature-band-compact,
  .gl-final-cta,
  .gl-pro-license,
  .mkt-footer--dark
) :where(.gl-btn-green, .btn.green, button.gl-btn-green, a.gl-btn-green) {
  color: #062319 !important;
}
.inrep-public-body :where(
  .gl-partner-hero,
  .gl-dark-band,
  .gl-feature-section--dark,
  .gl-feature-band-compact,
  .gl-final-cta,
  .gl-pro-license,
  .mkt-footer--dark
) :where(.gl-btn-green:hover, .btn.green:hover, button.gl-btn-green:hover, a.gl-btn-green:hover) {
  color: #ffffff !important;
}

/* ── Home/info/case hero cards: add bottom margin to match subpage heroes ─ */
.inrep-public-body .gl-home-hero {
  margin-bottom: clamp(42px, 5vw, 72px) !important;
}
.inrep-public-body .gl-info-hero,
.inrep-public-body .gl-case-hero {
  margin: clamp(42px, 5vw, 72px) auto clamp(42px, 5vw, 72px) !important;
}

/* ── Section separation: dark-band card needs breathing room above/below ── */
.inrep-public-body .gl-dark-band {
  margin-top: clamp(34px, 4vw, 60px) !important;
  margin-bottom: clamp(34px, 4vw, 60px) !important;
}

/* Adjacent same-background sections get a subtle divider so they read as separate */
.inrep-public-body .gl-section + .gl-section {
  border-top: 1px solid var(--gl-border) !important;
}
.inrep-public-body .gl-soft-section + .gl-soft-section {
  border-top: 1px solid rgba(37,199,90,.14) !important;
}
.inrep-public-body .gl-feature-section + .gl-feature-section {
  border-top: 1px solid var(--gl-border) !important;
}

/* ── About page: richer hero visual ─────────────────────────────────────── */
.inrep-public-body .gl-about-hero-panel {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  max-width: 380px;
}
.inrep-public-body .gl-about-doc-preview {
  background: #fff;
  border: 1px solid var(--gl-border);
  border-radius: var(--inrep-radius, 10px);
  padding: 20px 22px;
  box-shadow: 0 8px 28px rgba(8,37,29,.07);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.inrep-public-body .gl-about-doc-preview .gl-pill {
  width: max-content;
}
.inrep-public-body .gl-about-doc-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--gl-ink);
  line-height: 1.4;
  margin: 0;
}
.inrep-public-body .gl-about-doc-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 4px;
}
.inrep-public-body .gl-about-doc-meta span {
  font-size: 12px;
  font-weight: 600;
  color: var(--gl-muted);
}
.inrep-public-body .gl-about-doc-meta .gl-about-access-open {
  background: var(--gl-mint);
  color: var(--gl-green-dark);
  padding: 2px 8px;
  border-radius: 20px;
}
.inrep-public-body .gl-about-doc-status-row {
  display: flex;
  gap: 8px;
  align-items: center;
  padding-top: 8px;
  border-top: 1px solid var(--gl-border);
}
.inrep-public-body .gl-about-doc-status-row span {
  font-size: 11px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 20px;
}
.inrep-public-body .gl-status-published {
  background: #d9fbe5;
  color: #0a5c2e;
}
.inrep-public-body .gl-status-dept {
  background: #f4f7f4;
  color: var(--gl-ink);
}

/* ── Features page: hero visual container alignment ─────────────────────── */
.inrep-public-body .gl-feature-hero-visual {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 28px !important;
  background: linear-gradient(135deg, #f0f9f4, #daf0e4) !important;
}

/* ── Features page: richer dashboard visual ─────────────────────────────── */
.inrep-public-body .gl-feat-dashboard {
  width: 100%;
  max-width: 420px;
  background: #fff;
  border: 1px solid var(--gl-border);
  border-radius: var(--inrep-radius, 10px);
  box-shadow: 0 22px 60px rgba(8,37,29,.1);
  overflow: hidden;
}
.inrep-public-body .gl-feat-dash-header {
  padding: 16px 20px 14px;
  border-bottom: 1px solid var(--gl-border);
  display: flex;
  align-items: center;
  gap: 12px;
}
.inrep-public-body .gl-feat-dash-header strong {
  font-size: 14px;
  font-weight: 700;
  color: var(--gl-ink);
}
.inrep-public-body .gl-feat-dash-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-bottom: 1px solid var(--gl-border);
}
.inrep-public-body .gl-feat-dash-stats > div {
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.inrep-public-body .gl-feat-dash-stats > div + div {
  border-left: 1px solid var(--gl-border);
}
.inrep-public-body .gl-feat-dash-stats strong {
  font-size: 20px;
  font-weight: 700;
  color: var(--gl-ink);
  line-height: 1;
}
.inrep-public-body .gl-feat-dash-stats span {
  font-size: 11px;
  color: var(--gl-muted);
  font-weight: 600;
}
.inrep-public-body .gl-feat-dash-items {
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.inrep-public-body .gl-feat-dash-item {
  padding: 10px 12px;
  border-radius: 8px;
  background: #fafcfb;
  border: 1px solid #edf3ef;
  display: flex;
  align-items: center;
  gap: 10px;
}
.inrep-public-body .gl-feat-dash-item span:last-child {
  font-size: 12px;
  color: var(--gl-muted);
  font-weight: 500;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.inrep-public-body .gl-feat-status-pill {
  flex-shrink: 0;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 20px;
  white-space: nowrap;
}
.inrep-public-body .gl-feat-status-pill.approved {
  background: #d9fbe5;
  color: #0a5c2e;
}
.inrep-public-body .gl-feat-status-pill.review {
  background: #fff4dd;
  color: #7a4e00;
}
.inrep-public-body .gl-feat-status-pill.draft {
  background: #ffe9e6;
  color: #871b0f;
}

/* ── Projects page: search-results visual ───────────────────────────────── */
.inrep-public-body .gl-proj-search-demo {
  width: 100%;
  max-width: 420px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.inrep-public-body .gl-proj-search-bar {
  background: #fff;
  border: 1px solid var(--gl-border);
  border-radius: var(--inrep-radius, 10px);
  padding: 10px 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  box-shadow: 0 4px 16px rgba(8,37,29,.06);
}
.inrep-public-body .gl-proj-search-bar svg {
  flex-shrink: 0;
  color: var(--gl-muted);
}
.inrep-public-body .gl-proj-search-bar span {
  font-size: 13px;
  color: #9aaeaa;
  font-weight: 500;
}
.inrep-public-body .gl-proj-filter-chips {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.inrep-public-body .gl-proj-filter-chip {
  font-size: 12px;
  font-weight: 600;
  padding: 5px 12px;
  border-radius: 20px;
  border: 1px solid var(--gl-border);
  background: #fff;
  color: var(--gl-ink);
  cursor: default;
}
.inrep-public-body .gl-proj-filter-chip.is-active {
  background: var(--gl-ink);
  border-color: var(--gl-ink);
  color: #fff;
}
.inrep-public-body .gl-proj-result-cards {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.inrep-public-body .gl-proj-result {
  background: #fff;
  border: 1px solid var(--gl-border);
  border-radius: var(--inrep-radius, 10px);
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  box-shadow: 0 2px 10px rgba(8,37,29,.04);
}
.inrep-public-body .gl-proj-result-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--gl-ink);
  line-height: 1.4;
}
.inrep-public-body .gl-proj-result-meta {
  font-size: 11px;
  color: var(--gl-muted);
  font-weight: 500;
}
.inrep-public-body .gl-proj-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 20px;
  background: var(--gl-mint);
  color: var(--gl-green-dark);
  width: max-content;
}
.inrep-public-body .gl-proj-badge.restricted {
  background: #fff4dd;
  color: #7a4e00;
}
.inrep-public-body .gl-proj-badge.view-only {
  background: #e8eeff;
  color: #2a3fa3;
}

/* ── Solutions page: multi-role visual ──────────────────────────────────── */
.inrep-public-body .gl-sol-roles-wrap {
  width: 100%;
  max-width: 380px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.inrep-public-body .gl-sol-roles-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.inrep-public-body .gl-sol-role {
  padding: 18px 16px;
  background: #fff;
  border: 1px solid var(--gl-border);
  border-radius: var(--inrep-radius, 10px);
  display: flex;
  flex-direction: column;
  gap: 6px;
  box-shadow: 0 4px 14px rgba(8,37,29,.05);
  transition: box-shadow .16s, transform .16s;
}
.inrep-public-body .gl-sol-role:hover {
  box-shadow: 0 10px 28px rgba(8,37,29,.1);
  transform: translateY(-2px);
}
.inrep-public-body .gl-sol-role-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: var(--gl-mint);
  color: var(--gl-green-dark);
  flex-shrink: 0;
}
.inrep-public-body .gl-sol-role strong {
  font-size: 13px;
  font-weight: 700;
  color: var(--gl-ink);
  line-height: 1.3;
}
.inrep-public-body .gl-sol-role span {
  font-size: 11px;
  color: var(--gl-muted);
  font-weight: 500;
}
.inrep-public-body .gl-sol-central {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  background: var(--gl-ink);
  border-radius: var(--inrep-radius, 10px);
  color: #fff;
}
.inrep-public-body .gl-sol-central strong {
  font-size: 14px;
  font-weight: 700;
  color: #fff;
}
.inrep-public-body .gl-sol-central span {
  font-size: 12px;
  color: rgba(246,255,249,.7);
}
.inrep-public-body .gl-sol-central-dot {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: var(--gl-green);
  flex-shrink: 0;
  display: grid;
  place-items: center;
  font-weight: 900;
  font-size: 12px;
  color: #052319;
}

/* ── Filter button polish ────────────────────────────────────────────────── */
.inrep-public-body .ir-doc-filter {
  transition: background .14s, border-color .14s, color .14s, transform .1s !important;
}
.inrep-public-body .ir-doc-filter:active {
  transform: scale(.97) !important;
}
.inrep-public-body .ir-doc-filter.is-active {
  background: var(--gl-ink) !important;
  border-color: var(--gl-ink) !important;
  color: #fff !important;
}

/* ── Mobile: hero visual stack ───────────────────────────────────────────── */
@media (max-width: 760px) {
  .inrep-public-body .gl-about-hero-panel,
  .inrep-public-body .gl-feat-dashboard,
  .inrep-public-body .gl-proj-search-demo,
  .inrep-public-body .gl-sol-roles-wrap {
    max-width: 100% !important;
  }
  .inrep-public-body .gl-sol-roles-grid {
    grid-template-columns: 1fr 1fr !important;
  }
  .inrep-public-body .gl-dark-band {
    margin-top: clamp(24px, 4vw, 42px) !important;
    margin-bottom: clamp(24px, 4vw, 42px) !important;
  }
}

/* ── Find Your University page ──────────────────────────────────────────── */
.inrep-public-body .gl-fu-search-form {
  margin-top: 28px;
}
.inrep-public-body .gl-fu-search-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  background: #fff;
  border: 1px solid var(--gl-border);
  border-radius: var(--inrep-radius, 10px);
  padding: 8px 12px;
  box-shadow: 0 4px 18px rgba(8,37,29,.06);
  max-width: 620px;
}
.inrep-public-body .gl-fu-search-bar svg {
  flex-shrink: 0;
  color: var(--gl-muted);
}
.inrep-public-body .gl-fu-search-bar input {
  flex: 1;
  min-width: 160px;
  min-height: 36px;
  border: none;
  outline: none;
  font-size: 14px;
  color: var(--gl-ink);
  background: transparent;
}
.inrep-public-body .gl-fu-search-bar select {
  min-height: 36px;
  padding: 0 10px;
  border: 1px solid var(--gl-border);
  border-radius: 8px;
  font-size: 13px;
  color: var(--gl-ink);
  background: #f8fbf9;
  cursor: pointer;
}
.inrep-public-body .gl-fu-hero-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 36px 48px;
  background: #fff;
  border: 1px solid var(--gl-border);
  border-radius: var(--inrep-radius, 10px);
  box-shadow: 0 8px 32px rgba(8,37,29,.07);
}
.inrep-public-body .gl-fu-hero-stat strong {
  font-size: 52px;
  font-weight: 800;
  line-height: 1;
  color: var(--gl-ink);
}
.inrep-public-body .gl-fu-hero-stat span {
  font-size: 14px;
  color: var(--gl-muted);
  font-weight: 600;
  text-align: center;
}
.inrep-public-body .gl-fu-grid {
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.inrep-public-body .gl-fu-card {
  padding: 22px;
  background: #fff;
  border: 1px solid var(--gl-border);
  border-radius: var(--inrep-radius, 10px);
  display: flex;
  flex-direction: column;
  gap: 10px;
  text-decoration: none;
  color: var(--gl-ink);
  transition: box-shadow .16s, transform .16s, border-color .16s;
  box-shadow: 0 2px 10px rgba(8,37,29,.04);
}
.inrep-public-body .gl-fu-card:hover {
  box-shadow: 0 12px 32px rgba(8,37,29,.1);
  transform: translateY(-2px);
  border-color: #c4d9ce;
}
.inrep-public-body .gl-fu-card-top {
  display: flex;
  align-items: center;
  gap: 12px;
}
.inrep-public-body .gl-fu-logo {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  object-fit: contain;
  border: 1px solid var(--gl-border);
  background: #f8fbf9;
  flex-shrink: 0;
}
.inrep-public-body .gl-fu-logo-placeholder {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  background: var(--gl-ink);
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  text-transform: uppercase;
}
.inrep-public-body .gl-fu-card-meta {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.inrep-public-body .gl-fu-card-name {
  font-size: 14px;
  font-weight: 700;
  color: var(--gl-ink);
  line-height: 1.3;
  white-space: normal;
}
.inrep-public-body .gl-fu-card-location {
  font-size: 12px;
  color: var(--gl-muted);
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 4px;
}
.inrep-public-body .gl-fu-count {
  flex-shrink: 0;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 20px;
  background: var(--gl-mint);
  color: var(--gl-green-dark);
  white-space: nowrap;
}
.inrep-public-body .gl-fu-card-tagline {
  font-size: 13px;
  color: var(--gl-muted);
  line-height: 1.5;
  margin: 0;
  flex: 1;
}
.inrep-public-body .gl-fu-visit {
  font-size: 13px;
  font-weight: 700;
  color: var(--gl-green-dark);
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: auto;
}
.inrep-public-body .gl-fu-empty {
  width: min(480px, calc(100% - 48px));
  margin: 40px auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  color: var(--gl-muted);
}
.inrep-public-body .gl-fu-empty svg { color: #b8ccbf; }
.inrep-public-body .gl-fu-empty h2 { color: var(--gl-ink); font-size: 22px; }
@media (max-width: 1024px) {
  .inrep-public-body .gl-fu-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 640px) {
  .inrep-public-body .gl-fu-grid { grid-template-columns: 1fr !important; }
  .inrep-public-body .gl-fu-search-bar { flex-direction: column; align-items: stretch; }
  .inrep-public-body .gl-fu-search-bar input,
  .inrep-public-body .gl-fu-search-bar select { min-width: 0; width: 100%; }
}

/* ── Features page: unique per-card mini-illustrations (validation section) */
.inrep-public-body .gl-feat-card-vis {
  width: 100%;
  height: 80px;
  border-radius: var(--inrep-radius, 10px);
  overflow: hidden;
  position: relative;
  flex-shrink: 0;
}
/* Single upload card */
.inrep-public-body .feat-vis--upload {
  background: linear-gradient(135deg, #f0f9f4, #d9fbe5);
}
.inrep-public-body .feat-vis--upload::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 32px;
  height: 40px;
  background: #fff;
  border-radius: 4px 4px 4px 4px;
  border: 2px solid #25c75a;
  box-shadow: 0 4px 14px rgba(37,199,90,.18);
}
.inrep-public-body .feat-vis--upload::after {
  content: "";
  position: absolute;
  left: 50%;
  top: calc(50% - 8px);
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 9px solid #25c75a;
}
/* Bulk CSV card */
.inrep-public-body .feat-vis--csv {
  background: linear-gradient(135deg, #f0f7ff, #dbeafe);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.inrep-public-body .feat-vis--csv::before,
.inrep-public-body .feat-vis--csv::after {
  content: "";
  display: block;
  height: 48px;
  border-radius: 4px;
  border: 2px solid #3b82f6;
  background:
    repeating-linear-gradient(0deg, transparent 0 6px, rgba(59,130,246,.15) 6px 7px);
}
.inrep-public-body .feat-vis--csv::before { width: 36px; }
.inrep-public-body .feat-vis--csv::after  { width: 24px; }
/* PDF validation card */
.inrep-public-body .feat-vis--pdf {
  background: linear-gradient(135deg, #fefce8, #fef9c3);
}
.inrep-public-body .feat-vis--pdf::before {
  content: "";
  position: absolute;
  left: calc(50% - 16px);
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 40px;
  background: #fff;
  border-radius: 4px;
  border: 2px solid #eab308;
  box-shadow: 0 4px 12px rgba(234,179,8,.2);
}
.inrep-public-body .feat-vis--pdf::after {
  content: "✓";
  position: absolute;
  right: calc(50% - 22px);
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background: #22c55e;
  border-radius: 999px;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 20px;
  text-align: center;
}
/* Missing metadata alert card */
.inrep-public-body .feat-vis--alert {
  background: linear-gradient(135deg, #fff7f0, #ffe4d6);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.inrep-public-body .feat-vis--alert::before {
  content: "";
  width: 36px;
  height: 40px;
  background: #fff;
  border-radius: 4px;
  border: 2px solid #f97316;
  flex-shrink: 0;
  background:
    linear-gradient(#fff,#fff) padding-box,
    repeating-linear-gradient(0deg, transparent 0 5px, rgba(249,115,22,.2) 5px 6px) padding-box;
  box-shadow: 0 4px 12px rgba(249,115,22,.18);
}
.inrep-public-body .feat-vis--alert::after {
  content: "!";
  width: 20px;
  height: 20px;
  background: #f97316;
  border-radius: 999px;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 20px;
  text-align: center;
  flex-shrink: 0;
}

/* ── Section eyebrow/label pill consistency ──────────────────────────────
   Pages using .eyebrow, .hero-eyebrow, .section-eyebrow as section labels
   (NOT the institution hero which has its own vars) should match .gl-pill
   compact sizing so all badges look uniform across the public site.        */
.inrep-public-body .cards-section .hero-eyebrow,
.inrep-public-body .cards-section .section-eyebrow,
.inrep-public-body .cards-section .eyebrow,
.inrep-public-body .section-heading .hero-eyebrow,
.inrep-public-body .section-heading .section-eyebrow,
.inrep-public-body .section-heading .eyebrow,
.inrep-public-body .mkt-section .eyebrow,
.inrep-public-body .public-section .eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  width: max-content !important;
  max-width: 100% !important;
  padding: 4px 10px !important;
  border-radius: var(--inrep-radius, 10px) !important;
  background: var(--gl-mint) !important;
  color: var(--gl-green-dark) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
  text-transform: uppercase !important;
  margin-bottom: clamp(16px, 1.5vw, 22px) !important;
}
