/* Visual editorial components. Charts encode measured data, never ratings. */
.bv-page .article_hero { padding-bottom: 4rem; }
.bv-page .article_content { min-width: 0; }
.bv-page .article_intro { max-width: 82rem; }
.bv-page .article_image { max-height: 34rem; }
.bv-kicker { color: #625975; font-size: 1.3rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.bv-note { color: #55515f; font-size: 1.5rem !important; line-height: 1.55 !important; }
.bv-intro { padding: 2.4rem; border: 1px solid #dedbe4; border-radius: 1.8rem; background: #f5f3f7; }
.bv-intro p:last-child { margin-bottom: 0; }
.bv-jump { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.6rem; }
.bv-jump a, .bv-filter button { min-height: 4.4rem; display: inline-flex; align-items: center; justify-content: center; padding: .9rem 1.5rem; border: 1px solid #cbc5d5; border-radius: 999px; font-size: 1.5rem; font-weight: 500; background: white; color: #25202c; text-decoration: none; }
.bv-jump a:hover, .bv-filter button:hover { background: #eeeaf4; }
.bv-jump a:focus-visible, .bv-filter button:focus-visible, .bv-details summary:focus-visible { outline: 3px solid #766099; outline-offset: 4px; }
.bv-paths { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.4rem; margin: 2.4rem 0; }
.bv-path { border: 1px solid #dedbe4; border-radius: 1.6rem; padding: 2rem; }
.bv-path svg { width: 3.8rem; height: 3.8rem; stroke: #6c5a88; fill: none; stroke-width: 1.5; margin-bottom: 1.2rem; }
.bv-path h3 { font-size: 1.8rem; margin: 0 0 .8rem; }
.bv-path p { font-size: 1.5rem !important; line-height: 1.5 !important; margin: 0; }
.bv-tool-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.6rem; margin: 2.4rem 0; }
.bv-tool { min-width: 0; border: 1px solid #dedbe4; border-radius: 1.6rem; padding: 2.4rem; }
.bv-tool h3 { font-size: 2.4rem; margin: 0 0 .8rem; }
.bv-tool > p { font-size: 1.6rem !important; line-height: 1.5 !important; min-height: 4.8rem; }
.bv-tool .bv-details { margin-top: 1.6rem; }
.bv-details { min-width: 0; border-top: 1px solid #dedbe4; }
.bv-details summary { cursor: pointer; padding: 1.6rem 2rem 1.6rem 0; font-size: 1.5rem; font-weight: 600; }
.bv-details > summary { position: relative; padding-right: 3rem; list-style: none; }
.bv-details > summary::-webkit-details-marker { display: none; }
.bv-details > summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-size: 2.2rem; font-weight: 400; line-height: 1; }
.bv-details[open] > summary::after { content: "\2212"; }
.bv-details[open] summary { margin-bottom: .8rem; }
.bv-details p { font-size: 1.6rem !important; line-height: 1.6 !important; }
.bv-details .compare-table_wrap { margin: 0 0 2rem; }
.bv-tools-table { margin-top: 2rem; }
.bv-callout { display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: center; padding: 2.4rem; border-radius: 1.8rem; background: #f0ecf5; margin: 2.4rem 0; }
.bv-callout h3 { font-size: 2.2rem; margin: .5rem 0 .8rem; }
.bv-callout p { font-size: 1.6rem !important; margin-bottom: 0; }
.bv-callout a { font-size: 1.6rem; text-decoration: underline; text-underline-offset: .3em; }
.bv-feature { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 4rem; padding: 4rem; background: #f0ecf5; border: 1px solid #dedbe4; border-radius: 2rem; align-items: center; text-decoration: none; }
.bv-feature h2 { font-size: clamp(2.8rem, 3vw, 4.6rem); line-height: 1.13; margin: 1.2rem 0; }
.bv-feature p { font-size: 1.8rem; line-height: 1.5; }
.bv-feature-art { background: #fff; padding: 2.8rem; border-radius: 1.6rem; min-width: 0; }
.bv-feature-art h3 { font-size: 2.4rem; margin-bottom: .8rem; }
.bv-mini-axis { display: flex; justify-content: space-between; margin: 1.8rem 0 0 9rem; padding-right: 7.5rem; color: #625d6b; font-size: 1.2rem; }
.bv-blog-topics { margin-top: 2rem; }
.bv-filter[hidden], .bv-data tr[hidden] { display: none; }
.bv-feature-link { display: inline-block; margin-top: 1.5rem; font-size: 1.7rem; font-weight: 600; text-decoration: underline; text-underline-offset: .3em; }
.bv-mini-bar { display: grid; grid-template-columns: 8rem 1fr 6.5rem; align-items: center; gap: 1rem; margin: 1.5rem 0; font-size: 1.4rem; }
.bv-mini-track { height: 1rem; background: #eeeaf3; border-radius: .4rem; overflow: hidden; }
.bv-mini-fill { display: block; background: #706185; height: 100%; }
.bv-benchmark .article_hero { padding-bottom: 3.2rem; }
.bv-benchmark .article_hero-wrap { gap: 2rem; }
.bv-benchmark .article_title { max-width: 100rem; }
.bv-benchmark-content { max-width: 116rem; margin: 0 auto; padding-bottom: 8rem; }
.bv-benchmark-content h2 { font-size: clamp(2.6rem, 2.6vw, 3.6rem); line-height: 1.2; margin: 5rem 0 1.5rem; scroll-margin-top: 12rem; }
.bv-benchmark-content h3 { font-size: 2rem; line-height: 1.3; }
.bv-benchmark-content p { font-size: 1.7rem; line-height: 1.6; }
.bv-benchmark-content a { text-decoration: underline; text-underline-offset: .25em; }
.bv-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.6rem; margin: 2.4rem 0; }
.bv-stat { border: 1px solid #d8d2e2; border-radius: 1.6rem; padding: 2.4rem; }
.bv-stat strong { display: block; font-size: 4.8rem; line-height: 1.05; font-weight: 500; margin-bottom: .8rem; }
.bv-stat span { font-size: 1.5rem; }
.bv-filter { display: flex; flex-wrap: wrap; gap: .8rem; margin: 2.4rem 0; }
.bv-filter button { cursor: pointer; }
.bv-filter button[aria-pressed="true"] { color: white; background: #292330; border-color: #292330; }
.bv-chart-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.6rem; }
.bv-chart { border: 1px solid #d8d2e2; border-radius: 1.6rem; padding: 2.4rem; min-width: 0; }
.bv-chart h3 { margin: 0 0 .5rem; }
.bv-chart-direction { font-size: 1.3rem; color: #625d6b; }
.bv-chart-axis { display: flex; justify-content: space-between; color: #625d6b; font-size: 1.2rem; margin-top: 2rem; }
.bv-bar-row { margin: 1.5rem 0; }
.bv-bar-label { display: flex; justify-content: space-between; gap: .8rem; font-size: 1.4rem; margin-bottom: .6rem; }
.bv-bar-label strong { font-variant-numeric: tabular-nums; }
.bv-bar-track { height: 1.6rem; border-radius: .4rem; background: #efecf3; overflow: hidden; }
.bv-bar { display: block; height: 100%; background: #a9a4b0; }
.bv-bar.is-refined { background: #70568f; }
.bv-chart-delta { font-size: 1.4rem !important; margin: 1.8rem 0 0; }
.bv-worse { color: #925027; }
.bv-better { color: #405d49; }
.bv-specs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 3.2rem; margin: 2.4rem 0; }
.bv-spec { padding: 1.5rem 0; border-bottom: 1px solid #e0dbe5; }
.bv-spec dt { font-size: 1.3rem; color: #625d6b; margin-bottom: .5rem; }
.bv-spec dd { margin: 0; font-size: 1.6rem; line-height: 1.5; overflow-wrap: anywhere; }
.bv-data-wrap { max-width: 100%; overflow-x: auto; border: 1px solid #dedbe4; border-radius: 1.2rem; margin: 1.5rem 0; }
.bv-data { width: 100%; border-collapse: collapse; min-width: 65rem; font-size: 1.4rem; font-variant-numeric: tabular-nums; }
.bv-data th,.bv-data td { padding: 1.2rem 1.4rem; border-bottom: 1px solid #e6e1eb; text-align: left; }
.bv-data th { background: #f4f1f7; }
.bv-data tr:last-child td { border-bottom: 0; }
.bv-formula { display: block; padding: 1.2rem; background: #f4f1f7; border-radius: .8rem; margin: 1rem 0; font-size: 1.4rem; line-height: 1.5; overflow-wrap: anywhere; }
.bv-downloads { display: flex; flex-wrap: wrap; gap: 1.5rem 2.5rem; margin: 2rem 0; font-size: 1.6rem; }
.bv-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media(max-width: 850px) {
  .bv-chart-grid { grid-template-columns: 1fr; }
  .bv-chart { padding: 2rem; }
  .bv-feature { grid-template-columns: 1fr; gap: 2.4rem; padding: 2.4rem; }
}
@media(max-width: 600px) {
  .bv-paths, .bv-tool-grid, .bv-specs { grid-template-columns: 1fr; }
  .bv-path { display: grid; grid-template-columns: 4rem 1fr; gap: 0 1.4rem; padding: 1.6rem; }
  .bv-path svg { grid-row: 1/3; margin: 0; }
  .bv-tool { padding: 2rem; }
  .bv-tool > p { min-height: 0; }
  .bv-callout { grid-template-columns: 1fr; }
  .bv-stats { gap: .8rem; }
  .bv-stat { padding: 1.4rem 1.2rem; }
  .bv-stat strong { font-size: 3.6rem; }
  .bv-stat span { font-size: 1.3rem; }
  .bv-feature-art { padding: 1.8rem; }
  .bv-mini-bar { grid-template-columns: 6.5rem 1fr 6rem; gap: .6rem; }
  .bv-mini-axis { margin-left: 7.1rem; padding-right: 6.6rem; }
}

.bv-language { margin-top: 1.6rem; text-align: left; }
.bv-language summary { cursor: pointer; font-size: 1.5rem; padding: 1rem 0; }
.bv-language summary:focus-visible { outline: 3px solid #766099; outline-offset: 4px; }
.bv-page #tool-cards, .bv-page #workflow-specifications { scroll-margin-top: 12rem; }

/* Photo-led benchmark: readable narrative first, complete methods on demand. */
.bv-benchmark .article_title { font-size: clamp(4.4rem, 4.9vw, 7.2rem); line-height: 1.05; max-width: 100rem; }
.bv-story-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); align-items: center; gap: 4.5rem; width: 100%; }
.bv-story-lead .article_meta { margin-bottom: 2rem; }
.bv-story-lead .article_title { margin-bottom: 2rem; }
.bv-story-lead .article_intro { font-size: 2.2rem; line-height: 1.5; margin: 0; }
.bv-story-photo { margin: 0; min-width: 0; }
.bv-story-photo figcaption { font-size: 1.25rem; line-height: 1.5; color: #56535c; margin-top: 1rem; }
.bv-story-photo a { text-decoration: underline; text-underline-offset: .15em; }
.bv-story-scope { max-width: 88rem; font-size: 1.6rem; line-height: 1.6; color: #56535c; }
.bv-benchmark-content > p { max-width: 92rem; }
.bv-photo-case { padding: 3rem 0 3.4rem; border-bottom: 1px solid #dedbe4; scroll-margin-top: 10rem; }
.bv-photo-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 1.5rem; margin-bottom: 2rem; }
.bv-photo-heading h3 { font-size: clamp(2.5rem, 2.7vw, 3.4rem); margin: .7rem 0 0; }
.bv-photo-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.8rem; }
.bv-photo-panel { margin: 0; min-width: 0; }
.bv-photo-panel figcaption { display: flex; align-items: center; gap: .8rem; font-size: 1.6rem; font-weight: 600; margin-bottom: 1.2rem; }
.bv-photo-dot { width: 1rem; height: 1rem; border-radius: 50%; display: inline-block; border: 1px solid #625d6b; }
.bv-photo-dot.is-raw { background: #ffb84d; }
.bv-photo-dot.is-test { background: #24e3c2; }
.bv-photo-frame { position: relative; overflow: hidden; border-radius: 1.2rem; background: #efecf3; }
.bv-photo-frame img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; }
.bv-photo-mask { opacity: .35; pointer-events: none; }
.bv-photo-reference { filter: drop-shadow(0 0 1px #000); pointer-events: none; }
.bv-photo-case[data-selection="off"] .bv-photo-mask, .bv-photo-case[data-reference="off"] .bv-photo-reference { display: none; }
.bv-photo-controls { display: flex; flex-wrap: wrap; gap: .6rem; }
.bv-photo-controls[hidden] { display: none; }
.bv-photo-controls button { border: 1px solid #c9c2d2; border-radius: 999px; padding: .9rem 1.3rem; min-height: 4.4rem; background: #fff; color: #292330; font-size: 1.4rem; cursor: pointer; }
.bv-photo-controls button[aria-pressed="true"] { background: #eee9f4; border-color: #81718f; }
.bv-photo-controls button:focus-visible { outline: 3px solid #766099; outline-offset: 3px; }
.bv-photo-score { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .5rem 1rem; margin: 1.2rem 0 !important; font-size: 1.3rem !important; color: #56515e; }
.bv-photo-score strong { color: #211c27; font-variant-numeric: tabular-nums; }
.bv-photo-observation { margin-top: 1.6rem; max-width: 90rem; }
.bv-photo-credit { font-size: 1.25rem !important; color: #625d6b; line-height: 1.6 !important; max-width: 104rem; }
.bv-photo-record { border-top: 0; margin-top: .8rem; }
.bv-photo-record summary { font-size: 1.3rem; padding-top: .8rem; padding-bottom: .8rem; }
.bv-overview { margin: 2.4rem 0; }
.bv-chart-explainer { font-size: 1.4rem !important; color: #625d6b; line-height: 1.5 !important; margin: .7rem 0 1rem; }
.bv-full-results { margin-top: 2.4rem; border: 1px solid #dedbe4; border-radius: 1.4rem; padding: 0 2.4rem; scroll-margin-top: 12rem; }
.bv-full-results > summary { font-size: 1.8rem; padding-top: 2rem; padding-bottom: 2rem; }
.bv-full-results-body { padding-bottom: 2.4rem; }
.bv-feature-photo { margin: 0; }
.bv-feature-photo img { width: 100%; height: auto; display: block; border-radius: 1.2rem; }
.bv-feature-photo figcaption { margin-top: 1rem; font-size: 1.3rem; line-height: 1.5; color: #625d6b; }
@media(max-width: 700px) {
  .bv-story-hero { grid-template-columns: 1fr; gap: 2.4rem; }
  .bv-story-lead .article_intro { font-size: 1.9rem; }
  .bv-story-lead .article_meta { flex-wrap: wrap; font-size: 1.3rem; margin-bottom: 1.5rem; }
  .bv-story-scope { font-size: 1.4rem; }
  .bv-photo-pair { grid-template-columns: 1fr; gap: 2.2rem; }
  .bv-photo-case { padding-top: 2.4rem; }
  .bv-photo-heading { align-items: start; }
  .bv-full-results { padding: 0 1.4rem; }
  .bv-full-results > summary { font-size: 1.6rem; }
}

/* Rendero interiors lead the article; scored test imagery stays in its own record. */
.bv-studio-hero { grid-template-columns: minmax(0,.8fr) minmax(0,1.25fr); gap: 5rem; }
.bv-studio-hero .bv-jump { margin-top: 3rem; }
.bv-showcase-intro-note { margin: 2rem 0 0; color: #625d6b; font-size: 1.5rem; line-height: 1.55; }
.bv-showcase { min-width: 0; width: 100%; }
.bv-showcase-scene { margin: 0; }
.bv-showcase-scene[hidden], .bv-showcase-choices[hidden] { display: none; }
.bv-showcase-scene + .bv-showcase-scene { margin-top: 2rem; }
.bv-showcase[data-enhanced="true"] .bv-showcase-scene { margin-top: 0; }
.bv-showcase-scene picture { display: block; aspect-ratio: 1; background: #e7e4e9; border-radius: 1.4rem; overflow: hidden; }
.bv-showcase-scene img { display: block; width: 100%; height: 100%; aspect-ratio: 1; object-fit: contain; }
.bv-showcase-scene figcaption { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin: 1.4rem 0; font-size: 1.4rem; text-align: left; }
.bv-showcase-scene figcaption strong { font-size: 1.6rem; font-weight: 600; display: block; }
.bv-showcase-type { display: block; color: #625d6b; font-size: 1.2rem; margin-top: .4rem; }
.bv-showcase-open { display: inline-flex; align-items: center; gap: .6rem; min-height: 4.4rem; padding: .8rem 1.2rem; border-radius: 999px; background: #fff; color: #292330; text-decoration: none; white-space: nowrap; }
.bv-showcase-choices { display: flex; gap: .7rem; flex-wrap: wrap; }
.bv-showcase-choices button { min-height: 4.4rem; padding: 1rem 1.4rem; border: 1px solid #c9c2d2; border-radius: 999px; color: #292330; background: transparent; font-size: 1.35rem; cursor: pointer; }
.bv-showcase-choices button[aria-pressed="true"] { background: #292330; border-color: #292330; color: #fff; }
.bv-showcase-open:focus-visible, .bv-showcase-choices button:focus-visible, .bv-image-dialog button:focus-visible { outline: 3px solid #7f56d9; outline-offset: 3px; }
.bv-showcase-provenance { width: 100%; margin-top: 1rem; }
.bv-showcase-provenance summary { font-size: 1.3rem; }
.bv-showcase-provenance p { max-width: 95rem; font-size: 1.4rem !important; }
.bv-image-dialog { border: 0; border-radius: 1.4rem; padding: 1.6rem; width: min(116rem,calc(100vw - 4rem)); max-width: none; max-height: calc(100dvh - 4rem); background: #151319; color: #fff; overflow: auto; }
.bv-image-dialog::backdrop { background: rgb(12 10 16 / 85%); }
.bv-image-toolbar, .bv-image-toolbar > div { display: flex; align-items: center; justify-content: space-between; gap: 1.2rem; }
.bv-image-toolbar { margin-bottom: 1.4rem; }
.bv-image-toolbar h2 { font-size: 1.7rem; margin: 0; }
.bv-image-toolbar form { margin: 0; }
.bv-image-toolbar button { border: 1px solid #645b73; border-radius: 999px; background: #292330; color: #fff; font-size: 1.35rem; padding: .8rem 1.3rem; min-height: 4.4rem; white-space: nowrap; cursor: pointer; }
.bv-image-scroll { overflow: auto; height: min(1024px,calc(100dvh - 18rem)); background: #0c0a10; border-radius: .6rem; }
.bv-image-scroll:focus-visible { outline: 2px solid #ad91e8; outline-offset: 2px; }
.bv-image-scroll img { display: block; width: 100%; height: 100%; object-fit: contain; }
.bv-image-dialog[data-zoom="native"] .bv-image-scroll img { width: 1024px; height: 1024px; max-width: none; object-fit: none; }
.bv-image-caption { margin: 1rem 0 0; color: #cec5dc; font-size: 1.2rem; }
.bv-feature-photo .bv-showcase-type { margin-top: 1rem; }
@media(max-width: 700px) {
  .bv-studio-hero { grid-template-columns: 1fr; gap: 2.5rem; }
  .bv-studio-hero .bv-jump { margin-top: 1.8rem; }
  .bv-showcase-intro-note { margin-top: 1.3rem; font-size: 1.3rem; }
  .bv-showcase-scene figcaption { align-items: start; }
  .bv-showcase-scene figcaption strong { font-size: 1.4rem; }
  .bv-showcase-type { font-size: 1.1rem; }
  .bv-showcase-open { font-size: 1.25rem; padding: .8rem 1rem; }
  .bv-showcase-choices { gap: .5rem; }
  .bv-showcase-choices button { padding: .8rem 1rem; font-size: 1.2rem; }
  .bv-image-dialog { width: calc(100vw - 1.6rem); max-height: calc(100dvh - 1.6rem); padding: 1rem; }
  .bv-image-toolbar { flex-wrap: wrap; }
  .bv-image-toolbar h2 { font-size: 1.5rem; }
  .bv-image-toolbar > div { margin-left: auto; gap: .6rem; }
  .bv-image-scroll { height: calc(100dvh - 19rem); }
}
