/* Banner V2 — light "Banner" interior hero (Contact page).
   Cream panel with a faded background photo, a forest-bordered breadcrumb row,
   and a left-aligned display headline with a rotated lime highlight behind the
   first line. Artifact (Figma export) px ÷ 18; semantic tokens only; .bnr.v2. */

.bnr.v2 {
  position: relative;
  width: 100%;
  overflow: clip;

  /* ── Background layers: cream base + photo @55% + cream gradients ──────── */
  .bnr-v2-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-color: var(--main-bg);
  }

  .bnr-v2-photo {
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 50%;
    transform: translateX(-50%);
    height: 100%;
    width: auto;
    min-width: 100%;
    object-fit: cover;                   /* PNG override (global forces contain) */
    opacity: 0.55;
  }

  /* Horizontal fade: cream → translucent → near-transparent (L→R) */
  .bnr-v2-fade-h {
    position: absolute;
    inset: 0;
    background: linear-gradient(
      to right,
      var(--main-bg) 8%,
      hsl(from var(--main-bg) h s l / 0.5) 45%,
      hsl(from var(--main-bg) h s l / 0.2) 100%
    );
  }

  /* Vertical fade: transparent → cream (top→bottom) */
  .bnr-v2-fade-v {
    position: absolute;
    inset: 0;
    background: linear-gradient(
      to bottom,
      hsl(from var(--main-bg) h s l / 0) 0%,
      var(--main-bg) 100%
    );
  }

  /* ── Breadcrumb row: forest bottom border, left-aligned label ─────────── */
  .bnr-v2-crumbs {
    display: flex;
    align-items: center;
    min-height: 3.889rem;                /* 70px */
    padding-block: 1.333rem;             /* 24px */
    border-block-end: 1px solid var(--callout);
  }

  .bnr-v2-crumb-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .bnr-v2-crumb-item {
    display: inline-flex;
    align-items: center;
  }

  /* Links, current-page text and "/" separators share one uppercase line */
  .bnr-v2-crumb-link,
  .bnr-v2-crumb-text,
  .bnr-v2-crumb-sep {
    margin: 0;
    line-height: 1.4;
    text-transform: uppercase;
  }

  /* Ancestor links (Home included): color-swap comes from .clr-swp; underline on hover */
  .bnr-v2-crumb-link {
    text-decoration: none;
  }

  .bnr-v2-crumb-link:hover,
  .bnr-v2-crumb-link:focus-visible {
    text-decoration: underline;
  }

  /* "/" separators carry a little breathing room on each side */
  .bnr-v2-crumb-sep {
    margin-inline: 0.222rem;               /* 4px */
    user-select: none;
  }

  /* ── Headline panel: pt-80 pb-40, content left-aligned ────────────────── */
  .bnr-v2-panel {
    display: flex;
    align-items: center;
    padding-block: 4.444rem 2.222rem;    /* 80px / 40px */
  }

  .bnr-v2-textbox {
    flex: 1 1 0;
    min-width: 0;
    max-width: 66.667rem;                /* 1200px */
  }

  /* Headline: Archivo Black 88px, leading 0.9, tracking -1.76px, near-black */
  .bnr-v2-ttl {
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    font-family: var(--fnt-t);
    line-height: 1; /* was 0.9 — policy: never < 1 */
    color: var(--text);
    text-transform: uppercase;
  }

  /* Rotated lime highlight behind the first line (artifact lime @70%, -0.56deg) */
  .bnr-v2-hl {
    position: relative;
    display: inline-block;
  }

  .bnr-v2-hl::before {
    content: "";
    position: absolute;
    inset: 0.05em -0.12em;
    z-index: -1;
    background: hsl(from var(--accent) h s l / 0.7);
    transform: rotate(-0.56deg);
  }

}
