/**
 * Greenfield canonical: Hero — Split
 * v3.18.48
 */

.ssla-section.ssla-g-hero-split {
  background-color: var(--ssla-bg-color, transparent);
  color: var(--g-hero-split-fg);
  padding: var(--g-hero-split-section-padding);
}
.ssla-g-hero-split-inner {
  max-width: var(--g-hero-split-content-max-width);
  margin: 0 auto;
  padding: var(--paint-section-padding, 80px) 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}
.ssla-g-hero-split-text {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.ssla-g-hero-split-eyebrow {
  font: 600 12px/1.2 var(--shell-bf, system-ui);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--g-hero-split-eyebrow);
}
.ssla-g-hero-split-heading {
  font: 700 var(--g-hero-split-heading-size, clamp(32px, 4.5vw, 56px))/1.1 var(--g-hero-split-heading-family, var(--shell-hf, system-ui));
  color: var(--g-hero-split-heading);
  margin: 0;
}
/* v3.23.63 — colored heading word. The inline_color affordance carries an
   emphasized word as <em> (migrated legacy highlight) or <span class="gold">
   (.gold → accent via 0-shared). Color the <em> with the brand strong accent so
   a migrated heading renders its highlight on-brand (RedShift: red), matching the
   original design. Themeable: each preset's --shell-accent-strong drives it.
   Explicit color: spans from the overlay picker still win by specificity. */
.ssla-g-hero-split-heading em {
  color: var(--shell-accent-strong, var(--g-hero-split-heading));
  font-style: italic;
}
.ssla-g-hero-split-body {
  font: 400 var(--g-hero-split-body-size, 18px)/1.55 var(--g-hero-split-body-family, var(--shell-bf, system-ui));
  color: var(--g-hero-split-body);
  margin: 0;
}
.ssla-g-hero-split-cta {
  display: inline-block;
  padding: 12px 22px;
  font: 600 14px/1 var(--shell-bf, system-ui);
  text-decoration: none;
  /* v3.23.65 — button fills from the brand accent (gold), not the heading colour,
     to match g-cta; dark readable text on the accent fill. */
  background: var(--ssla-button-fill, var(--brand-accent, #1a1a1a));
  color: var(--ssla-button-text, var(--shell-text-dark, #1a1a1a));
  border: 1px solid var(--ssla-button-fill, var(--brand-accent, #1a1a1a));
  align-self: flex-start;
  margin-top: 8px;
}
.ssla-g-hero-split-media {
  aspect-ratio: 4 / 3;
  background: rgba(0,0,0,0.06);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.ssla-g-hero-split-media img,
.ssla-g-hero-split-media video,
.ssla-g-hero-split-media iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: none;
}

/* ═══ Media side variants ═══ */
.ssla-g-hero-split--media-side-left .ssla-g-hero-split-inner {
  grid-template-columns: 1fr 1fr;
}
.ssla-g-hero-split--media-side-left .ssla-g-hero-split-media { order: 0; }
.ssla-g-hero-split--media-side-left .ssla-g-hero-split-text  { order: 1; }
/* v3.24.44 — copy follows its side: when media sits on the left the copy is on
   the RIGHT, so right-align its text and end-align its column (button included),
   matching g-content-split. Left side keeps the default left alignment. */
.ssla-g-hero-split--media-side-left .ssla-g-hero-split-text  { text-align: right; align-items: flex-end; }

/* ═══ Density variants ═══ */
.ssla-g-hero-split--density-minimal .ssla-g-hero-split-eyebrow,
.ssla-g-hero-split--density-minimal .ssla-g-hero-split-body,
.ssla-g-hero-split--density-minimal .ssla-g-hero-split-cta { display: none; }
.ssla-g-hero-split--density-standard .ssla-g-hero-split-eyebrow,
.ssla-g-hero-split--density-standard .ssla-g-hero-split-cta { display: none; }
/* density-rich: all visible */

/* ═══ Skeleton ═══ */
.ssla-g-hero-split {
  --g-hero-split-fg:                 var(--brand-fg);
  --g-hero-split-eyebrow:            var(--brand-accent);
  --g-hero-split-heading:            var(--brand-fg);
  --g-hero-split-body:               var(--brand-fg);
  --g-hero-split-heading-family:     var(--shell-hf, system-ui);
  --g-hero-split-heading-size:       clamp(32px, 4.5vw, 56px);
  --g-hero-split-body-family:        var(--shell-bf, system-ui);
  --g-hero-split-body-size:          18px;
  --g-hero-split-section-padding:    0;
  --g-hero-split-content-max-width:  1200px;
}

/* Tone variants */
.ssla-g-hero-split--tone-light {
  --g-hero-split-fg:      #1a1a1a;
  --g-hero-split-heading: #1a1a1a;
  --g-hero-split-body:    #4a4a4a;
}
.ssla-g-hero-split--tone-dark {
  --g-hero-split-fg:      #f5f5f5;
  --g-hero-split-heading: #ffffff;
  --g-hero-split-body:    #d0d0d0;
}
.ssla-g-hero-split--tone-accent {
  --g-hero-split-fg:      var(--preset-accent-fg, #1a1a1a);
  --g-hero-split-heading: var(--preset-accent-fg, #1a1a1a);
  --g-hero-split-body:    var(--preset-accent-fg, #1a1a1a);
}

/* v3.23.63 — Height option (mirrors g-hero-full v3.23.14). Standard = content
   height; Tall / Full screen floor the section and center the split vertically.
   Variant class ssla-g-hero-split--height-{value} is projected on the section root. */
.ssla-g-hero-split--height-tall,
.ssla-g-hero-split--height-fullscreen {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.ssla-g-hero-split--height-tall       { min-height: 80vh; }
.ssla-g-hero-split--height-fullscreen { min-height: 100vh; }

/* Mobile */
@media (max-width: 768px) {
  .ssla-g-hero-split-inner { padding: 40px 16px; grid-template-columns: 1fr; gap: 24px; }
  .ssla-g-hero-split--media-side-left .ssla-g-hero-split-media { order: 1; }
  .ssla-g-hero-split--media-side-left .ssla-g-hero-split-text  { order: 0; }
  .ssla-g-hero-split-heading { font-size: clamp(28px, 7vw, 40px); }
}
