/* BESS Grid-Scale Opportunity — site-aligned brief UI */
:root{
  --bb-cyan:#09AFEA;
  --bb-green:#19DF88;
  --bb-cyan-deep:#0A6E93;
  --bb-green-deep:#0C7A47;
  --bb-navy:#1A2050;
  --bb-slate:#262B34;
  --bb-graphite:#5B6572;
  --bb-mist:#C9D2DB;
  --bb-canvas:#F6F8FA;
  --bb-white:#fff;
  --bb-border:rgba(38,43,52,.12);
  --bb-radius:14px;
  --bb-shadow:0 4px 18px rgba(26,32,80,.06);
  --bb-max:1200px;
}

.bess-brief{
  background:var(--bb-canvas);
  color:var(--bb-slate);
  font-family:var(--primary-font, "Manrope"), "Segoe UI", sans-serif;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}

.bess-brief #bb-scroll-progress{
  position:fixed;
  top:0; left:0; right:0;
  height:3px;
  z-index:120;
  background:rgba(38,43,52,.08);
  pointer-events:none;
}
.bess-brief #bb-scroll-progress > div{
  height:100%;
  width:0;
  background:linear-gradient(90deg, var(--bb-cyan), var(--bb-green));
}

.bess-brief .bb-wrap{
  max-width:var(--bb-max);
  margin:0 auto;
  padding:0 24px;
}

.bess-brief .bb-crule{
  width:140px;
  height:3px;
  margin:16px 0 22px;
  background:linear-gradient(90deg, var(--bb-cyan) 0 50%, var(--bb-green) 50% 100%);
  position:relative;
}
.bess-brief .bb-crule::after{
  content:"";
  position:absolute;
  left:50%; top:50%;
  transform:translate(-50%,-50%);
  width:7px; height:7px;
  border-radius:50%;
  background:var(--bb-slate);
}
.bess-brief .bb-crule--light::after{ background:var(--bb-white); }

/* ---------- Hero ---------- */
.bess-brief .bb-hero{
  position:relative;
  overflow:hidden;
  color:#fff;
  padding:100px 0 0;
}
.bess-brief .bb-hero__bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(115deg, rgba(8,12,18,.82) 0%, rgba(8,12,18,.58) 45%, rgba(8,12,18,.35) 70%, rgba(8,12,18,.5) 100%),
    url('images/bess-brief-hero-banner.jpg') center 40% / cover no-repeat;
  z-index:0;
}
.bess-brief .bb-hero__bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse 55% 70% at 78% 45%, rgba(9,175,234,.18) 0%, transparent 65%),
    radial-gradient(ellipse 40% 50% at 90% 80%, rgba(25,223,136,.12) 0%, transparent 60%);
}
.bess-brief .bb-hero__grid{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
}
.bess-brief .bb-hero__lines{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  width:min(52vw, 620px);
  height:auto;
  opacity:.7;
}
.bess-brief .bb-hero__inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(280px, .85fr);
  gap:40px;
  align-items:center;
  padding-bottom:40px;
}
.bess-brief .bb-hero__content{
  max-width:none;
}
.bess-brief .bb-hero-badge{
  display:inline-block;
  color:#2dffb0;
  background:rgba(0,0,0,.48);
  border:1px solid rgba(255,255,255,.18);
  border-radius:30px;
  padding:8px 18px;
  font-size:12px;
  font-weight:600;
  letter-spacing:1.6px;
  text-transform:uppercase;
  margin-bottom:14px;
}
.bess-brief .bb-hero h1{
  font-family:var(--alt-font, "Plus Jakarta Sans"), "Rubik", sans-serif;
  font-weight:700;
  font-size:clamp(32px, 4.2vw, 50px);
  line-height:1.18;
  letter-spacing:-.02em;
  color:#fff;
  max-width:none;
  margin:0;
  text-shadow:0 2px 18px rgba(0,0,0,.65), 0 1px 3px rgba(0,0,0,.8);
}
.bess-brief .bb-hero-leads{
  max-width:100%;
}
.bess-brief .bb-hero-lead{
  font-size:17px;
  line-height:1.78;
  color:rgba(255,255,255,.94);
  max-width:none;
  margin:16px 0 0;
  text-shadow:0 1px 10px rgba(0,0,0,.5);
}
/* Hero meta bar — full width */
.bess-brief .bb-hero-meta-bar{
  position:relative;
  z-index:2;
  width:100%;
  margin-top:8px;
  border-top:1px solid rgba(255,255,255,.14);
  background:linear-gradient(180deg, rgba(8,12,18,.55) 0%, rgba(8,12,18,.78) 100%);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.bess-brief .bb-hero-meta-bar::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:linear-gradient(90deg, var(--bb-cyan) 0%, var(--bb-cyan) 48%, var(--bb-green) 52%, var(--bb-green) 100%);
}
.bess-brief .bb-hero-meta{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:0;
  width:100%;
}
.bess-brief .bb-hero-meta__item{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:22px 20px;
  border-right:1px solid rgba(255,255,255,.1);
  transition:background .2s ease;
}
.bess-brief .bb-hero-meta__item:last-child{
  border-right:0;
}
.bess-brief .bb-hero-meta__item:hover{
  background:rgba(255,255,255,.04);
}
.bess-brief .bb-hero-meta__icon{
  flex-shrink:0;
  width:40px;
  height:40px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(145deg, rgba(9,175,234,.35), rgba(10,110,147,.2));
  border:1px solid rgba(9,175,234,.35);
  color:#7ee8ff;
}
.bess-brief .bb-hero-meta__icon svg{
  width:20px;
  height:20px;
}
.bess-brief .bb-hero-meta__icon--g{
  background:linear-gradient(145deg, rgba(25,223,136,.3), rgba(12,122,71,.2));
  border-color:rgba(25,223,136,.35);
  color:#2dffb0;
}
.bess-brief .bb-hero-meta__icon--brand{
  background:linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.05));
  border-color:rgba(255,255,255,.2);
  color:#fff;
}
.bess-brief .bb-hero-meta .k{
  display:block;
  font-size:11px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,.62);
  margin-bottom:6px;
}
.bess-brief .bb-hero-meta .v{
  display:block;
  font-family:var(--alt-font, "Plus Jakarta Sans"), "Rubik", sans-serif;
  font-weight:700;
  font-size:clamp(15px, 1.5vw, 17px);
  color:#fff;
  line-height:1.3;
}
.bess-brief .bb-hero-meta__item--brand .v{
  color:#2dffb0;
}

/* Hero visual panel */
.bess-brief .bb-hero__visual{
  position:relative;
  min-height:420px;
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:auto auto 1fr;
  gap:14px;
  padding:20px;
  border-radius:18px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:0 20px 50px rgba(0,0,0,.25);
}
.bess-brief .bb-hero-stat--main{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  gap:18px;
  padding:8px 4px 12px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.bess-brief .bb-hero-stat__ring{
  position:relative;
  width:100px;
  height:100px;
  flex-shrink:0;
}
.bess-brief .bb-hero-stat__ring svg{
  width:100%;
  height:100%;
}
.bess-brief .bb-hero-stat__center{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  line-height:1;
}
.bess-brief .bb-hero-stat__center .n{
  font-family:var(--alt-font, "Plus Jakarta Sans"), "Rubik", sans-serif;
  font-weight:800;
  font-size:22px;
  color:#fff;
}
.bess-brief .bb-hero-stat__center .u{
  font-size:12px;
  font-weight:700;
  color:#2dffb0;
  margin-top:2px;
}
.bess-brief .bb-hero-stat__lbl{
  display:block;
  font-size:14px;
  font-weight:600;
  color:rgba(255,255,255,.85);
  letter-spacing:.02em;
}
.bess-brief .bb-hero-stat__sub{
  display:block;
  font-size:12px;
  color:rgba(255,255,255,.55);
  margin-top:4px;
}
.bess-brief .bb-hero-stat--card{
  border-radius:12px;
  padding:14px 16px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.bess-brief .bb-hero-stat--card .k{
  font-size:11px;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:rgba(255,255,255,.65);
}
.bess-brief .bb-hero-stat--card .n{
  font-family:var(--alt-font, "Plus Jakarta Sans"), "Rubik", sans-serif;
  font-weight:800;
  font-size:clamp(18px, 2vw, 22px);
  color:#fff;
  line-height:1.15;
}
.bess-brief .bb-hero-stat--c{
  background:linear-gradient(145deg, rgba(9,175,234,.35), rgba(10,110,147,.25));
  border:1px solid rgba(9,175,234,.35);
}
.bess-brief .bb-hero-stat--g{
  background:linear-gradient(145deg, rgba(25,223,136,.3), rgba(12,122,71,.2));
  border:1px solid rgba(25,223,136,.3);
}

/* Hero charts */
.bess-brief .bb-hero-charts{
  grid-column:1 / -1;
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-top:4px;
}
.bess-brief .bb-hero-chart{
  background:rgba(0,0,0,.22);
  border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
  padding:12px 14px 10px;
}
.bess-brief .bb-hero-chart__head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:8px;
  margin-bottom:8px;
}
.bess-brief .bb-hero-chart__title{
  font-size:11px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(255,255,255,.75);
}
.bess-brief .bb-hero-chart__unit{
  font-size:10px;
  font-weight:600;
  color:rgba(255,255,255,.45);
}
.bess-brief .bb-hero-chart__svg{
  display:block;
  width:100%;
  height:auto;
}
.bess-brief .bb-hero-chart__legend{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  margin-top:8px;
  font-size:10px;
  color:rgba(255,255,255,.7);
}
.bess-brief .bb-hero-chart__legend span{
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.bess-brief .bb-dot{
  display:inline-block;
  width:7px;
  height:7px;
  border-radius:50%;
}
.bess-brief .bb-dot--c{ background:#09AFEA; }
.bess-brief .bb-dot--g{ background:#19DF88; }
.bess-brief .bb-dot--w{ background:rgba(255,255,255,.55); }
.bess-brief .bb-hero-chart__note{
  margin:6px 0 0;
  font-size:10px;
  color:rgba(255,255,255,.5);
  text-align:center;
}

/* ---------- Section boxes ---------- */
.bess-brief .bb-section{
  padding:28px 0;
}
.bess-brief .bb-box{
  background:var(--bb-white);
  border:1px solid var(--bb-border);
  border-radius:var(--bb-radius);
  box-shadow:var(--bb-shadow);
  padding:36px 40px;
}
.bess-brief .bb-box--dark{
  background:linear-gradient(160deg, #1b1f26 0%, #232a36 100%);
  color:#e7ebef;
  border-color:rgba(255,255,255,.08);
}
.bess-brief .bb-eyebrow{
  display:block;
  font-family:var(--alt-font, "Plus Jakarta Sans"), "Rubik", sans-serif;
  font-size:12.5px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--bb-cyan-deep);
  margin-bottom:8px;
}
.bess-brief .bb-box--dark .bb-eyebrow{ color:var(--bb-cyan); }
.bess-brief .bb-box h2{
  font-family:var(--alt-font, "Plus Jakarta Sans"), "Rubik", sans-serif;
  font-weight:700;
  font-size:clamp(24px, 2.8vw, 32px);
  line-height:1.2;
  letter-spacing:-.01em;
  color:var(--bb-navy);
  margin:0 0 8px;
}
.bess-brief .bb-box--dark h2{ color:#fff; }
.bess-brief .bb-lead{
  font-size:17px;
  line-height:1.7;
  color:#3b424d;
  margin:0 0 20px;
}
.bess-brief .bb-box--dark .bb-lead{ color:#d5dde5; }
.bess-brief .bb-note{
  font-size:13px;
  color:var(--bb-graphite);
  margin:18px 0 0;
}
.bess-brief .bb-box--dark .bb-note{ color:var(--bb-mist); }

/* ---------- Fundamentals split ---------- */
.bess-brief .bb-split{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:28px;
  align-items:start;
}
.bess-brief .bb-chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:8px;
}
.bess-brief .bb-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  border-radius:999px;
  font-size:13.5px;
  font-weight:600;
  background:#d6f1fc;
  color:var(--bb-cyan-deep);
  border:1px solid rgba(10,110,147,.22);
}
.bess-brief .bb-chip--g{
  background:#d8f8e8;
  color:var(--bb-green-deep);
  border-color:rgba(12,122,71,.22);
}
.bess-brief .bb-chip svg{
  width:15px; height:15px;
  flex:none;
}

.bess-brief .bb-diagram{
  background:var(--bb-canvas);
  border:1px solid var(--bb-border);
  border-radius:12px;
  padding:22px;
}
.bess-brief .bb-diagram__title{
  font-family:var(--alt-font, "Plus Jakarta Sans"), "Rubik", sans-serif;
  font-weight:700;
  font-size:16px;
  color:var(--bb-navy);
  margin:0 0 6px;
}
.bess-brief .bb-diagram__sub{
  font-size:13.5px;
  color:var(--bb-graphite);
  margin:0 0 16px;
}
.bess-brief .bb-comp{
  display:grid;
  gap:10px;
}
.bess-brief .bb-comp-item{
  display:flex;
  gap:12px;
  align-items:flex-start;
  background:#fff;
  border:1px solid var(--bb-border);
  border-radius:10px;
  padding:14px 16px;
}
.bess-brief .bb-comp-item svg{
  width:22px; height:22px;
  flex:none;
  stroke:var(--bb-cyan-deep);
  margin-top:2px;
}
.bess-brief .bb-comp-item--g svg{ stroke:var(--bb-green-deep); }
.bess-brief .bb-comp-item .t{
  font-weight:700;
  font-size:14.5px;
  color:var(--bb-navy);
  margin:0 0 2px;
}
.bess-brief .bb-comp-item .d{
  font-size:13.5px;
  color:var(--bb-graphite);
  margin:0;
  line-height:1.45;
}

/* ---------- Stats dashboard ---------- */
.bess-brief .bb-statgrid{
  display:grid;
  grid-template-columns:280px repeat(3, minmax(0,1fr));
  gap:16px;
  margin-top:24px;
}
.bess-brief .bb-ring{
  position:relative;
  width:100%;
  max-width:260px;
  aspect-ratio:1;
  margin:0 auto;
}
.bess-brief .bb-ring svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.bess-brief .bb-ring-inner{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:18%;
}
.bess-brief .bb-ring-inner .k{
  font-size:12px;
  color:var(--bb-mist);
  letter-spacing:.03em;
}
.bess-brief .bb-ring-inner .n{
  font-family:var(--alt-font, "Plus Jakarta Sans"), "Rubik", sans-serif;
  font-weight:800;
  font-size:42px;
  line-height:1;
  color:#fff;
  margin:6px 0 2px;
}
.bess-brief .bb-ring-inner .u{
  font-size:12.5px;
  color:var(--bb-mist);
  line-height:1.4;
}

.bess-brief .bb-scard{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
  padding:22px 20px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:160px;
}
.bess-brief .bb-scard .k{
  font-size:13px;
  color:var(--bb-mist);
  margin-bottom:10px;
}
.bess-brief .bb-scard .n{
  font-family:var(--alt-font, "Plus Jakarta Sans"), "Rubik", sans-serif;
  font-weight:800;
  font-size:clamp(28px, 2.8vw, 36px);
  color:#fff;
  line-height:1.1;
}
.bess-brief .bb-scard .n .unit{
  font-size:.48em;
  font-weight:700;
  color:var(--bb-mist);
}
.bess-brief .bb-scard .src{
  font-size:12.5px;
  color:rgba(201,210,219,.75);
  margin-top:10px;
}
.bess-brief .bb-scard--g{ border-left:3px solid var(--bb-green); }
.bess-brief .bb-scard--c{ border-left:3px solid var(--bb-cyan); }

/* ---------- Market ---------- */
.bess-brief .bb-market{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:24px;
  margin-top:8px;
}
.bess-brief .bb-chartcard{
  background:var(--bb-canvas);
  border:1px solid var(--bb-border);
  border-radius:12px;
  padding:22px;
}
.bess-brief .bb-chartcard .ct{
  font-family:var(--alt-font, "Plus Jakarta Sans"), "Rubik", sans-serif;
  font-weight:700;
  font-size:16px;
  color:var(--bb-navy);
}
.bess-brief .bb-chartcard .cs{
  font-size:13px;
  color:var(--bb-graphite);
  margin:4px 0 12px;
}
.bess-brief .bb-cagr{
  display:flex;
  align-items:baseline;
  gap:14px;
  margin-bottom:14px;
}
.bess-brief .bb-cagr .big{
  font-family:var(--alt-font, "Plus Jakarta Sans"), "Rubik", sans-serif;
  font-weight:800;
  font-size:48px;
  line-height:1;
  color:var(--bb-cyan-deep);
  background:linear-gradient(90deg, var(--bb-cyan-deep), var(--bb-green-deep));
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.bess-brief .bb-cagr .lbl{
  font-size:14px;
  font-weight:600;
  color:var(--bb-graphite);
  line-height:1.3;
}
.bess-brief .bb-callout{
  background:var(--bb-canvas);
  border:1px solid var(--bb-border);
  border-left:3px solid var(--bb-cyan);
  border-radius:10px;
  padding:16px 18px;
  margin-top:18px;
}
.bess-brief .bb-callout--g{ border-left-color:var(--bb-green); }
.bess-brief .bb-callout .t{
  font-weight:700;
  font-size:15px;
  color:var(--bb-navy);
  margin:0 0 6px;
}
.bess-brief .bb-callout .d{
  font-size:14.5px;
  color:var(--bb-graphite);
  margin:0;
  line-height:1.55;
}

/* ---------- Projects table ---------- */
.bess-brief .bb-tablewrap{
  overflow:auto;
  border:1px solid var(--bb-border);
  border-radius:12px;
  margin:18px 0;
}
.bess-brief .bb-table{
  width:100%;
  border-collapse:collapse;
  min-width:640px;
  font-size:14.5px;
}
.bess-brief .bb-table thead th{
  background:var(--bb-slate);
  color:#fff;
  font-family:var(--alt-font, "Plus Jakarta Sans"), "Rubik", sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
  text-align:left;
  padding:13px 16px;
  white-space:nowrap;
}
.bess-brief .bb-table tbody td{
  padding:13px 16px;
  border-top:1px solid var(--bb-mist);
  vertical-align:top;
}
.bess-brief .bb-table tbody tr:nth-child(even){ background:rgba(9,175,234,.035); }
.bess-brief .bb-table tbody tr:hover{ background:#d6f1fc; }
.bess-brief .bb-table .rt{ text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
.bess-brief .bb-tag{
  display:inline-block;
  font-size:12px;
  font-weight:600;
  padding:3px 9px;
  border-radius:4px;
  white-space:nowrap;
}
.bess-brief .bb-tag--plan{
  background:#d6f1fc;
  color:var(--bb-cyan-deep);
  border:1px solid rgba(10,110,147,.25);
}
.bess-brief .bb-tag--exist{
  background:#d8f8e8;
  color:var(--bb-green-deep);
  border:1px solid rgba(12,122,71,.25);
}

.bess-brief .bb-states{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:14px;
  margin-top:8px;
}
.bess-brief .bb-state{
  display:flex;
  gap:14px;
  align-items:flex-start;
  background:var(--bb-canvas);
  border:1px solid var(--bb-border);
  border-radius:12px;
  padding:18px;
}
.bess-brief .bb-state .r{
  font-family:var(--alt-font, "Plus Jakarta Sans"), "Rubik", sans-serif;
  font-weight:800;
  font-size:13px;
  letter-spacing:.06em;
  color:var(--bb-cyan-deep);
  background:#d6f1fc;
  border-radius:8px;
  min-width:40px;
  height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.bess-brief .bb-state .nm{
  font-weight:700;
  font-size:16px;
  color:var(--bb-navy);
  margin:0 0 4px;
}
.bess-brief .bb-state .d{
  font-size:13.5px;
  color:var(--bb-graphite);
  margin:0;
}

.bess-brief .bb-infographic{
  margin:28px 0 0;
  border:1px solid var(--bb-border);
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  box-shadow:var(--bb-shadow);
}
.bess-brief .bb-infographic img{
  display:block;
  width:100%;
  height:auto;
}
.bess-brief .bb-infographic--map{
  margin-top:22px;
}

/* ---------- Combined fundamentals block ---------- */
.bess-brief .bb-box--fundamentals .bb-split{
  margin-bottom:0;
}
.bess-brief .bb-fund-block{
  margin-top:36px;
  padding-top:36px;
  border-top:1px solid var(--bb-border);
}
.bess-brief .bb-fund-block--econ{
  margin-top:32px;
  padding-top:32px;
}

/* ---------- Chemistry comparison ---------- */
.bess-brief .bb-chem-head{
  margin-bottom:20px;
}
.bess-brief .bb-chem-title{
  font-family:var(--alt-font, "Plus Jakarta Sans"), "Rubik", sans-serif;
  font-weight:700;
  font-size:clamp(20px, 2.5vw, 26px);
  color:var(--bb-navy);
  margin:0 0 8px;
  line-height:1.25;
}
.bess-brief .bb-chem-desc{
  font-size:15px;
  color:var(--bb-graphite);
  margin:0;
  max-width:72ch;
  line-height:1.6;
}
.bess-brief .bb-tablewrap--chem{
  margin:0;
  border:1px solid var(--bb-border);
  border-radius:14px;
  overflow:hidden;
  box-shadow:var(--bb-shadow);
}
.bess-brief .bb-table--chem{
  min-width:720px;
  border-collapse:collapse;
}
.bess-brief .bb-table--chem thead th{
  background:linear-gradient(90deg, var(--bb-navy) 0%, var(--bb-cyan-deep) 100%);
  color:#fff;
  text-align:center;
  font-size:12px;
  font-weight:700;
  letter-spacing:.05em;
  text-transform:uppercase;
  padding:14px 16px;
  border:none;
}
.bess-brief .bb-table--chem thead th:first-child{
  text-align:left;
}
.bess-brief .bb-table--chem tbody th[scope="row"]{
  background:var(--bb-navy);
  color:#fff;
  font-family:var(--alt-font, "Plus Jakarta Sans"), "Rubik", sans-serif;
  font-size:14px;
  font-weight:700;
  text-align:left;
  padding:16px 18px;
  border-top:1px solid rgba(255,255,255,.08);
  vertical-align:middle;
}
.bess-brief .bb-chem-abbr{
  display:block;
  font-size:11.5px;
  font-weight:500;
  color:rgba(255,255,255,.65);
  margin-top:3px;
  letter-spacing:0;
  text-transform:none;
}
.bess-brief .bb-chem-tag{
  display:inline-block;
  margin-left:8px;
  padding:2px 8px;
  border-radius:20px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  background:linear-gradient(90deg, var(--bb-cyan), var(--bb-green));
  color:var(--bb-navy);
  vertical-align:middle;
}
.bess-brief .bb-table--chem tbody td{
  text-align:center;
  background:#fff;
  font-weight:500;
  font-size:14.5px;
  color:var(--bb-slate);
  padding:16px 14px;
  border-top:1px solid var(--bb-mist);
  vertical-align:middle;
}
.bess-brief .bb-table--chem tbody tr:nth-child(even) td{
  background:rgba(9,175,234,.04);
}
.bess-brief .bb-table--chem tbody tr:hover td{
  background:#d6f1fc;
}
.bess-brief .bb-chem-cost{
  font-weight:600;
  color:var(--bb-navy);
}
.bess-brief .bb-table--chem .bb-inr{
  display:block;
  font-size:12px;
  color:var(--bb-graphite);
  font-weight:400;
  margin-top:3px;
}
.bess-brief .bb-fit{
  display:inline-block;
  font-size:12px;
  font-weight:700;
  padding:5px 14px;
  border-radius:20px;
  letter-spacing:.02em;
  white-space:nowrap;
}
.bess-brief .bb-fit--excellent{
  background:#d8f8e8;
  color:var(--bb-green-deep);
  border:1px solid rgba(12,122,71,.2);
}
.bess-brief .bb-fit--strong{
  background:linear-gradient(135deg, #d6f1fc, #d8f8e8);
  color:var(--bb-cyan-deep);
  border:1px solid rgba(9,175,234,.25);
}
.bess-brief .bb-fit--fair{
  background:#eef2f6;
  color:var(--bb-graphite);
  border:1px solid var(--bb-border);
}
.bess-brief .bb-fit--limited{
  background:#f5f5f5;
  color:#888;
  border:1px solid rgba(38,43,52,.1);
}
.bess-brief .bb-table--chem .bb-row--highlight th[scope="row"]{
  background:linear-gradient(90deg, var(--bb-cyan-deep) 0%, var(--bb-navy) 100%);
  color:#fff;
  box-shadow:inset 4px 0 0 0 var(--bb-green);
}
.bess-brief .bb-table--chem .bb-row--highlight td{
  background:rgba(9,175,234,.1);
  font-weight:600;
  color:var(--bb-navy);
}
.bess-brief .bb-table--chem .bb-row--highlight:hover td{
  background:rgba(9,175,234,.16);
}
.bess-brief .bb-chem-note{
  margin:12px 0 0;
  font-size:12.5px;
  color:var(--bb-graphite);
  line-height:1.5;
}

/* ---------- Economic KPIs ---------- */
.bess-brief .bb-econ-head{
  margin-bottom:22px;
}
.bess-brief .bb-econ-title{
  font-family:var(--alt-font, "Plus Jakarta Sans"), "Rubik", sans-serif;
  font-weight:700;
  font-size:clamp(20px, 2.5vw, 26px);
  color:var(--bb-navy);
  margin:0 0 8px;
  line-height:1.25;
}
.bess-brief .bb-econ-desc{
  font-size:15px;
  color:var(--bb-graphite);
  margin:0;
  max-width:72ch;
  line-height:1.6;
}
.bess-brief .bb-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:16px;
}
.bess-brief .bb-kpi{
  position:relative;
  background:var(--bb-white);
  border:1px solid var(--bb-border);
  border-radius:14px;
  padding:20px 18px 18px;
  color:var(--bb-slate);
  min-height:0;
  display:flex;
  flex-direction:column;
  gap:14px;
  box-shadow:var(--bb-shadow);
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.bess-brief .bb-kpi::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:linear-gradient(90deg, var(--bb-cyan), var(--bb-green));
}
.bess-brief .bb-kpi--lcos::before,
.bess-brief .bb-kpi--irr::before{
  background:linear-gradient(90deg, var(--bb-green), var(--bb-cyan));
}
.bess-brief .bb-kpi:hover{
  transform:translateY(-3px);
  border-color:rgba(9,175,234,.32);
  box-shadow:0 12px 28px rgba(26,32,80,.1);
}
.bess-brief .bb-kpi__icon{
  width:42px;
  height:42px;
  border-radius:11px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  background:rgba(9,175,234,.1);
  color:var(--bb-cyan-deep);
}
.bess-brief .bb-kpi--lcos .bb-kpi__icon,
.bess-brief .bb-kpi--irr .bb-kpi__icon{
  background:rgba(25,223,136,.12);
  color:var(--bb-green-deep);
}
.bess-brief .bb-kpi__icon svg{
  width:22px;
  height:22px;
}
.bess-brief .bb-kpi__body{
  flex:1;
  display:flex;
  flex-direction:column;
}
.bess-brief .bb-kpi__label{
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--bb-cyan-deep);
  margin-bottom:8px;
}
.bess-brief .bb-kpi--lcos .bb-kpi__label,
.bess-brief .bb-kpi--irr .bb-kpi__label{
  color:var(--bb-green-deep);
}
.bess-brief .bb-kpi__value{
  font-family:var(--alt-font, "Plus Jakarta Sans"), "Rubik", sans-serif;
  font-size:clamp(21px, 2.2vw, 27px);
  font-weight:800;
  line-height:1.15;
  color:var(--bb-navy);
  margin-bottom:8px;
}
.bess-brief .bb-kpi__unit{
  font-size:.58em;
  font-weight:700;
  color:var(--bb-graphite);
  letter-spacing:0;
  text-transform:none;
}
.bess-brief .bb-kpi__note{
  font-size:13px;
  color:var(--bb-graphite);
  line-height:1.45;
  margin-top:auto;
}
.bess-brief .bb-econ-note{
  margin:14px 0 0;
  font-size:12.5px;
  color:var(--bb-graphite);
  line-height:1.5;
}

/* ---------- Drivers / takeaways ---------- */
.bess-brief .bb-dgrid,
.bess-brief .bb-tgrid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:16px;
  margin-top:8px;
}
.bess-brief .bb-dcard,
.bess-brief .bb-tcard{
  background:var(--bb-canvas);
  border:1px solid var(--bb-border);
  border-radius:12px;
  padding:22px;
  height:100%;
  transition:transform .18s ease, box-shadow .18s ease;
}
.bess-brief .bb-dcard:hover,
.bess-brief .bb-tcard:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(26,32,80,.08);
}
.bess-brief .bb-dcard svg{
  width:28px; height:28px;
  stroke:var(--bb-cyan-deep);
  margin-bottom:12px;
}
.bess-brief .bb-dcard--g svg{ stroke:var(--bb-green-deep); }
.bess-brief .bb-dcard .t,
.bess-brief .bb-tcard .th{
  font-family:var(--alt-font, "Plus Jakarta Sans"), "Rubik", sans-serif;
  font-weight:700;
  font-size:16px;
  color:var(--bb-navy);
  margin:0 0 8px;
}
.bess-brief .bb-dcard .d,
.bess-brief .bb-tcard .td{
  font-size:14.5px;
  color:var(--bb-graphite);
  margin:0;
  line-height:1.55;
}
.bess-brief .bb-tcard .tn{
  font-family:var(--alt-font, "Plus Jakarta Sans"), "Rubik", sans-serif;
  font-weight:800;
  font-size:13px;
  letter-spacing:.08em;
  color:var(--bb-cyan-deep);
  margin-bottom:10px;
}

.bess-brief .bb-context{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:18px;
}

/* ---------- CTA ---------- */
.bess-brief .bb-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
  background:linear-gradient(120deg, rgba(9,175,234,.08), rgba(25,223,136,.08));
  border:1px solid var(--bb-border);
  border-radius:var(--bb-radius);
  padding:28px 32px;
}
.bess-brief .bb-cta h3{
  font-family:var(--alt-font, "Plus Jakarta Sans"), "Rubik", sans-serif;
  font-weight:700;
  font-size:24px;
  color:var(--bb-navy);
  margin:0 0 6px;
}
.bess-brief .bb-cta .pos{
  font-size:14.5px;
  color:var(--bb-graphite);
  margin:0;
}
.bess-brief .bb-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:var(--bb-navy);
  color:#fff !important;
  text-decoration:none !important;
  font-weight:600;
  font-size:15px;
  padding:14px 22px;
  border-radius:10px;
  transition:background .18s ease, transform .18s ease;
}
.bess-brief .bb-btn:hover{
  background:var(--bb-cyan-deep);
  transform:translateY(-1px);
}
.bess-brief .bb-btn svg{
  width:18px; height:18px;
  stroke:currentColor;
}

.bess-brief .bb-prov{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid var(--bb-border);
}
.bess-brief .bb-prov .ph{
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--bb-graphite);
  margin-bottom:8px;
}
.bess-brief .bb-prov p{
  font-size:13.5px;
  color:var(--bb-graphite);
  margin:0 0 10px;
  line-height:1.6;
}
.bess-brief .bb-prov p:last-child{ margin-bottom:0; }

/* reveal */
.bess-brief .bb-reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .55s ease, transform .55s ease;
}
.bess-brief .bb-reveal.is-visible{
  opacity:1;
  transform:none;
}

@media (max-width:991px){
  .bess-brief .bb-hero{ padding:90px 0 0; }
  .bess-brief .bb-hero__inner{
    grid-template-columns:1fr;
    gap:28px;
    padding-bottom:28px;
  }
  .bess-brief .bb-hero__visual{
    min-height:auto;
    max-width:480px;
  }
  .bess-brief .bb-hero__lines{ display:none; }
  .bess-brief .bb-hero-meta{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .bess-brief .bb-hero-meta__item{
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.1);
  }
  .bess-brief .bb-hero-meta__item:nth-child(odd){
    border-right:1px solid rgba(255,255,255,.1);
  }
  .bess-brief .bb-hero-meta__item:nth-last-child(-n+1){
    grid-column:1 / -1;
    border-right:0;
  }
  .bess-brief .bb-box{ padding:28px 24px; }
  .bess-brief .bb-split,
  .bess-brief .bb-market,
  .bess-brief .bb-statgrid,
  .bess-brief .bb-dgrid,
  .bess-brief .bb-tgrid,
  .bess-brief .bb-states,
  .bess-brief .bb-context,
  .bess-brief .bb-kpi-grid{
    grid-template-columns:1fr;
  }
  .bess-brief .bb-kpi-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .bess-brief .bb-statgrid{ grid-template-columns:1fr 1fr; }
  .bess-brief .bb-ring{ grid-column:1 / -1; max-width:220px; }
}

@media (max-width:575px){
  .bess-brief .bb-wrap{ padding:0 16px; }
  .bess-brief .bb-hero-meta,
  .bess-brief .bb-statgrid{ grid-template-columns:1fr; }
  .bess-brief .bb-hero-meta__item{
    border-right:0 !important;
  }
  .bess-brief .bb-box{ padding:22px 16px; }
  .bess-brief .bb-cagr .big{ font-size:40px; }
  .bess-brief .bb-kpi-grid{ grid-template-columns:1fr; }
}

/* ---------- Responsive tables (mobile only — desktop unchanged) ---------- */
@media (max-width:767px){
  /* Chemistry comparison → stacked cards */
  .bess-brief .bb-tablewrap--chem{
    overflow:visible;
    border:0;
    border-radius:0;
    box-shadow:none;
    background:transparent;
  }
  .bess-brief .bb-table--chem{
    min-width:0;
    width:100%;
    display:block;
  }
  .bess-brief .bb-table--chem thead{
    display:none;
  }
  .bess-brief .bb-table--chem tbody{
    display:flex;
    flex-direction:column;
    gap:12px;
  }
  .bess-brief .bb-table--chem tbody tr{
    display:block;
    border:1px solid var(--bb-border);
    border-radius:14px;
    overflow:hidden;
    background:var(--bb-white);
    box-shadow:var(--bb-shadow);
  }
  .bess-brief .bb-table--chem tbody th[scope="row"]{
    display:block;
    width:100%;
    box-sizing:border-box;
    padding:14px 16px;
    border-top:0;
    border-radius:0;
  }
  .bess-brief .bb-table--chem .bb-chem-tag{
    display:inline-block;
    margin:6px 0 0 0;
  }
  .bess-brief .bb-table--chem tbody td{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    text-align:right;
    padding:12px 16px;
    border-top:1px solid var(--bb-mist);
    background:#fff !important;
  }
  .bess-brief .bb-table--chem tbody tr:nth-child(even) td{
    background:#fff !important;
  }
  .bess-brief .bb-table--chem tbody tr:hover td{
    background:#fff !important;
  }
  .bess-brief .bb-table--chem tbody td::before{
    content:attr(data-label);
    flex-shrink:0;
    font-size:11.5px;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:var(--bb-graphite);
    text-align:left;
  }
  .bess-brief .bb-table--chem .bb-chem-cost,
  .bess-brief .bb-table--chem .bb-inr{
    text-align:right;
  }
  .bess-brief .bb-table--chem .bb-inr{
    display:block;
  }
  .bess-brief .bb-table--chem .bb-row--highlight td{
    background:rgba(9,175,234,.04) !important;
  }
  .bess-brief .bb-table--chem .bb-row--highlight:hover td{
    background:rgba(9,175,234,.04) !important;
  }

  /* Projects table → stacked cards */
  .bess-brief .bb-tablewrap--projects{
    overflow:visible;
    border:0;
    border-radius:0;
    background:transparent;
  }
  .bess-brief .bb-table--projects{
    min-width:0;
    width:100%;
    display:block;
  }
  .bess-brief .bb-table--projects thead{
    display:none;
  }
  .bess-brief .bb-table--projects tbody{
    display:flex;
    flex-direction:column;
    gap:12px;
  }
  .bess-brief .bb-table--projects tbody tr{
    display:block;
    border:1px solid var(--bb-border);
    border-radius:12px;
    overflow:hidden;
    background:var(--bb-white);
    box-shadow:var(--bb-shadow);
  }
  .bess-brief .bb-table--projects tbody tr:nth-child(even),
  .bess-brief .bb-table--projects tbody tr:hover{
    background:var(--bb-white);
  }
  .bess-brief .bb-table--projects tbody td{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 16px;
    border-top:1px solid var(--bb-mist);
    text-align:right;
  }
  .bess-brief .bb-table--projects tbody td:first-child{
    display:block;
    background:var(--bb-slate);
    color:#fff;
    font-family:var(--alt-font, "Plus Jakarta Sans"), "Rubik", sans-serif;
    font-weight:700;
    font-size:15px;
    text-align:left;
    border-top:0;
    padding:14px 16px;
  }
  .bess-brief .bb-table--projects tbody td:first-child::before{
    display:none;
  }
  .bess-brief .bb-table--projects tbody td::before{
    content:attr(data-label);
    flex-shrink:0;
    font-size:11.5px;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:var(--bb-graphite);
    text-align:left;
  }
  .bess-brief .bb-table--projects tbody td.rt{
    text-align:right;
    white-space:normal;
  }
}

@media (prefers-reduced-motion:reduce){
  .bess-brief .bb-reveal{ opacity:1; transform:none; transition:none; }
}
