/* ── Page Banner ─────────────────────────────────────────────────────────── */
.page-banner {
  position: relative;
  background: var(--powder-blue);
  overflow: hidden;
  min-height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.page-banner__inner {
  position: relative;
  z-index: 2;
  padding: var(--md-2) var(--sm-1);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sm-2);
}

.page-banner__title {
  font-size: var(--headline-lg-fs);
  line-height: var(--headline-lg-lh);
  font-weight: 600;
  color: var(--dark-blue);
  margin: 0;
}

.page-banner__molecule {
  position: absolute;
  width: clamp(140px, 14vw, 200px);
  max-width: 40%;
  pointer-events: none;
  z-index: 1;
}

.page-banner__molecule--left  { left: 0;  bottom: 0; transform: translate(-10%, 10%); }
.page-banner__molecule--right { right: 0; bottom: 0; transform: translate(0, 10%); }

.page-breadcrumb {
  display: flex;
  align-items: center;
  gap: var(--xs-1);
  font-size: var(--breadcrumb-default-fs);
  line-height: var(--breadcrumb-default-lh);
  flex-wrap: wrap;
  justify-content: center;
}

.page-breadcrumb a { color: var(--dark-blue); }
.page-breadcrumb a:hover { color: var(--highlight-blue); }
.page-breadcrumb__sep { color: var(--dark-50); }
.page-breadcrumb__active { color: var(--body-blue); font-weight: 600; }

/* ── Terms Section ───────────────────────────────────────────────────────── */
.terms-section {
  padding: var(--lg-1) 0 var(--lg-2);
}

/* ── Terms Block ─────────────────────────────────────────────────────────── */
.terms-block {
  padding: var(--md-1) 0;
  border-bottom: 1px solid var(--dark-25);
}

.terms-block:last-child {
  border-bottom: none;
}

.terms-block__heading {
  font-size: var(--body-lg-fs, 1.125rem);
  font-weight: 600;
  color: var(--dark-blue);
  margin-bottom: var(--sm-3);
}

.terms-block__body {
  font-size: var(--body-sm-fs);
  line-height: var(--body-sm-lh);
  color: var(--body-blue);
  margin-bottom: var(--xs-2);
}

.terms-block__body:last-child {
  margin-bottom: 0;
}

.terms-block--note {
  background: var(--powder-blue);
  border-radius: var(--rad-sm);
  padding: var(--md-1) var(--md-2);
  border-bottom: none;
  margin-top: var(--sm-2);
}

.terms-block--note .terms-block__heading {
  color: var(--dark-blue);
}
