@import url("https://fonts.googleapis.com/css2?family=Unbounded:wght@600;700;800;900&family=Josefin+Sans:wght@400;500;600;700&display=swap");
    .um-stm-hero-block, .um-stm-hero-block * { box-sizing: border-box; }
    .um-stm-hero-block {
      --um-cream: #F8F0CD;
      --um-burgundy: #5C1A14;
      --um-orange: #D8682A;
      --um-sage: #8B9968;
      --um-warm-ink: #3D1410;
      --um-warm-mute: #8C5A4C;
      --font-heading: "Unbounded", ui-sans-serif, system-ui, sans-serif;
      --font-display: "Josefin Sans", ui-sans-serif, system-ui, sans-serif;
      width: 100%; margin: 0; padding: 0;
      font-family: var(--font-display);
      -webkit-font-smoothing: antialiased;
      background:
        radial-gradient(ellipse 80% 60% at 100% 0%, color-mix(in oklab, var(--um-sage) 22%, transparent), transparent 55%),
        radial-gradient(ellipse 70% 50% at 0% 100%, color-mix(in oklab, var(--um-orange) 14%, transparent), transparent 50%),
        var(--um-cream);
      color: var(--um-warm-ink);
    }
    .um-stm-hero-block .um-stm-hero {
      max-width: 1180px; margin: 0 auto;
      padding: 72px 24px 56px;
    }
    .um-stm-hero-block .um-stm-hero__eyebrow {
      display: flex; align-items: center; gap: 14px; margin-bottom: 24px;
    }
    .um-stm-hero-block .um-stm-hero__eyebrow-bar {
      width: 36px; height: 2px; background: var(--um-orange); flex-shrink: 0;
    }
    .um-stm-hero-block .um-stm-hero__eyebrow-label {
      font-size: 12px; font-weight: 700; letter-spacing: 0.22em; color: var(--um-orange);
    }
    .um-stm-hero-block .um-stm-hero__title {
      margin: 0; font-family: var(--font-heading); font-weight: 800;
      line-height: 0.96; letter-spacing: -0.035em;
      font-size: clamp(36px, 7vw, 72px); color: var(--um-burgundy); max-width: 16ch;
    }
    .um-stm-hero-block .um-stm-hero__dot { color: var(--um-orange); }
    .um-stm-hero-block .um-stm-hero__slogan {
      margin: 28px 0 0; max-width: 34rem;
      font-family: var(--font-heading); font-weight: 600;
      font-size: clamp(18px, 2.4vw, 24px); line-height: 1.35;
      color: var(--um-burgundy);
    }
    .um-stm-hero-block .um-stm-hero__desc {
      margin: 18px 0 0; max-width: 36rem;
      font-size: 17px; line-height: 1.65; font-weight: 500; color: var(--um-warm-mute);
    }
    .um-stm-hero-block .um-stm-hero__cta {
      display: inline-block; margin-top: 36px;
      padding: 16px 32px; border-radius: 999px;
      font-size: 14px; font-weight: 700; letter-spacing: 0.12em;
      background: var(--um-burgundy); color: var(--um-cream); text-decoration: none;
      transition: background 0.25s ease, transform 0.25s ease;
    }
    .um-stm-hero-block .um-stm-hero__cta:hover {
      background: var(--um-orange); transform: translateY(-2px);
    }
    @media (min-width: 768px) {
      .um-stm-hero-block .um-stm-hero { padding: 96px 56px 72px; }
    }
    @media (prefers-reduced-motion: reduce) {
      .um-stm-hero-block .um-stm-hero__cta { transition: none; }
      .um-stm-hero-block .um-stm-hero__cta:hover { transform: none; }
    }
