{% require_css %}
<style>
  {% scope_css %}
  /* Root + height presets */
  .hb { position: relative; min-height: 60vh; width: 100%; isolation: isolate; }
  .hb--tall { min-height: 80vh; }
  .hb--full { min-height: 100vh; }
  @supports (height: 100dvh){
    .hb--full { min-height: 100dvh; }
  }

  .hb__bg { position: relative; min-height: inherit; width: 100%; overflow: hidden; z-index: 0; }

  .hb__video, .hb__overlay { position: absolute; inset: 0; }
  .hb__video { width: 100%; height: 100%; object-fit: cover; z-index: 0; }
  .hb__overlay { z-index: 1; pointer-events: none; }

  /* NEW: full-size inner grid for centering */
  .hb__inner {
    position: absolute; inset: 0; z-index: 2;
    display: grid; place-items: center; /* centers child */
    padding: 2rem;
    text-align: center;
  }

  /* Content block (no absolute positioning anymore) */
  .hb__content {
    width: min(90vw, 760px);
    color: #fff;
  }

  .hb__h1, .hb__content h1 {
    margin: 0 0 .75rem;
    font-family: "Bahnschrift","Helvetica",sans-serif;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em; line-height: 1.1;
    font-size: clamp(2rem, 4vw + 1rem, 3.25rem);
  }

  .hb__h2, .hb__content h2 {
    display: block;
    margin: .5rem auto 1rem;
    padding: .375rem 1rem;
    font-family: "Bahnschrift","Helvetica",sans-serif;
    font-weight: 700; text-transform: uppercase;
    letter-spacing: .12em;
    font-size: clamp(1rem, 1.5vw + .75rem, 1.25rem);
    color: #773847; background: #F7F6F5; line-height: 1.2;
    width: fit-content;
  }

  .hb__desc, .hb__content p {
    margin: 0 auto;
    max-width: 65ch;
    font-family: "darwin pro", sans-serif;
    font-weight: 100;
    font-size: clamp(.95rem, .45vw + .9rem, 1.125rem);
    line-height: 1.6;
    letter-spacing: .03em;
    color: #fff;
  }
  .hb__content a { color:#e9f5e5; text-decoration: underline; }
  .hb__content a:hover { text-decoration-thickness: .125rem; }

  /* Video swap (scoped) */
  .hb .hb__video--desktop { display: block; }
  .hb .hb__video--mobile  { display: none; }
  @media (max-width: 48em){
    .hb.hb--show-mobile .hb__video--desktop { display: none; }
    .hb.hb--show-mobile .hb__video--mobile  { display: block; }
  }

  /* Parallax safety for smaller screens */
  @media (max-width: 64em){ .hb__bg { background-attachment: scroll !important; } }

  /* Mobile IMAGE / overlay overrides */
  {% if module.add_mobile_options %}
  @media (max-width: 48em){
    {% if (module.mobile.type_background|string)|lower == 'image' %}
      #-hb .hb__bg{
        background-color: rgba(, );
        background-image: url('');
        background-blend-mode: ;
        {% if module.mobile.background_size == 'custom' %}
          background-size: %;
        {% else %}
          background-size: ;
        {% endif %}
        background-repeat: ;
        background-position: ;
        background-attachment: scroll;
      }
    {% endif %}

    {% set _moverlay = (module.mobile.overlay|string)|lower %}
    {% if _moverlay == "solid" %}
      #-hb .hb__overlay {
        background: rgba(, );
      }
    {% elif _moverlay == "gradient" %}
      #-hb .hb__overlay {
        background:
          linear-gradient(deg,
            rgba(, ) %,
            rgba(, ) %);
      }
    {% endif %}
  }
  {% endif %}
  {% end_scope_css %}
</style>
{% end_require_css %}
