/* ══════════════════════════════════════
   BUSINESS MODEL TAB
══════════════════════════════════════ */
#tab-business, #tab-bizplan {
  flex-direction:column;
  height: calc(100vh - 56px);
  overflow-y:auto;
}

/* Hero */
.biz-hero {
  background: var(--navy);
  padding: 0 72px;
  display:flex; align-items:center; gap:64px;
  flex-shrink:0;
}
.heatmap-anim {
  position:relative;
  height:338px; width:525px;
}
.hm-slide {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:contain; border-radius:12px;
  opacity:0; z-index:1; transition:opacity 1s ease;
}
.bh-text h1 { font-size:38px; font-weight:800; line-height:1.18; color:#fff; margin-bottom:14px; }
.bh-text h1 em { font-style:normal; color:var(--teal); }
.bh-text p { font-size:14px; color:rgba(255,255,255,.62); line-height:1.68; max-width:480px; }
.biz-kpis { display:flex; gap:40px; flex-shrink:0; }
.bk { text-align:center; }
.bk-n { font-size:36px; font-weight:800; color:var(--teal); line-height:1; }
.bk-l { font-size:11px; color:rgba(255,255,255,.5); margin-top:7px; max-width:100px; line-height:1.4; }

/* Sections */
.biz-sec { padding:52px 72px; }
.biz-sec.alt { background:#fff; }
.biz-lbl {
  font-size:10.5px; font-weight:700; text-transform:uppercase;
  letter-spacing:.1em; color:var(--teal); margin-bottom:8px;
}
.biz-ttl { font-size:26px; font-weight:800; color:var(--navy); margin-bottom:32px; }

/* 3-col cards */
.cards-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.bc { background:var(--cream); border-radius:14px; padding:24px; }
.bc-icon { font-size:28px; margin-bottom:13px; }
.bc h3 { font-size:15px; font-weight:700; color:var(--navy); margin-bottom:8px; }
.bc p  { font-size:12.5px; color:var(--g2); line-height:1.62; }

/* Process steps */
.steps { display:flex; }
.step {
  flex:1; padding:24px; background:var(--cream);
  position:relative;
}
.step:not(:last-child)::after {
  content:'›';
  position:absolute; right:-11px; top:50%; transform:translateY(-50%);
  font-size:24px; color:var(--teal); z-index:1;
}
.step:first-child { border-radius:14px 0 0 14px; }
.step:last-child  { border-radius:0 14px 14px 0; }
.step-num {
  width:30px; height:30px; background:var(--navy); color:#fff;
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:13px; margin-bottom:12px;
}
.step h3 { font-size:14px; font-weight:700; color:var(--navy); margin-bottom:7px; }
.step p  { font-size:11.5px; color:var(--g2); line-height:1.55; }

/* Revenue grid */
.rev-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.rc { border-radius:14px; padding:26px; color:#fff; position:relative; overflow:hidden; }
.rc.a { background:var(--navy); }
.rc.b { background:var(--teal); }
.rc.c { background:var(--orange); }
.rc.d { background:#16a34a; }
.rc h3 { font-size:17px; font-weight:700; margin-bottom:9px; }
.rc p  { font-size:12.5px; opacity:.82; line-height:1.58; }
.rc-price { font-size:24px; font-weight:800; margin-top:14px; opacity:.92; }

/* Market grid */
.mkt-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.mc {
  background:var(--cream); border-radius:12px; padding:22px;
  text-align:center; border-top:3px solid var(--teal);
}
.mc-n { font-size:26px; font-weight:800; color:var(--navy); }
.mc-l { font-size:11px; color:var(--g2); margin-top:7px; line-height:1.4; }

/* Phase grid (two-phase strategy) */
.phase-grid {
  display:grid; grid-template-columns:1fr auto 1fr; gap:0; align-items:center;
}
.phase-arrow {
  font-size:36px; color:var(--teal); font-weight:800;
  padding:0 24px; text-align:center; flex-shrink:0;
}
.phase-card {
  border-radius:16px; padding:32px; height:100%; box-sizing:border-box;
}
.phase-grid .phase-1 { background:var(--navy); color:#fff; }
.phase-grid .phase-2 { background:var(--cream); color:var(--g1); }
.phase-label {
  font-size:10px; font-weight:700; text-transform:uppercase;
  letter-spacing:.1em; margin-bottom:10px;
}
.phase-grid .phase-1 .phase-label { color:var(--teal); }
.phase-grid .phase-2 .phase-label { color:var(--orange); }
.phase-grid .phase-card h3 { font-size:18px; font-weight:800; margin-bottom:12px; }
.phase-grid .phase-1 h3 { color:#fff; }
.phase-grid .phase-2 h3 { color:var(--navy); }
.phase-grid .phase-card p { font-size:12.5px; line-height:1.62; margin-bottom:10px; }
.phase-grid .phase-1 p { color:rgba(255,255,255,.78); }
.phase-grid .phase-2 p { color:var(--g2); }
.phase-grid .phase-list { margin:12px 0 16px 0; padding-left:18px; display:flex; flex-direction:column; gap:6px; }
.phase-grid .phase-list li { font-size:12px; line-height:1.5; }
.phase-grid .phase-1 .phase-list li { color:rgba(255,255,255,.82); }
.phase-grid .phase-2 .phase-list li { color:var(--g2); }
.phase-mkt {
  font-size:13px; font-weight:800; margin-top:16px; padding:10px 16px;
  border-radius:8px; display:inline-block;
}
.phase-grid .phase-1 .phase-mkt { background:rgba(255,255,255,.12); color:#fff; }
.phase-grid .phase-2 .phase-mkt { background:var(--navy); color:#fff; }

/* Market segments */
.mkt-segs {
  display:grid; grid-template-columns:1fr auto 1fr; gap:0;
  margin-bottom:8px; align-items:stretch;
}
.mkt-seg {
  background:var(--cream); border-radius:14px; padding:28px;
}
.mkt-seg-divider {
  width:2px; background:var(--border); margin:0 24px; border-radius:2px;
  align-self:stretch;
}
.mkt-seg-label {
  font-size:10px; font-weight:700; text-transform:uppercase;
  letter-spacing:.1em; color:var(--teal); margin-bottom:6px;
}
.mkt-seg-title { font-size:20px; font-weight:800; color:var(--navy); margin-bottom:2px; }
.mkt-seg-sub { font-size:11.5px; color:var(--g3); margin-bottom:16px; }
.mc-row { display:flex; gap:16px; margin-bottom:16px; }
.mc-row .mc { flex:1; }
.mkt-seg-vs { display:flex; flex-direction:column; gap:8px; }
.mkt-seg-vs div { font-size:12px; color:var(--g2); line-height:1.5; }
.mkt-seg-vs strong { color:var(--navy); }

/* Technology comparison */
.vs-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.vs-card { border-radius:14px; padding:26px; }
.vs-card.tm { background:var(--navy); color:#fff; }
.vs-card.comp { background:var(--cream); color:var(--g1); }
.vs-card h3 { font-size:15px; font-weight:800; margin-bottom:16px; }
.vs-card.tm h3 { color:var(--teal); }
.vs-card.comp h3 { color:var(--g2); }
.vs-list { list-style:none; display:flex; flex-direction:column; gap:9px; }
.vs-list li { font-size:12.5px; display:flex; align-items:flex-start; gap:8px; line-height:1.45; }
.vs-card.tm  .vs-list li { color:rgba(255,255,255,.82); }
.vs-card.comp .vs-list li { color:#1a2e44; }
.vs-icon { flex-shrink:0; font-size:13px; margin-top:1px; }

/* Footer */
footer {
  background:var(--navy); color:rgba(255,255,255,.4);
  text-align:center; padding:18px; font-size:11px; flex-shrink:0;
}
footer strong { color:rgba(255,255,255,.65); }

/* ── Citations ───────────────────────────── */
.cite {
  font-size:8px; vertical-align:super; color:var(--teal);
  font-weight:700; cursor:default; letter-spacing:0; line-height:0;
}
.refs { padding:32px 72px 40px; }
.refs.alt { background:#fff; }
.refs-ttl { font-size:13px; font-weight:700; color:var(--navy); margin-bottom:14px; border-top:1px solid var(--border); padding-top:28px; }
.ref-list { list-style:none; display:flex; flex-direction:column; gap:5px; }
.ref-item { font-size:8px; color:var(--g2); line-height:1.55; padding-left:28px; text-indent:-28px; }
.ref-n { color:var(--teal); font-weight:700; display:inline; margin-right:5px; }
.ref-a { color:var(--teal); text-decoration:none; }
.ref-a:hover { text-decoration:underline; }

@media (max-width: 768px) {
  #tab-business, #tab-bizplan { height:auto; }
  .biz-hero { flex-direction:column; padding:24px 20px; gap:16px; }
  .biz-hero > a { display:none !important; } /* hide heatmap anim on mobile */
  .bh-text h1 { font-size:24px; }
  .bh-text p  { font-size:13px; }
  .biz-kpis { gap:20px; justify-content:flex-start; }
  .biz-sec { padding:32px 20px; }
  .refs { padding:24px 20px 32px; }
  .cards-3 { grid-template-columns:1fr; }
  .bc { padding:8px 18px 18px; }
  .bc h3 { margin-top:0; }
  .steps { flex-direction:column; }
  .step:first-child { border-radius:14px 14px 0 0; }
  .step:last-child  { border-radius:0 0 14px 14px; }
  .step:not(:last-child)::after {
    content:'↓';
    right:auto; left:50%; top:auto; bottom:-14px;
    transform:translateX(-50%);
  }
  .rev-grid { grid-template-columns:1fr; }
  .mkt-grid { grid-template-columns:1fr 1fr; }
  .vs-grid  { grid-template-columns:1fr; }
  .phase-grid { grid-template-columns:1fr; }
  .phase-arrow { display:none; }
  .phase-card { margin-bottom:12px; }
  .mkt-segs { grid-template-columns:1fr; }
  .mkt-seg-divider { display:none; }
  .mc-row { flex-direction:column; gap:10px; }
}
