.brand-hero {
  background:rgb(253,250,243);border-bottom:1px solid var(--line);
  padding:2.75rem 0 2.5rem;
}
.brand-hero-inner {
  display:flex;gap:1.75rem;align-items:flex-start;flex-wrap:wrap;
}
.brand-hero-logo {
  width:96px;height:96px;border-radius:18px;background:#fff;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line);flex:0 0 auto;overflow:hidden;
}
.brand-hero-logo--dark { background:var(--ink);border-color:var(--ink); }
.brand-hero-logo img { max-width:80px;max-height:80px;object-fit:contain; }
.brand-hero-logo-fallback {
  font-size:2.4rem;color:var(--g);font-weight:800;
}
.brand-hero-body { flex:1 1 320px;min-width:0; }
.brand-hero-eyebrow {
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;
  color:var(--g);font-weight:800;margin-bottom:.6rem;
}
.brand-hero-eyebrow::before {
  content:"";width:7px;height:7px;border-radius:50%;
  background:var(--y-deep);flex:0 0 auto;
}
.brand-hero h1 {
  font-weight:800;font-size:clamp(1.8rem,3.6vw,2.6rem);
  margin:0 0 .35rem;color:var(--ink);letter-spacing:.01em;
}
.brand-hero-en { font-size:.85rem;color:#8a948c;letter-spacing:.05em;margin:0 0 .25rem; }
.brand-hero-aliases { font-size:.78rem;color:#8a948c;margin:0 0 .85rem; }
.brand-hero-tagline { font-size:1.02rem;color:var(--ink);line-height:1.7;margin:0 0 1rem;max-width:34em; }
.brand-hero-meta {
  display:flex;flex-wrap:wrap;gap:.55rem .9rem;
  font-size:.78rem;color:var(--mute);margin-bottom:.85rem;
}
.brand-hero-meta span { display:inline-flex;align-items:center;gap:.3rem; }
.brand-hero-actions { display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.4rem; }
.brand-hero-actions a {
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.5rem .95rem;border-radius:999px;
  font-size:.82rem;font-weight:700;text-decoration:none;
  border:1px solid var(--line);color:var(--ink);background:#fff;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.brand-hero-actions a:hover { border-color:#cdddcf;background:var(--soft);color:var(--g); }
.brand-hero-actions a.primary { background:var(--g);color:#fff;border-color:var(--g); }
.brand-hero-actions a.primary:hover { background:var(--g-dark);color:#fff;border-color:var(--g-dark); }
.brand-hero-actions a.shaft { background:var(--y);color:#7a5a00;border-color:var(--y); }
.brand-hero-actions a.shaft:hover { background:var(--y-deep);color:#6b4e00;border-color:var(--y-deep); }
.brand-hero-actions a.shop { background:#b8472e;color:#fff;border-color:#b8472e; }
.brand-hero-actions a.shop:hover { background:#9c3a24;color:#fff;border-color:#9c3a24; }

.brand-parent-badge {
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.3rem .7rem;border-radius:999px;
  background:#fff;border:1px solid var(--line);
  font-size:.75rem;color:var(--ink);text-decoration:none;margin-bottom:.7rem;
}
.brand-parent-badge:hover { border-color:#cdddcf; }
.brand-parent-badge strong { color:var(--g); }

.brand-character-badges {
  display:flex;flex-wrap:wrap;gap:.45rem;margin:1.75rem 0 .8rem;
}
.brand-character-badge {
  display:inline-block;
  background:var(--g);color:#fff;
  font-size:.85rem;font-weight:600;letter-spacing:.04em;
  padding:.45rem 1.05rem;border-radius:999px;
}

.brand-overview-grid {
  display:grid;gap:18px;margin:1.25rem 0 0;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  align-items:stretch;
}
.brand-overview-card {
  background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:1.1rem 1.2rem 1.2rem;
  display:flex;flex-direction:column;
  box-shadow:0 14px 26px -26px rgba(20,40,28,.5);
}
.brand-overview-head {
  display:flex;flex-direction:column;margin-bottom:.85rem;
}
.brand-overview-eyebrow {
  font-size:.88rem;letter-spacing:.14em;color:var(--mute);text-transform:uppercase;
}
.brand-overview-verdict {
  font-size:1.05rem;color:var(--ink);font-weight:700;margin-top:.3rem;
}
.brand-overview-donut-wrap {
  display:flex;align-items:center;gap:1.4rem;flex:1 1 auto;
}
.brand-overview-donut {
  width:170px;height:170px;flex:0 0 auto;
}
.brand-overview-legend {
  list-style:none;padding:0;margin:0;display:grid;gap:.55rem;flex:1 1 auto;
  font-size:.95rem;min-width:0;
}
.brand-overview-legend li {
  display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:.6rem;align-items:baseline;
}
.legend-dot {
  width:11px;height:11px;border-radius:2px;display:inline-block;
}
.legend-label { color:var(--ink);min-width:0; }
.legend-count {
  font-feature-settings:"tnum";color:var(--ink);font-weight:600;
  text-align:right;white-space:nowrap;
}
.legend-count strong { font-weight:700; }
.legend-count small { color:#8a948c;font-size:.85rem;font-weight:400;margin-left:.3rem; }
@media (max-width: 600px) {
  .brand-overview-donut-wrap {
    flex-direction:column;align-items:stretch;gap:1rem;
  }
  .brand-overview-donut {
    width:160px;height:160px;align-self:center;
  }
  .brand-overview-legend { font-size:.9rem; }
}

.brand-trend-line {
  width:100%;height:auto;aspect-ratio:5/2;display:block;
}
.brand-trend-axis {
  position:relative;height:20px;font-size:.82rem;color:var(--mute);margin-top:.4rem;
}
.brand-trend-axis-label {
  position:absolute;transform:translateX(-50%);
  font-feature-settings:"tnum";
}

.brand-section { padding:2.5rem 0 1.25rem; }
.brand-section h2 {
  position:relative;
  font-weight:800;font-size:1.3rem;
  color:var(--ink);margin:0 0 1.1rem;
  padding-bottom:.55rem;border-bottom:1px solid var(--line);
}
.brand-section > h2::after {
  content:"";position:absolute;left:0;bottom:-1px;
  width:2.6em;height:3px;border-radius:3px;
  background:linear-gradient(90deg,var(--g) 0 60%,var(--y-deep) 60% 100%);
}
.brand-prose {
  color:var(--ink);line-height:1.85;font-size:.95rem;max-width:46em;
}
.brand-prose h2,.brand-prose h3 { font-weight:800;color:var(--ink);margin-top:1.4em;border-bottom:none; }
.brand-prose p { margin:0 0 1em; }

/* スマホ Read more 折りたたみ（PC では常に展開） */
.read-more-label { display:none; }
.rm-collapsed { display:inline; }
.rm-expanded { display:none; }
.read-more-toggle:checked ~ .read-more-label .rm-collapsed { display:none; }
.read-more-toggle:checked ~ .read-more-label .rm-expanded { display:inline; }
@media (max-width: 768px) {
  .read-more-content {
    max-height:11em;
    overflow:hidden;
    position:relative;
    transition:max-height .4s ease;
  }
  .read-more-content::after {
    content:"";
    position:absolute;left:0;right:0;bottom:0;height:3.5em;
    background:linear-gradient(to bottom, rgba(237,234,226,0), rgba(237,234,226,1) 90%);
    pointer-events:none;
  }
  .read-more-toggle:checked ~ .read-more-content {
    max-height:9999px;
  }
  .read-more-toggle:checked ~ .read-more-content::after { display:none; }
  .read-more-label {
    display:inline-block;
    margin-top:.7rem;
    padding:.4rem 1.1rem;
    font-size:.82rem;font-weight:700;color:var(--g);
    background:#fff;border:1px solid var(--line);border-radius:999px;
    cursor:pointer;
  }
  .read-more-label:hover { background:var(--soft);border-color:#cdddcf; }
}

.brand-tech-list,.brand-pros-list { display:flex;flex-wrap:wrap;gap:.5rem; }
.brand-tech-chip {
  background:#fff;border:1px solid var(--line);border-radius:8px;
  padding:.4rem .85rem;font-size:.85rem;color:var(--ink);
}
.brand-pros-chip {
  background:var(--g);color:#fff;border-radius:999px;
  padding:.3rem .85rem;font-size:.8rem;
}

.brand-types-grid {
  display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:14px;
}
.brand-type-card {
  background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:1rem 1.05rem 1.05rem;text-decoration:none;color:var(--ink);
  display:flex;flex-direction:column;gap:.5rem;
  box-shadow:0 14px 26px -26px rgba(20,40,28,.5);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.brand-type-card:hover {
  transform:translateY(-3px);border-color:#cdddcf;
  box-shadow:0 18px 30px -24px rgba(20,40,28,.4);color:var(--ink);
}
.brand-type-card-media {
  background:var(--soft);border-radius:10px;
  aspect-ratio:4 / 3;display:flex;align-items:center;justify-content:center;
  overflow:hidden;margin-bottom:.2rem;
}
.brand-type-card-media img { max-width:90%;max-height:90%;object-fit:contain; }
.brand-type-card-placeholder { color:#b4c2b6;font-size:1.4rem; }
.brand-type-card-placeholder svg { width:30px;height:30px; }
.brand-type-card-eyebrow {
  font-size:.7rem;letter-spacing:.18em;color:var(--mute);text-transform:uppercase;
  display:flex;align-items:baseline;gap:.5rem;
}
.brand-type-card-count {
  font-size:.65rem;color:var(--g);font-weight:700;letter-spacing:0;text-transform:none;
  background:var(--soft);padding:.1rem .4rem;border-radius:999px;
}
.brand-type-card-series { font-weight:700;font-size:1.02rem;line-height:1.35; }
.brand-type-card-series-kana {
  font-size:.78rem;color:#8a948c;letter-spacing:.04em;line-height:1.3;
  margin-top:.15rem;
}
.brand-type-card-meta {
  font-size:.75rem;color:var(--mute);
  display:flex;justify-content:space-between;align-items:baseline;gap:.7rem;
  margin-top:auto;padding-top:.55rem;border-top:1px dashed var(--line);
}
.brand-type-card-more {
  color:var(--g);text-decoration:none;font-weight:700;
}
.brand-type-card-more:hover { text-decoration:underline; }
.brand-type-card-empty {
  background:var(--soft);border:1px dashed var(--line);border-radius:14px;
  padding:1.1rem 1.15rem;color:#8a948c;font-size:.85rem;
  display:flex;align-items:center;justify-content:center;text-align:center;
}
.brand-type-card--sub .brand-type-card-media {
  position:relative;
}
.brand-type-card-sub-badge {
  position:absolute;top:.45rem;left:.45rem;
  background:rgba(47,143,91,0.92);color:#fff;
  padding:.18rem .55rem;border-radius:999px;
  font-size:.65rem;letter-spacing:.04em;font-weight:600;
  backdrop-filter:saturate(150%) blur(4px);
}
.brand-type-card--sub .brand-type-card-more {
  color:var(--g);font-weight:700;
}

/* ── シャフト年表（クラブ年表と同じ UI） ── */
.bt-timeline {
  position:relative;
  padding:0 0 0 100px;
}
.bt-timeline::before {
  content:"";
  position:absolute;left:88px;top:6px;bottom:6px;
  width:1px;background:var(--line);
}
.bt-timeline-row {
  position:relative;display:flex;align-items:flex-start;gap:1.2rem;
  padding:1.2rem 0;
}
.bt-timeline-year {
  position:absolute;left:-100px;top:1.2rem;
  width:84px;text-align:right;
  font-weight:800;font-variant-numeric:tabular-nums;
  font-size:1.35rem;color:var(--ink);
  line-height:1;
}
.bt-timeline-year-suffix {
  font-size:.72rem;color:#8a948c;font-weight:600;
  margin-left:.1rem;
}
.bt-timeline-row::before {
  content:"";
  position:absolute;left:-15px;top:1.4rem;
  width:11px;height:11px;border-radius:50%;
  background:var(--y-deep);border:2px solid #fff;
  box-shadow:0 0 0 1px var(--line);
}
.bt-timeline-cards {
  display:flex;flex-wrap:wrap;gap:.8rem;flex:1 1 auto;
}
.bt-series-card {
  background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:.7rem .85rem .8rem;text-decoration:none;color:var(--ink);
  display:flex;gap:.75rem;align-items:flex-start;
  width:300px;max-width:100%;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.bt-series-card:hover {
  transform:translateY(-2px);border-color:#cdddcf;
  box-shadow:0 14px 26px -20px rgba(20,40,28,.45);color:var(--ink);
}
.bt-series-media {
  background:var(--soft);border-radius:8px;
  width:78px;height:60px;flex:0 0 78px;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.bt-series-media img { max-width:90%;max-height:90%;object-fit:contain; }
.bt-series-placeholder { color:#b4c2b6; }
.bt-series-placeholder svg { width:24px;height:24px; }
.bt-series-body {
  flex:1 1 auto;min-width:0;
  display:flex;flex-direction:column;gap:.18rem;
}
.bt-series-name {
  font-weight:700;font-size:.95rem;line-height:1.3;color:var(--ink);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.bt-series-name-kana {
  display:block;
  font-size:.72rem;color:#8a948c;letter-spacing:.04em;line-height:1.25;
  margin-top:.1rem;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.bt-series-meta {
  font-size:.7rem;color:var(--mute);
  display:flex;gap:.6rem;align-items:baseline;flex-wrap:wrap;
}
.bt-series-meta-range { color:#8a948c; }
.bt-series-models {
  list-style:none;padding:0;margin:.25rem 0 0;
  display:flex;flex-direction:column;gap:.1rem;
}
.bt-series-models li {
  font-size:.72rem;color:#4b554d;line-height:1.3;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  position:relative;padding-left:.65rem;
}
.bt-series-models li::before {
  content:"";position:absolute;left:0;top:.55em;
  width:3px;height:3px;border-radius:50%;background:#cdddcf;
}
.bt-series-models-more { color:#8a948c;font-style:normal; }
@media (max-width: 640px) {
  .bt-timeline { padding-left:60px; }
  .bt-timeline::before { left:48px; }
  .bt-timeline-year { left:-60px;width:44px;font-size:1.05rem; }
  .bt-timeline-row::before { left:-15px;width:9px;height:9px; }
  .bt-series-card { width:100%; }
}

.brand-faq dt {
  font-weight:700;color:var(--ink);font-size:1rem;margin-top:1.1rem;
  display:flex;gap:.45rem;
}
.brand-faq dt::before { content:"Q."; color:var(--g);font-weight:800; }
.brand-faq dd { margin:.45rem 0 0 1.4rem;color:var(--ink);font-size:.92rem;line-height:1.75;
  display:flex;gap:.45rem;
}
.brand-faq dd::before { content:"A."; color:#8a948c;font-weight:800;flex:0 0 auto; }

.brand-related-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px; }
.brand-related-card {
  background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:.85rem 1rem;text-decoration:none;color:var(--ink);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.brand-related-card:hover {
  transform:translateY(-2px);border-color:#cdddcf;color:var(--ink);
  box-shadow:0 14px 26px -22px rgba(20,40,28,.4);
}
.brand-related-name { font-weight:700;font-size:.95rem;margin-bottom:.25rem; }
.brand-related-tag { font-size:.75rem;color:var(--mute);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden; }

.brand-cta-row {
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:1rem;
}
.brand-cta {
  background:var(--g);color:#fff;border-radius:14px;
  padding:1.4rem 1.5rem;text-decoration:none;
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
  transition:transform .18s ease,background .18s ease;
}
.brand-cta:hover { transform:translateY(-2px);background:var(--g-dark);color:#fff; }
.brand-cta-title { font-weight:800;font-size:1.05rem;margin-bottom:.25rem; }
.brand-cta-sub { font-size:.78rem;color:#cfe7d8; }
.brand-cta-arrow { font-size:1.2rem;flex:0 0 auto;color:var(--y); }

.brand-todo {
  background:#fff8e1;border:1px dashed var(--y-deep);border-radius:10px;
  padding:.7rem 1rem;color:#7a5a00;font-size:.82rem;
}

.brand-charts {
  display:grid;grid-template-columns:1fr;gap:14px;
}
@media (min-width: 768px) {
  .brand-charts {
    grid-template-columns:1fr 1fr;
  }
}
.brand-chart-card {
  background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:1rem 1.1rem 1.1rem;display:flex;flex-direction:column;gap:.5rem;
  box-shadow:0 14px 26px -26px rgba(20,40,28,.5);
}
.brand-chart-card--wide {
  grid-column:1 / -1;
}
.brand-pricecmp {
  display:flex;flex-direction:column;gap:.55rem;margin-top:.5rem;
}
.brand-pricecmp-axis-head {
  display:grid;grid-template-columns:140px 1fr 200px;gap:.6rem;align-items:center;
  font-size:.85rem;color:var(--mute);letter-spacing:.04em;
  margin-bottom:.35rem;
}
.brand-pricecmp-axis-track {
  grid-column:2;position:relative;height:1.2em;
}
.brand-pricecmp-axis-end {
  position:absolute;top:0;white-space:nowrap;
}
.brand-pricecmp-axis-end--lower { left:0; }
.brand-pricecmp-axis-end--center { left:50%;transform:translateX(-50%); }
.brand-pricecmp-axis-end--higher { right:0; }
.brand-pricecmp-axis-end .axis-text-compact { display:none; }
.brand-pricecmp-row {
  display:grid;grid-template-columns:140px 1fr 200px;gap:.6rem;align-items:center;
}
.brand-pricecmp-type {
  font-size:.95rem;color:var(--ink);
}
.brand-pricecmp-track {
  position:relative;height:18px;
  background:linear-gradient(to right,var(--soft) 49.6%,var(--line) 49.6%,var(--line) 50.4%,var(--soft) 50.4%);
  border-radius:5px;
}
.brand-pricecmp-zero {
  position:absolute;left:50%;top:-2px;bottom:-2px;width:2px;background:var(--ink);
  transform:translateX(-50%);
}
.brand-pricecmp-bar {
  position:absolute;top:0;bottom:0;border-radius:3px;
}
.brand-pricecmp-bar--higher { background:var(--g); }
.brand-pricecmp-bar--lower  { background:var(--y-deep); }
/* スケール超過：軸の端でクリップしていることを示すギザギザ */
.brand-pricecmp-bar--overflow.brand-pricecmp-bar--higher {
  -webkit-mask: linear-gradient(135deg, #000 calc(100% - 6px), transparent 0) right/100% 100% no-repeat;
          mask: linear-gradient(135deg, #000 calc(100% - 6px), transparent 0) right/100% 100% no-repeat;
}
.brand-pricecmp-bar--overflow.brand-pricecmp-bar--lower {
  -webkit-mask: linear-gradient(-135deg, #000 calc(100% - 6px), transparent 0) left/100% 100% no-repeat;
          mask: linear-gradient(-135deg, #000 calc(100% - 6px), transparent 0) left/100% 100% no-repeat;
}
.brand-pricecmp-delta {
  position:absolute;top:50%;transform:translateY(-50%);
  font-size:.9rem;font-feature-settings:"tnum";white-space:nowrap;
  color:var(--ink);font-weight:700;
}
.brand-pricecmp-delta--higher { color:var(--g); }
.brand-pricecmp-delta--lower { color:var(--y-deep); }
.brand-pricecmp-delta--inside { color:#fff; }
.brand-pricecmp-values {
  font-size:.95rem;font-feature-settings:"tnum";color:var(--ink);
  text-align:right;
}
.brand-pricecmp-values small { color:#8a948c;font-size:.82rem; }
@media (max-width: 640px) {
  .brand-pricecmp-axis-head,
  .brand-pricecmp-row {
    grid-template-columns:96px 1fr 110px;gap:.4rem;
  }
  .brand-pricecmp-type { font-size:.7rem; }
  .brand-pricecmp-delta { font-size:.62rem; }
  .brand-pricecmp-values { font-size:.66rem; }
  .brand-pricecmp-values small { display:block;font-size:.6rem; }
  .brand-pricecmp-axis-end { font-size:.7rem; }
  .brand-pricecmp-axis-end--center { display:none; }
  .brand-pricecmp-axis-end .axis-text-full { display:none; }
  .brand-pricecmp-axis-end .axis-text-compact { display:inline; }
}
.brand-chart-head h3 {
  font-size:1.15rem;font-weight:800;color:var(--ink);margin:0 0 .3rem;
}
.brand-chart-verdict {
  font-size:1rem;color:var(--g);font-weight:700;margin:.2rem 0 .35rem;
  line-height:1.5;
}
.brand-chart-hint {
  font-size:.88rem;color:var(--mute);margin:0 0 .4rem;line-height:1.6;
}
.brand-chart-hint--footnote {
  margin:.8rem 0 0;font-size:.8rem;color:#8a948c;
}
.brand-chart-row {
  display:flex;justify-content:space-between;align-items:baseline;
  gap:.5rem;font-size:.95rem;
}
.brand-chart-row-name {
  font-size:.88rem;letter-spacing:.04em;flex:0 0 auto;
}
.brand-chart-row--brand .brand-chart-row-name {
  color:var(--g);font-weight:700;
}
.brand-chart-row--market .brand-chart-row-name {
  color:var(--mute);
}
.brand-chart-row-value {
  color:var(--ink);text-align:right;font-feature-settings:"tnum";
}
.brand-chart-row-value small {
  color:#8a948c;font-size:.85rem;margin-left:.25rem;
}
.brand-chart-svg {
  width:100%;height:auto;aspect-ratio:5/2;display:block;margin:.1rem 0;
}
.brand-chart-axis {
  display:flex;justify-content:space-between;align-items:center;
  font-size:.85rem;color:var(--mute);letter-spacing:.04em;margin-top:.3rem;
}
.brand-chart-axis-mid {
  text-transform:uppercase;font-weight:600;color:var(--mute);
}
/* ── 調子（キックポイント）構成比バー ── */
.brand-kick-dist { display:flex;flex-direction:column;gap:.5rem;margin:.4rem 0 .2rem; }
.brand-kick-row { display:flex;align-items:center;gap:.6rem; }
.brand-kick-label {
  flex:0 0 2.4em;text-align:right;font-size:.85rem;font-weight:600;color:#1F2A24;
}
.brand-kick-bars { flex:1 1 auto;display:flex;flex-direction:column;gap:2px;min-width:0; }
.brand-kick-bar { height:9px;border-radius:3px;min-width:1px;transition:width .3s; }
.brand-kick-bar--brand { background:#2F8F5B; }
.brand-kick-bar--market { background:#c4d0c6; }
.brand-kick-pct { flex:0 0 2.6em;font-size:.8rem;color:var(--mute);text-align:right; }
.brand-kick-swatch {
  display:inline-block;width:.7em;height:.7em;border-radius:2px;margin-right:.35em;vertical-align:baseline;
}
.brand-kick-swatch--brand { background:#2F8F5B; }
.brand-kick-swatch--market { background:#c4d0c6; }

/* つかまり × 弾道 の散布図カード（Tour AD ポジショニングマップ風） */
.brand-scatter-wrap {
  position:relative;width:100%;aspect-ratio:1/1;
  margin-top:.35rem;
}
/* 散布図 (左) + 縦並びサブカード (右) のレイアウト */
.brand-charts-split {
  display:grid;grid-template-columns:1fr;gap:14px;align-items:stretch;
}
@media (min-width: 768px) {
  .brand-charts-split { grid-template-columns:1fr 1fr; }
}
.brand-charts-stack {
  display:flex;flex-direction:column;gap:14px;
}
.brand-charts-stack > .brand-chart-card {
  flex:1;min-height:0;
}
.brand-charts--full {
  display:grid;grid-template-columns:1fr;gap:14px;margin-top:14px;
}
@media (min-width: 768px) {
  .brand-charts--full { grid-template-columns:1fr 1fr; }
}
.brand-scatter-legend {
  display:flex;gap:1rem;align-items:center;
  font-size:.78rem;color:var(--mute);margin-top:.4rem;
}
.brand-scatter-legend-swatch {
  display:inline-block;vertical-align:middle;margin-right:.35em;
}
.brand-scatter-legend-swatch--brand {
  width:14px;height:14px;background:#2F8F5B;border-radius:3px;
}
.brand-scatter-legend-swatch--market {
  width:8px;height:8px;background:rgba(11,31,58,0.35);border-radius:50%;
}
