/* ═══════════════════════════════════════════════════════════════════════
   PATTERN B — data-terminal design system, ported 1:1 from Indus
   Intelligence's own marketing app (tailwind.config.js / globals.css /
   MarketingHeader / MarketingFooter / TickerTape / marketing pages: sharp
   corners — border-radius:0 everywhere — uppercase IBM Plex Sans headings,
   Manrope body, orange #FF6B35 accent) and re-themed onto Silicate Labs'
   actual black background instead of that app's own off-white one. Shared
   by FRIS and Indus Intelligence, same as pattern-a is shared by 1Chat and
   its siblings. Scoped to the content area below the site's shared dark
   nav (see nav-footer.css) — nav/product-header/subnav/footer stay on the
   standard product.css dark shell; only wrap page content that should read
   as this product's own dense/precise identity in <div class="pattern-b">.

   Note on the --pb-black / --pb-white names: kept from the original light
   port for continuity, but their *meaning* flips here — --pb-black is now
   the light "ink" color (text, light-panel fills) and --pb-white is the
   dark page background, matching how the rest of this file's components
   use them (e.g. a "black bg, white text" emphasis chip in the original
   light app becomes a light-panel-with-dark-text chip here — same visual
   weight, inverted for a dark base). A few rules that assumed light-bg
   default text color needed an explicit override rather than relying on
   the vars alone; those are marked inline.
   ═══════════════════════════════════════════════════════════════════════ */

.pattern-b{
  --pb-black:#14151A; --pb-white:#FFFFFF; --pb-surface:#F6F7F8; --pb-surface-raised:#EDF0F3;
  --pb-orange:#DB3A00; --pb-orange-hover:#B83000;
  --pb-gray-50:#F7F8F9; --pb-gray-100:#EDF0F3; --pb-gray-200:rgba(20,21,26,0.10); --pb-gray-300:rgba(20,21,26,0.18);
  --pb-gray-400:#8A929E; --pb-gray-500:#7A828E; --pb-gray-600:#565E6B; --pb-gray-700:#3F4650; --pb-gray-800:#14151A;
  --pb-green:#15803D; --pb-red:#DC2626;
  --pb-font-plex:'IBM Plex Sans',system-ui,sans-serif;
  --pb-font-manrope:'Manrope',system-ui,sans-serif;

  background:var(--pb-white);
  color:var(--pb-gray-700);
  font-family:var(--pb-font-manrope);
  font-size:13px;
  line-height:1.5;
}
.pattern-b *{box-sizing:border-box;border-radius:0!important}
.pattern-b h1,.pattern-b h2,.pattern-b h3,.pattern-b .pb-plex{font-family:var(--pb-font-plex)}
.pattern-b .pb-mono{font-family:monospace}

.pb-section{padding:56px 32px}
.pb-section-tight{padding:32px 32px}
.pb-inner{max-width:1264px;margin:0 auto}
@media(max-width:900px){.pb-section,.pb-section-tight{padding:40px 20px}}

/* Ticker strip — sits directly under the shared site nav */
.pb-ticker{background:var(--pb-gray-800);border-bottom:1px solid var(--pb-gray-700);padding:8px 0;overflow:hidden;white-space:nowrap}
.pb-ticker-inner{padding-left:16px;font-family:var(--pb-font-plex);font-size:12px;color:#fff}
.pb-ticker-label{color:var(--pb-gray-400);font-weight:700;letter-spacing:.05em;margin-right:24px}
.pb-ticker-item{display:inline-flex;align-items:center;gap:6px;margin-right:32px;font-family:monospace;font-weight:700}
.pb-ticker-up{color:var(--pb-green)}
.pb-ticker-down{color:var(--pb-red)}

.pb-eyebrow{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--pb-orange);margin-bottom:12px;display:block}
.pb-eyebrow-gray{color:var(--pb-gray-500)}

.pb-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;padding:64px 32px;max-width:1328px;margin:0 auto}
.pb-hero-inner{max-width:1264px;margin:0 auto;display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.pb-hero h1{font-size:clamp(2rem,4.2vw,3rem);font-weight:700;text-transform:uppercase;letter-spacing:-.01em;line-height:1.12;margin-bottom:18px;color:var(--pb-black)}
.pb-hero h1 span{color:var(--pb-orange)}
.pb-hero p{font-size:15px;color:var(--pb-gray-600);line-height:1.65;margin-bottom:28px;max-width:520px}
.pb-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:36px}
.pb-hero-stats{display:flex;gap:32px;border-top:1px solid var(--pb-gray-200);padding-top:24px;flex-wrap:wrap}
.pb-hero-stat-num{font-family:var(--pb-font-plex);font-size:1.7rem;font-weight:700;color:var(--pb-black)}
.pb-hero-stat-label{font-size:11px;color:var(--pb-gray-500);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}

.pb-panel{background:var(--pb-surface);border:1px solid var(--pb-gray-200);padding:24px;position:relative}
.pb-panel-dark{background:var(--pb-gray-800);border:1px solid var(--pb-gray-700);color:#fff}
/* Ribbon keeps the original app's high-contrast chip: a light fill with
   dark text, same visual weight as "black chip, white text" on a light
   page — just inverted for our dark base. */
.pb-panel-ribbon{position:absolute;top:0;right:0;background:var(--pb-black);color:var(--pb-white);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:6px 14px}
.pb-status-row{display:flex;align-items:center;gap:8px;font-size:12px;margin:10px 0}
.pb-status-dot{width:7px;height:7px;background:var(--pb-green);flex-shrink:0}
.pb-code-block{background:#000;border:1px solid var(--pb-gray-200);color:#E2E8F0;font-family:monospace;font-size:11.5px;padding:16px;margin-top:14px;line-height:1.7;overflow-x:auto}

.pb-btn{display:inline-flex;align-items:center;gap:7px;padding:11px 22px;font-weight:700;font-size:12.5px;text-transform:uppercase;letter-spacing:.03em;text-decoration:none;border:1.5px solid transparent;cursor:pointer;font-family:var(--pb-font-plex)}
.pb-btn-primary{background:var(--pb-orange);color:#fff}
.pb-btn-primary:hover{background:var(--pb-orange-hover)}
.pb-btn-secondary{background:transparent;color:var(--pb-black);border-color:var(--pb-gray-300)}
.pb-btn-secondary:hover{background:var(--pb-black);color:var(--pb-white)}
.pb-btn-dark{background:var(--pb-black);color:var(--pb-white)}

.pb-section-head{margin-bottom:40px}
.pb-section-head h2{font-size:1.8rem;font-weight:700;text-transform:uppercase;letter-spacing:-.01em;color:var(--pb-black);margin-bottom:10px}
.pb-section-head p{font-size:14px;color:var(--pb-gray-600);max-width:600px;line-height:1.6}
.pb-section-head.center{text-align:center}
.pb-section-head.center p{margin:0 auto}

.pb-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1px;background:var(--pb-gray-200);border:1px solid var(--pb-gray-200)}
.pb-feature-card{background:var(--pb-white);padding:28px}
.pb-feature-icon{width:40px;height:40px;background:var(--pb-black);color:var(--pb-orange);display:flex;align-items:center;justify-content:center;font-size:18px;margin-bottom:18px}
.pb-feature-card h3{font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.01em;margin-bottom:8px;color:var(--pb-black)}
.pb-feature-card p{font-size:13px;color:var(--pb-gray-600);line-height:1.65}

.pb-usecase-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1px;background:var(--pb-gray-200);border:1px solid var(--pb-gray-200)}
.pb-usecase-card{background:var(--pb-white);padding:24px;border-left:3px solid var(--pb-orange)}
.pb-usecase-persona{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--pb-orange);margin-bottom:10px;display:block}
.pb-usecase-workflow{font-size:14px;font-weight:700;color:var(--pb-black);line-height:1.5;margin-bottom:6px}
.pb-usecase-outcome{font-size:12.5px;color:var(--pb-gray-600);line-height:1.6}

.pb-pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0;border:1px solid var(--pb-gray-200)}
.pb-pricing-card{background:var(--pb-white);padding:32px;border-right:1px solid var(--pb-gray-200);display:flex;flex-direction:column;position:relative}
.pb-pricing-card:last-child{border-right:none}
.pb-pricing-card.featured{border:2px solid var(--pb-black)}
.pb-pricing-card.inverted{background:var(--pb-gray-800);color:#fff}
.pb-pricing-ribbon{position:absolute;top:-1px;right:-1px;background:var(--pb-black);color:var(--pb-white);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:6px 14px}
.pb-pricing-name{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--pb-orange)}
.pb-pricing-price{font-family:var(--pb-font-plex);font-size:2rem;font-weight:700;margin:10px 0 4px;color:var(--pb-black)}
.pb-pricing-card.inverted .pb-pricing-price{color:#fff}
.pb-pricing-period{font-size:11px;color:var(--pb-gray-500);margin-bottom:18px}
.pb-pricing-card.inverted .pb-pricing-period{color:var(--pb-gray-400)}
.pb-pricing-features{list-style:none;padding:0;margin:0 0 24px;flex:1}
.pb-pricing-features li{font-size:12.5px;padding:8px 0;border-top:1px solid var(--pb-gray-200);display:flex;gap:8px;color:var(--pb-gray-600)}
.pb-pricing-card.inverted .pb-pricing-features li{border-top-color:var(--pb-gray-700);color:var(--pb-gray-400)}
.pb-pricing-features li:first-child{border-top:none}
.pb-pricing-features li::before{content:'✓';color:var(--pb-orange);font-weight:700}
.pb-pricing-card .pb-btn{width:100%;justify-content:center}

.pb-table{width:100%;border-collapse:collapse;font-size:12.5px}
.pb-table th{background:var(--pb-gray-50);text-align:left;font-weight:700;padding:14px 16px;border-bottom:2px solid var(--pb-gray-200);text-transform:uppercase;font-size:10.5px;letter-spacing:.04em;color:var(--pb-gray-600)}
.pb-table td{padding:14px 16px;border-bottom:1px solid var(--pb-gray-200);color:var(--pb-gray-600)}
.pb-table tr:nth-child(even) td{background:var(--pb-surface)}

.pb-faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--pb-gray-200);border:1px solid var(--pb-gray-200)}
.pb-faq-card{background:var(--pb-white);padding:24px}
.pb-faq-q{font-size:13.5px;font-weight:700;color:var(--pb-black);margin-bottom:8px}
.pb-faq-a{font-size:12.5px;color:var(--pb-gray-600);line-height:1.65}
@media(max-width:700px){.pb-faq-grid{grid-template-columns:1fr}}

/* CTA — a light-fill inverted band on the dark page, same high-contrast
   role .btn-primary plays site-wide (white bg, dark text = max weight). */
.pb-cta{background:var(--pb-black);color:var(--pb-white);padding:56px 32px;text-align:center}
.pb-cta h2{font-size:1.6rem;font-weight:700;text-transform:uppercase;margin-bottom:10px}
.pb-cta p{font-size:14px;color:#4A4A4A;margin-bottom:24px}
.pb-cta .pb-btn-primary{background:var(--pb-orange);color:#fff}

.pb-disclaimer-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--pb-gray-300);color:var(--pb-gray-500);font-size:10.5px;padding:6px 12px}

/* Numbered process steps */
.pb-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--pb-gray-200);border:1px solid var(--pb-gray-200)}
.pb-step{background:var(--pb-white);padding:28px}
.pb-step-num{font-family:monospace;font-size:11px;font-weight:700;color:var(--pb-orange);margin-bottom:16px}
.pb-step h3{font-size:14px;font-weight:700;text-transform:uppercase;color:var(--pb-black);margin-bottom:8px}
.pb-step p{font-size:12.5px;color:var(--pb-gray-600);line-height:1.6}
@media(max-width:700px){.pb-steps{grid-template-columns:1fr}}

/* Connector / integration chip row */
.pb-chip-row{display:flex;flex-wrap:wrap;gap:8px}
.pb-chip{font-size:11.5px;font-weight:700;padding:7px 13px;border:1px solid var(--pb-gray-200);color:var(--pb-gray-600);background:var(--pb-surface)}

/* Full-bleed statement / pull-quote */
.pb-statement{text-align:center;max-width:820px;margin:0 auto}
.pb-statement p{font-size:1.4rem;font-weight:700;line-height:1.5;color:var(--pb-black);font-family:var(--pb-font-plex)}
.pb-statement em{font-style:normal;color:var(--pb-orange)}

/* Resource / doc links */
.pb-resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--pb-gray-200);border:1px solid var(--pb-gray-200)}
.pb-resource-card{background:var(--pb-white);padding:22px;text-decoration:none;display:block;transition:background .12s}
.pb-resource-card:hover{background:var(--pb-surface)}
.pb-resource-card h4{font-size:13.5px;font-weight:700;text-transform:uppercase;color:var(--pb-black);margin-bottom:6px}
.pb-resource-card p{font-size:12px;color:var(--pb-gray-600);line-height:1.55}

/* Spec table (technical detail rows) */
.pb-spec-table{border:1px solid var(--pb-gray-200)}
.pb-spec-row{display:grid;grid-template-columns:190px 1fr;gap:18px;padding:15px 18px;border-bottom:1px solid var(--pb-gray-200);background:var(--pb-white)}
.pb-spec-row:last-child{border-bottom:none}
.pb-spec-row:nth-child(even){background:var(--pb-surface)}
.pb-spec-label{font-size:10.5px;font-weight:700;color:var(--pb-gray-500);text-transform:uppercase;letter-spacing:.05em;font-family:var(--pb-font-plex)}
.pb-spec-value{font-size:12.5px;color:var(--pb-gray-600);line-height:1.6}
@media(max-width:700px){.pb-spec-row{grid-template-columns:1fr;gap:4px}}

@media(max-width:900px){
  .pb-hero-inner,.pb-hero{grid-template-columns:1fr;gap:32px}
  .pb-pricing-card{border-right:none;border-bottom:1px solid var(--pb-gray-200)}
}
