/* ── Radio group container ── */
.page-demo .contact-form__radios {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* ── Each radio wrapper ── */
.page-demo .contact-form__radios > div > div,
.page-demo .contact-form__radios > div.form-check {
  margin: 0;
  padding: 0;
  position: relative;
}

/* ── Hide native radio input ── */
.page-demo .contact-form__radios input[type="radio"] {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
  pointer-events: none;
  margin: 0;
}

/* ── Label styled as pill button ── */
.page-demo .contact-form__radios label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border: 2px solid var(--c-black);
  border-radius: 0;
  background: var(--c-white);
  font-family: "GT Flexa", sans-serif;
  font-weight: 900;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: -0.01em;
  color: var(--c-black);
  cursor: pointer;
  user-select: none;
  transition: background-color 0.2s ease,
              color 0.2s ease,
              border-color 0.2s ease,
              box-shadow 0.2s ease;
}

.page-demo .contact-form__radios label:hover {
  background: rgba(31, 31, 31, 0.06);
}

/* ── Custom radio dot inside label ── */
.page-demo .contact-form__radios label::before {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  border: 2px solid var(--c-black);
  border-radius: 50%;
  background: var(--c-white);
  transition: background-color 0.2s ease,
              border-color 0.2s ease,
              box-shadow 0.2s ease;
}

/* ── Selected state ── */
.page-demo .contact-form__radios input[type="radio"]:checked + label {
  background: var(--c-jizo);
  border-color: var(--c-black);
  color: var(--c-black);
}

.page-demo .contact-form__radios input[type="radio"]:checked + label::before {
  background: var(--c-black);
  border-color: var(--c-black);
  box-shadow: inset 0 0 0 2.5px var(--c-jizo);
}

/* ── Focus-visible for accessibility ── */
.page-demo .contact-form__radios input[type="radio"]:focus-visible + label {
  box-shadow: 0 0 0 3px rgba(31, 31, 31, 0.18);
}

.contact-hero{
  position: relative;
  overflow: hidden;
}

.contact-hero::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 29%;
  background: var(--c-black);
  z-index: 0;
}

.contact-hero > .container{
  position: relative;
  z-index: 1;
}