/**
 * Welcome V2
 * Two-column intro band: eyebrow + Teko heading (left), body + signature +
 * CTA buttons (right). Full-bleed dark-green background owned by the widget.
 */

/* Strip Elementor container padding + force full-bleed, even inside a "Boxed"
   section (which caps the inner .elementor-container). */
.elementor-column
  > .elementor-element-populated:has(.elementor-widget-agency-welcome-v2),
.e-con:has(> .e-con-inner > .elementor-widget-agency-welcome-v2),
.e-con:has(.elementor-widget-agency-welcome-v2) {
  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  padding: 0 !important;
}

.elementor-section:has(.elementor-widget-agency-welcome-v2),
.elementor-section:has(.elementor-widget-agency-welcome-v2) > .elementor-container,
.e-con:has(.elementor-widget-agency-welcome-v2),
.e-con:has(.elementor-widget-agency-welcome-v2) > .e-con-inner {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ── Brand tokens ────────────────────────────────────────────────────────── */
/* Scoped to .aew-welc so they don't leak into other widgets. Source of truth
   is design-system.md. Update there first; copy here second. */
.aew-welc {
  --aew-cards:             var(--e-global-color-aew-cards, #FFFFFF);
  --aew-background:        var(--e-global-color-aew-background, #F4F4F4);
  --aew-lines:             var(--e-global-color-aew-lines, #DDDDDD);
  --aew-misc-accent:       var(--e-global-color-aew-misc-accent, #666666);
  --aew-secondary-cards:   var(--e-global-color-aew-secondary-cards, #EEEEEE);
  --aew-secondary-bg:      var(--e-global-color-aew-secondary-bg, #333333);
  --aew-secondary-accent:  var(--e-global-color-aew-secondary-accent, #555555);
  --aew-text:              var(--e-global-color-aew-text, #1A1A1A);
  --aew-cta:               var(--e-global-color-aew-cta, #444444);
  --aew-cta-hover:         var(--e-global-color-aew-cta-hover, #2B2B2B);
}

/* ── Outer block (full-bleed) ────────────────────────────────────────────── */
/* Design-system width model: X gutter on the outer block; inner caps at 1440. */
.aew-welc {
  background: var(--aew-welc-bg, var(--aew-secondary-accent));
  width: 100%;
  position: relative;
  padding-left: 40px;
  padding-right: 40px;
}

.aew-welc *,
.aew-welc *::before,
.aew-welc *::after {
  box-sizing: border-box;
}

/* ── Inner wrapper: true 1440 content cap; Y owned by body_pad_y control ──── */
.aew-welc__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 100px 0;   /* Y default (body_pad_top / body_pad_bottom controls override); X via outer gutter */
}

/* ── Two-column grid ─────────────────────────────────────────────────────── */
.aew-welc__grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 80px;
  align-items: start;
}

.aew-welc__col {
  min-width: 0;
}

/* ── Eyebrow ─────────────────────────────────────────────────────────────── */
.aew-welc__eyebrow {
  margin: 0 0 8px;
  padding: 0;
  color: var(--aew-welc-eyebrow, var(--aew-cta));
  /* Subhead / eyebrow font per design system: Playfair Display Bold. */
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 1;
  letter-spacing: 1px;
  text-transform: uppercase;
}

/* ── Heading ─────────────────────────────────────────────────────────────── */
/* Wrapper-class prefix raises specificity to (0,2,0) so the colour beats the
   Elementor kit's `.elementor-kit-N h1..h6 { color }` rule (0,1,1). */
.aew-welc .aew-welc__heading {
  margin: 0;
  padding: 0;
  color: var(--aew-welc-heading, var(--aew-cta));
  font-family: var(--aew-teko);
  font-weight: 600;
  font-size: 80px;
  line-height: 0.85;
  text-transform: uppercase;
}

/* ── Body text ───────────────────────────────────────────────────────────── */
.aew-welc__body {
  color: var(--aew-welc-text, #FFFFFF);
  font-family: 'Lato', sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.5;
}

.aew-welc__body p {
  margin: 0 0 1.25em;
}

.aew-welc__body p:last-child {
  margin-bottom: 0;
}

/* ── Signature ───────────────────────────────────────────────────────────── */
.aew-welc__signature {
  margin: 28px 0 0;
  padding: 0;
  color: var(--aew-welc-signature, var(--aew-cta));
  font-family: 'Dancing Script', 'Brush Script MT', cursive;
  font-weight: 700;
  font-size: 34px;
  line-height: 1;
  display: flex;
  align-items: center;
}

.aew-welc__sig-dash {
  font-family: 'Lato', sans-serif;
  font-weight: 400;
}

/* ── Buttons ─────────────────────────────────────────────────────────────── */
.aew-welc__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 36px;
}

.aew-welc__btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  background-color: var(--aew-welc-btn-bg, var(--aew-background));
  color: var(--aew-welc-btn-text, var(--aew-cta-hover));
  font-family: var(--aew-teko);
  font-weight: 600;
  font-size: 20px;
  line-height: 0.85;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 20px 24px 16px;
  border: 0;
  border-radius: 8px;
  transition: background-color 0.18s ease, color 0.18s ease;
}

.aew-welc__btn:hover,
.aew-welc__btn:focus-visible {
  background-color: var(--aew-welc-btn-bg-hover, var(--aew-cta));
  color: var(--aew-welc-btn-text-hover, #FFFFFF);
}

/* Shared "target" arrow (same as media-cta). Path points left → flip forward. */
.aew-welc__btn-arrow {
  flex: 0 0 auto;
  width: 1.2em;
  height: 1.2em;
  margin-top: -2px;
  transform: scaleX(-1);
  transition: transform 0.18s ease;
}

.aew-welc__btn:hover .aew-welc__btn-arrow,
.aew-welc__btn:focus-visible .aew-welc__btn-arrow {
  transform: scaleX(-1) translateX(3px);
}

/* ── Responsive: tablet / small desktop ──────────────────────────────────── */
@media (max-width: 1024px) {
  /* X gutter from outer (40); Y from desktop inner */
  .aew-welc__grid {
    gap: 48px;
  }

  .aew-welc .aew-welc__heading {
    font-size: 64px;
  }
}

/* ── Responsive: mobile ──────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .aew-welc {
    padding-left: 16px;
    padding-right: 16px;
  }

  .aew-welc__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .aew-welc__eyebrow {
    font-size: 18px;
  }

  .aew-welc .aew-welc__heading {
    font-size: 48px;
  }

  .aew-welc__body {
    font-size: 16px;
  }

  .aew-welc__buttons {
    flex-direction: column;
    align-items: stretch;
  }

  .aew-welc__btn {
    justify-content: center;
  }
}
