/*
 * Main-page art direction
 *
 * This sheet deliberately limits the spectrum/orbit language to a single
 * focal object per page. It is loaded only by the homepage, About, Resources,
 * Approach and Clients pages; service-detail pages do not consume it.
 */
:root {
  --lm-night: #030405;
  --lm-night-soft: #0b0e0c;
  --lm-paper: #f8f5ef;
  --lm-paper-deep: #eeeae1;
  --lm-ink: #10130f;
  --lm-signal: #9bea5d;
  --lm-line-dark: rgba(238, 245, 231, .18);
  --lm-line-light: rgba(18, 25, 16, .16);
}

html { overflow-x: clip; }
html.site-is-loading { overflow: hidden; }

/* Product identity is unframed; customer logos keep their own styling. */
.logo:has(> .brand-icon-only),.site-brand:has(> .brand-icon-only){position:relative;display:inline-flex!important;align-items:center;flex:none;width:auto;height:auto;padding:0;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}
.logo:has(> .brand-icon-only) .brand-icon-only,.site-brand:has(> .brand-icon-only) .brand-icon-only{width:44px;height:44px;max-height:none;object-fit:contain;clip-path:none}
.screen-brand > img,.cookie-dialog-header .cookie-brand-logo{clip-path:none;border:0;border-radius:0;background:transparent;box-shadow:none}

/* HOME / client logos on a warm peach background. */
.home-current .co-home-clients {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: clamp(84px, 9vw, 136px);
  background: #f5e3d6;
  color: var(--lm-ink);
}

.home-current .co-home-clients::before,
.home-current .co-home-clients::after {
  position: absolute;
  z-index: -1;
  content: "";
  pointer-events: none;
}

.home-current .co-home-clients::before {
  top: -420px;
  right: -280px;
  width: 760px;
  height: 760px;
  border: 1px solid rgba(108, 73, 42, .13);
  border-radius: 50%;
  box-shadow:
    0 0 0 74px rgba(108, 73, 42, .035),
    0 0 0 148px rgba(108, 73, 42, .022),
    0 0 0 222px rgba(108, 73, 42, .016);
}

.home-current .co-home-clients::after {
  bottom: -2px;
  left: 0;
  width: min(38vw, 530px);
  height: 1px;
  background: linear-gradient(90deg, var(--lm-signal), transparent);
  opacity: .65;
}

.home-current .co-home-clients-heading p,
.home-current .co-home-clients-heading h2 em { color: #475539; }
.home-current .co-home-clients-heading h2 { color: var(--lm-ink); }
.home-current .co-home-clients-heading > a,
.home-current .co-home-clients-foot > a { border-color: rgba(18, 25, 16, .4); color: var(--lm-ink); }
.home-current .co-home-clients-foot p { color: #58534c; }

.home-current .co-home-client-grid { position: relative; border-color: var(--lm-line-light); }
.home-current .co-home-client-grid > a {
  position: relative;
  isolation: isolate;
  min-height: 166px;
  overflow: hidden;
  border-color: rgba(18, 25, 16, .16);
  background: #fffaf4;
  transition: transform .35s cubic-bezier(.16, 1, .3, 1), background .35s, border-color .35s, box-shadow .35s;
}

.home-current .co-home-client-grid > a::before {
  position: absolute;
  inset: auto 18px 15px;
  z-index: -1;
  height: 1px;
  background: rgba(155, 234, 93, .7);
  content: "";
  opacity: 0;
  transform: scaleX(.4);
  transform-origin: left;
  transition: opacity .35s, transform .35s;
}

.home-current .co-home-client-grid > a:hover,
.home-current .co-home-client-grid > a:focus-visible {
  z-index: 1;
  border-color: rgba(18, 25, 16, .4);
  background: var(--lm-paper);
  box-shadow: 0 20px 44px rgba(55, 38, 21, .12);
  transform: translateY(-7px);
}

.home-current .co-home-client-grid > a:hover::before,
.home-current .co-home-client-grid > a:focus-visible::before { opacity: 1; transform: scaleX(1); }

.home-current .co-home-client-grid img {
  position: relative;
  z-index: 1;
  filter: grayscale(1);
  mix-blend-mode: multiply;
  opacity: .9;
  transition: filter .35s, opacity .35s, transform .35s;
}

.home-current .co-home-client-grid .co-client-wordmark { position: relative; z-index: 1; color: var(--lm-ink); }
.home-current .co-home-client-grid > a:hover img,
.home-current .co-home-client-grid > a:focus-visible img { filter: none; mix-blend-mode: multiply; opacity: 1; transform: scale(1.045); }
.home-current .co-home-client-grid > a:hover .co-client-wordmark,
.home-current .co-home-client-grid > a:focus-visible .co-client-wordmark { color: var(--lm-ink); }

/* ABOUT / retain the circular Lead Manager Loop and remove competing coloured scenery. */
.company-page .co-about-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-top: calc(var(--header-height) + 88px);
  background:
    radial-gradient(ellipse 48% 48% at 88% 78%, rgba(155, 234, 93, .075), transparent 72%),
    var(--lm-night);
  color: var(--lm-paper);
}

.company-page .co-about-hero::before {
  position: absolute;
  right: -180px;
  bottom: -230px;
  z-index: -1;
  width: min(52vw, 760px);
  aspect-ratio: 1;
  border: 1px solid rgba(220, 247, 207, .12);
  border-radius: 50%;
  box-shadow: 0 0 0 80px rgba(220, 247, 207, .024), 0 0 0 160px rgba(220, 247, 207, .014);
  content: "";
  pointer-events: none;
}

.company-page .co-about-hero::after { display: none; }
.company-page .co-about-grid { position: relative; grid-template-columns: minmax(0, 1fr) minmax(410px, .88fr); gap: 10%; padding-bottom: 92px; }
.company-page .co-about-copy { position: relative; z-index: 1; }
.company-page .co-about-hero .co-kicker { color: #c7e9ae; }
.company-page .co-about-hero h1 { max-width: 9ch; font-size: clamp(64px, 7.4vw, 116px); line-height: .98; margin-bottom: 30px; }
.company-page .co-about-hero h1 em { color: var(--lm-signal); }
.company-page .co-about-hero .co-lead { color: #c5cec0; font-size: 17px; line-height: 1.78; }
.company-page .co-about-hero .co-button { border-radius: 999px; border-color: var(--lm-signal); background: var(--lm-signal); color: var(--lm-ink); }
.company-page .co-about-hero .co-button-secondary { border-color: rgba(255, 255, 255, .38); background: transparent; color: var(--lm-paper); }
.company-page .co-about-hero .co-button-secondary:hover { background: rgba(255, 255, 255, .08); }

.company-page .co-about-art {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: min(100%, 590px);
  min-height: 0;
  aspect-ratio: 1;
  margin-inline: auto;
  padding: clamp(48px, 5vw, 72px);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .65);
  border-radius: 50%;
  background:
    radial-gradient(circle at 28% 20%, rgba(255, 255, 255, .35) 0 1.5%, transparent 14%),
    radial-gradient(circle at 79% 24%, #b5f17e 0 6%, transparent 18%),
    linear-gradient(145deg, #353cbc 0%, #56359c 32%, #b35c83 55%, #e58366 72%, #83934b 100%);
  box-shadow: inset -25px -32px 70px rgba(2, 3, 5, .62), 0 34px 68px rgba(0, 0, 0, .46);
  transform: none;
}

.company-page .co-about-art::before,
.company-page .co-about-art::after {
  position: absolute;
  border: 1px solid rgba(255, 255, 255, .48);
  border-radius: 50%;
  content: "";
  pointer-events: none;
  animation: none;
}

.company-page .co-about-art::before { inset: 12%; transform: rotate(-31deg) scaleX(1.62); }
.company-page .co-about-art::after { inset: 26%; border-style: dashed; opacity: .72; transform: rotate(26deg) scaleX(.48); }
.company-page .co-about-orbit { width: 310px; height: 310px; right: -54px; top: -62px; z-index: 0; opacity: .82; animation: none; }
.company-page .co-about-art-title { position: relative; z-index: 2; font-size: clamp(38px, 4vw, 58px); line-height: 1.03; text-shadow: 0 3px 18px rgba(6, 2, 13, .52); }
.company-page .co-about-art-title em { color: var(--lm-paper); }
.company-page .co-about-art-overline { display: block; margin-bottom: 18px; color: #e6fbd5; font: 600 9px/1.4 'Instrument Sans', Arial, sans-serif; letter-spacing: .15em; }
.company-page .co-about-labels { position: relative; z-index: 2; margin-top: 28px; }
.company-page .co-about-labels span { border-color: rgba(255, 255, 255, .72); background: rgba(5, 7, 8, .12); color: #fff; padding: 9px 12px; backdrop-filter: blur(8px); }
.company-page .co-about-art-note { position: relative; z-index: 2; margin-top: 18px; color: #f3f1ed; }
.company-page .co-about-bottom { position: relative; z-index: 1; border-color: rgba(255, 255, 255, .25); color: #c9d2c2; }

.company-page .co-story { position: relative; overflow: hidden; background: var(--lm-paper); }
.company-page .co-story::before { position: absolute; right: -215px; top: -210px; width: 440px; height: 440px; border: 1px solid rgba(46, 75, 33, .16); border-radius: 50%; box-shadow: 0 0 0 86px rgba(46, 75, 33, .026); content: ""; pointer-events: none; }
.company-page .co-story-grid { gap: clamp(18px, 2.2vw, 34px); }
.company-page .co-story-grid article { min-height: 0; padding: 30px 0 38px; overflow: visible; border: 0; border-top: 1px solid #bdc8b7; border-radius: 0; background: transparent; box-shadow: none; transition: border-color .25s, transform .35s cubic-bezier(.16, 1, .3, 1); }
.company-page .co-story-grid article::after { display: none; }
.company-page .co-story-grid article:nth-child(2) { padding-inline: 28px; border: 1px solid #1d251c; border-radius: 14px; background: #111811; color: var(--lm-paper); transform: translateY(20px); }
.company-page .co-story-grid article:nth-child(2) > span,
.company-page .co-story-grid article:nth-child(2) p { color: #c4d1bf; }
.company-page .co-story-grid article:hover { border-color: #709554; box-shadow: none; transform: translateY(-5px); }
.company-page .co-story-grid article:nth-child(2):hover { transform: translateY(14px); }

/* RESOURCES / one dark reading-room field, then a light editorial library. */
.resources-page .pd-resources {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-bottom: 92px;
  background:
    radial-gradient(ellipse 46% 58% at 92% 14%, rgba(155, 234, 93, .09), transparent 70%),
    repeating-linear-gradient(0deg, transparent 0 47px, rgba(224, 249, 210, .035) 48px),
    repeating-linear-gradient(90deg, transparent 0 47px, rgba(224, 249, 210, .026) 48px),
    var(--lm-night);
  color: var(--lm-paper);
}

.resources-page .pd-resources::before,
.resources-page .pd-resources::after { display: none; }
.resources-page .pd-resources .pd-kicker,
.resources-page .pd-resources h1 em { color: var(--lm-signal); }
.resources-page .pd-resources .pd-description,
.resources-page .pd-resource-footnote { color: #c5cec0; }

.resources-page .pd-question-board {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(232, 250, 222, .36);
  border-radius: 18px;
  background:
    radial-gradient(circle at 86% 14%, rgba(155, 234, 93, .15), transparent 23%),
    linear-gradient(145deg, #111810, #0a0e0b 70%);
  box-shadow: 12px 12px 0 rgba(155, 234, 93, .82), 0 25px 65px rgba(0, 0, 0, .46);
  transform: rotate(1.5deg);
}

.resources-page .pd-question-board::before { position: absolute; inset: 18px; border: 1px solid rgba(232, 250, 222, .13); content: ""; pointer-events: none; }
.resources-page .pd-question-board .lm-art-decor,
.resources-page .pd-question-board .lm-art-sheen { display: none; }
.resources-page .pd-question-board blockquote em { color: var(--lm-signal); }
.resources-page .pd-question-list li { border-radius: 8px; background: rgba(255, 255, 255, .055); }
.resources-page .pd-question-list li:first-child { background: var(--lm-signal); color: var(--lm-ink); }

.resources-page .resource-library { position: relative; margin-top: -1px; padding-top: clamp(72px, 8vw, 110px); }
.resources-page .resources-grid { gap: 28px; }
.resources-page .resource-card { position: relative; overflow: hidden; border: 1px solid rgba(16, 24, 14, .14); border-radius: 20px 8px 20px 8px; background: #fffdf9; box-shadow: 0 18px 35px rgba(28, 34, 21, .055); transition: transform .35s cubic-bezier(.16, 1, .3, 1), box-shadow .35s, border-color .35s; }
.resources-page .resource-card:nth-child(2) { border-radius: 8px 20px 8px 20px; transform: translateY(42px); }
.resources-page .resource-card:hover { border-color: rgba(87, 123, 60, .55); box-shadow: 0 26px 50px rgba(28, 34, 21, .14); transform: translateY(-8px); }
.resources-page .resource-card:nth-child(2):hover { transform: translateY(32px); }
.resources-page .resource-preview { position: relative; min-height: 245px; overflow: hidden; border-radius: 0 0 42% 0 / 0 0 16% 0; background: linear-gradient(135deg, #eaf6df, #caeda6); }
.resources-page .resource-preview::after { position: absolute; right: -64px; bottom: -80px; width: 210px; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 29% 25%, #ecffd7 0 5%, #9bea5d 32%, #3e5930 70%, #142012); content: ""; opacity: .9; }
.resources-page .resource-preview.questions { background: #080b09; }
.resources-page .resource-preview.questions::after { opacity: .82; }
.resources-page .resource-content { padding: 34px 38px 42px; }
.resources-page .resources-note { position: relative; margin-top: 85px; padding: 52px; overflow: hidden; border: 1px solid #aebfa4; border-radius: 18px 8px 18px 8px; background: #eaf3df; }
.resources-page .resources-note::after { position: absolute; top: -142px; right: -116px; width: 300px; height: 300px; border: 1px solid rgba(62, 89, 48, .28); border-radius: 50%; box-shadow: 0 0 0 54px rgba(62, 89, 48, .04); content: ""; pointer-events: none; }

@media (max-width: 1000px) {
  .company-page .co-about-grid { grid-template-columns: 1fr 1fr; gap: 6%; }
  .company-page .co-about-art { min-height: 0; padding: 34px; }
  .company-page .co-about-art-title { font-size: 38px; }
  .resources-page .resource-card:nth-child(2) { transform: translateY(28px); }
}

@media (max-width: 800px) {
  .logo:has(> .brand-icon-only),
  .site-brand:has(> .brand-icon-only) { width: 56px; height: 56px; }
  .company-page .co-about-hero { padding-top: calc(var(--header-height) + 62px); }
  .company-page .co-about-grid { grid-template-columns: 1fr; padding-bottom: 65px; }
  .company-page .co-about-hero h1 { font-size: clamp(60px, 13vw, 88px); }
  .company-page .co-about-art { width: min(100%, 510px); margin-inline: auto; }
  .company-page .co-story-grid article:nth-child(2),
  .company-page .co-story-grid article:nth-child(2):hover { transform: none; }
  .resources-page .pd-resources { padding-bottom: 65px; }
  .resources-page .resource-library { padding-top: 65px; }
  .resources-page .resource-card:nth-child(2),
  .resources-page .resource-card:nth-child(2):hover { transform: none; }
  .resources-page .resources-note { margin-top: 45px; }
}

@media (max-width: 600px) {
  .company-page .co-about-art { width: min(100%, 390px); padding: clamp(48px, 15.9vw, 62px); }
  .company-page .co-about-art-title { font-size: clamp(27px, 8.45vw, 33px); }
  .company-page .co-about-art-overline { margin-bottom: 10px; }
  .company-page .co-about-labels { margin-top: 18px; }
  .company-page .co-about-art-note { margin-top: 12px; }
  .resources-page .pd-question-board { box-shadow: 7px 7px 0 rgba(155, 234, 93, .82), 0 20px 40px rgba(0, 0, 0, .38); }
  .resources-page .resource-preview,
  .resources-page .resource-content { padding-inline: 26px; }
  .resources-page .resources-note { padding: 32px 26px; }
}

@media (max-width: 360px) {
  .company-page .co-about-art { padding: 50px; }
  .company-page .co-about-art-title { font-size: 24px; }
  .company-page .co-about-art-overline { font-size: 8px; letter-spacing: .1em; margin-bottom: 8px; }
  .company-page .co-about-labels { gap: 5px; margin-top: 12px; }
  .company-page .co-about-labels span { font-size: 7px; padding: 6px 8px; }
  .company-page .co-about-art-note { font-size: 9px; margin-top: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  .home-current .co-home-clients *,
  .company-page .co-about-hero *,
  .resources-page .pd-resources *,
  .resources-page .resource-card *,
  .company-page .co-story * {
    animation: none !important;
    transition: none !important;
  }

  .home-current .co-home-client-grid > a:hover,
  .resources-page .resource-card:hover,
  .company-page .co-story-grid article:hover { transform: none !important; }
}
