/* ==========================================================================
   What We Do — Elementor-editable content (post 33).
   Elementor-element IDs below are pinned at build time (see who-we-are.css
   for rationale). This file is auto-loaded ONLY on this page.
   ========================================================================== */

.elementor-element-cb0bb34 { background: var(--c-bg-alt); padding: var(--section-pad) 0; }
.elementor-element-cb0bb34 > .elementor-container { align-items: center; }
.elementor-element-cb0bb34 .elementor-heading-title { font-family: var(--font-heading); font-size: 2.4rem; font-weight: 700; color: var(--c-text); line-height: 1.2; margin: 0 0 16px; }
.elementor-element-cb0bb34 .elementor-widget-text-editor p { color: var(--c-muted); line-height: 1.75; margin: 0 0 16px; }

.elementor-element-d59fad9 { background: #fff; padding: var(--section-pad) 0 0; }
.elementor-element-d59fad9 .elementor-heading-title {
  font-family: var(--font-heading); font-size: 2.4rem; font-weight: 700; color: var(--c-text); line-height: 1.2; margin: 0 0 52px;
}

.elementor-element-8728d7e,
.elementor-element-01b3de6 { border-bottom: 1px solid var(--c-border); }
.elementor-element-8728d7e { background: #fff; }
.elementor-element-01b3de6 { background: var(--c-bg-alt); }
.elementor-element-4791faa { background: #fff; padding-bottom: var(--section-pad) !important; }

.elementor-element-8728d7e,
.elementor-element-01b3de6,
.elementor-element-4791faa {
  padding: 36px 40px;
}
.elementor-element-8728d7e > .elementor-container,
.elementor-element-01b3de6 > .elementor-container,
.elementor-element-4791faa > .elementor-container {
  align-items: flex-start;
  gap: 40px;
}
.elementor-element-8728d7e .elementor-heading-title,
.elementor-element-01b3de6 .elementor-heading-title,
.elementor-element-4791faa .elementor-heading-title {
  font-family: var(--font-heading);
  line-height: 1;
}
.elementor-element-8728d7e > .elementor-container > .elementor-column:first-child .elementor-heading-title,
.elementor-element-01b3de6 > .elementor-container > .elementor-column:first-child .elementor-heading-title,
.elementor-element-4791faa > .elementor-container > .elementor-column:first-child .elementor-heading-title {
  font-size: 3rem;
  font-weight: 700;
}
.elementor-element-8728d7e > .elementor-container > .elementor-column:last-child .elementor-heading-title,
.elementor-element-01b3de6 > .elementor-container > .elementor-column:last-child .elementor-heading-title,
.elementor-element-4791faa > .elementor-container > .elementor-column:last-child .elementor-heading-title {
  font-size: 1.4rem;
  margin: 0 0 10px;
}
.elementor-element-8728d7e .elementor-widget-text-editor p,
.elementor-element-01b3de6 .elementor-widget-text-editor p,
.elementor-element-4791faa .elementor-widget-text-editor p {
  font-size: 0.95rem; color: var(--c-muted); line-height: 1.75; margin: 0;
}

.elementor-element-3707697 { background: var(--c-bg-alt); padding: var(--section-pad) 0; }
.elementor-element-3707697 > .elementor-container { align-items: center; }
.elementor-element-3707697 .elementor-heading-title { font-family: var(--font-heading); font-size: 2.4rem; font-weight: 700; color: var(--c-text); line-height: 1.2; margin: 0 0 16px; }
.elementor-element-3707697 .elementor-widget-text-editor p { color: var(--c-muted); line-height: 1.75; margin: 0 0 16px; }
.elementor-element-3707697 .elementor-widget-video {
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-large);
}

.elementor-element-caaca67 .elementor-button {
  background: transparent;
  color: var(--c-primary);
  border: 1.5px solid var(--c-primary);
  font-family: var(--font-body);
  font-weight: 600;
  padding: 14px 28px;
  border-radius: 5px;
  text-decoration: none;
}
.elementor-element-caaca67 .elementor-button:hover { background: var(--c-primary); color: #fff; }

.elementor-element-ef63b4b { background: var(--c-dark); padding: var(--section-pad) 0; }
.elementor-element-ef63b4b > .elementor-container { align-items: center; }
.elementor-element-ef63b4b .elementor-heading-title { font-family: var(--font-heading); margin: 0 0 10px; }

.elementor-element-f8113f8 .elementor-button,
.elementor-element-f492201 .elementor-button {
  font-family: var(--font-body);
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1;
  padding: 16px 36px;
  border-radius: 5px;
  border: none;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.15s, opacity 0.15s, transform 0.1s;
}
.elementor-element-f8113f8 .elementor-button {
  font-size: 0.95rem;
  padding: 16px 22px;
}
.elementor-element-f8113f8 .elementor-button { background: var(--c-primary); color: #fff; }
.elementor-element-f8113f8 .elementor-button:hover { background: var(--c-primary-dark); color: #fff; }
.elementor-element-f492201 .elementor-button {
  background: transparent;
  color: #fff;
  border: 1.5px solid rgba(255,255,255,0.5);
}
.elementor-element-f492201 .elementor-button:hover { background: rgba(255,255,255,0.1); color: #fff; }

@media (max-width: 800px) {
  .elementor-element-8728d7e > .elementor-container > .elementor-column:first-child .elementor-heading-title,
  .elementor-element-01b3de6 > .elementor-container > .elementor-column:first-child .elementor-heading-title,
  .elementor-element-4791faa > .elementor-container > .elementor-column:first-child .elementor-heading-title {
    font-size: 2.2rem;
  }
}

/* ---- Page banner (added: restores original eyebrow/subtitle copy that page.php's generic banner had dropped) ---- */
.elementor-element-ffe0b31 { background: var(--c-dark); padding: 64px 0; border-bottom: 1px solid rgba(255,255,255,0.07); }
.elementor-element-ffe0b31 .cbcc-eyebrow { color: var(--c-gold); margin-bottom: 12px; }
.elementor-element-ffe0b31 .elementor-heading-title { font-family: var(--font-heading); font-size: 2.8rem; font-weight: 700; color: #fff; margin-bottom: 14px; line-height: 1.15; }
.elementor-element-ffe0b31 .elementor-widget-text-editor:last-child p { font-size: 1.05rem; color: rgba(255,255,255,0.6); max-width: 600px; line-height: 1.8; margin: 0; }
