/* ============================================================================
   ACQUIRY DEAL INTELLIGENCE — COMPONENTS
   Intelligence rail, dark bands, verdict, FAQ, ledger, related, CTA, footer,
   responsive breakpoints.
   ========================================================================== */

/* ============================ INTELLIGENCE RAIL ============================ */
.rail{min-width:0}
/* Continuation shells after a full-bleed band reserve the rail column so the
   prose measure stays identical above and below every band. */
.rail-spacer{display:block}
@media (max-width:1024px){.rail-spacer{display:none}}
.rail-sticky{position:sticky;top:calc(var(--hdr) + 62px)}
.rmod{border:1px solid var(--line);background:var(--paper);margin-bottom:22px}
.rmod-h{
  display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 15px;
  background:var(--soft-2);border-bottom:1px solid var(--line);
}
.rmod-h .t{font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--navy)}
.rmod-h .m{font-family:var(--mono);font-size:8.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
.rmod-b{padding:15px}
.rmod.dark{background:var(--navy-deep);border-color:rgba(255,255,255,.14)}
.rmod.dark .rmod-h{background:rgba(0,0,0,.26);border-bottom-color:rgba(255,255,255,.12)}
.rmod.dark .rmod-h .t{color:#fff}
.rmod.dark .rmod-h .m{color:rgba(255,255,255,.45)}
.rmod.dark .rmod-b{color:rgba(255,255,255,.8)}

.rl{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid var(--line-2)}
.rl:first-child{padding-top:0}
.rl:last-child{border-bottom:none;padding-bottom:0}
.rl .k{font-family:var(--mono);font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
.rl .v{font-family:var(--sans);font-size:13.5px;font-weight:600;color:var(--navy);text-align:right;letter-spacing:-.01em}
.rl .v.sm{font-size:12.5px;font-weight:500}
.rmod.dark .rl{border-bottom-color:rgba(255,255,255,.1)}
.rmod.dark .rl .k{color:rgba(255,255,255,.45)}
.rmod.dark .rl .v{color:#fff}

/* market module in rail */
.rq{margin-bottom:12px}
.rq .tk-l{display:flex;align-items:baseline;gap:8px;margin-bottom:9px}
.rq .tk-l .s{font-family:var(--sans);font-size:15px;font-weight:700;color:#fff}
.rq .tk-l .n{font-family:var(--mono);font-size:8.5px;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.rq .pr{display:flex;align-items:baseline;gap:10px}
.rq .pr .p{font-family:var(--display);font-size:29px;font-weight:700;color:#fff;letter-spacing:-.03em;line-height:1}
.rq .pr .c{font-family:var(--mono);font-size:11px;color:#5fd39a}
.rq .rg{font-family:var(--mono);font-size:9px;letter-spacing:.09em;color:rgba(255,255,255,.4);margin-top:9px}
.rq .sp{margin:10px 0 4px}
.spark{display:block;width:100%;height:auto}

/* copy button */
.cpy{
  display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:14px;
  padding:10px;border:1px solid var(--line);border-radius:3px;
  font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);transition:.15s;
}
.cpy:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-pale)}
.cpy.done{border-color:var(--green);color:var(--green);background:var(--green-pale)}

/* rail list items */
.ri{padding:12px 0;border-bottom:1px solid var(--line-2)}
.ri:first-child{padding-top:0}
.ri:last-child{border-bottom:none;padding-bottom:0}
.ri .tag{font-family:var(--mono);font-size:8px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);display:block;margin-bottom:5px}
.ri .t{font-family:var(--sans);font-size:13.5px;font-weight:600;color:var(--navy);line-height:1.4;display:block}
.ri a.t:hover{color:var(--blue)}
.ri .b{font-size:12.5px;line-height:1.5;color:var(--muted);margin-top:4px;display:block}
.ri.q{display:flex;gap:11px;align-items:flex-start}
.ri.q .n{font-family:var(--mono);font-size:10px;font-weight:600;color:var(--blue);flex:0 0 20px}
.ri.q .t{font-weight:500;font-size:13.5px}

/* rail timeline */
.rtl{position:relative;padding-left:20px}
.rtl::before{content:'';position:absolute;left:4px;top:6px;bottom:6px;width:1px;background:var(--line)}
.rti{position:relative;padding:9px 0}
.rti::before{
  content:'';position:absolute;left:-20px;top:14px;width:9px;height:9px;border-radius:50%;
  background:var(--paper);border:2px solid var(--line);
}
.rti.done::before{background:var(--blue);border-color:var(--blue)}
.rti.cur::before{background:var(--blue);border-color:var(--blue);box-shadow:0 0 0 4px rgba(8,106,216,.16)}
.rti.pend::before{background:var(--paper);border-color:var(--amber)}
.rti .d{font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.rti.cur .d{color:var(--blue)}
.rti .l{font-size:13px;line-height:1.45;color:var(--ink);margin-top:3px}
.rti.cur .l{font-weight:600;color:var(--navy)}

/* rail CTA */
.rcta{background:var(--navy);color:#fff;padding:20px}
.rcta .t{font-family:var(--display);font-size:19px;font-weight:600;color:#fff;letter-spacing:-.015em;line-height:1.3;margin-bottom:9px}
.rcta .b{font-size:13px;line-height:1.6;color:rgba(255,255,255,.66);margin-bottom:16px}
.rcta a{
  display:block;text-align:center;background:var(--blue);color:#fff;padding:12px;border-radius:3px;
  font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:.02em;
}
.rcta a:hover{background:var(--blue-soft);text-decoration:none;color:#fff}
.rcta .alt{background:transparent;border:1px solid rgba(255,255,255,.28);margin-top:9px}
.rcta .alt:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.45)}

/* ============================ DARK BANDS ============================ */
.band{background:var(--navy-deep);color:#fff;padding:74px 0;margin:74px 0}
.band.tight{padding:56px 0}
.band-in{position:relative}
.band .sec-n{color:var(--blue-soft)}
.band .sec-n .ln{background:var(--blue-soft)}
.band h2.sec-t{color:#fff}
.band p{color:rgba(255,255,255,.76);font-size:16.5px;line-height:1.72;margin:0 0 19px}
.band p b{color:#fff;font-weight:600}
.band .dek{color:rgba(255,255,255,.5)}
.band-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.band-fig{border:1px solid rgba(255,255,255,.15);overflow:hidden;background:#000}
.band-fig img{display:block;width:100%;height:auto}
.band-cap{font-size:11.5px;line-height:1.5;color:rgba(255,255,255,.4);margin-top:11px}

/* stat row inside bands */
.bstats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:44px;border-top:1px solid rgba(255,255,255,.14)}
.bstat{padding:24px 22px 0;border-right:1px solid rgba(255,255,255,.14)}
.bstat:last-child{border-right:none}
.bstat .k{font-family:var(--mono);font-size:8.5px;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.44);margin-bottom:10px}
.bstat .v{font-family:var(--display);font-size:31px;font-weight:700;color:#fff;letter-spacing:-.032em;line-height:1}
.bstat .v small{font-size:15px;font-weight:500;opacity:.66}
.bstat .b{font-size:12px;line-height:1.5;color:rgba(255,255,255,.5);margin-top:9px}

/* ============================ WINNERS / PRESSURE ============================ */
.wl{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);margin:32px 0}
.wl-c:first-child{border-right:1px solid var(--line)}
.wl-h{
  display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line);
  font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;
}
.wl-h.up{background:var(--green-pale);color:#186540}
.wl-h.dn{background:var(--red-pale);color:#a8342a}
.wl-i{padding:15px 18px;border-bottom:1px solid var(--line-2)}
.wl-i:last-child{border-bottom:none}
.wl-i .n{font-family:var(--sans);font-size:14.5px;font-weight:600;color:var(--navy);margin-bottom:5px}
.wl-i .b{font-size:13.5px;line-height:1.55;color:var(--muted)}

/* ============================ VERDICT ============================ */
.verdict{border:1px solid var(--line);border-top:3px solid var(--blue);background:var(--soft-2);margin:44px 0}
.verdict-h{padding:22px 26px 0}
.verdict-h .e{font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:var(--blue);margin-bottom:11px}
.verdict-h .t{font-family:var(--display);font-size:27px;font-weight:600;color:var(--navy);letter-spacing:-.018em;line-height:1.24}
.verdict-b{padding:18px 26px 24px}
.verdict-b p{font-size:16px;line-height:1.7;margin:0 0 15px}
.verdict-b p:last-child{margin-bottom:0}
.vscore{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);background:var(--paper)}
.vs{padding:19px 22px;border-right:1px solid var(--line)}
.vs:last-child{border-right:none}
.vs .k{font-family:var(--mono);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}
.vs .v{font-family:var(--sans);font-size:15px;font-weight:600;color:var(--navy);letter-spacing:-.01em}
.vs .m{display:flex;gap:3px;margin-top:9px}
.vs .m i{flex:1;height:4px;background:var(--line);border-radius:1px}
.vs .m i.on{background:var(--blue)}
.vs .m.warn i.on{background:var(--amber)}
.vs .m.risk i.on{background:var(--red)}

/* ============================ FAQ ============================ */
.faq{border-top:1px solid var(--line);margin:26px 0 0}
.fq{border-bottom:1px solid var(--line)}
.fq-q{
  display:flex;justify-content:space-between;align-items:flex-start;gap:18px;width:100%;
  padding:17px 0;text-align:left;
}
.fq-q .t{font-family:var(--sans);font-size:15.5px;font-weight:600;color:var(--navy);line-height:1.45}
.fq-q .ic{
  flex:0 0 20px;width:20px;height:20px;border:1px solid var(--line);border-radius:2px;position:relative;
  margin-top:2px;transition:.18s;
}
.fq-q .ic::before,.fq-q .ic::after{
  content:'';position:absolute;left:50%;top:50%;background:var(--blue);transform:translate(-50%,-50%);
  transition:.18s;
}
.fq-q .ic::before{width:9px;height:1.4px}
.fq-q .ic::after{width:1.4px;height:9px}
.fq.open .fq-q .ic{background:var(--blue);border-color:var(--blue)}
.fq.open .fq-q .ic::before{background:#fff}
.fq.open .fq-q .ic::after{opacity:0}
.fq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.fq-a-in{padding:0 44px 19px 0}
.fq-a p{font-size:15px;line-height:1.66;color:var(--muted);margin:0 0 11px}
.fq-a p:last-child{margin-bottom:0}
.fq-a p b{color:var(--navy);font-weight:600}

/* ============================ SOURCE LEDGER ============================ */
.ledger{border-top:1px solid var(--line);margin-top:24px}
.lg{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);align-items:flex-start}
.lg .n{font-family:var(--mono);font-size:10.5px;font-weight:600;color:var(--blue);flex:0 0 22px;padding-top:2px}
.lg .c{flex:1;min-width:0}
.lg .c .t{display:block;font-size:14.5px;font-weight:500;color:var(--navy);line-height:1.45}
.lg .c .u{display:block;font-family:var(--mono);font-size:10.5px;line-height:1.6;color:var(--muted);margin-top:5px}
.lg .ty{
  flex:0 0 auto;font-family:var(--mono);font-size:8px;font-weight:600;letter-spacing:.13em;
  text-transform:uppercase;color:var(--muted);border:1px solid var(--line);padding:3px 8px;
  height:fit-content;white-space:nowrap;
}

/* ============================ RELATED ============================ */
/* This block sits directly under the endmatter panel's bottom rule. With no top
   padding the "Continue reading" eyebrow collides with that border and reads as
   part of the panel above rather than as the start of a new section. */
.rel-sec{padding:64px 0 28px}
.rel{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:26px}
.rc{border:1px solid var(--line);background:var(--paper);transition:.18s;display:block;text-decoration:none}
.rc:hover{border-color:var(--blue);box-shadow:0 10px 30px rgba(13,27,46,.08);text-decoration:none}
.rc-h{padding:15px 17px;border-bottom:1px solid var(--line-2)}
.rc .tag{font-family:var(--mono);font-size:8px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.rc .t{font-family:var(--sans);font-size:15px;font-weight:600;color:var(--navy);line-height:1.4;margin-top:7px}
.rc-b{padding:14px 17px}
.rc .b{font-size:13px;line-height:1.55;color:var(--muted)}
.rc .m{font-family:var(--mono);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);margin-top:11px}

/* ============================ BIG CTA ============================ */
.cta{background:var(--navy);color:#fff;padding:62px 0}
.cta-in{display:grid;grid-template-columns:1fr 384px;gap:56px;align-items:center}
.cta h2{font-family:var(--display);font-size:34px;font-weight:600;color:#fff;letter-spacing:-.02em;line-height:1.2;margin:0 0 15px}
.cta p{font-size:16px;line-height:1.7;color:rgba(255,255,255,.7);margin:0;max-width:34em}
.cta-box{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.15);padding:24px}
.cta-box .k{font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:14px}
.cta-box a{
  display:block;text-align:center;background:var(--blue);color:#fff;padding:14px;border-radius:3px;
  font-family:var(--sans);font-size:13.5px;font-weight:600;margin-bottom:10px;
}
.cta-box a:hover{background:var(--blue-soft);text-decoration:none;color:#fff}
.cta-box a.alt{background:transparent;border:1px solid rgba(255,255,255,.28)}
.cta-box a.alt:hover{background:rgba(255,255,255,.09)}
.cta-box .n{font-size:11.5px;line-height:1.55;color:rgba(255,255,255,.42);margin-top:14px}

/* ============================ RESPONSIVE ============================ */
@media (max-width:1320px){
  :root{--gut:32px;--rail:320px}
  .fig-wide{margin-left:0;width:100%}
}
@media (max-width:1180px){
  :root{--cw:100%;--rail:300px}
  .shell{gap:44px}
  h1.hl{font-size:50px}
  .hero-grid{grid-template-columns:1fr 356px;gap:40px}
}
@media (max-width:1024px){
  :root{--gut:28px}
  .shell{grid-template-columns:1fr;gap:0}
  .main{max-width:none}
  .rail:not(.rail-spacer){margin-top:56px;border-top:1px solid var(--line);padding-top:44px}
  .rail-sticky{position:static}
  .rail-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
  .hero-grid{grid-template-columns:1fr;gap:36px}
  .tid{max-width:520px}
  h1.hl{font-size:46px;max-width:none}
  .knb-in{grid-template-columns:repeat(3,1fr)}
  .kn:nth-child(3){border-right:none}
  .kn:nth-child(n+4){border-top:1px solid var(--line)}
  .band-grid{grid-template-columns:1fr;gap:34px}
  .cta-in{grid-template-columns:1fr;gap:34px}
  .rel{grid-template-columns:1fr 1fr}
  .gg-b{padding-left:0}
}
@media (max-width:820px){
  h1.hl{font-size:39px}
  .standfirst{font-size:17px}
  h2.sec-t{font-size:28px}
  .bstats{grid-template-columns:1fr 1fr}
  .bstat:nth-child(2){border-right:none}
  .bstat:nth-child(n+3){border-top:1px solid rgba(255,255,255,.14);margin-top:22px;padding-top:22px}
  .vscore{grid-template-columns:1fr 1fr}
  .vs:nth-child(2){border-right:none}
  .vs:nth-child(n+3){border-top:1px solid var(--line)}
  .wl{grid-template-columns:1fr}
  .wl-c:first-child{border-right:none;border-bottom:1px solid var(--line)}
  .rel{grid-template-columns:1fr}
  .rail-grid{grid-template-columns:1fr}
  .fig-body{padding:18px 15px}
  .fig-head{padding:15px 16px}
  .tbl-h{padding:13px 15px}
  .tbl th,.tbl td{padding:11px 15px}
  /* Every table gets the scroll treatment, not just those tagged .tbl-sc.
     One table in the article carried a bare .tbl, and because .tbl sets
     overflow:hidden its right-hand columns were silently cut off at mobile with
     no way to reach them. Making this the default means a future table is
     readable whether or not the author remembers the modifier. .tbl-sc is kept
     as an explicit marker but no longer does any work on its own. */
  .tbl{overflow-x:auto}
  .tbl table{min-width:600px}
}
@media (max-width:640px){
  :root{--gut:18px;--hdr:58px}
  body{font-size:15.5px}
  .brk-in{height:auto;padding:9px 0;align-items:flex-start}
  .brk-txt{white-space:normal;font-size:12px;line-height:1.5}
  .brk-time{display:none}
  .hero-in{padding:40px 0 0}
  h1.hl{font-size:31px;letter-spacing:-.018em}
  .standfirst{font-size:15.5px}
  .byline{font-size:11.5px;gap:9px}
  .byline .bi{border-right:none;padding-right:0;margin-right:0;width:100%}
  .knb-in{grid-template-columns:1fr 1fr}
  .kn{padding:20px 16px}
  .kn:nth-child(2n){border-right:none}
  .kn:nth-child(n+3){border-top:1px solid var(--line)}
  .kn .v{font-size:27px}
  .sec{margin-bottom:46px}
  h2.sec-t{font-size:24px}
  .main p{font-size:15.5px}
  .main .lead::first-letter{font-size:52px}
  blockquote.pull p{font-size:19px}
  .band{padding:52px 0;margin:52px 0}
  .verdict-h,.verdict-b{padding-left:18px;padding-right:18px}
  .verdict-h .t{font-size:22px}
  .cta h2{font-size:26px}
  .gg-top{flex-direction:column;align-items:flex-start;gap:12px}
  .gg-arc{flex:0 0 auto}
  figure.ef figcaption{flex-direction:column;gap:6px}
  .strip-lg .src{margin-left:0;width:100%}
  .toc-lb{display:none}
  .toc-pr{display:none}
  .fig-title{font-size:14.5px}
  .fq-a-in{padding-right:0}

  /* Footer: the desktop layout keeps link labels on one line, which forces the
     column block past a phone viewport. Stack to two columns and allow wrapping. */

  /* Proportion bars: the value string and its denominator sit inline with the
     label on desktop. On a phone that row cannot fit, so it stacks. */
  .pb-top{flex-direction:column;align-items:flex-start;gap:3px}
  .pb-v{width:100%}
  .pb-v .d{display:block}
}

/* The bespoke .mob sheet is gone; the site drawer replaces it. The same overflow
   hazard applies to the new drawer, since .primary-nav is also parked offscreen
   with translateX(100%). That is handled in chrome-bridge.css rather than here,
   so it stays next to the rest of the chrome reconciliation. */
