/*
Theme Name: BLACK VELOCITY Official
Theme URI: https://www.blackvelocity.net/
Description: Cocoonを親テーマとして、BLACK VELOCITY公式サイト全体をObsidian Editorialデザインにします。
Author: BLACK VELOCITY
Version: 1.11.1
Template: cocoon-master
Text Domain: black-velocity-official
*/

:root {
  --bv-ink: #080b0f;
  --bv-panel: #10151b;
  --bv-paper: #f2f5f7;
  --bv-muted: #98a4ae;
  --bv-line: #26313a;
  --bv-blue: #78c7ff;
  --bv-silver: #b8c1c8;
}

.bv-home, .bv-home * { box-sizing: border-box; }
.bv-home { margin: 0; overflow-x: hidden; background: var(--bv-ink); color: var(--bv-paper); font-family: "Noto Sans JP", "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif; }
.bv-home a { color: inherit; text-decoration: none; }
.bv-home a:focus-visible, .bv-home summary:focus-visible { outline: 2px solid var(--bv-blue); outline-offset: 4px; }
.bv-skip { position: absolute; left: -9999px; top: 0; z-index: 9999; background: #fff; color: #000; padding: 12px 18px; }
.bv-skip:focus { left: 12px; top: 12px; }

.bv-hero { min-height: 900px; height: 100svh; max-height: 1000px; position: relative; overflow: hidden; border-bottom: 1px solid var(--bv-line); }
.bv-header { position: absolute; inset: 0 0 auto; z-index: 10; height: 88px; display: flex; align-items: center; justify-content: space-between; padding: 0 clamp(24px, 4vw, 64px); border-bottom: 1px solid rgba(184,193,200,.18); background: rgba(8,11,15,.72); backdrop-filter: blur(16px); }
.bv-brand { font-size: 18px; font-weight: 700; letter-spacing: .25em; white-space: nowrap; }
.bv-nav { display: flex; height: 100%; gap: clamp(22px, 3vw, 52px); align-items: center; }
.bv-nav a { height: 100%; display: grid; place-items: center; position: relative; color: #dbe2e7; font-size: 13px; font-weight: 600; letter-spacing: .14em; }
.bv-nav a::after { content: ""; position: absolute; left: 50%; bottom: 0; width: 0; height: 2px; background: var(--bv-blue); transition: width .25s, left .25s; }
.bv-nav a:hover::after, .bv-nav a.is-active::after { left: 0; width: 100%; }
.bv-mobile { display: none; }
.bv-hero-image { position: absolute; inset: 88px 0 130px; background: #0c1117 var(--bv-hero-image) center right / cover no-repeat; animation: bvHeroIn 1.2s ease both; }
.bv-hero-shade { position: absolute; inset: 88px 0 130px; background: linear-gradient(90deg, #07090d 0%, rgba(7,9,13,.98) 19%, rgba(7,9,13,.86) 39%, rgba(7,9,13,.26) 68%, rgba(7,9,13,.05) 100%), linear-gradient(0deg, rgba(8,11,15,.75), transparent 35%); }
.bv-hero-copy { position: absolute; z-index: 2; left: clamp(24px, 4vw, 64px); top: 50%; width: min(880px, 60vw); transform: translateY(-47%); }
.bv-eyebrow { margin: 0 0 28px; color: #9bcfff; font-size: 12px; font-weight: 600; letter-spacing: .28em; }
.bv-hero h1 { margin: 0; font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif; font-size: clamp(44px, 3.9vw, 68px); font-weight: 500; line-height: 1.35; letter-spacing: .035em; text-shadow: 0 3px 30px #000; animation: bvCopyIn .65s .1s ease both; }
.bv-lead { margin: 25px 0 0; color: #c4ccd2; font-size: clamp(15px, 1.25vw, 18px); line-height: 1.9; letter-spacing: .04em; }
.bv-actions { display: flex; gap: 22px; margin-top: 36px; }
.bv-button { width: 250px; height: 64px; display: flex; justify-content: space-between; align-items: center; padding: 0 25px; border: 1px solid; font-size: 16px; letter-spacing: .14em; transition: .25s; }
.bv-button:first-child { border-color: var(--bv-blue); color: #bfe4ff; }
.bv-button:last-child { border-color: #717c85; color: #d1d7db; }
.bv-button:hover { background: rgba(120,199,255,.09); box-shadow: 0 0 22px rgba(120,199,255,.08); }
.bv-button span { transition: transform .25s; }
.bv-button:hover span { transform: translateX(5px); }
.bv-hero-index { position: absolute; z-index: 3; inset: auto 0 0; height: 130px; margin: 0 clamp(24px, 4vw, 64px); border-top: 1px solid var(--bv-silver); display: grid; grid-template-columns: repeat(3, 1fr); }
.bv-hero-index a { padding: 27px clamp(20px, 4vw, 80px); border-right: 1px solid var(--bv-line); display: flex; flex-direction: column; justify-content: center; transition: background .25s; }
.bv-hero-index a:first-child { border-left: 1px solid var(--bv-line); }
.bv-hero-index a:hover { background: rgba(120,199,255,.05); }
.bv-hero-index small { color: #8ec9f4; letter-spacing: .24em; font-size: 11px; }
.bv-hero-index strong { margin-top: 13px; font-size: 15px; letter-spacing: .17em; font-weight: 500; }

.bv-section { padding: 125px clamp(24px, 7vw, 112px); }
.bv-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: end; margin-bottom: 62px; }
.bv-heading .bv-eyebrow, .bv-world-copy .bv-eyebrow, .bv-character-intro .bv-eyebrow { margin-bottom: 19px; }
.bv-heading h2, .bv-world-copy h2, .bv-character-intro h2 { margin: 0; font-family: "Noto Serif JP", "Yu Mincho", serif; font-size: clamp(42px, 4.2vw, 66px); font-weight: 500; letter-spacing: .08em; }
.bv-heading > p { max-width: 570px; margin: 0; color: var(--bv-muted); line-height: 2; letter-spacing: .04em; }
.bv-creative { background: #0b0f14; }
.bv-card-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; border-block: 1px solid var(--bv-line); }
.bv-card { min-height: 410px; padding: 28px 30px 34px; border-right: 1px solid var(--bv-line); display: flex; flex-direction: column; justify-content: space-between; position: relative; overflow: hidden; transition: background .3s; }
.bv-card:last-child { border-right: 0; }
.bv-card:hover { background: rgba(120,199,255,.055); }
.bv-card-top { color: #82909b; display: flex; justify-content: space-between; font-size: 11px; letter-spacing: .18em; }
.bv-card h3 { margin: 0 0 20px; font-family: "Noto Serif JP", "Yu Mincho", serif; font-size: clamp(27px, 2.2vw, 36px); font-weight: 500; letter-spacing: .05em; }
.bv-card p { max-width: 400px; color: var(--bv-muted); font-size: 14px; line-height: 1.9; }
.bv-more { display: inline-flex; align-items: center; gap: 40px; margin-top: 30px; color: #c8d3da; font-size: 13px; letter-spacing: .14em; border-bottom: 1px solid var(--bv-line); padding-bottom: 8px; }
.bv-more b { color: var(--bv-blue); font-weight: 400; }

.bv-world { min-height: 740px; display: grid; grid-template-columns: 55% 45%; background: var(--bv-ink); border-block: 1px solid var(--bv-line); }
.bv-world-visual { position: relative; overflow: hidden; background: radial-gradient(circle at 68% 48%, rgba(120,199,255,.18), transparent 6%, transparent 24%), repeating-radial-gradient(ellipse at 70% 50%, transparent 0 49px, rgba(120,199,255,.08) 50px 51px), linear-gradient(135deg, #101923, #080b0f 62%); border-right: 1px solid var(--bv-line); }
.bv-world-visual::before { content: ""; position: absolute; width: 68%; aspect-ratio: 1; border: 1px solid rgba(120,199,255,.3); border-radius: 50%; right: -4%; top: 50%; transform: translateY(-50%); box-shadow: 0 0 100px rgba(120,199,255,.08), inset 0 0 80px rgba(120,199,255,.05); }
.bv-world-visual span { position: absolute; left: 8%; bottom: 9%; color: rgba(242,245,247,.1); font-size: clamp(54px, 7vw, 120px); font-weight: 700; letter-spacing: .1em; writing-mode: vertical-rl; }
.bv-world-copy { padding: 110px clamp(38px, 7vw, 105px); display: flex; flex-direction: column; justify-content: center; }
.bv-world-copy .bv-question { margin: 42px 0 24px; color: #d9e0e5; font-family: "Noto Serif JP", "Yu Mincho", serif; font-size: 21px; line-height: 1.8; }
.bv-world-copy > p:not(.bv-eyebrow):not(.bv-question) { margin: 0; color: var(--bv-muted); font-size: 14px; line-height: 2.2; }

.bv-knowledge { background: #f0f2f3; color: #11161b; }
.bv-knowledge .bv-eyebrow { color: #3378a6; }
.bv-knowledge .bv-heading > p { color: #5d6870; }
.bv-list { border-top: 1px solid #aeb6bc; }
.bv-list-item { min-height: 145px; padding: 27px 20px; display: grid; grid-template-columns: 70px 150px 1fr 45px; gap: 20px; align-items: center; border-bottom: 1px solid #aeb6bc; transition: background .25s, padding .25s; }
.bv-list-item:hover { background: #fff; padding-inline: 30px 12px; }
.bv-list-no, .bv-list-label { color: #68808f; font-size: 11px; letter-spacing: .16em; }
.bv-list-body { display: grid; grid-template-columns: minmax(270px,.8fr) 1fr; align-items: center; gap: 45px; }
.bv-list-body strong { font-family: "Noto Serif JP", "Yu Mincho", serif; font-size: clamp(20px, 2vw, 29px); font-weight: 500; }
.bv-list-body small { color: #66737c; line-height: 1.8; }
.bv-list-arrow { color: #3378a6; font-size: 24px; }

.bv-characters { display: grid; grid-template-columns: 31% 69%; min-height: 640px; border-block: 1px solid var(--bv-line); }
.bv-character-intro { padding: 95px clamp(28px, 5vw, 80px); border-right: 1px solid var(--bv-line); display: flex; flex-direction: column; justify-content: center; }
.bv-character-intro > p:last-child { color: var(--bv-muted); line-height: 1.9; margin-top: 34px; }
.bv-character-grid { display: grid; grid-template-columns: repeat(2,1fr); }
.bv-character { min-height: 320px; padding: 28px; position: relative; display: flex; align-items: flex-end; overflow: hidden; border-right: 1px solid var(--bv-line); border-bottom: 1px solid var(--bv-line); background: linear-gradient(145deg,#0f151c,#090c10); cursor: pointer; transition: background .25s, box-shadow .25s; }
.bv-character:nth-child(even) { border-right: 0; }
.bv-character:nth-child(n+3) { border-bottom: 0; }
.bv-character:hover { background: linear-gradient(145deg,#14202a,#0a0e13); box-shadow: inset 0 0 0 1px rgba(120,199,255,.2); }
.bv-monogram { position: absolute; left: 52%; top: 46%; transform: translate(-50%,-50%); color: rgba(184,193,200,.055); font-family: Georgia,serif; font-size: 230px; line-height: 1; }
.bv-character > div { position: relative; }
.bv-character small { color: var(--bv-blue); font-size: 10px; letter-spacing: .26em; }
.bv-character h3 { margin: 9px 0 4px; font-family: "Noto Serif JP", "Yu Mincho", serif; font-size: 28px; font-weight: 500; }
.bv-character p { margin: 0; color: #c0c9cf; font-size: 13px; }
.bv-character em { display: block; margin-top: 6px; color: #667580; font-size: 11px; font-style: normal; }

.bv-character-anchor { display: block; height: 0; overflow: hidden; scroll-margin-top: 110px; }

.bv-guides { background: #0b0f14; }
.bv-guide-grid { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--bv-line); }
.bv-guide-grid a { min-height: 270px; padding: 25px; border-right: 1px solid var(--bv-line); display: flex; flex-direction: column; transition: background .25s; }
.bv-guide-grid a:last-child { border-right: 0; }
.bv-guide-grid a:hover { background: rgba(120,199,255,.07); }
.bv-guide-grid span { color: #6e7f8b; font-size: 10px; letter-spacing: .2em; }
.bv-guide-grid strong { margin: auto 0; font-family: "Noto Serif JP", "Yu Mincho", serif; font-size: clamp(20px,1.7vw,27px); line-height: 1.6; font-weight: 500; }
.bv-guide-grid small { color: var(--bv-muted); }

.bv-footer { padding: 70px clamp(24px,7vw,112px) 40px; display: grid; grid-template-columns: 1fr auto; gap: 55px; border-top: 1px solid var(--bv-line); }
.bv-footer-copy { color: #6f7c85; font-size: 13px; margin-top: 18px; }
.bv-footer-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 20px 30px; color: #9da9b2; font-size: 11px; letter-spacing: .12em; }
.bv-footer-links a:hover { color: var(--bv-blue); }
.bv-copyright { grid-column: 1/-1; color: #4e5a63; font-size: 10px; letter-spacing: .15em; border-top: 1px solid #1a2229; padding-top: 25px; }

@keyframes bvHeroIn { from { transform: scale(1.03); opacity: .65; } to { transform: scale(1); opacity: 1; } }
@keyframes bvCopyIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 900px) {
  .bv-nav { display: none; }
  .bv-mobile { display: block; position: relative; }
  .bv-mobile summary { list-style: none; width: 40px; height: 40px; display: grid; place-content: center; gap: 7px; cursor: pointer; }
  .bv-mobile summary::-webkit-details-marker { display: none; }
  .bv-mobile summary span { width: 24px; height: 1px; background: #dce4e9; display: block; }
  .bv-mobile nav { position: fixed; top: 88px; left: 0; right: 0; padding: 22px 24px 30px; background: rgba(8,11,15,.97); border-bottom: 1px solid var(--bv-line); display: grid; }
  .bv-mobile nav a { padding: 15px 5px; border-bottom: 1px solid #192129; font-size: 13px; letter-spacing: .17em; }
  .bv-hero-copy { width: calc(100% - 48px); }
  .bv-hero-shade { background: linear-gradient(90deg,rgba(7,9,13,.98),rgba(7,9,13,.64)),linear-gradient(0deg,#080b0f,transparent 50%); }
  .bv-card-grid { grid-template-columns: 1fr; }
  .bv-card { min-height: 320px; border-right: 0; border-bottom: 1px solid var(--bv-line); }
  .bv-world { grid-template-columns: 1fr; }
  .bv-world-visual { min-height: 400px; border-right: 0; border-bottom: 1px solid var(--bv-line); }
  .bv-list-body { grid-template-columns: 1fr; gap: 8px; }
  .bv-characters { grid-template-columns: 1fr; }
  .bv-character-intro { border-right: 0; border-bottom: 1px solid var(--bv-line); }
  .bv-guide-grid { grid-template-columns: repeat(2,1fr); }
  .bv-guide-grid a:nth-child(2) { border-right: 0; }
  .bv-guide-grid a:nth-child(-n+2) { border-bottom: 1px solid var(--bv-line); }
}

@media (max-width: 600px) {
  .bv-header { height: 72px; }
  .bv-brand { font-size: 14px; letter-spacing: .19em; }
  .bv-mobile nav { top: 72px; }
  .bv-hero { min-height: 760px; max-height: 880px; }
  .bv-hero-image, .bv-hero-shade { inset: 72px 0 102px; }
  .bv-hero-image { background-position: 68% center; }
  .bv-hero-copy { top: 43%; transform: translateY(-45%); }
  .bv-eyebrow { font-size: 9px; letter-spacing: .21em; margin-bottom: 19px; }
  .bv-hero h1 { font-size: clamp(31px,9vw,43px); line-height: 1.48; }
  .bv-lead { font-size: 13px; line-height: 1.8; }
  .bv-actions { gap: 10px; margin-top: 27px; }
  .bv-button { height: 54px; width: calc(50% - 5px); padding: 0 15px; font-size: 12px; letter-spacing: .08em; }
  .bv-hero-index { height: 102px; margin: 0 20px; }
  .bv-hero-index a { padding: 15px 10px; text-align: center; }
  .bv-hero-index small { font-size: 8px; }
  .bv-hero-index strong { font-size: 9px; letter-spacing: .1em; line-height: 1.4; }
  .bv-section { padding: 82px 22px; }
  .bv-heading { grid-template-columns: 1fr; gap: 27px; margin-bottom: 42px; }
  .bv-heading h2, .bv-world-copy h2, .bv-character-intro h2 { font-size: 42px; }
  .bv-heading > p { font-size: 13px; }
  .bv-world-visual { min-height: 320px; }
  .bv-world-copy { padding: 76px 24px; }
  .bv-world-copy .bv-question { font-size: 18px; }
  .bv-list-item { grid-template-columns: 42px 1fr 28px; gap: 8px; padding: 24px 4px; }
  .bv-list-label { display: none; }
  .bv-list-body strong { font-size: 19px; }
  .bv-list-body small { font-size: 11px; }
  .bv-character-intro { padding: 72px 24px; }
  .bv-character-grid { grid-template-columns: 1fr; }
  .bv-character { min-height: 250px; border-right: 0; border-bottom: 1px solid var(--bv-line) !important; }
  .bv-guide-grid { grid-template-columns: 1fr; }
  .bv-guide-grid a { min-height: 210px; border-right: 0; border-bottom: 1px solid var(--bv-line) !important; }
  .bv-footer { grid-template-columns: 1fr; gap: 30px; }
  .bv-footer-links { justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .bv-home *, .bv-home *::before, .bv-home *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* ------------------------------------------------------------
   Interior pages — Cocoon-safe visual layer
   The markup and publishing features remain Cocoon's; only the
   public presentation is aligned with the official front page.
------------------------------------------------------------- */
body.bv-interior {
  background: var(--bv-ink);
  color: var(--bv-paper);
  font-family: "Noto Sans JP", "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
}

.bv-interior #header-container,
.bv-interior #header,
.bv-interior .header,
.bv-interior #navi,
.bv-interior .navi {
  background: #080b0f;
  color: var(--bv-paper);
}

.bv-interior #header {
  border-bottom: 1px solid rgba(184,193,200,.18);
}

.bv-interior #header-in {
  min-height: 112px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.bv-interior .logo-text .site-name-text,
.bv-interior .logo-text .site-name-text a,
.bv-interior .logo-header a {
  color: var(--bv-paper);
  font-size: clamp(21px,2.2vw,31px);
  font-weight: 700;
  letter-spacing: .22em;
}

.bv-interior .tagline {
  margin-bottom: 10px;
  color: #7f8c96;
  font-size: 11px;
  letter-spacing: .12em;
}

.bv-interior #navi {
  border-bottom: 1px solid var(--bv-line);
}

.bv-interior #navi .navi-in > ul {
  min-height: 72px;
}

.bv-interior #navi .navi-in > ul > li > a {
  min-height: 72px;
  color: #d6dde2;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .12em;
  background: transparent;
  position: relative;
}

.bv-interior #navi .navi-in > ul > li > a::after {
  content: "";
  position: absolute;
  left: 50%;
  right: 50%;
  bottom: 0;
  height: 2px;
  background: var(--bv-blue);
  transition: left .25s,right .25s;
}

.bv-interior #navi .navi-in > ul > li > a:hover::after,
.bv-interior #navi .navi-in > ul > li.current-menu-item > a::after,
.bv-interior #navi .navi-in > ul > li.current_page_item > a::after {
  left: 20%;
  right: 20%;
}

.bv-interior #content {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 110px clamp(22px,7vw,112px) 130px;
  position: relative;
  background:
    linear-gradient(180deg,rgba(120,199,255,.055),transparent 270px),
    var(--bv-ink);
}

.bv-interior #content::before {
  content: "OFFICIAL ARCHIVE / BLACK VELOCITY";
  position: absolute;
  top: 43px;
  left: clamp(22px,7vw,112px);
  color: #75b7e5;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .27em;
}

.bv-interior #content-in {
  width: min(1180px,100%);
  margin: 0 auto;
  display: block;
}

.bv-interior #main {
  width: 100%;
  margin: 0;
  padding: clamp(35px,5.2vw,78px);
  background: #0d1218;
  color: var(--bv-paper);
  border: 1px solid var(--bv-line);
  border-radius: 0;
  box-shadow: none;
}

.bv-interior .article-header {
  margin-bottom: 45px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--bv-line);
}

.bv-interior .entry-title,
.bv-interior .archive-title {
  margin: 0;
  padding: 0 0 0 24px;
  border-left: 2px solid var(--bv-blue);
  color: var(--bv-paper);
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(34px,4.2vw,62px);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .055em;
}

.bv-interior .date-tags,
.bv-interior .post-date,
.bv-interior .post-update,
.bv-interior .breadcrumb,
.bv-interior .breadcrumb a {
  color: #75838d;
  font-size: 11px;
}

/* Landing pages should read as official guides, not dated blog entries. */
.bv-fixed-page .date-tags,
.bv-fixed-page .post-date,
.bv-fixed-page .post-update,
.bv-fixed-page .article-footer,
.bv-fixed-page .breadcrumb {
  display: none !important;
}

.bv-fixed-page .article-header {
  margin-bottom: 45px;
}

.bv-interior .sns-share.ss-top {
  display: none;
}

.bv-interior .entry-content {
  color: #cbd3d9;
  font-size: clamp(16px,1.35vw,18px);
  line-height: 2.05;
}

.bv-interior .entry-content p {
  margin-top: 0;
  margin-bottom: 2em;
}

.bv-interior .entry-content h2 {
  margin: 3.1em 0 1.25em;
  padding: 18px 0 17px 22px;
  border: 0;
  border-left: 2px solid var(--bv-blue);
  border-bottom: 1px solid var(--bv-line);
  background: transparent;
  color: var(--bv-paper);
  font-family: "Noto Serif JP", "Yu Mincho", serif;
  font-size: clamp(26px,3vw,40px);
  font-weight: 500;
  letter-spacing: .05em;
}

.bv-interior .entry-content h3 {
  margin: 2.5em 0 1em;
  padding: 0 0 11px;
  border: 0;
  border-bottom: 1px solid var(--bv-line);
  color: #dfe8ee;
  font-family: "Noto Serif JP", "Yu Mincho", serif;
  font-size: clamp(22px,2.3vw,31px);
  font-weight: 500;
}

.bv-interior .entry-content a {
  color: #9dd6ff;
  text-decoration-color: rgba(120,199,255,.45);
  text-underline-offset: .22em;
}

.bv-interior .entry-content strong {
  color: #edf5fa;
}

.bv-interior .entry-content blockquote {
  margin: 2.2em 0;
  padding: 28px 32px;
  border: 1px solid var(--bv-line);
  border-left: 3px solid var(--bv-blue);
  background: #101820;
  color: #cbd3d9;
}

.bv-interior .entry-content img,
.bv-interior .eye-catch img {
  border: 1px solid #202b34;
}

.bv-interior .wp-block-button__link,
.bv-interior .entry-content .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  min-height: 54px;
  padding: 0 28px;
  border: 1px solid var(--bv-blue);
  border-radius: 0;
  background: transparent;
  color: #bfe4ff;
  text-decoration: none;
  letter-spacing: .08em;
}

.bv-interior .sns-share.ss-bottom,
.bv-interior .author-box,
.bv-interior .related-entry-card-wrap,
.bv-interior .comment-area {
  margin-top: 65px;
  padding-top: 30px;
  border-top: 1px solid var(--bv-line);
}

.bv-interior .author-box,
.bv-interior .comment-area,
.bv-interior .related-entry-heading {
  background: transparent;
  color: #b8c3ca;
}

.bv-interior .entry-card-wrap,
.bv-interior .related-entry-card-wrap,
.bv-interior .new-entry-card-wrap {
  color: inherit;
}

.bv-interior .entry-card,
.bv-interior .related-entry-card,
.bv-interior .new-entry-card {
  padding: 24px;
  border: 1px solid var(--bv-line);
  background: #10161d;
  transition: border-color .25s,background .25s,transform .25s;
}

.bv-interior .entry-card:hover,
.bv-interior .related-entry-card:hover,
.bv-interior .new-entry-card:hover {
  border-color: #4c7694;
  background: #121b23;
  transform: translateY(-2px);
}

.bv-interior .entry-card-title,
.bv-interior .related-entry-card-title,
.bv-interior .new-entry-card-title {
  color: #edf3f7;
  font-family: "Noto Serif JP", "Yu Mincho", serif;
  font-size: clamp(19px,2vw,26px);
  line-height: 1.65;
}

.bv-interior .entry-card-snippet,
.bv-interior .related-entry-card-snippet,
.bv-interior .new-entry-card-snippet {
  color: #8e9ba5;
  line-height: 1.8;
}

.bv-interior .pagination a,
.bv-interior .pagination span {
  border: 1px solid var(--bv-line);
  border-radius: 0;
  background: #10161d;
  color: #c9d3da;
}

.bv-interior .pagination .current {
  border-color: var(--bv-blue);
  color: var(--bv-blue);
}

.bv-interior input[type="text"],
.bv-interior input[type="email"],
.bv-interior input[type="url"],
.bv-interior input[type="search"],
.bv-interior textarea,
.bv-interior select {
  border: 1px solid #34414b;
  border-radius: 0;
  background: #0a0f14;
  color: var(--bv-paper);
}

.bv-interior input[type="submit"],
.bv-interior button[type="submit"] {
  border: 1px solid var(--bv-blue);
  border-radius: 0;
  background: transparent;
  color: #bfe4ff;
}

.bv-interior #footer,
.bv-interior .footer {
  margin-top: 0;
  border-top: 1px solid var(--bv-line);
  background: #07090d;
  color: #8e9ba5;
}

.bv-interior #footer-in {
  padding-top: 65px;
  padding-bottom: 45px;
}

.bv-interior #footer a {
  color: #aab6be;
}

.bv-interior #footer a:hover {
  color: var(--bv-blue);
}

.bv-interior .mobile-footer-menu-buttons,
.bv-interior .mobile-menu-buttons {
  background: rgba(8,11,15,.96);
  border-top-color: var(--bv-line);
}

@media (max-width: 768px) {
  .bv-interior #header-in { min-height: 84px; }
  .bv-interior .logo-text .site-name-text,
  .bv-interior .logo-text .site-name-text a,
  .bv-interior .logo-header a { font-size: 19px; letter-spacing: .15em; }
  .bv-interior #content { padding: 85px 18px 90px; }
  .bv-interior #content::before { top: 31px; left: 20px; font-size: 8px; }
  .bv-interior #main { padding: 30px 21px 55px; }
  .bv-interior .entry-title,
  .bv-interior .archive-title { padding-left: 15px; font-size: 31px; }
  .bv-interior .entry-content { font-size: 16px; line-height: 2; }
  .bv-interior .entry-content h2 { padding-left: 15px; }
  .bv-interior .entry-card { padding: 16px; }
}

/* Latest updates — populated automatically from published posts. */
.bv-updates {
  border-top: 1px solid var(--bv-line);
  background: #0a0e13;
}

.bv-update-list {
  border-top: 1px solid var(--bv-line);
}

.bv-update-item {
  display: grid;
  grid-template-columns: 130px 150px minmax(0, 1fr) 28px;
  gap: 22px;
  align-items: center;
  min-height: 86px;
  padding: 18px 8px;
  border-bottom: 1px solid var(--bv-line);
  color: var(--bv-paper);
  transition: background .25s, padding .25s;
}

.bv-update-item:hover {
  padding-right: 14px;
  padding-left: 14px;
  background: #101820;
}

.bv-update-item time {
  color: #8f9ba5;
  font-size: 13px;
  letter-spacing: .12em;
}

.bv-update-type {
  color: var(--bv-blue);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
}

.bv-update-item strong {
  overflow: hidden;
  color: #f2f5f7;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.65;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bv-update-arrow {
  color: var(--bv-blue);
  font-size: 18px;
  text-align: right;
}

@media (max-width: 768px) {
  .bv-update-item {
    grid-template-columns: 102px minmax(0, 1fr) 20px;
    gap: 8px 12px;
    min-height: 98px;
    padding: 17px 2px;
  }
  .bv-update-type { grid-column: 1; grid-row: 2; }
  .bv-update-item strong { grid-column: 2; grid-row: 1 / span 2; white-space: normal; }
  .bv-update-arrow { grid-column: 3; grid-row: 1 / span 2; }
}

/* Illustration gallery — isolated from every other page. */
.bv-illustration-gallery .entry-content > h2 {
  margin-top: 82px;
  margin-bottom: 30px;
}

.bv-illustration-gallery .entry-content > h2:first-child {
  margin-top: 45px;
}

.bv-illustration-gallery .wp-block-gallery,
.bv-illustration-gallery .blocks-gallery-grid,
.bv-illustration-gallery .bv-gallery-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 34px 22px !important;
  width: 100%;
  margin: 0 0 72px;
  padding: 0;
  list-style: none;
}

.bv-illustration-gallery .wp-block-gallery > figure,
.bv-illustration-gallery .blocks-gallery-grid > li,
.bv-illustration-gallery .bv-gallery-grid > figure {
  display: flex !important;
  flex-direction: column;
  width: auto !important;
  margin: 0 !important;
  padding: 0;
  border: 0;
  background: transparent;
}

.bv-illustration-gallery .wp-block-gallery figure > a,
.bv-illustration-gallery .blocks-gallery-item figure > a,
.bv-illustration-gallery .bv-gallery-grid figure > a {
  display: block;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 4 / 3;
  border: 1px solid #263746;
  background: #081018;
  cursor: zoom-in;
}

.bv-illustration-gallery .wp-block-gallery figure img,
.bv-illustration-gallery .blocks-gallery-item figure img,
.bv-illustration-gallery .bv-gallery-grid figure img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  margin: 0;
  border: 0;
  object-fit: cover;
  transition: transform .35s ease, opacity .35s ease;
}

.bv-illustration-gallery .wp-block-gallery figure > a:hover img,
.bv-illustration-gallery .blocks-gallery-item figure > a:hover img,
.bv-illustration-gallery .bv-gallery-grid figure > a:hover img {
  transform: scale(1.025);
  opacity: .88;
}

.bv-illustration-gallery .wp-block-gallery figcaption,
.bv-illustration-gallery .blocks-gallery-item figcaption,
.bv-illustration-gallery .bv-gallery-grid figcaption {
  position: static !important;
  display: block;
  width: 100%;
  margin: 0;
  padding: 14px 2px 0 !important;
  background: none !important;
  color: #dbe8f1 !important;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.55;
  letter-spacing: .06em;
  text-align: left;
}

.bv-gallery-lightbox {
  position: fixed;
  z-index: 100000;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 48px 82px 64px;
  background: rgba(3, 7, 12, .96);
  color: #edf6fc;
}

.bv-gallery-lightbox.is-open { display: flex; }
.bv-gallery-lightbox[hidden] { display: none !important; }

.bv-gallery-lightbox__figure {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: min(1180px, 100%);
  max-height: 100%;
  margin: 0;
}

.bv-gallery-lightbox__image {
  display: block;
  max-width: 100%;
  max-height: calc(100vh - 150px);
  border: 1px solid #294359;
  object-fit: contain;
  box-shadow: 0 24px 70px rgba(0,0,0,.55);
}

.bv-gallery-lightbox__title {
  min-height: 24px;
  margin-top: 16px;
  color: #dbe8f1;
  font-size: 14px;
  letter-spacing: .08em;
  text-align: center;
}

.bv-gallery-lightbox__button {
  position: absolute;
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  padding: 0;
  border: 1px solid #426783;
  border-radius: 0;
  background: rgba(7,16,24,.72);
  color: #dff2ff;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
}

.bv-gallery-lightbox__button:hover,
.bv-gallery-lightbox__button:focus-visible {
  border-color: #80c8f5;
  background: #102535;
  outline: none;
}

.bv-gallery-lightbox__close { top: 22px; right: 24px; font-size: 26px; }
.bv-gallery-lightbox__prev { left: 20px; top: 50%; transform: translateY(-50%); }
.bv-gallery-lightbox__next { right: 20px; top: 50%; transform: translateY(-50%); }

body.bv-gallery-lock { overflow: hidden; }

@media (max-width: 1023px) {
  .bv-illustration-gallery .wp-block-gallery,
  .bv-illustration-gallery .blocks-gallery-grid,
  .bv-illustration-gallery .bv-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 599px) {
  .bv-illustration-gallery .entry-content > h2 { margin-top: 58px; }
  .bv-illustration-gallery .wp-block-gallery,
  .bv-illustration-gallery .blocks-gallery-grid,
  .bv-illustration-gallery .bv-gallery-grid {
    gap: 25px 12px !important;
    margin-bottom: 52px;
  }
  .bv-gallery-lightbox { padding: 58px 14px 72px; }
  .bv-gallery-lightbox__image { max-height: calc(100vh - 155px); }
  .bv-gallery-lightbox__button { width: 44px; height: 44px; }
  .bv-gallery-lightbox__close { top: 10px; right: 10px; }
  .bv-gallery-lightbox__prev { left: 8px; top: auto; bottom: 12px; transform: none; }
  .bv-gallery-lightbox__next { right: 8px; top: auto; bottom: 12px; transform: none; }
}

@media (max-width: 419px) {
  .bv-illustration-gallery .wp-block-gallery,
  .bv-illustration-gallery .blocks-gallery-grid,
  .bv-illustration-gallery .bv-gallery-grid {
    grid-template-columns: 1fr;
    gap: 30px !important;
  }
}

/* Only the MAINLINE illustration-gallery link on the Creative page. */
.bv-interior .entry-content a.bv-mainline-gallery-link,
.bv-interior .entry-content a.bv-mainline-gallery-link:visited,
.bv-interior .entry-content a.bv-mainline-gallery-link:hover,
.bv-interior .entry-content a.bv-mainline-gallery-link:focus {
  color: #f2f5f7 !important;
}

/* ------------------------------------------------------------
   Four Perspectives knowledge hub — note RSS integration
------------------------------------------------------------- */
.bv-note-hub-page #main {
  padding: 0;
  overflow: hidden;
}

.bv-note-hub {
  color: var(--bv-paper);
}

.bv-note-hub__hero {
  padding: clamp(54px,7vw,100px) clamp(28px,6vw,84px) clamp(58px,7vw,92px);
  border-bottom: 1px solid var(--bv-line);
  background:
    radial-gradient(circle at 84% 20%,rgba(120,199,255,.12),transparent 28%),
    linear-gradient(145deg,#111923,#0b0f14 62%);
}

.bv-note-hub__hero .bv-eyebrow {
  margin-bottom: 28px;
}

.bv-note-hub__hero .archive-title {
  max-width: 900px;
  font-size: clamp(38px,5vw,68px);
}

.bv-note-hub__lead {
  max-width: 790px;
  margin: 38px 0 0;
  color: #b6c1c9;
  font-size: clamp(15px,1.5vw,19px);
  line-height: 2;
}

.bv-note-hub__index {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  border-bottom: 1px solid var(--bv-line);
}

.bv-note-hub__index a {
  min-height: 174px;
  padding: 30px;
  border-right: 1px solid var(--bv-line);
  color: var(--bv-paper);
  text-decoration: none;
  transition: background .25s,border-color .25s;
}

.bv-note-hub__index a:last-child {
  border-right: 0;
}

.bv-note-hub__index a:hover,
.bv-note-hub__index a:focus-visible {
  background: rgba(120,199,255,.06);
}

.bv-note-hub__index span {
  display: block;
  color: #7f9caf;
  font-size: 10px;
  letter-spacing: .18em;
}

.bv-note-hub__index strong {
  display: block;
  margin-top: 38px;
  color: #edf3f7;
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: clamp(18px,1.7vw,25px);
  font-weight: 500;
  line-height: 1.65;
}

.bv-note-series {
  padding: clamp(64px,8vw,105px) clamp(28px,6vw,84px);
  border-bottom: 1px solid var(--bv-line);
  scroll-margin-top: 90px;
}

.bv-note-series:last-of-type {
  border-bottom: 0;
}

.bv-note-series__heading {
  display: grid;
  grid-template-columns: minmax(300px,.9fr) minmax(320px,1.1fr);
  gap: clamp(38px,7vw,100px);
  align-items: end;
  margin-bottom: 50px;
}

.bv-note-series__heading .bv-eyebrow {
  margin-bottom: 18px;
}

.bv-note-series__heading h2 {
  margin: 0;
  color: #f2f5f7;
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: clamp(29px,3.3vw,47px);
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: .045em;
}

.bv-note-series__heading > div:last-child p {
  margin: 0;
  color: #9eabb4;
  font-size: 14px;
  line-height: 2;
}

.bv-note-series__heading a,
.bv-note-series__empty a {
  display: inline-flex;
  gap: 16px;
  align-items: center;
  margin-top: 22px;
  padding-bottom: 8px;
  border-bottom: 1px solid #34516a;
  color: #bfe4ff;
  font-size: 12px;
  letter-spacing: .12em;
  text-decoration: none;
}

.bv-note-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 24px;
}

.bv-note-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border: 1px solid var(--bv-line);
  background: #0a0f14;
  color: inherit;
  text-decoration: none;
  transition: transform .25s,border-color .25s,background .25s;
}

.bv-note-card:hover,
.bv-note-card:focus-visible {
  transform: translateY(-3px);
  border-color: #476d88;
  background: #0f171f;
}

.bv-note-card > img,
.bv-note-card__visual {
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-bottom: 1px solid var(--bv-line);
  object-fit: cover;
}

.bv-note-card__visual {
  background:
    radial-gradient(circle at 70% 40%,rgba(120,199,255,.18),transparent 12%),
    repeating-radial-gradient(circle at 70% 40%,transparent 0 25px,rgba(120,199,255,.06) 26px 27px),
    #0b1118;
  color: rgba(242,245,247,.15);
  font-family: Georgia,serif;
  font-size: 76px;
}

.bv-note-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 24px;
}

.bv-note-card__meta {
  display: flex;
  justify-content: space-between;
  color: #718392;
  font-size: 10px;
  letter-spacing: .14em;
}

.bv-note-card__meta b {
  color: #78c7ff;
  font-weight: 600;
}

.bv-note-card__body > strong {
  display: block;
  margin: 23px 0 16px;
  color: #eef4f7;
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: clamp(18px,1.55vw,23px);
  font-weight: 500;
  line-height: 1.7;
}

.bv-note-card__body > small {
  color: #909da6;
  font-size: 12px;
  line-height: 1.85;
}

.bv-note-card__body > em {
  display: flex;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 28px;
  color: #beddf2;
  font-size: 11px;
  font-style: normal;
  letter-spacing: .11em;
}

.bv-note-series__empty {
  padding: 34px;
  border: 1px solid var(--bv-line);
  background: #0a0f14;
  color: #9eabb4;
}

.bv-note-series__empty p {
  margin: 0;
}

.bv-note-hub__notice {
  margin: 0;
  padding: 22px clamp(28px,6vw,84px);
  border-top: 1px solid var(--bv-line);
  color: #91a0aa;
  font-size: 12px;
}

@media (max-width: 900px) {
  .bv-note-hub__index,
  .bv-note-grid {
    grid-template-columns: 1fr 1fr;
  }
  .bv-note-hub__index a:nth-child(2) {
    border-right: 0;
  }
  .bv-note-hub__index a:last-child {
    grid-column: 1 / -1;
    border-top: 1px solid var(--bv-line);
  }
  .bv-note-series__heading {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .bv-note-hub-page #main {
    border-inline: 0;
  }
  .bv-note-hub__hero .archive-title {
    padding-left: 17px;
    font-size: 36px;
  }
  .bv-note-hub__index,
  .bv-note-grid {
    grid-template-columns: 1fr;
  }
  .bv-note-hub__index a,
  .bv-note-hub__index a:nth-child(2),
  .bv-note-hub__index a:last-child {
    grid-column: auto;
    min-height: 140px;
    border-right: 0;
    border-top: 0;
    border-bottom: 1px solid var(--bv-line);
  }
  .bv-note-hub__index a:last-child {
    border-bottom: 0;
  }
  .bv-note-hub__index strong {
    margin-top: 25px;
  }
  .bv-note-series__heading h2 {
    font-size: 30px;
  }
}

/* ------------------------------------------------------------
   1.8 Editorial interiors — hubs, archives, pages, and articles
------------------------------------------------------------- */
.bv-interior #main.bv-editorial-main {
  width: 100%;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: transparent;
}

.bv-editorial-main,
.bv-editorial-main * {
  box-sizing: border-box;
}

.bv-editorial-main a:focus-visible {
  outline: 2px solid var(--bv-blue);
  outline-offset: 4px;
}

.bv-subhero {
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(340px,.85fr);
  min-height: 500px;
  overflow: hidden;
  border: 1px solid var(--bv-line);
  background:
    radial-gradient(circle at 80% 18%,rgba(120,199,255,.09),transparent 28%),
    linear-gradient(145deg,#111923,#0b0f14 64%);
}

.bv-subhero__copy {
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(54px,7vw,98px) clamp(30px,6vw,84px);
}

.bv-subhero__copy .bv-eyebrow {
  margin-bottom: 28px;
}

.bv-subhero__copy h1 {
  margin: 0;
  padding-left: 25px;
  border-left: 2px solid var(--bv-blue);
  color: var(--bv-paper);
  font-family: "Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  font-size: clamp(39px,5vw,68px);
  font-weight: 500;
  line-height: 1.38;
  letter-spacing: .055em;
}

.bv-subhero__copy > p:last-child {
  max-width: 690px;
  margin: 38px 0 0;
  color: #aeb9c1;
  font-size: clamp(15px,1.4vw,18px);
  line-height: 2.05;
}

.bv-subhero__visual {
  position: relative;
  display: grid;
  place-items: end start;
  min-height: 100%;
  padding: 48px;
  overflow: hidden;
  border-left: 1px solid var(--bv-line);
  background:
    radial-gradient(circle at 68% 42%,rgba(120,199,255,.18),transparent 11%,transparent 24%),
    repeating-radial-gradient(circle at 68% 42%,transparent 0 45px,rgba(120,199,255,.055) 46px 47px),
    linear-gradient(135deg,#111b24,#080b0f 70%);
}

.bv-subhero.has-image .bv-subhero__visual {
  background-image:
    linear-gradient(180deg,rgba(8,11,15,.06),rgba(8,11,15,.78)),
    linear-gradient(90deg,rgba(8,11,15,.45),transparent 42%),
    var(--bv-subhero-image);
  background-position: center;
  background-size: cover;
}

/* Portrait source images need an upper-body crop in the wide character hero. */
.bv-hub--characters .bv-subhero--characters.has-image .bv-subhero__visual {
  background-position: center 12%;
}

.bv-subhero__visual::after {
  content: "";
  position: absolute;
  inset: 8%;
  border: 1px solid rgba(184,193,200,.18);
  pointer-events: none;
}

.bv-subhero__visual > span {
  position: relative;
  z-index: 1;
  color: rgba(235,243,248,.16);
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(58px,7vw,112px);
  line-height: .82;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.bv-hub-section {
  padding: clamp(68px,8vw,110px) clamp(28px,6vw,84px) clamp(82px,9vw,125px);
  border: 1px solid var(--bv-line);
  border-top: 0;
  background: #0b0f14;
}

.bv-hub-section__heading {
  display: grid;
  grid-template-columns: minmax(280px,.9fr) minmax(300px,1.1fr);
  gap: clamp(38px,7vw,100px);
  align-items: end;
  margin-bottom: 55px;
}

.bv-hub-section__heading .bv-eyebrow {
  margin-bottom: 17px;
}

.bv-hub-section__heading h2,
.bv-related__heading h2 {
  margin: 0;
  color: var(--bv-paper);
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: clamp(31px,3.8vw,50px);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: .05em;
}

.bv-hub-section__heading > p {
  margin: 0;
  color: #96a3ac;
  line-height: 2;
}

.bv-hub-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  border-top: 1px solid var(--bv-line);
  border-left: 1px solid var(--bv-line);
}

.bv-hub-card {
  display: flex;
  flex-direction: column;
  min-height: 320px;
  padding: 27px 29px 30px;
  border-right: 1px solid var(--bv-line);
  border-bottom: 1px solid var(--bv-line);
  background: #0d1218;
  color: inherit;
  text-decoration: none;
  transition: background .25s,border-color .25s,transform .25s;
}

.bv-hub-card.is-primary {
  grid-column: span 2;
  background:
    radial-gradient(circle at 82% 28%,rgba(120,199,255,.1),transparent 24%),
    #0d1218;
}

.bv-hub-card.is-origin {
  border-color: #55446f;
  background:
    radial-gradient(circle at 82% 22%,rgba(153,118,238,.17),transparent 27%),
    linear-gradient(145deg,#15121d,#0d1015 70%);
}

.bv-hub-card.is-origin .bv-hub-card__meta b,
.bv-hub-card.is-origin .bv-hub-card__action b {
  color: #b69aff;
}

.bv-hub-card.is-origin .bv-hub-card__body strong {
  color: #dbc49a;
}

.bv-hub-card.is-origin .bv-hub-card__action {
  border-top-color: #413650;
}

.bv-hub-card:hover,
.bv-hub-card:focus-visible {
  z-index: 1;
  border-color: #4a718d;
  background-color: #111a22;
  transform: translateY(-3px);
}

.bv-hub-card__meta,
.bv-archive-card__meta {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  color: #748592;
  font-size: 10px;
  letter-spacing: .18em;
}

.bv-hub-card__meta b,
.bv-archive-card__meta em {
  color: var(--bv-blue);
  font-weight: 600;
  font-style: normal;
}

.bv-hub-card__meta em {
  font-style: normal;
}

.bv-hub-card__body {
  display: block;
  margin-top: auto;
  padding-top: 50px;
}

.bv-hub-card__body strong {
  display: block;
  color: #eef4f7;
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: clamp(21px,2vw,29px);
  font-weight: 500;
  line-height: 1.6;
}

.bv-hub-card__body small {
  display: block;
  margin-top: 17px;
  color: #909da6;
  font-size: 13px;
  line-height: 1.9;
}

.bv-hub-card__action,
.bv-archive-card__action {
  display: flex;
  justify-content: space-between;
  margin-top: 30px;
  padding-top: 13px;
  border-top: 1px solid #27323b;
  color: #c2d9e8;
  font-size: 11px;
  letter-spacing: .12em;
}

.bv-hub-card__action b,
.bv-archive-card__action b {
  color: var(--bv-blue);
  font-weight: 400;
}

.bv-note-side-series {
  grid-template-columns: repeat(2,minmax(0,1fr));
  margin-bottom: 38px;
}

.bv-note-side-card {
  min-height: 330px;
  background:
    radial-gradient(circle at 84% 23%,rgba(120,199,255,.11),transparent 27%),
    linear-gradient(145deg,#101821,#0b1016 72%);
}

.bv-note-side-card:nth-child(2) {
  background:
    radial-gradient(circle at 84% 23%,rgba(155,126,226,.13),transparent 28%),
    linear-gradient(145deg,#121620,#0b1016 72%);
}

.bv-archive-toolbar--secondary {
  margin-top: 4px;
}

.bv-character-index {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  border: 1px solid var(--bv-line);
  border-top: 0;
}

.bv-character-index a {
  min-height: 150px;
  padding: 29px;
  border-right: 1px solid var(--bv-line);
  background: #0c1117;
  color: inherit;
  text-decoration: none;
  transition: background .25s;
}

.bv-character-index a:last-child {
  border-right: 0;
}

.bv-character-index a:hover {
  background: rgba(120,199,255,.06);
}

.bv-character-index span {
  display: block;
  color: var(--bv-blue);
  font-size: 10px;
  letter-spacing: .2em;
}

.bv-character-index strong {
  display: block;
  margin-top: 43px;
  color: #edf3f7;
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: 23px;
  font-weight: 500;
}

.bv-profile {
  display: grid;
  grid-template-columns: minmax(340px,.88fr) minmax(0,1.12fr);
  min-height: 660px;
  border: 1px solid var(--bv-line);
  border-top: 0;
  scroll-margin-top: 100px;
}

.bv-profile:nth-of-type(even) {
  grid-template-columns: minmax(0,1.12fr) minmax(340px,.88fr);
}

.bv-profile:nth-of-type(even) .bv-profile__visual {
  grid-column: 2;
  grid-row: 1;
  border-right: 0;
  border-left: 1px solid var(--bv-line);
}

.bv-profile:nth-of-type(even) .bv-profile__body {
  grid-column: 1;
  grid-row: 1;
}

.bv-profile__visual {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 560px;
  overflow: hidden;
  border-right: 1px solid var(--bv-line);
  background:
    radial-gradient(circle at 65% 38%,rgba(120,199,255,.14),transparent 18%),
    linear-gradient(145deg,#121b24,#090d12 68%);
}

.bv-profile__visual::after {
  content: "";
  position: absolute;
  inset: 25px;
  border: 1px solid rgba(184,193,200,.16);
  pointer-events: none;
}

.bv-profile__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  filter: saturate(.82) contrast(1.04);
}

.bv-profile__visual > span {
  color: rgba(242,245,247,.12);
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(150px,19vw,290px);
}

.bv-profile__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(48px,7vw,92px);
  background: #0d1218;
}

.bv-profile__body .bv-eyebrow {
  margin-bottom: 18px;
}

.bv-profile__body h2 {
  margin: 0;
  color: var(--bv-paper);
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: clamp(34px,4.2vw,56px);
  font-weight: 500;
  letter-spacing: .08em;
}

.bv-profile__role {
  margin: 12px 0 32px !important;
  color: #cad6dd !important;
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: 18px;
}

.bv-profile__body dl {
  margin: 0 0 32px;
  border-top: 1px solid var(--bv-line);
}

.bv-profile__body dl > div {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 20px;
  padding: 14px 0;
  border-bottom: 1px solid var(--bv-line);
}

.bv-profile__body dt {
  color: #748592;
  font-size: 10px;
  letter-spacing: .16em;
}

.bv-profile__body dd {
  margin: 0;
  color: #cbd4da;
  font-size: 13px;
  line-height: 1.7;
}

.bv-profile__body > p:not(.bv-eyebrow):not(.bv-profile__role) {
  margin: 0;
  color: #9daab3;
  line-height: 2;
}

.bv-profile__body blockquote {
  margin: 30px 0 0;
  padding: 20px 23px;
  border: 0;
  border-left: 2px solid var(--bv-blue);
  background: #111922;
  color: #d9e4ea;
  font-family: "Noto Serif JP","Yu Mincho",serif;
  line-height: 1.9;
}

.bv-inline-link {
  display: inline-flex;
  justify-content: space-between;
  gap: 35px;
  align-self: flex-start;
  margin-top: 31px;
  padding-bottom: 8px;
  border-bottom: 1px solid #35516a;
  color: #bfe4ff;
  font-size: 12px;
  letter-spacing: .11em;
  text-decoration: none;
}

.bv-page-panel,
.bv-article-panel {
  border: 1px solid var(--bv-line);
  border-top: 0;
  background: #0d1218;
}

.bv-page-panel {
  padding: clamp(48px,7vw,92px);
}

.bv-page-panel .entry-content {
  width: min(900px,100%);
  margin: 0 auto;
}

.bv-archive-toolbar {
  display: flex;
  justify-content: space-between;
  padding: 24px 29px;
  border: 1px solid var(--bv-line);
  border-top: 0;
  color: #748592;
  font-size: 10px;
  letter-spacing: .18em;
}

.bv-archive-toolbar b {
  color: var(--bv-blue);
  font-weight: 600;
}

.bv-archive-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 24px;
  padding: clamp(35px,5vw,68px);
  border: 1px solid var(--bv-line);
  border-top: 0;
  background: #0b0f14;
}

.bv-archive-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border: 1px solid var(--bv-line);
  background: #0d1218;
  color: inherit;
  text-decoration: none;
  transition: transform .25s,border-color .25s,background .25s;
}

.bv-archive-card:hover {
  transform: translateY(-3px);
  border-color: #4a718d;
  background: #111922;
}

.bv-archive-card__visual {
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-bottom: 1px solid var(--bv-line);
  background:
    repeating-radial-gradient(circle at 70% 42%,transparent 0 24px,rgba(120,199,255,.055) 25px 26px),
    #0a1016;
}

.bv-archive-card__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s;
}

.bv-archive-card:hover .bv-archive-card__visual img {
  transform: scale(1.025);
}

.bv-archive-card__visual > b {
  color: rgba(242,245,247,.14);
  font-family: Georgia,"Times New Roman",serif;
  font-size: 72px;
}

.bv-archive-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 24px;
}

.bv-archive-card__body > strong {
  display: block;
  margin: 23px 0 15px;
  color: #eef4f7;
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: clamp(18px,1.7vw,24px);
  font-weight: 500;
  line-height: 1.7;
}

.bv-archive-card__body > small {
  color: #909da6;
  font-size: 12px;
  line-height: 1.85;
}

.bv-archive-card__action {
  margin-top: auto;
  padding-top: 28px;
}

.bv-editorial-pagination {
  padding: 0 clamp(35px,5vw,68px) 68px;
  border: 1px solid var(--bv-line);
  border-top: 0;
  background: #0b0f14;
}

.bv-editorial-pagination .pagination {
  margin: 0;
}

.bv-empty-state {
  padding: clamp(65px,9vw,120px) clamp(30px,8vw,110px);
  border: 1px solid var(--bv-line);
  border-top: 0;
  background:
    radial-gradient(circle at 80% 30%,rgba(120,199,255,.08),transparent 25%),
    #0b0f14;
}

.bv-empty-state h2 {
  margin: 0;
  color: var(--bv-paper);
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: clamp(31px,4vw,51px);
  font-weight: 500;
}

.bv-empty-state > p:not(.bv-eyebrow) {
  margin: 27px 0 0;
  color: #96a3ac;
  line-height: 2;
}

.bv-empty-state > div {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 38px;
}

.bv-empty-state a {
  display: flex;
  justify-content: space-between;
  min-width: 220px;
  padding: 17px 20px;
  border: 1px solid var(--bv-line);
  color: #c8d9e4;
  text-decoration: none;
}

.bv-empty-state a:hover {
  border-color: var(--bv-blue);
}

.bv-story-jumps {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  border: 1px solid var(--bv-line);
  border-top: 0;
  background: #0b1016;
}

.bv-story-jumps a {
  position: relative;
  min-height: 142px;
  padding: 27px 56px 27px 28px;
  border-right: 1px solid var(--bv-line);
  color: inherit;
  text-decoration: none;
  transition: background .25s,border-color .25s;
}

.bv-story-jumps a:last-child {
  border-right: 0;
  background: linear-gradient(145deg,rgba(105,75,154,.12),transparent 65%);
}

.bv-story-jumps a:hover,
.bv-story-jumps a:focus-visible {
  background-color: rgba(120,199,255,.06);
}

.bv-story-jumps span {
  display: block;
  color: var(--bv-blue);
  font-size: 9px;
  letter-spacing: .18em;
}

.bv-story-jumps strong {
  display: block;
  margin-top: 34px;
  color: #edf3f7;
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: 21px;
  font-weight: 500;
  letter-spacing: .05em;
}

.bv-story-jumps b {
  position: absolute;
  right: 28px;
  bottom: 26px;
  color: var(--bv-blue);
  font-weight: 400;
}

.bv-story-section {
  scroll-margin-top: 90px;
  padding: clamp(68px,8vw,108px) clamp(28px,6vw,82px) clamp(78px,9vw,118px);
  border: 1px solid var(--bv-line);
  border-top: 0;
  background: #0b0f14;
}

.bv-story-section--side {
  background:
    radial-gradient(circle at 87% 12%,rgba(120,199,255,.055),transparent 24%),
    #0a0e13;
}

.bv-story-section__heading {
  display: grid;
  grid-template-columns: minmax(240px,.72fr) minmax(300px,1.28fr);
  gap: clamp(40px,7vw,100px);
  align-items: end;
}

.bv-story-section__heading .bv-eyebrow {
  margin-bottom: 17px;
}

.bv-story-section__heading h2,
.bv-story-origin-note h2 {
  margin: 0;
  color: var(--bv-paper);
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: clamp(31px,3.7vw,49px);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: .05em;
}

.bv-story-section__heading > p {
  margin: 0;
  color: #96a3ac;
  line-height: 2;
}

.bv-story-section > .bv-archive-toolbar {
  margin-top: 45px;
  border-top: 1px solid var(--bv-line);
}

.bv-story-grid {
  padding: 34px 0 0;
  border: 0;
  background: transparent;
}

.bv-story-empty {
  margin-top: 34px;
  padding: clamp(42px,6vw,72px);
  border: 1px solid var(--bv-line);
  background:
    radial-gradient(circle at 84% 25%,rgba(120,199,255,.07),transparent 25%),
    #0d1218;
}

.bv-story-empty h3 {
  margin: 17px 0 0;
  color: #eaf1f5;
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: clamp(24px,2.8vw,36px);
  font-weight: 500;
}

.bv-story-empty > p:last-child {
  margin: 22px 0 0;
  color: #96a3ac;
  line-height: 1.9;
}

.bv-story-origin-note {
  display: grid;
  grid-template-columns: minmax(280px,.9fr) minmax(340px,1.1fr);
  gap: clamp(42px,8vw,112px);
  padding: clamp(68px,8vw,108px) clamp(28px,6vw,82px);
  border: 1px solid #453b55;
  border-top: 0;
  background:
    radial-gradient(circle at 88% 18%,rgba(147,105,221,.13),transparent 28%),
    linear-gradient(145deg,#14121b,#0b0e13 72%);
}

.bv-story-origin-note h2 {
  font-size: clamp(29px,3.4vw,45px);
}

.bv-story-origin-note > div:last-child {
  align-self: end;
}

.bv-story-origin-note > div:last-child p {
  margin: 0;
  color: #a4aab4;
  line-height: 2;
}

.bv-story-origin-note a {
  display: flex;
  justify-content: space-between;
  margin-top: 34px;
  padding: 17px 0;
  border-top: 1px solid #453b55;
  border-bottom: 1px solid #453b55;
  color: #d9c5fa;
  font-size: 12px;
  letter-spacing: .08em;
  text-decoration: none;
}

.bv-story-origin-note a b {
  color: #b89cff;
  font-weight: 400;
}

.bv-story-actions {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  border: 1px solid var(--bv-line);
  border-top: 0;
}

.bv-story-actions a {
  position: relative;
  min-height: 154px;
  padding: 30px 62px 30px 30px;
  border-right: 1px solid var(--bv-line);
  background: #0b1016;
  color: inherit;
  text-decoration: none;
  transition: background .25s;
}

.bv-story-actions a:last-child {
  border-right: 0;
}

.bv-story-actions a:hover {
  background: #101821;
}

.bv-story-actions span {
  color: var(--bv-blue);
  font-size: 9px;
  letter-spacing: .18em;
}

.bv-story-actions strong {
  display: block;
  margin-top: 36px;
  color: #eef4f7;
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: 21px;
  font-weight: 500;
}

.bv-story-actions b {
  position: absolute;
  right: 30px;
  bottom: 30px;
  color: var(--bv-blue);
  font-weight: 400;
}

.bv-article-hero {
  display: grid;
  grid-template-columns: minmax(0,1.22fr) minmax(350px,.78fr);
  min-height: 580px;
  border: 1px solid var(--bv-line);
  background: #0b0f14;
}

.bv-article-hero__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(55px,7vw,96px) clamp(30px,6vw,82px);
}

.bv-article-hero__copy h1 {
  margin: 0;
  color: var(--bv-paper);
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: clamp(36px,4.6vw,62px);
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: .045em;
}

.bv-article-meta {
  display: flex;
  gap: 25px;
  margin-top: 42px;
  padding-top: 18px;
  border-top: 1px solid var(--bv-line);
  color: #7f8f9a;
  font-size: 10px;
  letter-spacing: .16em;
}

.bv-article-meta span {
  color: var(--bv-blue);
}

.bv-article-hero__visual {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 100%;
  overflow: hidden;
  border-left: 1px solid var(--bv-line);
  background:
    repeating-radial-gradient(circle at 68% 42%,transparent 0 38px,rgba(120,199,255,.055) 39px 40px),
    #0a1016;
}

.bv-article-hero.has-image .bv-article-hero__visual {
  background-image: linear-gradient(180deg,rgba(8,11,15,.05),rgba(8,11,15,.48)),var(--bv-article-image);
  background-position: center;
  background-size: cover;
}

.bv-article-hero__visual::after {
  content: "";
  position: absolute;
  inset: 8%;
  border: 1px solid rgba(184,193,200,.18);
}

.bv-article-hero__visual > span {
  color: rgba(242,245,247,.14);
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(90px,12vw,180px);
}

.bv-article-hero.has-image .bv-article-hero__visual > span {
  display: none;
}

.bv-article-panel {
  padding: clamp(48px,8vw,105px) clamp(28px,8vw,110px) clamp(60px,9vw,120px);
}

.bv-article-panel .entry-content {
  width: min(820px,100%);
  margin: 0 auto;
}

.bv-article-footer {
  width: min(820px,100%);
  margin: 70px auto 0;
  padding-top: 23px;
  border-top: 1px solid var(--bv-line);
}

.bv-article-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  color: #81909b;
  font-size: 11px;
}

.bv-article-categories > span {
  margin-right: 16px;
  color: var(--bv-blue);
  letter-spacing: .15em;
}

.bv-article-categories a {
  color: #bac6cd;
  text-decoration: none;
}

.bv-article-navigation {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  border: 1px solid var(--bv-line);
  border-top: 0;
}

.bv-article-navigation > a,
.bv-article-navigation > span {
  min-height: 180px;
  padding: 30px;
  border-right: 1px solid var(--bv-line);
  background: #0b1016;
  color: inherit;
  text-decoration: none;
}

.bv-article-navigation > a:last-child {
  border-right: 0;
}

.bv-article-navigation > a:hover {
  background: rgba(120,199,255,.055);
}

.bv-article-navigation span {
  color: #748592;
  font-size: 10px;
  letter-spacing: .18em;
}

.bv-article-navigation strong {
  display: block;
  margin-top: 32px;
  color: #e9f0f4;
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: 19px;
  font-weight: 500;
  line-height: 1.65;
}

.bv-related {
  padding: clamp(62px,8vw,100px) clamp(28px,6vw,84px);
  border: 1px solid var(--bv-line);
  border-top: 0;
  background: #0b0f14;
}

.bv-related__heading {
  margin-bottom: 42px;
}

.bv-related__heading .bv-eyebrow {
  margin-bottom: 15px;
}

.bv-related-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  border-top: 1px solid var(--bv-line);
  border-left: 1px solid var(--bv-line);
}

.bv-related-grid a {
  display: flex;
  flex-direction: column;
  min-height: 230px;
  padding: 25px;
  border-right: 1px solid var(--bv-line);
  border-bottom: 1px solid var(--bv-line);
  background: #0d1218;
  color: inherit;
  text-decoration: none;
}

.bv-related-grid a:hover {
  background: rgba(120,199,255,.055);
}

.bv-related-grid a > span {
  color: #748592;
  font-size: 10px;
  letter-spacing: .15em;
}

.bv-related-grid strong {
  margin: 29px 0;
  color: #eaf1f5;
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.7;
}

.bv-related-grid em {
  margin-top: auto;
  color: #aed9f7;
  font-size: 11px;
  font-style: normal;
  letter-spacing: .1em;
}

.bv-note-series-page #main,
.bv-note-series-page .bv-note-single-series {
  padding: 0;
  overflow: hidden;
}

.bv-note-single-series .bv-note-series {
  border: 1px solid var(--bv-line);
  border-top: 0;
}

@media (max-width: 980px) {
  .bv-subhero,
  .bv-article-hero {
    grid-template-columns: 1fr;
  }
  .bv-subhero__visual,
  .bv-article-hero__visual {
    min-height: 330px;
    border-top: 1px solid var(--bv-line);
    border-left: 0;
  }
  .bv-hub-section__heading {
    grid-template-columns: 1fr;
  }
  .bv-story-section__heading,
  .bv-story-origin-note {
    grid-template-columns: 1fr;
  }
  .bv-hub-grid,
  .bv-archive-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .bv-character-index {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .bv-character-index a:nth-child(2) {
    border-right: 0;
  }
  .bv-character-index a:nth-child(-n+2) {
    border-bottom: 1px solid var(--bv-line);
  }
  .bv-profile,
  .bv-profile:nth-of-type(even) {
    grid-template-columns: 1fr;
  }
  .bv-profile:nth-of-type(even) .bv-profile__visual,
  .bv-profile:nth-of-type(even) .bv-profile__body {
    grid-column: auto;
    grid-row: auto;
  }
  .bv-profile__visual,
  .bv-profile:nth-of-type(even) .bv-profile__visual {
    min-height: 520px;
    border-right: 0;
    border-bottom: 1px solid var(--bv-line);
    border-left: 0;
  }
  .bv-related-grid {
    grid-template-columns: 1fr 1fr;
  }
  .bv-related-grid a:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  .bv-interior #main.bv-editorial-main {
    border-inline: 0;
  }
  .bv-subhero__copy {
    padding: 48px 24px 53px;
  }
  .bv-subhero__copy h1 {
    padding-left: 17px;
    font-size: 36px;
  }
  .bv-subhero__copy > p:last-child {
    margin-top: 29px;
    font-size: 14px;
  }
  .bv-subhero__visual,
  .bv-article-hero__visual {
    min-height: 235px;
    padding: 29px;
  }
  .bv-subhero__visual > span {
    font-size: 57px;
  }
  .bv-hub-section {
    padding: 59px 20px 72px;
  }
  .bv-hub-grid,
  .bv-archive-grid,
  .bv-related-grid {
    grid-template-columns: 1fr;
  }
  .bv-hub-card.is-primary,
  .bv-related-grid a:last-child {
    grid-column: auto;
  }
  .bv-hub-card {
    min-height: 285px;
    padding: 24px;
  }
  .bv-character-index {
    grid-template-columns: 1fr;
  }
  .bv-character-index a,
  .bv-character-index a:nth-child(2) {
    min-height: 125px;
    border-right: 0;
    border-bottom: 1px solid var(--bv-line);
  }
  .bv-character-index a:last-child {
    border-bottom: 0;
  }
  .bv-character-index strong {
    margin-top: 27px;
  }
  .bv-profile__visual,
  .bv-profile:nth-of-type(even) .bv-profile__visual {
    min-height: 390px;
  }
  .bv-profile__body {
    padding: 48px 24px 57px;
  }
  .bv-profile__body h2 {
    font-size: 36px;
  }
  .bv-profile__body dl > div {
    grid-template-columns: 62px 1fr;
  }
  .bv-page-panel,
  .bv-article-panel {
    padding: 48px 22px 65px;
  }
  .bv-archive-toolbar {
    padding: 20px;
  }
  .bv-archive-grid {
    gap: 18px;
    padding: 22px;
  }
  .bv-story-jumps,
  .bv-story-actions {
    grid-template-columns: 1fr;
  }
  .bv-story-jumps a,
  .bv-story-jumps a:last-child,
  .bv-story-actions a,
  .bv-story-actions a:last-child {
    min-height: 120px;
    border-right: 0;
    border-bottom: 1px solid var(--bv-line);
  }
  .bv-story-jumps a:last-child,
  .bv-story-actions a:last-child {
    border-bottom: 0;
  }
  .bv-story-jumps strong,
  .bv-story-actions strong {
    margin-top: 25px;
  }
  .bv-story-section {
    padding: 58px 20px 70px;
  }
  .bv-story-section > .bv-archive-toolbar {
    margin-top: 34px;
  }
  .bv-story-grid {
    padding: 24px 0 0;
  }
  .bv-story-empty {
    padding: 38px 24px;
  }
  .bv-story-origin-note {
    padding: 58px 22px 68px;
  }
  .bv-story-actions a {
    padding: 27px 58px 27px 24px;
  }
  .bv-article-hero {
    min-height: auto;
  }
  .bv-article-hero__copy {
    padding: 48px 24px 54px;
  }
  .bv-article-hero__copy h1 {
    font-size: 34px;
  }
  .bv-article-meta {
    flex-direction: column;
    gap: 10px;
  }
  .bv-article-navigation {
    grid-template-columns: 1fr;
  }
  .bv-article-navigation > a,
  .bv-article-navigation > span {
    min-height: 150px;
    border-right: 0;
    border-bottom: 1px solid var(--bv-line);
  }
  .bv-related {
    padding: 58px 21px;
  }
  .bv-editorial-pagination {
    padding: 0 22px 50px;
  }
}

/* ------------------------------------------------------------
   1.9 SHADOW & NEON — compact origin, expanded mainline
------------------------------------------------------------- */
.bv-shadow-neon-page {
  --bv-origin-violet: #a78bf2;
  --bv-origin-violet-soft: #7760ad;
  --bv-origin-gold: #cbb58a;
  --bv-origin-line: #3d354a;
}

.bv-shadow-neon-page #content {
  background:
    radial-gradient(circle at 82% 10%,rgba(132,95,207,.10),transparent 25%),
    linear-gradient(180deg,rgba(79,57,113,.08),transparent 430px),
    #080a0e;
}

.bv-shadow-neon-page #content::before {
  content: "ORIGIN RECORD / SHADOW & NEON";
  color: #a58de1;
}

.bv-origin,
.bv-origin * {
  box-sizing: border-box;
}

.bv-origin {
  color: #edf0f3;
}

.bv-origin a:focus-visible {
  outline: 2px solid var(--bv-origin-violet);
  outline-offset: 4px;
}

.bv-origin-kicker {
  margin: 0;
  color: var(--bv-origin-violet);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .25em;
  line-height: 1.6;
}

.bv-origin-hero {
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(430px,.95fr);
  min-height: 690px;
  overflow: hidden;
  border: 1px solid var(--bv-origin-line);
  background: #0b0d12;
}

.bv-origin-hero__copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(58px,7vw,94px) clamp(34px,6vw,80px);
  background:
    radial-gradient(circle at 90% 20%,rgba(160,126,232,.09),transparent 28%),
    linear-gradient(145deg,#111019,#090c10 72%);
}

.bv-origin-hero__copy::after {
  content: "ORIGIN";
  position: absolute;
  right: -4px;
  bottom: 28px;
  color: rgba(235,227,247,.032);
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(80px,10vw,155px);
  letter-spacing: .05em;
  pointer-events: none;
}

.bv-origin-hero h1 {
  position: relative;
  z-index: 1;
  margin: 35px 0 0;
  color: #f0f1f3;
  font-family: Georgia,"Times New Roman","Noto Serif JP","Yu Mincho",serif;
  font-size: clamp(48px,5.3vw,76px);
  font-weight: 400;
  line-height: 1.06;
  letter-spacing: .055em;
}

.bv-origin-hero h1 > span:first-child {
  display: block;
}

.bv-origin-hero h1 > b {
  display: inline-block;
  margin-right: .14em;
  color: var(--bv-origin-violet);
  font-size: .48em;
  font-weight: 400;
  vertical-align: middle;
}

.bv-origin-hero h1 > span:last-child {
  color: #c9b5f6;
}

.bv-origin-hero__tagline {
  position: relative;
  z-index: 1;
  margin: 30px 0 0;
  color: #e5d7bd;
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: clamp(20px,2vw,27px);
  letter-spacing: .09em;
}

.bv-origin-hero__lead {
  position: relative;
  z-index: 1;
  margin: 26px 0 0;
  color: #a8abb2;
  font-size: 14px;
  line-height: 2.05;
  letter-spacing: .035em;
}

.bv-origin-jumps {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 28px;
  margin-top: 42px;
}

.bv-origin-jumps a {
  padding-bottom: 7px;
  border-bottom: 1px solid #423850;
  color: #b9accc;
  font-size: 9px;
  letter-spacing: .17em;
  text-decoration: none;
}

.bv-origin-jumps a:hover {
  border-color: var(--bv-origin-violet);
  color: #e5dbfa;
}

.bv-origin-hero__visual {
  position: relative;
  min-height: 100%;
  overflow: hidden;
  border-left: 1px solid var(--bv-origin-line);
  background:
    radial-gradient(circle at 56% 44%,rgba(147,111,225,.19),transparent 10%,transparent 29%),
    repeating-radial-gradient(circle at 56% 44%,transparent 0 45px,rgba(160,128,229,.055) 46px 47px),
    linear-gradient(135deg,#16111e,#090b10 70%);
}

.bv-origin-hero.has-image .bv-origin-hero__visual {
  background-image:
    linear-gradient(180deg,rgba(5,6,9,.02),rgba(6,7,11,.68)),
    linear-gradient(90deg,rgba(8,9,13,.30),transparent 45%),
    var(--bv-origin-image);
  background-position: center;
  background-size: cover;
}

.bv-origin-hero__visual::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 51%;
  left: -8%;
  width: 116%;
  height: 1px;
  background: linear-gradient(90deg,transparent,#8c68d1 20%,#c4a8ff 51%,#7e5fc4 80%,transparent);
  box-shadow: 0 0 17px rgba(167,139,242,.64);
  transform: rotate(-4deg);
}

.bv-origin-hero__visual::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 6%;
  border: 1px solid rgba(203,181,138,.24);
  pointer-events: none;
}

.bv-origin-hero__frame {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(8,9,13,.75),transparent 25%,transparent 72%,rgba(8,9,13,.22));
}

.bv-origin-hero__names {
  position: absolute;
  z-index: 3;
  right: 9%;
  bottom: 9%;
  left: 9%;
  display: flex;
  justify-content: space-between;
  color: rgba(231,222,244,.72);
  font-size: 9px;
  letter-spacing: .18em;
}

.bv-origin-hero__monogram {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .18em;
  color: rgba(238,229,248,.09);
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(100px,13vw,200px);
}

.bv-origin-hero.has-image .bv-origin-hero__monogram {
  opacity: .45;
}

.bv-origin-hero__monogram i {
  color: rgba(167,139,242,.55);
  font-size: .35em;
  font-style: normal;
}

.bv-origin-statement {
  display: grid;
  grid-template-columns: minmax(220px,.6fr) minmax(0,1.4fr);
  min-height: 580px;
  border: 1px solid var(--bv-origin-line);
  border-top: 0;
  background: #0d0f14;
  scroll-margin-top: 90px;
}

.bv-origin-statement__number {
  display: grid;
  place-items: center;
  overflow: hidden;
  border-right: 1px solid var(--bv-origin-line);
  background:
    repeating-radial-gradient(circle at 50% 50%,transparent 0 42px,rgba(153,118,218,.045) 43px 44px),
    #0a0c11;
  color: rgba(203,181,138,.14);
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(120px,20vw,265px);
}

.bv-origin-statement__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(56px,8vw,105px);
}

.bv-origin-statement h2,
.bv-origin-section-heading h2,
.bv-origin-bridge h2 {
  margin: 15px 0 0;
  color: #f0f1f3;
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: clamp(33px,4vw,54px);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: .055em;
}

.bv-origin-statement__body > p:not(.bv-origin-kicker):not(.bv-origin-annotation) {
  margin: 33px 0 0;
  color: #adb0b7;
  font-size: 15px;
  line-height: 2.15;
}

.bv-origin-statement__body > p + p:not(.bv-origin-annotation) {
  margin-top: 18px;
}

.bv-origin-annotation {
  margin: 38px 0 0;
  padding: 18px 20px;
  border: 1px solid #37313f;
  border-left: 2px solid var(--bv-origin-violet);
  background: #111019;
  color: #97949d;
  font-size: 11px;
  line-height: 1.9;
}

.bv-origin-annotation b {
  margin-right: 8px;
  color: var(--bv-origin-violet);
  letter-spacing: .14em;
}

.bv-origin-duo,
.bv-origin-stories,
.bv-origin-records {
  padding: clamp(68px,8vw,110px) clamp(27px,6vw,80px);
  border: 1px solid var(--bv-origin-line);
  border-top: 0;
  background: #0a0c11;
  scroll-margin-top: 90px;
}

.bv-origin-section-heading {
  display: grid;
  grid-template-columns: minmax(300px,.9fr) minmax(300px,1.1fr);
  gap: clamp(40px,7vw,100px);
  align-items: end;
  margin-bottom: 54px;
}

.bv-origin-section-heading > p {
  margin: 0;
  color: #93969d;
  font-size: 13px;
  line-height: 2;
}

.bv-origin-duo__grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  border-top: 1px solid var(--bv-origin-line);
  border-left: 1px solid var(--bv-origin-line);
}

.bv-origin-person {
  position: relative;
  min-height: 520px;
  overflow: hidden;
  padding: clamp(38px,5vw,66px);
  border-right: 1px solid var(--bv-origin-line);
  border-bottom: 1px solid var(--bv-origin-line);
  background: #0e1015;
}

.bv-origin-person--shadow {
  background:
    radial-gradient(circle at 80% 22%,rgba(203,181,138,.09),transparent 26%),
    linear-gradient(145deg,#121116,#0b0d11 68%);
}

.bv-origin-person--neon {
  background:
    radial-gradient(circle at 80% 22%,rgba(167,139,242,.15),transparent 26%),
    linear-gradient(145deg,#14111b,#0b0d11 68%);
}

.bv-origin-person__mark {
  position: absolute;
  right: 4%;
  bottom: -9%;
  color: rgba(238,231,245,.045);
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(210px,25vw,345px);
  line-height: 1;
}

.bv-origin-person__meta {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  padding-bottom: 16px;
  border-bottom: 1px solid #3b3543;
  color: #81798a;
  font-size: 9px;
  letter-spacing: .2em;
}

.bv-origin-person--shadow .bv-origin-person__meta b {
  color: var(--bv-origin-gold);
}

.bv-origin-person--neon .bv-origin-person__meta b {
  color: var(--bv-origin-violet);
}

.bv-origin-person h3 {
  position: relative;
  z-index: 1;
  margin: 95px 0 0;
  color: #f1f0f2;
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: clamp(38px,4vw,54px);
  font-weight: 500;
  letter-spacing: .11em;
}

.bv-origin-person__role {
  position: relative;
  z-index: 1;
  margin: 15px 0 0;
  color: #d2c2a4;
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: 16px;
}

.bv-origin-person--neon .bv-origin-person__role {
  color: #c8b5f2;
}

.bv-origin-person > p:last-child {
  position: relative;
  z-index: 1;
  max-width: 430px;
  margin: 28px 0 0;
  color: #a2a5ac;
  font-size: 13px;
  line-height: 2.05;
}

.bv-origin-quote {
  margin: 0;
  padding: clamp(52px,7vw,88px) clamp(30px,8vw,105px);
  border: 1px solid var(--bv-origin-line);
  border-top: 0;
  background:
    linear-gradient(90deg,rgba(203,181,138,.04),rgba(167,139,242,.06)),
    #0c0e13;
  text-align: center;
}

.bv-origin-quote p {
  margin: 0;
  color: #e8e3eb;
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: clamp(23px,3vw,39px);
  line-height: 1.65;
  letter-spacing: .08em;
}

.bv-origin-quote cite {
  display: block;
  margin-top: 28px;
  color: #77717e;
  font-size: 9px;
  font-style: normal;
  letter-spacing: .23em;
}

.bv-origin-bridge {
  display: grid;
  grid-template-columns: minmax(80px,.25fr) minmax(0,1.15fr) minmax(300px,.6fr);
  min-height: 640px;
  border: 1px solid var(--bv-origin-line);
  border-top: 0;
  background:
    radial-gradient(circle at 86% 48%,rgba(120,199,255,.10),transparent 21%),
    linear-gradient(135deg,#0d0e14,#091017 75%);
}

.bv-origin-bridge__line {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 45px 0;
  border-right: 1px solid var(--bv-origin-line);
  color: #77717d;
  font-size: 8px;
  letter-spacing: .18em;
  writing-mode: vertical-rl;
}

.bv-origin-bridge__line i {
  width: 1px;
  flex: 1;
  margin: 24px 0;
  background: linear-gradient(180deg,var(--bv-origin-violet),#78c7ff);
}

.bv-origin-bridge__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(55px,8vw,105px);
}

.bv-origin-bridge__copy > p:not(.bv-origin-kicker) {
  max-width: 620px;
  margin: 34px 0 0;
  color: #a1a7ae;
  font-size: 14px;
  line-height: 2.1;
}

.bv-origin-button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: min(360px,100%);
  min-height: 59px;
  margin-top: 42px;
  padding: 0 22px;
  border: 1px solid #5d6f80;
  color: #d7e7f2;
  font-size: 12px;
  letter-spacing: .1em;
  text-decoration: none;
  transition: border-color .25s,background .25s;
}

.bv-origin-button:hover {
  border-color: var(--bv-blue);
  background: rgba(120,199,255,.06);
}

.bv-origin-button span {
  color: var(--bv-blue);
}

.bv-origin-bridge__titles {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 31px;
  overflow: hidden;
  border-left: 1px solid var(--bv-origin-line);
  color: rgba(210,198,224,.20);
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(40px,5vw,65px);
  line-height: .95;
  letter-spacing: .03em;
  text-align: center;
}

.bv-origin-bridge__titles i {
  color: #7993a7;
  font-size: .45em;
  font-style: normal;
}

.bv-origin-bridge__titles span:last-child {
  color: rgba(143,205,244,.26);
}

.bv-origin-stories {
  background: #0c0f14;
}

.bv-origin-edition + .bv-origin-edition {
  margin-top: 74px;
  padding-top: 70px;
  border-top: 1px solid var(--bv-origin-line);
}

.bv-origin-edition__heading {
  display: grid;
  grid-template-columns: minmax(260px,.75fr) minmax(0,1.25fr);
  gap: 50px;
  align-items: end;
  margin-bottom: 30px;
}

.bv-origin-edition__heading h3 {
  margin: 10px 0 0;
  color: #ececf0;
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: clamp(25px,3vw,38px);
  font-weight: 500;
  letter-spacing: .08em;
}

.bv-origin-edition__heading > p {
  margin: 0;
  color: #8f939a;
  font-size: 12px;
  line-height: 2;
}

.bv-origin-edition--archive .bv-origin-kicker,
.bv-origin-edition--archive .bv-origin-story-card__meta b {
  color: var(--bv-origin-gold);
}

.bv-origin-edition--archive .bv-origin-edition__heading h3 {
  color: #d8cbb4;
}

.bv-origin-story-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 22px;
}

.bv-origin-story-card {
  display: grid;
  grid-template-columns: minmax(150px,.42fr) minmax(0,.58fr);
  min-height: 290px;
  overflow: hidden;
  border: 1px solid var(--bv-origin-line);
  background: #0e1116;
  color: inherit;
  text-decoration: none;
  transition: transform .25s,border-color .25s,background .25s;
}

.bv-origin-story-card:hover {
  transform: translateY(-3px);
  border-color: #69588b;
  background: #11131a;
}

.bv-origin-story-card__visual {
  display: grid;
  place-items: center;
  overflow: hidden;
  border-right: 1px solid var(--bv-origin-line);
  background:
    repeating-radial-gradient(circle at 60% 45%,transparent 0 25px,rgba(167,139,242,.05) 26px 27px),
    #0a0c10;
}

.bv-origin-story-card__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.78) contrast(1.04);
  transition: transform .35s;
}

.bv-origin-story-card:hover .bv-origin-story-card__visual img {
  transform: scale(1.025);
}

.bv-origin-story-card__visual > b {
  color: rgba(219,203,229,.12);
  font-family: Georgia,"Times New Roman",serif;
  font-size: 70px;
  font-weight: 400;
}

.bv-origin-story-card__body {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 25px;
}

.bv-origin-story-card__meta {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  color: #777c84;
  font-size: 8px;
  letter-spacing: .14em;
}

.bv-origin-story-card__meta b {
  color: var(--bv-origin-violet);
}

.bv-origin-story-card__pair {
  align-self: flex-start;
  margin-top: 19px;
  padding: 6px 8px 5px;
  border: 1px solid rgba(167,139,242,.38);
  color: #bda8ed;
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1;
}

.bv-origin-story-card--archive {
  border-color: #453e36;
  background: #0e1014;
}

.bv-origin-story-card--archive:hover {
  border-color: #7d6d50;
  background: #12120f;
}

.bv-origin-story-card--archive .bv-origin-story-card__visual {
  background:
    repeating-radial-gradient(circle at 60% 45%,transparent 0 25px,rgba(203,181,138,.045) 26px 27px),
    #0a0c0f;
}

.bv-origin-story-card--archive .bv-origin-story-card__pair {
  border-color: rgba(203,181,138,.38);
  color: #c9b78f;
}

.bv-origin-story-card__pair + strong {
  margin-top: 14px;
}

.bv-origin-story-card__body > strong {
  margin: 34px 0 14px;
  color: #ececf0;
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: clamp(18px,1.7vw,23px);
  font-weight: 500;
  line-height: 1.65;
}

.bv-origin-story-card__body > small {
  color: #8f939a;
  font-size: 11px;
  line-height: 1.85;
}

.bv-origin-story-card__body > em {
  display: flex;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 19px;
  border-top: 1px solid #302a37;
  color: #bdb4c9;
  font-size: 10px;
  font-style: normal;
  letter-spacing: .12em;
}

.bv-origin-story-card__body > em span {
  color: var(--bv-origin-violet);
}

.bv-origin-story-card--archive .bv-origin-story-card__body > em {
  border-top-color: #393229;
  color: #c3b9a4;
}

.bv-origin-story-card--archive .bv-origin-story-card__body > em span {
  color: var(--bv-origin-gold);
}

.bv-origin-edition-notice {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 34px;
  align-items: center;
  padding: 26px 30px;
  border: 1px solid #3d354a;
  border-top: 0;
  background:
    linear-gradient(90deg,rgba(127,91,193,.10),transparent 45%),
    #0d1015;
}

.bv-origin-edition-notice.is-archive {
  border-color: #453e36;
  background:
    linear-gradient(90deg,rgba(203,181,138,.08),transparent 45%),
    #0d1014;
}

.bv-origin-edition-notice > div > p {
  margin: 0;
  color: #a78bf2;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .2em;
}

.bv-origin-edition-notice.is-archive > div > p {
  color: #cbb58a;
}

.bv-origin-edition-notice > div > strong {
  display: block;
  margin-top: 8px;
  color: #ececf0;
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: 18px;
  font-weight: 500;
}

.bv-origin-edition-notice > div > span {
  display: block;
  margin-top: 7px;
  color: #91969e;
  font-size: 11px;
  line-height: 1.8;
}

.bv-origin-edition-notice nav {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 180px;
}

.bv-origin-edition-notice nav a {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 10px 0;
  border-bottom: 1px solid #332d3b;
  color: #d8d3df;
  font-size: 10px;
  letter-spacing: .08em;
  text-decoration: none;
}

.bv-origin-edition-notice.is-archive nav a {
  border-bottom-color: #393229;
}

.bv-origin-edition-notice nav a:hover {
  color: #fff;
}

.bv-origin-edition-notice nav b {
  color: #a78bf2;
  font-weight: 400;
}

.bv-origin-edition-notice.is-archive nav b {
  color: #cbb58a;
}

.bv-origin-empty {
  display: grid;
  grid-template-columns: minmax(220px,.55fr) minmax(0,1.45fr);
  min-height: 310px;
  border: 1px solid var(--bv-origin-line);
  background: #0e1015;
}

.bv-origin-empty > span {
  display: grid;
  place-items: center;
  border-right: 1px solid var(--bv-origin-line);
  color: rgba(202,185,222,.12);
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(56px,8vw,105px);
}

.bv-origin-empty > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(38px,6vw,72px);
}

.bv-origin-empty h3 {
  margin: 17px 0 0;
  color: #e9e8ec;
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: clamp(24px,3vw,37px);
  font-weight: 500;
}

.bv-origin-empty > div > p:last-child {
  margin: 23px 0 0;
  color: #9699a0;
  font-size: 13px;
  line-height: 2;
}

.bv-origin-records {
  background:
    radial-gradient(circle at 84% 12%,rgba(167,139,242,.07),transparent 23%),
    #0b0d12;
}

.bv-origin-records__content {
  width: min(900px,100%);
  margin: 0 auto;
  color: #b5b8bf;
}

.bv-origin-records__content > *:first-child {
  margin-top: 0 !important;
}

.bv-origin-records__content h2,
.bv-origin-records__content h3 {
  border-color: var(--bv-origin-line) !important;
  color: #ececf0 !important;
}

.bv-origin-records__content h2 {
  border-left-color: var(--bv-origin-violet) !important;
}

.bv-origin-records__content a {
  color: #c7b3f5 !important;
}

.bv-origin-records__content iframe,
.bv-origin-records__content video {
  display: block;
  max-width: 100%;
  border: 1px solid var(--bv-origin-line);
}

.bv-origin-records__content .wp-block-embed__wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
}

.bv-origin-records__content .wp-block-embed__wrapper iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.bv-origin-related {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  border: 1px solid var(--bv-origin-line);
  border-top: 0;
}

.bv-origin-related a {
  display: flex;
  flex-direction: column;
  min-height: 210px;
  padding: 28px;
  border-right: 1px solid var(--bv-origin-line);
  background: #0b0e13;
  color: inherit;
  text-decoration: none;
  transition: background .25s;
}

.bv-origin-related a:last-child {
  border-right: 0;
}

.bv-origin-related a:hover {
  background: rgba(153,118,218,.07);
}

.bv-origin-related span {
  color: #81758f;
  font-size: 8px;
  letter-spacing: .18em;
}

.bv-origin-related strong {
  margin: auto 0;
  color: #e6e5e9;
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: 20px;
  font-weight: 500;
}

.bv-origin-related b {
  align-self: flex-end;
  color: var(--bv-origin-violet);
  font-weight: 400;
}

@media (max-width: 980px) {
  .bv-origin-hero {
    grid-template-columns: 1fr;
  }
  .bv-origin-hero__visual {
    min-height: 490px;
    border-top: 1px solid var(--bv-origin-line);
    border-left: 0;
  }
  .bv-origin-statement {
    grid-template-columns: minmax(170px,.4fr) minmax(0,1.6fr);
  }
  .bv-origin-section-heading {
    grid-template-columns: 1fr;
  }
  .bv-origin-bridge {
    grid-template-columns: 70px minmax(0,1fr);
  }
  .bv-origin-bridge__titles {
    display: none;
  }
  .bv-origin-story-grid {
    grid-template-columns: 1fr;
  }
  .bv-origin-edition__heading {
    grid-template-columns: 1fr;
    gap: 17px;
  }
}

@media (max-width: 680px) {
  .bv-origin-hero {
    min-height: auto;
  }
  .bv-origin-hero__copy {
    padding: 48px 23px 55px;
  }
  .bv-origin-hero h1 {
    margin-top: 25px;
    font-size: 43px;
  }
  .bv-origin-hero__tagline {
    font-size: 19px;
  }
  .bv-origin-hero__lead {
    font-size: 13px;
  }
  .bv-origin-jumps {
    gap: 13px 19px;
    margin-top: 33px;
  }
  .bv-origin-hero__visual {
    min-height: 330px;
  }
  .bv-origin-statement {
    grid-template-columns: 1fr;
  }
  .bv-origin-statement__number {
    min-height: 190px;
    border-right: 0;
    border-bottom: 1px solid var(--bv-origin-line);
    font-size: 130px;
  }
  .bv-origin-statement__body {
    padding: 52px 23px 62px;
  }
  .bv-origin-statement__body > p:not(.bv-origin-kicker):not(.bv-origin-annotation) {
    font-size: 14px;
  }
  .bv-origin-duo,
  .bv-origin-stories,
  .bv-origin-records {
    padding: 58px 20px 68px;
  }
  .bv-origin-section-heading {
    margin-bottom: 38px;
  }
  .bv-origin-duo__grid {
    grid-template-columns: 1fr;
  }
  .bv-origin-person {
    min-height: 430px;
    padding: 34px 25px 42px;
  }
  .bv-origin-person h3 {
    margin-top: 65px;
  }
  .bv-origin-quote {
    padding: 53px 23px;
  }
  .bv-origin-bridge {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .bv-origin-bridge__line {
    display: none;
  }
  .bv-origin-bridge__copy {
    padding: 58px 23px 68px;
  }
  .bv-origin-story-card {
    grid-template-columns: 1fr;
  }
  .bv-origin-story-card__visual {
    aspect-ratio: 16 / 9;
    border-right: 0;
    border-bottom: 1px solid var(--bv-origin-line);
  }
  .bv-origin-story-card__body {
    min-height: 270px;
    padding: 23px;
  }
  .bv-origin-edition + .bv-origin-edition {
    margin-top: 55px;
    padding-top: 52px;
  }
  .bv-origin-edition-notice {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 25px 22px;
  }
  .bv-origin-edition-notice nav {
    min-width: 0;
  }
  .bv-origin-empty {
    grid-template-columns: 1fr;
  }
  .bv-origin-empty > span {
    min-height: 155px;
    border-right: 0;
    border-bottom: 1px solid var(--bv-origin-line);
  }
  .bv-origin-empty > div {
    padding: 42px 23px 50px;
  }
  .bv-origin-related {
    grid-template-columns: 1fr;
  }
  .bv-origin-related a {
    min-height: 165px;
    border-right: 0;
    border-bottom: 1px solid var(--bv-origin-line);
  }
  .bv-origin-related a:last-child {
    border-bottom: 0;
  }
}

/* =========================================================
   WHAT THE CITY LEAVES / MAINLINE RECORD
   ========================================================= */
.bv-hub-card.is-record {
  border-color: #3e5360;
  background:
    radial-gradient(circle at 84% 22%,rgba(181,116,80,.14),transparent 27%),
    radial-gradient(circle at 70% 40%,rgba(120,199,255,.08),transparent 33%),
    linear-gradient(145deg,#101820,#0c1116 72%);
}

.bv-hub-card.is-record .bv-hub-card__meta b,
.bv-hub-card.is-record .bv-hub-card__action b {
  color: #c88a67;
}

.bv-profile__work {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 8px 22px;
  align-items: center;
  margin-top: 28px;
  padding: 18px 20px;
  border: 1px solid #354956;
  background:
    radial-gradient(circle at 87% 28%,rgba(181,116,80,.13),transparent 32%),
    #0c1319;
  color: inherit;
  text-decoration: none;
  transition: border-color .25s,background .25s;
}

.bv-profile__work:hover {
  border-color: #66889d;
  background-color: #101a22;
}

.bv-profile__work span {
  grid-column: 1;
  color: #c88a67;
  font-size: 9px;
  letter-spacing: .18em;
}

.bv-profile__work strong {
  grid-column: 1;
  color: #e6edf1;
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: 16px;
  font-weight: 500;
}

.bv-profile__work b {
  grid-column: 2;
  grid-row: 1 / span 2;
  color: var(--bv-blue);
  font-weight: 400;
}

.bv-mainline-record-page {
  --bv-record-copper: #c28664;
  --bv-record-copper-dark: #704a38;
  --bv-record-line: #30404a;
  background: #080b0f;
}

.bv-mainline-record-page #content {
  background:
    radial-gradient(circle at 79% 4%,rgba(120,199,255,.07),transparent 24%),
    radial-gradient(circle at 17% 31%,rgba(181,116,80,.055),transparent 27%),
    #080b0f;
}

.bv-mainline-record {
  color: var(--bv-paper);
}

.bv-record-hero {
  display: grid;
  grid-template-columns: minmax(0,1.08fr) minmax(370px,.92fr);
  min-height: 660px;
  border: 1px solid var(--bv-record-line);
  background: #0a0f14;
}

.bv-record-hero__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(62px,8vw,112px) clamp(34px,7vw,92px);
}

.bv-record-hero h1 {
  max-width: 720px;
  margin: 27px 0 0;
  color: #eff4f7;
  font-family: Georgia,"Times New Roman","Noto Serif JP",serif;
  font-size: clamp(47px,6vw,86px);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: .015em;
}

.bv-record-hero__subtitle {
  margin: 29px 0 0;
  color: var(--bv-record-copper);
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: clamp(20px,2.1vw,29px);
  letter-spacing: .13em;
}

.bv-record-hero__lead {
  max-width: 680px;
  margin: 36px 0 0;
  color: #aab6be;
  font-size: 15px;
  line-height: 2.05;
}

.bv-record-hero__visual {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 100%;
  padding: clamp(35px,5vw,64px);
  overflow: hidden;
  border-left: 1px solid var(--bv-record-line);
  background:
    linear-gradient(90deg,rgba(8,11,15,.35),transparent 42%),
    repeating-linear-gradient(0deg,transparent 0 53px,rgba(120,199,255,.04) 54px 55px),
    repeating-linear-gradient(90deg,transparent 0 53px,rgba(120,199,255,.04) 54px 55px),
    radial-gradient(circle at 62% 39%,rgba(120,199,255,.19),transparent 12%,transparent 28%),
    linear-gradient(145deg,#121e27,#090d12 72%);
}

.bv-record-hero.has-image .bv-record-hero__visual {
  background-image:
    linear-gradient(180deg,rgba(8,11,15,.05),rgba(8,11,15,.82)),
    linear-gradient(90deg,rgba(8,11,15,.38),transparent 48%),
    var(--bv-record-image);
  background-position: center;
  background-size: cover;
}

.bv-record-hero__visual::before {
  content: "";
  position: absolute;
  inset: 8%;
  border: 1px solid rgba(184,193,200,.19);
}

.bv-record-hero__visual > div {
  position: relative;
  z-index: 2;
}

.bv-record-hero__visual small {
  display: block;
  margin-bottom: 14px;
  color: var(--bv-record-copper);
  font-size: 9px;
  letter-spacing: .28em;
}

.bv-record-hero__visual strong {
  display: block;
  color: rgba(233,241,246,.23);
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(39px,5vw,72px);
  font-weight: 400;
  line-height: .98;
  letter-spacing: .055em;
}

.bv-record-hero__signal {
  position: absolute;
  top: 37%;
  left: 62%;
  width: 15px;
  aspect-ratio: 1;
  border: 3px solid #d4edf9;
  border-radius: 50%;
  background: var(--bv-blue);
  box-shadow:
    0 0 0 18px rgba(120,199,255,.035),
    0 0 0 58px rgba(120,199,255,.025),
    0 0 34px rgba(120,199,255,.72);
}

.bv-record-hero__signal::before,
.bv-record-hero__signal::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  border: 1px solid rgba(120,199,255,.2);
  border-radius: 50%;
  transform: translate(-50%,-50%);
}

.bv-record-hero__signal::before {
  width: 160px;
  height: 160px;
}

.bv-record-hero__signal::after {
  width: 280px;
  height: 280px;
}

.bv-record-index {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  border: 1px solid var(--bv-record-line);
  border-top: 0;
}

.bv-record-index a,
.bv-record-links a {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 9px 20px;
  min-height: 135px;
  padding: 28px 30px;
  border-right: 1px solid var(--bv-record-line);
  background: #0c1116;
  color: inherit;
  text-decoration: none;
  transition: background .25s;
}

.bv-record-index a:last-child,
.bv-record-links a:last-child {
  border-right: 0;
}

.bv-record-index a:hover,
.bv-record-links a:hover {
  background: rgba(120,199,255,.055);
}

.bv-record-index span,
.bv-record-links span {
  grid-column: 1;
  color: #778994;
  font-size: 9px;
  letter-spacing: .18em;
}

.bv-record-index strong,
.bv-record-links strong {
  grid-column: 1;
  align-self: end;
  color: #e5ecef;
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: 18px;
  font-weight: 500;
}

.bv-record-index b,
.bv-record-links b {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  color: var(--bv-blue);
  font-weight: 400;
}

.bv-record-statement {
  display: grid;
  grid-template-columns: minmax(220px,.34fr) minmax(0,1.66fr);
  min-height: 540px;
  border: 1px solid var(--bv-record-line);
  border-top: 0;
  background: #0b1015;
}

.bv-record-statement__number {
  display: grid;
  place-items: center;
  border-right: 1px solid var(--bv-record-line);
  color: rgba(194,134,100,.13);
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(110px,15vw,220px);
  line-height: 1;
}

.bv-record-statement__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(58px,8vw,105px);
}

.bv-record-statement h2 {
  margin: 23px 0 0;
  color: #edf3f6;
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: clamp(29px,4vw,51px);
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: .045em;
}

.bv-record-statement__body > p:not(.bv-eyebrow) {
  max-width: 780px;
  margin: 28px 0 0;
  color: #9ba8b0;
  line-height: 2.05;
}

.bv-record-statement em {
  color: #c7dbe7;
  font-style: normal;
}

.bv-record-episodes {
  padding: clamp(72px,9vw,125px) clamp(28px,6vw,84px);
  border: 1px solid var(--bv-record-line);
  border-top: 0;
  background:
    radial-gradient(circle at 88% 10%,rgba(181,116,80,.055),transparent 24%),
    #090e13;
  scroll-margin-top: 90px;
}

.bv-record-section-heading {
  display: grid;
  grid-template-columns: minmax(260px,.8fr) minmax(0,1.2fr);
  gap: clamp(40px,8vw,105px);
  align-items: end;
  margin-bottom: 49px;
}

.bv-record-section-heading h2 {
  margin: 18px 0 0;
  color: #eef4f7;
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: clamp(35px,4vw,53px);
  font-weight: 500;
}

.bv-record-section-heading > p {
  margin: 0;
  color: #929fa8;
  line-height: 2;
}

.bv-record-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 25px;
  padding: 15px 0;
  border-top: 1px solid var(--bv-record-line);
  border-bottom: 1px solid var(--bv-record-line);
  color: #71828d;
  font-size: 9px;
  letter-spacing: .18em;
}

.bv-record-toolbar b {
  color: var(--bv-record-copper);
  font-weight: 600;
}

.bv-record-grid {
  border-left: 1px solid var(--bv-record-line);
}

.bv-record-card {
  display: grid;
  grid-template-columns: minmax(230px,.38fr) minmax(0,1.62fr);
  min-height: 300px;
  border-right: 1px solid var(--bv-record-line);
  border-bottom: 1px solid var(--bv-record-line);
  background: #0d1319;
  color: inherit;
  text-decoration: none;
  transition: background .25s,border-color .25s;
}

.bv-record-card:hover {
  border-color: #536f80;
  background: #111a22;
}

.bv-record-card__visual {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 300px;
  overflow: hidden;
  border-right: 1px solid var(--bv-record-line);
  background:
    repeating-linear-gradient(0deg,transparent 0 37px,rgba(120,199,255,.035) 38px 39px),
    linear-gradient(145deg,#14212b,#0a0f14);
}

.bv-record-card__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.78) contrast(1.05);
  transition: transform .35s,filter .35s;
}

.bv-record-card:hover .bv-record-card__visual img {
  transform: scale(1.025);
  filter: saturate(.9) contrast(1.06);
}

.bv-record-card__visual > b {
  color: rgba(120,199,255,.12);
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(72px,10vw,132px);
  font-weight: 400;
}

.bv-record-card__body {
  display: flex;
  flex-direction: column;
  padding: clamp(28px,4vw,48px);
}

.bv-record-card__meta {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  color: #71818c;
  font-size: 9px;
  letter-spacing: .17em;
}

.bv-record-card__meta em {
  color: var(--bv-record-copper);
  font-style: normal;
}

.bv-record-card__body > strong {
  margin-top: 47px;
  color: #edf3f6;
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: clamp(21px,2.4vw,31px);
  font-weight: 500;
  line-height: 1.55;
}

.bv-record-card__body > small {
  max-width: 760px;
  margin-top: 17px;
  color: #919ea7;
  font-size: 13px;
  line-height: 1.9;
}

.bv-record-card__action {
  display: flex;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 25px;
  color: #bdd3e1;
  font-size: 10px;
  letter-spacing: .14em;
}

.bv-record-card__action b {
  color: var(--bv-blue);
  font-weight: 400;
}

.bv-record-empty {
  display: grid;
  grid-template-columns: minmax(220px,.4fr) minmax(0,1.6fr);
  min-height: 320px;
  border: 1px solid var(--bv-record-line);
  border-top: 0;
  background: #0c1218;
}

.bv-record-empty > span {
  display: grid;
  place-items: center;
  border-right: 1px solid var(--bv-record-line);
  color: rgba(120,199,255,.11);
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(78px,11vw,145px);
}

.bv-record-empty > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(38px,6vw,72px);
}

.bv-record-empty h3 {
  margin: 18px 0 0;
  color: #e8eff3;
  font-family: "Noto Serif JP","Yu Mincho",serif;
  font-size: clamp(24px,3vw,37px);
  font-weight: 500;
}

.bv-record-empty p:last-child {
  margin: 20px 0 0;
  color: #929fa8;
  line-height: 2;
}

.bv-record-links {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  border: 1px solid var(--bv-record-line);
  border-top: 0;
}

@media (max-width: 980px) {
  .bv-record-hero {
    grid-template-columns: 1fr;
  }

  .bv-record-hero__visual {
    min-height: 470px;
    border-top: 1px solid var(--bv-record-line);
    border-left: 0;
  }

  .bv-record-statement {
    grid-template-columns: minmax(180px,.32fr) minmax(0,1.68fr);
  }

  .bv-record-section-heading {
    grid-template-columns: 1fr;
    gap: 25px;
  }

  .bv-record-card {
    grid-template-columns: minmax(210px,.42fr) minmax(0,1.58fr);
  }
}

@media (max-width: 680px) {
  .bv-profile__work {
    grid-template-columns: minmax(0,1fr) auto;
  }

  .bv-record-hero {
    min-height: auto;
  }

  .bv-record-hero__copy {
    padding: 52px 23px 61px;
  }

  .bv-record-hero h1 {
    font-size: 45px;
  }

  .bv-record-hero__lead {
    font-size: 13px;
  }

  .bv-record-hero__visual {
    min-height: 330px;
    padding: 32px 23px;
  }

  .bv-record-hero__signal {
    left: 64%;
  }

  .bv-record-hero__signal::after {
    width: 210px;
    height: 210px;
  }

  .bv-record-index {
    grid-template-columns: 1fr;
  }

  .bv-record-index a {
    min-height: 105px;
    border-right: 0;
    border-bottom: 1px solid var(--bv-record-line);
  }

  .bv-record-index a:last-child {
    border-bottom: 0;
  }

  .bv-record-statement {
    grid-template-columns: 1fr;
  }

  .bv-record-statement__number {
    min-height: 180px;
    border-right: 0;
    border-bottom: 1px solid var(--bv-record-line);
  }

  .bv-record-statement__body {
    padding: 53px 23px 63px;
  }

  .bv-record-statement h2 {
    font-size: 29px;
  }

  .bv-record-statement__body > p:not(.bv-eyebrow) {
    font-size: 13px;
  }

  .bv-record-episodes {
    padding: 61px 20px 72px;
  }

  .bv-record-toolbar {
    flex-direction: column;
    gap: 8px;
  }

  .bv-record-card {
    grid-template-columns: 1fr;
  }

  .bv-record-card__visual {
    min-height: 0;
    aspect-ratio: 16 / 9;
    border-right: 0;
    border-bottom: 1px solid var(--bv-record-line);
  }

  .bv-record-card__body {
    min-height: 300px;
    padding: 27px 23px;
  }

  .bv-record-card__body > strong {
    margin-top: 35px;
  }

  .bv-record-empty {
    grid-template-columns: 1fr;
  }

  .bv-record-empty > span {
    min-height: 160px;
    border-right: 0;
    border-bottom: 1px solid var(--bv-record-line);
  }

  .bv-record-empty > div {
    padding: 42px 23px 51px;
  }

  .bv-record-links {
    grid-template-columns: 1fr;
  }

  .bv-record-links a {
    border-right: 0;
    border-bottom: 1px solid var(--bv-record-line);
  }

  .bv-record-links a:last-child {
    border-bottom: 0;
  }
}
