/* Editorial UI — styles Manus/Cursor editorial blocks inside Stripe DI shell (.sec) */

.sec .metric-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:30px 0;
  border:1px solid var(--line);background:var(--soft-2);overflow:hidden;
}
.sec .metric-card{
  padding:20px 18px 22px;border-right:1px solid var(--line);background:var(--paper);
}
.sec .metric-card:last-child{border-right:none}
.sec .metric-card.claim{border-top:3px solid var(--blue)}
.sec .metric{
  font-family:var(--display);font-size:30px;font-weight:700;color:var(--navy);
  letter-spacing:-.03em;line-height:1.05;margin-bottom:8px;
}
.sec .metric-label{
  font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);margin-bottom:8px;
}
.sec .metric-note{font-size:12.5px;line-height:1.5;color:var(--muted)}

.sec .table-wrap{
  margin:28px 0;border:1px solid var(--line);overflow-x:auto;background:var(--paper);
}
.sec .deal-table{width:100%;min-width:640px;font-size:14.5px}
.sec .deal-table th{
  text-align:left;padding:12px 18px;background:var(--soft-2);border-bottom:1px solid var(--line);
  font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);
}
.sec .deal-table td{
  padding:12px 18px;border-bottom:1px solid var(--line-2);vertical-align:top;color:var(--ink);
}
.sec .deal-table tr:last-child td{border-bottom:none}
.sec .deal-table td:first-child{font-weight:600;color:var(--navy)}
.sec .deal-table .not-disclosed{color:var(--red);font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.sec .deal-table .reported{color:var(--green);font-weight:600}
.sec .deal-table .calc{color:var(--blue-dk);font-weight:600}

.sec .flow{
  display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:28px 0;
  border:1px solid var(--line);background:var(--soft-2);
}
.sec .flow-step{
  padding:16px 14px 18px;border-right:1px solid var(--line);position:relative;min-height:120px;
}
.sec .flow-step:last-child{border-right:none}
.sec .flow-step .n{
  font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--blue);margin-bottom:8px;
}
.sec .flow-step strong{display:block;font-size:13px;font-weight:600;color:var(--navy);margin-bottom:6px;line-height:1.3}
.sec .flow-step p{font-size:12.5px;line-height:1.45;color:var(--muted);margin:0}

.sec .callout,
.sec blockquote.pull{
  margin:28px 0;padding:20px 22px;border-left:3px solid var(--blue);
  background:var(--blue-pale);
}
.sec .callout p,
.sec blockquote.pull p{
  font-family:var(--display);font-size:22px;line-height:1.35;color:var(--navy);margin:0;
}
.sec .callout cite,
.sec blockquote.pull cite{
  display:block;margin-top:10px;font-family:var(--mono);font-size:9.5px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-style:normal;
}

.sec .fact,
.sec .inference,
.sec .assumption{
  display:inline-block;margin-left:6px;padding:3px 7px;border-radius:2px;
  font-family:var(--mono);font-size:8.5px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;vertical-align:middle;white-space:nowrap;
}
.sec .fact{background:var(--green-pale);color:var(--green)}
.sec .inference{background:var(--soft);color:var(--muted)}
.sec .assumption{background:var(--amber-pale);color:#8a6413}
.sec .source-link{
  color:var(--blue-dk);text-decoration:none;font-family:var(--mono);
  font-size:10px;font-weight:600;letter-spacing:.02em;
}
.sec .source-link:hover{color:var(--blue);text-decoration:underline}

.sec .quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:28px 0}
.sec .quote-card{padding:18px 20px;border:1px solid var(--line);background:var(--soft-2)}
.sec .quote-card .qt{font-family:var(--display);font-size:20px;line-height:1.3;color:var(--navy)}
.sec .quote-card .by{
  margin-top:12px;font-family:var(--mono);font-size:9px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--muted);
}

.sec .insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:28px 0;border:1px solid var(--line)}
.sec .insight{padding:18px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec .insight:nth-child(even){border-right:none}
.sec .insight:nth-last-child(-n+2){border-bottom:none}
.sec .insight h3{
  font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--blue);margin:0 0 8px;
}
.sec .insight p{font-size:13.5px;line-height:1.55;color:var(--muted);margin:0}

.sec .watch-list{
  display:grid;grid-template-columns:1fr 1fr;gap:0;margin:28px 0;border:1px solid var(--line);
}
.sec .watch-item{padding:16px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec .watch-item:nth-child(even){border-right:none}
.sec .watch-item:nth-last-child(-n+2){border-bottom:none}
.sec .watch-no{
  font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--blue);margin-bottom:6px;
}
.sec .watch-item strong{display:block;font-size:14px;font-weight:600;color:var(--navy);margin-bottom:6px}
.sec .watch-item p{font-size:13px;line-height:1.5;color:var(--muted);margin:0}

.sec .deal-table.risk-table .risk-level{
  display:inline-block;padding:4px 8px;font-family:var(--mono);font-size:8.5px;
  font-weight:600;letter-spacing:.08em;text-transform:uppercase;
}
.sec .risk-level.high{background:var(--red-pale);color:var(--red)}
.sec .risk-level.med{background:var(--amber-pale);color:#8a6413}
.sec .risk-level.low{background:var(--green-pale);color:var(--green)}

.sec .timeline{margin:28px 0;padding-left:22px;border-left:2px solid var(--line)}
.sec .timeline-item{position:relative;padding:0 0 24px}
.sec .timeline-item:last-child{padding-bottom:0}
.sec .timeline-item::before{
  content:'';position:absolute;left:-29px;top:6px;width:10px;height:10px;
  border-radius:50%;background:var(--blue);border:2px solid var(--paper);
}
.sec .timeline-date{
  font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--blue-dk);margin-bottom:4px;
}
.sec .timeline-item h3{font-size:15px;font-weight:600;color:var(--navy);margin:0 0 6px}
.sec .timeline-item p{font-size:14px;line-height:1.55;color:var(--muted);margin:0;max-width:52em}

.sec .verdict{
  margin:34px 0;padding:0;border:1px solid var(--line);border-top:3px solid var(--blue);
  background:var(--soft-2);
}
.sec .verdict .eyebrow{
  font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--blue);padding:20px 24px 0;margin:0;
}
.sec .verdict h2{
  font-family:var(--display);font-size:28px;font-weight:600;color:var(--navy);
  letter-spacing:-.02em;line-height:1.2;padding:10px 24px 0;margin:0;
}
.sec .verdict p{font-size:16px;line-height:1.7;color:var(--ink);padding:0 24px;margin:0 0 16px}
.sec .verdict p:last-child{padding-bottom:24px;margin-bottom:0}

.sec .source-matrix{margin-top:24px;border-top:1px solid var(--line)}
.sec .source-card{
  display:grid;grid-template-columns:minmax(11em,22%) minmax(0,1fr) minmax(9em,auto);
  gap:12px 24px;padding:18px 0;border-bottom:1px solid var(--line);align-items:start;
}
.sec .source-card:first-child{border-top:1px solid var(--line)}
/* Manus sometimes wraps source-name + source-desc in a bare div — breaks the grid */
.sec .source-card > div:not(.source-name):not(.source-desc):not(.source-links){display:contents}
.sec .source-name{font-size:13px;font-weight:600;color:var(--navy);line-height:1.35}
.sec .source-desc{font-size:13px;line-height:1.5;color:var(--muted);max-width:52em}
.sec .source-links{
  display:flex;flex-direction:column;align-items:flex-end;gap:8px;
  font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;text-align:right;color:var(--blue-dk);
}
.sec .source-links a{color:inherit;text-decoration:none}
.sec .source-links a:hover{text-decoration:underline}

/* Three-column info cards (asset pillars, stakeholders, competitive edges) */
.sec .split-cards{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:28px 0;border:1px solid var(--line);
}
.sec .info-card{
  padding:18px 20px;border-right:1px solid var(--line);background:var(--soft-2);
}
.sec .info-card:last-child{border-right:none}
.sec .info-card .eyebrow{
  display:block;font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--blue);margin-bottom:8px;
}
.sec .info-card h3{
  font-size:15px;font-weight:600;color:var(--navy);margin:0 0 8px;line-height:1.35;
}
.sec .info-card p{font-size:13.5px;line-height:1.55;color:var(--muted);margin:0}

/* Stated Acquiry calculation block */
.sec .formula{
  margin:28px 0;padding:18px 20px;border:1px solid var(--line);background:var(--soft-2);
  border-left:3px solid var(--blue);
}
.sec .formula .f-label{
  display:block;font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--blue);margin-bottom:10px;
}
.sec .formula .f-eq{
  display:block;font-family:var(--display);font-size:20px;line-height:1.35;color:var(--navy);margin-bottom:8px;
}
.sec .formula .f-note{font-size:12.5px;line-height:1.5;color:var(--muted);display:block}

/* Inline deal-chart hosts inside .sec (not figure.ef) */
.sec .deal-chart{
  margin:28px 0;border:1px solid var(--line);background:var(--paper);
  max-width:100%;min-width:0;
  overflow-x:auto;overflow-y:visible;
  -webkit-overflow-scrolling:touch;
}
.sec .deal-chart .chart-card{padding:0}
.sec .deal-chart .chart-head{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:14px 18px;border-bottom:1px solid var(--line);background:var(--soft-2);
}
.sec .deal-chart .chart-title{
  font-family:var(--sans);font-size:14px;font-weight:600;color:var(--navy);
}
.sec .deal-chart .chart{padding:16px 18px;min-height:200px;background:#f5f6f8}
.sec .deal-chart .chart-lg{min-height:280px}
.sec .deal-chart .chart-note{
  padding:12px 18px 16px;font-size:12.5px;line-height:1.5;color:var(--muted);
  border-top:1px solid var(--line-2);margin:0;
}

/* Aliases for Manus drift — prefer HTML normalization at ingest; these keep
   published packs readable if a non-canonical class slips through. */
.sec .data-table{width:100%;min-width:640px;font-size:14.5px;border-collapse:collapse}
.sec .data-table th{
  text-align:left;padding:12px 18px;background:var(--soft-2);border-bottom:1px solid var(--line);
  font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);
}
.sec .data-table td{
  padding:12px 18px;border-bottom:1px solid var(--line-2);vertical-align:top;color:var(--ink);
}
.sec .data-table tr:last-child td{border-bottom:none}
.sec .data-table td:first-child{font-weight:600;color:var(--navy)}

.sec .timeline-mini{margin:28px 0;padding-left:22px;border-left:2px solid var(--line)}
.sec .timeline-mini > div{position:relative;padding:0 0 24px}
.sec .timeline-mini > div:last-child{padding-bottom:0}
.sec .timeline-mini > div::before{
  content:'';position:absolute;left:-29px;top:6px;width:10px;height:10px;
  border-radius:50%;background:var(--blue);border:2px solid var(--paper);
}
.sec .timeline-mini > div > b{
  display:block;font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;color:var(--blue-dk);margin-bottom:4px;
}
.sec .timeline-mini > div > span{
  display:block;font-size:14px;line-height:1.55;color:var(--muted);max-width:52em;
}

.rel-sec .rel-grid,
.rel-sec .rel{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:26px}
.rel-sec .rel-card,
.rel-sec .rc{
  border:1px solid var(--line);background:var(--paper);transition:.18s;display:block;text-decoration:none;
}
.rel-sec .rel-card:hover,
.rel-sec .rc:hover{border-color:var(--blue);box-shadow:0 10px 30px rgba(13,27,46,.08);text-decoration:none}
.rel-sec .rel-card{padding:15px 17px}
.rel-sec .rel-card .tag,
.rel-sec .rc .tag{
  font-family:var(--mono);font-size:8px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);
}
.rel-sec .rel-card strong,
.rel-sec .rc .t{
  display:block;font-family:var(--sans);font-size:15px;font-weight:600;color:var(--navy);line-height:1.4;margin-top:7px;
}
.rel-sec .rel-card > span:last-of-type,
.rel-sec .rc .b{font-size:13px;line-height:1.55;color:var(--muted);margin-top:8px;display:block}

@media (max-width:900px){
  .sec .metric-grid{grid-template-columns:1fr 1fr}
  .sec .metric-card:nth-child(2n){border-right:none}
  .sec .metric-card:nth-child(n+3){border-top:1px solid var(--line)}
  .sec .flow{grid-template-columns:1fr}
  .sec .flow-step{border-right:none;border-bottom:1px solid var(--line)}
  .sec .flow-step:last-child{border-bottom:none}
  .sec .quote-grid,.sec .insight-grid,.sec .watch-list,.sec .split-cards{grid-template-columns:1fr}
  .sec .insight,.sec .watch-item,.sec .info-card{border-right:none}
  .sec .source-card{grid-template-columns:1fr}
  .sec .source-links{text-align:left;margin-top:8px}
}
@media (max-width:640px){
  .sec .metric-grid{grid-template-columns:1fr}
  .sec .metric-card{border-right:none!important;border-bottom:1px solid var(--line)}
  .sec .metric-card:last-child{border-bottom:none}
  .sec .metric{font-size:clamp(22px,7vw,30px)}
  .sec .metric-label{white-space:normal}
  .sec .table-wrap,.sec .deal-chart.table-wrap{
    margin-left:0;margin-right:0;
    border-left:none;border-right:none;
  }
  .sec .deal-table,.sec .data-table{min-width:520px;font-size:13.5px}
  .sec .deal-table th,.sec .deal-table td,
  .sec .data-table th,.sec .data-table td{padding:10px 12px}
  .sec .flow-step{padding:16px 14px}
  .sec .watch-item,.sec .insight{padding:16px 14px}
  .rel-sec .rel,.rel-sec .rel-grid{grid-template-columns:1fr}
}
