/* C3 Research Case Studies v1.1.0: isolated from sitewide Elementor button rules. */
.c3cs {
  --c3cs-ink: #242c39; --c3cs-green: #16553d;
  --c3cs-muted: #65716e; --c3cs-line: #d9e0db;
  --c3cs-paper: #f7f9f6; --c3cs-serif: Georgia, 'Times New Roman', serif;
  width: 100%; max-width: 1080px; margin: 40px auto;
  color: var(--c3cs-ink); font-family: inherit; scroll-margin-top: 110px;
}
.c3cs, .c3cs * { box-sizing: border-box; }
.c3cs .c3cs__eyebrow {
  font-size: 11px; line-height: 1.4; font-weight: 700; font-family: inherit; letter-spacing: .17em; text-transform: uppercase;
  color: var(--c3cs-green);
}
.c3cs .c3cs__intro {
  border-top: 3px solid var(--c3cs-green); display: flex;
  gap: 16px; align-items: baseline; justify-content: space-between;
  padding: 15px 0 20px;
}
.c3cs .c3cs__intro h2 {
  font: normal clamp(25px, 3vw, 36px)/1.14 var(--c3cs-serif);
  margin: 8px 0 0; color: var(--c3cs-ink);
}
.c3cs .c3cs__count { font-size: 12px; color: var(--c3cs-muted); white-space: nowrap; }
.c3cs .c3cs__tabs {
  display: grid; grid-template-columns: repeat(3, minmax(0,1fr));
  border: 1px solid var(--c3cs-line); background: #fff;
  overflow: visible; gap: 0;
}
/* Explicit reset is intentional: Elementor's global button rules otherwise
   turn these tabs into large rounded CTA buttons with overflowing text. */
.c3cs .c3cs__tab, .c3cs .c3cs__arrow {
  -webkit-appearance: none !important; appearance: none !important;
  box-shadow: none !important; text-shadow: none !important;
  transform: none !important; letter-spacing: normal;
  background-image: none !important; text-decoration: none !important;
}
.c3cs .c3cs__tabs > .c3cs__tab {
  display: block !important; width: auto !important; max-width: none !important;
  min-width: 0 !important; min-height: 82px;
  margin: 0 !important; padding: 16px 18px !important;
  border-radius: 0 !important; border: 0 !important;
  border-right: 1px solid var(--c3cs-line) !important;
  border-bottom: 3px solid transparent !important;
  background: #fff !important; color: var(--c3cs-ink) !important;
  text-align: left !important; white-space: normal !important;
  font-family: inherit !important; font-size: inherit !important;
  font-weight: normal !important; line-height: 1.3 !important;
  cursor: pointer; transition: background .15s;
}
.c3cs .c3cs__tabs > .c3cs__tab:last-child { border-right: 0 !important; }
.c3cs .c3cs__tabs > .c3cs__tab:hover { background: #f3f7f3 !important; }
.c3cs .c3cs__tabs > .c3cs__tab[aria-selected="true"] {
  background: var(--c3cs-paper) !important;
  border-bottom-color: var(--c3cs-green) !important;
}
.c3cs .c3cs__num {
  display: block !important; font-size: 11px !important; line-height: 1.3 !important; font-weight: 700 !important; font-family: inherit !important;
  letter-spacing: .15em !important; color: var(--c3cs-green) !important;
  margin: 0 0 8px !important;
}
.c3cs .c3cs__tab-title {
  display: block !important; margin: 0 !important;
  font-size: 15px !important; line-height: 1.35 !important; font-weight: 600 !important; font-family: inherit !important;
  color: var(--c3cs-ink) !important;
  overflow-wrap: anywhere; white-space: normal !important;
}
.c3cs .c3cs__panel {
  background: var(--c3cs-paper); border: 1px solid var(--c3cs-line); border-top: 0;
}
.c3cs .c3cs__panel[hidden] { display: none !important; }
.c3cs .c3cs__content { padding: clamp(24px,4vw,48px); }
.c3cs .c3cs__head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 18px; padding-bottom: 16px; margin-bottom: 28px;
  border-bottom: 1px solid var(--c3cs-line);
}
.c3cs .c3cs__head .c3cs__eyebrow { margin: 0; }
.c3cs .c3cs__sectionnum { font-size: 12px; color: var(--c3cs-muted); white-space: nowrap; }
.c3cs .c3cs__grid {
  display: grid; grid-template-columns: minmax(0, 1fr) 195px; gap: clamp(25px,4vw,45px);
}
.c3cs .c3cs__grid--full { display: block; }
.c3cs .c3cs__article h3 {
  font: normal clamp(28px,3.2vw,40px)/1.16 var(--c3cs-serif) !important;
  letter-spacing: -.02em; margin: 0 0 23px !important; color: var(--c3cs-ink) !important;
  overflow-wrap: break-word;
}
.c3cs .c3cs__body { font: normal 17px/1.75 var(--c3cs-serif); color: #303844; }
.c3cs .c3cs__body p, .c3cs .c3cs__body ul, .c3cs .c3cs__body ol {
  font-family: inherit; font-size: inherit; line-height: inherit; margin: 0 0 21px; color: inherit;
}
.c3cs .c3cs__body p:last-child { margin-bottom: 0; }
.c3cs .c3cs__body a { color: var(--c3cs-green); text-decoration: underline; text-underline-offset: 3px; }
.c3cs .c3cs__body strong { color: var(--c3cs-green); font-weight: 700; }
.c3cs .c3cs__facts { border-left: 1px solid #c6d2c9; padding-left: 23px; align-self: start; }
.c3cs .c3cs__fact { padding: 4px 0 24px; margin-bottom: 23px; border-bottom: 1px solid #c6d2c9; }
.c3cs .c3cs__fact:last-child { border: 0; margin-bottom: 0; }
.c3cs .c3cs__figure {
  font: normal 36px/1.1 var(--c3cs-serif); color: var(--c3cs-green);
  letter-spacing: -.03em; display: block; margin-bottom: 10px;
}
.c3cs .c3cs__label {
  font-size: 10px; text-transform: uppercase; letter-spacing: .15em;
  font-weight: 700; color: var(--c3cs-ink); display: block; margin-bottom: 11px;
}
.c3cs .c3cs__fact p { font-size: 13px; line-height: 1.55; margin: 0; color: #4e5a57; }
.c3cs .c3cs__footer {
  display: grid !important; grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  align-items: center; gap: 22px;
  background: #fff; border-top: 1px solid var(--c3cs-line);
  padding: 20px clamp(24px,4vw,48px);
}
.c3cs .c3cs__footer > .c3cs__arrow {
  display: flex !important; min-width: 0 !important; width: 100% !important;
  max-width: 100% !important; min-height: 48px;
  align-items: center !important; justify-content: flex-start !important;
  gap: 12px !important; padding: 5px 0 !important;
  margin: 0 !important; border: 0 !important;
  border-radius: 0 !important; background: transparent !important;
  color: var(--c3cs-ink) !important; cursor: pointer;
  text-transform: none !important; font-family: inherit !important; font-size: inherit !important; font-weight: inherit !important; line-height: inherit !important;
  text-align: left !important; white-space: normal !important;
}
.c3cs .c3cs__footer > .c3cs__arrow:last-child {
  justify-content: flex-end !important; text-align: right !important;
}
.c3cs .c3cs__arrow span {
  min-width: 0; display: block; font-size: 14px !important; line-height: 1.3 !important; font-weight: 600 !important; font-family: inherit !important;
  color: var(--c3cs-ink) !important; overflow-wrap: anywhere;
}
.c3cs .c3cs__arrow small {
  display: block; color: var(--c3cs-green) !important;
  letter-spacing: .13em !important; text-transform: uppercase !important;
  font-size: 10px !important; line-height: 1.3 !important; font-weight: 700 !important; font-family: inherit !important; margin-bottom: 5px;
}
.c3cs .c3cs__footer > .c3cs__arrow:hover:not(:disabled) span {
  text-decoration: underline !important; text-decoration-color: var(--c3cs-green) !important;
  text-underline-offset: 4px;
}
.c3cs .c3cs__footer > .c3cs__arrow:disabled { opacity: .38 !important; cursor: not-allowed; }
.c3cs :focus-visible { outline: 3px solid #368c68 !important; outline-offset: 3px; }
@media (max-width: 720px) {
  .c3cs .c3cs__tabs { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; }
  .c3cs .c3cs__tabs > .c3cs__tab { flex: 0 0 72%; min-height: 76px; scroll-snap-align: start; }
  .c3cs .c3cs__content { padding: 24px; }
  .c3cs .c3cs__grid { display: block; }
  .c3cs .c3cs__facts { border-left: 0; border-top: 1px solid var(--c3cs-line); padding: 20px 0 0; margin-top: 30px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
  .c3cs .c3cs__fact { margin: 0; padding: 0; border: 0; }
  .c3cs .c3cs__figure { font-size: 30px; }
  .c3cs .c3cs__body { font-size: 16px; line-height: 1.7; }
  .c3cs .c3cs__footer { gap: 12px; padding: 18px 22px; }
  .c3cs .c3cs__arrow span { font-size: 13px !important; }
}
@media (prefers-reduced-motion: reduce) { .c3cs .c3cs__tab { transition: none; } }

/* v1.2: hide unused endpoints and keep lone Next aligned to the right. */
.c3cs .c3cs__footer:has(> .c3cs__arrow:only-child.c3cs__next) > .c3cs__next { grid-column: 2; }
.c3cs .c3cs__footer:empty { display: none !important; }
