/* =========================================================
   INVESTMETRICS INTELLIGENCE
   Corporate Website Design System
   ========================================================= */

/* ---------- Design tokens ---------- */

:root {
  --im-green-900: #0B3D2E;
  --im-green-700: #1F6E52;
  --im-gold: #C9A227;
  --im-gold-soft: #D8BD61;

  --im-cream: #F5F1E6;
  --im-white: #FAF9F5;
  --im-surface: #FFFFFF;

  --im-charcoal: #20242A;
  --im-muted: #69736F;
  --im-border: #DDE3DF;

  --im-blue: #355C7D;
  --im-teal: #167D7F;
  --im-success: #2E7D32;
  --im-warning: #D98E04;
  --im-critical: #B3423C;
  --im-purple: #6B4C7A;

  --im-radius-sm: 10px;
  --im-radius-md: 18px;
  --im-radius-lg: 28px;

  --im-shadow-sm: 0 8px 24px rgba(11, 61, 46, 0.08);
  --im-shadow-md: 0 18px 50px rgba(11, 61, 46, 0.12);

  --im-transition: 180ms ease;
}


/* ---------- Corporate site foundation ---------- */

body.im-site {
  margin: 0;
  background: var(--im-white);
  color: var(--im-charcoal);
  font-family: "Poppins", sans-serif;
  -webkit-font-smoothing: antialiased;
}

body.im-site a {
  text-decoration: none;
}

body.im-site h1,
body.im-site h2,
body.im-site h3,
body.im-site h4,
body.im-site h5,
body.im-site h6 {
  color: var(--im-green-900);
}

.im-container {
  width: min(1180px, calc(100% - 48px));
  margin-inline: auto;
}


/* ---------- Header ---------- */

.im-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 997;
  height: 88px;
  display: flex;
  align-items: center;

  background: rgba(11, 61, 46, 0.97);
  border-bottom: 1px solid rgba(201, 162, 39, 0.26);

  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.im-header-inner {
  width: min(1220px, calc(100% - 48px));
  margin-inline: auto;

  display: flex;
  align-items: center;
  gap: 32px;
}

.im-logo {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
}

.im-logo img {
  display: block;
  width: auto;
  max-height: 56px;
}


/* ---------- Main navigation ---------- */

.im-nav {
  margin-left: auto;
}

.im-nav > ul {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 6px;

  padding: 0;
  margin: 0;
}

.im-nav > ul > li {
  position: relative;
}

.im-nav > ul > li > a {
  display: flex;
  align-items: center;
  gap: 6px;

  padding: 12px 14px;

  color: rgba(255, 255, 255, 0.88);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.01em;

  border-radius: 9px;
  transition:
    color var(--im-transition),
    background var(--im-transition);
}

.im-nav > ul > li > a:hover,
.im-nav > ul > li > a.active {
  color: #FFFFFF;
  background: rgba(255, 255, 255, 0.08);
}

.im-nav > ul > li > a.active {
  color: var(--im-gold-soft);
}


/* ---------- Dropdowns ---------- */

.im-nav .im-dropdown-menu {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;

  min-width: 270px;
  padding: 10px;

  list-style: none;

  background: #FFFFFF;
  border: 1px solid var(--im-border);
  border-radius: 14px;

  box-shadow: var(--im-shadow-md);

  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);

  transition:
    opacity var(--im-transition),
    transform var(--im-transition),
    visibility var(--im-transition);
}

.im-nav li:hover > .im-dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.im-dropdown-menu li a {
  display: block;
  padding: 10px 12px;

  color: var(--im-charcoal);
  font-size: 13px;
  font-weight: 500;

  border-radius: 8px;
  transition:
    background var(--im-transition),
    color var(--im-transition);
}

.im-dropdown-menu li a:hover {
  background: var(--im-cream);
  color: var(--im-green-900);
}


/* ---------- Buttons ---------- */

.im-btn {
  min-height: 44px;
  padding: 11px 18px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  border-radius: 10px;
  border: 1px solid transparent;

  font-size: 14px;
  font-weight: 600;

  transition:
    transform var(--im-transition),
    background var(--im-transition),
    color var(--im-transition),
    border-color var(--im-transition),
    box-shadow var(--im-transition);
}

.im-btn:hover {
  transform: translateY(-1px);
}

.im-btn-gold {
  background: var(--im-gold);
  color: var(--im-green-900);
  border-color: var(--im-gold);
}

.im-btn-gold:hover {
  background: var(--im-gold-soft);
  border-color: var(--im-gold-soft);
  color: var(--im-green-900);
  box-shadow: 0 8px 22px rgba(201, 162, 39, 0.22);
}

.im-btn-green {
  background: var(--im-green-700);
  color: #FFFFFF;
}

.im-btn-green:hover {
  background: var(--im-green-900);
  color: #FFFFFF;
}

.im-btn-outline {
  color: var(--im-green-900);
  border-color: rgba(11, 61, 46, 0.3);
  background: transparent;
}

.im-btn-outline:hover {
  background: var(--im-green-900);
  color: #FFFFFF;
  border-color: var(--im-green-900);
}


/* ---------- Standard sections ---------- */

.im-section {
  padding: 96px 0;
}

.im-section-cream {
  background: var(--im-cream);
}

.im-section-white {
  background: var(--im-white);
}

.im-section-green {
  background: var(--im-green-900);
  color: #FFFFFF;
}

.im-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;

  margin-bottom: 16px;

  color: var(--im-gold);
  font-size: 12px;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.im-section-title {
  max-width: 760px;
  margin: 0 0 18px;

  color: var(--im-green-900);
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.08;
  font-weight: 700;
  letter-spacing: -0.03em;
}

.im-section-intro {
  max-width: 760px;
  margin: 0;

  color: var(--im-muted);
  font-size: 17px;
  line-height: 1.8;
}


/* ---------- Cards ---------- */

.im-card {
  height: 100%;
  padding: 28px;

  background: #FFFFFF;
  border: 1px solid var(--im-border);
  border-radius: var(--im-radius-md);

  box-shadow: var(--im-shadow-sm);

  transition:
    transform var(--im-transition),
    box-shadow var(--im-transition),
    border-color var(--im-transition);
}

.im-card:hover {
  transform: translateY(-4px);
  border-color: rgba(201, 162, 39, 0.5);
  box-shadow: var(--im-shadow-md);
}

.im-card-icon {
  width: 52px;
  height: 52px;
  margin-bottom: 22px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: var(--im-gold);
  background: rgba(201, 162, 39, 0.10);

  border: 1px solid rgba(201, 162, 39, 0.28);
  border-radius: 12px;
}

.im-card h3 {
  margin: 0 0 12px;

  color: var(--im-green-900);
  font-size: 20px;
  font-weight: 650;
}

.im-card p {
  margin: 0;
  color: var(--im-muted);
  line-height: 1.75;
}


/* ---------- Footer foundation ---------- */

.im-footer {
  position: relative;
  overflow: hidden;

  background:
    radial-gradient(
      circle at 85% 0%,
      rgba(31, 110, 82, 0.42),
      transparent 34%
    ),
    var(--im-green-900);

  color: rgba(255, 255, 255, 0.76);

  border-top: 1px solid rgba(201, 162, 39, 0.28);
}

.im-footer-main {
  padding: 72px 0 48px;
}

.im-footer h4 {
  margin-bottom: 18px;

  color: #FFFFFF;
  font-size: 14px;
  font-weight: 650;
}

.im-footer a {
  color: rgba(255, 255, 255, 0.72);
  transition: color var(--im-transition);
}

.im-footer a:hover {
  color: var(--im-gold-soft);
}

.im-footer-bottom {
  padding: 20px 0;

  border-top: 1px solid rgba(255, 255, 255, 0.10);

  color: rgba(255, 255, 255, 0.60);
  font-size: 13px;
}


/* ---------- Responsive ---------- */

@media (max-width: 1199px) {

  .im-header {
    height: 76px;
  }

  .im-nav {
    display: none;
  }

  .im-logo img {
    max-height: 46px;
  }

  .im-header-inner {
    width: min(100% - 32px, 1180px);
  }
}

@media (max-width: 767px) {

  .im-container {
    width: min(100% - 30px, 1180px);
  }

  .im-section {
    padding: 68px 0;
  }

  .im-section-title {
    font-size: 34px;
  }

  .im-section-intro {
    font-size: 15px;
  }

  .im-card {
    padding: 22px;
  }
}
/* ---------- Navigation utility ---------- */

.im-header .mobile-nav-toggle {
  margin-left: auto;
  color: #FFFFFF;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
  z-index: 1001;
}

@media (max-width: 1199px) {

  body.mobile-nav-active .im-nav {
    display: block;
  }

  body.mobile-nav-active .im-nav > ul {
    display: block;
  }

  body.mobile-nav-active .im-nav .im-dropdown-menu {
    position: static;
    min-width: 0;
    margin: 6px 0;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
  }
}
/* =========================================================
   HOME HERO
   ========================================================= */

.im-home-hero {
  position: relative;
  overflow: hidden;
  padding: 86px 0 92px;

  background:
    radial-gradient(
      circle at 8% 20%,
      rgba(201, 162, 39, 0.10),
      transparent 26%
    ),
    linear-gradient(
      135deg,
      #FAF9F5 0%,
      #F5F1E6 100%
    );
}

.im-home-hero::before {
  content: "";
  position: absolute;
  width: 440px;
  height: 440px;
  right: -180px;
  top: -190px;

  border: 1px solid rgba(201, 162, 39, 0.20);
  border-radius: 50%;
}

.im-home-hero::after {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  right: -70px;
  top: -100px;

  border: 1px solid rgba(11, 61, 46, 0.09);
  border-radius: 50%;
}

.im-hero-grid {
  position: relative;
  z-index: 2;

  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr);
  gap: 76px;
  align-items: center;
}


/* ---------- Hero copy ---------- */

.im-hero-copy h1 {
  max-width: 720px;
  margin: 0 0 26px;

  color: var(--im-green-900);
  font-size: clamp(48px, 5.3vw, 76px);
  line-height: 0.99;
  font-weight: 700;
  letter-spacing: -0.045em;
}

.im-hero-copy h1 span {
  display: block;
  color: var(--im-green-700);
}

.im-hero-lead {
  max-width: 690px;
  margin: 0 0 32px;

  color: #55615D;
  font-size: 18px;
  line-height: 1.75;
}

.im-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 42px;
}

.im-hero-secondary {
  background: rgba(255, 255, 255, 0.58);
}


/* ---------- Capability strip ---------- */

.im-hero-capabilities {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}

.im-hero-capability {
  display: inline-flex;
  align-items: center;
  gap: 9px;

  color: var(--im-green-900);
  font-size: 13px;
  font-weight: 600;
}

.im-hero-capability i {
  color: var(--im-gold);
  font-size: 17px;
}


/* ---------- Intelligence visual ---------- */

.im-hero-visual {
  position: relative;
}

.im-intelligence-panel {
  position: relative;
  overflow: hidden;

  padding: 36px;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(31, 110, 82, 0.75),
      transparent 42%
    ),
    var(--im-green-900);

  border: 1px solid rgba(201, 162, 39, 0.52);
  border-radius: 30px;

  box-shadow:
    0 32px 80px rgba(11, 61, 46, 0.22);
}

.im-intelligence-panel::before {
  content: "";
  position: absolute;

  width: 300px;
  height: 300px;

  right: -170px;
  bottom: -190px;

  border: 1px solid rgba(201, 162, 39, 0.28);
  border-radius: 50%;
}


/* ---------- Panel heading ---------- */

.im-intelligence-top {
  position: relative;
  z-index: 2;

  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;

  margin-bottom: 42px;
}

.im-panel-label {
  display: block;
  margin-bottom: 10px;

  color: var(--im-gold-soft);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.15em;
}

.im-intelligence-top h2 {
  margin: 0;

  color: #FFFFFF;
  font-size: 34px;
  line-height: 1.12;
  font-weight: 650;
  letter-spacing: -0.03em;
}

.im-panel-mark {
  width: 54px;
  height: 54px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: var(--im-gold);
  font-size: 24px;

  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(201, 162, 39, 0.34);
  border-radius: 14px;
}


/* ---------- Intelligence flow ---------- */

.im-intelligence-flow {
  position: relative;
  z-index: 2;

  display: grid;
  grid-template-columns:
    auto 1fr auto 1fr auto 1fr auto;

  align-items: center;
  gap: 9px;

  margin-bottom: 36px;
}

.im-flow-step {
  display: flex;
  flex-direction: column;
  min-width: 70px;
}

.im-flow-step span {
  margin-bottom: 7px;

  color: var(--im-gold);
  font-size: 10px;
  font-weight: 700;
}

.im-flow-step strong {
  color: #FFFFFF;
  font-size: 13px;
  font-weight: 600;
}

.im-flow-step small {
  margin-top: 3px;

  color: rgba(255, 255, 255, 0.50);
  font-size: 9px;
  line-height: 1.35;
}

.im-flow-line {
  height: 1px;
  background: rgba(201, 162, 39, 0.40);
}


/* ---------- Intelligence cards ---------- */

.im-intelligence-cards {
  position: relative;
  z-index: 2;

  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;

  margin-bottom: 32px;
}

.im-mini-card {
  min-height: 112px;
  padding: 16px;

  display: flex;
  flex-direction: column;
  justify-content: space-between;

  background: rgba(255, 255, 255, 0.055);
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 14px;
}

.im-mini-icon {
  width: 34px;
  height: 34px;

  display: flex;
  align-items: center;
  justify-content: center;

  margin-bottom: 14px;

  color: var(--im-gold);

  background: rgba(201, 162, 39, 0.10);
  border-radius: 9px;
}

.im-mini-card span {
  display: block;

  color: rgba(255, 255, 255, 0.50);
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.im-mini-card strong {
  display: block;
  margin-top: 2px;

  color: #FFFFFF;
  font-size: 12px;
  font-weight: 600;
}


/* ---------- Panel footer ---------- */

.im-panel-footer {
  position: relative;
  z-index: 2;

  display: flex;
  justify-content: space-between;
  gap: 12px;

  padding-top: 18px;

  border-top: 1px solid rgba(255, 255, 255, 0.10);

  color: rgba(255, 255, 255, 0.40);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.08em;
}


/* ---------- Hero responsive ---------- */

@media (max-width: 1100px) {

  .im-hero-grid {
    grid-template-columns: 1fr;
    gap: 52px;
  }

  .im-hero-copy {
    max-width: 800px;
  }

  .im-hero-visual {
    max-width: 680px;
  }
}

@media (max-width: 767px) {

  .im-home-hero {
    padding: 60px 0 64px;
  }

  .im-hero-copy h1 {
    font-size: 44px;
  }

  .im-hero-lead {
    font-size: 16px;
  }

  .im-hero-capabilities {
    flex-direction: column;
    gap: 12px;
  }

  .im-intelligence-panel {
    padding: 24px;
    border-radius: 22px;
  }

  .im-intelligence-flow {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
  }

  .im-flow-line {
    display: none;
  }

  .im-intelligence-cards {
    grid-template-columns: 1fr;
  }
}
/* =========================================================
   HOME PAGE — FULL VISUAL SYSTEM
   ========================================================= */

:root {
  --im-black: #0B0D0C;
  --im-black-soft: #141816;
}


/* ---------- Shared home section behaviour ---------- */

#about,
#clients,
#features,
#services,
#stats,
#testimonials,
#team,
#research-training,
#contact {
  position: relative;
  overflow: hidden;
}

#about,
#features,
#services,
#team,
#research-training,
#contact {
  padding-top: 92px;
  padding-bottom: 92px;
}


/* ---------- Shared typography ---------- */

#about h2,
#features h2,
#services h2,
#team h2,
#research-training h2,
#contact h2 {
  color: var(--im-green-900);
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  letter-spacing: -0.025em;
}

#about h3,
#features h3,
#services h3,
#team h3,
#research-training h3,
#contact h3 {
  color: var(--im-green-900);
  font-family: "Poppins", sans-serif;
  font-weight: 650;
}

#about p,
#features p,
#services p,
#team p,
#research-training p,
#contact p {
  color: var(--im-muted);
  font-family: "Poppins", sans-serif;
  line-height: 1.75;
  text-align: left;
}

#about em,
#features em,
#services em,
#team em,
#research-training em,
#contact em {
  font-style: normal;
}


/* =========================================================
   ABOUT
   ========================================================= */

#about {
  background: var(--im-white);
}

#about .container {
  position: relative;
  z-index: 2;
}

#about img {
  border-radius: 22px;
}

#about li {
  color: var(--im-charcoal);
  line-height: 1.65;
}

#about li i {
  color: var(--im-gold);
}


/* =========================================================
   CLIENTS — LUXURY BLACK
   ========================================================= */

#clients {
  padding: 56px 0;
  background:
    radial-gradient(
      circle at 85% 15%,
      rgba(31, 110, 82, 0.22),
      transparent 32%
    ),
    var(--im-black);
  border-top: 1px solid rgba(201, 162, 39, 0.22);
  border-bottom: 1px solid rgba(201, 162, 39, 0.22);
}

#clients img {
  filter: grayscale(1) brightness(1.7);
  opacity: 0.70;
  transition:
    filter var(--im-transition),
    opacity var(--im-transition),
    transform var(--im-transition);
}

#clients img:hover {
  filter: grayscale(0);
  opacity: 1;
  transform: scale(1.05);
}

#clients .swiper-pagination-bullet {
  background: rgba(255, 255, 255, 0.45);
}

#clients .swiper-pagination-bullet-active {
  background: var(--im-gold);
}


/* =========================================================
   FEATURES
   ========================================================= */

#features {
  background: var(--im-cream);
}

#features .features-item,
#features .feature-item {
  border-radius: 18px;
}

#features i {
  color: var(--im-gold) !important;
}

#features img {
  border-radius: 22px;
}


/* =========================================================
   SERVICES
   ========================================================= */

#services {
  background: var(--im-white);
}

#services .service-item {
  height: 100%;
  padding: 28px;

  background: #FFFFFF;
  border: 1px solid var(--im-border);
  border-radius: 18px;

  box-shadow: var(--im-shadow-sm);

  transition:
    transform var(--im-transition),
    border-color var(--im-transition),
    box-shadow var(--im-transition);
}

#services .service-item:hover {
  transform: translateY(-4px);
  border-color: rgba(201, 162, 39, 0.55);
  box-shadow: var(--im-shadow-md);
}

#services .service-item i {
  color: var(--im-gold);
}

#services .service-item h3,
#services .service-item h4 {
  color: var(--im-green-900);
}


/* =========================================================
   STATS — LUXURY BLACK
   ========================================================= */

#stats {
  padding: 76px 0;

  background:
    radial-gradient(
      circle at 12% 50%,
      rgba(31, 110, 82, 0.28),
      transparent 30%
    ),
    linear-gradient(
      135deg,
      var(--im-black) 0%,
      var(--im-black-soft) 100%
    );

  color: #FFFFFF;
}

#stats .stats-item {
  text-align: center;
}

#stats .stats-item span,
#stats .purecounter {
  color: var(--im-gold-soft) !important;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
}

#stats .stats-item p {
  color: rgba(255, 255, 255, 0.68) !important;
  text-align: center;
}


/* =========================================================
   TESTIMONIALS
   ========================================================= */

#testimonials {
  background:
    radial-gradient(
      circle at 90% 0%,
      rgba(31, 110, 82, 0.60),
      transparent 36%
    ),
    var(--im-green-900) !important;
}

#testimonials h2,
#testimonials h3 {
  color: #FFFFFF;
}

#testimonials p {
  color: rgba(255, 255, 255, 0.74);
}

#testimonials .testimonial-item {
  background: rgba(255, 255, 255, 0.065);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 18px;
}

#testimonials .stars i {
  color: var(--im-gold);
}


/* =========================================================
   TEAM
   ========================================================= */

#team {
  background: var(--im-white);
}

#team .member {
  overflow: hidden;

  background: #FFFFFF;
  border: 1px solid var(--im-border);
  border-radius: 20px;

  box-shadow: var(--im-shadow-sm);
}

#team .member img {
  width: 100%;
}

#team .member h4 {
  color: var(--im-green-900);
}

#team .member span {
  color: var(--im-muted);
}


/* =========================================================
   RESEARCH + TRAINING
   ========================================================= */

#research-training {
  background:
    linear-gradient(
      90deg,
      var(--im-cream) 0%,
      var(--im-cream) 50%,
      rgba(11, 61, 46, 0.045) 50%,
      rgba(11, 61, 46, 0.045) 100%
    );
}

#research-training .training-card,
#research-training .card {
  background: #FFFFFF;
  border: 1px solid var(--im-border);
  border-radius: 18px;

  box-shadow: var(--im-shadow-sm);
}

#research-training i {
  color: var(--im-gold);
}


/* =========================================================
   CONTACT
   ========================================================= */

#contact {
  background: var(--im-white);
}

#contact input,
#contact textarea,
#contact select {
  border: 1px solid var(--im-border);
  border-radius: 10px;
}

#contact input:focus,
#contact textarea:focus,
#contact select:focus {
  border-color: var(--im-green-700);
  box-shadow: 0 0 0 3px rgba(31, 110, 82, 0.10);
}

#contact button,
#contact .btn {
  border-radius: 10px;
}


/* =========================================================
   HOME MOBILE
   ========================================================= */

@media (max-width: 767px) {

  #about,
  #features,
  #services,
  #team,
  #research-training,
  #contact {
    padding-top: 64px;
    padding-bottom: 64px;
  }

  #clients {
    padding: 42px 0;
  }

  #stats {
    padding: 60px 0;
  }

  #research-training {
    background: var(--im-cream);
  }
}
/* =========================================================
   HOME — WHAT WE DO
   ========================================================= */

.im-home-about {
  padding: 108px 0;
  background: var(--im-white);
}

.im-about-grid {
  display: grid;
  grid-template-columns: minmax(320px, 0.78fr) minmax(600px, 1.22fr);
  gap: 84px;
  align-items: center;
}

.im-about-copy h2 {
  max-width: 600px;
  margin: 0 0 24px;

  color: var(--im-green-900);
  font-size: clamp(38px, 4vw, 58px);
  line-height: 1.06;
  font-weight: 700;
  letter-spacing: -0.035em;
}

.im-about-copy h2 span {
  display: block;
  color: var(--im-green-700);
}

.im-about-lead {
  margin-bottom: 18px !important;
  color: var(--im-charcoal) !important;
  font-size: 18px;
  line-height: 1.72;
}

.im-about-copy > p:not(.im-about-lead) {
  max-width: 590px;
  margin: 0;

  color: var(--im-muted);
  font-size: 15px;
  line-height: 1.8;
}

.im-about-actions {
  margin-top: 32px;

  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}

.im-text-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;

  color: var(--im-green-900);
  font-size: 13px;
  font-weight: 600;

  transition: color var(--im-transition);
}

.im-text-link:hover {
  color: var(--im-gold);
}


/* ---------- Capability cards ---------- */

.im-capability-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.im-capability-card {
  position: relative;
  min-height: 285px;
  padding: 27px;

  display: flex;
  flex-direction: column;

  background: #FFFFFF;
  border: 1px solid var(--im-border);
  border-radius: 20px;

  box-shadow: 0 10px 32px rgba(11, 61, 46, 0.06);

  transition:
    transform var(--im-transition),
    border-color var(--im-transition),
    box-shadow var(--im-transition),
    background var(--im-transition);
}

.im-capability-card:hover {
  transform: translateY(-4px);

  border-color: rgba(201, 162, 39, 0.55);

  box-shadow: 0 20px 48px rgba(11, 61, 46, 0.11);
}

.im-capability-number {
  position: absolute;
  top: 23px;
  right: 24px;

  color: rgba(11, 61, 46, 0.28);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.im-capability-icon {
  width: 46px;
  height: 46px;

  display: flex;
  align-items: center;
  justify-content: center;

  margin-bottom: 28px;

  color: var(--im-gold);
  font-size: 20px;

  background: rgba(201, 162, 39, 0.10);
  border: 1px solid rgba(201, 162, 39, 0.24);
  border-radius: 12px;
}

.im-capability-card h3 {
  margin: 0 0 11px;

  color: var(--im-green-900);
  font-size: 18px;
  font-weight: 650;
}

.im-capability-card p {
  margin: 0 0 22px;

  color: var(--im-muted);
  font-size: 13px;
  line-height: 1.7;
}

.im-capability-link {
  margin-top: auto;

  display: inline-flex;
  align-items: center;
  gap: 7px;

  color: var(--im-green-700);
  font-size: 12px;
  font-weight: 650;
}

.im-capability-featured {
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(31, 110, 82, 0.65),
      transparent 45%
    ),
    var(--im-green-900);

  border-color: rgba(201, 162, 39, 0.38);
}

.im-capability-featured .im-capability-number {
  color: rgba(255, 255, 255, 0.35);
}

.im-capability-featured h3 {
  color: #FFFFFF;
}

.im-capability-featured p {
  color: rgba(255, 255, 255, 0.65);
}

.im-capability-featured .im-capability-link {
  color: var(--im-gold-soft);
}


/* =========================================================
   HOME — CLIENT TRUST BAND
   ========================================================= */

.im-client-trust {
  padding: 76px 0 58px;

  background:
    radial-gradient(
      circle at 85% 0%,
      rgba(31, 110, 82, 0.28),
      transparent 35%
    ),
    linear-gradient(
      135deg,
      var(--im-black) 0%,
      var(--im-black-soft) 100%
    );

  border-top: 1px solid rgba(201, 162, 39, 0.20);
  border-bottom: 1px solid rgba(201, 162, 39, 0.20);
}

.im-client-heading {
  margin-bottom: 42px;

  display: grid;
  grid-template-columns: 1fr minmax(300px, 480px);
  gap: 60px;
  align-items: end;
}

.im-client-heading h2 {
  margin: 0;

  color: #FFFFFF;
  font-size: clamp(31px, 3vw, 44px);
  line-height: 1.12;
  font-weight: 650;
  letter-spacing: -0.03em;
}

.im-client-heading h2 span {
  display: block;
  color: var(--im-gold-soft);
}

.im-client-heading > p {
  margin: 0;

  color: rgba(255, 255, 255, 0.58);
  font-size: 14px;
  line-height: 1.7;
}


/* ---------- Larger logo cards ---------- */

.im-client-swiper {
  padding: 3px 3px 42px;
}

.im-client-logo-card {
  height: 116px;
  padding: 18px 22px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: rgba(255, 255, 255, 0.965);

  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 15px;

  transition:
    transform var(--im-transition),
    background var(--im-transition),
    border-color var(--im-transition);
}

.im-client-logo-card:hover {
  transform: translateY(-3px);

  background: #FFFFFF;

  border-color: rgba(201, 162, 39, 0.60);
}

.im-client-logo-card img {
  display: block;

  width: auto !important;
  max-width: 100% !important;
  max-height: 76px !important;

  object-fit: contain;

  filter: grayscale(1);
  opacity: 0.82;

  transition:
    filter var(--im-transition),
    opacity var(--im-transition),
    transform var(--im-transition);
}

.im-client-logo-card:hover img {
  filter: grayscale(0);
  opacity: 1;
  transform: scale(1.04);
}

.im-client-trust .swiper-pagination {
  bottom: 0 !important;
}

.im-client-trust .swiper-pagination-bullet {
  width: 7px;
  height: 7px;

  background: rgba(255, 255, 255, 0.45);
  opacity: 1;
}

.im-client-trust .swiper-pagination-bullet-active {
  width: 20px;
  border-radius: 5px;

  background: var(--im-gold);
}


/* ---------- Responsive ---------- */

@media (max-width: 1050px) {

  .im-about-grid {
    grid-template-columns: 1fr;
    gap: 52px;
  }

  .im-about-copy {
    max-width: 760px;
  }
}

@media (max-width: 767px) {

  .im-home-about {
    padding: 70px 0;
  }

  .im-capability-grid {
    grid-template-columns: 1fr;
  }

  .im-capability-card {
    min-height: 250px;
  }

  .im-client-trust {
    padding: 58px 0 46px;
  }

  .im-client-heading {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .im-client-logo-card {
    height: 98px;
    padding: 14px;
  }

  .im-client-logo-card img {
    max-height: 64px !important;
  }
}
/* =========================================================
   HOME — WHY INVESTMETRICS
   ========================================================= */

.im-home-features {
  position: relative;
  padding: 108px 0;

  background:
    radial-gradient(
      circle at 100% 50%,
      rgba(201, 162, 39, 0.08),
      transparent 30%
    ),
    var(--im-cream);
}

.im-feature-layout {
  display: grid;
  grid-template-columns: minmax(320px, 0.78fr) minmax(600px, 1.22fr);
  gap: 82px;
  align-items: center;
}


/* ---------- Intro ---------- */

.im-feature-intro h2 {
  max-width: 620px;
  margin: 0 0 25px;

  color: var(--im-green-900);
  font-size: clamp(38px, 4vw, 58px);
  line-height: 1.06;
  font-weight: 700;
  letter-spacing: -0.035em;
}

.im-feature-intro h2 span {
  display: block;
  color: var(--im-green-700);
}

.im-feature-lead {
  margin: 0 0 18px;

  color: var(--im-charcoal);
  font-size: 18px;
  line-height: 1.72;
}

.im-feature-intro > p:not(.im-feature-lead) {
  max-width: 600px;
  margin: 0;

  color: var(--im-muted);
  font-size: 14px;
  line-height: 1.8;
}

.im-feature-principle {
  margin-top: 32px;
  padding-top: 22px;

  display: flex;
  gap: 13px;
  align-items: flex-start;

  border-top: 1px solid rgba(11, 61, 46, 0.12);
}

.im-feature-principle-mark {
  width: 8px;
  height: 8px;

  flex: 0 0 auto;
  margin-top: 8px;

  background: var(--im-gold);
  border-radius: 50%;
}

.im-feature-principle p {
  max-width: 480px;
  margin: 0;

  color: var(--im-green-900);
  font-size: 13px;
  line-height: 1.7;
  font-weight: 600;
}


/* ---------- Feature pillars ---------- */

.im-feature-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.im-feature-card {
  min-height: 250px;
  padding: 27px;

  background: rgba(255, 255, 255, 0.76);
  border: 1px solid rgba(11, 61, 46, 0.11);
  border-radius: 19px;

  transition:
    transform var(--im-transition),
    border-color var(--im-transition),
    background var(--im-transition),
    box-shadow var(--im-transition);
}

.im-feature-card:hover {
  transform: translateY(-4px);

  background: #FFFFFF;
  border-color: rgba(201, 162, 39, 0.46);

  box-shadow: var(--im-shadow-md);
}

.im-feature-card-top {
  margin-bottom: 42px;

  display: flex;
  justify-content: space-between;
  align-items: center;
}

.im-feature-card-top span {
  color: rgba(11, 61, 46, 0.34);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.07em;
}

.im-feature-card-top i {
  color: var(--im-gold);
  font-size: 23px;
}

.im-feature-card h3 {
  margin: 0 0 11px;

  color: var(--im-green-900);
  font-size: 18px;
  font-weight: 650;
}

.im-feature-card p {
  margin: 0;

  color: var(--im-muted);
  font-size: 13px;
  line-height: 1.7;
}


/* =========================================================
   HOME — SERVICES
   ========================================================= */

.im-home-services {
  position: relative;
  padding: 108px 0;

  background: var(--im-white);
}

.im-services-heading {
  margin-bottom: 48px;

  display: grid;
  grid-template-columns: 1fr minmax(320px, 470px);
  gap: 70px;
  align-items: end;
}

.im-services-heading h2 {
  margin: 0;

  color: var(--im-green-900);
  font-size: clamp(38px, 4vw, 57px);
  line-height: 1.06;
  font-weight: 700;
  letter-spacing: -0.035em;
}

.im-services-heading h2 span {
  display: block;
  color: var(--im-green-700);
}

.im-services-heading > p {
  margin: 0 0 3px;

  color: var(--im-muted);
  font-size: 14px;
  line-height: 1.75;
}


/* ---------- Service grid ---------- */

.im-services-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
}

.im-service-card {
  position: relative;
  min-height: 325px;
  padding: 28px;

  display: flex;
  flex-direction: column;

  color: inherit;

  background: #FFFFFF;
  border: 1px solid var(--im-border);
  border-radius: 20px;

  box-shadow: 0 9px 28px rgba(11, 61, 46, 0.055);

  transition:
    transform var(--im-transition),
    box-shadow var(--im-transition),
    border-color var(--im-transition);
}

/* First three */
.im-service-card:nth-child(1),
.im-service-card:nth-child(2),
.im-service-card:nth-child(3) {
  grid-column: span 2;
}

/* Second row */
.im-service-card:nth-child(4) {
  grid-column: span 3;
}

.im-service-card:nth-child(5) {
  grid-column: span 3;
}

.im-service-card:hover {
  transform: translateY(-5px);

  border-color: rgba(201, 162, 39, 0.52);

  box-shadow: 0 22px 52px rgba(11, 61, 46, 0.11);
}

.im-service-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;

  margin-bottom: 38px;
}

.im-service-icon {
  width: 48px;
  height: 48px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: var(--im-gold);
  font-size: 21px;

  background: rgba(201, 162, 39, 0.10);
  border: 1px solid rgba(201, 162, 39, 0.24);
  border-radius: 12px;
}

.im-service-index {
  color: rgba(11, 61, 46, 0.28);
  font-size: 11px;
  font-weight: 700;
}

.im-service-card h3 {
  margin: 0 0 13px;

  color: var(--im-green-900);
  font-size: 20px;
  line-height: 1.3;
  font-weight: 650;
}

.im-service-card > p {
  margin: 0 0 25px;

  color: var(--im-muted);
  font-size: 13px;
  line-height: 1.72;
}

.im-service-footer {
  margin-top: auto;
  padding-top: 18px;

  display: flex;
  justify-content: space-between;
  align-items: center;

  border-top: 1px solid var(--im-border);

  color: var(--im-green-700);
  font-size: 12px;
  font-weight: 650;
}

.im-service-footer i {
  transition: transform var(--im-transition);
}

.im-service-card:hover .im-service-footer i {
  transform: translate(3px, -3px);
}


/* ---------- AI at Work featured card ---------- */

.im-service-card-featured {
  overflow: hidden;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(31, 110, 82, 0.74),
      transparent 44%
    ),
    var(--im-green-900);

  border-color: rgba(201, 162, 39, 0.42);
}

.im-service-card-featured::after {
  content: "";
  position: absolute;

  width: 210px;
  height: 210px;

  right: -125px;
  bottom: -130px;

  border: 1px solid rgba(201, 162, 39, 0.25);
  border-radius: 50%;
}

.im-service-featured-badge {
  position: absolute;
  top: 17px;
  left: 28px;

  color: var(--im-gold-soft);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.13em;
}

.im-service-card-featured .im-service-top {
  margin-top: 21px;
}

.im-service-card-featured .im-service-index {
  color: rgba(255, 255, 255, 0.36);
}

.im-service-card-featured h3 {
  color: #FFFFFF;
}

.im-service-card-featured > p {
  color: rgba(255, 255, 255, 0.67);
}

.im-service-card-featured .im-service-footer {
  position: relative;
  z-index: 2;

  color: var(--im-gold-soft);

  border-color: rgba(255, 255, 255, 0.12);
}


/* ---------- Services close ---------- */

.im-services-note {
  max-width: 760px;
  margin: 32px auto 0;
  padding: 20px 24px;

  display: flex;
  align-items: center;
  gap: 17px;

  background: var(--im-cream);
  border: 1px solid rgba(11, 61, 46, 0.09);
  border-radius: 15px;
}

.im-services-note-mark {
  width: 42px;
  height: 42px;

  flex: 0 0 auto;

  display: flex;
  align-items: center;
  justify-content: center;

  color: var(--im-gold);
  font-size: 18px;

  background: #FFFFFF;
  border-radius: 10px;
}

.im-services-note span {
  display: block;
  margin-bottom: 3px;

  color: var(--im-green-900);
  font-size: 12px;
  font-weight: 700;
}

.im-services-note p {
  margin: 0;

  color: var(--im-muted);
  font-size: 12px;
  line-height: 1.6;
}


/* ---------- Responsive ---------- */

@media (max-width: 1050px) {

  .im-feature-layout {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .im-feature-intro {
    max-width: 760px;
  }

  .im-services-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .im-service-card:nth-child(n) {
    grid-column: span 1;
  }
}

@media (max-width: 767px) {

  .im-home-features,
  .im-home-services {
    padding: 70px 0;
  }

  .im-feature-cards,
  .im-services-grid {
    grid-template-columns: 1fr;
  }

  .im-services-heading {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .im-feature-card {
    min-height: auto;
  }

  .im-service-card {
    min-height: 290px;
  }
}
/* =========================================================
   STATS — REBALANCED LIGHT SECTION
   Luxury black used as accent, not dominant background
   ========================================================= */

#stats {
  padding: 96px 0 !important;

  background:
    radial-gradient(
      circle at 92% 10%,
      rgba(201, 162, 39, 0.07),
      transparent 28%
    ),
    var(--im-cream) !important;

  color: var(--im-charcoal) !important;
}


/* Main text */

#stats h2,
#stats h3,
#stats h4 {
  color: var(--im-green-900) !important;
}

#stats p {
  color: var(--im-muted) !important;
  line-height: 1.75;
  text-align: left;
}


/* Main image */

#stats img {
  display: block;
  width: 100%;

  background: #FFFFFF;
  padding: 18px;

  border: 1px solid var(--im-border);
  border-radius: 20px;

  box-shadow: var(--im-shadow-sm);
}


/* Individual statistics */

#stats .stats-item {
  height: 100%;
  padding: 24px 20px;

  text-align: left;

  background: var(--im-black-soft);
  border: 1px solid rgba(201, 162, 39, 0.28);
  border-radius: 16px;

  box-shadow: 0 12px 30px rgba(11, 13, 12, 0.10);
}


/* Numbers */

#stats .stats-item span,
#stats .stats-item .purecounter {
  display: block;

  color: var(--im-gold-soft) !important;

  font-family: "Poppins", sans-serif;
  font-size: 40px;
  font-weight: 700;
  line-height: 1;
}


/* Metric descriptions */

#stats .stats-item p,
#stats .stats-item strong {
  color: rgba(255, 255, 255, 0.82) !important;
  text-align: left !important;
}

#stats .stats-item i {
  color: var(--im-gold) !important;
}


/* Mobile */

@media (max-width: 767px) {

  #stats {
    padding: 68px 0 !important;
  }

  #stats .stats-item {
    padding: 20px;
  }
}
/* =========================================================
   HOME — EVIDENCE IN PRACTICE
   ========================================================= */

.im-evidence-section {
  padding: 108px 0;

  background:
    radial-gradient(
      circle at 0% 100%,
      rgba(201, 162, 39, 0.08),
      transparent 30%
    ),
    var(--im-cream);
}

.im-evidence-grid {
  display: grid;
  grid-template-columns: minmax(320px, 0.78fr) minmax(600px, 1.22fr);
  gap: 82px;
  align-items: center;
}


/* ---------- Evidence copy ---------- */

.im-evidence-copy h2 {
  margin: 0 0 24px;

  color: var(--im-green-900);
  font-size: clamp(38px, 4vw, 58px);
  line-height: 1.06;
  font-weight: 700;
  letter-spacing: -0.035em;
}

.im-evidence-copy h2 span {
  display: block;
  color: var(--im-green-700);
}

.im-evidence-lead {
  margin-bottom: 17px !important;

  color: var(--im-charcoal) !important;
  font-size: 18px;
  line-height: 1.72;
}

.im-evidence-copy > p:not(.im-evidence-lead) {
  margin: 0;

  color: var(--im-muted);
  font-size: 14px;
  line-height: 1.8;
}


/* ---------- Operating principle ---------- */

.im-evidence-quote {
  margin-top: 31px;
  padding: 20px;

  display: flex;
  gap: 16px;

  background: #FFFFFF;
  border: 1px solid rgba(11, 61, 46, 0.10);
  border-radius: 15px;
}

.im-evidence-quote-icon {
  width: 40px;
  height: 40px;

  flex: 0 0 auto;

  display: flex;
  align-items: center;
  justify-content: center;

  color: var(--im-gold);

  background: rgba(201, 162, 39, 0.10);
  border-radius: 10px;
}

.im-evidence-quote span {
  display: block;
  margin-bottom: 3px;

  color: var(--im-gold);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.11em;
}

.im-evidence-quote p {
  margin: 0;

  color: var(--im-green-900);
  font-size: 12px;
  line-height: 1.6;
  font-weight: 600;
}


/* ---------- Evidence panel ---------- */

.im-evidence-panel {
  padding: 30px;

  background: #FFFFFF;
  border: 1px solid var(--im-border);
  border-radius: 24px;

  box-shadow: var(--im-shadow-md);
}

.im-evidence-panel-head {
  margin-bottom: 25px;
  padding-bottom: 18px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  border-bottom: 1px solid var(--im-border);
}

.im-evidence-panel-head span {
  color: var(--im-green-900);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.11em;
}

.im-evidence-panel-head i {
  color: var(--im-gold);
  font-size: 20px;
}


/* ---------- Evidence rows ---------- */

.im-evidence-items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.im-evidence-item {
  min-height: 205px;
  padding: 20px;

  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 14px;

  position: relative;

  background: var(--im-white);
  border: 1px solid rgba(11, 61, 46, 0.08);
  border-radius: 15px;
}

.im-evidence-item-number {
  position: absolute;
  right: 18px;
  top: 16px;

  color: rgba(11, 61, 46, 0.23);
  font-size: 10px;
  font-weight: 700;
}

.im-evidence-item-icon {
  width: 37px;
  height: 37px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: var(--im-gold);

  background: rgba(201, 162, 39, 0.10);
  border-radius: 9px;
}

.im-evidence-item > div:last-child {
  grid-column: 1 / -1;
  margin-top: 19px;
}

.im-evidence-item h3 {
  margin: 0 0 7px;

  color: var(--im-green-900);
  font-size: 15px;
  font-weight: 650;
}

.im-evidence-item p {
  margin: 0;

  color: var(--im-muted);
  font-size: 11px;
  line-height: 1.65;
}


/* ---------- Process footer ---------- */

.im-evidence-panel-footer {
  margin-top: 22px;
  padding-top: 17px;

  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 9px;

  border-top: 1px solid var(--im-border);

  color: var(--im-green-700);
  font-size: 10px;
  font-weight: 650;
}

.im-evidence-panel-footer i {
  color: var(--im-gold);
  font-size: 11px;
}


/* =========================================================
   HOME — PARTNER EXPERIENCE
   ========================================================= */

.im-testimonials-section {
  padding: 92px 0 78px;

  background:
    radial-gradient(
      circle at 90% 0%,
      rgba(31, 110, 82, 0.70),
      transparent 37%
    ),
    var(--im-green-900);
}

.im-testimonials-heading {
  margin-bottom: 42px;

  display: grid;
  grid-template-columns: 1fr minmax(300px, 460px);
  gap: 60px;
  align-items: end;
}

.im-testimonials-heading h2 {
  margin: 0;

  color: #FFFFFF;
  font-size: clamp(36px, 3.8vw, 54px);
  line-height: 1.06;
  font-weight: 700;
  letter-spacing: -0.035em;
}

.im-testimonials-heading h2 span {
  display: block;
  color: var(--im-gold-soft);
}

.im-testimonials-heading > p {
  margin: 0;

  color: rgba(255, 255, 255, 0.62);
  font-size: 14px;
  line-height: 1.7;
}


/* ---------- Testimonial slider ---------- */

.im-testimonials-swiper {
  padding: 3px 3px 44px;
}

.im-testimonial-card {
  min-height: 345px;
  padding: 28px;

  display: flex;
  flex-direction: column;

  background: rgba(255, 255, 255, 0.075);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 18px;

  transition:
    background var(--im-transition),
    border-color var(--im-transition),
    transform var(--im-transition);
}

.im-testimonial-card:hover {
  transform: translateY(-3px);

  background: rgba(255, 255, 255, 0.10);
  border-color: rgba(201, 162, 39, 0.40);
}

.im-testimonial-quote {
  margin-bottom: 21px;

  color: var(--im-gold);
  font-size: 28px;
}

.im-testimonial-card > p {
  margin: 0 0 27px;

  color: rgba(255, 255, 255, 0.78);
  font-size: 13px;
  line-height: 1.72;
}

.im-testimonial-person {
  margin-top: auto;
  padding-top: 18px;

  display: flex;
  align-items: center;
  gap: 13px;

  border-top: 1px solid rgba(255, 255, 255, 0.10);
}

.im-testimonial-person img {
  width: 50px !important;
  height: 50px !important;

  flex: 0 0 auto;

  object-fit: cover;
  border-radius: 50%;

  border: 2px solid rgba(201, 162, 39, 0.60);
}

.im-testimonial-person strong {
  display: block;

  color: #FFFFFF;
  font-size: 12px;
  font-weight: 650;
}

.im-testimonial-person span {
  display: block;
  margin-top: 3px;

  color: rgba(255, 255, 255, 0.50);
  font-size: 10px;
}

.im-testimonials-section .swiper-pagination {
  bottom: 0 !important;
}

.im-testimonials-section .swiper-pagination-bullet {
  background: rgba(255, 255, 255, 0.40);
  opacity: 1;
}

.im-testimonials-section .swiper-pagination-bullet-active {
  width: 20px;

  background: var(--im-gold);
  border-radius: 5px;
}


/* ---------- Responsive ---------- */

@media (max-width: 1050px) {

  .im-evidence-grid {
    grid-template-columns: 1fr;
    gap: 50px;
  }
}

@media (max-width: 767px) {

  .im-evidence-section {
    padding: 70px 0;
  }

  .im-evidence-items {
    grid-template-columns: 1fr;
  }

  .im-testimonials-section {
    padding: 68px 0 58px;
  }

  .im-testimonials-heading {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}
/* =========================================================
   INVESTMETRICS LUXURY EMERALD
   Premium dark-section refinement
   ========================================================= */

:root {
  --im-emerald-luxe: #063F33;
  --im-emerald-deep: #052B24;
  --im-emerald-glow: #0E654F;
  --im-luxe-black: #07110E;

  --im-gold-bright: #E0C56A;
  --im-gold-muted: #A98722;
}


/* ---------- Partner Experience: luxury emerald ---------- */

.im-testimonials-section {
  position: relative;
  overflow: hidden;

  background:
    radial-gradient(
      circle at 88% 12%,
      rgba(14, 101, 79, 0.58),
      transparent 34%
    ),
    radial-gradient(
      circle at 12% 100%,
      rgba(201, 162, 39, 0.11),
      transparent 29%
    ),
    linear-gradient(
      135deg,
      var(--im-luxe-black) 0%,
      var(--im-emerald-deep) 28%,
      var(--im-emerald-luxe) 68%,
      #07392F 100%
    ) !important;

  border-top: 1px solid rgba(201, 162, 39, 0.32);
  border-bottom: 1px solid rgba(201, 162, 39, 0.22);
}


/* Subtle gold atmosphere */

.im-testimonials-section::before {
  content: "";
  position: absolute;

  width: 520px;
  height: 520px;

  top: -360px;
  right: -140px;

  border: 1px solid rgba(224, 197, 106, 0.15);
  border-radius: 50%;

  pointer-events: none;
}

.im-testimonials-section::after {
  content: "";
  position: absolute;

  width: 310px;
  height: 310px;

  top: -205px;
  right: -35px;

  border: 1px solid rgba(224, 197, 106, 0.10);
  border-radius: 50%;

  pointer-events: none;
}


/* Heading */

.im-testimonials-heading {
  position: relative;
  z-index: 2;
}

.im-testimonials-heading .im-eyebrow {
  color: var(--im-gold-bright);
}

.im-testimonials-heading h2 {
  color: #FFFFFF;
}

.im-testimonials-heading h2 span {
  color: var(--im-gold-bright);
}

.im-testimonials-heading > p {
  color: rgba(245, 241, 230, 0.74);
}


/* Testimonial cards */

.im-testimonial-card {
  position: relative;

  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.085),
      rgba(255, 255, 255, 0.035)
    );

  border: 1px solid rgba(224, 197, 106, 0.20);

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 18px 45px rgba(0, 0, 0, 0.13);

  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

.im-testimonial-card:hover {
  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.11),
      rgba(201, 162, 39, 0.045)
    );

  border-color: rgba(224, 197, 106, 0.52);

  box-shadow:
    0 22px 55px rgba(0, 0, 0, 0.19),
    0 0 24px rgba(201, 162, 39, 0.05);
}


/* Quote mark */

.im-testimonial-quote {
  color: var(--im-gold-bright);
}


/* Testimonial text */

.im-testimonial-card > p {
  color: rgba(250, 249, 245, 0.82);
}


/* Person line */

.im-testimonial-person {
  border-top-color: rgba(224, 197, 106, 0.17);
}

.im-testimonial-person img {
  border-color: rgba(224, 197, 106, 0.72);
}

.im-testimonial-person strong {
  color: #FFFFFF;
}

.im-testimonial-person span {
  color: rgba(224, 197, 106, 0.68);
}


/* Pagination */

.im-testimonials-section .swiper-pagination-bullet {
  background: rgba(245, 241, 230, 0.35);
}

.im-testimonials-section .swiper-pagination-bullet-active {
  background: var(--im-gold-bright);
}
/* =========================================================
   HOME — TEAM
   ========================================================= */

.im-team-section {
  padding: 108px 0;
  background: var(--im-white);
}

.im-team-heading {
  margin-bottom: 48px;

  display: grid;
  grid-template-columns: 1fr minmax(300px, 470px);
  gap: 70px;
  align-items: end;
}

.im-team-heading h2 {
  margin: 0;

  color: var(--im-green-900);
  font-size: clamp(38px, 4vw, 57px);
  line-height: 1.06;
  font-weight: 700;
  letter-spacing: -0.035em;
}

.im-team-heading h2 span {
  display: block;
  color: var(--im-green-700);
}

.im-team-heading > p {
  margin: 0;

  color: var(--im-muted);
  font-size: 14px;
  line-height: 1.75;
}


/* ---------- Team grid ---------- */

.im-team-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.im-team-card {
  overflow: hidden;

  background: #FFFFFF;
  border: 1px solid var(--im-border);
  border-radius: 21px;

  box-shadow: 0 10px 30px rgba(11, 61, 46, 0.06);

  transition:
    transform var(--im-transition),
    border-color var(--im-transition),
    box-shadow var(--im-transition);
}

.im-team-card:hover {
  transform: translateY(-5px);

  border-color: rgba(201, 162, 39, 0.48);

  box-shadow: 0 22px 52px rgba(11, 61, 46, 0.12);
}


/* ---------- Team photographs ---------- */

.im-team-photo {
  position: relative;
  overflow: hidden;

  display: block;

  height: 390px;

  background: var(--im-cream);
}

.im-team-photo img {
  width: 100%;
  height: 100%;

  display: block;

  object-fit: cover;
  object-position: center top;

  transition: transform 350ms ease;
}

.im-team-card:hover .im-team-photo img {
  transform: scale(1.025);
}

.im-team-photo-overlay {
  position: absolute;
  inset: auto 16px 16px 16px;

  padding: 12px 14px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  color: #FFFFFF;
  font-size: 11px;
  font-weight: 600;

  background: rgba(5, 43, 36, 0.90);

  border: 1px solid rgba(224, 197, 106, 0.32);
  border-radius: 10px;

  opacity: 0;
  transform: translateY(7px);

  transition:
    opacity var(--im-transition),
    transform var(--im-transition);
}

.im-team-card:hover .im-team-photo-overlay {
  opacity: 1;
  transform: translateY(0);
}

.im-team-photo-overlay i {
  color: var(--im-gold-bright);
}


/* ---------- Team information ---------- */

.im-team-body {
  padding: 23px 24px 25px;
}

.im-team-category {
  display: block;
  margin-bottom: 9px;

  color: var(--im-gold-muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.im-team-body h3 {
  margin: 0 0 5px;

  color: var(--im-green-900);
  font-size: 19px;
  font-weight: 650;
}

.im-team-body > p {
  min-height: 42px;
  margin: 0;

  color: var(--im-muted);
  font-size: 12px;
  line-height: 1.6;
}

.im-team-link {
  margin-top: 19px;
  padding-top: 15px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  color: var(--im-green-700);
  font-size: 11px;
  font-weight: 650;

  border-top: 1px solid var(--im-border);
}

.im-team-link i {
  color: var(--im-gold);
}

.im-team-footer {
  margin-top: 28px;
  padding-top: 22px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;

  border-top: 1px solid var(--im-border);
}

.im-team-footer > span {
  max-width: 670px;

  color: var(--im-muted);
  font-size: 12px;
  line-height: 1.65;
}

.im-team-footer a {
  display: inline-flex;
  align-items: center;
  gap: 8px;

  color: var(--im-green-900);
  font-size: 12px;
  font-weight: 650;
}

.im-team-footer a i {
  color: var(--im-gold);
}


/* =========================================================
   HOME — PROFESSIONAL INTELLIGENCE
   ========================================================= */

.im-learning-section {
  position: relative;
  padding: 108px 0;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(201, 162, 39, 0.08),
      transparent 29%
    ),
    var(--im-cream);
}

.im-learning-heading {
  margin-bottom: 48px;

  display: grid;
  grid-template-columns: 1fr minmax(300px, 470px);
  gap: 70px;
  align-items: end;
}

.im-learning-heading h2 {
  margin: 0;

  color: var(--im-green-900);
  font-size: clamp(38px, 4vw, 57px);
  line-height: 1.06;
  font-weight: 700;
  letter-spacing: -0.035em;
}

.im-learning-heading h2 span {
  display: block;
  color: var(--im-green-700);
}

.im-learning-heading > p {
  margin: 0;

  color: var(--im-muted);
  font-size: 14px;
  line-height: 1.75;
}


/* ---------- Learning cards ---------- */

.im-learning-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.im-learning-card {
  position: relative;
  overflow: hidden;

  min-height: 470px;
  padding: 29px;

  display: flex;
  flex-direction: column;

  background: #FFFFFF;

  border: 1px solid var(--im-border);
  border-radius: 21px;

  color: inherit;

  box-shadow: 0 10px 30px rgba(11, 61, 46, 0.06);

  transition:
    transform var(--im-transition),
    border-color var(--im-transition),
    box-shadow var(--im-transition);
}

.im-learning-card:hover {
  transform: translateY(-5px);

  border-color: rgba(201, 162, 39, 0.50);

  box-shadow: 0 22px 52px rgba(11, 61, 46, 0.11);
}

.im-learning-card-head {
  margin-bottom: 32px;

  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.im-learning-card-head > span {
  color: rgba(11, 61, 46, 0.28);
  font-size: 10px;
  font-weight: 700;
}

.im-learning-icon {
  width: 48px;
  height: 48px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: var(--im-gold);
  font-size: 21px;

  background: rgba(201, 162, 39, 0.10);

  border: 1px solid rgba(201, 162, 39, 0.23);
  border-radius: 12px;
}

.im-learning-type {
  margin-bottom: 10px;

  color: var(--im-gold-muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.im-learning-card h3 {
  margin: 0 0 13px;

  color: var(--im-green-900);
  font-size: 25px;
  font-weight: 650;
}

.im-learning-card > p {
  margin: 0 0 23px;

  color: var(--im-muted);
  font-size: 12px;
  line-height: 1.72;
}

.im-learning-card ul {
  padding: 0;
  margin: 0 0 26px;

  list-style: none;
}

.im-learning-card ul li {
  margin-bottom: 10px;

  display: flex;
  align-items: flex-start;
  gap: 9px;

  color: var(--im-charcoal);
  font-size: 11px;
  line-height: 1.55;
}

.im-learning-card ul li i {
  margin-top: 2px;

  color: var(--im-gold);
}

.im-learning-link {
  position: relative;
  z-index: 3;

  margin-top: auto;
  padding-top: 17px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  color: var(--im-green-700);
  font-size: 11px;
  font-weight: 650;

  border-top: 1px solid var(--im-border);
}


/* ---------- AI at Work ---------- */

.im-learning-ai {
  border-color: rgba(201, 162, 39, 0.37);

  background:
    linear-gradient(
      145deg,
      #FFFFFF,
      rgba(245, 241, 230, 0.88)
    );
}


/* ---------- IRIS luxury emerald ---------- */

.im-learning-iris {
  color: #FFFFFF;

  background:
    radial-gradient(
      circle at 90% 5%,
      rgba(14, 101, 79, 0.62),
      transparent 36%
    ),
    linear-gradient(
      145deg,
      var(--im-luxe-black) 0%,
      var(--im-emerald-deep) 38%,
      var(--im-emerald-luxe) 100%
    );

  border-color: rgba(224, 197, 106, 0.38);

  box-shadow:
    0 22px 55px rgba(5, 43, 36, 0.20);
}

.im-iris-glow {
  position: absolute;

  width: 260px;
  height: 260px;

  right: -160px;
  top: -160px;

  border: 1px solid rgba(224, 197, 106, 0.20);
  border-radius: 50%;
}

.im-learning-iris .im-learning-card-head > span {
  color: rgba(255, 255, 255, 0.35);
}

.im-learning-iris .im-learning-icon {
  color: var(--im-gold-bright);

  background: rgba(224, 197, 106, 0.08);

  border-color: rgba(224, 197, 106, 0.32);
}

.im-learning-iris .im-learning-type {
  color: var(--im-gold-bright);
}

.im-learning-iris h3 {
  color: #FFFFFF;
}

.im-learning-iris > p {
  color: rgba(250, 249, 245, 0.72);
}

.im-learning-iris ul li {
  color: rgba(250, 249, 245, 0.78);
}

.im-learning-iris ul li i {
  color: var(--im-gold-bright);
}

.im-learning-iris .im-learning-link {
  color: var(--im-gold-bright);

  border-top-color: rgba(224, 197, 106, 0.18);
}


/* ---------- Closing CTA ---------- */

.im-learning-cta {
  margin-top: 28px;
  padding: 30px 32px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;

  background:
    radial-gradient(
      circle at 90% 0%,
      rgba(14, 101, 79, 0.55),
      transparent 36%
    ),
    linear-gradient(
      135deg,
      var(--im-luxe-black),
      var(--im-emerald-deep)
    );

  border: 1px solid rgba(224, 197, 106, 0.30);
  border-radius: 19px;

  box-shadow: 0 18px 45px rgba(5, 43, 36, 0.14);
}

.im-learning-cta-label {
  display: block;
  margin-bottom: 7px;

  color: var(--im-gold-bright);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.im-learning-cta h3 {
  max-width: 720px;
  margin: 0;

  color: #FFFFFF;
  font-size: 20px;
  line-height: 1.45;
  font-weight: 600;
}

.im-learning-cta-actions {
  flex: 0 0 auto;

  display: flex;
  align-items: center;
  gap: 17px;
}

.im-learning-contact {
  color: rgba(255, 255, 255, 0.76);
  font-size: 11px;
  font-weight: 600;
}

.im-learning-contact:hover {
  color: var(--im-gold-bright);
}


/* ---------- Responsive ---------- */

@media (max-width: 1000px) {

  .im-team-grid,
  .im-learning-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .im-learning-iris {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767px) {

  .im-team-section,
  .im-learning-section {
    padding: 70px 0;
  }

  .im-team-heading,
  .im-learning-heading {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .im-team-grid,
  .im-learning-grid {
    grid-template-columns: 1fr;
  }

  .im-learning-iris {
    grid-column: auto;
  }

  .im-team-photo {
    height: 360px;
  }

  .im-team-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .im-learning-card {
    min-height: auto;
  }

  .im-learning-cta {
    align-items: flex-start;
    flex-direction: column;
  }

  .im-learning-cta-actions {
    align-items: flex-start;
    flex-direction: column;
  }
}
/* =========================================================
   FOOTER — INVESTMETRICS INTELLIGENCE
   ========================================================= */

.im-footer {
  position: relative;
  overflow: hidden;

  background:
    radial-gradient(
      circle at 85% 0%,
      rgba(14, 101, 79, 0.42),
      transparent 34%
    ),
    linear-gradient(
      135deg,
      var(--im-luxe-black) 0%,
      var(--im-emerald-deep) 42%,
      #06382E 100%
    );

  color: rgba(250, 249, 245, 0.68);

  border-top: 1px solid rgba(224, 197, 106, 0.28);
}

.im-footer-main {
  padding: 78px 0 58px;
}

.im-footer-grid {
  display: grid;
  grid-template-columns:
    minmax(260px, 1.35fr)
    minmax(130px, .65fr)
    minmax(150px, .75fr)
    minmax(150px, .75fr)
    minmax(290px, 1.30fr);

  gap: 42px;
}


/* ---------- Brand ---------- */

.im-footer-logo {
  display: inline-flex;
  margin-bottom: 22px;
}

.im-footer-logo img {
  display: block;
  width: auto;
  max-height: 72px;
}

.im-footer-brand > p {
  max-width: 360px;
  margin: 0 0 23px;

  color: rgba(250, 249, 245, 0.67);
  font-size: 12px;
  line-height: 1.75;
}

.im-footer-contact {
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.im-footer-contact a,
.im-footer-contact span {
  display: flex;
  align-items: center;
  gap: 9px;

  color: rgba(250, 249, 245, 0.68);
  font-size: 11px;
}

.im-footer-contact i {
  width: 15px;
  color: var(--im-gold-bright);
}


/* ---------- Social ---------- */

.im-footer-social {
  display: flex;
  gap: 9px;
  margin-top: 22px;
}

.im-footer-social a {
  width: 38px;
  height: 38px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  color: rgba(255, 255, 255, 0.80);

  background: rgba(255, 255, 255, 0.055);

  border: 1px solid rgba(224, 197, 106, 0.18);
  border-radius: 10px;

  transition:
    background var(--im-transition),
    color var(--im-transition),
    border-color var(--im-transition),
    transform var(--im-transition);
}

.im-footer-social a:hover {
  transform: translateY(-2px);

  color: var(--im-luxe-black);
  background: var(--im-gold-bright);
  border-color: var(--im-gold-bright);
}


/* ---------- Link columns ---------- */

.im-footer-column h4 {
  margin: 3px 0 20px;

  color: #FFFFFF;
  font-size: 12px;
  font-weight: 650;
}

.im-footer-column ul {
  padding: 0;
  margin: 0;

  list-style: none;
}

.im-footer-column li {
  margin-bottom: 11px;
}

.im-footer-column a {
  color: rgba(250, 249, 245, 0.60);
  font-size: 11px;

  transition:
    color var(--im-transition),
    padding-left var(--im-transition);
}

.im-footer-column a:hover {
  padding-left: 3px;
  color: var(--im-gold-bright);
}


/* ---------- Newsletter ---------- */

.im-footer-newsletter {
  padding: 25px;

  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.07),
      rgba(255, 255, 255, 0.025)
    );

  border: 1px solid rgba(224, 197, 106, 0.20);
  border-radius: 17px;
}

.im-footer-eyebrow {
  display: block;
  margin-bottom: 9px;

  color: var(--im-gold-bright);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.13em;
}

.im-footer-newsletter h4 {
  margin: 0 0 11px;

  color: #FFFFFF;
  font-size: 18px;
  line-height: 1.4;
  font-weight: 600;
}

.im-footer-newsletter > p {
  margin: 0 0 18px;

  color: rgba(250, 249, 245, 0.58);
  font-size: 10px;
  line-height: 1.7;
}

.im-newsletter-form {
  display: grid;
  grid-template-columns: 1fr auto;

  overflow: hidden;

  background: rgba(255, 255, 255, 0.055);

  border: 1px solid rgba(224, 197, 106, 0.22);
  border-radius: 10px;
}

.im-newsletter-form input {
  min-width: 0;
  padding: 12px 13px;

  color: #FFFFFF;

  background: transparent;
  border: 0;
  outline: 0;

  font-size: 11px;
}

.im-newsletter-form input::placeholder {
  color: rgba(255, 255, 255, 0.38);
}

.im-newsletter-form button {
  padding: 0 15px;

  display: inline-flex;
  align-items: center;
  gap: 7px;

  color: var(--im-luxe-black);

  background: var(--im-gold-bright);

  border: 0;

  font-size: 10px;
  font-weight: 700;

  transition: background var(--im-transition);
}

.im-newsletter-form button:hover {
  background: #ECD582;
}

#newsletter-result {
  margin-top: 9px;
  font-size: 9px;
}

.im-newsletter-success {
  color: #A7DDB9;
}

.im-newsletter-error {
  color: #F2B0AA;
}


/* ---------- Bottom ---------- */

.im-footer-bottom {
  padding: 19px 0;

  background: rgba(0, 0, 0, 0.18);

  border-top: 1px solid rgba(224, 197, 106, 0.13);
}

.im-footer-bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

.im-footer-bottom p {
  margin: 0;

  color: rgba(250, 249, 245, 0.45);
  font-size: 9px;
}

.im-footer-legal {
  display: flex;
  gap: 18px;
}

.im-footer-legal a {
  color: rgba(250, 249, 245, 0.45);
  font-size: 9px;
}

.im-footer-legal a:hover {
  color: var(--im-gold-bright);
}


/* ---------- Slightly larger header logo ---------- */

.im-logo img {
  max-height: 64px;
}

@media (max-width: 1199px) {

  .im-logo img {
    max-height: 50px;
  }
}


/* ---------- Footer responsive ---------- */

@media (max-width: 1150px) {

  .im-footer-grid {
    grid-template-columns: 1.2fr 1fr 1fr;
  }

  .im-footer-newsletter {
    grid-column: span 2;
  }
}

@media (max-width: 767px) {

  .im-footer-main {
    padding: 60px 0 42px;
  }

  .im-footer-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .im-footer-newsletter {
    grid-column: auto;
  }

  .im-footer-logo img {
    max-height: 64px;
  }

  .im-footer-bottom-inner {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }
}
/* =========================================================
   HOME — CONTACT
   ========================================================= */

.im-contact-section {
  position: relative;
  padding: 108px 0;

  background:
    radial-gradient(
      circle at 0% 100%,
      rgba(201, 162, 39, 0.07),
      transparent 28%
    ),
    var(--im-white);
}


/* ---------- Heading ---------- */

.im-contact-heading {
  margin-bottom: 48px;

  display: grid;
  grid-template-columns: 1fr minmax(320px, 470px);
  gap: 70px;
  align-items: end;
}

.im-contact-heading h2 {
  margin: 0;

  color: var(--im-green-900);
  font-size: clamp(38px, 4vw, 57px);
  line-height: 1.06;
  font-weight: 700;
  letter-spacing: -0.035em;
}

.im-contact-heading h2 span {
  display: block;
  color: var(--im-green-700);
}

.im-contact-heading > p {
  margin: 0;

  color: var(--im-muted);
  font-size: 14px;
  line-height: 1.75;
}


/* ---------- Main grid ---------- */

.im-contact-grid {
  display: grid;
  grid-template-columns: minmax(340px, .78fr) minmax(560px, 1.22fr);
  gap: 22px;
  align-items: stretch;
}


/* =========================================================
   CONTACT INFORMATION
   ========================================================= */

.im-contact-side {
  overflow: hidden;

  padding: 30px;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(14, 101, 79, 0.55),
      transparent 35%
    ),
    linear-gradient(
      145deg,
      var(--im-luxe-black),
      var(--im-emerald-deep) 52%,
      var(--im-emerald-luxe)
    );

  border: 1px solid rgba(224, 197, 106, 0.30);
  border-radius: 22px;

  box-shadow: 0 22px 55px rgba(5, 43, 36, 0.14);
}

.im-contact-label {
  display: block;
  margin-bottom: 12px;

  color: var(--im-gold-bright);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.13em;
}

.im-contact-intro h3 {
  max-width: 430px;
  margin: 0 0 15px;

  color: #FFFFFF;
  font-size: 28px;
  line-height: 1.25;
  font-weight: 600;
}

.im-contact-intro > p {
  margin: 0;

  color: rgba(250, 249, 245, 0.65);
  font-size: 12px;
  line-height: 1.75;
}


/* ---------- Details ---------- */

.im-contact-details {
  margin: 28px 0;

  display: flex;
  flex-direction: column;
  gap: 10px;
}

.im-contact-detail {
  padding: 13px;

  display: flex;
  align-items: center;
  gap: 12px;

  background: rgba(255, 255, 255, 0.055);

  border: 1px solid rgba(224, 197, 106, 0.13);
  border-radius: 11px;

  transition:
    background var(--im-transition),
    border-color var(--im-transition);
}

.im-contact-detail:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(224, 197, 106, 0.32);
}

.im-contact-detail-icon {
  width: 37px;
  height: 37px;

  flex: 0 0 auto;

  display: flex;
  align-items: center;
  justify-content: center;

  color: var(--im-gold-bright);

  background: rgba(224, 197, 106, 0.08);
  border-radius: 9px;
}

.im-contact-detail span {
  display: block;

  color: rgba(250, 249, 245, 0.42);
  font-size: 9px;
}

.im-contact-detail strong {
  display: block;
  margin-top: 2px;

  color: rgba(250, 249, 245, 0.86);
  font-size: 11px;
  font-weight: 550;
}


/* ---------- Map ---------- */

.im-contact-map {
  height: 235px;

  overflow: hidden;

  border: 1px solid rgba(224, 197, 106, 0.22);
  border-radius: 13px;
}

.im-contact-map iframe {
  width: 100%;
  height: 100%;

  display: block;

  border: 0;
}


/* =========================================================
   CONTACT FORM
   ========================================================= */

.im-contact-form-card {
  padding: 34px;

  background: #FFFFFF;

  border: 1px solid var(--im-border);
  border-radius: 22px;

  box-shadow: 0 16px 44px rgba(11, 61, 46, 0.075);
}

.im-contact-form-head {
  margin-bottom: 28px;
  padding-bottom: 23px;

  border-bottom: 1px solid var(--im-border);
}

.im-contact-form-head > span {
  display: block;
  margin-bottom: 8px;

  color: var(--im-gold-muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.im-contact-form-head h3 {
  margin: 0 0 9px;

  color: var(--im-green-900);
  font-size: 28px;
  font-weight: 650;
}

.im-contact-form-head p {
  max-width: 620px;
  margin: 0;

  color: var(--im-muted);
  font-size: 11px;
  line-height: 1.7;
}


/* ---------- Fields ---------- */

.im-form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 17px;
}

.im-form-full {
  grid-column: 1 / -1;
}

.im-form-group label {
  display: block;
  margin-bottom: 7px;

  color: var(--im-green-900);
  font-size: 10px;
  font-weight: 600;
}

.im-form-group input,
.im-form-group textarea,
.im-form-group select {
  width: 100%;

  padding: 13px 14px;

  color: var(--im-charcoal);

  background: var(--im-white);

  border: 1px solid var(--im-border);
  border-radius: 10px;

  outline: none;

  font-family: "Poppins", sans-serif;
  font-size: 12px;

  transition:
    border-color var(--im-transition),
    box-shadow var(--im-transition),
    background var(--im-transition);
}

.im-form-group textarea {
  min-height: 150px;
  resize: vertical;
}

.im-form-group input:focus,
.im-form-group textarea:focus,
.im-form-group select:focus {
  background: #FFFFFF;

  border-color: var(--im-green-700);

  box-shadow:
    0 0 0 3px rgba(31, 110, 82, 0.09);
}


/* ---------- Submit ---------- */

.im-contact-submit {
  margin-top: 24px;
  padding-top: 20px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;

  border-top: 1px solid var(--im-border);
}

.im-contact-submit > p {
  max-width: 360px;
  margin: 0;

  color: var(--im-muted);
  font-size: 9px;
  line-height: 1.6;
}


/* ---------- Responsive ---------- */

@media (max-width: 1000px) {

  .im-contact-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {

  .im-contact-section {
    padding: 70px 0;
  }

  .im-contact-heading {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .im-contact-side,
  .im-contact-form-card {
    padding: 24px;
  }

  .im-form-grid {
    grid-template-columns: 1fr;
  }

  .im-form-full {
    grid-column: auto;
  }

  .im-contact-submit {
    align-items: flex-start;
    flex-direction: column;
  }
}
/* =========================================================
   COMPANY PROFILE
   Solid surfaces / sage / grass / gold architecture
   ========================================================= */

.im-profile-page {
  background: var(--im-white);
}

.im-profile-page a {
  text-decoration: none;
}


/* =========================================================
   HERO
   ========================================================= */

.im-profile-hero {
  padding: 110px 0 95px;
  background: var(--im-cream);
  border-bottom: 1px solid rgba(11, 61, 46, 0.08);
}

.im-profile-hero-grid {
  display: grid;
  grid-template-columns: minmax(420px, 1.05fr) minmax(420px, .95fr);
  gap: 80px;
  align-items: center;
}

.im-profile-hero-copy h1 {
  max-width: 750px;
  margin: 0 0 25px;

  color: var(--im-green-900);
  font-size: clamp(52px, 5.8vw, 82px);
  line-height: .98;
  font-weight: 700;
  letter-spacing: -0.05em;
}

.im-profile-hero-copy h1 span {
  display: block;
  color: var(--im-green-700);
}

.im-profile-hero-copy > p {
  max-width: 680px;
  margin: 0;

  color: var(--im-muted);
  font-size: 15px;
  line-height: 1.8;
}

.im-profile-hero-actions {
  margin-top: 31px;

  display: flex;
  align-items: center;
  gap: 13px;
  flex-wrap: wrap;
}

.im-profile-outline-btn {
  min-height: 48px;
  padding: 0 20px;

  display: inline-flex;
  align-items: center;
  gap: 9px;

  color: var(--im-green-900);

  background: transparent;
  border: 1px solid rgba(11, 61, 46, 0.22);
  border-radius: 10px;

  font-size: 11px;
  font-weight: 650;
}

.im-profile-outline-btn:hover {
  color: var(--im-green-700);
  border-color: var(--im-gold);
}


/* Identity panel */

.im-profile-identity-card {
  min-height: 545px;
  padding: 36px;

  display: flex;
  flex-direction: column;

  position: relative;
  overflow: hidden;

  background: var(--im-green-900);
  border: 1px solid rgba(201, 162, 39, 0.48);
  border-radius: 28px;

  box-shadow: 0 25px 60px rgba(11, 61, 46, 0.16);
}

.im-profile-identity-card::after {
  content: "";

  position: absolute;
  width: 220px;
  height: 220px;

  right: -120px;
  bottom: -120px;

  border: 1px solid rgba(201, 162, 39, 0.24);
  border-radius: 50%;
}

.im-profile-identity-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.im-profile-identity-top img {
  max-height: 70px;
  width: auto;
}

.im-profile-identity-top span {
  color: rgba(255, 255, 255, 0.46);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .13em;
}

.im-profile-identity-message {
  margin: auto 0;
}

.im-profile-identity-message > span {
  display: block;
  margin-bottom: 15px;

  color: var(--im-gold-bright);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .14em;
}

.im-profile-identity-message h2 {
  margin: 0;

  color: #FFFFFF;
  font-size: clamp(39px, 4vw, 56px);
  line-height: 1.08;
  font-weight: 650;
}

.im-profile-identity-bottom {
  position: relative;
  z-index: 2;

  padding-top: 18px;

  display: flex;
  justify-content: space-between;

  border-top: 1px solid rgba(255, 255, 255, 0.12);

  color: rgba(255, 255, 255, 0.42);
  font-size: 9px;
}


/* =========================================================
   ABOUT
   ========================================================= */

.im-profile-about {
  padding: 105px 0;
  background: #FFFFFF;
}

.im-profile-about-grid {
  display: grid;
  grid-template-columns: minmax(320px, .85fr) minmax(500px, 1.15fr);
  gap: 85px;
}

.im-profile-section-heading h2,
.im-profile-value-heading h2,
.im-profile-intelligence-heading h2 {
  margin: 0;

  color: var(--im-green-900);
  font-size: clamp(38px, 4vw, 57px);
  line-height: 1.06;
  font-weight: 700;
  letter-spacing: -0.035em;
}

.im-profile-section-heading h2 span,
.im-profile-value-heading h2 span,
.im-profile-intelligence-heading h2 span {
  display: block;
  color: var(--im-green-700);
}

.im-profile-about-copy p {
  color: var(--im-muted);
  font-size: 13px;
  line-height: 1.83;
}

.im-profile-about-copy .im-profile-lead {
  margin-top: 0;

  color: var(--im-charcoal);
  font-size: 18px;
  line-height: 1.7;
}

.im-profile-about-note {
  margin-top: 50px;
  padding: 25px 27px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;

  background: var(--im-cream);
  border: 1px solid rgba(11, 61, 46, 0.10);
  border-left: 4px solid var(--im-gold);
  border-radius: 14px;
}

.im-profile-about-note span {
  display: block;
  margin-bottom: 5px;

  color: var(--im-gold-muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .13em;
}

.im-profile-about-note strong {
  color: var(--im-green-900);
  font-size: 13px;
  line-height: 1.6;
  font-weight: 600;
}

.im-profile-about-note i {
  color: var(--im-gold);
  font-size: 22px;
}


/* =========================================================
   FOUNDATION — GRASSY THEMATIC BOXES
   ========================================================= */

.im-profile-foundation {
  padding: 20px 0 105px;
  background: #FFFFFF;
}

.im-profile-foundation-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.im-profile-foundation-card {
  min-height: 430px;
  padding: 31px;

  position: relative;

  border: 1px solid rgba(11, 61, 46, 0.12);
  border-radius: 22px;
}

.im-profile-sage {
  background: #E2E8DA;
}

.im-profile-cream {
  background: #F5F1E6;
}

.im-profile-grass {
  background: #D6E1CF;
}

.im-profile-card-number {
  position: absolute;
  top: 25px;
  right: 27px;

  color: rgba(11, 61, 46, 0.24);
  font-size: 11px;
  font-weight: 700;
}

.im-profile-card-icon {
  width: 51px;
  height: 51px;

  margin-bottom: 49px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: var(--im-green-900);
  font-size: 22px;

  background: rgba(255, 255, 255, 0.55);
  border: 1px solid rgba(11, 61, 46, 0.09);
  border-radius: 13px;
}

.im-profile-card-label {
  display: block;
  margin-bottom: 9px;

  color: var(--im-gold-muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
}

.im-profile-foundation-card h3 {
  margin: 0 0 16px;

  color: var(--im-green-900);
  font-size: 23px;
  line-height: 1.34;
  font-weight: 650;
}

.im-profile-foundation-card p {
  margin: 0;

  color: #4F5F58;
  font-size: 12px;
  line-height: 1.78;
}


/* =========================================================
   VALUE MODEL
   ========================================================= */

.im-profile-value {
  padding: 102px 0;
  background: var(--im-cream);
}

.im-profile-value-heading {
  max-width: 760px;
  margin-bottom: 46px;
}

.im-profile-value-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.im-profile-value-step {
  min-height: 280px;
  padding: 25px;

  background: #FFFFFF;

  border: 1px solid rgba(11, 61, 46, 0.10);
  border-radius: 17px;
}

.im-profile-value-step > span {
  display: block;
  margin-bottom: 34px;

  color: rgba(11, 61, 46, 0.27);
  font-size: 10px;
  font-weight: 700;
}

.im-profile-value-step > i {
  display: block;
  margin-bottom: 23px;

  color: var(--im-gold);
  font-size: 25px;
}

.im-profile-value-step h3 {
  margin: 0 0 10px;

  color: var(--im-green-900);
  font-size: 18px;
  font-weight: 650;
}

.im-profile-value-step p {
  margin: 0;

  color: var(--im-muted);
  font-size: 11px;
  line-height: 1.7;
}


/* =========================================================
   SERVICES
   ========================================================= */

.im-profile-services {
  padding: 105px 0;
  background: #FFFFFF;
}

.im-profile-services-heading,
.im-profile-people-heading {
  margin-bottom: 46px;

  display: grid;
  grid-template-columns: 1fr minmax(300px, 450px);
  gap: 70px;
  align-items: end;
}

.im-profile-services-heading h2,
.im-profile-people-heading h2 {
  margin: 0;

  color: var(--im-green-900);
  font-size: clamp(38px, 4vw, 56px);
  line-height: 1.07;
  font-weight: 700;
  letter-spacing: -0.035em;
}

.im-profile-services-heading h2 span,
.im-profile-people-heading h2 span {
  display: block;
  color: var(--im-green-700);
}

.im-profile-services-heading > p,
.im-profile-people-heading > p {
  margin: 0;

  color: var(--im-muted);
  font-size: 13px;
  line-height: 1.75;
}

.im-profile-services-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.im-profile-service-card {
  min-height: 300px;
  padding: 28px;

  display: flex;
  flex-direction: column;

  background: #FAFAF7;

  border: 1px solid rgba(11, 61, 46, 0.10);
  border-radius: 18px;

  transition:
    transform var(--im-transition),
    border-color var(--im-transition),
    background var(--im-transition);
}

.im-profile-service-card:hover {
  transform: translateY(-4px);

  background: #FFFFFF;
  border-color: rgba(201, 162, 39, 0.48);
}

.im-profile-service-top {
  margin-bottom: 36px;

  display: flex;
  align-items: center;
  justify-content: space-between;
}

.im-profile-service-top > i {
  color: var(--im-gold);
  font-size: 24px;
}

.im-profile-service-top > span {
  color: rgba(11, 61, 46, 0.24);
  font-size: 10px;
  font-weight: 700;
}

.im-profile-service-card h3 {
  margin: 0 0 13px;

  color: var(--im-green-900);
  font-size: 21px;
  font-weight: 650;
}

.im-profile-service-card > p {
  margin: 0 0 25px;

  color: var(--im-muted);
  font-size: 12px;
  line-height: 1.72;
}

.im-profile-service-link {
  margin-top: auto;
  padding-top: 17px;

  display: flex;
  justify-content: space-between;

  color: var(--im-green-700);
  font-size: 11px;
  font-weight: 650;

  border-top: 1px solid rgba(11, 61, 46, 0.08);
}


/* =========================================================
   PROFESSIONAL INTELLIGENCE
   ========================================================= */

.im-profile-intelligence {
  padding: 105px 0;
  background: #EDF0E7;
}

.im-profile-intelligence-heading {
  max-width: 850px;
  margin-bottom: 45px;
}

.im-profile-intelligence-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}

.im-profile-intelligence-card {
  min-height: 360px;
  padding: 30px;

  display: flex;
  flex-direction: column;

  border-radius: 20px;
}

.im-profile-ai {
  background: #F7F3E8;
  border: 1px solid rgba(201, 162, 39, 0.32);
}

.im-profile-iris {
  background: var(--im-green-900);
  border: 1px solid rgba(201, 162, 39, 0.40);
}

.im-profile-intelligence-card > span {
  display: block;
  margin-bottom: 27px;

  color: var(--im-gold-muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
}

.im-profile-iris > span {
  color: var(--im-gold-bright);
}

.im-profile-intelligence-icon {
  width: 47px;
  height: 47px;

  margin-bottom: 27px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: var(--im-gold);
  font-size: 21px;

  border: 1px solid rgba(201, 162, 39, 0.25);
  border-radius: 12px;
}

.im-profile-intelligence-card h3 {
  margin: 0 0 12px;

  color: var(--im-green-900);
  font-size: 28px;
  font-weight: 650;
}

.im-profile-iris h3 {
  color: #FFFFFF;
}

.im-profile-intelligence-card > p {
  margin: 0 0 24px;

  color: var(--im-muted);
  font-size: 12px;
  line-height: 1.75;
}

.im-profile-iris > p {
  color: rgba(255, 255, 255, 0.65);
}

.im-profile-intelligence-card > div:last-child,
.im-profile-intelligence-card > a {
  margin-top: auto;
  padding-top: 17px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  color: var(--im-green-700);
  font-size: 11px;
  font-weight: 650;

  border-top: 1px solid rgba(11, 61, 46, 0.10);
}

.im-profile-iris > a {
  color: var(--im-gold-bright);
  border-top-color: rgba(255, 255, 255, 0.12);
}


/* =========================================================
   PEOPLE
   ========================================================= */

.im-profile-people {
  padding: 105px 0;
  background: #FFFFFF;
}

.im-profile-people-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.im-profile-person {
  overflow: hidden;

  background: var(--im-cream);

  border: 1px solid rgba(11, 61, 46, 0.10);
  border-radius: 19px;
}

.im-profile-person img {
  width: 100%;
  height: 360px;

  display: block;

  object-fit: cover;
  object-position: center top;
}

.im-profile-person-body {
  padding: 22px;
}

.im-profile-person-body span {
  display: block;
  margin-bottom: 8px;

  color: var(--im-gold-muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .12em;
}

.im-profile-person-body h3 {
  margin: 0 0 5px;

  color: var(--im-green-900);
  font-size: 18px;
  font-weight: 650;
}

.im-profile-person-body p {
  margin: 0;

  color: var(--im-muted);
  font-size: 11px;
}


/* =========================================================
   CLOSE
   ========================================================= */

.im-profile-close {
  padding: 25px 0 105px;
  background: #FFFFFF;
}

.im-profile-close-box {
  padding: 40px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 60px;

  background: var(--im-green-900);

  border: 1px solid rgba(201, 162, 39, 0.40);
  border-radius: 22px;
}

.im-profile-close-box > div:first-child {
  max-width: 760px;
}

.im-profile-close-box span {
  display: block;
  margin-bottom: 9px;

  color: var(--im-gold-bright);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .12em;
}

.im-profile-close-box h2 {
  margin: 0 0 10px;

  color: #FFFFFF;
  font-size: 27px;
  line-height: 1.4;
  font-weight: 600;
}

.im-profile-close-box p {
  margin: 0;

  color: rgba(255, 255, 255, 0.62);
  font-size: 11px;
  line-height: 1.7;
}

.im-profile-close-actions {
  flex: 0 0 auto;

  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
}

.im-profile-close-actions > a:last-child {
  color: rgba(255, 255, 255, 0.64);
  font-size: 10px;
}

.im-profile-close-actions > a:last-child:hover {
  color: var(--im-gold-bright);
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1050px) {

  .im-profile-hero-grid,
  .im-profile-about-grid {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .im-profile-foundation-grid {
    grid-template-columns: 1fr;
  }

  .im-profile-value-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .im-profile-identity-card {
    min-height: 470px;
  }
}

@media (max-width: 800px) {

  .im-profile-services-heading,
  .im-profile-people-heading {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .im-profile-intelligence-grid,
  .im-profile-services-grid,
  .im-profile-people-grid {
    grid-template-columns: 1fr;
  }

  .im-profile-close-box {
    align-items: flex-start;
    flex-direction: column;
  }

  .im-profile-close-actions {
    align-items: flex-start;
  }
}

@media (max-width: 600px) {

  .im-profile-hero,
  .im-profile-about,
  .im-profile-value,
  .im-profile-services,
  .im-profile-intelligence,
  .im-profile-people {
    padding-top: 70px;
    padding-bottom: 70px;
  }

  .im-profile-value-grid {
    grid-template-columns: 1fr;
  }

  .im-profile-identity-card {
    min-height: 410px;
    padding: 26px;
  }

  .im-profile-person img {
    height: 340px;
  }

  .im-profile-close-box {
    padding: 28px;
  }
}
/* =========================================================
   COMPANY PROFILE — GRASSIER THEMATIC REFINEMENT
   ========================================================= */

:root {
  --im-moss: #6F7E4F;
  --im-moss-deep: #56623E;
  --im-grass: #8FA66B;
  --im-grass-soft: #DCE6CC;
  --im-grass-mist: #EEF3E8;
  --im-olive-soft: #E6E2C8;
  --im-botanical-line: rgba(111, 126, 79, 0.16);
}


/* ---------------------------------------------------------
   Hero: more organic, less plain cream
   --------------------------------------------------------- */

.im-profile-hero {
  position: relative;
  overflow: hidden;

  background:
    linear-gradient(
      90deg,
      rgba(245, 241, 230, 0.97),
      rgba(238, 243, 232, 0.97)
    );
}

.im-profile-hero::before {
  content: "";

  position: absolute;
  inset: 0;

  background-image:
    linear-gradient(
      120deg,
      transparent 0 67%,
      rgba(143, 166, 107, 0.08) 67% 68%,
      transparent 68%
    ),
    repeating-linear-gradient(
      90deg,
      transparent 0 46px,
      rgba(111, 126, 79, 0.035) 46px 47px
    );

  pointer-events: none;
}


/* ---------------------------------------------------------
   About section — botanical structural accent
   --------------------------------------------------------- */

.im-profile-about {
  position: relative;
}

.im-profile-about::after {
  content: "";

  position: absolute;
  width: 180px;
  height: 180px;

  right: 4%;
  top: 60px;

  border: 1px solid var(--im-botanical-line);
  border-radius: 62% 38% 58% 42% / 45% 56% 44% 55%;

  transform: rotate(-18deg);

  pointer-events: none;
}


/* ---------------------------------------------------------
   Mission / Vision / Capability
   --------------------------------------------------------- */

.im-profile-sage {
  background:
    linear-gradient(
      180deg,
      #E7ECD9 0%,
      #DCE6CC 100%
    );
}

.im-profile-cream {
  background:
    linear-gradient(
      180deg,
      #F6F2E8 0%,
      #EAE5CF 100%
    );
}

.im-profile-grass {
  background:
    linear-gradient(
      180deg,
      #D8E4CB 0%,
      #C9D8B8 100%
    );
}

.im-profile-foundation-card {
  overflow: hidden;
}

.im-profile-foundation-card::after {
  content: "";

  position: absolute;

  width: 150px;
  height: 220px;

  right: -55px;
  bottom: -85px;

  border: 1px solid rgba(111, 126, 79, 0.15);
  border-radius: 70% 30% 60% 40% / 62% 48% 52% 38%;

  transform: rotate(24deg);

  pointer-events: none;
}

.im-profile-card-icon {
  color: var(--im-moss-deep);

  background: rgba(255, 255, 255, 0.44);

  border-color: rgba(86, 98, 62, 0.11);
}


/* ---------------------------------------------------------
   Value model: grassy boxes instead of plain white cards
   --------------------------------------------------------- */

.im-profile-value {
  background: var(--im-grass-mist);
}

.im-profile-value-step:nth-child(1) {
  background: #F4F6ED;
}

.im-profile-value-step:nth-child(2) {
  background: #E6EEDC;
}

.im-profile-value-step:nth-child(3) {
  background: #EEF0DB;
}

.im-profile-value-step:nth-child(4) {
  background: #DDE8D2;
}

.im-profile-value-step {
  border-color: rgba(86, 98, 62, 0.13);
}

.im-profile-value-step > i {
  color: var(--im-moss);
}


/* ---------------------------------------------------------
   Services: introduce soft grassy differentiation
   --------------------------------------------------------- */

.im-profile-services {
  background: #FAFBF7;
}

.im-profile-service-card:nth-child(1) {
  background: #F5F6ED;
}

.im-profile-service-card:nth-child(2) {
  background: #EEF3E8;
}

.im-profile-service-card:nth-child(3) {
  background: #F4F0E2;
}

.im-profile-service-card:nth-child(4) {
  background: #E7EDDC;
}

.im-profile-service-card:hover {
  background: #FFFFFF;
  border-color: rgba(143, 166, 107, 0.55);
}

.im-profile-service-top > i {
  color: var(--im-moss);
}


/* ---------------------------------------------------------
   Professional Intelligence section
   --------------------------------------------------------- */

.im-profile-intelligence {
  position: relative;
  overflow: hidden;

  background: #E8EEDB;
}

.im-profile-intelligence::before {
  content: "";

  position: absolute;
  inset: 0;

  background-image:
    repeating-linear-gradient(
      135deg,
      transparent 0 42px,
      rgba(111, 126, 79, 0.035) 42px 43px
    );

  pointer-events: none;
}

.im-profile-ai {
  background: #F4F1E4;
}

.im-profile-iris {
  background: #173E32;
}


/* ---------------------------------------------------------
   People section
   --------------------------------------------------------- */

.im-profile-people {
  background: #F7F8F2;
}

.im-profile-person {
  background: #EEF3E8;
}


/* ---------------------------------------------------------
   Small grassy underline motif
   --------------------------------------------------------- */

.im-profile-page .im-eyebrow {
  position: relative;
  display: inline-block;
  padding-bottom: 9px;
}

.im-profile-page .im-eyebrow::after {
  content: "";

  position: absolute;
  left: 0;
  bottom: 0;

  width: 42px;
  height: 2px;

  background: var(--im-moss);
  border-radius: 5px;
}


/* ---------------------------------------------------------
   Gold remains premium accent
   --------------------------------------------------------- */

.im-profile-page .im-eyebrow {
  color: var(--im-gold-muted);
}

.im-profile-card-label,
.im-profile-person-body span {
  color: var(--im-moss-deep);
}
/* =========================================================
   COMPANY PROFILE — BOTANICAL LINE MOTIFS
   Very subtle organic margin illustrations
   ========================================================= */


/* Keep page content above decorative motifs */
.im-profile-page section > .im-container {
  position: relative;
  z-index: 2;
}


/* =========================================================
   MOTIF 01 — ABOUT
   Tall botanical stems on right margin
   ========================================================= */

.im-profile-about {
  position: relative;
  overflow: hidden;
}

.im-profile-about::before {
  content: "";

  position: absolute;
  right: -35px;
  bottom: -20px;

  width: 250px;
  height: 430px;

  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;

  background-image: url("data:image/svg+xml,%3Csvg width='250' height='430' viewBox='0 0 250 430' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%236F7E4F' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M126 430 C120 345 126 255 124 85'/%3E%3Cpath d='M124 265 C88 235 69 207 55 173'/%3E%3Cpath d='M123 216 C157 186 176 151 185 116'/%3E%3Cpath d='M122 332 C157 305 176 276 190 244'/%3E%3Cpath d='M89 229 C62 228 44 218 28 198 C51 191 72 200 89 229Z'/%3E%3Cpath d='M159 182 C177 155 199 146 222 147 C218 171 196 187 159 182Z'/%3E%3Cpath d='M157 302 C182 277 204 273 225 281 C213 303 192 314 157 302Z'/%3E%3Cpath d='M124 142 C99 120 92 94 96 69 C118 79 132 102 124 142Z'/%3E%3C/g%3E%3C/svg%3E");

  opacity: 0.11;

  pointer-events: none;
}


/* =========================================================
   MOTIF 02 — FOUNDATION
   Fine grasses rising from lower-left corner
   ========================================================= */

.im-profile-foundation {
  position: relative;
  overflow: hidden;
}

.im-profile-foundation::before {
  content: "";

  position: absolute;
  left: -35px;
  bottom: -8px;

  width: 290px;
  height: 320px;

  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: contain;

  background-image: url("data:image/svg+xml,%3Csvg width='290' height='320' viewBox='0 0 290 320' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%238FA66B' stroke-width='1.2' stroke-linecap='round'%3E%3Cpath d='M40 320 C55 245 54 178 46 102'/%3E%3Cpath d='M74 320 C85 229 106 164 121 76'/%3E%3Cpath d='M107 320 C111 231 102 157 91 55'/%3E%3Cpath d='M144 320 C153 236 177 169 195 100'/%3E%3Cpath d='M175 320 C177 243 172 184 166 117'/%3E%3Cpath d='M203 320 C214 259 229 212 248 159'/%3E%3Cpath d='M45 176 C28 156 20 137 20 118'/%3E%3Cpath d='M91 165 C69 145 62 123 61 105'/%3E%3Cpath d='M121 174 C145 153 153 133 158 111'/%3E%3Cpath d='M195 187 C218 170 231 151 237 132'/%3E%3C/g%3E%3C/svg%3E");

  opacity: 0.12;

  pointer-events: none;
}


/* =========================================================
   MOTIF 03 — VALUE MODEL
   Organic contour leaf in upper-right
   ========================================================= */

.im-profile-value {
  position: relative;
  overflow: hidden;
}

.im-profile-value::after {
  content: "";

  position: absolute;
  right: -55px;
  top: 12px;

  width: 330px;
  height: 270px;

  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;

  background-image: url("data:image/svg+xml,%3Csvg width='330' height='270' viewBox='0 0 330 270' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%236F7E4F' stroke-width='1.25'%3E%3Cpath d='M42 221 C92 78 195 25 288 40 C270 137 195 220 42 221Z'/%3E%3Cpath d='M52 215 C116 178 168 136 235 76'/%3E%3Cpath d='M122 168 C107 137 105 110 111 88'/%3E%3Cpath d='M159 140 C159 105 171 80 189 60'/%3E%3Cpath d='M187 115 C214 112 237 101 258 85'/%3E%3Cpath d='M102 184 C83 175 69 162 59 147'/%3E%3C/g%3E%3C/svg%3E");

  opacity: 0.08;

  pointer-events: none;
}


/* =========================================================
   MOTIF 04 — PROFESSIONAL INTELLIGENCE
   Thin intelligence/network botanical hybrid
   ========================================================= */

.im-profile-intelligence {
  position: relative;
  overflow: hidden;
}

.im-profile-intelligence::after {
  content: "";

  position: absolute;
  right: -25px;
  bottom: -45px;

  width: 320px;
  height: 350px;

  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;

  background-image: url("data:image/svg+xml,%3Csvg width='320' height='350' viewBox='0 0 320 350' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%236F7E4F' stroke-width='1.15'%3E%3Cpath d='M162 350 C160 270 164 186 158 62'/%3E%3Cpath d='M159 244 C125 214 107 185 95 151'/%3E%3Cpath d='M159 188 C194 161 213 132 228 97'/%3E%3Ccircle cx='95' cy='151' r='5'/%3E%3Ccircle cx='228' cy='97' r='5'/%3E%3Ccircle cx='158' cy='62' r='5'/%3E%3Ccircle cx='159' cy='244' r='4'/%3E%3Cpath d='M95 151 C67 143 47 128 30 104'/%3E%3Cpath d='M228 97 C254 92 276 80 291 61'/%3E%3Cpath d='M159 244 C204 234 242 214 274 185'/%3E%3Ccircle cx='30' cy='104' r='3'/%3E%3Ccircle cx='291' cy='61' r='3'/%3E%3Ccircle cx='274' cy='185' r='3'/%3E%3C/g%3E%3C/svg%3E");

  opacity: 0.11;

  pointer-events: none;
}


/* =========================================================
   MOTIF 05 — PEOPLE
   Soft leaves behind lower-left margin
   ========================================================= */

.im-profile-people {
  position: relative;
  overflow: hidden;
}

.im-profile-people::before {
  content: "";

  position: absolute;
  left: -80px;
  bottom: -90px;

  width: 330px;
  height: 350px;

  background-repeat: no-repeat;
  background-size: contain;

  background-image: url("data:image/svg+xml,%3Csvg width='330' height='350' viewBox='0 0 330 350' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%238FA66B' stroke-width='1.35'%3E%3Cpath d='M160 350 C157 275 151 201 142 114'/%3E%3Cpath d='M145 195 C108 180 78 153 56 120'/%3E%3Cpath d='M150 235 C191 211 217 181 232 148'/%3E%3Cpath d='M102 175 C71 175 48 162 31 139 C58 130 82 141 102 175Z'/%3E%3Cpath d='M189 201 C213 174 240 165 265 171 C252 195 228 208 189 201Z'/%3E%3Cpath d='M142 133 C115 105 112 77 120 52 C144 66 156 92 142 133Z'/%3E%3C/g%3E%3C/svg%3E");

  opacity: 0.095;

  pointer-events: none;
}


/* =========================================================
   MINI BOTANICAL DETAIL INSIDE FOUNDATION CARDS
   ========================================================= */

.im-profile-foundation-card::before {
  content: "";

  position: absolute;
  left: 26px;
  bottom: 22px;

  width: 58px;
  height: 34px;

  background-image: url("data:image/svg+xml,%3Csvg width='58' height='34' viewBox='0 0 58 34' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%236F7E4F' stroke-width='1'%3E%3Cpath d='M3 31 C16 24 28 15 42 3'/%3E%3Cpath d='M19 21 C11 20 7 16 4 11 C12 9 18 13 19 21Z'/%3E%3Cpath d='M31 13 C35 6 41 4 47 5 C45 11 40 14 31 13Z'/%3E%3C/g%3E%3C/svg%3E");

  background-repeat: no-repeat;

  opacity: 0.22;

  pointer-events: none;
}


/* Ensure card content remains above motifs */

.im-profile-foundation-card > * {
  position: relative;
  z-index: 2;
}


/* =========================================================
   MOBILE — reduce ornament density
   ========================================================= */

@media (max-width: 767px) {

  .im-profile-about::before,
  .im-profile-value::after,
  .im-profile-intelligence::after,
  .im-profile-people::before {
    opacity: 0.05;
    transform: scale(0.75);
  }

  .im-profile-foundation::before {
    opacity: 0.06;
  }
}
/* =========================================================
   INVESTMETRICS — GRASS LUXURY DEPTH SYSTEM
   Gold aura for dark green surfaces
   Green aura for light surfaces
   ========================================================= */

:root {
  --im-grass-deep: #52633F;
  --im-grass-medium: #738B55;
  --im-grass-light: #A8BA88;

  --im-grass-shadow:
    rgba(82, 99, 63, 0.18);

  --im-grass-shadow-soft:
    rgba(115, 139, 85, 0.11);

  --im-gold-shadow:
    rgba(201, 162, 39, 0.22);

  --im-gold-shadow-soft:
    rgba(224, 197, 106, 0.11);
}


/* =========================================================
   DARK GREEN BOXES
   GOLD ATMOSPHERIC SHADOW
   ========================================================= */

.im-profile-identity-card,
.im-profile-iris,
.im-profile-close-box {
  position: relative;
  overflow: hidden;

  box-shadow:
    0 28px 65px rgba(201, 162, 39, 0.18),
    0 10px 28px rgba(5, 43, 36, 0.13),
    0 0 0 1px rgba(224, 197, 106, 0.12) !important;
}


/* Gold grass-line motif inside dark panels */

.im-profile-identity-card::before,
.im-profile-iris::before,
.im-profile-close-box::before {
  content: "";

  position: absolute;

  left: -25px;
  bottom: -18px;

  width: 290px;
  height: 180px;

  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: contain;

  background-image:
    url("data:image/svg+xml,%3Csvg width='290' height='180' viewBox='0 0 290 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23E0C56A' stroke-width='1.2' stroke-linecap='round'%3E%3Cpath d='M15 180 C27 128 32 82 29 27'/%3E%3Cpath d='M53 180 C62 126 81 78 97 24'/%3E%3Cpath d='M91 180 C94 126 87 78 83 40'/%3E%3Cpath d='M131 180 C142 117 166 68 188 29'/%3E%3Cpath d='M172 180 C175 121 172 83 169 50'/%3E%3Cpath d='M208 180 C220 133 239 95 265 63'/%3E%3Cpath d='M30 87 C18 72 12 58 11 43'/%3E%3Cpath d='M84 95 C68 79 61 65 60 50'/%3E%3Cpath d='M98 92 C116 79 126 63 132 48'/%3E%3Cpath d='M188 91 C207 80 220 64 228 48'/%3E%3C/g%3E%3C/svg%3E");

  opacity: 0.17;

  pointer-events: none;

  z-index: 0;
}


/* Keep content above grass motif */

.im-profile-identity-card > *,
.im-profile-iris > *,
.im-profile-close-box > * {
  position: relative;
  z-index: 2;
}


/* =========================================================
   LIGHT / CREAM / GRASS BOXES
   GREEN ATMOSPHERIC SHADOW
   ========================================================= */

.im-profile-foundation-card,
.im-profile-value-step,
.im-profile-service-card,
.im-profile-ai,
.im-profile-person {
  position: relative;
  overflow: hidden;

  box-shadow:
    0 20px 48px rgba(82, 99, 63, 0.14),
    0 6px 18px rgba(115, 139, 85, 0.08) !important;
}


/* Slightly stronger foundation-card shadow */

.im-profile-foundation-card {
  box-shadow:
    0 24px 52px rgba(82, 99, 63, 0.16),
    0 7px 20px rgba(115, 139, 85, 0.09) !important;
}


/* =========================================================
   GREEN GRASS DETAIL INSIDE LIGHT BOXES
   ========================================================= */

.im-profile-foundation-card::before,
.im-profile-value-step::before,
.im-profile-service-card::before,
.im-profile-ai::before {
  content: "";

  position: absolute;

  right: -14px;
  bottom: -10px;

  width: 180px;
  height: 125px;

  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: contain;

  background-image:
    url("data:image/svg+xml,%3Csvg width='180' height='125' viewBox='0 0 180 125' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%2352633F' stroke-width='1.05' stroke-linecap='round'%3E%3Cpath d='M25 125 C32 87 34 54 30 20'/%3E%3Cpath d='M56 125 C64 82 78 51 91 13'/%3E%3Cpath d='M88 125 C91 87 86 60 83 32'/%3E%3Cpath d='M119 125 C127 86 143 55 158 29'/%3E%3Cpath d='M31 72 C21 62 16 51 15 41'/%3E%3Cpath d='M83 68 C70 57 65 47 65 37'/%3E%3Cpath d='M92 66 C105 55 112 45 117 34'/%3E%3Cpath d='M158 72 C166 61 170 50 172 40'/%3E%3C/g%3E%3C/svg%3E");

  opacity: 0.14;

  pointer-events: none;

  z-index: 0;
}


/* Different strength by surface */

.im-profile-sage::before {
  opacity: 0.18;
}

.im-profile-cream::before {
  opacity: 0.13;
}

.im-profile-grass::before {
  opacity: 0.20;
}


/* Content above motif */

.im-profile-foundation-card > *,
.im-profile-value-step > *,
.im-profile-service-card > *,
.im-profile-ai > * {
  position: relative;
  z-index: 2;
}


/* =========================================================
   GOLD / GREEN EDGE HIGHLIGHTS
   ========================================================= */

/* Green surfaces get a fine gold lower edge */

.im-profile-identity-card,
.im-profile-iris,
.im-profile-close-box {
  border-bottom:
    2px solid rgba(224, 197, 106, 0.48) !important;
}


/* Light surfaces get a fine moss lower edge */

.im-profile-foundation-card,
.im-profile-value-step,
.im-profile-service-card,
.im-profile-ai {
  border-bottom:
    2px solid rgba(82, 99, 63, 0.20);
}


/* =========================================================
   HOVER DEPTH
   ========================================================= */

.im-profile-foundation-card,
.im-profile-value-step,
.im-profile-service-card,
.im-profile-ai,
.im-profile-person {
  transition:
    transform 280ms ease,
    box-shadow 280ms ease,
    border-color 280ms ease;
}

.im-profile-foundation-card:hover,
.im-profile-value-step:hover,
.im-profile-service-card:hover,
.im-profile-ai:hover,
.im-profile-person:hover {
  transform: translateY(-4px);

  box-shadow:
    0 28px 62px rgba(82, 99, 63, 0.20),
    0 8px 22px rgba(115, 139, 85, 0.10) !important;
}


/* Dark green boxes hover with warmer gold depth */

.im-profile-identity-card:hover,
.im-profile-iris:hover,
.im-profile-close-box:hover {
  box-shadow:
    0 32px 74px rgba(201, 162, 39, 0.24),
    0 12px 32px rgba(5, 43, 36, 0.16) !important;
}


/* =========================================================
   MAIN IDENTITY PANEL
   Give hero green card stronger grassy presence
   ========================================================= */

.im-profile-identity-card {
  box-shadow:
    18px 22px 55px rgba(201, 162, 39, 0.20),
    -8px 14px 38px rgba(82, 99, 63, 0.12) !important;
}


/* Larger botanical line on opposite edge */

.im-profile-identity-card::after {
  content: "";

  position: absolute;

  right: -45px;
  bottom: -65px;

  width: 270px;
  height: 270px;

  border:
    1px solid rgba(224, 197, 106, 0.24);

  border-radius:
    70% 30% 60% 40% /
    55% 45% 65% 35%;

  transform: rotate(-16deg);

  pointer-events: none;
}


/* =========================================================
   PAGE SECTION SEPARATION
   Slight grassy breathing zones
   ========================================================= */

.im-profile-about,
.im-profile-services,
.im-profile-people {
  box-shadow:
    inset 0 1px 0 rgba(115, 139, 85, 0.06);
}


/* =========================================================
   MOBILE
   Reduce shadow density
   ========================================================= */

@media (max-width: 767px) {

  .im-profile-foundation-card,
  .im-profile-value-step,
  .im-profile-service-card,
  .im-profile-ai,
  .im-profile-person {
    box-shadow:
      0 14px 32px rgba(82, 99, 63, 0.11) !important;
  }

  .im-profile-identity-card,
  .im-profile-iris,
  .im-profile-close-box {
    box-shadow:
      0 18px 42px rgba(201, 162, 39, 0.15) !important;
  }

  .im-profile-foundation-card::before,
  .im-profile-value-step::before,
  .im-profile-service-card::before,
  .im-profile-ai::before {
    opacity: 0.09;
  }
}
/* =========================================================
   COMPANY PROFILE HERO LOGO BALANCE
   Make logo visually strong enough for the large headline
   ========================================================= */

.im-profile-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.25rem;
  margin-bottom: 2.5rem;
}

.im-profile-card-logo-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.2rem;
}

.im-profile-card-logo {
  width: 92px;
  height: auto;
  display: block;
  object-fit: contain;
  filter: drop-shadow(0 10px 22px rgba(201, 162, 39, 0.18));
}

.im-profile-card-meta {
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(245, 241, 230, 0.58);
  padding-top: 0.8rem;
}

/* If your green hero text block needs a little more balance */
.im-profile-identity-card .im-eyebrow,
.im-profile-identity-card .im-section-label {
  font-size: 1rem;
  letter-spacing: 0.12em;
}

/* Responsive tuning */
@media (max-width: 1199px) {
  .im-profile-card-logo {
    width: 82px;
  }
}

@media (max-width: 991px) {
  .im-profile-card-top {
    margin-bottom: 2rem;
  }

  .im-profile-card-logo {
    width: 74px;
  }

  .im-profile-card-meta {
    font-size: 0.85rem;
    padding-top: 0.55rem;
  }
}

@media (max-width: 575px) {
  .im-profile-card-logo {
    width: 64px;
  }

  .im-profile-card-meta {
    font-size: 0.78rem;
    letter-spacing: 0.1em;
  }
}
/* =========================================================
   COMPANY PROFILE — MISSION / VISION / CAPABILITY
   Refined Grass Intelligence Cards
   ========================================================= */

.im-profile-foundation-grid {
  gap: 24px;
}


/* ---------------------------------------------------------
   Common card architecture
   --------------------------------------------------------- */

.im-profile-foundation-card {
  position: relative;
  overflow: hidden;

  min-height: 470px;
  padding: 30px;

  display: flex;
  flex-direction: column;

  border-radius: 24px;

  transition:
    transform 280ms ease,
    box-shadow 280ms ease,
    border-color 280ms ease;
}


/* ---------------------------------------------------------
   Three distinct grassy surfaces
   --------------------------------------------------------- */

/* Mission — soft sage */
.im-foundation-mission {
  background: #E0E8D5;

  border:
    1px solid rgba(82, 99, 63, 0.17);

  box-shadow:
    0 24px 56px rgba(82, 99, 63, 0.17),
    0 7px 18px rgba(115, 139, 85, 0.08);
}


/* Vision — warm light gold / cream */
.im-foundation-vision {
  background: #F2EEDC;

  border:
    1px solid rgba(201, 162, 39, 0.20);

  box-shadow:
    0 24px 56px rgba(82, 99, 63, 0.14),
    0 7px 18px rgba(115, 139, 85, 0.07);
}


/* Capability — deeper grass */
.im-foundation-capability {
  background: #CCDABC;

  border:
    1px solid rgba(82, 99, 63, 0.22);

  box-shadow:
    0 25px 58px rgba(82, 99, 63, 0.19),
    0 8px 20px rgba(115, 139, 85, 0.09);
}


/* ---------------------------------------------------------
   Top area
   --------------------------------------------------------- */

.im-foundation-top {
  position: relative;
  z-index: 3;

  display: flex;
  align-items: flex-start;
  justify-content: space-between;

  margin-bottom: 62px;
}

.im-foundation-number {
  color: rgba(11, 61, 46, 0.30);

  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.im-foundation-icon {
  width: 54px;
  height: 54px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #52633F;
  font-size: 23px;

  background: rgba(255, 255, 255, 0.48);

  border:
    1px solid rgba(82, 99, 63, 0.12);

  border-radius: 15px;

  box-shadow:
    0 8px 20px rgba(82, 99, 63, 0.08);
}


/* Vision gets restrained gold icon */
.im-foundation-vision .im-foundation-icon {
  color: #A98722;

  border-color:
    rgba(201, 162, 39, 0.18);
}


/* ---------------------------------------------------------
   Text content
   --------------------------------------------------------- */

.im-foundation-content {
  position: relative;
  z-index: 3;
}

.im-foundation-label {
  display: block;
  margin-bottom: 12px;

  color: #6A754D;

  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0.14em;
}

.im-foundation-vision .im-foundation-label {
  color: #9C7C1E;
}

.im-foundation-content h3 {
  margin: 0 0 18px;

  color: #0B3D2E;

  font-size: 27px;
  line-height: 1.23;
  font-weight: 680;
  letter-spacing: -0.025em;
}

.im-foundation-content h3 span {
  display: block;

  color: #3F745C;
}

.im-foundation-capability
.im-foundation-content h3 span {
  color: #52633F;
}

.im-foundation-content p {
  margin: 0;

  color: rgba(32, 36, 42, 0.72);

  font-size: 12px;
  line-height: 1.8;
}


/* ---------------------------------------------------------
   Footer
   --------------------------------------------------------- */

.im-foundation-footer {
  position: relative;
  z-index: 3;

  margin-top: auto;
  padding-top: 20px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  color: #52633F;

  border-top:
    1px solid rgba(82, 99, 63, 0.15);

  font-size: 10px;
  font-weight: 650;
}

.im-foundation-footer i {
  color: #C9A227;
  font-size: 15px;
}


/* =========================================================
   BOTANICAL GRASS ILLUSTRATION
   Large enough to register, subtle enough to remain premium
   ========================================================= */

.im-profile-foundation-card::before {
  content: "";

  position: absolute;

  right: -10px;
  bottom: -4px;

  width: 235px;
  height: 185px;

  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: contain;

  background-image:
    url("data:image/svg+xml,%3Csvg width='235' height='185' viewBox='0 0 235 185' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%2352633F' stroke-width='1.25' stroke-linecap='round'%3E%3Cpath d='M29 185 C34 127 37 85 33 31'/%3E%3Cpath d='M67 185 C75 126 92 78 108 24'/%3E%3Cpath d='M101 185 C105 133 98 88 94 48'/%3E%3Cpath d='M137 185 C147 127 165 80 184 39'/%3E%3Cpath d='M173 185 C179 138 191 102 211 70'/%3E%3Cpath d='M33 104 C19 89 12 73 11 57'/%3E%3Cpath d='M94 105 C77 88 70 71 69 55'/%3E%3Cpath d='M108 98 C127 84 138 67 144 49'/%3E%3Cpath d='M184 104 C202 90 211 73 217 58'/%3E%3Cpath d='M67 138 C48 127 39 114 35 100'/%3E%3C/g%3E%3C/svg%3E");

  opacity: 0.16;

  pointer-events: none;

  z-index: 1;
}


/* Mission slightly softer */
.im-foundation-mission::before {
  opacity: 0.17;
}


/* Vision gets botanical gold-green hybrid */
.im-foundation-vision::before {
  opacity: 0.11;
}


/* Capability can carry stronger grass presence */
.im-foundation-capability::before {
  opacity: 0.22;
}


/* =========================================================
   Large translucent botanical leaf
   Opposite corner adds layered depth
   ========================================================= */

.im-profile-foundation-card::after {
  content: "";

  position: absolute;

  width: 185px;
  height: 185px;

  left: -90px;
  top: -82px;

  border:
    1px solid rgba(82, 99, 63, 0.13);

  border-radius:
    75% 25% 68% 32% /
    58% 38% 62% 42%;

  transform: rotate(30deg);

  pointer-events: none;

  z-index: 1;
}

.im-foundation-vision::after {
  border-color:
    rgba(201, 162, 39, 0.13);
}


/* =========================================================
   Very faint internal vertical research-grid lines
   Gives analytical structure underneath organic theme
   ========================================================= */

.im-foundation-mission {
  background-color: #E0E8D5;

  background-image:
    repeating-linear-gradient(
      90deg,
      transparent 0,
      transparent 62px,
      rgba(82, 99, 63, 0.026) 63px
    );
}

.im-foundation-vision {
  background-color: #F2EEDC;

  background-image:
    repeating-linear-gradient(
      90deg,
      transparent 0,
      transparent 62px,
      rgba(201, 162, 39, 0.025) 63px
    );
}

.im-foundation-capability {
  background-color: #CCDABC;

  background-image:
    repeating-linear-gradient(
      90deg,
      transparent 0,
      transparent 62px,
      rgba(82, 99, 63, 0.035) 63px
    );
}


/* =========================================================
   Hover treatment
   ========================================================= */

.im-foundation-mission:hover,
.im-foundation-vision:hover,
.im-foundation-capability:hover {
  transform: translateY(-6px);
}

.im-foundation-mission:hover {
  box-shadow:
    0 32px 72px rgba(82, 99, 63, 0.22),
    0 9px 24px rgba(115, 139, 85, 0.11);
}

.im-foundation-vision:hover {
  box-shadow:
    0 32px 72px rgba(82, 99, 63, 0.19),
    0 9px 24px rgba(201, 162, 39, 0.08);
}

.im-foundation-capability:hover {
  box-shadow:
    0 34px 76px rgba(82, 99, 63, 0.25),
    0 10px 25px rgba(115, 139, 85, 0.12);
}


/* =========================================================
   Fine gold base-line
   Connects all three cards to Investmetrics identity
   ========================================================= */

.im-profile-foundation-card {
  border-bottom:
    2px solid rgba(201, 162, 39, 0.34);
}


/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 1050px) {

  .im-profile-foundation-card {
    min-height: 410px;
  }

  .im-foundation-top {
    margin-bottom: 45px;
  }
}

@media (max-width: 767px) {

  .im-profile-foundation-card {
    min-height: auto;
    padding: 26px;
  }

  .im-foundation-top {
    margin-bottom: 38px;
  }

  .im-foundation-content h3 {
    font-size: 23px;
  }

  .im-profile-foundation-card::before {
    opacity: 0.10;
    width: 180px;
  }

  .im-foundation-capability::before {
    opacity: 0.14;
  }
}
/* =========================================================
   COMPANY PROFILE — EVIDENCE TO ACTION
   Grassy intelligence pathway
   ========================================================= */

.im-profile-value {
  position: relative;
  overflow: hidden;

  padding: 105px 0;

  background: #F1F4EA;
}


/* ---------- Heading ---------- */

.im-profile-value-intro {
  margin-bottom: 48px;

  display: grid;
  grid-template-columns: 1fr minmax(320px, 470px);
  gap: 70px;
  align-items: end;
}

.im-profile-value-intro h2 {
  margin: 0;

  color: #0B3D2E;

  font-size: clamp(40px, 4.2vw, 59px);
  line-height: 1.05;
  font-weight: 700;
  letter-spacing: -0.04em;
}

.im-profile-value-intro h2 span {
  display: block;
  color: #1F6E52;
}

.im-profile-value-intro > p {
  margin: 0;

  color: #64716B;

  font-size: 13px;
  line-height: 1.78;
}


/* =========================================================
   PATHWAY GRID
   ========================================================= */

.im-value-path {
  position: relative;

  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}


/* Fine connecting line */

.im-value-path::before {
  content: "";

  position: absolute;

  left: 7%;
  right: 7%;
  top: 55px;

  height: 1px;

  background:
    rgba(111, 126, 79, 0.23);

  z-index: 0;
}


/* ---------- Shared cards ---------- */

.im-value-card {
  position: relative;
  z-index: 2;
  overflow: hidden;

  min-height: 375px;
  padding: 26px;

  display: flex;
  flex-direction: column;

  border-radius: 20px;

  border:
    1px solid rgba(82, 99, 63, 0.14);

  box-shadow:
    0 22px 50px rgba(82, 99, 63, 0.14),
    0 6px 17px rgba(115, 139, 85, 0.07);

  transition:
    transform 280ms ease,
    box-shadow 280ms ease,
    border-color 280ms ease;
}


/* ---------- Individual surfaces ---------- */

.im-value-evidence {
  background: #E1EAD7;
}

.im-value-analysis {
  background: #F4F0E1;
}

.im-value-insight {
  background: #D3DFC6;
}


/* Action becomes the premium anchor */

.im-value-action {
  background: #0B4938;

  border-color:
    rgba(201, 162, 39, 0.35);

  box-shadow:
    0 25px 60px rgba(201, 162, 39, 0.17),
    0 9px 24px rgba(5, 43, 36, 0.15);
}


/* =========================================================
   CARD TOP
   ========================================================= */

.im-value-card-top {
  position: relative;
  z-index: 3;

  margin-bottom: 48px;

  display: flex;
  align-items: center;
  justify-content: space-between;
}

.im-value-number {
  color: rgba(11, 61, 46, 0.28);

  font-size: 10px;
  font-weight: 750;
  letter-spacing: .08em;
}

.im-value-icon {
  width: 46px;
  height: 46px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #52633F;
  font-size: 20px;

  background: rgba(255, 255, 255, 0.48);

  border:
    1px solid rgba(82, 99, 63, 0.12);

  border-radius: 13px;
}

.im-value-action .im-value-number {
  color: rgba(255, 255, 255, 0.38);
}

.im-value-action .im-value-icon {
  color: #E0C56A;

  background:
    rgba(224, 197, 106, 0.08);

  border-color:
    rgba(224, 197, 106, 0.30);
}


/* =========================================================
   CONTENT
   ========================================================= */

.im-value-label {
  position: relative;
  z-index: 3;

  display: block;
  margin-bottom: 8px;

  color: #6A754D;

  font-size: 8px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-value-analysis .im-value-label {
  color: #9B7B22;
}

.im-value-action .im-value-label {
  color: #E0C56A;
}

.im-value-card h3 {
  position: relative;
  z-index: 3;

  margin: 0 0 13px;

  color: #0B3D2E;

  font-size: 24px;
  font-weight: 680;
}

.im-value-card > p {
  position: relative;
  z-index: 3;

  margin: 0;

  color: rgba(32, 36, 42, 0.70);

  font-size: 11px;
  line-height: 1.78;
}

.im-value-action h3 {
  color: #FFFFFF;
}

.im-value-action > p {
  color: rgba(250, 249, 245, 0.70);
}


/* =========================================================
   FOOTER
   ========================================================= */

.im-value-footer {
  position: relative;
  z-index: 3;

  margin-top: auto;
  padding-top: 17px;

  display: flex;
  justify-content: space-between;
  align-items: center;

  color: #52633F;

  border-top:
    1px solid rgba(82, 99, 63, 0.14);

  font-size: 10px;
  font-weight: 650;
}

.im-value-footer i {
  color: #C9A227;
}

.im-value-action .im-value-footer {
  color: rgba(255, 255, 255, 0.74);

  border-top-color:
    rgba(224, 197, 106, 0.17);
}

.im-value-action .im-value-footer i {
  color: #E0C56A;
}


/* =========================================================
   GRASS MOTIFS
   ========================================================= */

.im-value-card::after {
  content: "";

  position: absolute;

  right: -12px;
  bottom: -5px;

  width: 160px;
  height: 135px;

  background-repeat: no-repeat;
  background-size: contain;
  background-position: right bottom;

  background-image:
    url("data:image/svg+xml,%3Csvg width='160' height='135' viewBox='0 0 160 135' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%2352633F' stroke-width='1.15' stroke-linecap='round'%3E%3Cpath d='M20 135 C25 92 27 58 24 20'/%3E%3Cpath d='M52 135 C58 94 72 58 84 18'/%3E%3Cpath d='M82 135 C85 97 80 70 77 41'/%3E%3Cpath d='M112 135 C120 93 135 63 148 36'/%3E%3Cpath d='M24 74 C14 63 9 53 8 42'/%3E%3Cpath d='M77 75 C65 63 60 52 59 42'/%3E%3Cpath d='M84 70 C97 59 105 47 109 36'/%3E%3Cpath d='M148 78 C154 67 157 56 158 46'/%3E%3C/g%3E%3C/svg%3E");

  opacity: 0.14;

  pointer-events: none;
}

.im-value-evidence::after {
  opacity: 0.17;
}

.im-value-analysis::after {
  opacity: 0.10;
}

.im-value-insight::after {
  opacity: 0.21;
}


/* Gold grass on action card */

.im-value-action::after {
  background-image:
    url("data:image/svg+xml,%3Csvg width='160' height='135' viewBox='0 0 160 135' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23E0C56A' stroke-width='1.15' stroke-linecap='round'%3E%3Cpath d='M20 135 C25 92 27 58 24 20'/%3E%3Cpath d='M52 135 C58 94 72 58 84 18'/%3E%3Cpath d='M82 135 C85 97 80 70 77 41'/%3E%3Cpath d='M112 135 C120 93 135 63 148 36'/%3E%3Cpath d='M24 74 C14 63 9 53 8 42'/%3E%3Cpath d='M77 75 C65 63 60 52 59 42'/%3E%3Cpath d='M84 70 C97 59 105 47 109 36'/%3E%3Cpath d='M148 78 C154 67 157 56 158 46'/%3E%3C/g%3E%3C/svg%3E");

  opacity: 0.18;
}


/* =========================================================
   HOVER
   ========================================================= */

.im-value-card:hover {
  transform: translateY(-6px);

  border-color:
    rgba(82, 99, 63, 0.28);

  box-shadow:
    0 30px 68px rgba(82, 99, 63, 0.21),
    0 9px 23px rgba(115, 139, 85, 0.09);
}

.im-value-action:hover {
  border-color:
    rgba(224, 197, 106, 0.54);

  box-shadow:
    0 34px 76px rgba(201, 162, 39, 0.24),
    0 11px 28px rgba(5, 43, 36, 0.17);
}


/* =========================================================
   PRINCIPLE BAND
   ========================================================= */

.im-value-principle {
  margin-top: 25px;
  padding: 25px 28px;

  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 20px;
  align-items: center;

  background: #FFFFFF;

  border:
    1px solid rgba(82, 99, 63, 0.13);

  border-left:
    3px solid #C9A227;

  border-radius: 13px;

  box-shadow:
    0 15px 38px rgba(82, 99, 63, 0.10);
}

.im-value-principle > i {
  color: #C9A227;
  font-size: 22px;
}

.im-value-principle p {
  margin: 0;

  color: #0B3D2E;

  font-size: 13px;
  line-height: 1.6;
  font-weight: 550;
}

.im-value-principle span {
  color: #6A754D;

  font-size: 8px;
  font-weight: 700;
  letter-spacing: .12em;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1050px) {

  .im-value-path {
    grid-template-columns: repeat(2, 1fr);
  }

  .im-value-path::before {
    display: none;
  }
}

@media (max-width: 767px) {

  .im-profile-value {
    padding: 70px 0;
  }

  .im-profile-value-intro {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .im-value-path {
    grid-template-columns: 1fr;
  }

  .im-value-card {
    min-height: 330px;
  }

  .im-value-principle {
    grid-template-columns: auto 1fr;
  }

  .im-value-principle span {
    grid-column: 2;
  }
}

/* =========================================================
   COMPANY PROFILE — REFINED CORE SERVICES
   Grass surfaces + green shadow system
   ========================================================= */

.im-services-refined {
  position: relative;
  overflow: hidden;

  padding: 105px 0;

  background: #FBFCF8;
}


/* =========================================================
   GRID
   ========================================================= */

.im-services-refined-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);

  gap: 22px;
}


/* =========================================================
   CARDS
   ========================================================= */

.im-service-refined-card {
  position: relative;
  overflow: hidden;

  min-height: 455px;

  padding: 31px;

  display: flex;
  flex-direction: column;

  border-radius: 23px;

  border:
    1px solid rgba(82, 99, 63, 0.14);

  box-shadow:
    0 24px 55px rgba(82, 99, 63, 0.15),
    0 7px 18px rgba(115, 139, 85, 0.07);

  transition:
    transform 280ms ease,
    box-shadow 280ms ease,
    border-color 280ms ease;
}


/* Individual grass identities */

.im-service-research {
  background: #E0E9D5;
}

.im-service-projects {
  background: #F3EFDF;
}

.im-service-policy {
  background: #D4E0C9;
}

.im-service-academic {
  background: #E9EDDD;
}


/* =========================================================
   CARD HEAD
   ========================================================= */

.im-service-refined-head {
  position: relative;
  z-index: 3;

  margin-bottom: 54px;

  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.im-service-refined-number {
  color: rgba(11, 61, 46, 0.28);

  font-size: 12px;
  font-weight: 750;
  letter-spacing: .08em;
}

.im-service-refined-icon {
  width: 53px;
  height: 53px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #52633F;

  font-size: 23px;

  background:
    rgba(255, 255, 255, 0.48);

  border:
    1px solid rgba(82, 99, 63, 0.12);

  border-radius: 14px;

  box-shadow:
    0 8px 22px rgba(82, 99, 63, 0.08);
}

.im-service-projects .im-service-refined-icon {
  color: #9B7B22;
}


/* =========================================================
   TEXT
   ========================================================= */

.im-service-refined-category {
  position: relative;
  z-index: 3;

  margin-bottom: 11px;

  color: #69774F;

  font-size: 8px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-service-projects
.im-service-refined-category {
  color: #96771E;
}

.im-service-refined-card h3 {
  position: relative;
  z-index: 3;

  margin: 0 0 16px;

  color: #0B3D2E;

  font-size: 29px;
  line-height: 1.20;
  font-weight: 680;
  letter-spacing: -0.025em;
}

.im-service-refined-card h3 span {
  display: block;

  color: #39725A;
}

.im-service-policy h3 span {
  color: #52633F;
}

.im-service-refined-card > p {
  position: relative;
  z-index: 3;

  max-width: 590px;

  margin: 0 0 23px;

  color: rgba(32, 36, 42, 0.69);

  font-size: 12px;
  line-height: 1.78;
}


/* =========================================================
   CAPABILITY TAGS
   ========================================================= */

.im-service-refined-capabilities {
  position: relative;
  z-index: 3;

  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.im-service-refined-capabilities span {
  padding: 7px 10px;

  color: #52633F;

  background:
    rgba(255, 255, 255, 0.40);

  border:
    1px solid rgba(82, 99, 63, 0.10);

  border-radius: 100px;

  font-size: 9px;
  font-weight: 550;
}


/* =========================================================
   LINK
   ========================================================= */

.im-service-refined-link {
  position: relative;
  z-index: 3;

  margin-top: auto;
  padding-top: 19px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  color: #0B4938;

  border-top:
    1px solid rgba(82, 99, 63, 0.14);

  font-size: 10px;
  font-weight: 680;
}

.im-service-refined-link i {
  color: #C9A227;

  font-size: 15px;
}


/* =========================================================
   GRASS ILLUSTRATIONS
   ========================================================= */

.im-service-refined-card::before {
  content: "";

  position: absolute;

  right: -5px;
  bottom: -10px;

  width: 245px;
  height: 190px;

  background-repeat: no-repeat;
  background-size: contain;
  background-position: right bottom;

  background-image:
    url("data:image/svg+xml,%3Csvg width='245' height='190' viewBox='0 0 245 190' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%2352633F' stroke-width='1.2' stroke-linecap='round'%3E%3Cpath d='M26 190 C31 130 35 83 31 25'/%3E%3Cpath d='M69 190 C77 128 96 78 113 23'/%3E%3Cpath d='M106 190 C110 134 103 89 99 49'/%3E%3Cpath d='M148 190 C159 127 181 78 201 36'/%3E%3Cpath d='M189 190 C195 143 210 105 233 74'/%3E%3Cpath d='M31 105 C18 91 12 75 11 58'/%3E%3Cpath d='M99 105 C82 87 74 72 74 55'/%3E%3Cpath d='M113 100 C132 84 144 67 150 49'/%3E%3Cpath d='M201 107 C219 91 228 74 235 58'/%3E%3C/g%3E%3C/svg%3E");

  opacity: 0.14;

  pointer-events: none;

  z-index: 1;
}

.im-service-research::before {
  opacity: 0.18;
}

.im-service-projects::before {
  opacity: 0.10;
}

.im-service-policy::before {
  opacity: 0.22;
}

.im-service-academic::before {
  opacity: 0.15;
}


/* Large soft organic contour */

.im-service-refined-card::after {
  content: "";

  position: absolute;

  width: 210px;
  height: 210px;

  left: -108px;
  top: -110px;

  border:
    1px solid rgba(82, 99, 63, 0.11);

  border-radius:
    72% 28% 62% 38% /
    55% 43% 57% 45%;

  transform: rotate(28deg);

  pointer-events: none;
}


/* =========================================================
   HOVER
   ========================================================= */

.im-service-refined-card:hover {
  transform: translateY(-6px);

  border-color:
    rgba(82, 99, 63, 0.27);

  box-shadow:
    0 33px 74px rgba(82, 99, 63, 0.22),
    0 10px 25px rgba(115, 139, 85, 0.10);
}


/* Thin Investmetrics gold base */

.im-service-refined-card {
  border-bottom:
    2px solid rgba(201, 162, 39, 0.34);
}


/* =========================================================
   INTEGRATED DELIVERY BAND
   ========================================================= */

.im-services-integration {
  margin-top: 25px;

  padding: 27px 29px;

  display: grid;

  grid-template-columns:
    auto
    minmax(350px, 1fr)
    auto;

  gap: 22px;

  align-items: center;

  background: #0B4938;

  border:
    1px solid rgba(201, 162, 39, 0.30);

  border-radius: 16px;

  box-shadow:
    0 24px 55px rgba(201, 162, 39, 0.15),
    0 8px 20px rgba(5, 43, 36, 0.12);
}

.im-services-integration-icon {
  width: 49px;
  height: 49px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #E0C56A;

  background:
    rgba(224, 197, 106, 0.08);

  border:
    1px solid rgba(224, 197, 106, 0.23);

  border-radius: 12px;

  font-size: 21px;
}

.im-services-integration span {
  display: block;

  margin-bottom: 4px;

  color: #E0C56A;

  font-size: 8px;
  font-weight: 750;
  letter-spacing: .13em;
}

.im-services-integration h3 {
  margin: 0 0 5px;

  color: #FFFFFF;

  font-size: 17px;
  font-weight: 620;
}

.im-services-integration p {
  margin: 0;

  color: rgba(250, 249, 245, 0.62);

  font-size: 10px;
  line-height: 1.65;
}

.im-services-integration > a {
  display: inline-flex;
  align-items: center;
  gap: 9px;

  color: #E0C56A;

  font-size: 10px;
  font-weight: 650;

  white-space: nowrap;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

  .im-services-refined-grid {
    grid-template-columns: 1fr;
  }

  .im-services-integration {
    grid-template-columns: auto 1fr;
  }

  .im-services-integration > a {
    grid-column: 2;
  }
}

@media (max-width: 600px) {

  .im-services-refined {
    padding: 70px 0;
  }

  .im-service-refined-card {
    min-height: 420px;

    padding: 26px;
  }

  .im-service-refined-head {
    margin-bottom: 40px;
  }

  .im-service-refined-card h3 {
    font-size: 25px;
  }

  .im-services-integration {
    grid-template-columns: 1fr;

    padding: 24px;
  }

  .im-services-integration > a {
    grid-column: auto;
  }
}

/* =========================================================
   COMPANY PROFILE — PROFESSIONAL INTELLIGENCE
   AI AT WORK + IRIS
   ========================================================= */

.im-intelligence-refined {
  position: relative;
  overflow: hidden;

  padding: 110px 0;

  background: #E9EEDF;
}


/* =========================================================
   SECTION HEADING
   ========================================================= */

.im-intelligence-heading {
  margin-bottom: 48px;

  display: grid;
  grid-template-columns: 1fr minmax(330px, 480px);

  gap: 70px;
  align-items: end;
}

.im-intelligence-heading h2 {
  margin: 0;

  color: #0B3D2E;

  font-size: clamp(40px, 4.3vw, 60px);
  line-height: 1.04;
  font-weight: 700;
  letter-spacing: -0.04em;
}

.im-intelligence-heading h2 span {
  display: block;

  color: #1F6E52;
}

.im-intelligence-heading > p {
  margin: 0;

  color: #64716B;

  font-size: 13px;
  line-height: 1.8;
}


/* =========================================================
   PRODUCT GRID
   ========================================================= */

.im-intelligence-grid {
  display: grid;
  grid-template-columns: 0.92fr 1.08fr;

  gap: 24px;
}


/* =========================================================
   SHARED PRODUCT CARD
   ========================================================= */

.im-intelligence-product {
  position: relative;
  overflow: hidden;

  min-height: 610px;

  padding: 34px;

  display: flex;
  flex-direction: column;

  border-radius: 27px;

  transition:
    transform 300ms ease,
    box-shadow 300ms ease,
    border-color 300ms ease;
}


/* =========================================================
   AI AT WORK — LIGHT GRASS / CREAM
   ========================================================= */

.im-intelligence-ai {
  background: #F4F0E2;

  border:
    1px solid rgba(82, 99, 63, 0.15);

  border-bottom:
    2px solid rgba(82, 99, 63, 0.28);

  box-shadow:
    0 29px 66px rgba(82, 99, 63, 0.18),
    0 8px 22px rgba(115, 139, 85, 0.08);
}


/* =========================================================
   IRIS — EMERALD + GOLD
   ========================================================= */

.im-intelligence-iris {
  background: #0A4938;

  border:
    1px solid rgba(224, 197, 106, 0.27);

  border-bottom:
    2px solid rgba(224, 197, 106, 0.55);

  box-shadow:
    0 30px 72px rgba(201, 162, 39, 0.21),
    0 10px 29px rgba(5, 43, 36, 0.17);
}


/* =========================================================
   PRODUCT TOP
   ========================================================= */

.im-intelligence-product-top {
  position: relative;
  z-index: 4;

  display: flex;
  align-items: flex-start;
  justify-content: space-between;

  margin-bottom: 78px;
}

.im-product-brand {
  display: flex;
  align-items: center;
  gap: 13px;
}

.im-product-number {
  color: rgba(11, 61, 46, 0.33);

  font-size: 10px;
  font-weight: 750;
  letter-spacing: .08em;
}

.im-product-icon {
  width: 52px;
  height: 52px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #52633F;

  background:
    rgba(255, 255, 255, 0.48);

  border:
    1px solid rgba(82, 99, 63, 0.13);

  border-radius: 15px;

  font-size: 22px;

  box-shadow:
    0 8px 22px rgba(82, 99, 63, 0.09);
}

.im-product-status {
  padding: 8px 11px;

  color: #67764D;

  background:
    rgba(255, 255, 255, 0.35);

  border:
    1px solid rgba(82, 99, 63, 0.10);

  border-radius: 100px;

  font-size: 7px;
  font-weight: 750;
  letter-spacing: .13em;
}


/* IRIS top styling */

.im-intelligence-iris .im-product-number {
  color: rgba(255, 255, 255, 0.35);
}

.im-intelligence-iris .im-product-icon {
  color: #E0C56A;

  background:
    rgba(224, 197, 106, 0.08);

  border-color:
    rgba(224, 197, 106, 0.25);

  box-shadow:
    0 9px 24px rgba(201, 162, 39, 0.10);
}

.im-intelligence-iris .im-product-status {
  color: #E0C56A;

  background:
    rgba(224, 197, 106, 0.07);

  border-color:
    rgba(224, 197, 106, 0.20);
}


/* =========================================================
   PRODUCT CONTENT
   ========================================================= */

.im-product-content {
  position: relative;
  z-index: 4;
}

.im-product-kicker {
  display: block;

  margin-bottom: 13px;

  color: #788457;

  font-size: 8px;
  font-weight: 750;
  letter-spacing: .15em;
}

.im-product-content h3 {
  margin: 0 0 21px;

  color: #0B3D2E;

  font-size: clamp(43px, 4.2vw, 61px);
  line-height: 0.98;
  font-weight: 700;
  letter-spacing: -0.045em;
}

.im-product-content h3 span {
  display: block;

  margin-top: 7px;

  color: #39725A;

  font-size: 0.48em;
  line-height: 1.17;
  letter-spacing: -0.02em;
}

.im-product-lead {
  max-width: 520px;

  margin: 0;

  color: rgba(32, 36, 42, 0.71);

  font-size: 12px;
  line-height: 1.82;
}


/* IRIS text */

.im-intelligence-iris .im-product-kicker {
  color: #E0C56A;
}

.im-intelligence-iris .im-product-content h3 {
  color: #FFFFFF;
}

.im-intelligence-iris .im-product-content h3 span {
  color: rgba(245, 241, 230, 0.68);
}

.im-intelligence-iris .im-product-lead {
  color: rgba(250, 249, 245, 0.68);
}


/* =========================================================
   PRODUCT POINTS
   ========================================================= */

.im-product-points {
  position: relative;
  z-index: 4;

  margin-top: 31px;

  display: grid;
  gap: 10px;
}

.im-product-points > div {
  display: flex;
  align-items: center;
  gap: 9px;

  color: #52633F;

  font-size: 10px;
  font-weight: 570;
}

.im-product-points i {
  color: #C9A227;

  font-size: 14px;
}

.im-intelligence-iris
.im-product-points > div {
  color: rgba(255, 255, 255, 0.73);
}

.im-intelligence-iris
.im-product-points i {
  color: #E0C56A;
}


/* =========================================================
   PRODUCT BOTTOM
   ========================================================= */

.im-product-bottom {
  position: relative;
  z-index: 4;

  margin-top: auto;
  padding-top: 24px;

  display: flex;
  align-items: end;
  justify-content: space-between;

  border-top:
    1px solid rgba(82, 99, 63, 0.14);
}

.im-product-bottom-note span {
  display: block;

  margin-bottom: 4px;

  color: #7B865D;

  font-size: 7px;
  font-weight: 750;
  letter-spacing: .13em;
}

.im-product-bottom-note strong {
  color: #0B3D2E;

  font-size: 11px;
  font-weight: 620;
}

.im-product-arrow {
  width: 49px;
  height: 49px;

  display: flex;
  align-items: center;
  justify-content: center;

  flex-shrink: 0;

  color: #0B3D2E;

  background: rgba(255, 255, 255, 0.47);

  border:
    1px solid rgba(82, 99, 63, 0.13);

  border-radius: 50%;

  font-size: 17px;

  transition:
    transform 250ms ease,
    background 250ms ease;
}

.im-product-arrow:hover {
  transform: translate(2px, -2px);

  background: #FFFFFF;
}


/* IRIS bottom */

.im-intelligence-iris .im-product-bottom {
  border-top-color:
    rgba(224, 197, 106, 0.16);
}

.im-intelligence-iris
.im-product-bottom-note span {
  color: #E0C56A;
}

.im-intelligence-iris
.im-product-bottom-note strong {
  color: rgba(255, 255, 255, 0.82);
}

.im-intelligence-iris
.im-product-arrow {
  color: #E0C56A;

  background:
    rgba(224, 197, 106, 0.08);

  border-color:
    rgba(224, 197, 106, 0.28);
}

.im-intelligence-iris
.im-product-arrow:hover {
  background:
    rgba(224, 197, 106, 0.15);
}


/* =========================================================
   AI BOTANICAL / INTELLIGENCE ORBIT
   ========================================================= */

.im-ai-orbit {
  position: absolute;

  width: 310px;
  height: 310px;

  right: -115px;
  bottom: -110px;

  border:
    1px solid rgba(82, 99, 63, 0.10);

  border-radius: 50%;

  pointer-events: none;
}

.im-ai-orbit::before,
.im-ai-orbit::after {
  content: "";

  position: absolute;

  border-radius: 50%;

  border:
    1px solid rgba(82, 99, 63, 0.09);
}

.im-ai-orbit::before {
  inset: 45px;
}

.im-ai-orbit::after {
  inset: 90px;
}

.im-ai-orbit span {
  position: absolute;

  width: 7px;
  height: 7px;

  background: #8FA66B;

  border-radius: 50%;

  opacity: 0.34;
}

.im-ai-orbit span:nth-child(1) {
  top: 63px;
  left: 49px;
}

.im-ai-orbit span:nth-child(2) {
  top: 102px;
  right: 33px;
}

.im-ai-orbit span:nth-child(3) {
  bottom: 55px;
  left: 85px;
}


/* =========================================================
   AI GRASS LINEWORK
   ========================================================= */

.im-intelligence-ai::before {
  content: "";

  position: absolute;

  left: -12px;
  bottom: -5px;

  width: 245px;
  height: 185px;

  background-repeat: no-repeat;
  background-size: contain;
  background-position: left bottom;

  background-image:
    url("data:image/svg+xml,%3Csvg width='245' height='185' viewBox='0 0 245 185' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%2352633F' stroke-width='1.2' stroke-linecap='round'%3E%3Cpath d='M22 185 C28 127 31 81 28 29'/%3E%3Cpath d='M63 185 C71 126 88 78 105 24'/%3E%3Cpath d='M100 185 C104 133 98 88 94 47'/%3E%3Cpath d='M142 185 C153 126 173 80 194 39'/%3E%3Cpath d='M28 103 C15 89 10 73 9 58'/%3E%3Cpath d='M94 104 C77 87 70 70 70 55'/%3E%3Cpath d='M105 98 C124 83 136 66 142 49'/%3E%3Cpath d='M194 103 C212 88 222 71 228 56'/%3E%3C/g%3E%3C/svg%3E");

  opacity: 0.12;

  pointer-events: none;
}


/* =========================================================
   IRIS BOTANICAL / NETWORK HYBRID
   ========================================================= */

.im-intelligence-iris::before {
  content: "";

  position: absolute;

  right: -20px;
  bottom: -12px;

  width: 300px;
  height: 225px;

  background-repeat: no-repeat;
  background-size: contain;
  background-position: right bottom;

  background-image:
    url("data:image/svg+xml,%3Csvg width='300' height='225' viewBox='0 0 300 225' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23E0C56A' stroke-width='1.15' stroke-linecap='round'%3E%3Cpath d='M38 225 C45 155 48 105 44 38'/%3E%3Cpath d='M88 225 C99 153 118 95 138 31'/%3E%3Cpath d='M132 225 C138 160 130 110 126 61'/%3E%3Cpath d='M179 225 C191 154 218 96 242 50'/%3E%3Cpath d='M44 130 C26 112 17 92 15 73'/%3E%3Cpath d='M126 131 C104 109 96 89 96 69'/%3E%3Cpath d='M138 122 C161 105 175 83 182 62'/%3E%3Cpath d='M242 127 C264 109 275 88 282 69'/%3E%3Ccircle cx='44' cy='38' r='4'/%3E%3Ccircle cx='138' cy='31' r='4'/%3E%3Ccircle cx='242' cy='50' r='4'/%3E%3Ccircle cx='15' cy='73' r='3'/%3E%3Ccircle cx='282' cy='69' r='3'/%3E%3C/g%3E%3C/svg%3E");

  opacity: 0.16;

  pointer-events: none;
}


/* =========================================================
   NETWORK NODES ON IRIS
   ========================================================= */

.im-iris-network {
  position: absolute;
  inset: 0;

  pointer-events: none;

  opacity: 0.6;
}

.im-node {
  position: absolute;

  width: 6px;
  height: 6px;

  border:
    1px solid rgba(224, 197, 106, 0.52);

  border-radius: 50%;

  box-shadow:
    0 0 17px rgba(224, 197, 106, 0.20);
}

.im-node-1 {
  right: 18%;
  top: 21%;
}

.im-node-2 {
  right: 11%;
  top: 39%;
}

.im-node-3 {
  right: 27%;
  bottom: 30%;
}

.im-node-4 {
  right: 9%;
  bottom: 18%;
}


/* =========================================================
   HOVER
   ========================================================= */

.im-intelligence-ai:hover {
  transform: translateY(-6px);

  box-shadow:
    0 37px 82px rgba(82, 99, 63, 0.23),
    0 11px 27px rgba(115, 139, 85, 0.10);
}

.im-intelligence-iris:hover {
  transform: translateY(-6px);

  border-color:
    rgba(224, 197, 106, 0.48);

  box-shadow:
    0 39px 88px rgba(201, 162, 39, 0.28),
    0 13px 33px rgba(5, 43, 36, 0.18);
}


/* =========================================================
   INTELLIGENCE PRINCIPLE BAND
   ========================================================= */

.im-intelligence-principle {
  position: relative;
  overflow: hidden;

  margin-top: 26px;

  padding: 29px 31px;

  display: grid;
  grid-template-columns:
    auto
    minmax(400px, 1fr)
    auto;

  gap: 24px;
  align-items: center;

  background: #F9FAF5;

  border:
    1px solid rgba(82, 99, 63, 0.14);

  border-left:
    3px solid #C9A227;

  border-radius: 16px;

  box-shadow:
    0 20px 48px rgba(82, 99, 63, 0.13);
}

.im-intelligence-principle-mark {
  width: 51px;
  height: 51px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #52633F;

  background: #E3EAD8;

  border-radius: 13px;

  font-size: 21px;
}

.im-intelligence-principle span {
  display: block;

  margin-bottom: 5px;

  color: #A98722;

  font-size: 8px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-intelligence-principle h3 {
  margin: 0 0 5px;

  color: #0B3D2E;

  font-size: 17px;
  font-weight: 650;
}

.im-intelligence-principle p {
  margin: 0;

  color: #6A746E;

  font-size: 10px;
  line-height: 1.65;
}

.im-intelligence-principle > a {
  display: inline-flex;
  align-items: center;
  gap: 9px;

  white-space: nowrap;

  color: #0B3D2E;

  font-size: 10px;
  font-weight: 650;
}

.im-intelligence-principle > a i {
  color: #C9A227;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1000px) {

  .im-intelligence-grid {
    grid-template-columns: 1fr;
  }

  .im-intelligence-product {
    min-height: 550px;
  }
}

@media (max-width: 800px) {

  .im-intelligence-heading {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .im-intelligence-principle {
    grid-template-columns: auto 1fr;
  }

  .im-intelligence-principle > a {
    grid-column: 2;
  }
}

@media (max-width: 600px) {

  .im-intelligence-refined {
    padding: 72px 0;
  }

  .im-intelligence-product {
    min-height: 520px;
    padding: 27px;
  }

  .im-intelligence-product-top {
    margin-bottom: 55px;
  }

  .im-product-content h3 {
    font-size: 43px;
  }

  .im-product-status {
    display: none;
  }

  .im-intelligence-principle {
    grid-template-columns: 1fr;

    padding: 25px;
  }

  .im-intelligence-principle > a {
    grid-column: auto;
  }
}

/* =========================================================
   COMPANY PROFILE — PEOPLE
   Editorial portraits + grassy depth
   ========================================================= */

.im-people-refined {
  position: relative;
  overflow: hidden;

  padding: 110px 0;

  background: #F8F9F4;
}


/* =========================================================
   HEADING
   ========================================================= */

.im-people-heading {
  margin-bottom: 48px;

  display: grid;
  grid-template-columns: 1fr minmax(330px, 470px);

  gap: 70px;

  align-items: end;
}

.im-people-heading h2 {
  margin: 0;

  color: #0B3D2E;

  font-size: clamp(40px, 4.2vw, 59px);
  line-height: 1.04;
  font-weight: 700;
  letter-spacing: -0.04em;
}

.im-people-heading h2 span {
  display: block;

  color: #1F6E52;
}

.im-people-heading > p {
  margin: 0;

  color: #65716B;

  font-size: 13px;
  line-height: 1.8;
}


/* =========================================================
   GRID
   ========================================================= */

.im-people-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);

  gap: 22px;
}


/* =========================================================
   PERSON CARD
   ========================================================= */

.im-person-card {
  position: relative;
  overflow: hidden;

  display: flex;
  flex-direction: column;

  min-height: 570px;

  border-radius: 24px;

  border:
    1px solid rgba(82, 99, 63, 0.14);

  border-bottom:
    2px solid rgba(201, 162, 39, 0.34);

  box-shadow:
    0 25px 58px rgba(82, 99, 63, 0.16),
    0 8px 20px rgba(115, 139, 85, 0.08);

  transition:
    transform 300ms ease,
    box-shadow 300ms ease,
    border-color 300ms ease;
}


/* Three slightly different grass tones */

.im-person-veronica {
  background: #E3EAD8;
}

.im-person-habibu {
  background: #F2EEDF;
}

.im-person-winniemary {
  background: #D9E4CF;
}


/* =========================================================
   IMAGE
   ========================================================= */

.im-person-image-wrap {
  position: relative;
  overflow: hidden;

  height: 350px;

  background: #D8E0D0;
}

.im-person-image {
  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center top;

  display: block;

  transition:
    transform 500ms ease,
    filter 500ms ease;
}


/* very light green photographic treatment */

.im-person-image-wrap::after {
  content: "";

  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      to bottom,
      rgba(11, 61, 46, 0.00) 50%,
      rgba(11, 61, 46, 0.12) 100%
    );

  pointer-events: none;
}


/* =========================================================
   NUMBER + IMAGE LABEL
   ========================================================= */

.im-person-number {
  position: absolute;

  left: 20px;
  top: 20px;

  z-index: 3;

  width: 38px;
  height: 38px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #0B3D2E;

  background:
    rgba(250, 249, 245, 0.78);

  backdrop-filter: blur(8px);

  border:
    1px solid rgba(255, 255, 255, 0.40);

  border-radius: 50%;

  font-size: 9px;
  font-weight: 750;
}

.im-person-image-label {
  position: absolute;

  right: 18px;
  bottom: 18px;

  z-index: 3;

  padding: 7px 10px;

  color: #E0C56A;

  background:
    rgba(11, 61, 46, 0.88);

  border:
    1px solid rgba(224, 197, 106, 0.22);

  border-radius: 100px;

  font-size: 7px;
  font-weight: 750;
  letter-spacing: .13em;
}


/* =========================================================
   CONTENT
   ========================================================= */

.im-person-content {
  position: relative;
  overflow: hidden;

  flex: 1;

  padding: 26px;

  display: flex;
  flex-direction: column;
}

.im-person-role {
  position: relative;
  z-index: 3;

  margin-bottom: 10px;

  color: #7B855E;

  font-size: 7px;
  font-weight: 750;
  letter-spacing: .12em;
}

.im-person-card h3 {
  position: relative;
  z-index: 3;

  margin: 0;

  color: #0B3D2E;

  font-size: 27px;
  line-height: 1.12;
  font-weight: 680;
  letter-spacing: -0.025em;
}

.im-person-card h3 span {
  display: block;

  color: #39725A;
}


/* =========================================================
   FOOTER
   ========================================================= */

.im-person-footer {
  position: relative;
  z-index: 3;

  margin-top: auto;
  padding-top: 18px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  color: #52633F;

  border-top:
    1px solid rgba(82, 99, 63, 0.14);

  font-size: 9px;
  font-weight: 620;
}

.im-person-footer i {
  color: #C9A227;

  font-size: 15px;
}


/* =========================================================
   BOTANICAL DETAIL
   ========================================================= */

.im-person-content::before {
  content: "";

  position: absolute;

  right: -15px;
  bottom: -12px;

  width: 160px;
  height: 120px;

  background-repeat: no-repeat;
  background-size: contain;
  background-position: right bottom;

  background-image:
    url("data:image/svg+xml,%3Csvg width='160' height='120' viewBox='0 0 160 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%2352633F' stroke-width='1.05' stroke-linecap='round'%3E%3Cpath d='M22 120 C28 81 29 53 25 19'/%3E%3Cpath d='M54 120 C61 81 73 49 87 15'/%3E%3Cpath d='M84 120 C88 86 82 59 79 36'/%3E%3Cpath d='M112 120 C120 83 135 55 148 32'/%3E%3Cpath d='M25 67 C14 57 10 47 9 38'/%3E%3Cpath d='M79 66 C66 55 61 46 61 36'/%3E%3Cpath d='M87 62 C99 53 107 43 111 33'/%3E%3C/g%3E%3C/svg%3E");

  opacity: 0.13;

  pointer-events: none;
}

.im-person-winniemary
.im-person-content::before {
  opacity: 0.18;
}


/* =========================================================
   HOVER
   ========================================================= */

.im-person-card:hover {
  transform: translateY(-6px);

  border-color:
    rgba(82, 99, 63, 0.28);

  box-shadow:
    0 35px 78px rgba(82, 99, 63, 0.23),
    0 10px 26px rgba(115, 139, 85, 0.10);
}

.im-person-card:hover
.im-person-image {
  transform: scale(1.035);
}


/* =========================================================
   TEAM PRINCIPLE BAND
   ========================================================= */

.im-people-principle {
  position: relative;
  overflow: hidden;

  margin-top: 26px;

  padding: 29px 31px;

  display: grid;
  grid-template-columns:
    auto
    minmax(400px, 1fr)
    auto;

  gap: 24px;

  align-items: center;

  background: #0B4938;

  border:
    1px solid rgba(224, 197, 106, 0.29);

  border-radius: 17px;

  box-shadow:
    0 27px 62px rgba(201, 162, 39, 0.17),
    0 8px 22px rgba(5, 43, 36, 0.13);
}

.im-people-principle-icon {
  width: 51px;
  height: 51px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #E0C56A;

  background:
    rgba(224, 197, 106, 0.08);

  border:
    1px solid rgba(224, 197, 106, 0.22);

  border-radius: 13px;

  font-size: 21px;
}

.im-people-principle span {
  display: block;

  margin-bottom: 5px;

  color: #E0C56A;

  font-size: 8px;
  font-weight: 750;
  letter-spacing: .13em;
}

.im-people-principle h3 {
  margin: 0 0 5px;

  color: #FFFFFF;

  font-size: 17px;
  font-weight: 650;
}

.im-people-principle p {
  margin: 0;

  color: rgba(250, 249, 245, 0.65);

  font-size: 10px;
  line-height: 1.65;
}

.im-people-principle > a {
  display: inline-flex;
  align-items: center;
  gap: 9px;

  color: #E0C56A;

  white-space: nowrap;

  font-size: 10px;
  font-weight: 650;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1000px) {

  .im-people-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .im-person-card:last-child {
    grid-column: span 2;
    max-width: calc(50% - 11px);
  }
}

@media (max-width: 800px) {

  .im-people-heading {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .im-people-principle {
    grid-template-columns: auto 1fr;
  }

  .im-people-principle > a {
    grid-column: 2;
  }
}

@media (max-width: 650px) {

  .im-people-refined {
    padding: 72px 0;
  }

  .im-people-grid {
    grid-template-columns: 1fr;
  }

  .im-person-card,
  .im-person-card:last-child {
    grid-column: auto;
    max-width: none;
  }

  .im-person-image-wrap {
    height: 340px;
  }

  .im-people-principle {
    grid-template-columns: 1fr;

    padding: 25px;
  }

  .im-people-principle > a {
    grid-column: auto;
  }
}

/* =========================================================
   COMPANY PROFILE — CLOSING CTA
   Emerald + Gold + Grass Intelligence
   ========================================================= */

.im-profile-closing {
  position: relative;
  overflow: hidden;

  padding: 100px 0 115px;

  background: #F1F4EA;
}


/* =========================================================
   MAIN PANEL
   ========================================================= */

.im-profile-closing-panel {
  position: relative;
  overflow: hidden;

  min-height: 510px;

  padding: 43px 46px;

  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);

  gap: 65px;

  background: #093F31;

  border:
    1px solid rgba(224, 197, 106, 0.30);

  border-bottom:
    2px solid rgba(224, 197, 106, 0.58);

  border-radius: 28px;

  box-shadow:
    0 36px 85px rgba(201, 162, 39, 0.24),
    0 12px 32px rgba(5, 43, 36, 0.18);
}


/* =========================================================
   BRAND
   ========================================================= */

.im-closing-brand {
  position: relative;
  z-index: 4;

  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.im-closing-logo-wrap {
  width: 100px;
  min-height: 100px;

  display: flex;
  align-items: center;
  justify-content: center;

  margin-bottom: 20px;
}

.im-closing-logo {
  width: 94px;
  height: auto;

  object-fit: contain;

  filter:
    drop-shadow(
      0 12px 24px rgba(201, 162, 39, 0.18)
    );
}

.im-closing-brand > span {
  color: rgba(224, 197, 106, 0.72);

  font-size: 8px;
  font-weight: 750;
  letter-spacing: .15em;

  line-height: 1.5;
}


/* =========================================================
   CONTENT
   ========================================================= */

.im-closing-content {
  position: relative;
  z-index: 4;

  max-width: 830px;
}

.im-closing-eyebrow {
  display: block;

  margin-bottom: 19px;

  color: #E0C56A;

  font-size: 9px;
  font-weight: 750;
  letter-spacing: .16em;
}

.im-closing-content h2 {
  margin: 0 0 22px;

  color: #FFFFFF;

  font-size: clamp(44px, 5.3vw, 73px);
  line-height: 0.99;
  font-weight: 700;

  letter-spacing: -0.045em;
}

.im-closing-content h2 span {
  display: block;

  color: #DCE6CC;
}

.im-closing-content > p {
  max-width: 690px;

  margin: 0;

  color: rgba(250, 249, 245, 0.68);

  font-size: 13px;
  line-height: 1.82;
}


/* =========================================================
   ACTIONS
   ========================================================= */

.im-closing-actions {
  margin-top: 32px;

  display: flex;
  flex-wrap: wrap;

  gap: 12px;
}

.im-closing-primary,
.im-closing-secondary {
  min-height: 52px;

  padding: 0 20px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 12px;

  border-radius: 12px;

  font-size: 11px;
  font-weight: 680;

  transition:
    transform 250ms ease,
    background 250ms ease,
    border-color 250ms ease,
    box-shadow 250ms ease;
}


/* Gold main action */

.im-closing-primary {
  color: #0B3D2E;

  background: #C9A227;

  border:
    1px solid #C9A227;

  box-shadow:
    0 13px 30px rgba(201, 162, 39, 0.20);
}

.im-closing-primary:hover {
  color: #0B3D2E;

  transform: translateY(-2px);

  background: #E0C56A;

  border-color: #E0C56A;

  box-shadow:
    0 18px 38px rgba(201, 162, 39, 0.27);
}


/* Transparent secondary */

.im-closing-secondary {
  color: rgba(255, 255, 255, 0.86);

  background:
    rgba(255, 255, 255, 0.045);

  border:
    1px solid rgba(224, 197, 106, 0.25);
}

.im-closing-secondary:hover {
  color: #FFFFFF;

  transform: translateY(-2px);

  background:
    rgba(224, 197, 106, 0.08);

  border-color:
    rgba(224, 197, 106, 0.46);
}


/* =========================================================
   SIGNATURE ROW
   ========================================================= */

.im-closing-signature {
  position: relative;
  z-index: 4;

  grid-column: 1 / -1;

  margin-top: auto;
  padding-top: 26px;

  display: flex;
  justify-content: space-between;

  gap: 35px;

  border-top:
    1px solid rgba(224, 197, 106, 0.17);
}

.im-closing-signature > div {
  display: flex;
  flex-direction: column;

  gap: 4px;
}

.im-closing-signature span {
  color: rgba(224, 197, 106, 0.55);

  font-size: 7px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-closing-signature strong {
  color: rgba(255, 255, 255, 0.71);

  font-size: 10px;
  font-weight: 570;
}


/* =========================================================
   BOTANICAL / INTELLIGENCE STRUCTURE
   ========================================================= */

.im-closing-botanical {
  position: absolute;

  right: -10px;
  bottom: -5px;

  width: 440px;
  height: 310px;

  background-repeat: no-repeat;
  background-size: contain;
  background-position: right bottom;

  background-image:
    url("data:image/svg+xml,%3Csvg width='440' height='310' viewBox='0 0 440 310' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23E0C56A' stroke-width='1.2' stroke-linecap='round'%3E%3Cpath d='M55 310 C61 217 66 149 60 55'/%3E%3Cpath d='M119 310 C131 210 160 132 185 39'/%3E%3Cpath d='M179 310 C186 225 175 151 169 85'/%3E%3Cpath d='M242 310 C258 209 295 132 328 67'/%3E%3Cpath d='M307 310 C318 233 347 174 398 122'/%3E%3Cpath d='M60 174 C34 149 22 121 20 94'/%3E%3Cpath d='M169 177 C137 147 125 119 126 91'/%3E%3Cpath d='M185 164 C218 141 237 112 246 84'/%3E%3Cpath d='M328 172 C361 145 378 116 388 90'/%3E%3Ccircle cx='60' cy='55' r='5'/%3E%3Ccircle cx='185' cy='39' r='5'/%3E%3Ccircle cx='328' cy='67' r='5'/%3E%3Ccircle cx='20' cy='94' r='4'/%3E%3Ccircle cx='398' cy='122' r='4'/%3E%3C/g%3E%3C/svg%3E");

  opacity: 0.16;

  pointer-events: none;

  z-index: 1;
}


/* Large organic contour */

.im-profile-closing-panel::after {
  content: "";

  position: absolute;

  right: -105px;
  top: -170px;

  width: 470px;
  height: 470px;

  border:
    1px solid rgba(224, 197, 106, 0.11);

  border-radius:
    71% 29% 61% 39% /
    55% 42% 58% 45%;

  transform: rotate(21deg);

  pointer-events: none;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

  .im-profile-closing-panel {
    grid-template-columns: 1fr;

    gap: 35px;
  }

  .im-closing-brand {
    flex-direction: row;
    align-items: center;

    gap: 18px;
  }

  .im-closing-logo-wrap {
    width: 75px;
    min-height: auto;

    margin-bottom: 0;
  }

  .im-closing-logo {
    width: 72px;
  }

  .im-closing-signature {
    grid-column: auto;
  }
}


@media (max-width: 600px) {

  .im-profile-closing {
    padding: 72px 0 85px;
  }

  .im-profile-closing-panel {
    min-height: auto;

    padding: 29px;

    border-radius: 22px;
  }

  .im-closing-content h2 {
    font-size: 43px;
  }

  .im-closing-actions {
    flex-direction: column;
  }

  .im-closing-primary,
  .im-closing-secondary {
    width: 100%;
  }

  .im-closing-signature {
    flex-direction: column;

    gap: 18px;
  }

  .im-closing-botanical {
    width: 280px;

    opacity: 0.09;
  }
}
/* =========================================================
   INVESTMETRICS — LOGO + DARK SURFACE CONTRAST FIX
   Final Company Profile QA override
   ========================================================= */


/* =========================================================
   1. LOGO OPTICAL-SIZE CORRECTION
   logo5.png contains internal transparent breathing space.
   We therefore enlarge the visible artwork optically.
   ========================================================= */


/* ---------- Main navigation ---------- */

.im-logo {
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;

  width: 92px;
  height: 76px;
}

.im-logo img {
  width: 92px !important;
  max-width: none !important;
  max-height: none !important;

  transform: scale(1.75);
  transform-origin: center;

  object-fit: contain;
}


/* ---------- Company Profile hero ---------- */

.im-profile-card-logo-wrap {
  width: 115px !important;
  height: 100px !important;

  overflow: hidden;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 0 !important;
}

.im-profile-card-logo {
  width: 112px !important;
  max-width: none !important;
  height: auto !important;

  transform: scale(1.85);
  transform-origin: center;

  filter:
    drop-shadow(
      0 9px 18px rgba(201, 162, 39, 0.18)
    );
}


/* ---------- Closing CTA logo ---------- */

.im-closing-logo-wrap {
  width: 130px !important;
  height: 120px !important;

  min-height: 0 !important;

  overflow: hidden;

  display: flex;
  align-items: center;
  justify-content: center;

  margin-bottom: 18px;
}

.im-closing-logo {
  width: 125px !important;
  max-width: none !important;
  height: auto !important;

  transform: scale(1.85);
  transform-origin: center;

  filter:
    drop-shadow(
      0 10px 22px rgba(201, 162, 39, 0.20)
    );
}


/* ---------- Footer logo ---------- */

.im-footer-logo-wrap,
.im-footer-brand-logo {
  overflow: hidden;

  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.im-footer-logo,
.im-footer-brand img {
  width: 125px !important;
  max-width: none !important;
  height: auto !important;

  transform: scale(1.65);
  transform-origin: center left;
}


/* =========================================================
   2. PROFESSIONAL COLLABORATION BAND
   Force correct contrast on emerald
   ========================================================= */

.im-people-principle {
  color: #FFFFFF !important;
}

.im-people-principle span {
  color: #E0C56A !important;
}

.im-people-principle h3 {
  color: #FFFFFF !important;

  opacity: 1 !important;

  font-weight: 650 !important;
}

.im-people-principle p {
  color: rgba(250, 249, 245, 0.76) !important;

  opacity: 1 !important;
}

.im-people-principle a,
.im-people-principle > a {
  color: #E0C56A !important;
}

.im-people-principle a i {
  color: #E0C56A !important;
}


/* =========================================================
   3. CLOSING CTA CONTRAST
   ========================================================= */

.im-profile-closing-panel {
  color: #FFFFFF;
}

.im-closing-eyebrow {
  color: #E0C56A !important;
}

.im-closing-content h2 {
  color: #FFFFFF !important;
}

.im-closing-content h2 span {
  color: #DCE6CC !important;
}

.im-closing-content > p {
  color: rgba(250, 249, 245, 0.78) !important;
}

.im-closing-signature span {
  color: rgba(224, 197, 106, 0.76) !important;
}

.im-closing-signature strong {
  color: rgba(255, 255, 255, 0.86) !important;
}


/* =========================================================
   4. FOOTER CONTRAST
   Keep secondary copy muted but readable
   ========================================================= */

.im-footer,
.im-site-footer {
  color: rgba(250, 249, 245, 0.82);
}

.im-footer h3,
.im-footer h4,
.im-site-footer h3,
.im-site-footer h4 {
  color: #FFFFFF !important;
}

.im-footer p,
.im-site-footer p {
  color: rgba(250, 249, 245, 0.73) !important;
}

.im-footer a,
.im-site-footer a {
  color: rgba(250, 249, 245, 0.72);
}

.im-footer a:hover,
.im-site-footer a:hover {
  color: #E0C56A;
}


/* Gold informational labels */

.im-footer .im-eyebrow,
.im-site-footer .im-eyebrow,
.im-footer-newsletter-label {
  color: #E0C56A !important;
}


/* =========================================================
   5. PRODUCT / DARK BANDS — GLOBAL PROTECTION
   Prevent inherited charcoal headings
   ========================================================= */

.im-intelligence-iris h1,
.im-intelligence-iris h2,
.im-intelligence-iris h3,
.im-profile-closing-panel h1,
.im-profile-closing-panel h2,
.im-profile-closing-panel h3,
.im-people-principle h1,
.im-people-principle h2,
.im-people-principle h3,
.im-services-integration h1,
.im-services-integration h2,
.im-services-integration h3 {
  color: #FFFFFF !important;
}


/* Body copy on premium green surfaces */

.im-intelligence-iris p,
.im-profile-closing-panel p,
.im-people-principle p,
.im-services-integration p {
  color: rgba(250, 249, 245, 0.74) !important;
}


/* =========================================================
   RESPONSIVE LOGO CORRECTION
   ========================================================= */

@media (max-width: 991px) {

  .im-logo {
    width: 78px;
    height: 68px;
  }

  .im-logo img {
    width: 80px !important;
    transform: scale(1.7);
  }

  .im-profile-card-logo-wrap {
    width: 100px !important;
    height: 88px !important;
  }

  .im-profile-card-logo {
    width: 100px !important;
    transform: scale(1.8);
  }
}


@media (max-width: 600px) {

  .im-closing-logo-wrap {
    width: 92px !important;
    height: 82px !important;
  }

  .im-closing-logo {
    width: 90px !important;
    transform: scale(1.75);
  }
}
/* =========================================================
   INVESTMETRICS OFFICIAL SYMBOL
   Preserve exact supplied proportions — no distortion
   ========================================================= */


/* NAVBAR */
.im-logo {
  width: 100px;
  height: 78px;

  overflow: hidden;

  display: flex;
  align-items: center;
  justify-content: center;
}

.im-logo img {
  width: 250px !important;
  height: auto !important;

  max-width: none !important;
  max-height: none !important;

  transform: none !important;

  flex-shrink: 0;
}


/* COMPANY PROFILE HERO */
.im-profile-card-logo-wrap {
  width: 125px !important;
  height: 105px !important;

  overflow: hidden;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 0 !important;
}

.im-profile-card-logo {
  width: 355px !important;
  height: auto !important;

  max-width: none !important;
  max-height: none !important;

  transform: none !important;

  flex-shrink: 0;

  filter:
    drop-shadow(
      0 9px 20px rgba(201, 162, 39, 0.16)
    );
}


/* CLOSING CTA */
.im-closing-logo-wrap {
  width: 135px !important;
  height: 115px !important;

  overflow: hidden;

  display: flex;
  align-items: center;
  justify-content: center;
}

.im-closing-logo {
  width: 370px !important;
  height: auto !important;

  max-width: none !important;
  max-height: none !important;

  transform: none !important;

  flex-shrink: 0;

  filter:
    drop-shadow(
      0 10px 22px rgba(201, 162, 39, 0.17)
    );
}


/* FOOTER */
.im-footer-logo-wrap,
.im-footer-brand-logo {
  width: 140px;
  height: 112px;

  overflow: hidden;

  display: flex;
  align-items: center;
  justify-content: center;
}

.im-footer-logo,
.im-footer-brand img {
  width: 370px !important;
  height: auto !important;

  max-width: none !important;
  max-height: none !important;

  transform: none !important;

  flex-shrink: 0;
}


/* RESPONSIVE */
@media (max-width: 991px) {

  .im-logo {
    width: 88px;
    height: 70px;
  }

  .im-logo img {
    width: 220px !important;
  }

  .im-profile-card-logo-wrap {
    width: 105px !important;
    height: 90px !important;
  }

  .im-profile-card-logo {
    width: 300px !important;
  }
}


@media (max-width: 600px) {

  .im-logo {
    width: 78px;
    height: 64px;
  }

  .im-logo img {
    width: 195px !important;
  }

  .im-closing-logo-wrap {
    width: 105px !important;
    height: 90px !important;
  }

  .im-closing-logo {
    width: 290px !important;
  }
}
/* =========================================================
   INVESTMETRICS LOGO — FINAL CROPPED VERSION
   Exact proportions, no artificial scaling
   ========================================================= */


/* =======================
   NAVBAR
   ======================= */

.im-logo {
  width: auto !important;
  height: auto !important;

  overflow: visible !important;

  display: flex;
  align-items: center;
  justify-content: center;
}

.im-logo img {
  width: auto !important;
  height: 58px !important;

  max-width: none !important;
  max-height: 58px !important;

  transform: none !important;

  object-fit: contain;
}


/* =======================
   COMPANY PROFILE HERO
   ======================= */

.im-profile-card-logo-wrap {
  width: auto !important;
  height: auto !important;

  overflow: visible !important;

  display: flex;
  align-items: center;
  justify-content: flex-start;

  padding: 0 !important;
}

.im-profile-card-logo {
  width: auto !important;
  height: 86px !important;

  max-width: none !important;
  max-height: 86px !important;

  transform: none !important;

  object-fit: contain;

  filter:
    drop-shadow(
      0 9px 18px rgba(201, 162, 39, 0.16)
    );
}


/* =======================
   CLOSING CTA
   ======================= */

.im-closing-logo-wrap {
  width: auto !important;
  height: auto !important;

  min-height: 0 !important;

  overflow: visible !important;

  display: flex;
  align-items: center;
  justify-content: flex-start;

  margin-bottom: 18px;
}

.im-closing-logo {
  width: auto !important;
  height: 92px !important;

  max-width: none !important;
  max-height: 92px !important;

  transform: none !important;

  object-fit: contain;

  filter:
    drop-shadow(
      0 10px 22px rgba(201, 162, 39, 0.18)
    );
}


/* =======================
   FOOTER
   ======================= */

.im-footer-logo-wrap,
.im-footer-brand-logo {
  width: auto !important;
  height: auto !important;

  overflow: visible !important;

  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.im-footer-logo,
.im-footer-brand img {
  width: auto !important;
  height: 96px !important;

  max-width: none !important;
  max-height: 96px !important;

  transform: none !important;

  object-fit: contain;
}


/* =======================
   RESPONSIVE
   ======================= */

@media (max-width: 991px) {

  .im-logo img {
    height: 52px !important;
    max-height: 52px !important;
  }

  .im-profile-card-logo {
    height: 76px !important;
    max-height: 76px !important;
  }

  .im-closing-logo {
    height: 80px !important;
    max-height: 80px !important;
  }

  .im-footer-logo,
  .im-footer-brand img {
    height: 84px !important;
    max-height: 84px !important;
  }
}


@media (max-width: 600px) {

  .im-logo img {
    height: 46px !important;
    max-height: 46px !important;
  }

  .im-profile-card-logo {
    height: 68px !important;
    max-height: 68px !important;
  }

  .im-closing-logo {
    height: 72px !important;
    max-height: 72px !important;
  }

  .im-footer-logo,
  .im-footer-brand img {
    height: 76px !important;
    max-height: 76px !important;
  }
}

/* =========================================================
   RESEARCH & PUBLICATIONS SERVICE
   Investmetrics Research Intelligence visual system
   ========================================================= */


/* =========================================================
   PAGE
   ========================================================= */

.im-rp-page {
  background: #FAFAF6;
  color: #20242A;
}


/* =========================================================
   HERO
   ========================================================= */

.im-rp-hero {
  position: relative;
  overflow: hidden;

  padding: 82px 0 95px;

  background: #F5F1E6;
}

.im-rp-hero-grid {
  display: grid;
  grid-template-columns: 1.02fr .98fr;

  gap: 65px;

  align-items: center;
}

.im-rp-hero-content {
  position: relative;
  z-index: 3;
}

.im-rp-hero-content h1 {
  margin: 16px 0 24px;

  max-width: 720px;

  color: #0B3D2E;

  font-size: clamp(55px, 6vw, 86px);
  line-height: .96;
  font-weight: 700;
  letter-spacing: -.05em;
}

.im-rp-hero-content h1 span {
  display: block;

  color: #1F6E52;
}

.im-rp-hero-lead {
  max-width: 690px;

  margin: 0;

  color: #66716D;

  font-size: 14px;
  line-height: 1.85;
}

.im-rp-hero-actions {
  margin-top: 31px;

  display: flex;
  flex-wrap: wrap;

  gap: 12px;
}

.im-rp-secondary-link {
  min-height: 52px;

  padding: 0 19px;

  display: inline-flex;
  align-items: center;

  gap: 11px;

  color: #0B3D2E;

  background: rgba(255,255,255,.42);

  border:
    1px solid rgba(82,99,63,.17);

  border-radius: 12px;

  font-size: 11px;
  font-weight: 650;
}

.im-rp-secondary-link i {
  color: #C9A227;
}

.im-rp-hero-meta {
  margin-top: 42px;
  padding-top: 22px;

  display: flex;
  flex-wrap: wrap;

  gap: 60px;

  border-top:
    1px solid rgba(82,99,63,.14);
}

.im-rp-hero-meta > div {
  display: flex;
  flex-direction: column;

  gap: 4px;
}

.im-rp-hero-meta span {
  color: #A98722;

  font-size: 7px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-rp-hero-meta strong {
  color: #52633F;

  font-size: 10px;
  font-weight: 600;
}


/* =========================================================
   HERO VISUAL
   ========================================================= */

.im-rp-hero-visual {
  position: relative;
  overflow: hidden;

  min-height: 590px;

  border-radius: 27px;

  border:
    1px solid rgba(201,162,39,.25);

  box-shadow:
    0 30px 72px rgba(82,99,63,.18),
    0 9px 24px rgba(201,162,39,.11);
}

.im-rp-hero-image {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  object-fit: cover;
}

.im-rp-hero-visual::after {
  content: "";

  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      180deg,
      rgba(7,49,38,.10) 0%,
      rgba(7,49,38,.48) 68%,
      rgba(7,49,38,.88) 100%
    );
}

.im-rp-hero-overlay {
  position: absolute;

  left: 33px;
  right: 33px;
  bottom: 31px;

  z-index: 3;

  color: #FFFFFF;
}

.im-rp-hero-overlay > span {
  display: block;

  margin-bottom: 12px;

  color: #E0C56A;

  font-size: 8px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-rp-hero-overlay h2 {
  margin: 0;

  color: #FFFFFF;

  font-size: clamp(40px, 4vw, 58px);
  line-height: .98;
  font-weight: 700;
}

.im-rp-hero-overlay-footer {
  margin-top: 28px;
  padding-top: 17px;

  display: flex;
  justify-content: space-between;

  color: rgba(255,255,255,.72);

  border-top:
    1px solid rgba(224,197,106,.24);

  font-size: 10px;
}

.im-rp-hero-overlay-footer i {
  color: #E0C56A;
}


/* =========================================================
   POSITION
   ========================================================= */

.im-rp-position {
  padding: 95px 0;

  background: #FFFFFF;
}

.im-rp-position-grid {
  display: grid;
  grid-template-columns: 1fr .9fr;

  gap: 80px;

  align-items: start;
}

.im-rp-position h2,
.im-rp-section-heading h2,
.im-rp-related-heading h2 {
  margin: 12px 0 0;

  color: #0B3D2E;

  font-size: clamp(39px, 4vw, 58px);
  line-height: 1.04;
  font-weight: 700;
  letter-spacing: -.04em;
}

.im-rp-position h2 span,
.im-rp-section-heading h2 span,
.im-rp-related-heading h2 span {
  display: block;

  color: #1F6E52;
}

.im-rp-position-copy {
  display: grid;

  gap: 17px;
}

.im-rp-position-copy p {
  margin: 0;

  color: #66716D;

  font-size: 13px;
  line-height: 1.85;
}


/* =========================================================
   SECTION HEADING
   ========================================================= */

.im-rp-section-heading {
  margin-bottom: 48px;

  display: grid;
  grid-template-columns: 1fr minmax(330px,470px);

  gap: 70px;

  align-items: end;
}

.im-rp-section-heading > p {
  margin: 0;

  color: #64716B;

  font-size: 13px;
  line-height: 1.8;
}


/* =========================================================
   CAPABILITIES
   ========================================================= */

.im-rp-capabilities {
  position: relative;
  overflow: hidden;

  padding: 105px 0;

  background: #EFF3E8;
}

.im-rp-capability-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);

  gap: 20px;
}

.im-rp-capability-card {
  position: relative;
  overflow: hidden;

  min-height: 420px;

  padding: 27px;

  display: flex;
  flex-direction: column;

  border:
    1px solid rgba(82,99,63,.14);

  border-bottom:
    2px solid rgba(201,162,39,.30);

  border-radius: 21px;

  box-shadow:
    0 23px 52px rgba(82,99,63,.14),
    0 7px 18px rgba(115,139,85,.07);

  transition:
    transform 280ms ease,
    box-shadow 280ms ease;
}

.im-rp-cap-a {
  background: #E1EAD7;
}

.im-rp-cap-b {
  background: #F2EEDF;
}

.im-rp-cap-c {
  background: #D6E1CB;
}

.im-rp-cap-d {
  background: #E6ECD9;
}

.im-rp-cap-e {
  background: #F4F0E2;
}

.im-rp-cap-f {
  background: #CCDABA;
}

.im-rp-cap-top {
  position: relative;
  z-index: 3;

  margin-bottom: 44px;

  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.im-rp-cap-top span {
  color: rgba(11,61,46,.28);

  font-size: 10px;
  font-weight: 750;
}

.im-rp-cap-top i {
  width: 48px;
  height: 48px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #52633F;

  background: rgba(255,255,255,.48);

  border:
    1px solid rgba(82,99,63,.11);

  border-radius: 13px;

  font-size: 20px;
}

.im-rp-cap-label {
  position: relative;
  z-index: 3;

  margin-bottom: 8px;

  color: #728052;

  font-size: 7px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-rp-capability-card h3 {
  position: relative;
  z-index: 3;

  margin: 0 0 15px;

  color: #0B3D2E;

  font-size: 27px;
  line-height: 1.14;
  font-weight: 680;
}

.im-rp-capability-card h3 span {
  display: block;

  color: #39725A;
}

.im-rp-capability-card p {
  position: relative;
  z-index: 3;

  margin: 0;

  color: rgba(32,36,42,.69);

  font-size: 11px;
  line-height: 1.78;
}

.im-rp-cap-tags {
  position: relative;
  z-index: 3;

  margin-top: auto;
  padding-top: 22px;

  display: flex;
  flex-wrap: wrap;

  gap: 6px;
}

.im-rp-cap-tags span {
  padding: 6px 9px;

  color: #52633F;

  background: rgba(255,255,255,.38);

  border:
    1px solid rgba(82,99,63,.10);

  border-radius: 100px;

  font-size: 8px;
}

.im-rp-capability-card::after {
  content: "";

  position: absolute;

  width: 155px;
  height: 125px;

  right: -12px;
  bottom: -8px;

  background-repeat: no-repeat;
  background-size: contain;

  background-image:
    url("data:image/svg+xml,%3Csvg width='155' height='125' viewBox='0 0 155 125' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%2352633F' stroke-width='1.05' stroke-linecap='round'%3E%3Cpath d='M19 125 C24 84 26 54 22 17'/%3E%3Cpath d='M50 125 C57 84 70 51 82 15'/%3E%3Cpath d='M80 125 C84 90 78 60 75 35'/%3E%3Cpath d='M108 125 C116 86 131 57 145 32'/%3E%3Cpath d='M22 69 C12 58 8 48 7 39'/%3E%3Cpath d='M75 68 C63 57 57 47 57 36'/%3E%3Cpath d='M82 63 C95 53 103 43 107 32'/%3E%3C/g%3E%3C/svg%3E");

  opacity: .13;

  pointer-events: none;
}

.im-rp-cap-c::after,
.im-rp-cap-f::after {
  opacity: .20;
}

.im-rp-capability-card:hover {
  transform: translateY(-6px);

  box-shadow:
    0 32px 72px rgba(82,99,63,.21),
    0 9px 24px rgba(115,139,85,.10);
}


/* =========================================================
   LIFECYCLE
   ========================================================= */

.im-rp-lifecycle {
  padding: 105px 0;

  background: #FAFAF6;
}

.im-rp-lifecycle-grid {
  display: grid;
  grid-template-columns: repeat(5,1fr);

  gap: 15px;
}

.im-rp-lifecycle-grid article {
  position: relative;
  overflow: hidden;

  min-height: 260px;

  padding: 23px;

  background: #FFFFFF;

  border:
    1px solid rgba(82,99,63,.13);

  border-radius: 17px;

  box-shadow:
    0 17px 40px rgba(82,99,63,.10);
}

.im-rp-lifecycle-grid article > span {
  color: rgba(11,61,46,.27);

  font-size: 9px;
  font-weight: 750;
}

.im-rp-lifecycle-grid article > i {
  display: block;

  margin: 40px 0 18px;

  color: #6F7E4F;

  font-size: 25px;
}

.im-rp-lifecycle-grid article h3 {
  margin: 0 0 9px;

  color: #0B3D2E;

  font-size: 18px;
}

.im-rp-lifecycle-grid article p {
  margin: 0;

  color: #6B7570;

  font-size: 10px;
  line-height: 1.7;
}

.im-rp-lifecycle-final {
  background: #0B4938 !important;

  border-color:
    rgba(201,162,39,.29) !important;

  box-shadow:
    0 22px 50px rgba(201,162,39,.17) !important;
}

.im-rp-lifecycle-final > span {
  color: rgba(255,255,255,.35) !important;
}

.im-rp-lifecycle-final > i {
  color: #E0C56A !important;
}

.im-rp-lifecycle-final h3 {
  color: #FFFFFF !important;
}

.im-rp-lifecycle-final p {
  color: rgba(250,249,245,.69) !important;
}


/* =========================================================
   DEPTH
   ========================================================= */

.im-rp-depth {
  padding: 105px 0;

  background: #E8EEDF;
}

.im-rp-depth-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;

  gap: 22px;
}

.im-rp-depth-card {
  position: relative;
  overflow: hidden;

  min-height: 500px;

  padding: 33px;

  display: flex;
  flex-direction: column;

  border-radius: 25px;
}

.im-rp-depth-data {
  background: #D5E1C8;

  border:
    1px solid rgba(82,99,63,.15);

  box-shadow:
    0 27px 62px rgba(82,99,63,.17);
}

.im-rp-depth-publication {
  background: #0B4938;

  border:
    1px solid rgba(224,197,106,.29);

  box-shadow:
    0 29px 68px rgba(201,162,39,.20);
}

.im-rp-depth-head {
  margin-bottom: 72px;

  display: flex;
  justify-content: space-between;
  align-items: center;
}

.im-rp-depth-head span {
  color: #6F7E4F;

  font-size: 8px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-rp-depth-head i {
  color: #52633F;

  font-size: 24px;
}

.im-rp-depth-card h2 {
  margin: 0 0 20px;

  color: #0B3D2E;

  font-size: clamp(35px,3.5vw,49px);
  line-height: 1.02;
  font-weight: 700;
  letter-spacing: -.04em;
}

.im-rp-depth-card h2 span {
  display: block;

  color: #39725A;
}

.im-rp-depth-card > p {
  max-width: 590px;

  margin: 0;

  color: rgba(32,36,42,.70);

  font-size: 12px;
  line-height: 1.82;
}

.im-rp-depth-list {
  margin-top: auto;
  padding-top: 27px;

  display: grid;

  gap: 10px;

  border-top:
    1px solid rgba(82,99,63,.14);
}

.im-rp-depth-list > div {
  display: flex;
  gap: 9px;

  color: #52633F;

  font-size: 10px;
}

.im-rp-depth-list i {
  color: #C9A227;
}


/* dark card */

.im-rp-depth-publication
.im-rp-depth-head span,
.im-rp-depth-publication
.im-rp-depth-head i {
  color: #E0C56A;
}

.im-rp-depth-publication h2 {
  color: #FFFFFF;
}

.im-rp-depth-publication h2 span {
  color: #DCE6CC;
}

.im-rp-depth-publication > p {
  color: rgba(250,249,245,.70);
}

.im-rp-depth-publication
.im-rp-depth-list {
  border-top-color:
    rgba(224,197,106,.17);
}

.im-rp-depth-publication
.im-rp-depth-list > div {
  color: rgba(255,255,255,.75);
}

.im-rp-depth-publication
.im-rp-depth-list i {
  color: #E0C56A;
}


/* =========================================================
   RELATED
   ========================================================= */

.im-rp-related {
  padding: 100px 0;

  background: #FFFFFF;
}

.im-rp-related-heading {
  margin-bottom: 42px;
}

.im-rp-related-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);

  gap: 18px;
}

.im-rp-related-card {
  min-height: 190px;

  padding: 25px;

  display: flex;
  flex-direction: column;

  background: #F2F4EA;

  border:
    1px solid rgba(82,99,63,.13);

  border-bottom:
    2px solid rgba(201,162,39,.28);

  border-radius: 18px;

  box-shadow:
    0 18px 43px rgba(82,99,63,.11);
}

.im-rp-related-card > span {
  color: #A98722;

  font-size: 9px;
}

.im-rp-related-card h3 {
  margin: 35px 0 0;

  max-width: 280px;

  color: #0B3D2E;

  font-size: 20px;
  line-height: 1.25;
}

.im-rp-related-card i {
  margin-top: auto;
  margin-left: auto;

  color: #C9A227;
}


/* =========================================================
   IRIS
   ========================================================= */

.im-rp-iris {
  padding: 35px 0 105px;

  background: #FFFFFF;
}

.im-rp-iris-panel {
  position: relative;
  overflow: hidden;

  padding: 34px;

  display: grid;
  grid-template-columns: 180px 1fr auto;

  gap: 40px;
  align-items: center;

  background: #093F31;

  border:
    1px solid rgba(224,197,106,.30);

  border-radius: 21px;

  box-shadow:
    0 29px 68px rgba(201,162,39,.19);
}

.im-rp-iris-mark {
  display: flex;
  flex-direction: column;

  gap: 27px;
}

.im-rp-iris-mark span {
  color: #E0C56A;

  font-size: 7px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-rp-iris-mark i {
  color: #E0C56A;

  font-size: 42px;
}

.im-rp-iris-kicker {
  display: block;

  margin-bottom: 7px;

  color: #E0C56A;

  font-size: 7px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-rp-iris-content h2 {
  margin: 0 0 10px;

  color: #FFFFFF;

  font-size: 29px;
  line-height: 1.12;
}

.im-rp-iris-content h2 span {
  display: block;

  color: #DCE6CC;
}

.im-rp-iris-content p {
  margin: 0;

  color: rgba(250,249,245,.66);

  font-size: 10px;
  line-height: 1.7;
}

.im-rp-iris-link {
  display: inline-flex;
  align-items: center;

  gap: 9px;

  color: #E0C56A;

  white-space: nowrap;

  font-size: 10px;
  font-weight: 650;
}


/* =========================================================
   CLOSE
   ========================================================= */

.im-rp-close {
  padding: 100px 0 115px;

  background: #EEF2E7;
}

.im-rp-close-panel {
  position: relative;
  overflow: hidden;

  padding: 42px;

  display: grid;
  grid-template-columns: 1fr auto;

  gap: 45px;
  align-items: end;

  background: #0B4938;

  border:
    1px solid rgba(224,197,106,.30);

  border-bottom:
    2px solid rgba(224,197,106,.55);

  border-radius: 24px;

  box-shadow:
    0 34px 80px rgba(201,162,39,.22);
}

.im-rp-close-panel > div:first-child > span {
  color: #E0C56A;

  font-size: 8px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-rp-close-panel h2 {
  margin: 15px 0 17px;

  max-width: 800px;

  color: #FFFFFF;

  font-size: clamp(42px,4.8vw,66px);
  line-height: 1;
  font-weight: 700;
  letter-spacing: -.045em;
}

.im-rp-close-panel h2 span {
  display: block;

  color: #DCE6CC;
}

.im-rp-close-panel p {
  max-width: 690px;

  margin: 0;

  color: rgba(250,249,245,.71);

  font-size: 12px;
  line-height: 1.8;
}

.im-rp-close-actions {
  display: flex;
  flex-direction: column;

  gap: 10px;
}

.im-rp-close-secondary {
  min-height: 50px;

  padding: 0 18px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 10px;

  color: #FFFFFF;

  border:
    1px solid rgba(224,197,106,.27);

  border-radius: 11px;

  font-size: 10px;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1050px) {

  .im-rp-hero-grid,
  .im-rp-position-grid,
  .im-rp-depth-grid {
    grid-template-columns: 1fr;
  }

  .im-rp-hero-visual {
    min-height: 520px;
  }

  .im-rp-capability-grid {
    grid-template-columns: repeat(2,1fr);
  }

  .im-rp-lifecycle-grid {
    grid-template-columns: repeat(3,1fr);
  }

  .im-rp-iris-panel {
    grid-template-columns: auto 1fr;
  }

  .im-rp-iris-link {
    grid-column: 2;
  }
}


@media (max-width: 800px) {

  .im-rp-section-heading {
    grid-template-columns: 1fr;

    gap: 19px;
  }

  .im-rp-related-grid {
    grid-template-columns: 1fr;
  }

  .im-rp-close-panel {
    grid-template-columns: 1fr;
  }

  .im-rp-close-actions {
    flex-direction: row;
    flex-wrap: wrap;
  }
}


@media (max-width: 650px) {

  .im-rp-hero {
    padding: 65px 0 75px;
  }

  .im-rp-hero-content h1 {
    font-size: 51px;
  }

  .im-rp-hero-visual {
    min-height: 420px;
  }

  .im-rp-capabilities,
  .im-rp-lifecycle,
  .im-rp-depth,
  .im-rp-related,
  .im-rp-close {
    padding-top: 72px;
    padding-bottom: 78px;
  }

  .im-rp-capability-grid,
  .im-rp-lifecycle-grid {
    grid-template-columns: 1fr;
  }

  .im-rp-hero-meta {
    gap: 25px;
  }

  .im-rp-depth-card {
    min-height: 440px;
  }

  .im-rp-iris-panel {
    grid-template-columns: 1fr;
  }

  .im-rp-iris-link {
    grid-column: auto;
  }

  .im-rp-close-actions {
    flex-direction: column;
  }
}

/* =========================================================
   INVESTMETRICS LOGO — FINAL FORCED SIZE
   Cropped official symbol: preserve exact aspect ratio
   ========================================================= */


/* ---------------------------------------------------------
   NAVBAR
   --------------------------------------------------------- */

.im-logo {
  width: auto !important;
  height: 78px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  overflow: visible !important;
}

.im-logo img {
  width: auto !important;
  height: 72px !important;

  max-width: none !important;
  max-height: none !important;

  transform: none !important;

  object-fit: contain !important;
  display: block !important;
}


/* ---------------------------------------------------------
   COMPANY PROFILE HERO GREEN CARD
   --------------------------------------------------------- */

.im-profile-card-logo-wrap {
  width: auto !important;
  height: 120px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  overflow: visible !important;

  padding: 0 !important;
}

.im-profile-card-logo {
  width: auto !important;
  height: 112px !important;

  max-width: none !important;
  max-height: none !important;

  transform: none !important;

  object-fit: contain !important;
  display: block !important;

  filter:
    drop-shadow(
      0 10px 22px rgba(201, 162, 39, 0.18)
    );
}


/* ---------------------------------------------------------
   CLOSING CTA
   --------------------------------------------------------- */

.im-closing-logo-wrap {
  width: auto !important;
  height: 125px !important;

  min-height: 125px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  overflow: visible !important;

  margin-bottom: 18px !important;
}

.im-closing-logo {
  width: auto !important;
  height: 118px !important;

  max-width: none !important;
  max-height: none !important;

  transform: none !important;

  object-fit: contain !important;
  display: block !important;

  filter:
    drop-shadow(
      0 11px 24px rgba(201, 162, 39, 0.20)
    );
}


/* ---------------------------------------------------------
   FOOTER
   --------------------------------------------------------- */

.im-footer-logo-wrap,
.im-footer-brand-logo {
  width: auto !important;
  height: 125px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  overflow: visible !important;
}

.im-footer-logo,
.im-footer-brand img {
  width: auto !important;
  height: 118px !important;

  max-width: none !important;
  max-height: none !important;

  transform: none !important;

  object-fit: contain !important;
  display: block !important;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 991px) {

  .im-logo {
    height: 68px !important;
  }

  .im-logo img {
    height: 62px !important;
  }

  .im-profile-card-logo-wrap {
    height: 100px !important;
  }

  .im-profile-card-logo {
    height: 94px !important;
  }

  .im-closing-logo-wrap {
    height: 105px !important;
    min-height: 105px !important;
  }

  .im-closing-logo {
    height: 98px !important;
  }

  .im-footer-logo-wrap,
  .im-footer-brand-logo {
    height: 105px !important;
  }

  .im-footer-logo,
  .im-footer-brand img {
    height: 98px !important;
  }
}


@media (max-width: 600px) {

  .im-logo {
    height: 60px !important;
  }

  .im-logo img {
    height: 54px !important;
  }

  .im-profile-card-logo {
    height: 82px !important;
  }

  .im-closing-logo {
    height: 86px !important;
  }

  .im-footer-logo,
  .im-footer-brand img {
    height: 88px !important;
  }
}
/* =========================================================
   PROJECT DEVELOPMENT & MANAGEMENT
   Investmetrics Programme Delivery Intelligence
   ========================================================= */

.im-pm-page {
  background: #FAFAF6;
  color: #20242A;
}


/* =========================================================
   HERO
   ========================================================= */

.im-pm-hero {
  position: relative;
  overflow: hidden;

  padding: 82px 0 95px;

  background: #F5F1E6;
}

.im-pm-hero-grid {
  display: grid;
  grid-template-columns: 1.02fr .98fr;

  gap: 65px;
  align-items: center;
}

.im-pm-hero-content {
  position: relative;
  z-index: 3;
}

.im-pm-hero-content h1 {
  margin: 16px 0 24px;

  max-width: 750px;

  color: #0B3D2E;

  font-size: clamp(55px, 6vw, 86px);
  line-height: .96;
  font-weight: 700;
  letter-spacing: -.05em;
}

.im-pm-hero-content h1 span {
  display: block;
  color: #1F6E52;
}

.im-pm-hero-lead {
  max-width: 700px;

  margin: 0;

  color: #66716D;

  font-size: 14px;
  line-height: 1.85;
}

.im-pm-hero-actions {
  margin-top: 31px;

  display: flex;
  flex-wrap: wrap;

  gap: 12px;
}

.im-pm-secondary-link {
  min-height: 52px;

  padding: 0 19px;

  display: inline-flex;
  align-items: center;

  gap: 11px;

  color: #0B3D2E;

  background: rgba(255,255,255,.42);

  border: 1px solid rgba(82,99,63,.17);

  border-radius: 12px;

  font-size: 11px;
  font-weight: 650;
}

.im-pm-secondary-link i {
  color: #C9A227;
}

.im-pm-hero-meta {
  margin-top: 42px;
  padding-top: 22px;

  display: flex;
  flex-wrap: wrap;

  gap: 60px;

  border-top: 1px solid rgba(82,99,63,.14);
}

.im-pm-hero-meta > div {
  display: flex;
  flex-direction: column;

  gap: 4px;
}

.im-pm-hero-meta span {
  color: #A98722;

  font-size: 7px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-pm-hero-meta strong {
  color: #52633F;

  font-size: 10px;
  font-weight: 600;
}


/* =========================================================
   HERO VISUAL
   ========================================================= */

.im-pm-hero-visual {
  position: relative;
  overflow: hidden;

  min-height: 590px;

  border-radius: 27px;

  border: 1px solid rgba(201,162,39,.25);

  box-shadow:
    0 30px 72px rgba(82,99,63,.18),
    0 9px 24px rgba(201,162,39,.11);
}

.im-pm-hero-image {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  object-fit: cover;
}

.im-pm-hero-visual::after {
  content: "";

  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      180deg,
      rgba(7,49,38,.08) 0%,
      rgba(7,49,38,.45) 68%,
      rgba(7,49,38,.90) 100%
    );
}

.im-pm-hero-overlay {
  position: absolute;

  left: 33px;
  right: 33px;
  bottom: 31px;

  z-index: 3;

  color: #FFFFFF;
}

.im-pm-hero-overlay > span {
  display: block;

  margin-bottom: 12px;

  color: #E0C56A;

  font-size: 8px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-pm-hero-overlay h2 {
  margin: 0;

  color: #FFFFFF;

  font-size: clamp(40px,4vw,58px);
  line-height: .98;
  font-weight: 700;
}

.im-pm-hero-overlay-footer {
  margin-top: 28px;
  padding-top: 17px;

  display: flex;
  justify-content: space-between;

  color: rgba(255,255,255,.72);

  border-top: 1px solid rgba(224,197,106,.24);

  font-size: 10px;
}

.im-pm-hero-overlay-footer i {
  color: #E0C56A;
}


/* =========================================================
   POSITION
   ========================================================= */

.im-pm-position {
  padding: 95px 0;

  background: #FFFFFF;
}

.im-pm-position-grid {
  display: grid;
  grid-template-columns: 1fr .9fr;

  gap: 80px;
}

.im-pm-position h2,
.im-pm-section-heading h2,
.im-pm-related-heading h2 {
  margin: 12px 0 0;

  color: #0B3D2E;

  font-size: clamp(39px,4vw,58px);
  line-height: 1.04;
  font-weight: 700;
  letter-spacing: -.04em;
}

.im-pm-position h2 span,
.im-pm-section-heading h2 span,
.im-pm-related-heading h2 span {
  display: block;

  color: #1F6E52;
}

.im-pm-position-copy {
  display: grid;
  gap: 17px;
}

.im-pm-position-copy p {
  margin: 0;

  color: #66716D;

  font-size: 13px;
  line-height: 1.85;
}


/* =========================================================
   SHARED HEADING
   ========================================================= */

.im-pm-section-heading {
  margin-bottom: 48px;

  display: grid;
  grid-template-columns: 1fr minmax(330px,470px);

  gap: 70px;

  align-items: end;
}

.im-pm-section-heading > p {
  margin: 0;

  color: #64716B;

  font-size: 13px;
  line-height: 1.8;
}


/* =========================================================
   LIFECYCLE
   ========================================================= */

.im-pm-lifecycle {
  padding: 105px 0;

  background: #EFF3E8;
}

.im-pm-lifecycle-grid {
  display: grid;
  grid-template-columns: repeat(6,1fr);

  gap: 14px;
}

.im-pm-life-card {
  position: relative;
  overflow: hidden;

  min-height: 285px;

  padding: 22px;

  display: flex;
  flex-direction: column;

  background: #F9FAF5;

  border: 1px solid rgba(82,99,63,.13);

  border-bottom: 2px solid rgba(201,162,39,.26);

  border-radius: 17px;

  box-shadow:
    0 18px 42px rgba(82,99,63,.11);

  transition:
    transform 280ms ease,
    box-shadow 280ms ease;
}

.im-pm-life-1 {
  background: #E5ECD9;
}

.im-pm-life-2 {
  background: #F3EFDF;
}

.im-pm-life-3 {
  background: #DBE5CF;
}

.im-pm-life-4 {
  background: #EEF1E4;
}

.im-pm-life-5 {
  background: #D4E0C7;
}

.im-pm-life-card > span {
  color: rgba(11,61,46,.28);

  font-size: 9px;
  font-weight: 750;
}

.im-pm-life-card > i {
  margin: 48px 0 18px;

  color: #667A4D;

  font-size: 25px;
}

.im-pm-life-card h3 {
  margin: 0 0 9px;

  color: #0B3D2E;

  font-size: 18px;
}

.im-pm-life-card p {
  margin: 0;

  color: #6B7570;

  font-size: 9.5px;
  line-height: 1.7;
}

.im-pm-life-final {
  background: #0B4938;

  border-color: rgba(224,197,106,.30);

  box-shadow:
    0 23px 52px rgba(201,162,39,.18);
}

.im-pm-life-final > span {
  color: rgba(255,255,255,.35);
}

.im-pm-life-final > i {
  color: #E0C56A;
}

.im-pm-life-final h3 {
  color: #FFFFFF;
}

.im-pm-life-final p {
  color: rgba(250,249,245,.69);
}

.im-pm-life-card:hover {
  transform: translateY(-5px);

  box-shadow:
    0 27px 60px rgba(82,99,63,.18);
}


/* =========================================================
   CAPABILITIES
   ========================================================= */

.im-pm-capabilities {
  padding: 105px 0;

  background: #FAFAF6;
}

.im-pm-cap-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);

  gap: 20px;
}

.im-pm-cap-card {
  position: relative;
  overflow: hidden;

  min-height: 445px;

  padding: 27px;

  display: flex;
  flex-direction: column;

  border: 1px solid rgba(82,99,63,.14);

  border-bottom: 2px solid rgba(201,162,39,.30);

  border-radius: 21px;

  box-shadow:
    0 23px 52px rgba(82,99,63,.14),
    0 7px 18px rgba(115,139,85,.07);

  transition:
    transform 280ms ease,
    box-shadow 280ms ease;
}

.im-pm-cap-a {
  background: #E1EAD7;
}

.im-pm-cap-b {
  background: #F3EFDF;
}

.im-pm-cap-c {
  background: #D7E2CB;
}

.im-pm-cap-d {
  background: #E8EDDE;
}

.im-pm-cap-e {
  background: #CFDDBF;
}

.im-pm-cap-f {
  background: #F1EDDD;
}

.im-pm-cap-head {
  position: relative;
  z-index: 3;

  margin-bottom: 48px;

  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.im-pm-cap-head > span {
  color: rgba(11,61,46,.28);

  font-size: 10px;
  font-weight: 750;
}

.im-pm-cap-icon {
  width: 49px;
  height: 49px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #52633F;

  background: rgba(255,255,255,.48);

  border: 1px solid rgba(82,99,63,.11);

  border-radius: 13px;

  font-size: 20px;
}

.im-pm-cap-b .im-pm-cap-icon,
.im-pm-cap-c .im-pm-cap-icon {
  color: #A98722;
}

.im-pm-cap-label {
  position: relative;
  z-index: 3;

  margin-bottom: 9px;

  color: #728052;

  font-size: 7px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-pm-cap-card h3 {
  position: relative;
  z-index: 3;

  margin: 0 0 15px;

  color: #0B3D2E;

  font-size: 27px;
  line-height: 1.14;
  font-weight: 680;
}

.im-pm-cap-card h3 span {
  display: block;

  color: #39725A;
}

.im-pm-cap-card > p {
  position: relative;
  z-index: 3;

  margin: 0;

  color: rgba(32,36,42,.69);

  font-size: 11px;
  line-height: 1.78;
}

.im-pm-cap-list {
  position: relative;
  z-index: 3;

  margin-top: auto;
  padding-top: 22px;

  display: flex;
  flex-wrap: wrap;

  gap: 6px;
}

.im-pm-cap-list span {
  padding: 6px 9px;

  color: #52633F;

  background: rgba(255,255,255,.40);

  border: 1px solid rgba(82,99,63,.09);

  border-radius: 100px;

  font-size: 8px;
}


/* Grass linework */

.im-pm-cap-card::after {
  content: "";

  position: absolute;

  right: -10px;
  bottom: -8px;

  width: 165px;
  height: 130px;

  background-repeat: no-repeat;
  background-size: contain;

  background-image:
    url("data:image/svg+xml,%3Csvg width='165' height='130' viewBox='0 0 165 130' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%2352633F' stroke-width='1.05' stroke-linecap='round'%3E%3Cpath d='M19 130 C24 88 26 56 22 17'/%3E%3Cpath d='M52 130 C59 87 72 52 85 15'/%3E%3Cpath d='M82 130 C86 92 80 62 77 36'/%3E%3Cpath d='M112 130 C120 89 137 59 152 33'/%3E%3Cpath d='M22 71 C12 60 8 50 7 40'/%3E%3Cpath d='M77 70 C64 58 59 48 59 37'/%3E%3Cpath d='M85 65 C98 55 106 44 110 33'/%3E%3C/g%3E%3C/svg%3E");

  opacity: .13;

  pointer-events: none;
}

.im-pm-cap-c::after,
.im-pm-cap-e::after {
  opacity: .20;
}

.im-pm-cap-card:hover {
  transform: translateY(-6px);

  box-shadow:
    0 32px 72px rgba(82,99,63,.21),
    0 9px 24px rgba(115,139,85,.10);
}


/* =========================================================
   DELIVERY / M&E
   ========================================================= */

.im-pm-delivery {
  padding: 105px 0;

  background: #E8EEDF;
}

.im-pm-delivery-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;

  gap: 22px;
}

.im-pm-delivery-card {
  min-height: 510px;

  padding: 34px;

  display: flex;
  flex-direction: column;

  border-radius: 25px;
}

.im-pm-delivery-light {
  background: #D5E1C8;

  border: 1px solid rgba(82,99,63,.15);

  box-shadow:
    0 28px 64px rgba(82,99,63,.18);
}

.im-pm-delivery-dark {
  background: #0B4938;

  border: 1px solid rgba(224,197,106,.29);

  box-shadow:
    0 30px 70px rgba(201,162,39,.20);
}

.im-pm-delivery-top {
  margin-bottom: 75px;

  display: flex;
  justify-content: space-between;
  align-items: center;
}

.im-pm-delivery-top span {
  color: #6F7E4F;

  font-size: 8px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-pm-delivery-top i {
  color: #52633F;

  font-size: 24px;
}

.im-pm-delivery-card h2 {
  margin: 0 0 20px;

  color: #0B3D2E;

  font-size: clamp(35px,3.5vw,49px);
  line-height: 1.02;
  font-weight: 700;
  letter-spacing: -.04em;
}

.im-pm-delivery-card h2 span {
  display: block;

  color: #39725A;
}

.im-pm-delivery-card > p {
  margin: 0;

  color: rgba(32,36,42,.70);

  font-size: 12px;
  line-height: 1.82;
}

.im-pm-delivery-points {
  margin-top: auto;
  padding-top: 27px;

  display: grid;
  gap: 10px;

  border-top: 1px solid rgba(82,99,63,.14);
}

.im-pm-delivery-points > div {
  display: flex;
  gap: 9px;

  color: #52633F;

  font-size: 10px;
}

.im-pm-delivery-points i {
  color: #C9A227;
}


/* dark */

.im-pm-delivery-dark .im-pm-delivery-top span,
.im-pm-delivery-dark .im-pm-delivery-top i {
  color: #E0C56A;
}

.im-pm-delivery-dark h2 {
  color: #FFFFFF;
}

.im-pm-delivery-dark h2 span {
  color: #DCE6CC;
}

.im-pm-delivery-dark > p {
  color: rgba(250,249,245,.70);
}

.im-pm-delivery-dark .im-pm-delivery-points {
  border-top-color: rgba(224,197,106,.17);
}

.im-pm-delivery-dark .im-pm-delivery-points > div {
  color: rgba(255,255,255,.75);
}

.im-pm-delivery-dark .im-pm-delivery-points i {
  color: #E0C56A;
}


/* =========================================================
   FUNDING PANEL
   ========================================================= */

.im-pm-funding {
  padding: 35px 0 105px;

  background: #E8EEDF;
}

.im-pm-funding-panel {
  padding: 34px;

  display: grid;
  grid-template-columns: 180px 1fr auto;

  gap: 40px;
  align-items: center;

  background: #F7F3E7;

  border: 1px solid rgba(201,162,39,.22);

  border-left: 3px solid #C9A227;

  border-radius: 19px;

  box-shadow:
    0 22px 52px rgba(82,99,63,.14);
}

.im-pm-funding-mark {
  display: flex;
  flex-direction: column;

  gap: 25px;
}

.im-pm-funding-mark span {
  color: #A98722;

  font-size: 7px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-pm-funding-mark i {
  color: #A98722;

  font-size: 39px;
}

.im-pm-funding-panel h2 {
  margin: 0 0 9px;

  color: #0B3D2E;

  font-size: 28px;
  line-height: 1.12;
}

.im-pm-funding-panel h2 span {
  display: block;

  color: #39725A;
}

.im-pm-funding-panel p {
  margin: 0;

  color: #69736E;

  font-size: 10px;
  line-height: 1.7;
}

.im-pm-funding-panel > a {
  display: inline-flex;
  align-items: center;

  gap: 9px;

  color: #0B3D2E;

  white-space: nowrap;

  font-size: 10px;
  font-weight: 650;
}

.im-pm-funding-panel > a i {
  color: #C9A227;
}


/* =========================================================
   RELATED
   ========================================================= */

.im-pm-related {
  padding: 100px 0;

  background: #FFFFFF;
}

.im-pm-related-heading {
  margin-bottom: 42px;
}

.im-pm-related-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);

  gap: 18px;
}

.im-pm-related-card {
  min-height: 190px;

  padding: 25px;

  display: flex;
  flex-direction: column;

  background: #F2F4EA;

  border: 1px solid rgba(82,99,63,.13);

  border-bottom: 2px solid rgba(201,162,39,.28);

  border-radius: 18px;

  box-shadow:
    0 18px 43px rgba(82,99,63,.11);
}

.im-pm-related-card > span {
  color: #A98722;

  font-size: 9px;
}

.im-pm-related-card h3 {
  margin: 35px 0 0;

  max-width: 280px;

  color: #0B3D2E;

  font-size: 20px;
  line-height: 1.25;
}

.im-pm-related-card i {
  margin-top: auto;
  margin-left: auto;

  color: #C9A227;
}


/* =========================================================
   CLOSING
   ========================================================= */

.im-pm-close {
  padding: 100px 0 115px;

  background: #EEF2E7;
}

.im-pm-close-panel {
  padding: 42px;

  display: grid;
  grid-template-columns: 1fr auto;

  gap: 45px;
  align-items: end;

  background: #0B4938;

  border: 1px solid rgba(224,197,106,.30);

  border-bottom: 2px solid rgba(224,197,106,.55);

  border-radius: 24px;

  box-shadow:
    0 34px 80px rgba(201,162,39,.22);
}

.im-pm-close-panel > div:first-child > span {
  color: #E0C56A;

  font-size: 8px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-pm-close-panel h2 {
  margin: 15px 0 17px;

  max-width: 840px;

  color: #FFFFFF;

  font-size: clamp(42px,4.8vw,66px);
  line-height: 1;
  font-weight: 700;
  letter-spacing: -.045em;
}

.im-pm-close-panel h2 span {
  display: block;

  color: #DCE6CC;
}

.im-pm-close-panel p {
  max-width: 690px;

  margin: 0;

  color: rgba(250,249,245,.71);

  font-size: 12px;
  line-height: 1.8;
}

.im-pm-close-actions {
  display: flex;
  flex-direction: column;

  gap: 10px;
}

.im-pm-close-secondary {
  min-height: 50px;

  padding: 0 18px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 10px;

  color: #FFFFFF;

  border: 1px solid rgba(224,197,106,.27);

  border-radius: 11px;

  font-size: 10px;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1100px) {

  .im-pm-lifecycle-grid {
    grid-template-columns: repeat(3,1fr);
  }

  .im-pm-cap-grid {
    grid-template-columns: repeat(2,1fr);
  }
}


@media (max-width: 1050px) {

  .im-pm-hero-grid,
  .im-pm-position-grid,
  .im-pm-delivery-grid {
    grid-template-columns: 1fr;
  }

  .im-pm-hero-visual {
    min-height: 520px;
  }

  .im-pm-funding-panel {
    grid-template-columns: auto 1fr;
  }

  .im-pm-funding-panel > a {
    grid-column: 2;
  }
}


@media (max-width: 800px) {

  .im-pm-section-heading {
    grid-template-columns: 1fr;

    gap: 19px;
  }

  .im-pm-related-grid {
    grid-template-columns: 1fr;
  }

  .im-pm-close-panel {
    grid-template-columns: 1fr;
  }

  .im-pm-close-actions {
    flex-direction: row;
    flex-wrap: wrap;
  }
}


@media (max-width: 650px) {

  .im-pm-hero {
    padding: 65px 0 75px;
  }

  .im-pm-hero-content h1 {
    font-size: 50px;
  }

  .im-pm-hero-visual {
    min-height: 420px;
  }

  .im-pm-lifecycle,
  .im-pm-capabilities,
  .im-pm-delivery,
  .im-pm-related,
  .im-pm-close {
    padding-top: 72px;
    padding-bottom: 78px;
  }

  .im-pm-lifecycle-grid,
  .im-pm-cap-grid {
    grid-template-columns: 1fr;
  }

  .im-pm-funding-panel {
    grid-template-columns: 1fr;
  }

  .im-pm-funding-panel > a {
    grid-column: auto;
  }

  .im-pm-close-actions {
    flex-direction: column;
  }
}
/* =========================================================
   POLICY REVIEW & ANALYSIS
   Investmetrics Policy Intelligence
   ========================================================= */

.im-policy-page {
  background: #FAFAF6;
  color: #20242A;
}


/* =========================================================
   HERO
   ========================================================= */

.im-policy-hero {
  position: relative;
  overflow: hidden;

  padding: 82px 0 95px;

  background: #F5F1E6;
}

.im-policy-hero-grid {
  display: grid;
  grid-template-columns: 1.02fr .98fr;

  gap: 65px;
  align-items: center;
}

.im-policy-hero-content {
  position: relative;
  z-index: 3;
}

.im-policy-hero-content h1 {
  margin: 16px 0 24px;

  max-width: 780px;

  color: #0B3D2E;

  font-size: clamp(55px,6vw,86px);
  line-height: .96;
  font-weight: 700;
  letter-spacing: -.05em;
}

.im-policy-hero-content h1 span {
  display: block;
  color: #1F6E52;
}

.im-policy-hero-lead {
  max-width: 710px;

  margin: 0;

  color: #66716D;

  font-size: 14px;
  line-height: 1.85;
}

.im-policy-hero-actions {
  margin-top: 31px;

  display: flex;
  flex-wrap: wrap;

  gap: 12px;
}

.im-policy-secondary-link {
  min-height: 52px;

  padding: 0 19px;

  display: inline-flex;
  align-items: center;

  gap: 11px;

  color: #0B3D2E;

  background: rgba(255,255,255,.42);

  border: 1px solid rgba(82,99,63,.17);

  border-radius: 12px;

  font-size: 11px;
  font-weight: 650;
}

.im-policy-secondary-link i {
  color: #C9A227;
}

.im-policy-hero-meta {
  margin-top: 42px;
  padding-top: 22px;

  display: flex;
  flex-wrap: wrap;

  gap: 60px;

  border-top: 1px solid rgba(82,99,63,.14);
}

.im-policy-hero-meta > div {
  display: flex;
  flex-direction: column;

  gap: 4px;
}

.im-policy-hero-meta span {
  color: #A98722;

  font-size: 7px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-policy-hero-meta strong {
  color: #52633F;

  font-size: 10px;
  font-weight: 600;
}


/* =========================================================
   HERO VISUAL
   ========================================================= */

.im-policy-hero-visual {
  position: relative;
  overflow: hidden;

  min-height: 590px;

  border-radius: 27px;

  border: 1px solid rgba(201,162,39,.25);

  box-shadow:
    0 30px 72px rgba(82,99,63,.18),
    0 9px 24px rgba(201,162,39,.11);
}

.im-policy-hero-image {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  object-fit: cover;
}

.im-policy-hero-visual::after {
  content: "";

  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      180deg,
      rgba(7,49,38,.08) 0%,
      rgba(7,49,38,.44) 68%,
      rgba(7,49,38,.91) 100%
    );
}

.im-policy-hero-overlay {
  position: absolute;

  left: 33px;
  right: 33px;
  bottom: 31px;

  z-index: 3;

  color: #FFFFFF;
}

.im-policy-hero-overlay > span {
  display: block;

  margin-bottom: 12px;

  color: #E0C56A;

  font-size: 8px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-policy-hero-overlay h2 {
  margin: 0;

  color: #FFFFFF;

  font-size: clamp(40px,4vw,58px);
  line-height: .98;
  font-weight: 700;
}

.im-policy-hero-overlay-footer {
  margin-top: 28px;
  padding-top: 17px;

  display: flex;
  justify-content: space-between;

  color: rgba(255,255,255,.72);

  border-top: 1px solid rgba(224,197,106,.24);

  font-size: 10px;
}

.im-policy-hero-overlay-footer i {
  color: #E0C56A;
}


/* =========================================================
   POSITION + SHARED HEADINGS
   ========================================================= */

.im-policy-position {
  padding: 95px 0;

  background: #FFFFFF;
}

.im-policy-position-grid {
  display: grid;
  grid-template-columns: 1fr .9fr;

  gap: 80px;
}

.im-policy-position h2,
.im-policy-section-heading h2,
.im-policy-related-heading h2 {
  margin: 12px 0 0;

  color: #0B3D2E;

  font-size: clamp(39px,4vw,58px);
  line-height: 1.04;
  font-weight: 700;
  letter-spacing: -.04em;
}

.im-policy-position h2 span,
.im-policy-section-heading h2 span,
.im-policy-related-heading h2 span {
  display: block;

  color: #1F6E52;
}

.im-policy-position-copy {
  display: grid;
  gap: 17px;
}

.im-policy-position-copy p {
  margin: 0;

  color: #66716D;

  font-size: 13px;
  line-height: 1.85;
}

.im-policy-section-heading {
  margin-bottom: 48px;

  display: grid;
  grid-template-columns: 1fr minmax(330px,470px);

  gap: 70px;

  align-items: end;
}

.im-policy-section-heading > p {
  margin: 0;

  color: #64716B;

  font-size: 13px;
  line-height: 1.8;
}


/* =========================================================
   POLICY PATH
   ========================================================= */

.im-policy-path {
  padding: 105px 0;

  background: #EFF3E8;
}

.im-policy-path-grid {
  display: grid;
  grid-template-columns: repeat(6,1fr);

  gap: 14px;
}

.im-policy-path-card {
  min-height: 285px;

  padding: 22px;

  display: flex;
  flex-direction: column;

  background: #F9FAF5;

  border: 1px solid rgba(82,99,63,.13);

  border-bottom: 2px solid rgba(201,162,39,.26);

  border-radius: 17px;

  box-shadow:
    0 18px 42px rgba(82,99,63,.11);

  transition:
    transform 280ms ease,
    box-shadow 280ms ease;
}

.im-policy-path-1 {
  background: #E3EBD8;
}

.im-policy-path-2 {
  background: #F2EEDF;
}

.im-policy-path-3 {
  background: #D9E3CE;
}

.im-policy-path-4 {
  background: #EBEFE1;
}

.im-policy-path-5 {
  background: #D2DFC5;
}

.im-policy-path-card > span {
  color: rgba(11,61,46,.28);

  font-size: 9px;
  font-weight: 750;
}

.im-policy-path-card > i {
  margin: 48px 0 18px;

  color: #667A4D;

  font-size: 25px;
}

.im-policy-path-card h3 {
  margin: 0 0 9px;

  color: #0B3D2E;

  font-size: 18px;
}

.im-policy-path-card p {
  margin: 0;

  color: #6B7570;

  font-size: 9.5px;
  line-height: 1.7;
}

.im-policy-path-final {
  background: #0B4938;

  border-color: rgba(224,197,106,.30);

  box-shadow:
    0 23px 52px rgba(201,162,39,.18);
}

.im-policy-path-final > span {
  color: rgba(255,255,255,.35);
}

.im-policy-path-final > i {
  color: #E0C56A;
}

.im-policy-path-final h3 {
  color: #FFFFFF;
}

.im-policy-path-final p {
  color: rgba(250,249,245,.69);
}

.im-policy-path-card:hover {
  transform: translateY(-5px);

  box-shadow:
    0 27px 60px rgba(82,99,63,.18);
}


/* =========================================================
   CAPABILITIES
   ========================================================= */

.im-policy-capabilities {
  padding: 105px 0;

  background: #FAFAF6;
}

.im-policy-cap-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);

  gap: 20px;
}

.im-policy-cap-card {
  position: relative;
  overflow: hidden;

  min-height: 445px;

  padding: 27px;

  display: flex;
  flex-direction: column;

  border: 1px solid rgba(82,99,63,.14);

  border-bottom: 2px solid rgba(201,162,39,.30);

  border-radius: 21px;

  box-shadow:
    0 23px 52px rgba(82,99,63,.14),
    0 7px 18px rgba(115,139,85,.07);

  transition:
    transform 280ms ease,
    box-shadow 280ms ease;
}

.im-policy-cap-a {
  background: #E1EAD7;
}

.im-policy-cap-b {
  background: #F3EFDF;
}

.im-policy-cap-c {
  background: #D7E2CB;
}

.im-policy-cap-d {
  background: #E8EDDE;
}

.im-policy-cap-e {
  background: #CFDDBF;
}

.im-policy-cap-f {
  background: #F1EDDD;
}

.im-policy-cap-head {
  position: relative;
  z-index: 3;

  margin-bottom: 48px;

  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.im-policy-cap-head > span {
  color: rgba(11,61,46,.28);

  font-size: 10px;
  font-weight: 750;
}

.im-policy-cap-icon {
  width: 49px;
  height: 49px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #52633F;

  background: rgba(255,255,255,.48);

  border: 1px solid rgba(82,99,63,.11);

  border-radius: 13px;

  font-size: 20px;
}

.im-policy-cap-b .im-policy-cap-icon,
.im-policy-cap-e .im-policy-cap-icon {
  color: #A98722;
}

.im-policy-cap-label {
  position: relative;
  z-index: 3;

  margin-bottom: 9px;

  color: #728052;

  font-size: 7px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-policy-cap-card h3 {
  position: relative;
  z-index: 3;

  margin: 0 0 15px;

  color: #0B3D2E;

  font-size: 27px;
  line-height: 1.14;
  font-weight: 680;
}

.im-policy-cap-card h3 span {
  display: block;
  color: #39725A;
}

.im-policy-cap-card > p {
  position: relative;
  z-index: 3;

  margin: 0;

  color: rgba(32,36,42,.69);

  font-size: 11px;
  line-height: 1.78;
}

.im-policy-cap-list {
  position: relative;
  z-index: 3;

  margin-top: auto;
  padding-top: 22px;

  display: flex;
  flex-wrap: wrap;

  gap: 6px;
}

.im-policy-cap-list span {
  padding: 6px 9px;

  color: #52633F;

  background: rgba(255,255,255,.40);

  border: 1px solid rgba(82,99,63,.09);

  border-radius: 100px;

  font-size: 8px;
}


/* botanical detail */

.im-policy-cap-card::after {
  content: "";

  position: absolute;

  right: -10px;
  bottom: -8px;

  width: 165px;
  height: 130px;

  background-repeat: no-repeat;
  background-size: contain;

  background-image:
    url("data:image/svg+xml,%3Csvg width='165' height='130' viewBox='0 0 165 130' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%2352633F' stroke-width='1.05' stroke-linecap='round'%3E%3Cpath d='M19 130 C24 88 26 56 22 17'/%3E%3Cpath d='M52 130 C59 87 72 52 85 15'/%3E%3Cpath d='M82 130 C86 92 80 62 77 36'/%3E%3Cpath d='M112 130 C120 89 137 59 152 33'/%3E%3Cpath d='M22 71 C12 60 8 50 7 40'/%3E%3Cpath d='M77 70 C64 58 59 48 59 37'/%3E%3Cpath d='M85 65 C98 55 106 44 110 33'/%3E%3C/g%3E%3C/svg%3E");

  opacity: .13;

  pointer-events: none;
}

.im-policy-cap-c::after,
.im-policy-cap-e::after {
  opacity: .20;
}

.im-policy-cap-card:hover {
  transform: translateY(-6px);

  box-shadow:
    0 32px 72px rgba(82,99,63,.21),
    0 9px 24px rgba(115,139,85,.10);
}


/* =========================================================
   POLICY LENSES
   ========================================================= */

.im-policy-lenses {
  padding: 105px 0;

  background: #E8EEDF;
}

.im-policy-lens-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;

  gap: 22px;
}

.im-policy-lens-card {
  min-height: 510px;

  padding: 34px;

  display: flex;
  flex-direction: column;

  border-radius: 25px;
}

.im-policy-lens-light {
  background: #D5E1C8;

  border: 1px solid rgba(82,99,63,.15);

  box-shadow:
    0 28px 64px rgba(82,99,63,.18);
}

.im-policy-lens-dark {
  background: #0B4938;

  border: 1px solid rgba(224,197,106,.29);

  box-shadow:
    0 30px 70px rgba(201,162,39,.20);
}

.im-policy-lens-top {
  margin-bottom: 75px;

  display: flex;
  justify-content: space-between;
  align-items: center;
}

.im-policy-lens-top span {
  color: #6F7E4F;

  font-size: 8px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-policy-lens-top i {
  color: #52633F;

  font-size: 24px;
}

.im-policy-lens-card h2 {
  margin: 0 0 20px;

  color: #0B3D2E;

  font-size: clamp(35px,3.5vw,49px);
  line-height: 1.02;
  font-weight: 700;
  letter-spacing: -.04em;
}

.im-policy-lens-card h2 span {
  display: block;

  color: #39725A;
}

.im-policy-lens-card > p {
  margin: 0;

  color: rgba(32,36,42,.70);

  font-size: 12px;
  line-height: 1.82;
}

.im-policy-lens-list {
  margin-top: auto;
  padding-top: 27px;

  display: grid;
  gap: 10px;

  border-top: 1px solid rgba(82,99,63,.14);
}

.im-policy-lens-list > div {
  display: flex;
  gap: 9px;

  color: #52633F;

  font-size: 10px;
}

.im-policy-lens-list i {
  color: #C9A227;
}


/* Dark lens */

.im-policy-lens-dark .im-policy-lens-top span,
.im-policy-lens-dark .im-policy-lens-top i {
  color: #E0C56A;
}

.im-policy-lens-dark h2 {
  color: #FFFFFF;
}

.im-policy-lens-dark h2 span {
  color: #DCE6CC;
}

.im-policy-lens-dark > p {
  color: rgba(250,249,245,.70);
}

.im-policy-lens-dark .im-policy-lens-list {
  border-top-color: rgba(224,197,106,.17);
}

.im-policy-lens-dark .im-policy-lens-list > div {
  color: rgba(255,255,255,.75);
}

.im-policy-lens-dark .im-policy-lens-list i {
  color: #E0C56A;
}


/* =========================================================
   POLICY PRINCIPLE
   ========================================================= */

.im-policy-principle {
  padding: 35px 0 105px;

  background: #E8EEDF;
}

.im-policy-principle-panel {
  padding: 34px;

  display: grid;
  grid-template-columns: 180px 1fr auto;

  gap: 40px;
  align-items: center;

  background: #F7F3E7;

  border: 1px solid rgba(201,162,39,.22);

  border-left: 3px solid #C9A227;

  border-radius: 19px;

  box-shadow:
    0 22px 52px rgba(82,99,63,.14);
}

.im-policy-principle-mark {
  display: flex;
  flex-direction: column;

  gap: 25px;
}

.im-policy-principle-mark span {
  color: #A98722;

  font-size: 7px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-policy-principle-mark i {
  color: #A98722;

  font-size: 39px;
}

.im-policy-principle-panel h2 {
  margin: 0 0 9px;

  color: #0B3D2E;

  font-size: 28px;
  line-height: 1.12;
}

.im-policy-principle-panel h2 span {
  display: block;

  color: #39725A;
}

.im-policy-principle-panel p {
  margin: 0;

  color: #69736E;

  font-size: 10px;
  line-height: 1.7;
}

.im-policy-principle-panel > a {
  display: inline-flex;
  align-items: center;

  gap: 9px;

  color: #0B3D2E;

  white-space: nowrap;

  font-size: 10px;
  font-weight: 650;
}

.im-policy-principle-panel > a i {
  color: #C9A227;
}


/* =========================================================
   RELATED
   ========================================================= */

.im-policy-related {
  padding: 100px 0;

  background: #FFFFFF;
}

.im-policy-related-heading {
  margin-bottom: 42px;
}

.im-policy-related-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);

  gap: 18px;
}

.im-policy-related-card {
  min-height: 190px;

  padding: 25px;

  display: flex;
  flex-direction: column;

  background: #F2F4EA;

  border: 1px solid rgba(82,99,63,.13);

  border-bottom: 2px solid rgba(201,162,39,.28);

  border-radius: 18px;

  box-shadow:
    0 18px 43px rgba(82,99,63,.11);
}

.im-policy-related-card > span {
  color: #A98722;

  font-size: 9px;
}

.im-policy-related-card h3 {
  margin: 35px 0 0;

  max-width: 280px;

  color: #0B3D2E;

  font-size: 20px;
  line-height: 1.25;
}

.im-policy-related-card i {
  margin-top: auto;
  margin-left: auto;

  color: #C9A227;
}


/* =========================================================
   CLOSING
   ========================================================= */

.im-policy-close {
  padding: 100px 0 115px;

  background: #EEF2E7;
}

.im-policy-close-panel {
  padding: 42px;

  display: grid;
  grid-template-columns: 1fr auto;

  gap: 45px;
  align-items: end;

  background: #0B4938;

  border: 1px solid rgba(224,197,106,.30);

  border-bottom: 2px solid rgba(224,197,106,.55);

  border-radius: 24px;

  box-shadow:
    0 34px 80px rgba(201,162,39,.22);
}

.im-policy-close-panel > div:first-child > span {
  color: #E0C56A;

  font-size: 8px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-policy-close-panel h2 {
  margin: 15px 0 17px;

  max-width: 840px;

  color: #FFFFFF;

  font-size: clamp(42px,4.8vw,66px);
  line-height: 1;
  font-weight: 700;
  letter-spacing: -.045em;
}

.im-policy-close-panel h2 span {
  display: block;

  color: #DCE6CC;
}

.im-policy-close-panel p {
  max-width: 690px;

  margin: 0;

  color: rgba(250,249,245,.71);

  font-size: 12px;
  line-height: 1.8;
}

.im-policy-close-actions {
  display: flex;
  flex-direction: column;

  gap: 10px;
}

.im-policy-close-secondary {
  min-height: 50px;

  padding: 0 18px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 10px;

  color: #FFFFFF;

  border: 1px solid rgba(224,197,106,.27);

  border-radius: 11px;

  font-size: 10px;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1100px) {

  .im-policy-path-grid {
    grid-template-columns: repeat(3,1fr);
  }

  .im-policy-cap-grid {
    grid-template-columns: repeat(2,1fr);
  }
}


@media (max-width: 1050px) {

  .im-policy-hero-grid,
  .im-policy-position-grid,
  .im-policy-lens-grid {
    grid-template-columns: 1fr;
  }

  .im-policy-hero-visual {
    min-height: 520px;
  }

  .im-policy-principle-panel {
    grid-template-columns: auto 1fr;
  }

  .im-policy-principle-panel > a {
    grid-column: 2;
  }
}


@media (max-width: 800px) {

  .im-policy-section-heading {
    grid-template-columns: 1fr;
    gap: 19px;
  }

  .im-policy-related-grid {
    grid-template-columns: 1fr;
  }

  .im-policy-close-panel {
    grid-template-columns: 1fr;
  }

  .im-policy-close-actions {
    flex-direction: row;
    flex-wrap: wrap;
  }
}


@media (max-width: 650px) {

  .im-policy-hero {
    padding: 65px 0 75px;
  }

  .im-policy-hero-content h1 {
    font-size: 50px;
  }

  .im-policy-hero-visual {
    min-height: 420px;
  }

  .im-policy-path,
  .im-policy-capabilities,
  .im-policy-lenses,
  .im-policy-related,
  .im-policy-close {
    padding-top: 72px;
    padding-bottom: 78px;
  }

  .im-policy-path-grid,
  .im-policy-cap-grid {
    grid-template-columns: 1fr;
  }

  .im-policy-principle-panel {
    grid-template-columns: 1fr;
  }

  .im-policy-principle-panel > a {
    grid-column: auto;
  }

  .im-policy-close-actions {
    flex-direction: column;
  }
}
/* =========================================================
   ACADEMIC MENTORSHIP & TRAINING
   Investmetrics Learning Intelligence
   ========================================================= */

.im-am-page {
  background: #FAFAF6;
  color: #20242A;
}


/* =========================================================
   HERO
   ========================================================= */

.im-am-hero {
  position: relative;
  overflow: hidden;

  padding: 82px 0 95px;

  background: #F5F1E6;
}

.im-am-hero-grid {
  display: grid;
  grid-template-columns: 1.02fr .98fr;

  gap: 65px;
  align-items: center;
}

.im-am-hero-content {
  position: relative;
  z-index: 3;
}

.im-am-hero-content h1 {
  margin: 16px 0 24px;

  max-width: 790px;

  color: #0B3D2E;

  font-size: clamp(55px,6vw,86px);
  line-height: .96;
  font-weight: 700;
  letter-spacing: -.05em;
}

.im-am-hero-content h1 span {
  display: block;
  color: #1F6E52;
}

.im-am-hero-lead {
  max-width: 700px;

  margin: 0;

  color: #66716D;

  font-size: 14px;
  line-height: 1.85;
}

.im-am-hero-actions {
  margin-top: 31px;

  display: flex;
  flex-wrap: wrap;

  gap: 12px;
}

.im-am-secondary-link {
  min-height: 52px;

  padding: 0 19px;

  display: inline-flex;
  align-items: center;

  gap: 11px;

  color: #0B3D2E;

  background: rgba(255,255,255,.44);

  border: 1px solid rgba(82,99,63,.17);

  border-radius: 12px;

  font-size: 11px;
  font-weight: 650;
}

.im-am-secondary-link i {
  color: #C9A227;
}

.im-am-hero-meta {
  margin-top: 42px;
  padding-top: 22px;

  display: flex;
  flex-wrap: wrap;

  gap: 60px;

  border-top: 1px solid rgba(82,99,63,.14);
}

.im-am-hero-meta > div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.im-am-hero-meta span {
  color: #A98722;

  font-size: 7px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-am-hero-meta strong {
  color: #52633F;

  font-size: 10px;
  font-weight: 600;
}


/* =========================================================
   HERO VISUAL
   ========================================================= */

.im-am-hero-visual {
  position: relative;
  overflow: hidden;

  min-height: 590px;

  border-radius: 27px;

  border: 1px solid rgba(201,162,39,.25);

  box-shadow:
    0 30px 72px rgba(82,99,63,.18),
    0 9px 24px rgba(201,162,39,.11);
}

.im-am-hero-image {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  object-fit: cover;
}

.im-am-hero-visual::after {
  content: "";

  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      180deg,
      rgba(7,49,38,.05) 0%,
      rgba(7,49,38,.40) 65%,
      rgba(7,49,38,.88) 100%
    );
}

.im-am-hero-overlay {
  position: absolute;

  left: 33px;
  right: 33px;
  bottom: 31px;

  z-index: 3;
}

.im-am-hero-overlay > span {
  display: block;

  margin-bottom: 12px;

  color: #E0C56A;

  font-size: 8px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-am-hero-overlay h2 {
  margin: 0;

  color: #FFFFFF;

  font-size: clamp(40px,4vw,58px);
  line-height: .98;
  font-weight: 700;
}

.im-am-hero-overlay-footer {
  margin-top: 28px;
  padding-top: 17px;

  display: flex;
  justify-content: space-between;

  color: rgba(255,255,255,.72);

  border-top: 1px solid rgba(224,197,106,.24);

  font-size: 10px;
}

.im-am-hero-overlay-footer i {
  color: #E0C56A;
}


/* =========================================================
   POSITION + HEADINGS
   ========================================================= */

.im-am-position {
  padding: 95px 0;

  background: #FFFFFF;
}

.im-am-position-grid {
  display: grid;
  grid-template-columns: 1fr .9fr;

  gap: 80px;
}

.im-am-position h2,
.im-am-section-heading h2,
.im-am-related-heading h2 {
  margin: 12px 0 0;

  color: #0B3D2E;

  font-size: clamp(39px,4vw,58px);
  line-height: 1.04;
  font-weight: 700;
  letter-spacing: -.04em;
}

.im-am-position h2 span,
.im-am-section-heading h2 span,
.im-am-related-heading h2 span {
  display: block;

  color: #1F6E52;
}

.im-am-position-copy {
  display: grid;
  gap: 17px;
}

.im-am-position-copy p {
  margin: 0;

  color: #66716D;

  font-size: 13px;
  line-height: 1.85;
}

.im-am-section-heading {
  margin-bottom: 48px;

  display: grid;
  grid-template-columns: 1fr minmax(330px,470px);

  gap: 70px;
  align-items: end;
}

.im-am-section-heading > p {
  margin: 0;

  color: #64716B;

  font-size: 13px;
  line-height: 1.8;
}


/* =========================================================
   AUDIENCE
   ========================================================= */

.im-am-audience {
  padding: 100px 0;

  background: #EFF3E8;
}

.im-am-audience-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);

  gap: 20px;
}

.im-am-audience-card {
  min-height: 320px;

  padding: 27px;

  display: flex;
  flex-direction: column;

  border: 1px solid rgba(82,99,63,.14);

  border-bottom: 2px solid rgba(201,162,39,.29);

  border-radius: 20px;

  box-shadow:
    0 22px 50px rgba(82,99,63,.14);
}

.im-am-audience-a {
  background: #E1EAD7;
}

.im-am-audience-b {
  background: #F3EFDF;
}

.im-am-audience-c {
  background: #D5E1C8;
}

.im-am-audience-card > span {
  color: rgba(11,61,46,.28);

  font-size: 9px;
  font-weight: 750;
}

.im-am-audience-card > i {
  margin: 48px 0 20px;

  color: #667A4D;

  font-size: 28px;
}

.im-am-audience-card h3 {
  margin: 0 0 12px;

  color: #0B3D2E;

  font-size: 25px;
}

.im-am-audience-card p {
  margin: 0;

  color: #68736E;

  font-size: 11px;
  line-height: 1.75;
}


/* =========================================================
   JOURNEY
   ========================================================= */

.im-am-journey {
  padding: 105px 0;

  background: #FAFAF6;
}

.im-am-journey-grid {
  display: grid;
  grid-template-columns: repeat(5,1fr);

  gap: 15px;
}

.im-am-journey-card {
  min-height: 280px;

  padding: 22px;

  display: flex;
  flex-direction: column;

  border: 1px solid rgba(82,99,63,.13);

  border-bottom: 2px solid rgba(201,162,39,.25);

  border-radius: 17px;

  box-shadow:
    0 18px 42px rgba(82,99,63,.10);
}

.im-am-journey-1 {
  background: #E5ECD9;
}

.im-am-journey-2 {
  background: #F3EFDF;
}

.im-am-journey-3 {
  background: #D9E3CE;
}

.im-am-journey-4 {
  background: #EAEFDF;
}

.im-am-journey-card > span {
  color: rgba(11,61,46,.28);

  font-size: 9px;
}

.im-am-journey-card > i {
  margin: 46px 0 18px;

  color: #667A4D;

  font-size: 25px;
}

.im-am-journey-card h3 {
  margin: 0 0 9px;

  color: #0B3D2E;

  font-size: 18px;
}

.im-am-journey-card p {
  margin: 0;

  color: #6B7570;

  font-size: 9.5px;
  line-height: 1.7;
}

.im-am-journey-final {
  background: #0B4938;

  border-color: rgba(224,197,106,.30);

  box-shadow:
    0 23px 52px rgba(201,162,39,.18);
}

.im-am-journey-final > span {
  color: rgba(255,255,255,.35);
}

.im-am-journey-final > i {
  color: #E0C56A;
}

.im-am-journey-final h3 {
  color: #FFFFFF;
}

.im-am-journey-final p {
  color: rgba(250,249,245,.69);
}


/* =========================================================
   CAPABILITIES
   ========================================================= */

.im-am-capabilities {
  padding: 105px 0;

  background: #E8EEDF;
}

.im-am-cap-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);

  gap: 20px;
}

.im-am-cap-card {
  position: relative;
  overflow: hidden;

  min-height: 440px;

  padding: 27px;

  display: flex;
  flex-direction: column;

  border: 1px solid rgba(82,99,63,.14);

  border-bottom: 2px solid rgba(201,162,39,.30);

  border-radius: 21px;

  box-shadow:
    0 23px 52px rgba(82,99,63,.14),
    0 7px 18px rgba(115,139,85,.07);
}

.im-am-cap-a {
  background: #E1EAD7;
}

.im-am-cap-b {
  background: #F3EFDF;
}

.im-am-cap-c {
  background: #D6E1CB;
}

.im-am-cap-d {
  background: #E8EDDE;
}

.im-am-cap-e {
  background: #CFDDBF;
}

.im-am-cap-f {
  background: #F1EDDD;
}

.im-am-cap-head {
  position: relative;
  z-index: 3;

  margin-bottom: 48px;

  display: flex;
  justify-content: space-between;
}

.im-am-cap-head > span {
  color: rgba(11,61,46,.28);

  font-size: 10px;
}

.im-am-cap-icon {
  width: 49px;
  height: 49px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #52633F;

  background: rgba(255,255,255,.48);

  border: 1px solid rgba(82,99,63,.11);

  border-radius: 13px;

  font-size: 20px;
}

.im-am-cap-c .im-am-cap-icon,
.im-am-cap-e .im-am-cap-icon {
  color: #A98722;
}

.im-am-cap-label {
  position: relative;
  z-index: 3;

  margin-bottom: 9px;

  color: #728052;

  font-size: 7px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-am-cap-card h3 {
  position: relative;
  z-index: 3;

  margin: 0 0 15px;

  color: #0B3D2E;

  font-size: 27px;
  line-height: 1.14;
  font-weight: 680;
}

.im-am-cap-card h3 span {
  display: block;
  color: #39725A;
}

.im-am-cap-card > p {
  position: relative;
  z-index: 3;

  margin: 0;

  color: rgba(32,36,42,.69);

  font-size: 11px;
  line-height: 1.78;
}

.im-am-cap-list {
  position: relative;
  z-index: 3;

  margin-top: auto;
  padding-top: 22px;

  display: flex;
  flex-wrap: wrap;

  gap: 6px;
}

.im-am-cap-list span {
  padding: 6px 9px;

  color: #52633F;

  background: rgba(255,255,255,.40);

  border: 1px solid rgba(82,99,63,.09);

  border-radius: 100px;

  font-size: 8px;
}


/* botanical detail */

.im-am-cap-card::after {
  content: "";

  position: absolute;

  right: -10px;
  bottom: -8px;

  width: 165px;
  height: 130px;

  background-repeat: no-repeat;
  background-size: contain;

  background-image:
    url("data:image/svg+xml,%3Csvg width='165' height='130' viewBox='0 0 165 130' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%2352633F' stroke-width='1.05' stroke-linecap='round'%3E%3Cpath d='M19 130 C24 88 26 56 22 17'/%3E%3Cpath d='M52 130 C59 87 72 52 85 15'/%3E%3Cpath d='M82 130 C86 92 80 62 77 36'/%3E%3Cpath d='M112 130 C120 89 137 59 152 33'/%3E%3Cpath d='M22 71 C12 60 8 50 7 40'/%3E%3Cpath d='M77 70 C64 58 59 48 59 37'/%3E%3Cpath d='M85 65 C98 55 106 44 110 33'/%3E%3C/g%3E%3C/svg%3E");

  opacity: .13;

  pointer-events: none;
}

.im-am-cap-c::after,
.im-am-cap-e::after {
  opacity: .20;
}


/* =========================================================
   OUTCOMES
   ========================================================= */

.im-am-outcomes {
  padding: 105px 0;

  background: #FAFAF6;
}

.im-am-outcomes-grid {
  display: grid;
  grid-template-columns: .85fr 1.15fr;

  gap: 75px;
  align-items: start;
}

.im-am-outcomes-intro {
  position: sticky;
  top: 120px;
}

.im-am-outcomes-intro h2 {
  margin: 12px 0 20px;

  color: #0B3D2E;

  font-size: clamp(39px,4vw,56px);
  line-height: 1.04;
  font-weight: 700;
  letter-spacing: -.04em;
}

.im-am-outcomes-intro h2 span {
  display: block;
  color: #1F6E52;
}

.im-am-outcomes-intro p {
  margin: 0;

  color: #68736E;

  font-size: 12px;
  line-height: 1.8;
}

.im-am-outcomes-list {
  display: grid;
  gap: 13px;
}

.im-am-outcomes-list article {
  padding: 23px;

  display: grid;
  grid-template-columns: 45px 1fr;

  gap: 16px;

  background: #F0F3E8;

  border: 1px solid rgba(82,99,63,.12);

  border-radius: 15px;

  box-shadow:
    0 15px 36px rgba(82,99,63,.09);
}

.im-am-outcomes-list article > span {
  color: #A98722;

  font-size: 9px;
  font-weight: 750;
}

.im-am-outcomes-list h3 {
  margin: 0 0 5px;

  color: #0B3D2E;

  font-size: 16px;
}

.im-am-outcomes-list p {
  margin: 0;

  color: #68736E;

  font-size: 10px;
  line-height: 1.65;
}


/* =========================================================
   AI AT WORK
   ========================================================= */

.im-am-ai {
  padding: 105px 0;

  background: #E8EEDF;
}

.im-am-ai-panel {
  position: relative;
  overflow: hidden;

  min-height: 510px;

  padding: 40px;

  display: grid;
  grid-template-columns: 175px 1fr auto;

  gap: 48px;
  align-items: start;

  background: #093F31;

  border: 1px solid rgba(224,197,106,.30);

  border-bottom: 2px solid rgba(224,197,106,.56);

  border-radius: 27px;

  box-shadow:
    0 34px 80px rgba(201,162,39,.23),
    0 11px 30px rgba(5,43,36,.16);
}

.im-am-ai-brand {
  position: relative;
  z-index: 3;

  display: flex;
  flex-direction: column;
  gap: 30px;
}

.im-am-ai-brand > span {
  color: #E0C56A;

  font-size: 7px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-am-ai-icon {
  width: 65px;
  height: 65px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #E0C56A;

  background: rgba(224,197,106,.08);

  border: 1px solid rgba(224,197,106,.25);

  border-radius: 17px;

  font-size: 27px;
}

.im-am-ai-content {
  position: relative;
  z-index: 3;
}

.im-am-ai-kicker {
  display: block;

  margin-bottom: 10px;

  color: #E0C56A;

  font-size: 8px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-am-ai-content h2 {
  margin: 0 0 20px;

  color: #FFFFFF;

  font-size: clamp(52px,5vw,74px);
  line-height: .96;
  font-weight: 700;
  letter-spacing: -.045em;
}

.im-am-ai-content h2 span {
  display: block;

  color: #DCE6CC;
}

.im-am-ai-content > p {
  max-width: 640px;

  margin: 0;

  color: rgba(250,249,245,.70);

  font-size: 12px;
  line-height: 1.82;
}

.im-am-ai-rule {
  margin-top: 29px;
  padding: 18px 20px;

  max-width: 610px;

  background: rgba(255,255,255,.045);

  border: 1px solid rgba(224,197,106,.17);

  border-left: 3px solid #C9A227;

  border-radius: 12px;
}

.im-am-ai-rule span {
  display: block;

  margin-bottom: 5px;

  color: rgba(224,197,106,.72);

  font-size: 7px;
  font-weight: 750;
  letter-spacing: .13em;
}

.im-am-ai-rule strong {
  color: #FFFFFF;

  font-size: 14px;
  font-weight: 650;
}

.im-am-ai-tags {
  margin-top: 18px;

  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.im-am-ai-tags span {
  padding: 7px 10px;

  color: rgba(255,255,255,.76);

  border: 1px solid rgba(224,197,106,.17);

  border-radius: 100px;

  font-size: 8px;
}

.im-am-ai-actions {
  position: relative;
  z-index: 3;

  align-self: end;

  display: flex;
  flex-direction: column;

  gap: 10px;
}

.im-am-ai-secondary {
  min-height: 50px;

  padding: 0 18px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 9px;

  color: #FFFFFF;

  border: 1px solid rgba(224,197,106,.28);

  border-radius: 11px;

  font-size: 10px;
}

.im-am-ai-botanical {
  position: absolute;

  right: -10px;
  bottom: -5px;

  width: 360px;
  height: 270px;

  background-repeat: no-repeat;
  background-size: contain;
  background-position: right bottom;

  background-image:
    url("data:image/svg+xml,%3Csvg width='360' height='270' viewBox='0 0 360 270' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23E0C56A' stroke-width='1.15' stroke-linecap='round'%3E%3Cpath d='M47 270 C53 190 57 128 52 46'/%3E%3Cpath d='M107 270 C117 185 143 116 166 34'/%3E%3Cpath d='M159 270 C165 196 156 132 151 74'/%3E%3Cpath d='M219 270 C232 184 262 119 291 59'/%3E%3Cpath d='M52 150 C30 131 20 108 18 85'/%3E%3Cpath d='M151 153 C123 128 113 104 114 81'/%3E%3Cpath d='M166 143 C194 124 211 98 218 75'/%3E%3Cpath d='M291 151 C316 130 330 106 338 84'/%3E%3C/g%3E%3C/svg%3E");

  opacity: .15;

  pointer-events: none;
}


/* =========================================================
   RELATED
   ========================================================= */

.im-am-related {
  padding: 100px 0;

  background: #FFFFFF;
}

.im-am-related-heading {
  margin-bottom: 42px;
}

.im-am-related-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);

  gap: 18px;
}

.im-am-related-card {
  min-height: 190px;

  padding: 25px;

  display: flex;
  flex-direction: column;

  background: #F2F4EA;

  border: 1px solid rgba(82,99,63,.13);

  border-bottom: 2px solid rgba(201,162,39,.28);

  border-radius: 18px;

  box-shadow:
    0 18px 43px rgba(82,99,63,.11);
}

.im-am-related-card > span {
  color: #A98722;

  font-size: 9px;
}

.im-am-related-card h3 {
  margin: 35px 0 0;

  max-width: 280px;

  color: #0B3D2E;

  font-size: 20px;
  line-height: 1.25;
}

.im-am-related-card i {
  margin-top: auto;
  margin-left: auto;

  color: #C9A227;
}


/* =========================================================
   CLOSE
   ========================================================= */

.im-am-close {
  padding: 100px 0 115px;

  background: #EEF2E7;
}

.im-am-close-panel {
  padding: 42px;

  display: grid;
  grid-template-columns: 1fr auto;

  gap: 45px;
  align-items: end;

  background: #0B4938;

  border: 1px solid rgba(224,197,106,.30);

  border-bottom: 2px solid rgba(224,197,106,.55);

  border-radius: 24px;

  box-shadow:
    0 34px 80px rgba(201,162,39,.22);
}

.im-am-close-panel > div:first-child > span {
  color: #E0C56A;

  font-size: 8px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-am-close-panel h2 {
  margin: 15px 0 17px;

  max-width: 840px;

  color: #FFFFFF;

  font-size: clamp(42px,4.8vw,66px);
  line-height: 1;
  font-weight: 700;
  letter-spacing: -.045em;
}

.im-am-close-panel h2 span {
  display: block;
  color: #DCE6CC;
}

.im-am-close-panel p {
  max-width: 690px;

  margin: 0;

  color: rgba(250,249,245,.71);

  font-size: 12px;
  line-height: 1.8;
}

.im-am-close-actions {
  display: flex;
  flex-direction: column;

  gap: 10px;
}

.im-am-close-secondary {
  min-height: 50px;

  padding: 0 18px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 10px;

  color: #FFFFFF;

  border: 1px solid rgba(224,197,106,.27);

  border-radius: 11px;

  font-size: 10px;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1050px) {

  .im-am-hero-grid,
  .im-am-position-grid,
  .im-am-outcomes-grid {
    grid-template-columns: 1fr;
  }

  .im-am-hero-visual {
    min-height: 520px;
  }

  .im-am-cap-grid {
    grid-template-columns: repeat(2,1fr);
  }

  .im-am-journey-grid {
    grid-template-columns: repeat(3,1fr);
  }

  .im-am-ai-panel {
    grid-template-columns: auto 1fr;
  }

  .im-am-ai-actions {
    grid-column: 2;
  }

  .im-am-outcomes-intro {
    position: static;
  }
}


@media (max-width: 800px) {

  .im-am-section-heading {
    grid-template-columns: 1fr;
    gap: 19px;
  }

  .im-am-audience-grid,
  .im-am-related-grid {
    grid-template-columns: 1fr;
  }

  .im-am-close-panel {
    grid-template-columns: 1fr;
  }

  .im-am-close-actions {
    flex-direction: row;
    flex-wrap: wrap;
  }
}


@media (max-width: 650px) {

  .im-am-hero {
    padding: 65px 0 75px;
  }

  .im-am-hero-content h1 {
    font-size: 50px;
  }

  .im-am-hero-visual {
    min-height: 420px;
  }

  .im-am-audience,
  .im-am-journey,
  .im-am-capabilities,
  .im-am-outcomes,
  .im-am-ai,
  .im-am-related,
  .im-am-close {
    padding-top: 72px;
    padding-bottom: 78px;
  }

  .im-am-cap-grid,
  .im-am-journey-grid {
    grid-template-columns: 1fr;
  }

  .im-am-ai-panel {
    grid-template-columns: 1fr;

    padding: 27px;
  }

  .im-am-ai-actions {
    grid-column: auto;
  }

  .im-am-ai-content h2 {
    font-size: 50px;
  }

  .im-am-close-actions {
    flex-direction: column;
  }
}
/* =========================================================
   REPORTS — INVESTMETRICS EVIDENCE LIBRARY
   ========================================================= */

.im-reports-page {
  background: #FAFAF6;
  color: #20242A;
}


/* HERO */

.im-reports-hero {
  padding: 88px 0 100px;

  background: #F5F1E6;
}

.im-reports-hero-grid {
  display: grid;
  grid-template-columns: 1.04fr .96fr;

  gap: 68px;
  align-items: center;
}

.im-reports-hero-content h1 {
  margin: 16px 0 25px;

  max-width: 820px;

  color: #0B3D2E;

  font-size: clamp(56px, 6vw, 86px);
  line-height: .96;
  font-weight: 700;
  letter-spacing: -.05em;
}

.im-reports-hero-content h1 span {
  display: block;

  color: #1F6E52;
}

.im-reports-hero-content > p {
  max-width: 700px;

  margin: 0;

  color: #66716D;

  font-size: 14px;
  line-height: 1.85;
}

.im-reports-hero-actions {
  margin-top: 31px;

  display: flex;
  flex-wrap: wrap;

  gap: 12px;
}

.im-reports-secondary {
  min-height: 52px;

  padding: 0 19px;

  display: inline-flex;
  align-items: center;

  gap: 10px;

  color: #0B3D2E;

  background: rgba(255,255,255,.45);

  border: 1px solid rgba(82,99,63,.16);

  border-radius: 12px;

  font-size: 11px;
  font-weight: 650;
}

.im-reports-secondary i {
  color: #C9A227;
}


/* HERO META */

.im-reports-hero-meta {
  margin-top: 42px;
  padding-top: 22px;

  display: flex;
  flex-wrap: wrap;

  gap: 55px;

  border-top: 1px solid rgba(82,99,63,.14);
}

.im-reports-hero-meta > div {
  display: flex;
  flex-direction: column;

  gap: 4px;
}

.im-reports-hero-meta strong {
  color: #0B3D2E;

  font-size: 16px;
}

.im-reports-hero-meta span {
  color: #737D77;

  font-size: 9px;
}


/* HERO LIBRARY */

.im-reports-hero-library {
  min-height: 560px;

  padding: 32px;

  display: flex;
  flex-direction: column;

  background: #0B4938;

  border: 1px solid rgba(224,197,106,.30);

  border-radius: 27px;

  box-shadow:
    0 32px 75px rgba(201,162,39,.19);

  overflow: hidden;
}

.im-reports-library-top {
  display: flex;
  justify-content: space-between;

  color: #E0C56A;
}

.im-reports-library-top span {
  font-size: 8px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-reports-library-top i {
  font-size: 25px;
}

.im-reports-library-stack {
  margin: auto 0;

  display: grid;

  gap: 12px;
}

.im-reports-stack-card {
  min-height: 86px;

  padding: 18px 20px;

  display: grid;
  grid-template-columns: 36px 1fr;

  align-items: center;

  border-radius: 13px;

  border: 1px solid rgba(224,197,106,.16);
}

.im-reports-stack-card span {
  color: #E0C56A;

  font-size: 8px;
}

.im-reports-stack-card strong {
  color: #FFFFFF;

  font-size: 16px;
  font-weight: 600;
}

.im-reports-stack-1 {
  background: rgba(255,255,255,.045);
}

.im-reports-stack-2 {
  margin-left: 28px;

  background: rgba(224,197,106,.065);
}

.im-reports-stack-3 {
  margin-left: 56px;

  background: #164F3E;
}

.im-reports-library-bottom {
  padding-top: 18px;

  display: flex;
  justify-content: space-between;
  align-items: end;

  border-top: 1px solid rgba(224,197,106,.16);
}

.im-reports-library-bottom span {
  color: #E0C56A;

  font-size: 8px;
  font-weight: 750;
  letter-spacing: .13em;
}

.im-reports-library-bottom strong {
  max-width: 220px;

  color: rgba(255,255,255,.74);

  font-size: 10px;
  text-align: right;
}


/* INTRO */

.im-reports-intro {
  padding: 95px 0;

  background: #FFFFFF;
}

.im-reports-intro-grid {
  display: grid;
  grid-template-columns: 1fr .9fr;

  gap: 80px;
}

.im-reports-intro h2,
.im-reports-library-heading h2 {
  margin: 12px 0 0;

  color: #0B3D2E;

  font-size: clamp(40px,4vw,58px);
  line-height: 1.04;
  font-weight: 700;
  letter-spacing: -.04em;
}

.im-reports-intro h2 span,
.im-reports-library-heading h2 span {
  display: block;

  color: #1F6E52;
}

.im-reports-intro-grid > div:last-child {
  display: grid;

  gap: 17px;
}

.im-reports-intro p {
  margin: 0;

  color: #66716D;

  font-size: 13px;
  line-height: 1.85;
}


/* LIBRARY */

.im-reports-library {
  padding: 105px 0;

  background: #E8EEDF;
}

.im-reports-library-heading {
  margin-bottom: 48px;

  display: flex;
  justify-content: space-between;
  align-items: end;

  gap: 40px;
}

.im-reports-library-index {
  display: flex;
  flex-direction: column;

  align-items: flex-end;

  gap: 5px;
}

.im-reports-library-index span {
  color: #A98722;

  font-size: 7px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-reports-library-index strong {
  color: #52633F;

  font-size: 15px;
}


/* REPORT CARDS */

.im-reports-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);

  gap: 20px;
}

.im-report-card {
  position: relative;
  overflow: hidden;

  min-height: 555px;

  padding: 28px;

  display: flex;
  flex-direction: column;

  border: 1px solid rgba(82,99,63,.14);

  border-bottom: 2px solid rgba(201,162,39,.30);

  border-radius: 22px;

  box-shadow:
    0 24px 56px rgba(82,99,63,.14);

  transition:
    transform 280ms ease,
    box-shadow 280ms ease;
}

.im-report-card-a {
  background: #F5F1E6;
}

.im-report-card-b {
  background: #D9E3CE;
}

.im-report-card-feature {
  background: #D0DDBF;
}

.im-report-card-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.im-report-number {
  color: rgba(11,61,46,.28);

  font-size: 10px;
  font-weight: 750;
}

.im-report-icon {
  width: 51px;
  height: 51px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #52633F;

  background: rgba(255,255,255,.47);

  border: 1px solid rgba(82,99,63,.10);

  border-radius: 13px;

  font-size: 21px;
}

.im-report-type {
  margin-top: 47px;
  margin-bottom: 10px;

  color: #A98722;

  font-size: 7px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-report-card h3 {
  margin: 0 0 16px;

  color: #0B3D2E;

  font-size: 28px;
  line-height: 1.12;
  font-weight: 690;
}

.im-report-card h3 span {
  display: block;

  color: #39725A;
}

.im-report-description {
  margin: 0;

  color: rgba(32,36,42,.69);

  font-size: 11px;
  line-height: 1.78;
}

.im-report-tags {
  margin-top: 23px;

  display: flex;
  flex-wrap: wrap;

  gap: 6px;
}

.im-report-tags span {
  padding: 6px 9px;

  color: #52633F;

  background: rgba(255,255,255,.41);

  border: 1px solid rgba(82,99,63,.09);

  border-radius: 100px;

  font-size: 8px;
}

.im-report-meta {
  margin-top: auto;
  padding-top: 25px;

  display: grid;
  grid-template-columns: 1fr 1fr;

  gap: 15px;

  border-top: 1px solid rgba(82,99,63,.13);
}

.im-report-meta > div {
  display: flex;
  flex-direction: column;

  gap: 4px;
}

.im-report-meta small {
  color: #A98722;

  font-size: 6.5px;
  font-weight: 750;
  letter-spacing: .12em;
}

.im-report-meta strong {
  color: #52633F;

  font-size: 9px;
  font-weight: 600;
}

.im-report-open {
  margin-top: 22px;

  min-height: 48px;

  padding: 0 15px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  color: #FFFFFF;

  background: #0B4938;

  border-radius: 11px;

  font-size: 10px;
  font-weight: 650;
}

.im-report-open i {
  color: #E0C56A;
}

.im-report-card:hover {
  transform: translateY(-6px);

  box-shadow:
    0 34px 75px rgba(82,99,63,.21);
}


/* BOTANICAL LINEWORK */

.im-report-card::after {
  content: "";

  position: absolute;

  right: -8px;
  top: -5px;

  width: 145px;
  height: 120px;

  background-repeat: no-repeat;
  background-size: contain;

  background-image:
    url("data:image/svg+xml,%3Csvg width='145' height='120' viewBox='0 0 145 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%2352633F' stroke-width='1' stroke-linecap='round'%3E%3Cpath d='M19 120 C24 80 24 48 20 10'/%3E%3Cpath d='M49 120 C57 78 69 48 82 12'/%3E%3Cpath d='M78 120 C82 84 76 55 73 29'/%3E%3Cpath d='M107 120 C115 83 129 56 139 31'/%3E%3C/g%3E%3C/svg%3E");

  opacity: .11;

  pointer-events: none;
}


/* PRINCIPLE */

.im-reports-principle {
  padding: 36px 0 105px;

  background: #E8EEDF;
}

.im-reports-principle-panel {
  padding: 34px;

  display: grid;
  grid-template-columns: 180px 1fr auto;

  gap: 40px;
  align-items: center;

  background: #F7F3E7;

  border: 1px solid rgba(201,162,39,.22);
  border-left: 3px solid #C9A227;

  border-radius: 19px;

  box-shadow:
    0 22px 52px rgba(82,99,63,.14);
}

.im-reports-principle-mark {
  display: flex;
  flex-direction: column;

  gap: 25px;
}

.im-reports-principle-mark span {
  color: #A98722;

  font-size: 7px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-reports-principle-mark i {
  color: #A98722;

  font-size: 38px;
}

.im-reports-principle-panel h2 {
  margin: 0 0 9px;

  color: #0B3D2E;

  font-size: 28px;
  line-height: 1.12;
}

.im-reports-principle-panel h2 span {
  display: block;

  color: #39725A;
}

.im-reports-principle-panel p {
  margin: 0;

  color: #69736E;

  font-size: 10px;
  line-height: 1.7;
}

.im-reports-principle-panel > a {
  display: inline-flex;
  align-items: center;

  gap: 9px;

  color: #0B3D2E;

  white-space: nowrap;

  font-size: 10px;
  font-weight: 650;
}

.im-reports-principle-panel > a i {
  color: #C9A227;
}


/* REPORTS / JOURNALS */

.im-reports-publications {
  padding: 100px 0;

  background: #FFFFFF;
}

.im-reports-publications-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;

  gap: 20px;
}

.im-reports-publications-grid article {
  min-height: 260px;

  padding: 30px;

  display: flex;
  justify-content: space-between;

  border-radius: 21px;
}

.im-reports-pub-current {
  background: #0B4938;

  border: 1px solid rgba(224,197,106,.30);

  box-shadow:
    0 28px 65px rgba(201,162,39,.17);
}

.im-reports-pub-next {
  background: #DCE6CF;

  border: 1px solid rgba(82,99,63,.14);

  box-shadow:
    0 25px 58px rgba(82,99,63,.14);
}

.im-reports-publications-grid article span {
  color: #A98722;

  font-size: 7px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-reports-pub-current span {
  color: #E0C56A !important;
}

.im-reports-publications-grid h3 {
  margin: 45px 0 9px;

  color: #0B3D2E;

  font-size: 31px;
}

.im-reports-pub-current h3 {
  color: #FFFFFF;
}

.im-reports-publications-grid p {
  max-width: 420px;

  margin: 0;

  color: #68736E;

  font-size: 10px;
  line-height: 1.7;
}

.im-reports-pub-current p {
  color: rgba(255,255,255,.70);
}

.im-reports-publications-grid article > i {
  color: #C9A227;

  font-size: 28px;
}


/* CLOSE */

.im-reports-close {
  padding: 100px 0 115px;

  background: #EEF2E7;
}

.im-reports-close-panel {
  padding: 42px;

  display: grid;
  grid-template-columns: 1fr auto;

  gap: 45px;
  align-items: end;

  background: #0B4938;

  border: 1px solid rgba(224,197,106,.30);
  border-bottom: 2px solid rgba(224,197,106,.55);

  border-radius: 24px;

  box-shadow:
    0 34px 80px rgba(201,162,39,.22);
}

.im-reports-close-panel > div:first-child > span {
  color: #E0C56A;

  font-size: 8px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-reports-close-panel h2 {
  margin: 15px 0 17px;

  max-width: 850px;

  color: #FFFFFF;

  font-size: clamp(42px,4.8vw,66px);
  line-height: 1;
  font-weight: 700;
  letter-spacing: -.045em;
}

.im-reports-close-panel h2 span {
  display: block;

  color: #DCE6CC;
}

.im-reports-close-panel p {
  max-width: 690px;

  margin: 0;

  color: rgba(250,249,245,.71);

  font-size: 12px;
  line-height: 1.8;
}

.im-reports-close-actions {
  display: flex;
  flex-direction: column;

  gap: 10px;
}

.im-reports-close-secondary {
  min-height: 50px;

  padding: 0 18px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 10px;

  color: #FFFFFF;

  border: 1px solid rgba(224,197,106,.27);

  border-radius: 11px;

  font-size: 10px;
}


/* RESPONSIVE */

@media (max-width: 1050px) {

  .im-reports-hero-grid,
  .im-reports-intro-grid {
    grid-template-columns: 1fr;
  }

  .im-reports-grid {
    grid-template-columns: repeat(2,1fr);
  }

  .im-reports-principle-panel {
    grid-template-columns: auto 1fr;
  }

  .im-reports-principle-panel > a {
    grid-column: 2;
  }
}


@media (max-width: 800px) {

  .im-reports-grid,
  .im-reports-publications-grid {
    grid-template-columns: 1fr;
  }

  .im-reports-close-panel {
    grid-template-columns: 1fr;
  }

  .im-reports-close-actions {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .im-reports-library-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .im-reports-library-index {
    align-items: flex-start;
  }
}


@media (max-width: 650px) {

  .im-reports-hero {
    padding: 65px 0 75px;
  }

  .im-reports-hero-content h1 {
    font-size: 50px;
  }

  .im-reports-hero-library {
    min-height: 460px;

    padding: 24px;
  }

  .im-reports-stack-2,
  .im-reports-stack-3 {
    margin-left: 0;
  }

  .im-reports-intro,
  .im-reports-library,
  .im-reports-publications,
  .im-reports-close {
    padding-top: 72px;
    padding-bottom: 78px;
  }

  .im-reports-grid {
    grid-template-columns: 1fr;
  }

  .im-reports-principle-panel {
    grid-template-columns: 1fr;
  }

  .im-reports-principle-panel > a {
    grid-column: auto;
  }

  .im-reports-close-actions {
    flex-direction: column;
  }
}
/* =========================================================
   INVESTMETRICS PUBLICATION READER
   Shared report-detail system
   ========================================================= */

.im-publication-page {
  background: #FAFAF6;
  color: #20242A;
}


/* =========================================================
   HERO
   ========================================================= */

.im-publication-hero {
  padding: 80px 0 100px;
  background: #F5F1E6;
}

.im-publication-hero-grid {
  display: grid;
  grid-template-columns: 1.08fr .72fr;

  gap: 74px;
  align-items: center;
}

.im-publication-breadcrumb {
  margin-bottom: 25px;

  display: flex;
  align-items: center;

  gap: 8px;

  color: #7A817C;

  font-size: 9px;
}

.im-publication-breadcrumb a {
  color: #52633F;
  font-weight: 650;
}

.im-publication-breadcrumb i {
  color: #C9A227;
  font-size: 8px;
}

.im-publication-hero-content h1 {
  margin: 15px 0 24px;

  max-width: 820px;

  color: #0B3D2E;

  font-size: clamp(58px,6vw,88px);
  line-height: .95;
  font-weight: 700;
  letter-spacing: -.05em;
}

.im-publication-hero-content h1 span {
  display: block;
  color: #1F6E52;
}

.im-publication-hero-lead {
  max-width: 720px;

  margin: 0;

  color: #66716D;

  font-size: 14px;
  line-height: 1.85;
}


/* META */

.im-publication-meta {
  margin-top: 34px;
  padding-top: 23px;

  display: grid;
  grid-template-columns: repeat(3,auto);

  justify-content: start;

  gap: 50px;

  border-top: 1px solid rgba(82,99,63,.14);
}

.im-publication-meta > div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.im-publication-meta span {
  color: #A98722;

  font-size: 6.5px;
  font-weight: 750;
  letter-spacing: .13em;
}

.im-publication-meta strong {
  color: #52633F;

  font-size: 10px;
  font-weight: 600;
}

.im-publication-actions {
  margin-top: 31px;

  display: flex;
  flex-wrap: wrap;

  gap: 12px;
}

.im-publication-secondary {
  min-height: 52px;

  padding: 0 19px;

  display: inline-flex;
  align-items: center;

  gap: 10px;

  color: #0B3D2E;

  background: rgba(255,255,255,.44);

  border: 1px solid rgba(82,99,63,.17);

  border-radius: 12px;

  font-size: 10px;
  font-weight: 650;
}

.im-publication-secondary i {
  color: #C9A227;
}


/* =========================================================
   DIGITAL COVER
   ========================================================= */

.im-publication-cover {
  position: relative;
  overflow: hidden;

  min-height: 590px;

  padding: 31px;

  display: flex;
  flex-direction: column;

  background: #0B4938;

  border: 1px solid rgba(224,197,106,.32);
  border-bottom: 3px solid #C9A227;

  border-radius: 7px 26px 26px 7px;

  box-shadow:
    -12px 13px 0 rgba(169,135,34,.12),
    0 36px 80px rgba(201,162,39,.20);
}

.im-publication-cover::before {
  content: "";

  position: absolute;
  top: 0;
  bottom: 0;
  left: 14px;

  width: 1px;

  background: rgba(224,197,106,.26);
}

.im-publication-cover-top,
.im-publication-cover-bottom {
  position: relative;
  z-index: 3;

  display: flex;
  justify-content: space-between;
  align-items: center;
}

.im-publication-cover-top span,
.im-publication-cover-bottom span {
  color: #E0C56A;

  font-size: 7px;
  font-weight: 750;
  letter-spacing: .15em;
}

.im-publication-cover-top strong {
  color: rgba(255,255,255,.29);

  font-size: 15px;
}

.im-publication-cover-centre {
  position: relative;
  z-index: 3;

  margin: auto 0;
}

.im-publication-cover-centre > span {
  color: #E0C56A;

  font-size: 7px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-publication-cover-centre h2 {
  margin: 13px 0 15px;

  color: #FFFFFF;

  font-size: clamp(48px,5vw,69px);
  line-height: .95;
  font-weight: 700;
  letter-spacing: -.045em;
}

.im-publication-cover-centre p {
  margin: 0;

  color: rgba(255,255,255,.65);

  font-size: 10px;
}

.im-publication-cover-bottom {
  padding-top: 17px;

  border-top: 1px solid rgba(224,197,106,.17);
}

.im-publication-cover-bottom i {
  color: #E0C56A;
  font-size: 22px;
}

.im-publication-cover-lines {
  position: absolute;

  right: -5px;
  bottom: -5px;

  width: 280px;
  height: 235px;

  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: contain;

  background-image:
    url("data:image/svg+xml,%3Csvg width='280' height='235' viewBox='0 0 280 235' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23E0C56A' stroke-width='1.1' stroke-linecap='round'%3E%3Cpath d='M38 235 C44 168 47 108 43 37'/%3E%3Cpath d='M87 235 C97 165 118 101 137 29'/%3E%3Cpath d='M132 235 C136 170 130 114 126 66'/%3E%3Cpath d='M184 235 C195 162 219 105 244 51'/%3E%3Cpath d='M43 130 C26 114 18 94 16 75'/%3E%3Cpath d='M126 135 C104 113 95 92 96 71'/%3E%3Cpath d='M137 124 C159 108 174 87 180 66'/%3E%3C/g%3E%3C/svg%3E");

  opacity: .14;
}


/* =========================================================
   OVERVIEW
   ========================================================= */

.im-publication-overview {
  padding: 95px 0;

  background: #FFFFFF;
}

.im-publication-overview-grid {
  display: grid;
  grid-template-columns: 1fr .9fr;

  gap: 85px;
}

.im-publication-overview h2 {
  margin: 12px 0 0;

  color: #0B3D2E;

  font-size: clamp(40px,4vw,58px);
  line-height: 1.04;
  font-weight: 700;
  letter-spacing: -.04em;
}

.im-publication-overview h2 span {
  display: block;
  color: #1F6E52;
}

.im-publication-overview-copy {
  display: grid;
  gap: 17px;
}

.im-publication-overview-copy p {
  margin: 0;

  color: #66716D;

  font-size: 13px;
  line-height: 1.85;
}


/* =========================================================
   QUICK REFERENCE
   ========================================================= */

.im-publication-reference {
  padding: 0 0 105px;

  background: #FFFFFF;
}

.im-publication-reference-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);

  gap: 15px;
}

.im-publication-reference-grid article {
  min-height: 205px;

  padding: 23px;

  display: flex;
  flex-direction: column;

  background: #E8EDDE;

  border: 1px solid rgba(82,99,63,.12);
  border-bottom: 2px solid rgba(201,162,39,.25);

  border-radius: 17px;

  box-shadow:
    0 18px 42px rgba(82,99,63,.10);
}

.im-publication-reference-grid article:nth-child(2) {
  background: #F3EFDF;
}

.im-publication-reference-grid article:nth-child(3) {
  background: #D6E1CB;
}

.im-publication-reference-grid article > span {
  color: #A98722;

  font-size: 27px;
  font-weight: 700;
}

.im-publication-reference-grid article > strong {
  margin-top: auto;

  color: #0B3D2E;

  font-size: 15px;
}

.im-publication-reference-grid article p {
  margin: 8px 0 0;

  color: #68736E;

  font-size: 9px;
  line-height: 1.65;
}

.im-publication-reference-dark {
  background: #0B4938 !important;

  border-color: rgba(224,197,106,.28) !important;

  box-shadow:
    0 22px 50px rgba(201,162,39,.16) !important;
}

.im-publication-reference-dark i {
  color: #E0C56A;

  font-size: 25px;
}

.im-publication-reference-dark strong {
  color: #FFFFFF !important;
}

.im-publication-reference-dark p {
  color: rgba(255,255,255,.68) !important;
}


/* =========================================================
   READER
   ========================================================= */

.im-publication-content {
  padding: 105px 0;

  background: #EFF3E8;
}

.im-publication-reader {
  display: grid;
  grid-template-columns: 240px minmax(0,1fr);

  gap: 42px;
  align-items: start;
}


/* SIDE NAV */

.im-publication-reader-nav {
  position: sticky;
  top: 120px;

  padding: 23px;

  background: #F8F6EE;

  border: 1px solid rgba(82,99,63,.13);

  border-radius: 17px;

  box-shadow:
    0 18px 43px rgba(82,99,63,.10);
}

.im-publication-reader-nav > span {
  display: block;

  margin-bottom: 19px;

  color: #A98722;

  font-size: 7px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-publication-reader-nav nav {
  display: grid;
}

.im-publication-reader-nav nav a {
  padding: 12px 0;

  display: grid;
  grid-template-columns: 26px 1fr;

  gap: 5px;

  color: #657069;

  border-bottom: 1px solid rgba(82,99,63,.09);

  font-size: 9px;
}

.im-publication-reader-nav nav a span {
  color: #A98722;

  font-size: 7px;
}

.im-publication-reader-nav nav a.active {
  color: #0B3D2E;

  font-weight: 650;
}

.im-publication-reader-meta {
  margin-top: 25px;
  padding-top: 18px;

  display: flex;
  flex-direction: column;

  gap: 4px;

  border-top: 1px solid rgba(201,162,39,.18);
}

.im-publication-reader-meta span {
  color: #A98722;

  font-size: 6px;
  letter-spacing: .13em;
}

.im-publication-reader-meta strong {
  color: #52633F;

  font-size: 8.5px;
}


/* ARTICLE */

.im-publication-article {
  min-width: 0;

  padding: 42px;

  background: #FFFFFF;

  border: 1px solid rgba(82,99,63,.12);

  border-radius: 22px;

  box-shadow:
    0 25px 60px rgba(82,99,63,.12);
}

.im-publication-article-section {
  scroll-margin-top: 110px;
}

.im-publication-article-section + .im-publication-article-section {
  margin-top: 80px;
  padding-top: 70px;

  border-top: 1px solid rgba(82,99,63,.12);
}

.im-publication-section-number {
  margin-bottom: 40px;

  color: rgba(11,61,46,.22);

  font-size: 11px;
  font-weight: 750;
}

.im-publication-kicker {
  color: #A98722;

  font-size: 7px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-publication-article-section h2 {
  margin: 10px 0 22px;

  color: #0B3D2E;

  font-size: clamp(35px,3.6vw,51px);
  line-height: 1.04;
  font-weight: 700;
  letter-spacing: -.04em;
}

.im-publication-article-section h2 span {
  display: block;

  color: #39725A;
}

.im-publication-article-section > p,
.im-publication-section-intro {
  max-width: 820px;

  margin: 0 0 16px;

  color: #66716D;

  font-size: 11px;
  line-height: 1.82;
}


/* =========================================================
   TABLES
   ========================================================= */

.im-publication-table-wrap {
  width: 100%;

  margin-top: 31px;

  overflow-x: auto;

  border: 1px solid rgba(82,99,63,.14);

  border-radius: 14px;

  box-shadow:
    0 14px 32px rgba(82,99,63,.08);
}

.im-publication-table {
  width: 100%;
  min-width: 1250px;

  border-collapse: collapse;

  background: #FFFFFF;
}

.im-publication-table-wrap-compact .im-publication-table {
  min-width: 850px;
}

.im-publication-table th {
  padding: 15px 14px;

  color: #F7F3E7;

  background: #0B4938;

  border-right: 1px solid rgba(224,197,106,.12);

  font-size: 8px;
  font-weight: 650;
  line-height: 1.4;

  vertical-align: top;
}

.im-publication-table td {
  padding: 15px 14px;

  color: #5F6964;

  border-right: 1px solid rgba(82,99,63,.08);
  border-bottom: 1px solid rgba(82,99,63,.09);

  font-size: 8.5px;
  line-height: 1.65;

  vertical-align: top;
}

.im-publication-table tbody tr:nth-child(even) {
  background: #F6F7F1;
}

.im-publication-table tbody tr:hover {
  background: #EEF2E7;
}

.im-publication-table td strong {
  color: #0B3D2E;

  font-size: 9px;
}


/* READING NOTE */

.im-publication-reading-note {
  margin-top: 23px;

  padding: 17px 19px;

  display: grid;
  grid-template-columns: 22px 1fr;

  gap: 10px;

  background: #F5F1E6;

  border: 1px solid rgba(201,162,39,.17);
  border-left: 3px solid #C9A227;

  border-radius: 11px;
}

.im-publication-reading-note i {
  color: #A98722;
}

.im-publication-reading-note p {
  margin: 0;

  color: #66716D;

  font-size: 9px;
  line-height: 1.7;
}


/* =========================================================
   PUBLICATION NOTE
   ========================================================= */

.im-publication-note {
  scroll-margin-top: 110px;

  margin-top: 80px;
  padding: 33px;

  display: grid;
  grid-template-columns: 1fr 185px;

  gap: 45px;

  background: #DCE6CF;

  border: 1px solid rgba(82,99,63,.13);
  border-bottom: 2px solid rgba(201,162,39,.30);

  border-radius: 18px;

  box-shadow:
    0 22px 50px rgba(82,99,63,.13);
}

.im-publication-note > div:first-child > span {
  color: #A98722;

  font-size: 7px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-publication-note h2 {
  margin: 10px 0 14px;

  color: #0B3D2E;

  font-size: 30px;
  line-height: 1.1;
}

.im-publication-note h2 span {
  display: block;

  color: #39725A;
}

.im-publication-note p {
  max-width: 700px;

  margin: 0;

  color: #647069;

  font-size: 10px;
  line-height: 1.75;
}

.im-publication-note-mark {
  display: flex;
  flex-direction: column;

  justify-content: flex-end;
  align-items: flex-end;

  text-align: right;
}

.im-publication-note-mark i {
  margin-bottom: 29px;

  color: #A98722;

  font-size: 31px;
}

.im-publication-note-mark span {
  color: #A98722;

  font-size: 6.5px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-publication-note-mark strong {
  margin-top: 4px;

  color: #52633F;

  font-size: 10px;
}


/* =========================================================
   NEXT PUBLICATION
   ========================================================= */

.im-publication-next {
  padding: 100px 0;

  background: #FFFFFF;
}

.im-publication-next-grid {
  display: grid;
  grid-template-columns: .35fr .65fr;

  gap: 18px;
}

.im-publication-next-grid > a {
  min-height: 225px;

  padding: 27px;

  display: flex;

  border-radius: 19px;
}

.im-publication-next-library {
  flex-direction: column;

  background: #E2E8DA;

  border: 1px solid rgba(82,99,63,.13);

  box-shadow:
    0 20px 46px rgba(82,99,63,.11);
}

.im-publication-next-library span,
.im-publication-next-report span {
  color: #A98722;

  font-size: 7px;
  font-weight: 750;
  letter-spacing: .13em;
}

.im-publication-next-library h3 {
  margin: auto 0 0;

  color: #0B3D2E;

  font-size: 27px;
}

.im-publication-next-library i {
  margin-left: auto;

  color: #C9A227;
}

.im-publication-next-report {
  justify-content: space-between;
  align-items: flex-end;

  background: #0B4938;

  border: 1px solid rgba(224,197,106,.29);

  box-shadow:
    0 27px 64px rgba(201,162,39,.18);
}

.im-publication-next-report span {
  color: #E0C56A;
}

.im-publication-next-report h3 {
  margin: 42px 0 0;

  color: #FFFFFF;

  font-size: 31px;
  line-height: 1.12;
}

.im-publication-next-report h3 strong {
  display: block;

  color: #DCE6CC;
}

.im-publication-next-report > i {
  color: #E0C56A;

  font-size: 24px;
}


/* =========================================================
   CLOSE
   ========================================================= */

.im-publication-close {
  padding: 100px 0 115px;

  background: #EEF2E7;
}

.im-publication-close-panel {
  padding: 42px;

  display: grid;
  grid-template-columns: 1fr auto;

  gap: 45px;
  align-items: end;

  background: #0B4938;

  border: 1px solid rgba(224,197,106,.30);
  border-bottom: 2px solid rgba(224,197,106,.55);

  border-radius: 24px;

  box-shadow:
    0 34px 80px rgba(201,162,39,.22);
}

.im-publication-close-panel > div:first-child > span {
  color: #E0C56A;

  font-size: 8px;
  font-weight: 750;
  letter-spacing: .14em;
}

.im-publication-close-panel h2 {
  margin: 15px 0 17px;

  max-width: 830px;

  color: #FFFFFF;

  font-size: clamp(42px,4.8vw,65px);
  line-height: 1;
  font-weight: 700;
  letter-spacing: -.045em;
}

.im-publication-close-panel h2 span {
  display: block;
  color: #DCE6CC;
}

.im-publication-close-panel p {
  max-width: 690px;

  margin: 0;

  color: rgba(250,249,245,.71);

  font-size: 12px;
  line-height: 1.8;
}

.im-publication-close-actions {
  display: flex;
  flex-direction: column;

  gap: 10px;
}

.im-publication-close-secondary {
  min-height: 50px;

  padding: 0 18px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 10px;

  color: #FFFFFF;

  border: 1px solid rgba(224,197,106,.27);

  border-radius: 11px;

  font-size: 10px;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1100px) {

  .im-publication-hero-grid {
    grid-template-columns: 1fr .72fr;
  }

  .im-publication-reference-grid {
    grid-template-columns: repeat(2,1fr);
  }

}


@media (max-width: 950px) {

  .im-publication-hero-grid,
  .im-publication-overview-grid {
    grid-template-columns: 1fr;
  }

  .im-publication-cover {
    min-height: 510px;
  }

  .im-publication-reader {
    grid-template-columns: 1fr;
  }

  .im-publication-reader-nav {
    position: static;
  }

  .im-publication-reader-nav nav {
    grid-template-columns: repeat(3,1fr);

    gap: 10px;
  }

  .im-publication-reader-nav nav a {
    border: 0;
  }

}


@media (max-width: 750px) {

  .im-publication-meta {
    grid-template-columns: 1fr 1fr;

    gap: 18px;
  }

  .im-publication-note {
    grid-template-columns: 1fr;
  }

  .im-publication-note-mark {
    align-items: flex-start;

    text-align: left;
  }

  .im-publication-next-grid {
    grid-template-columns: 1fr;
  }

  .im-publication-close-panel {
    grid-template-columns: 1fr;
  }

  .im-publication-close-actions {
    flex-direction: row;
    flex-wrap: wrap;
  }

}


@media (max-width: 650px) {

  .im-publication-hero {
    padding: 65px 0 75px;
  }

  .im-publication-hero-content h1 {
    font-size: 50px;
  }

  .im-publication-cover {
    min-height: 450px;

    padding: 24px;
  }

  .im-publication-overview,
  .im-publication-content,
  .im-publication-next,
  .im-publication-close {
    padding-top: 72px;
    padding-bottom: 78px;
  }

  .im-publication-reference-grid {
    grid-template-columns: 1fr;
  }

  .im-publication-reader-nav nav {
    grid-template-columns: 1fr;
  }

  .im-publication-article {
    padding: 24px;
  }

  .im-publication-meta {
    grid-template-columns: 1fr;
  }

  .im-publication-close-actions {
    flex-direction: column;
  }

}