:root {
  /* --ink: #152019;
  --green: #1f3d2b;
  --lime: #a3d45f;
  --paper: #f6f7f1;
  --muted: #5d6b60;
  --line: #daded0;
  --heading: "DM Sans", sans-serif;
  --body: "DM Sans", sans-serif; */
  --ink: #152019;
  --forest: #07110b;
  --green: #1f3d2b;
  --leaf: #a3d45f;
  --paper: #f6f7f1;
  --paper2: #eceee3;
  --line: #daded0;
  --muted: #5d6b60;
  --wrap: 90%;
  --display: "Montserrat", sans-serif;
  --body: "Hanken Grotesk", Arial, sans-serif;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font: 300 17px/1.65 var(--body);
}
a {
  color: inherit;
  text-decoration: none;
}
a:focus-visible {
  outline: 3px solid var(--leaf);
  outline-offset: 6px;
}
img {
  max-width: 100%;
  object-fit: contain;
}
h1,
h2,
h3,
p {
  margin: 0;
}
h1,
h2,
h3 {
  font-family: var(--display);
  line-height: 1.15;
  letter-spacing: -0.035em;
}
h1 {
  /* font-size: clamp(2.5rem, 5vw, 4.7rem); */
  font-size: clamp(1.98rem,5.04vw,4.15rem);
  font-weight: 300;
}
h2 {
  font-size:clamp(1.28rem,2.2vw,1.83rem);
  font-weight: 300;
}
h3 {
  font-size: 1.5rem;
  font-weight: 300;
}
.wrap {
  width: min(calc(100% - 40px), var(--wrap));
  margin: auto;
}
/* .skip {
  position: absolute;
  left: 20px;
  top: -100px;
  background: var(--leaf);
  padding: 10px;
  z-index: 100;
}
.skip:focus {
  top: 10px;
} */
/* header {
  background: #111b14;
  border-bottom: 1px solid #314033;
  color: white;
}
.nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  min-height: 88px;
}
.nav img {
  width: 196px;
  height: auto;
}
.nav nav {
  display: flex;
  gap: 25px;
  font: 300 14px var(--display);
}
nav a {
  padding: 10px 0;
}
nav .active {
  color: var(--leaf);
  border-bottom: 2px solid var(--leaf);
} */


nav .active {
  color: var(--leaf) !important;
  /* border-bottom: 2px solid var(--leaf); */
}

.site-header {
  position: absolute;
  z-index: 20;
  width: 100%;
  color: #fff;
}
.nav {
  display: flex;
  /* min-height: 100px; */
  align-items: center;
  justify-content: space-between;
  gap: 26px;
  padding: 20px 0;
  /* border-bottom: 1px solid rgba(255, 255, 255, 0.15); */
}
.logo {
width: 220px;
display: block;
}
.nav-links {
  display: flex;
  align-items: center;
  gap: 27px;
}
.nav-links ul{
  padding: 0;
    margin: 0;
    display: flex;
    align-items: flex-end;
    gap: 27px;
}
.nav-links ul li{
  list-style: none;
}
.nav-links li > a:not(.button) {
  font: 400 .95rem var(--display);
  text-decoration: none;
}
.nav-links li > a:hover {
  color: var(--leaf);
}
.menu-button {
  display: none;
  border: 1px solid rgba(255, 255, 255, 0.4);
  background: transparent;
  color: #fff;
  padding: 10px 14px;
  font: 700 0.82rem var(--display);
}

/***06-10-2026***/
.button {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  border: 1px solid currentColor;
  padding: 12px 22px;
  font: 700 0.92rem var(--display);
  text-decoration: none;
}
.button.green {
  border-color: #789481;
  background: var(--green);
  color: #fff;
}
.button.ghost {
  border-color: rgba(255, 255, 255, 0.45);
  color: #fff;
}
.button:hover {
  background: var(--leaf);
  border-color: var(--leaf);
  color: var(--ink);
}
.site-header .button{
  background: #fff;
  color: #1f3d2b;
  font-size: .95rem !important;
  font-weight: 400;
  padding: 12px 22px !important;
}
.logo-sec{
  /* margin-top: 8px; */
}
.has-dropdown {
    position: relative;
}

.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 250px;
    margin: 0;
    padding: 10px 0;
    list-style: none;
    /* background: #fff; */
    background: rgba(0,0,0,0.8);
    box-shadow: 0 8px 25px rgba(0,0,0,.12);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all .25s ease;
    z-index: 999;
    display: block !important;
}

.dropdown-menu li {
    margin: 0;
    padding: 0;
}

.dropdown-menu li a {
    display: block;
    padding: 10px 20px;
    white-space: nowrap;
    /* color: #1f3d2b; */
    color: #fff;
}

.has-dropdown:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.dropdown-arrow {
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-left: 8px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
    vertical-align: 3px;
    transition: transform .3s ease;
    cursor: pointer;
}

.has-dropdown.active .dropdown-arrow {
    transform: rotate(-135deg);
    vertical-align: -1px;
}

footer{background:#0F1712;color:#8FA085;padding:56px 0 40px;}
  footer .row{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap; border-bottom:1px solid #2c3a31;padding-bottom:34px;margin-bottom:26px;}
  footer .brand{color:#fff;}
  footer .brand small{color:#8FA085;}
  footer .cols{display:flex;gap:60px;flex-wrap:wrap;}
  footer h4{font-family:var(--display);font-weight:700;font-size:.74rem;letter-spacing:.14em; text-transform:uppercase;color:#C6D0BD;margin-bottom:14px;    margin-top: 0;}
  footer a{display:block;margin-bottom:9px;color:#fff;opacity:.72;transition:opacity .2s; text-decoration: none;font-size: .9rem;}
  footer a.footer-cta{display:inline-flex;margin-bottom:0;opacity:1;color:#152019; background:#a3d45f;padding:12px 22px;border-radius:2px;font-family:var(--display); font-weight:700;font-size:.86rem;align-items:center;gap:.4em;transition:transform .18s,background .2s;}
  footer a.footer-cta:hover{background:#B6E070;transform:translateY(-2px);color:#152019;}
  footer a:hover{opacity:1;color:#fff;}
  footer .fine{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.82rem;color:#fff;}
  .footer-logo {
    width: 220px;
    margin-bottom: 16px;
  }
.related .eyebrow, .web-capability-section .eyebrow{margin-bottom: 10px;}


.sector-navigation.work-sector-navnw{padding-bottom: 0;}
.web-capability-gridnw .web-capability-grid{padding-top: 40px;}
.web-capability-gridnw .sector-heading p{padding-top: 10px;}

/***06-10-2026***/

.button {
  /* display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  border: 1px solid currentColor;
  padding: 12px 22px;
  font: 700 0.92rem var(--display);
  text-decoration: none; */
}
/* .button:hover {
  background: #304f35;
}
.button.ghost {
  background: transparent;
}
.button.ghost:hover {
  background: #ffffff15;
} */
.eyebrow {
  color: #7fb23c;
  font: 700 .72rem/1 var(--display) !important;
  letter-spacing: .22em;;
  text-transform: uppercase;
  display: block;
}
.eyebrow:before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 2px;
  vertical-align: middle;
  margin-right: 11px;
  background: var(--leaf);
}
.hero {
  background: linear-gradient(
      90deg,
      rgba(5, 12, 7, 0.96) 12%,
      rgba(5, 12, 7, 0.88) 48%,
      rgba(5, 12, 7, 0.54)
    ),
    url("../images/hero-wheat.webp") center right/cover;
  color: var(--paper);
  padding: 35px 0 66px;
}
.hero .eyebrow {
  color: #d4ddca;
  margin-top: 40px;
}
.breadcrumb {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  color: #bfc9b9;
  font-size: 14px;
}
.breadcrumb a:hover {
  color: white;
}
.hero h1 {
  max-width: 890px;
}
.hero h1 em {
  font-style: normal;
  color: var(--leaf);
}
.hero-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 36px;
  margin-top: 30px;
  padding-top: 30px;
  border-top: 1px solid #52604a;
}
.hero-bottom p {
  font-size: 19px;
  color: #d1dacb;
  line-height: 1.55;
}
.intro {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  align-items: end;
  gap: 80px;
  padding-top: 77px;
  padding-bottom: 45px;
}
.intro p {
  color: var(--muted);
  font-size: 18px;
  max-width: 450px;
}
.catalogue {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.service {
  background: #fff;
  border: 1px solid var(--line);
  padding: 32px;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: border-color 0.25s, box-shadow 0.25s;
}
.service:hover {
  border-color: #7fb23c;
  box-shadow: 0 7px 26px #1520190a;
}
.card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 26px;
}
.icon {
  width: 58px;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #b5c6a3;
  background: #f0f5e9;
  border-radius: 3px;
  color: var(--green);
}
.icon svg {
  width: 31px;
  height: 31px;
}
.number {
  font: 300 2.1rem var(--display);
  color: #c3cabd;
  letter-spacing: -0.08em;
}
.service h3 {
  max-width: 420px;
  margin-bottom: 12px;
}
.strap {
  font-weight: 300;
  font-size: 18px;
  margin-bottom: 12px;
}
.description {
  color: var(--muted);
  margin-bottom: 24px;
}
.tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
}
.tags li {
  font-size: 14px;
  color: #41503c;
  background: #f3f5ee;
  border: 1px solid #e3e8da;
  padding: 4px 10px;
  line-height: 1.6;
}
.service-link {
  margin-top: auto;
  border-top: 1px solid var(--line);
  padding-top: 20px;
  font: 300 14px/1.55 var(--display);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.link-mark {
  font-size: 24px;
  font-weight: 300;
  color: #557b33;
}
.service:first-child {
  background: var(--ink);
  color: white;
  border-color: var(--ink);
}
.service:first-child .description {
  color: #bdcbb4;
}
.service:first-child .icon {
  background: #263e2c;
  color: var(--leaf);
  border-color: #4f6542;
}
.service:first-child .number {
  color: #71826a;
}
.service:first-child .tags li {
  background: #243629;
  border-color: #405039;
  color: #d2e0c7;
}
.service:first-child .service-link {
  border-color: #43543b;
}
.service:first-child .link-mark {
  color: var(--leaf);
}
.approach {
  padding-top: 75px;
  padding-bottom: 75px;
}
.steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}
.steps > div {
  border-top: 1px solid var(--line);
  padding-top: 20px;
}
.steps b {
  font: 300 17px var(--display);
}
.steps p {
  margin-top: 12px;
  color: var(--muted);
  font-size: 16px;
}
.contact {
  background: var(--green);
  color: white;
  padding: 40px 0;
}
.contact-grid {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
}
.contact .eyebrow {
  color: #c1d4b1;
}
.contact p {
  color: #d0ddc8;
  margin-top:10px;
  font-size: 18px;
}
.light {
  background: var(--leaf);
  color: var(--ink);
  border-color: var(--leaf);
}
.light:hover {
  background: #b6e070;
}
/* footer {
  background: #0f1712;
  color: #a8b69c;
  padding: 35px 0;
} */
.foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  font-size: 14px;
}
.foot img {
  width: 185px;
  height: auto;
}
.detail {
  padding-bottom: 65px;
}
.detail-display {
  display: flex;
  align-items: center;
  gap: 20px;
  margin: 35px 0 25px;
}
.detail-display .eyebrow {
  margin: 0;
  color: #d4ddca;
}
.detail .icon {
  background: #213525;
  border-color: #596c4d;
  color: var(--leaf);
}
.detail h1 {
  max-width: 950px;
  font-size: clamp(2.3rem, 4.5vw, 4rem);
}
.detail-line {
  font: 300 clamp(1.25rem, 2.2vw, 1.75rem) / 1.45 var(--display);
  color: var(--leaf);
  margin: 24px 0 15px;
}
.detail-desc {
  max-width: 730px;
  color: #d1dacb;
  font-size: 19px;
  margin-bottom: 28px;
}
.detail-content {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 85px;
  padding-top: 75px;
  padding-bottom: 75px;
}
.detail-intro h2 {
  margin-bottom: 24px;
}
.detail-intro p {
  color: var(--muted);
  font-size: 19px;
}
.capabilities {
  list-style: none;
  padding: 0;
  margin: 0;
}
.capabilities li {
  padding: 19px 0;
  border-top: 1px solid var(--line);
  display: flex;
  gap: 20px;
  align-items: center;
}
.capabilities span {
  font-size: 14px;
  color: var(--muted);
}
.capabilities h3 {
  font-size: 19px;
  line-height: 1.4;
  letter-spacing: -0.02em;
}
.outcomes {
  background: #eceee3;
  padding: 65px 0;
}
.outcome-grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 85px;
  align-items: center;
}
.outcome-grid p {
  font-size: 20px;
  color: #41503c;
}
.related {
  padding-top: 65px;
  padding-bottom: 65px;
}
.related > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin: 30px 0;
}
.related > div a {
  border: 1px solid var(--line);
  padding: 24px;
  background: white;
  font: 300 18px/1.5 var(--display);
}
.related a:hover {
  color: #557b33;
}
.all {
  font-weight: 300;
  text-decoration: underline;
  text-underline-offset: 5px;
}
@media (min-width: 1600px) {
  .hero {
    padding-bottom: 85px;
  }
}
@media (max-width: 1000px) {
  .nav nav {
    gap: 16px;
  }
  .nav .button {
    font-size: 12px;
    padding: 11px 13px;
  }
  .nav img {
    width: 155px;
  }
  .intro {
    gap: 35px;
  }
  .service {
    padding: 25px;
  }
  .detail-content,
  .outcome-grid {
    gap: 40px;
  }
}
@media (max-width: 780px) {
  .wrap {
    width: calc(100% - 40px);
  }
  .nav {
    min-height: 76px;
    flex-wrap: wrap;
    padding: 18px 0;
    gap: 16px;
  }
  .nav nav {
    order: 3;
    width: 100%;
    /* justify-content: space-between; */
    font-size: 13px;
    gap: 8px;
  }
  .nav img {
    width: 160px;
  }
  .hero {
    padding-top: 22px;
    padding-bottom: 45px;
  }
  .hero .eyebrow {
    margin-top: 30px;
  }
  .hero-bottom {
    display: block;
    margin-top: 24px;
    padding-top: 24px;
  }
  .hero-bottom .button {
    margin-top: 24px;
  }
  .hero-bottom p {
    font-size: 17px;
  }
  .desktop {
    display: none;
  }
  .intro {
    display: block;
    padding-top: 0;
    padding-bottom: 0;
  }
  .intro p {
    margin-top: 22px;
    max-width: none;
  }
  .catalogue {
    grid-template-columns: 1fr;
    margin-top: 30px;
  }
  .service {
    padding: 26px;
  }
  .card-top {
    margin-bottom: 22px;
  }
  .steps {
    grid-template-columns: 1fr 1fr;
    gap: 28px;
  }
  .approach {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .contact-grid {
    display: block;
  }
  .contact-grid .button {
    margin-top: 28px;
  }
  .contact {
    padding: 50px 0;
  }
  .foot {
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
  }
  .detail-content,
  .outcome-grid {
    grid-template-columns: 1fr;
    gap: 40px;
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .outcomes {
    padding: 0;
  }
  .related > div {
    grid-template-columns: 1fr;
  }
  .detail h1 {
    overflow-wrap: break-word;
  }
  .service h3 {
    font-size: 1.35rem;
  }
  .detail .button {
    max-width: 100%;
    text-align: left;
  }
  .breadcrumb {
    font-size: 13px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  * {
    transition: none !important;
  }
}

/* Website footer and white buttons */
/* .button,
.button.ghost,
.button.light {
  background: #fff;
  color: var(--green);
  border: 1px solid #fff;
}
.button:hover,
.button.ghost:hover,
.button.light:hover {
  background: #edf2e9;
  color: var(--green);
  border-color: #edf2e9;
}
footer {
  background: #0f1712;
  color: #8fa085;
  padding: 56px 0 40px;
  font-size: 16px;
}
footer .row {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
  border-bottom: 1px solid #2c3a31;
  padding-bottom: 34px;
  margin-bottom: 26px;
}
footer .brand {
  color: #fff;
}
footer .brand-logo {
  height: 30px;
  width: auto;
  max-width: 220px;
}
footer .cols {
  display: flex;
  gap: 60px;
  flex-wrap: wrap;
}
footer h4 {
  font-family: var(--display);
  font-weight: 300;
  font-size: 14px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #c6d0bd;
  margin: 0 0 14px;
}
footer a {
  display: block;
  margin-bottom: 9px;
  color: #fff;
  opacity: 0.75;
  transition: opacity 0.2s;
}
footer a:hover {
  opacity: 1;
  color: #fff;
}
footer a.footer-cta {
  display: inline-flex;
  margin-bottom: 0;
  opacity: 1;
  background: #fff;
  color: var(--green);
}
footer a.footer-cta:hover {
  background: #edf2e9;
  color: var(--green);
}
footer .fine {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  font-size: 14px;
}
@media (max-width: 780px) {
  footer .row {
    flex-direction: column;
    gap: 30px;
  }
  footer .cols {
    gap: 32px;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  footer .cols > div:last-child {
    grid-column: 1/-1;
  }
} */
/* GTM service story */
.gtm-hero {
  padding-bottom: 70px;
}
.gtm-title {
  display: grid;
  grid-template-columns: 1.45fr 1fr;
  gap: 64px;
  align-items: center;
}
.gtm-title h1 {
  font-size: clamp(2.4rem, 4.3vw, 3.8rem);
  line-height: 1.18;
  letter-spacing: -0.04em;
}
.gtm-title .detail-desc {
  font-size: 18px;
  margin-top: 24px;
  max-width: 620px;
}
.decision-map {
  border: 1px solid #60734b;
  background: #122217dd;
  padding: 28px;
  margin-top: 42px;
}
.map-label {
  font-size: 12px;
  letter-spacing: 0.14em;
  color: #cad7bc;
}
.map-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 25px;
  gap: 12px;
}
.map-grid > div {
  border: 1px solid #526540;
  padding: 18px 12px;
}
.map-grid b {
  font-weight: 300;
  font-size: 14px;
  color: var(--leaf);
  display: block;
  margin-bottom: 7px;
}
.map-grid span {
  font-size: 16px;
}
.decision-map > p {
  margin-top: 24px;
  font-size: 15px;
  color: #c0d0b5;
}
.section-nav {
  background: #eceee3;
  border-bottom: 1px solid var(--line);
  margin-top: 20px;
}
.section-nav .wrap {
  display: flex;
  gap: 30px;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-top: 18px;
  padding-bottom: 18px;
}
.section-nav a {
  font-size: 14px;
  font-weight: 300;
  white-space: nowrap;
}
.section-nav a:hover {
  color: #557b33;
}
.gtm-section {
  padding-top: 75px;
  padding-bottom: 75px;
}
.section-display {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: end;
  margin-bottom: 40px;
}
.section-display > p {
  color: var(--muted);
  font-size: 18px;
  max-width: 530px;
}
.moment-grid,
.case-grid,
.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
    margin-top: 40px;
}
.case-grid{

}
.moment-grid > div {
  border-top: 2px solid #92b76b;
  padding-top: 22px;
}
.moment-grid span {
  /* font-size: 13px;
  letter-spacing: 0.08em;
  color: var(--muted); */
  font-family: var(--display);
font-weight: 700;
font-size: .74rem;
letter-spacing: .12em;
text-transform: uppercase;
color: var(--leaf);
margin-bottom: 14px;
}
.moment-grid h3 {
  font-size: 21px;
  line-height: 1.35;
  margin: 16px 0 12px;
}
.moment-grid p {
  font-size: 16px;
  color: var(--muted);
}
.diagram-band {
  background: #eceee3;
}
.strategy-flow {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  padding: 0;
  margin: 40px 0 0 0;
}
.strategy-flow li {
  position: relative;
  border-top: 2px solid #64834d;
  padding: 28px 22px 24px;
  background: #fff;
  border-right: 1px solid var(--line);
}
.strategy-flow li:last-child {
  border-right: 0;
}
.strategy-flow li > span {
  display: inline-flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  background: var(--green);
  color: #fff;
  font-size: 15px;
  margin-bottom: 22px;
}
.strategy-flow h3 {
  font-size: 20px;
  margin-bottom: 14px;
}
.strategy-flow p {
  font-size: 16px;
  color: var(--muted);
  margin-bottom: 20px;
}
.strategy-flow small {
  font-size: 14px;
  color: #3c542f;
  display: block;
  border-top: 1px solid var(--line);
  padding-top: 14px;
}
.feedback-strip {
  margin-top: 18px;
  border: 1px solid #b5c1a7;
  padding: 17px 22px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  font-size: 14px;
}
.feedback-strip b {
  font-weight: 300;
}
.deliverable-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
    margin: 40px 0 0 0;
}
.deliverable-grid article {
  background: white;
  border: 1px solid var(--line);
  padding: 27px;
}
.deliverable-grid article > span {
color: var(--leaf);
  font-family: var(--display);
font-weight: 700;
font-size: .74rem;
letter-spacing: .12em;
text-transform: uppercase;
margin-bottom: 14px;
}
.deliverable-grid h3 {
  font-size: 21px;
  line-height: 1.35;
  margin: 14px 0;
}
.deliverable-grid p {
  color: var(--muted);
  font-size: 16px;
}
.alignment {
  background: var(--ink);
  color: white;
  padding: 32px;
  margin-top: 25px;
}
.alignment .eyebrow {
  color: #cedcc1;
}
.alignment h3 {
  font-size: 22px;
  margin-top: 10px;
}
.alignment-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-top: 30px;
}
.alignment-grid > div {
  border-top: 1px solid #516144;
  padding-top: 17px;
}
.alignment-grid b {
  font-weight: 300;
  font-size: 16px;
  color: var(--leaf);
}
.alignment-grid p {
  font-size: 14px;
  color: #c3d0b7;
  margin-top: 8px;
}
.case-band {
  background: #e9eddf;
}
.case-card {
  background: var(--paper);
  border: 1px solid #cdd5c1;
  padding: 28px;
  display: flex;
  flex-direction: column;
}
.case-type {
  /* font-size: 12px;
  letter-spacing: 0.1em;
  color: #536b3f; */
  font-family: var(--display);
    font-weight: 700;
    font-size: .74rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--leaf);
    margin-bottom: 14px;
}
.case-card h3 {
  font-size: 22px;
  line-height: 1.3;
  margin: 20px 0 16px;
}
.case-client {
  font-size: 14px;
  font-weight: 300;
  margin-bottom: 20px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--line);
}
.case-card > p:not(.case-client) {
  font-size: 16px;
  color: var(--muted);
  margin-bottom: 22px;
}
.case-card details {
  margin-top: auto;
  border-top: 1px solid var(--line);
  padding-top: 18px;
}
.case-card summary {
  cursor: pointer;
  font-weight: 300;
  font-size: 14px;
  line-height: 1.6;
}
.case-card details div {
  padding-top: 18px;
}
.case-card h4 {
  font-size: 14px;
  font-weight: 300;
  margin: 0 0 8px;
}
.case-card details p {
  font-size: 14px;
  color: var(--muted);
  margin-bottom: 18px;
}
.case-card details a {
  font-size: 14px;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.guide-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 90px;
  align-items: center;
}
.guide-preview {
  background: #e4ead9;
  display: flex;
  justify-content: center;
  padding: 30px;
}
.guide-preview img {
  width: 225px;
  height: auto;
  box-shadow: 0 10px 24px #1f3d2b20;
}
.guide-description {
  font-size: 18px;
  color: var(--muted);
  margin-top: 24px;
}
.guide-list {
  margin: 22px 0 28px;
  padding-left: 20px;
  font-size: 16px;
  line-height: 2;
}
.file-note {
  font-size: 14px;
  color: var(--muted);
  margin-top: 12px;
}
.button.dark-border {
  border-color: var(--green);
}
.insights-band {
  background: #eceee3;
}
.blog-grid article {
  background: #fff;
  border: 1px solid var(--line);
}
.blog-cover {
  padding: 25px;
  background: #1f3d2b;
  color: white;
  min-height: 220px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 22px;
}
.blog-cover > span {
  font-size: 12px;
  letter-spacing: 0.09em;
  color: #c5d5b7;
}
.blog-cover strong {
  font-size: 36px;
  line-height: 1.15;
  font-weight: 300;
  letter-spacing: -0.04em;
}
.blog-cover i {
  font-style: normal;
  color: #b9d399;
  font-size: 12px;
  letter-spacing: 0.1em;
}
.blog-cover.alt {
  background: #263629;
}
.blog-cover.third {
  background: #35492a;
}
.blog-copy {
  padding: 25px;
}
.read-time {
  font-size: 12px;
  color: var(--muted);
  letter-spacing: 0.07em;
}
.blog-copy h3 {
  font-size: 21px;
  line-height: 1.4;
  margin: 15px 0;
}
.blog-copy p {
  font-size: 16px;
  color: var(--muted);
  margin-bottom: 22px;
}
.blog-copy a {
  font-size: 14px;
  font-weight: 300;
  text-decoration: underline;
  text-underline-offset: 5px;
}
.lead-grid {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 90px;
}
.lead-grid > div > p {
  font-size: 18px;
  color: var(--muted);
  margin-top: 22px;
}
.call-link {
  font-size: 15px;
  text-decoration: underline;
  text-underline-offset: 5px;
  display: inline-block;
  margin-top: 25px;
}
#lead-form {
  background: #eceee3;
  padding: 30px;
  border: 1px solid var(--line);
}
#lead-form label {
  display: flex;
  flex-direction: column;
  font-size: 14px;
  font-weight: 300;
  gap: 8px;
  margin-bottom: 20px;
}
.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
input,
textarea,
select {
  font: 300 16px/1.6 var(--body);
  border: 1px solid #a9b49e;
  background: #fff;
  color: var(--ink);
  padding: 11px 12px;
  border-radius: 0;
  width: 100%;
  min-width: 0;
}
textarea {
  resize: vertical;
}
input:focus,
textarea:focus,
select:focus {
  outline: 2px solid #608840;
  outline-offset: 2px;
}
#lead-form .consent {
  flex-direction: row;
  align-items: flex-start;
  font-size: 13px;
  font-weight: 300;
}
.consent input {
  width: 18px;
  height: 18px;
  flex: none;
  margin-top: 3px;
  accent-color: var(--green);
}
#lead-form .honey {
  position: absolute;
  left: -9999px;
  opacity: 0;
}
.button:disabled {
  opacity: 0.6;
  cursor: wait;
}
#form-status {
  font-size: 14px;
  margin-top: 15px;
}
#form-status.success {
  color: #1f5c2b;
}
#form-status.error {
  color: #9a2828;
}
.article-hero h1 {
  /* font-size: clamp(2.25rem, 4.2vw, 3.65rem);
  max-width: 920px; */
}
.article-byline {
  margin-top: 28px;
  font-size: 15px;
  color: #c5d3b8;
}
.article-body {
  /* max-width: 800px;
  width: calc(100% - 40px);
  margin: 65px auto; */
  margin: 70px 0;
}
.article-body section {
  margin-bottom: 36px;
}
.article-body h2 {
  font-size: 24px;
  line-height: 1.4;
  letter-spacing: -0.02em;
  margin-bottom: 17px;
}
.article-body p {
  font-size: 18px;
  line-height: 1.9;
  color: #46513f;
}
.article-body aside {
  padding: 30px;
  background: #eceee3;
  margin-top: 45px;
}
.article-body aside .button {
  margin-top: 25px;
}
.back-service {
  display: block;
  margin-top: 20px;
  text-decoration: underline;
  font-size: 15px;
}
@media (max-width: 1000px) {
  .gtm-title {
    gap: 30px;
  }
  .decision-map {
    padding: 20px;
  }
  .case-grid,
  .blog-grid {
    gap: 15px;
  }
  .case-card,
  .blog-copy {
    padding: 22px;
  }
  .guide-grid,
  .lead-grid {
    gap: 40px;
  }
  .section-display {
    gap: 40px;
  }
  .section-nav .wrap {
    gap: 20px;
    justify-content: flex-start;
  }
}
@media (max-width: 780px) {
  .gtm-title {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .decision-map {
    margin-top: 15px;
  }
  .map-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .map-grid span {
    font-size: 13px;
  }
  .map-grid > div {
    padding: 15px 10px;
  }
  .section-nav .wrap {
    gap: 10px 22px;
    padding-top: 14px;
    padding-bottom: 14px;
  }
  .section-nav a {
    font-size: 13px;
  }
  .gtm-section {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .section-display {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 30px;
  }
  .section-display > p {
    font-size: 17px;
  }
  .moment-grid,
  .case-grid,
  .blog-grid {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .strategy-flow {
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    background: var(--line);
  }
  .strategy-flow li {
    padding: 22px 18px;
    border-right: 0;
  }
  .strategy-flow h3 {
    font-size: 18px;
  }
  .strategy-flow p {
    font-size: 14px;
  }
  .deliverable-grid {
    grid-template-columns: 1fr;
  }
  .alignment {
    padding: 25px;
  }
  .alignment-grid {
    grid-template-columns: 1fr 1fr;
  }
  .guide-grid,
  .lead-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .guide-preview img {
    width: 190px;
  }
  .guide-preview {
    max-width: 340px;
    margin: auto;
    width: 100%;
  }
  .blog-cover {
    min-height: 200px;
  }
  .form-row {
    grid-template-columns: 1fr;
    gap: 0;
  }
  #lead-form {
    padding: 24px;
  }
  .article-body {
    margin-top: 40px;
  }
  .article-body h2 {
    font-size: 22px;
  }
  .article-body p {
    font-size: 17px;
  }
  .article-body aside {
    padding: 25px;
  }
  .article-body aside .button {
    white-space: normal;
    text-align: left;
  }
}

.gtm-title {
  display: block;
}
.gtm-title > div {
  max-width: 900px;
}

.section-display .section-subtitle {
  font-size: 20px;
  font-weight: 300;
  color: var(--muted);
  line-height: 1.5;
  margin-top: 18px;
  max-width: 440px;
}
/* Client profile rollover cards */
.rollover-card {
  position: relative;
  min-height: 390px;
  background: var(--ink);
  color: white;
  overflow: hidden;
  border: 1px solid #3c5138;
  outline-offset: 5px;
  padding-bottom: 80px;
}
.client-front,
.client-back {
  min-height: 308px;
  transition: opacity 0.25s ease;
  position: relative;
}
.client-background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.22;
  filter: grayscale(1);
}
.client-profile {
  position: relative;
  padding: 28px;
  z-index: 1;
}
.client-profile .case-type,
.client-back .case-type {
  color: #c2d6a8;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.client-profile h3 {
  font-size: 24px;
  line-height: 1.35;
  font-weight: 300;
  margin: 28px 0 22px;
}
.client-profile p {
  color: #d1dcc8;
  font-size: 15px;
  line-height: 1.7;
}
.client-back {
  position: absolute;
  inset: 0 0 80px;
  padding: 28px;
  opacity: 0;
  visibility: hidden;
  background: #233b2a;
}
.client-back blockquote {
  margin: 28px 0 22px;
  font-size: 25px;
  line-height: 1.45;
  letter-spacing: -0.025em;
  font-weight: 300;
}
.client-back p {
  font-size: 14px;
  color: #c7d7bb;
  margin-bottom: 20px;
}
.client-back a {
  font-size: 13px;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.rollover-card.quote-open .client-front {
  opacity: 0;
  visibility: hidden;
}
.rollover-card.quote-open .client-back {
  opacity: 1;
  visibility: visible;
}
.quote-toggle {
  position: absolute;
  bottom: 24px;
  left: 28px;
  font-size: 12px;
  padding: 10px 15px;
  z-index: 2;
}
@media (hover: hover) {
  .rollover-card:hover .client-front {
    opacity: 0;
    visibility: hidden;
  }
  .rollover-card:hover .client-back {
    opacity: 1;
    visibility: visible;
  }
}
.rollover-card:focus-visible {
  outline: 3px solid var(--leaf);
}
.guide-signup {
  margin-top: 32px;
}
.guide-grid h2 {
  font-weight: 300;
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  line-height: 1.35;
}
.lead-grid > div > h2 {
  margin-bottom: 0;
}
#download-dialog {
  border: 1px solid var(--line);
  padding: 36px;
  max-width: 520px;
  width: calc(100% - 40px);
  max-height: 90vh;
  overflow: auto;
  background: var(--paper);
  color: var(--ink);
}
#download-dialog::backdrop {
  background: #06140ccc;
  backdrop-filter: blur(3px);
}
.dialog-close {
  position: absolute;
  right: 12px;
  top: 10px;
  border: 1px solid var(--line);
  background: white;
  color: var(--green);
  width: 34px;
  height: 34px;
  font: 300 26px/1 var(--body);
  cursor: pointer;
}
.download-intro h2 {
  font-size: 25px;
  line-height: 1.35;
  font-weight: 300;
  margin-right: 15px;
}
.download-intro p {
  font-size: 15px;
  color: var(--muted);
  margin: 15px 0 24px;
}
#download-form label {
  display: flex;
  flex-direction: column;
  font-size: 14px;
  font-weight: 300;
  gap: 8px;
  margin-bottom: 18px;
}
#download-form .consent {
  flex-direction: row;
  font-size: 13px;
  font-weight: 300;
  align-items: flex-start;
}
.honey {
  position: absolute;
  left: -9999px;
  opacity: 0;
}
#download-status {
  font-size: 14px;
  margin-top: 15px;
  color: #9a2828;
}
#download-ready p {
  margin-bottom: 24px;
  font-size: 17px;
}
[hidden] {
  display: none !important;
}
@media (max-width: 780px) {
  .rollover-card {
    min-height: 370px;
  }
  .client-front,
  .client-back {
    min-height: 288px;
  }
  .client-back blockquote {
    font-size: 23px;
  }
  #download-dialog {
    padding: 30px 24px;
  }
  .guide-grid h2 {
    font-size: 1.7rem;
  }
}

.rollover-card:focus-visible .client-front {
  opacity: 0;
  visibility: hidden;
}
.rollover-card:focus-visible .client-back {
  opacity: 1;
  visibility: visible;
}

/* Editorial client testimonials */
.testimonials-section {
  background: #e9eddf;
}
.testimonial-layout {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 22px;
  align-items: start;
}
.our-work .testimonial-layout{
  grid-template-columns: 1fr;
  gap:30px !important;
}
.testimonial-layout figure {
  margin: 0;
  display: flex;
  flex-direction: column;
  border: 1px solid #d4dcc9;
  padding: 32px;
  background: #fff;
}
.testimonial-layout .testimonial-featured {
  grid-row: span 2;
  background: #1f3d2b;
  color: #fff;
  padding: 42px;
  align-self: stretch;
  border-color: #1f3d2b;
}
.testimonial-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}
.testimonial-sector {
  font-size: 12px;
  letter-spacing: 0.12em;
  line-height: 1.5;
  color: #657653;
  font-weight: 300;
}
.quotation-mark {
  font-size: 68px;
  line-height: 0.9;
  font-family: var(--body);
  color: #9aba76;
  font-weight: 300;
}
.testimonial-featured .testimonial-sector {
  color: #bed2aa;
}
.testimonial-layout blockquote {
  font-weight: 300;
  /* font-size: 24px; */
  line-height: 1.45;
  letter-spacing: -0.035em;
  margin: 16px 0 28px;
  /* max-width: 520px; */
}
.testimonial-layout .testimonial-featured blockquote {
  font-size: clamp(1.9rem, 3.2vw, 2.8rem);
  line-height: 1.3;
  margin: 30px 0 50px;
}
.testimonial-layout figcaption {
  display: flex;
  gap: 15px;
  align-items: center;
  padding-top: 24px;
  border-top: 1px solid #dce2d2;
  margin-top: auto;
}
.testimonial-featured figcaption {
  border-color: #526849;
}
.client-monogram {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 46px;
  height: 46px;
  border: 1px solid #bdcba9;
  background: #eef3e6;
  font-size: 14px;
  letter-spacing: 0.04em;
  color: #35532b;
}
.testimonial-featured .client-monogram {
  background: #2c4931;
  border-color: #60764f;
  color: #cce1b7;
}
.testimonial-layout figcaption strong {
  display: block;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 300;
}
.testimonial-layout figcaption div > span {
  display: block;
  font-size: 13px;
  color: #738368;
  margin-top: 5px;
}
.testimonial-featured figcaption div > span {
  color: #c4d2b7;
}
.testimonial-profile {
  margin-top: 20px;
  font-size: 13px;
  line-height: 1.7;
  color: #5d6b50;
}
.testimonial-profile summary {
  cursor: pointer;
  font-weight: 300;
  width: max-content;
  max-width: 100%;
  text-underline-offset: 4px;
}
.testimonial-profile summary:hover {
  text-decoration: underline;
}
.testimonial-profile p {
  margin: 14px 0;
  font-size: 14px;
  line-height: 1.7;
}
.testimonial-profile a {
  text-decoration: underline;
  text-underline-offset: 4px;
  font-size: 13px;
}
.testimonial-featured .testimonial-profile {
  color: #c5d6b9;
}
@media (max-width: 780px) {
  .testimonial-layout {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .testimonial-layout .testimonial-featured {
    grid-row: auto;
    padding: 30px;
  }
  .testimonial-layout figure {
    padding: 27px;
  }
  .testimonial-layout .testimonial-featured blockquote {
    font-size: 30px;
    line-height: 1.35;
    margin: 20px 0 35px;
  }
  /* .testimonial-layout blockquote {
    font-size: 23px;
  } */
  .quotation-mark {
    font-size: 58px;
  }
}

.blog-cover h3 {
  font-size: 27px;
  line-height: 1.3;
  font-weight: 300;
  letter-spacing: -0.035em;
  margin: 0;
}
.blog-cover {
  min-height: 250px;
  justify-content: space-between;
}
.blog-copy .read-time {
  display: block;
  margin-bottom: 16px;
}
@media (max-width: 780px) {
  .blog-cover {
    min-height: 210px;
  }
  .blog-cover h3 {
    font-size: 26px;
  }
}
/* Full-width, left-aligned enquiry form */
#enquiry .lead-grid {
  display: block;
}
#enquiry .lead-grid > div {
  margin-bottom: 32px;
}
#enquiry #lead-form {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 28px;
  padding: 36px;
  margin: 40px 0 0 0;
}
#enquiry #lead-form label {
  margin-bottom: 0;
}
#enquiry #lead-form .form-row {
  grid-column: 1/-1;
  gap: 28px;
}
#enquiry #lead-form label:has(textarea),
#enquiry #lead-form .consent,
#enquiry #form-status {
  grid-column: 1/-1;
}
#enquiry #lead-form textarea {
  min-height: 145px;
}
#enquiry #lead-form button[type="submit"] {
  justify-self: start;
  grid-column: 1/-1;
  margin-top: 4px;
}
#enquiry #form-status {
  margin: 0;
}
@media (max-width: 780px) {
  #enquiry #lead-form {
    grid-template-columns: 1fr;
    padding: 24px;
    gap: 20px;
  }
  #enquiry #lead-form .form-row {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  #enquiry .lead-grid > div {
    margin-bottom: 25px;
  }
}

#enquiry .enquiry-layout {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
}
#enquiry .enquiry-display {
  width: 100%;
  margin-bottom: 32px;
}
#enquiry #lead-form {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

#services.intro {
  display: block;
}
#service-1 {
  cursor: pointer;
}
#service-1:focus-visible {
  outline: 3px solid var(--leaf);
  outline-offset: 5px;
}

.breadcrumb-strip {
  background: var(--paper);
  border-bottom: 1px solid var(--line);
  padding: 18px 0;
}
.breadcrumb-strip .breadcrumb {
  color: var(--muted);
  font-size: 14px;
}
.breadcrumb-strip .breadcrumb a:hover {
  color: var(--green);
}
.breadcrumb-strip .breadcrumb a {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Keep the services banner at the homepage scale */
.services-hero {
  /* min-height: 710px; */
  padding: 170px 0 90px;
  display: flex;
  align-items: center;
  min-height: 710px;
}
.services-hero .eyebrow {
  margin-top: 0;
  margin-bottom: 30px;
}
.breadcrumb-strip .wrap {
  display: flex;
  align-items: center;
}
.breadcrumb-strip .breadcrumb {
  display: inline-flex;
  flex-flow: row nowrap;
  align-items: center;
  gap: 12px;
  white-space: nowrap;
  width: auto;
  min-height: 23px;
  line-height: 1.5;
}
.breadcrumb-strip .breadcrumb a,
.breadcrumb-strip .breadcrumb span {
  display: inline-block;
  white-space: nowrap;
  padding: 0;
  margin: 0;
  flex: none;
  color: #667067;
    font: 400 0.94rem var(--display);
}
.breadcrumb-strip .breadcrumb a{
  color: var(--leaf);
}
#services.intro h2 {
  max-width: 1040px;
  font-size: clamp(1.5rem, 2.6vw, 2.2rem);
  line-height: 1.4;
}
.contact .contact-grid > .button {
  min-width: 220px;
  font-size: 1rem;
  padding: 16px 30px;

}
@media (max-width: 560px) {
  .services-hero {
    min-height: auto;
    padding: 132px 0 66px;
    height: 100vh;
  }
  .contact .contact-grid > .button {
    min-width: 220px;
  }
}
/* Services overview and customer discovery */
#services.intro h2 {
  font-size: clamp(1.28rem, 2.2vw, 1.83rem);
  line-height: 1.2;
}
#services .services-intro-copy {
  font-size: 18px;
  line-height: 1.8;
  font-weight: 300;
  max-width: 940px;
  margin-top: 24px;
  color: var(--muted);
}
.catalogue > .service {
  cursor: pointer;
}
.catalogue > .service:focus-visible {
  outline: 3px solid var(--leaf);
  outline-offset: 5px;
}
.discovery-invite {
  margin-top: 70px;
  background: #eceee3;
  padding: 60px 0 0 0;
}
.discovery-invite > .wrap {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 65px;
  align-items: center;
}
.discovery-invite h2 {
  font-size: 30px;
  line-height: 1.35;
  font-weight: 300;
}
.discovery-invite p {
  font-size: 17px;
  color: var(--muted);
  margin-top: 20px;
  max-width: 650px;
}
.discovery-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
}
.document-link {
  font-size: 14px;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.discovery-page {
  padding-top: 65px;
  padding-bottom: 65px;
}
.discovery-page h2 {
  font-size: 28px;
  font-weight: 300;
  line-height: 1.4;
}
.discovery-about {
  padding: 30px;
  background: #eceee3;
  border: 1px solid var(--line);
  margin-bottom: 55px;
}
.discovery-about h2 {
  margin-bottom: 28px;
}
.discovery-page label {
  display: flex;
  flex-direction: column;
  font-size: 14px;
  font-weight: 300;
  gap: 8px;
  margin-bottom: 20px;
}
.discovery-about .form-row {
  grid-template-columns: 1fr 1fr;
  gap: 0 25px;
}
.discovery-section-title {
  margin-bottom: 15px;
}
.discovery-guidance {
  font-size: 16px;
  color: var(--muted);
  max-width: 850px;
  margin-bottom: 30px;
}
.discovery-service-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.discovery-service {
  margin: 0;
  border: 1px solid var(--line);
  padding: 26px;
  background: #fff;
  min-width: 0;
}
.discovery-service legend {
  font-size: 19px;
  font-weight: 300;
  padding: 0 7px;
  max-width: 100%;
  line-height: 1.4;
}
.discovery-service legend span {
  color: #5b7c3e;
  font-size: 14px;
  display: inline-block;
  margin-right: 12px;
}
.discovery-service > p {
  color: var(--muted);
  font-size: 16px;
  margin: 7px 0 23px;
}
.discovery-service .form-row {
  gap: 17px;
}
.discovery-service textarea {
  min-height: 95px;
}
.discovery-service label:last-child {
  margin-bottom: 0;
}
.discovery-submit {
  margin-top: 32px;
  background: #eceee3;
  padding: 28px;
  border: 1px solid var(--line);
}
.discovery-submit .consent {
  flex-direction: row;
  align-items: flex-start;
  font-size: 14px;
  font-weight: 300;
  max-width: 850px;
  gap: 12px;
}
.discovery-submit .consent input {
  margin-top: 4px;
}
.discovery-submit #discovery-status {
  font-size: 16px;
  margin-top: 22px;
}
.discovery-submit .success {
  color: #235b30;
}
.discovery-submit .error {
  color: #9a2828;
}
@media (max-width: 780px) {
  .discovery-invite > .wrap {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .discovery-invite {
    padding: 45px 0 0 0;
  }
  .discovery-invite h2 {
    font-size: 25px;
  }
  .discovery-service-grid {
    grid-template-columns: 1fr;
  }
  .discovery-about {
    padding: 24px;
  }
  .discovery-about .form-row {
    grid-template-columns: 1fr;
  }
  .discovery-service {
    padding: 22px;
  }
  .discovery-service .form-row {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .discovery-page h2 {
    font-size: 24px;
  }
}
/* Shared service banners */
.hero.service-banner {
  min-height: 710px;
  padding: 170px 0 90px;
  display: flex;
  align-items: center;
}
.hero.service-banner .eyebrow {
  margin-top: 0;
  margin-bottom: 30px;
}
.hero.service-banner h1 {
  font-size:clamp(1.98rem,5.04vw,4.15rem);
  line-height: 1.15;
  /* max-width: 1050px; */
}
.hero.service-banner h1 .brand-emphasis {
  font-style: italic;
  color: var(--leaf);
}
.service-banner-intro {
  padding-top: 38px;
  padding-bottom: 12px;
}
.service-banner-intro p {
  font-size: 20px;
  line-height: 1.8;
  color: var(--muted);
  max-width: 1000px;
  font-weight: 300;
}
.website-showcase {
  padding-top: 65px;
  padding-bottom: 65px;
}
.example-disclosure {
  /* font-size: 14px; */
  color: var(--muted);
  margin: 10px 0 28px;
  /* max-width: 850px; */
}
.website-example-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.website-example {
  border: 1px solid var(--line);
  background: white;
  padding: 20px;
  min-width: 0;
}
.example-top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 22px;
}
.example-top > span {
  font-size: 13px;
  color: var(--muted);
  font-weight: 300;
}
.example-tabs {
  display: flex;
  border: 1px solid #aab99b;
}
.example-tabs button {
  border: 0;
  background: white;
  color: var(--green);
  font: 300 12px/1.5 var(--body);
  padding: 6px 10px;
  cursor: pointer;
}
.example-tabs button[aria-selected="true"] {
  background: var(--green);
  color: white;
}
.example-tabs button:focus-visible {
  outline: 2px solid var(--leaf);
  outline-offset: 3px;
}
.mock-site {
  border: 1px solid #ccd3c3;
  min-height: 340px;
  background: #f5f7ef;
  color: var(--ink);
  overflow: hidden;
}
.mock-nav {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 16px 15px;
  border-bottom: 1px solid #d7ded0;
  font-size: 10px;
}
.mock-nav b {
  font-size: 12px;
  font-weight: 300;
  letter-spacing: 0.04em;
}
.mock-nav > span {
  font-size: 9px;
  color: #75806a;
}
.mock-body {
  padding: 22px 16px;
}
.mock-body small {
  font-size: 9px;
  letter-spacing: 0.14em;
  color: #70875a;
}
.mock-body h4 {
  font-size: 22px;
  line-height: 1.25;
  font-weight: 300;
  margin: 13px 0;
  letter-spacing: -0.035em;
}
.mock-body p {
  font-size: 11px;
  line-height: 1.6;
  color: #657052;
  min-height: 38px;
}
.mock-cta {
  display: inline-block;
  padding: 9px 11px;
  background: #1f3d2b;
  color: white;
  font-size: 10px;
  font-weight: 300;
  margin-top: 17px;
}
.mock-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 22px;
}
.mock-proof span {
  border: 1px solid #d7dfcd;
  padding: 4px 6px;
  font-size: 8px;
  color: #5b7148;
}
.mock-before {
  background: #eee;
  color: #555;
  border-color: #ddd;
}
.mock-before .mock-nav {
  background: #ddd;
  border-color: #ccc;
}
.mock-before .mock-body h4 {
  font-size: 20px;
  letter-spacing: 0;
}
.mock-before .mock-body small {
  color: #777;
}
.mock-before .mock-body p {
  color: #777;
}
.mock-noise {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  margin: 20px 0;
}
.mock-noise span {
  padding: 9px 5px;
  background: #ddd;
  font-size: 9px;
  color: #777;
}
.mock-text-link {
  font-size: 9px;
  color: #777;
  text-decoration: underline;
}
.example-caption {
  font-size: 15px;
  color: var(--muted);
  line-height: 1.7;
  margin-top: 20px;
}
@media (max-width: 1000px) {
  .website-example-grid {
    grid-template-columns: 1fr;
  }
  .mock-site {
    min-height: 300px;
  }
  .mock-nav {
    flex-direction: row;
    justify-content: space-between;
  }
  .mock-body {
    padding: 25px;
  }
  .mock-body h4 {
    font-size: 26px;
    max-width: 550px;
  }
  .mock-body p {
    font-size: 13px;
    min-height: 0;
  }
  .mock-proof span {
    font-size: 10px;
  }
  .mock-cta {
    font-size: 12px;
  }
  .mock-noise {
    grid-template-columns: repeat(3, 1fr);
  }
  .mock-noise span {
    font-size: 12px;
  }
  .mock-text-link {
    font-size: 12px;
  }
}
@media (max-width: 560px) {
  .hero.service-banner {
    min-height: auto;
    padding: 132px 0 66px;
    height: 100vh;
  }
  .service-banner-intro p {
    font-size: 17px;
  }
  .service-banner-intro {
    padding-top: 28px;
  }
  .mock-nav {
    flex-direction: column;
  }
  .website-showcase {
    padding-top: 45px;
    padding-bottom: 45px;
  }
.strategy-flow{        grid-template-columns: 1fr;}

}

.web-capability-section {
  display: block;
}
.web-capability-section .detail-intro {
  max-width: 760px;
  margin-bottom: 50px;
}
.web-capabilities-title {
  font-size: 28px;
  font-weight: 300;
  margin-bottom: 28px;
}
.web-capability-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.web-capability-card {
  background: #fff;
  border: 1px solid var(--line);
  padding: 28px;
}
.web-capability-card > span {
  /* font-size: 14px;
  color: #5b7c3e; */
  font-family: var(--display);
    font-weight: 700;
    font-size: .74rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--leaf);
    margin-bottom: 14px;
}
.web-capability-card h3 {
  font-size: 22px;
  line-height: 1.35;
  font-weight: 300;
  margin: 18px 0 15px;
}
.web-capability-card p {
  font-size: 16px;
  color: var(--muted);
  line-height: 1.8;
}
@media (max-width: 1000px) {
  .web-capability-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 780px) {
  .web-capability-grid {
    grid-template-columns: 1fr;
  }
  .web-capability-card {
    padding: 25px;
  }
  .web-capability-section .detail-intro {
    margin-bottom: 35px;
  }
}

.website-assessment {
  background: #eceee3;
  padding: 60px 0;
}
.website-assessment > .wrap {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 65px;
  align-items: center;
}
.website-assessment h2 {
  font-size: 30px;
  line-height: 1.4;
  font-weight: 300;
  max-width: 680px;
}
.website-assessment p {
  font-size: 17px;
  color: var(--muted);
  margin-top: 18px;
}
.website-assessment .file-note {
  font-size: 14px;
  margin-top: 12px;
}
.website-assessment > .wrap > div:last-child {
  justify-self: end;
}
.web-capability-section {
  padding-top: 45px;
}
@media (max-width: 780px) {
  .website-assessment > .wrap {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .website-assessment > .wrap > div:last-child {
    justify-self: start;
  }
  .website-assessment h2 {
    font-size: 25px;
  }
  .website-assessment {
    padding: 45px 0;
  }
}

.display-green {
  color: #557b33;
}

.hero-green {
  color: var(--leaf);
}
/* Selected green CTA and client-card interaction */
.discovery-actions .button {
  background: var(--green);
  color: #fff;
  border-color: var(--green);
}
.discovery-actions .button:hover,
.discovery-actions .button:focus-visible {
  background: var(--leaf);
    border-color: var(--leaf);
    color: var(--ink);
}
.case-card {
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.case-card:hover,
.case-card:focus-within {
  background: var(--green);
  color: #fff;
  border-color: var(--green);
}
.case-card:hover .case-type,
.case-card:focus-within .case-type {
  color: #cce1b7;
}
.case-card:hover p,
.case-card:focus-within p,
.case-card:hover details p,
.case-card:focus-within details p {
  color: #e0ead8;
}
.case-card:hover .case-client,
.case-card:focus-within .case-client,
.case-card:hover details,
.case-card:focus-within details {
  border-color: #627956;
}
.case-card:hover h3,
.case-card:focus-within h3,
.case-card:hover h4,
.case-card:focus-within h4,
.case-card:hover summary,
.case-card:focus-within summary,
.case-card:hover a,
.case-card:focus-within a {
  color: #fff;
}

button.document-link {
  font: inherit;
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
  text-align: left;
}

[data-download-asset],
#download-form .button,
#download-ready .button {
  background: var(--green);
  color: #fff;
  border: 1px solid var(--green);
  text-decoration: none;
  padding: 14px 22px;
  font-family: var(--display);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 400;
}
[data-download-asset]:hover,
#download-form .button:hover,
#download-ready .button:hover {
  background: #31543a;
  color: #fff;
}
[data-download-asset]:focus-visible,
#download-form .button:focus-visible,
#download-ready .button:focus-visible {
  outline: 3px solid var(--leaf);
  outline-offset: 4px;
}

/* DM Sans Light across all site text and controls. */
/* body,
input,
textarea,
select,
button {
  font-family: var(--body);
  font-weight: 300;
}
h1,
h2,
h3,
h4,
h5,
h6,
b,
strong,
label,
.button {
  font-weight: 300;
}


h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700 !important;
}


.hero h1,
.hero h1 em,
.hero h1 span,
.gtm-hero h1,
.gtm-hero h1 em,
.gtm-hero h1 span {
  font-weight: 300 !important;
}


.button,
button:not(.dialog-close),
.service-link,
.all,
.blog-copy a,
.case-card summary,
.case-card details a,
.related a,
.sample-button {
  font-weight: 700 !important;
}
button.document-link[data-download-asset] {
  background: transparent;
  color: #000;
  border: 0;
  padding: 0;
  display: inline;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
  cursor: pointer;
}
button.document-link[data-download-asset]:hover {
  background: transparent;
  color: #000;
  text-decoration-thickness: 2px;
}


.button.talk-cta {
  background: var(--leaf);
  border-color: var(--leaf);
  color: var(--ink);
}
.button.talk-cta:hover {
  background: #b5e573;
  border-color: #b5e573;
  color: var(--ink);
}
footer .cols.footer-current {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr 1.2fr;
  gap: 36px;
  width: 100%;
}
footer .cols.footer-current > div:last-child {
  grid-column: auto;
}
.footer-service-links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 24px;
}
.footer-current a {
  font-size: 15px;
  line-height: 1.6;
}
.footer-current .footer-cta {
  white-space: normal;
  text-align: center;
} */


button.document-link[data-download-asset] {
  background: transparent;
  color: #000;
  border: 0;
  padding: 0;
  display: inline;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
  cursor: pointer;
}
button.document-link[data-download-asset]:hover {
  background: transparent;
  color: #000;
  text-decoration-thickness: 2px;
}


@media (max-width: 1365px) {

.nav-links li > a:not(.button), .button{font-size: 13px;}
.nav-links ul{gap:20px;}

}


@media (max-width: 1050px) {
  footer .cols.footer-current {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }
  .footer-service-links {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1000px) {
  .logo {width: 180px;}
.nav-links ul{gap:15px;}
.nav-links > a:not(.button), .button{font-size: 12px;}
.nav{gap:10px;}
.nav-links li > a:not(.button), .button{font-size: 12px;}
.wrap{width: calc(100% - 40px);}
}

@media (max-width: 900px) {
  .dropdown-arrow{display: none;}
  .nav-links li > a:not(.button), .button{font-size: 15px;}
  .nav-links {
    position: fixed;
    inset: 0;
    z-index: 30;
    display: none;
    flex-direction: column;
    justify-content: center;
    background: var(--forest);
    font-size: 1.2rem;
  }
  .menu-open .nav-links {
    display: flex;
    justify-content: flex-start;
    padding-top:90px;
  }
  .menu-button {
    display: block;
    position: relative;
    z-index: 31;
  }
.nav-links ul{
  display: flex;
  text-align: left;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  padding: 0 20px;
}
.dropdown-menu{
  position: relative;
  top: auto;
  opacity: 1;
  visibility: visible;
  margin-bottom: 15px !important;
  background: none;
}
.dropdown-menu li a{
  color: #fff;
}
.nav-links ul li{
      width: 100%;
    border-bottom: solid 1px #4b4f4d;
    padding-bottom: 10px;
}
.nav-links ul li li{border-bottom: none;padding-bottom: 0;}
.nav-links ul ul{padding: 0;}
.nav-links ul li:last-child{border:none;}
.nav-links ul li li a{padding: 10px; font-size: 13px !important;}
.nav img{z-index: 90; position: relative;}

}

@media (max-width: 767px) {
  .nav-links li > a:not(.button), .button{font-size: 13px;}
  footer .row, footer .cols {
      gap: 20px;column-gap: 60px;
  }
  footer {
      padding: 30px 0;
  }
footer .brand{
  height: 29px;
}



}

@media (max-width: 620px) {
  body {
    font-size: 16px;
  }
  .wrap {
    width: min(calc(100% - 28px), var(--wrap));
  }
  .nav {
    min-height: 82px;
  }
  .logo {
    width: 168px;
  }

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

}


@media (max-width: 560px) {
  footer .cols.footer-current {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

/* Sector page uses the established card and banner system. */
.sector-navigation {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  padding: 0 0 46px;
}
.sector-navigation a {
  font-size: 15px;
  padding: 10px 16px;
  border: 1px solid var(--line);
  background: #fff;
}
.sector-navigation a:hover {
  border-color: #557b33;
  color: #557b33;
}
.sector-section {
  padding: 64px 0;
  scroll-margin-top: 110px;
}
.sector-section:nth-of-type(even) {
  background: #eceee3;
}
.sector-display {
  display: grid;
  grid-template-columns: 65px 1fr;
  gap: 28px;
  margin-bottom: 32px;
}
.sector-number {
  /* font-size: 18px;
  color: #557b33;
  padding-top: 9px; */
  font-family: var(--display);
    font-weight: 700;
    font-size: .74rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--leaf);
    margin-bottom: 14px;
}
.sector-display h2 {
  font-size: 34px;
  line-height: 1.3;
  margin: 0 0 18px;
}
.sector-display p {
  max-width: 880px;
  color: var(--muted);
  font-size: 19px;
  line-height: 1.7;
}
.sector-services {
  margin-top: 30px;
}
.sector-services h3 {
  font-size: 18px;
  margin: 0 0 14px;
}
.sector-services > div {
  display: flex;
  gap: 12px 26px;
  flex-wrap: wrap;
}
.sector-services a {
  font-size: 16px;
  text-decoration: underline;
  text-underline-offset: 4px;
  font-weight: 700;
}
.sector-services a:hover {
  color: #557b33;
}
@media (max-width: 780px) {
  .sector-display {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .sector-display h2 {
    font-size: 28px;
  }
  .sector-display p {
    font-size: 17px;
  }
  .sector-section {
    padding: 45px 0;
  }
  .sector-navigation {
    padding-bottom: 30px;
  }
  .sector-navigation a {
    font-size: 14px;
  }
  .nav nav {
    gap: 15px;
  }
}

/* Sourced sector evidence and featured client work. */
.sector-stat {
  background: var(--green);
  border-color: var(--green);
  color: white;
  display: flex;
  flex-direction: column;
}
.sector-stat .stat-kicker {
  font-size: 12px;
  letter-spacing: 0.1em;
  color: var(--leaf);
}
.sector-stat .stat-value {
  font-size: 48px;
  line-height: 1.1;
  font-weight: 700;
  margin: 22px 0 16px;
  color: var(--leaf);
}
.sector-stat h3 {
  font-size: 20px;
  margin: 0 0 16px;
}
.sector-stat p {
  color: #fff;
}
.sector-stat .stat-context {
  font-size: 14px;
  line-height: 1.6;
  margin: 18px 0;
}
.sector-stat .stat-source {
  font-size: 14px;
  line-height: 1.6;
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 4px;
  margin-top: auto;
}
.sector-featured {
  background: var(--paper);
  padding: 70px 0;
}
.sector-featured > .wrap > h2 {
  font-size: 34px;
  margin-bottom: 30px;
}
.featured-case {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  border: 1px solid var(--line);
  background: #fff;
}
.featured-case-story {
  padding: 42px;
}
.featured-case-story .eyebrow {
  color: #557b33;
}
.featured-case-story h3 {
  font-size: 29px;
  line-height: 1.35;
  margin: 18px 0;
}
.featured-client {
  font-size: 15px;
  color: var(--muted);
  margin-bottom: 20px;
}
.featured-case-story details {
  margin-top: 26px;
}
.featured-case-story summary {
  font-weight: 700;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.featured-case-story details > div {
  padding-top: 20px;
}
.featured-case-story details h4 {
  font-size: 17px;
  margin-bottom: 10px;
}
.featured-case-story details p {
  margin-bottom: 20px;
}
.featured-case-story details a {
  font-weight: 700;
  text-decoration: underline;
}
.featured-case-quote {
  padding: 42px;
  background: var(--green);
  color: white;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.featured-case-quote .eyebrow {
  color: var(--leaf);
}
.featured-case-quote blockquote {
  font-size: 27px;
  line-height: 1.5;
  margin: 24px 0 30px;
}
.featured-case-quote a {
  font-size: 15px;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
  color: white;
}
@media (max-width: 780px) {
  .featured-case {
    grid-template-columns: 1fr;
  }
  .featured-case-story,
  .featured-case-quote {
    padding: 28px;
  }
  .featured-case-story h3 {
    font-size: 24px;
  }
  .featured-case-quote blockquote {
    font-size: 23px;
  }
  .sector-featured {
    padding: 45px 0;
  }
  .sector-featured > .wrap > h2 {
    font-size: 28px;
  }
}

/**new**/
.what-we-do-content h3 {
    font-size: 1.3rem;
    margin: 14px 0 10px;
    font-family: var(--display);
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -.02em;
}
.what-we-do-content h2 {
    max-width: 820px;
    font-size: clamp(1.28rem, 2.2vw, 1.83rem);
    font-family: var(--display);
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -.02em;
    margin: 16px 0 14px;
}
.what-we-do-content h3 {
    font-size: 1.3rem;
    margin: 14px 0 10px;
    font-family: var(--display);
    font-weight: 400;
    line-height: 1.05;
    letter-spacing: -.02em;
}
.page-hero {
    position: relative;
    padding: 176px 0 90px;
    overflow: hidden;
    background: var(--forest);
    color: #fff;
    min-height: 710px;
}
.faq-hero .eyebrow {
    color: #d4ddca !important;
    position: relative;
    margin-bottom: 30px;
}
.contact .eyebrow{
  margin-bottom: 10px;
}
.strategy-case-sec h2{
  margin-top: 0;
}
.strategy-case-sec .magazine-side{
  display: flex;
  gap:20px;
  margin-top:30px;
}
.strategy-case-sec .magazine-side img{
  height: 220px;
  object-fit: cover;
  width: 100%;
}
.strategy-case-sec .magazine-side p{
  color: var(--muted);
  margin-bottom: 16px;
  line-height: 1.55;
}
.strategy-case-sec .magazine-side .text-link{
  font-size: 14px;
    font-weight: 700;
    border-bottom: 1px solid currentColor;
    align-self: flex-start;
    padding-bottom: 3px;
    display: inline-block;
}
.strategy-case-sec .magazine-side .card{
  background: #fff;
    border: 1px solid var(--line);
    padding: 20px;
}




@media (max-width: 900px) {

.strategy-case-sec .magazine-side{
  flex-wrap: wrap;
  row-gap:30px;
}
.strategy-case-sec .magazine-side .card{
  width: calc(50% - 10px);
}


}

@media (max-width: 600px) {

.strategy-case-sec .magazine-side .card{
  width: 100%;
}
.strategy-case-sec .magazine-side img{
  height: auto;
}


}

/**new**/
