/* Braventon - page compositions. */
@layer pages {
  /* ---------- page head (inner pages) ---------- */
  .bv-pagehead { padding-block: clamp(2rem, 5vw, 3.75rem) clamp(1.5rem, 3vw, 2.5rem); border-bottom: var(--bw) solid var(--color-ink); background: var(--color-paper); position: relative; }
  .bv-pagehead__in { display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: end; }
  .bv-pagehead h1 { font-size: var(--fs-5); line-height: .9; max-width: 18ch; }
  .bv-pagehead .bv-lead { margin-top: 1.1rem; max-width: 46rem; font-size: var(--fs-1); color: var(--color-steel); }
  .bv-crumbs { display: flex; gap: .5rem; list-style: none; padding: 0; margin-bottom: 1rem; font-family: var(--font-mono); font-size: var(--fs--1); text-transform: uppercase; letter-spacing: .06em; }
  .bv-crumbs li + li::before { content: "/"; margin-right: .5rem; color: var(--color-line); }
  .bv-crumbs a { text-decoration: none; color: var(--color-cone-deep); }
  .bv-titleblock { border: var(--bw) solid var(--color-ink); font-family: var(--font-mono); font-size: .75rem; letter-spacing: .05em; text-transform: uppercase; min-width: 15rem; background: var(--color-bone); }
  .bv-titleblock div { display: grid; grid-template-columns: 6.5rem 1fr; }
  .bv-titleblock div + div { border-top: var(--bw) solid var(--color-ink); }
  .bv-titleblock dt, .bv-titleblock dd { padding: .35rem .6rem; margin: 0; }
  .bv-titleblock dt { background: var(--color-ink); color: var(--color-on-rebar); }
  @media (max-width: 899.98px) { .bv-pagehead__in { grid-template-columns: 1fr; } .bv-titleblock { display: none; } }

  /* ---------- home: hero ---------- */
  .bv-hero { position: relative; padding-block: clamp(2rem, 5vw, 4rem) clamp(2.5rem, 6vw, 5rem); overflow: hidden; }
  .bv-hero__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; }
  .bv-hero__tag { display: inline-flex; align-items: center; gap: .6rem; padding: .35rem .8rem; background: var(--color-ink); color: var(--color-on-rebar); font-family: var(--font-mono); font-size: var(--fs--1); letter-spacing: .06em; text-transform: uppercase; margin-bottom: 1.4rem; }
  .bv-hero__tag::before { content: ""; width: 10px; height: 10px; background: var(--color-tape); }
  .bv-hero h1 { font-size: var(--fs-5); line-height: .88; letter-spacing: 0; }
  .bv-hero h1 em { font-style: normal; color: var(--color-cone); display: block; }
  .bv-hero__lead { margin-top: 1.5rem; font-size: var(--fs-1); max-width: 34rem; color: var(--color-steel); }
  .bv-hero__cta { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2rem; }
  .bv-facts { display: flex; flex-wrap: wrap; gap: 0; margin-top: 2.5rem; border-top: var(--bw) solid var(--color-ink); border-bottom: var(--bw) solid var(--color-ink); max-width: 38rem; }
  .bv-facts > div { flex: 1 1 8rem; padding: .85rem 1rem; }
  .bv-facts > div + div { border-left: var(--bw) solid var(--color-ink); }
  .bv-facts dt { font-family: var(--font-mono); font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; color: var(--color-steel); }
  .bv-facts dd { margin: 0; font-family: var(--font-display); font-weight: 900; font-size: 2.1rem; line-height: 1; }
  .bv-hero__plate { position: relative; margin: 0; }
  .bv-hero__plate .bv-hero__img { aspect-ratio: 4 / 5; border: var(--bw) solid var(--color-ink); clip-path: polygon(0 0, calc(100% - 56px) 0, 100% 56px, 100% 100%, 0 100%); background: var(--color-concrete); overflow: hidden; box-shadow: var(--shadow-hard); }
  .bv-hero__plate img { width: 100%; height: 100%; object-fit: cover; }
  .bv-hero__plate figcaption { position: absolute; left: -1px; bottom: -1px; right: 22%; background: var(--color-bone); border: var(--bw) solid var(--color-ink); padding: .6rem .9rem; font-family: var(--font-mono); font-size: .72rem; letter-spacing: .04em; text-transform: uppercase; }
  .bv-hero__plate figcaption b { display: block; font-family: var(--font-display); font-weight: 900; font-size: 1.2rem; letter-spacing: .03em; }
  .bv-hero__side { position: absolute; right: .75rem; top: 50%; writing-mode: vertical-rl; transform: translateY(-50%) rotate(180deg); font-family: var(--font-mono); font-size: .72rem; letter-spacing: .25em; text-transform: uppercase; color: var(--color-steel); }
  @media (max-width: 959.98px) {
    .bv-hero__grid { grid-template-columns: 1fr; }
    .bv-hero__plate { order: -1; }
    .bv-hero__plate .bv-hero__img { aspect-ratio: 16 / 10; }
    .bv-hero__side { display: none; }
  }

  /* ticker */
  .bv-ticker { background: var(--color-ink); color: var(--color-on-rebar); overflow: hidden; border-block: var(--bw) solid var(--color-ink); }
  .bv-ticker__track { display: flex; width: max-content; animation: bv-marquee 38s linear infinite; }
  .bv-ticker__track span { display: inline-flex; align-items: center; gap: 1.5rem; padding: .8rem 1.5rem; font-family: var(--font-display); font-weight: 800; font-size: 1.35rem; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
  .bv-ticker__track span::after { content: ""; width: 12px; height: 12px; background: var(--color-tape); transform: rotate(45deg); }
  .bv-ticker:hover .bv-ticker__track { animation-play-state: paused; }
  @keyframes bv-marquee { to { transform: translateX(-50%); } }

  /* ---------- home: bento categories ---------- */
  .bv-bento { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--gap); }
  .bv-bento__tile { position: relative; display: flex; flex-direction: column; justify-content: space-between; gap: 2rem; padding: 1.4rem; min-height: 14rem; background: var(--color-paper); border: var(--bw) solid var(--color-ink); text-decoration: none; overflow: hidden; transition: transform .2s var(--ease), box-shadow .2s var(--ease); grid-column: span 3; }
  .bv-bento__tile:hover { transform: translate(-3px, -3px); box-shadow: var(--shadow-hard); color: var(--color-ink); }
  .bv-bento__tile--wide { grid-column: span 6; }
  .bv-bento__tile--dark { background: var(--color-ink); color: var(--color-on-rebar); }
  .bv-bento__tile--dark:hover { color: var(--color-on-rebar); box-shadow: 5px 5px 0 var(--color-cone); }
  .bv-bento__tile--cone { background: var(--color-cone); color: #fff; }
  .bv-bento__tile--cone:hover { color: #fff; }
  .bv-bento__tile--tape { background: var(--color-tape); }
  .bv-bento__no { font-family: var(--font-mono); font-size: var(--fs--1); letter-spacing: .08em; display: flex; justify-content: space-between; align-items: center; }
  .bv-bento__tile h3 { font-size: clamp(1.7rem, 3vw, 2.4rem); }
  .bv-bento__tile p { font-size: .9rem; opacity: .85; max-width: 30ch; margin-top: .5rem; }
  .bv-bento__tile .bv-icon { width: 34px; height: 34px; }
  .bv-bento__ghost { position: absolute; right: -.15em; bottom: -.28em; font-family: var(--font-display); font-weight: 900; font-size: 9rem; line-height: 1; opacity: .07; pointer-events: none; }
  @media (max-width: 1023.98px) { .bv-bento__tile, .bv-bento__tile--wide { grid-column: span 6; } }
  @media (max-width: 599.98px) { .bv-bento__tile, .bv-bento__tile--wide { grid-column: span 12; min-height: 11rem; } }

  /* ---------- home: process ---------- */
  .bv-process { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; list-style: none; padding: 0; border: var(--bw) solid var(--color-ink); background: var(--color-paper); }
  .bv-process li { position: relative; padding: 1.6rem 1.4rem 1.8rem; }
  .bv-process li + li { border-left: var(--bw) solid var(--color-ink); }
  .bv-process__n { font-family: var(--font-display); font-weight: 900; font-size: 5.5rem; line-height: .8; color: transparent; -webkit-text-stroke: 2px var(--color-ink); display: block; margin-bottom: 1rem; }
  .bv-process h3 { margin-bottom: .5rem; }
  .bv-process p { font-size: .9375rem; color: var(--color-steel); }
  @media (max-width: 899.98px) { .bv-process { grid-template-columns: repeat(2, 1fr); } .bv-process li:nth-child(3) { border-left: 0; } .bv-process li:nth-child(n+3) { border-top: var(--bw) solid var(--color-ink); } }
  @media (max-width: 559.98px) { .bv-process { grid-template-columns: 1fr; } .bv-process li + li { border-left: 0; border-top: var(--bw) solid var(--color-ink); } }

  /* ---------- home: featured rail ---------- */
  .bv-railhead { display: flex; justify-content: space-between; align-items: end; gap: 1rem; flex-wrap: wrap; }
  .bv-rail__ctl { display: flex; gap: .5rem; margin-bottom: clamp(1.75rem, 4vw, 3rem); }
  .bv-rail__track { display: grid; grid-auto-flow: column; grid-auto-columns: min(300px, 78vw); gap: var(--gap); overflow-x: auto; scroll-snap-type: x mandatory; padding: 0 0 1.4rem; list-style: none; scrollbar-width: thin; scrollbar-color: var(--color-ink) transparent; }
  .bv-rail__track > li { scroll-snap-align: start; }
  .bv-iconbtn:disabled { opacity: .35; pointer-events: none; }

  /* ---------- home: services band ---------- */
  .bv-svcgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 0; border: var(--bw) solid var(--color-on-rebar); }
  .bv-svcgrid button { text-align: left; padding: 1.4rem; display: grid; gap: .8rem; align-content: start; min-height: 11rem; color: var(--color-on-rebar); transition: background .15s, color .15s; border-right: 1px solid var(--line-rebar); border-bottom: 1px solid var(--line-rebar); }
  .bv-svcgrid button:hover { background: var(--color-tape); color: var(--color-ink); }
  .bv-svcgrid h3 { font-size: 1.6rem; }
  .bv-svcgrid p { font-size: .875rem; opacity: .8; }
  .bv-svcgrid .bv-icon { width: 30px; height: 30px; color: var(--color-cone-bright); }
  .bv-svcgrid button:hover .bv-icon { color: var(--color-ink); }

  /* ---------- home: South Florida notes ---------- */
  .bv-notes { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap); }
  .bv-note-card { background: var(--color-paper); border: var(--bw) solid var(--color-ink); padding: 1.5rem; position: relative; border-top: 10px solid var(--color-cone); }
  .bv-note-card h3 { margin-bottom: .6rem; }
  .bv-note-card p { font-size: .9375rem; color: var(--color-steel); }
  @media (max-width: 899.98px) { .bv-notes { grid-template-columns: 1fr; } }

  /* ---------- faq ---------- */
  .bv-faq { display: grid; gap: 0; max-width: 58rem; border-top: var(--bw) solid var(--color-ink); }
  .bv-faq details { border-bottom: var(--bw) solid var(--color-ink); }
  .bv-faq summary { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.15rem .25rem; cursor: pointer; list-style: none; font-family: var(--font-display); font-weight: 800; font-size: 1.5rem; text-transform: uppercase; line-height: 1.05; }
  .bv-faq summary::-webkit-details-marker { display: none; }
  .bv-faq summary .bv-icon { transition: transform .2s var(--ease); }
  .bv-faq details[open] summary .bv-icon { transform: rotate(180deg); }
  .bv-faq summary:hover { color: var(--color-cone-deep); }
  .bv-faq details > div { padding: 0 .25rem 1.4rem; max-width: 46rem; color: var(--color-steel); }

  /* ---------- CTA band ---------- */
  .bv-cta { background: var(--color-cone); color: #fff; border-block: var(--bw) solid var(--color-ink); position: relative; overflow: hidden; }
  .bv-cta__in { display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: center; padding-block: clamp(2.5rem, 6vw, 4.5rem); }
  .bv-cta h2 { font-size: var(--fs-5); line-height: .9; color: #fff; }
  .bv-cta p { margin-top: 1rem; max-width: 40rem; font-size: var(--fs-1); }
  .bv-cta .bv-btn { background: var(--color-ink); }
  .bv-cta .bv-btn:hover { background: var(--color-rebar-2); }
  @media (max-width: 799.98px) { .bv-cta__in { grid-template-columns: 1fr; } }

  /* ---------- services page ---------- */
  .bv-orders { list-style: none; padding: 0; display: grid; border-top: var(--bw) solid var(--color-ink); }
  .bv-order { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr) 14rem; gap: clamp(1rem, 3vw, 2.5rem); padding: 1.8rem 0; border-bottom: var(--bw) solid var(--color-ink); align-items: start; transition: background .2s; }
  .bv-order:hover { background: rgb(242 183 5 / .12); }
  .bv-order__n { font-family: var(--font-display); font-weight: 900; font-size: 4.5rem; line-height: .8; color: transparent; -webkit-text-stroke: 2px var(--color-ink); }
  .bv-order h2 { font-size: var(--fs-3); }
  .bv-order__title { text-align: left; text-transform: inherit; font: inherit; letter-spacing: inherit; }
  .bv-order__title:hover { color: var(--color-cone-deep); }
  .bv-order__main p { margin-top: .6rem; color: var(--color-steel); max-width: 44rem; }
  .bv-order__list { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; margin-top: 1rem; }
  .bv-order__list li { font-family: var(--font-mono); font-size: .75rem; background: var(--color-concrete); padding: .25rem .6rem; border-left: 3px solid var(--color-cone); }
  .bv-order__side { display: grid; gap: .8rem; justify-items: stretch; }
  .bv-order__price { font-family: var(--font-mono); font-size: 1.1rem; }
  .bv-order__price small { color: var(--color-steel); }
  @media (max-width: 899.98px) { .bv-order { grid-template-columns: 3.5rem 1fr; } .bv-order__n { font-size: 3rem; } .bv-order__side { grid-column: 2; grid-template-columns: auto 1fr; align-items: center; } }
  @media (max-width: 479.98px) { .bv-order__side { grid-template-columns: 1fr; } }
  .bv-steps3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap); list-style: none; padding: 0; }
  .bv-steps3 li { background: var(--color-paper); border: var(--bw) solid var(--color-ink); padding: 1.5rem; }
  .bv-steps3 .bv-process__n { font-size: 4rem; }
  @media (max-width: 799.98px) { .bv-steps3 { grid-template-columns: 1fr; } }
  .bv-legal-note { display: grid; grid-template-columns: auto 1fr; gap: 1.25rem; align-items: start; border-left: 10px solid var(--color-tape); }
  .bv-legal-note .bv-icon { width: 40px; height: 40px; }

  /* ---------- catalog ---------- */
  .bv-cat { display: grid; grid-template-columns: 15rem minmax(0, 1fr); gap: clamp(1.5rem, 3vw, 3rem); align-items: start; }
  .bv-cat__index { position: sticky; top: calc(var(--header-h) + 1.5rem); }
  .bv-cat__index p { font-family: var(--font-mono); font-size: var(--fs--1); text-transform: uppercase; letter-spacing: .08em; padding-bottom: .5rem; border-bottom: var(--bw) solid var(--color-ink); margin-bottom: .25rem; }
  .bv-cat__index ul { list-style: none; padding: 0; }
  .bv-cat__index a { display: flex; justify-content: space-between; gap: .5rem; padding: .6rem .5rem; text-decoration: none; border-bottom: 1px solid var(--color-line); font-weight: 500; font-size: .9375rem; }
  .bv-cat__index a small { font-family: var(--font-mono); color: var(--color-steel); }
  .bv-cat__index a:hover { background: var(--color-tape); color: var(--color-ink); }
  .bv-cat__index a[aria-current="page"] { background: var(--color-ink); color: var(--color-bone); }
  .bv-cat__index a[aria-current="page"] small { color: var(--color-on-rebar-muted); }
  .bv-toolbar { display: grid; grid-template-columns: 1fr 14rem; gap: 1rem; align-items: end; padding: 1rem; background: var(--color-paper); border: var(--bw) solid var(--color-ink); margin-bottom: 1rem; }
  .bv-toolbar .bv-field { margin: 0; }
  .bv-searchbox { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .5rem; border: var(--bw) solid var(--color-ink); background: var(--color-bone); padding-left: .75rem; }
  .bv-searchbox .bv-input { border: 0; min-height: 46px; background: transparent; box-shadow: none !important; padding-left: .25rem; }
  .bv-searchbox .bv-btn { box-shadow: none; border-width: 0 0 0 var(--bw); min-height: 46px; }
  .bv-cat__status { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.25rem; min-height: 2rem; }
  .bv-chips-row { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; }
  .bv-grid4 { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap); }
  .bv-bulk { margin-top: 3rem; display: grid; grid-template-columns: 1fr auto; gap: 1.5rem; align-items: center; padding: 1.75rem; background: var(--color-rebar); color: var(--color-on-rebar); border: var(--bw) solid var(--color-ink); box-shadow: var(--shadow-hard); }
  .bv-bulk h2 { font-size: var(--fs-3); }
  .bv-bulk p { color: var(--color-on-rebar-muted); margin-top: .4rem; }
  .bv-empty { text-align: center; justify-items: center; display: grid; gap: 1rem; }
  .bv-empty .bv-icon { width: 54px; height: 54px; }
  @media (max-width: 1099.98px) { .bv-grid4 { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 899.98px) {
    .bv-cat { grid-template-columns: minmax(0, 1fr); }
    .bv-cat__index { position: static; }
    .bv-cat__index ul { display: flex; gap: .4rem; overflow-x: auto; padding-bottom: .5rem; scrollbar-width: thin; }
    .bv-cat__index a { white-space: nowrap; border: var(--bw) solid var(--color-ink); background: var(--color-paper); }
    .bv-toolbar { grid-template-columns: 1fr; }
    .bv-bulk { grid-template-columns: 1fr; }
  }
  @media (max-width: 559.98px) { .bv-grid4 { grid-template-columns: 1fr; } }

  /* ---------- contacts ---------- */
  .bv-contact { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(1.5rem, 3vw, 3rem); align-items: start; }
  .bv-dossier { display: grid; border: var(--bw) solid var(--color-ink); background: var(--color-paper); margin-bottom: 1.5rem; }
  .bv-dossier > div { display: grid; grid-template-columns: 7rem 1fr; border-bottom: var(--bw) solid var(--color-ink); }
  .bv-dossier > div:last-child { border-bottom: 0; }
  .bv-dossier dt { background: var(--color-ink); color: var(--color-on-rebar); font-family: var(--font-mono); font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; padding: .9rem .8rem; }
  .bv-dossier dd { margin: 0; padding: .8rem 1rem; font-style: normal; }
  .bv-dossier a { font-family: var(--font-mono); font-weight: 500; }
  .bv-map { border: var(--bw) solid var(--color-ink); aspect-ratio: 4 / 3; background: var(--color-concrete); box-shadow: var(--shadow-hard); }
  .bv-map iframe { width: 100%; height: 100%; border: 0; display: block; filter: grayscale(.35) contrast(1.05); }
  .bv-contact__form h2 { font-size: var(--fs-3); margin-bottom: 1.25rem; }
  @media (max-width: 899.98px) { .bv-contact { grid-template-columns: 1fr; } }

  /* ---------- checkout ---------- */
  .bv-stepper { display: flex; list-style: none; padding: 0; margin-bottom: 2rem; border: var(--bw) solid var(--color-ink); background: var(--color-paper); }
  .bv-stepper li { flex: 1; padding: .8rem 1rem; display: flex; align-items: center; gap: .6rem; font-family: var(--font-display); font-weight: 800; font-size: 1.2rem; text-transform: uppercase; letter-spacing: .04em; color: var(--color-steel); }
  .bv-stepper li + li { border-left: var(--bw) solid var(--color-ink); }
  .bv-stepper li b { width: 28px; height: 28px; display: grid; place-items: center; border: var(--bw) solid currentColor; font-family: var(--font-mono); font-size: .8rem; }
  .bv-stepper .is-done { color: var(--color-ok); }
  .bv-stepper .is-now { background: var(--color-ink); color: var(--color-bone); }
  .bv-checkout__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(1.5rem, 3vw, 2.5rem); align-items: start; }
  .bv-summary { position: sticky; top: calc(var(--header-h) + 1.25rem); }
  .bv-summary__box { background: var(--color-paper); border: var(--bw) solid var(--color-ink); box-shadow: var(--shadow-hard); }
  .bv-summary__box > summary { display: flex; justify-content: space-between; align-items: center; padding: 1rem 1.25rem; list-style: none; cursor: pointer; background: var(--color-tape); border-bottom: var(--bw) solid var(--color-ink); font-family: var(--font-display); font-weight: 900; font-size: 1.6rem; text-transform: uppercase; }
  .bv-summary__box > summary::-webkit-details-marker { display: none; }
  .bv-summary__list { list-style: none; padding: 0; }
  .bv-summary__list li { display: grid; grid-template-columns: 76px 1fr auto; gap: .8rem; padding: .9rem 1.25rem; border-bottom: 1px solid var(--color-line); align-items: start; }
  .bv-summary__list img { width: 76px; height: 57px; object-fit: cover; border: var(--bw) solid var(--color-ink); }
  .bv-summary__name { font-weight: 600; font-size: .9rem; line-height: 1.3; }
  .bv-summary__ctl { display: flex; gap: .5rem; align-items: center; margin-top: .5rem; }
  .bv-summary__totals { padding: 1rem 1.25rem 1.25rem; display: grid; gap: .5rem; }
  .bv-summary__totals > div { display: flex; justify-content: space-between; gap: 1rem; }
  .bv-summary__totals dt { color: var(--color-steel); }
  .bv-summary__totals dd { margin: 0; }
  .bv-summary__grand { padding-top: .7rem; border-top: var(--bw) solid var(--color-ink); font-weight: 700; }
  .bv-done { display: grid; gap: 1rem; justify-items: start; }
  .bv-done .bv-icon { width: 54px; height: 54px; color: var(--color-ok); }
  @media (max-width: 959.98px) { .bv-checkout__grid { grid-template-columns: 1fr; } .bv-summary { position: static; order: -1; } .bv-stepper li { font-size: 1rem; padding: .6rem; } }

  /* ---------- privacy ---------- */
  .bv-legal { display: grid; grid-template-columns: 17rem minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: start; }
  .bv-toc { position: sticky; top: calc(var(--header-h) + 1.5rem); }
  .bv-toc p { font-family: var(--font-mono); font-size: var(--fs--1); text-transform: uppercase; letter-spacing: .08em; padding-bottom: .5rem; border-bottom: var(--bw) solid var(--color-ink); }
  .bv-toc ol { list-style: none; padding: 0; counter-reset: toc; }
  .bv-toc li { counter-increment: toc; }
  .bv-toc a { display: grid; grid-template-columns: 2rem 1fr; padding: .45rem 0; text-decoration: none; font-size: .9rem; border-bottom: 1px solid var(--color-line); }
  .bv-toc a::before { content: counter(toc, decimal-leading-zero); font-family: var(--font-mono); color: var(--color-steel); }
  .bv-toc a[aria-current="true"] { color: var(--color-cone-deep); font-weight: 700; }
  .bv-prose { max-width: 46rem; }
  .bv-prose section { padding-bottom: 2rem; margin-bottom: 2rem; border-bottom: 1px solid var(--color-line); }
  .bv-prose h2 { font-size: var(--fs-3); margin-bottom: .8rem; }
  .bv-prose ul { padding-left: 1.2rem; margin-top: .6rem; display: grid; gap: .35rem; }
  .bv-prose a { color: var(--color-cone-deep); }
  @media (max-width: 899.98px) { .bv-legal { grid-template-columns: 1fr; } .bv-toc { position: static; } }

  /* ---------- 404 ---------- */
  .bv-lost { padding-block: clamp(3rem, 9vw, 7rem); }
  .bv-lost__plate { max-width: 44rem; border: var(--bw) solid var(--color-ink); background: var(--color-paper); box-shadow: var(--shadow-hard); }
  .bv-lost__plate header { background: var(--tape); height: 18px; border-bottom: var(--bw) solid var(--color-ink); }
  .bv-lost__body { padding: clamp(1.5rem, 4vw, 2.75rem); display: grid; gap: 1.25rem; }
  .bv-lost h1 { font-size: var(--fs-5); line-height: .88; }
  .bv-lost__search { display: grid; grid-template-columns: 1fr auto; gap: .6rem; }
  .bv-lost__cta { display: flex; flex-wrap: wrap; gap: .8rem; }
}
