
/* ── NAV ── */
nav{position:sticky;top:0;z-index:200;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-bottom:var(--border);padding:0 2.5rem;display:flex;align-items:center;justify-content:space-between;height:60px}
.logo{text-decoration:none;flex-shrink:0;display:flex;align-items:center}
.logo-dot{color:var(--red)}
.nav-links{display:flex;align-items:center;gap:1.5rem}
.nav-links a{font-size:13px;color:var(--gray-600,#5a5a57);text-decoration:none;transition:.15s;white-space:nowrap}
.nav-links a:hover,.nav-links a.active{color:var(--black)}
.nav-links a.active{font-weight:500}
.nav-pill{background:var(--black)!important;color:var(--white)!important;font-size:12px!important;font-weight:500!important;padding:7px 18px!important;border-radius:100px!important}
.nav-pill:hover{background:var(--red)!important}
/* HAMBURGER */
.nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;border:none;background:none}
.nav-hamburger span{display:block;width:22px;height:2px;background:var(--black);border-radius:2px;transition:.25s}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-hamburger.open span:nth-child(2){opacity:0}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu{display:none;position:fixed;top:60px;left:0;right:0;bottom:0;background:var(--white);z-index:199;padding:2rem 2.5rem;flex-direction:column;border-top:var(--border,1px solid #d8d8d6);overflow-y:auto}
.mobile-menu.open{display:flex}
.mobile-menu a{font-size:18px;color:var(--black);text-decoration:none;padding:1rem 0;border-bottom:var(--border,1px solid #d8d8d6);font-family:var(--display);letter-spacing:.04em}
.nav-pill-mob{background:var(--red)!important;color:var(--white)!important;text-align:center;border-radius:8px;margin-top:1rem;font-size:16px;border-bottom:none!important}
/* FOOTER */
footer{border-top:var(--border,1px solid #d8d8d6);padding:2rem 2.5rem;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--gray-500,#7a7a76);margin-top:5rem;flex-wrap:wrap;gap:1rem}
footer a{color:var(--gray-500,#7a7a76);text-decoration:none}
footer a:hover{color:var(--black)}
/* BREADCRUMB */
.breadcrumb{padding:.75rem 2.5rem;border-bottom:var(--border,1px solid #d8d8d6);font-size:13px;color:var(--gray-500,#7a7a76)}
.breadcrumb a{color:var(--gray-500,#7a7a76);text-decoration:none}
.breadcrumb a:hover{color:var(--black)}
.breadcrumb span{margin:0 6px;color:var(--gray-400,#9e9e9a)}
@media(max-width:900px){
  nav{padding:0 1.25rem}
  .nav-links{display:none!important}
  .nav-hamburger{display:flex!important}
  .breadcrumb{padding:.75rem 1.25rem}
  footer{padding:1.5rem 1.25rem;margin-top:3rem}
}
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --black:#080808;--white:#ffffff;--off-white:#fafaf8;
  --red:#CC2200;--red-pale:#FFF0EE;--red-border:#FFCCC4;
  --gray-50:#f5f5f3;--gray-100:#ebebea;--gray-200:#d8d8d6;
  --gray-300:#bfbfbc;--gray-400:#9e9e9a;--gray-500:#7a7a76;
  --gray-600:#5a5a57;--gray-700:#3d3d3a;--gray-800:#252523;
  --display:'Bebas Neue',sans-serif;
  --serif:'Instrument Serif',serif;
  --sans:'DM Sans',sans-serif;
  --border:1px solid var(--gray-200);
}
html{font-size:16px;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--white);color:var(--black);line-height:1.6;overflow-x:hidden}

/* ── COVER ── */
.cover{background:var(--black);padding:5rem 2.5rem 4rem;position:relative;overflow:hidden}
.cover::before{content:"2026";font-family:var(--display);font-size:320px;letter-spacing:.02em;color:rgba(255,255,255,.03);position:absolute;right:-20px;top:50%;transform:translateY(-50%);line-height:1;pointer-events:none}
.cover-inner{max-width:1060px;margin:0 auto;display:grid;grid-template-columns:1fr 320px;gap:4rem;align-items:center}
.cover-kicker{display:flex;align-items:center;gap:10px;margin-bottom:1.25rem}
.cover-kicker-line{width:28px;height:2px;background:var(--red)}
.cover-kicker-text{font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.cover h1{font-family:var(--display);font-size:72px;line-height:.92;letter-spacing:.03em;color:var(--white);margin-bottom:1.5rem}
.cover h1 em{font-family:var(--serif);font-style:italic;font-size:76px;letter-spacing:0;color:var(--red)}
.cover-desc{font-size:16px;color:var(--gray-400);line-height:1.75;max-width:500px;margin-bottom:2rem}
.cover-meta{display:flex;gap:1.5rem;flex-wrap:wrap}
.cover-meta-item{font-size:13px;color:var(--gray-500)}
.cover-meta-item strong{color:var(--white);display:block;font-family:var(--display);font-size:20px;letter-spacing:.04em;margin-bottom:2px}
.cover-download{background:var(--red);color:var(--white);font-size:14px;font-weight:500;padding:12px 28px;border-radius:100px;text-decoration:none;transition:.15s;display:inline-block;margin-top:1.5rem}
.cover-download:hover{background:#a01800}
/* Summary card on cover */
.cover-summary{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:1.75rem}
.cs-title{font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-500);margin-bottom:1.25rem}
.cs-stat{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.cs-stat:last-child{border-bottom:none}
.cs-stat .cv{font-family:var(--display);font-size:32px;letter-spacing:.04em;color:var(--white);line-height:1}
.cs-stat .cl{font-size:12px;color:var(--gray-500);margin-top:2px}

/* ── EXEC SUMMARY ── */
.exec-summary{background:var(--off-white);border-bottom:var(--border);padding:3rem 2.5rem}
.exec-inner{max-width:1060px;margin:0 auto;display:grid;grid-template-columns:280px 1fr;gap:3.5rem;align-items:start}
.exec-label{font-family:var(--display);font-size:22px;letter-spacing:.06em;color:var(--gray-400);text-transform:uppercase;padding-top:.25rem}
.exec-findings{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.finding-card{background:var(--white);border:var(--border);border-radius:10px;padding:1.25rem}
.finding-card.highlight{border-color:var(--red);border-width:2px}
.fc-num{font-family:var(--display);font-size:44px;letter-spacing:.03em;color:var(--black);line-height:1;margin-bottom:.25rem}
.fc-num.red{color:var(--red)}
.fc-label{font-size:13px;color:var(--gray-600);line-height:1.5}
.fc-label strong{color:var(--black)}

/* ── SECTION LAYOUT ── */
.report-body{max-width:1060px;margin:0 auto;padding:4rem 2.5rem 5rem;display:grid;grid-template-columns:1fr 260px;gap:4rem;align-items:start}
.report-content{}

/* SECTION HEADS */
.section-label{display:flex;align-items:center;gap:12px;margin-bottom:.75rem}
.section-num{font-family:var(--display);font-size:13px;letter-spacing:.12em;color:var(--red);text-transform:uppercase}
.section-line{flex:1;height:1px;background:var(--gray-200)}
.report-h2{font-family:var(--display);font-size:42px;letter-spacing:.03em;color:var(--black);line-height:1;margin-bottom:1rem;scroll-margin-top:80px}
.report-h2 em{font-family:var(--serif);font-style:italic;font-size:46px;letter-spacing:0;color:var(--red)}
.report-intro{font-size:16px;color:var(--gray-600);line-height:1.8;margin-bottom:2.5rem;max-width:620px}
.report-section{margin-bottom:4.5rem}

/* STAT BLOCKS */
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--gray-200);border:var(--border);border-radius:12px;overflow:hidden;margin:1.5rem 0}
.stat-row.two{grid-template-columns:repeat(2,1fr)}
.stat-row.four{grid-template-columns:repeat(4,1fr)}
.stat-cell{background:var(--white);padding:1.5rem}
.stat-cell.dark{background:var(--black)}
.sc-num{font-family:var(--display);font-size:52px;letter-spacing:.03em;color:var(--black);line-height:1}
.stat-cell.dark .sc-num{color:var(--white)}
.sc-num.red{color:var(--red)}
.sc-unit{font-family:var(--display);font-size:24px;letter-spacing:.03em;vertical-align:super}
.sc-label{font-size:13px;color:var(--gray-500);margin-top:.4rem;line-height:1.5}
.stat-cell.dark .sc-label{color:var(--gray-500)}
.sc-sub{font-size:12px;color:var(--gray-400);margin-top:4px}

/* BAR CHARTS */
.bar-chart{margin:1.5rem 0;display:flex;flex-direction:column;gap:10px}
.bc-row{display:flex;align-items:center;gap:12px}
.bc-label{font-size:13px;color:var(--gray-700);width:220px;flex-shrink:0;line-height:1.4}
.bc-bar-wrap{flex:1;height:32px;background:var(--gray-100);border-radius:4px;overflow:hidden;position:relative}
.bc-bar{height:100%;background:var(--black);border-radius:4px;transition:width 1s cubic-bezier(.4,0,.2,1);width:0}
.bc-bar.red{background:var(--red)}
.bc-bar.gray{background:var(--gray-300)}
.bc-pct{font-family:var(--display);font-size:15px;letter-spacing:.04em;color:var(--black);width:48px;text-align:right;flex-shrink:0}
.bc-n{font-size:11px;color:var(--gray-400);position:absolute;right:8px;top:50%;transform:translateY(-50%)}

/* DONUT CHARTS (CSS only) */
.donut-row{display:flex;gap:2rem;flex-wrap:wrap;margin:1.5rem 0;align-items:flex-start}
.donut-item{text-align:center;min-width:120px}
.donut{width:100px;height:100px;border-radius:50%;margin:0 auto .75rem;position:relative;display:flex;align-items:center;justify-content:center}
.donut-label{font-size:12px;color:var(--gray-600);line-height:1.4}
.donut-val{font-family:var(--display);font-size:20px;letter-spacing:.04em;color:var(--black)}

/* QUOTE BLOCK */
.quote-block{border-left:3px solid var(--red);padding:1.25rem 1.5rem 1.25rem 1.75rem;margin:2rem 0;background:var(--gray-50);border-radius:0 10px 10px 0}
.quote-block blockquote{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--black);line-height:1.65;margin-bottom:.75rem}
.quote-attr{font-size:13px;color:var(--gray-500)}
.quote-attr strong{color:var(--black)}

/* CALLOUT */
.callout{background:var(--black);border-radius:12px;padding:1.75rem 2rem;margin:2rem 0}
.callout-label{font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:.6rem}
.callout p{font-size:15px;color:var(--white);line-height:1.75;margin-bottom:0}
.callout p strong{color:var(--red)}

/* SPLIT STAT */
.split-stat{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--gray-200);border:var(--border);border-radius:12px;overflow:hidden;margin:1.5rem 0}
.ss-cell{background:var(--white);padding:1.5rem;text-align:center}
.ss-num{font-family:var(--display);font-size:60px;letter-spacing:.03em;line-height:1;margin-bottom:.25rem}
.ss-label{font-size:13px;color:var(--gray-600);line-height:1.5}

/* RANKED LIST */
.ranked-list{border:var(--border);border-radius:12px;overflow:hidden;margin:1.5rem 0}
.rl-head{background:var(--black);padding:.75rem 1.25rem;display:grid;grid-template-columns:40px 1fr 80px;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-500)}
.rl-row{display:grid;grid-template-columns:40px 1fr 80px;align-items:center;padding:10px 1.25rem;border-bottom:1px solid var(--gray-100);background:var(--white)}
.rl-row:last-child{border-bottom:none}
.rl-row:nth-child(odd){background:var(--gray-50)}
.rl-rank{font-family:var(--display);font-size:16px;letter-spacing:.04em;color:var(--gray-300)}
.rl-name{font-size:14px;color:var(--gray-800)}
.rl-pct{font-family:var(--display);font-size:16px;letter-spacing:.04em;color:var(--black);text-align:right}
.rl-bar-inline{height:3px;background:var(--gray-200);border-radius:2px;margin-top:4px;overflow:hidden}
.rl-bar-fill{height:100%;background:var(--red);border-radius:2px}

/* TABLE */
.data-table{width:100%;border-collapse:collapse;font-size:14px;border:var(--border);border-radius:10px;overflow:hidden;margin:1.5rem 0}
.data-table th{padding:9px 14px;background:var(--black);color:var(--white);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;text-align:left}
.data-table td{padding:9px 14px;border-bottom:1px solid var(--gray-100);color:var(--gray-700)}
.data-table tr:last-child td{border-bottom:none}
.data-table tr:nth-child(odd) td{background:var(--gray-50)}
.data-table tr:hover td{background:var(--red-pale)}

/* SIDEBAR NAV */
.report-sidebar{position:sticky;top:80px}
.toc-nav{border:var(--border);border-radius:12px;overflow:hidden;margin-bottom:1.25rem}
.toc-head{background:var(--black);padding:.75rem 1.25rem}
.toc-head h3{font-family:var(--display);font-size:16px;letter-spacing:.04em;color:var(--white)}
.toc-body{padding:.75rem 1.25rem;background:var(--white)}
.toc-body a{display:block;font-size:13px;color:var(--gray-600);text-decoration:none;padding:5px 0;border-bottom:1px solid var(--gray-100);line-height:1.4;transition:.15s}
.toc-body a:last-child{border-bottom:none}
.toc-body a:hover,.toc-body a.active{color:var(--red)}
.toc-body a.active{font-weight:500}
/* Share sidebar */
.share-sb{border:var(--border);border-radius:12px;padding:1.25rem;background:var(--off-white)}
.share-sb h4{font-size:13px;font-weight:500;color:var(--black);margin-bottom:.75rem}
.share-btns{display:flex;flex-direction:column;gap:7px}
.share-btn{font-family:var(--sans);font-size:13px;padding:9px 14px;border-radius:8px;border:var(--border);background:var(--white);color:var(--gray-700);cursor:pointer;text-align:left;text-decoration:none;transition:.15s;display:block}
.share-btn:hover{border-color:var(--black);color:var(--black)}
/* Rankings cta */
.rankings-sb{background:var(--black);border-radius:12px;padding:1.25rem;text-align:center;margin-top:1.25rem}
.rankings-sb h3{font-family:var(--display);font-size:18px;letter-spacing:.04em;color:var(--white);margin-bottom:.4rem}
.rankings-sb p{font-size:12px;color:var(--gray-400);line-height:1.6;margin-bottom:.9rem}
.rankings-sb a{display:inline-block;background:var(--red);color:var(--white);font-size:12px;font-weight:500;padding:8px 20px;border-radius:100px;text-decoration:none;transition:.15s}
.rankings-sb a:hover{background:#a01800}

/* METHODOLOGY NOTE */
.methodology-note{background:var(--gray-50);border:var(--border);border-radius:12px;padding:1.5rem;margin-top:3rem;font-size:13px;color:var(--gray-600);line-height:1.7}
.methodology-note strong{color:var(--black)}
/* ── ELEMENTOR CANVAS OVERRIDES ── */
html, body {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
}
.elementor, .elementor-section-wrap,
.elementor-section, .elementor-container,
.elementor-column, .elementor-column-wrap,
.elementor-widget-wrap, .elementor-widget,
.elementor-widget-container,
.e-con, .e-con-inner {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
