/* Institutional preview. All color values inherit the published BVQ palette.
   Open compositions replace repeated tile grids; source copy is untouched. */
:root { --bvq-max: 1200px; }
.section { padding-block: clamp(3.5rem, 6.5vw, 6rem); }
.section__head { text-align: left; max-width: 46rem; margin: 0 0 3rem; }
.section__head > .eyebrow { margin: 0 0 1rem; }
.section__head h2 { font-size: min(clamp(2.125rem, 3.6vw, 3.25rem), 10.5vw); line-height: 1.08; letter-spacing: -.03em; }
.section__head > p.body { margin-top: 1.25rem; max-width: 39rem; text-wrap: pretty; line-height: 1.65; }

/* Categories: open catalogue, with the existing illustrations as supporting art. */
#categories { padding-block: clamp(3.5rem, 6.5vw, 6rem); border-top: 1px solid var(--bvq-line); }
#categories > .shell { max-width: var(--bvq-max); }
#categories .section__head { max-width: 46rem; margin: 0 0 2.5rem; }
#categories h2 { font-size: min(clamp(2.125rem, 3.6vw, 3.25rem), 10.5vw); line-height: 1.08; }
.cats { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2rem; }
.cat { display: flex; flex-direction: column; border: 0; border-radius: 0; background: transparent; overflow: visible; }
.cat__visual { height: clamp(10rem,16vw,12.5rem); min-height: 0; border-radius: 12px; }
.cat__body { padding: 1.5rem 0 0; }
.cat h3 { font-size: min(1.5rem,7vw); letter-spacing: -.025em; }
.cat .body-sm { font-size: 1rem; line-height: 1.65; max-width: 36ch; }
.cat .cat__scope { margin-top: auto; padding-top: .75rem; font-size: .8125rem; }
.cats__note { justify-content: flex-start; margin-top: 2rem; }

/* Approach: a complete lead study, followed by two equal supporting studies. */
.approach-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2.5rem; align-items: start; }
.approach-grid .card { background: transparent; border: 0; border-radius: 0; overflow: visible; box-shadow: none; min-width: 0; }
.approach-grid .card:first-child { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0,1.12fr) minmax(0,.88fr); gap: clamp(2rem,4vw,4rem); align-items: center; }
.approach-grid .card:not(:first-child) { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 1.5rem; align-items: start; border-top: 1px solid var(--bvq-line); padding-top: 2rem; }
.approach-grid .card__visual { margin: 0; border-radius: 12px; aspect-ratio: 4/3; overflow: hidden; }
.approach-grid .card__visual img { width: 100%; height: 100%; object-fit: cover; }
.approach-grid .card:first-child .card__visual { aspect-ratio: 1.8; }
.approach-grid .card__body { padding: .25rem 0 0; }
.approach-grid .card:first-child .card__body { max-width: 29rem; }
.approach-grid .card__body h3 { font-size: min(1.5rem,7vw); letter-spacing: -.025em; margin: 0 0 .75rem; }
.approach-grid .card:first-child h3 { font-size: min(2rem,7vw); line-height: 1.2; margin-bottom: 1rem; }
.approach-grid .card__body p { font-size: 1rem; line-height: 1.7; max-width: 48ch; }
.approach-grid .card:first-child p { font-size: 1.125rem; }
/* Order lifecycle: a continuous, unnumbered sequence. */
.steps { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 0; }
.steps__item { display: block; min-width: 0; padding: 0 1.5rem 0 0; border: 0; }
.steps__item::before { content: none; }
.steps__head { position: relative; margin: 0 0 1.5rem; height: 2.75rem; }
.steps__head::after { content: ''; position: absolute; left: 3.5rem; right: -1.5rem; top: 50%; height: 1px; background: var(--bvq-line); }
.steps__item:last-child .steps__head::after { content: none; }
.steps__icon { box-sizing: content-box; padding: .625rem; width: 1.25rem; height: 1.25rem; border: 1px solid var(--bvq-line); border-radius: 50%; color: var(--bvq-accent-ink); }
.steps__item h3 { font-size: min(1.125rem,6vw); line-height: 1.35; letter-spacing: -.015em; margin: 0 0 .75rem; }
.steps__item p { font-size: .9375rem; line-height: 1.7; }

/* Operations: open editorial pairs, with all policy copy immediately readable.
   Local scope preserves the established treatment of every other section. */
#operations { background: #EEF0F3; color: #0F1C2E; padding-block: clamp(3rem,5.5vw,4.5rem); }
#operations > .shell { display: block; }
#operations .section__head { margin: 0 0 2.25rem; max-width: 46rem; }
#operations .section__head h2 { color: #0F1C2E; font-size: clamp(2rem,3.25vw,2.75rem); line-height: 1.1; letter-spacing: -.03em; }
#operations .section__head .eyebrow { color: #46586F; margin-bottom: .875rem; }
#operations .section__head .body { color: #46586F; font-size: 1rem; line-height: 1.6; margin-top: 1rem; max-width: 52ch; }
#operations .ops { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem clamp(2rem,5vw,4rem); min-width: 0; border: 0; border-radius: 0; background: transparent; }
#operations .ops__item { display: block; min-width: 0; padding: 1.25rem 0 0; border: 0; border-top: 1px solid #D8DCE2; border-radius: 0; box-shadow: none; background: transparent; }
#operations .ops__heading { display: flex; align-items: baseline; gap: .75rem; margin: 0 0 .875rem; }
#operations .ops__icon { flex: 0 0 1.25rem; align-self: flex-start; width: 1.25rem; height: 1.25rem; margin: .125rem 0 0; color: #46586F; }
#operations .ops__heading h3 { margin: 0; color: #0F1C2E; font-size: 1.1875rem; font-weight: 500; line-height: 1.35; letter-spacing: -.015em; }
#operations .ops__body { padding: 0; }
#operations .ops__body p { max-width: 68ch; margin: 0; color: #46586F; font-size: .9375rem; line-height: 1.65; text-wrap: pretty; }
#operations .commitments { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,2.15fr); gap: 1rem 2rem; margin: 2.25rem 0 0; padding: 1.5rem 0 0; border: 0; border-top: 1px solid #D8DCE2; border-radius: 0; box-shadow: none; background: transparent; color: #0F1C2E; }
#operations .commitments__title { margin: 0; color: #0F1C2E; font-size: 1rem; line-height: 1.5; font-weight: 500; letter-spacing: 0; text-transform: none; }
#operations .commitments__list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin: 0; }
#operations .commitments__list > div { padding: 0; border: 0; }
#operations .commitments__list dt { margin: 0 0 .375rem; color: #46586F; font-size: .8125rem; line-height: 1.4; font-weight: 400; letter-spacing: 0; text-transform: none; }
#operations .commitments__list dd { margin: 0; color: #0F1C2E; font-size: .9375rem; line-height: 1.5; font-weight: 500; }
#operations .commitments__note { grid-column: 2; margin: 0; padding: 0; border: 0; color: #46586F; font-size: .8125rem; line-height: 1.6; }
@media (max-width: 900px) {
  #operations .ops { grid-template-columns: minmax(0,1fr); gap: 1.5rem; }
  #operations .ops__body p { max-width: 75ch; }
  #operations .commitments { grid-template-columns: minmax(0,1fr); gap: 1rem; }
  #operations .commitments__note { grid-column: 1; }
}
@media (max-width: 600px) {
  #operations .section__head { margin-bottom: 1.75rem; }
  #operations .ops__heading h3 { font-size: 1.125rem; }
  #operations .ops__heading { margin-bottom: .75rem; }
  #operations .commitments { margin-top: 1.75rem; }
  #operations .commitments__list { grid-template-columns: minmax(0,1fr); gap: .875rem; }
  #operations .commitments__list > div { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.3fr); gap: 1rem; }
  #operations .commitments__list dt { margin: 0; }
  #operations .commitments__list dd { font-size: .875rem; }
}
@media print {
  #operations .ops { display: block; }
  #operations .ops__item { break-inside: avoid; margin-bottom: 1.5rem; }
}

/* Markets are a compact company record, not statistics or fabricated proof. */
#markets .facts__grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 2rem; padding-top: 1.75rem; border-top: 1px solid var(--bvq-line); }
#markets .facts__item { padding: 0; border: 0; }
#markets .facts__item dt { font-size: .8125rem; margin-bottom: .75rem; }
#markets .facts__item dd { font-size: 1.125rem; font-weight: 500; line-height: 1.5; }

/* Governance: readable policy document with one visual hierarchy. */
#governance > .shell { display: block; }
#governance .section__head { position: static; max-width: 46rem; margin: 0 0 3rem; }
#governance .section__head .body { max-width: 39rem; }
.gov { display: block; }
.gov-row { display: grid; grid-template-columns: 2rem minmax(10rem,.55fr) minmax(0,1.45fr); column-gap: 1.5rem; row-gap: 0; padding: 2.25rem 0; border: 0; border-top: 1px solid var(--bvq-line); border-radius: 0; box-shadow: none; background: transparent; }
.gov-row > div { display: contents; }
.gov-row__icon { grid-column: 1; grid-row: 1; box-sizing: border-box; width: 1.5rem; height: 1.5rem; padding: 0; margin-top: .125rem; background: transparent; border-radius: 0; }
.gov-row > div > h3 { grid-column: 2; grid-row: 1 / span 12; margin: 0; font-size: min(1.375rem,6.5vw); line-height: 1.3; letter-spacing: -.02em; max-width: 16ch; }
.gov-row > div > :not(h3) { grid-column: 3; min-width: 0; }
.gov-row p { font-size: 1rem; line-height: 1.7; }
.gov-row > div > p:first-of-type { margin-bottom: 1.25rem; }
.gov-row .gov-note { margin: 1.25rem 0 0; padding-top: 1rem; font-size: .875rem; line-height: 1.7; }
.excl { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 2rem; row-gap: .125rem; }
.excl li { font-size: .875rem; line-height: 1.7; padding: .5rem 0 .5rem 1rem; }
.excl li::before { top: 1.125rem; }
.gate { border-radius: 0; border: 0; padding: 0; background: transparent; }
.gate__step { padding: 0 0 1rem; border-bottom: 1px solid var(--bvq-line); }
.gate__label { margin-bottom: .375rem; font-size: .75rem; }
.gate__outcomes { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 1.5rem; padding-top: 1.25rem; }
.gov-row .gate__out { padding: 0 0 0 1.75rem; background: transparent; border: 0; border-radius: 0; font-size: .9375rem; }
.gate__icon { top: .125rem; left: 0; }
.gov-row .gate__out span { font-size: .8125rem; line-height: 1.5; margin-top: .375rem; }
.conds { gap: 0 2rem; padding: 0; }
.conds li { background: transparent; border: 0; border-radius: 0; padding: .625rem 0 .625rem 1rem; font-size: .9375rem; line-height: 1.6; }
.conds li::before { top: 1.125rem; left: 0; width: 3px; height: 3px; border-radius: 50%; }
.evid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 2rem; }
.evid li { padding: .625rem 0; font-size: .9375rem; line-height: 1.5; gap: .75rem; }
.evid li::before { flex-basis: 1.5rem; height: 1.5rem; background: transparent; color: var(--bvq-fg-muted); }
.zeros { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem 2rem; margin-bottom: 1.5rem; }
.zeros > div { background: transparent; padding: 0; border: 0; border-radius: 0; }
.zeros dt { font-size: .8125rem; margin-bottom: .375rem; }
.zeros dd { font-size: 1.125rem; line-height: 1.5; letter-spacing: -.01em; color: var(--bvq-fg); }

/* Consent remains transparent and equally easy to accept or decline. */
.consent-banner { max-width: 1160px; border-radius: 16px; padding: 1.25rem 1.5rem; gap: 1.5rem; }
.consent-dialog { border-radius: 16px; }
.consent-banner h2 { letter-spacing: -.025em; }
.consent-banner .consent-mark { border-radius: 12px; }

@media (max-width: 1099px) {
  .steps { grid-template-columns: minmax(0,1fr); gap: 0; }
  .steps__item { position: relative; display: grid; grid-template-columns: 2.75rem minmax(0,1fr); gap: 0 1.25rem; padding: 0 0 2rem; }
  .steps__head { grid-column: 1; grid-row: 1 / span 2; height: 100%; margin: 0; }
  .steps__head::after { left: 1.375rem; top: 3.25rem; bottom: .5rem; right: auto; width: 1px; height: auto; }
  .steps__item h3, .steps__item p { grid-column: 2; }
  .steps__item p { max-width: 66ch; }
  .approach-grid { gap: 2rem; }
  .approach-grid .card:not(:first-child) { display: block; }
  .approach-grid .card:not(:first-child) .card__visual { aspect-ratio: 2; }
  .approach-grid .card:not(:first-child) .card__body { padding-top: 1rem; }
  .gov-row { grid-template-columns: 2rem minmax(9rem,.6fr) minmax(0,1.4fr); gap: 0 1rem; }
  .excl, .conds, .evid { grid-template-columns: minmax(0,1fr); }
}
@media (min-width: 601px) and (max-width: 1050px) {
  .approach-grid .card:first-child { grid-column: 1 / -1; grid-row: auto; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 1.5rem; align-items: center; }
  .approach-grid .card:first-child .card__visual { aspect-ratio: 1.5; }
  .approach-grid .card:first-child .card__body { padding: 0; }
}
@media (max-width: 800px) {
  .cats { grid-template-columns: minmax(0,1fr); gap: 1.75rem; }
  .cat { display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); gap: 1.5rem; align-items: center; }
  .cat__visual { height: 11rem; }
  .cat__body { padding: 0; }
  .cat .body-sm { margin-bottom: .75rem; }
  .cat .cat__scope { padding-top: .5rem; }
  #markets .facts__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .gov-row { grid-template-columns: 2rem minmax(0,1fr); padding: 1.75rem 0; gap: 0 .75rem; }
  .gov-row > div > h3 { grid-column: 2; grid-row: 1; max-width: none; margin-bottom: 1rem; }
  .gov-row > div > :not(h3) { grid-column: 2; }
  .gate__outcomes { grid-template-columns: minmax(0,1fr); gap: 1rem; }
  .excl { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 1rem; }
}
@media (max-width: 600px) {
  .section__head, #categories .section__head, #governance .section__head { margin-bottom: 2rem; }
  .section__head > p.body { font-size: 1rem; }
  .cats { gap: 2rem; }
  .cat { grid-template-columns: minmax(0,1fr); gap: 1rem; }
  .cat__visual { height: 10.5rem; }
  .cat .body-sm { max-width: none; }
  .approach-grid { grid-template-columns: minmax(0,1fr); gap: 2.25rem; }
  .approach-grid .card:first-child { grid-row: auto; display: block; }
  .approach-grid .card:not(:first-child) .card__visual, .approach-grid .card:first-child .card__visual { aspect-ratio: 1.6; }
  .approach-grid .card__body { padding-top: 1rem; }
  #markets .facts__grid { gap: 1.5rem; }
  #markets .facts__item dd { font-size: 1rem; }
  .gov-row > div > :not(h3) { grid-column: 1 / -1; }
  .gov-row__icon { margin-top: .125rem; }
  .excl { grid-template-columns: minmax(0,1fr); }
  .zeros { gap: 1.25rem; }
  .consent-banner { padding: 1.25rem; }
}
@media print {
  .gov-row { break-inside: auto; }
  .gov-row > div { display: block; grid-column: 2 / -1; }
}
