/**
 * Greenfield canonical: Hero — Half
 * v3.18.48
 *
 * Skeleton + tone variants + density variants + text_align.
 */

/* ═══ Base shell ═══ */
.ssla-section.ssla-g-hero-half {
  background: var(--g-hero-half-bg);
  color: var(--g-hero-half-fg);
  padding: var(--g-hero-half-section-padding);
}
.ssla-g-hero-half-inner {
  max-width: var(--g-hero-half-content-max-width);
  margin: 0 auto;
  padding: 48px 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-height: 40vh;
  justify-content: center;
}

/* ═══ Components ═══ */
.ssla-g-hero-half-eyebrow {
  font: 600 12px/1.2 var(--shell-bf, system-ui);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--g-hero-half-eyebrow);
}
.ssla-g-hero-half-heading {
  font: 700 var(--g-hero-half-heading-size, clamp(28px, 4vw, 48px))/1.15 var(--g-hero-half-heading-family, var(--shell-hf, system-ui));
  color: var(--g-hero-half-heading);
  margin: 0;
}
.ssla-g-hero-half-body {
  font: 400 var(--g-hero-half-body-size, 18px)/1.55 var(--g-hero-half-body-family, var(--shell-bf, system-ui));
  color: var(--g-hero-half-body);
  margin: 0;
  max-width: 60ch;
}
.ssla-g-hero-half-cta {
  display: inline-block;
  padding: 12px 22px;
  font: 600 14px/1 var(--shell-bf, system-ui);
  text-decoration: none;
  background: var(--ssla-button-fill, var(--g-hero-half-heading, #1a1a1a));
  color: var(--ssla-button-text, var(--g-hero-half-bg, #fff));
  border: 1px solid var(--ssla-button-fill, var(--g-hero-half-heading, #1a1a1a));
  align-self: flex-start;
  margin-top: 8px;
}

/* ═══ Density variants ═══ */
.ssla-g-hero-half--density-minimal .ssla-g-hero-half-eyebrow,
.ssla-g-hero-half--density-minimal .ssla-g-hero-half-body,
.ssla-g-hero-half--density-minimal .ssla-g-hero-half-cta { display: none; }

.ssla-g-hero-half--density-standard .ssla-g-hero-half-eyebrow,
.ssla-g-hero-half--density-standard .ssla-g-hero-half-cta { display: none; }

/* density-rich: all visible (default) */

/* ═══ Text alignment ═══ */
.ssla-g-hero-half--text-align-center .ssla-g-hero-half-inner { align-items: center; text-align: center; }
.ssla-g-hero-half--text-align-center .ssla-g-hero-half-cta { align-self: center; }
.ssla-g-hero-half--text-align-center .ssla-g-hero-half-body { margin-left: auto; margin-right: auto; }

/* ═══ Skeleton state per §3.5 ═══ */
.ssla-g-hero-half {
  --g-hero-half-bg:                 transparent;
  --g-hero-half-fg:                 var(--brand-fg);
  --g-hero-half-eyebrow:            var(--brand-accent);
  --g-hero-half-heading:            var(--brand-fg);
  --g-hero-half-body:               var(--brand-fg);
  --g-hero-half-heading-family:     var(--shell-hf, system-ui);
  --g-hero-half-heading-size:       clamp(28px, 4vw, 48px);
  --g-hero-half-body-family:        var(--shell-bf, system-ui);
  --g-hero-half-body-size:          18px;
  --g-hero-half-section-padding:    0;
  --g-hero-half-content-max-width:  1200px;
}

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

/* Mobile */
@media (max-width: 768px) {
  .ssla-g-hero-half-inner { padding: 32px 16px; min-height: 30vh; }
  .ssla-g-hero-half-heading { font-size: clamp(24px, 6vw, 36px); }
  .ssla-g-hero-half-body { font-size: 16px; }
}
