
:root{
  --brand-50:#EBEEFD;
  --brand-100:#D8DEFC;
  --brand-500:#3A58EF;
  --brand-600:#314BD0;
  --brand-700:#283FB1;
  --brand-800:#12327B;
  --brand-900:#04092A;
  --navy-text:#26244A;
  --dark-text:#2A3343;
  --gray-900:#101828;
  --gray-700:#344054;
  --gray-600:#475467;
  --gray-500:#5D667B;
  --gray-400:#98A2B3;
  --gray-300:#D0D5DD;
  --gray-200:#EAECF0;
  --gray-50:#F9FAFB;
  /* Additional tokens required by the interactive M&A tracker module */
  --purple-50:#F3F1FD;
  --purple-400:#7162EA;
  --purple-500:#5849D0;
  --success-50:#ECFDF3;
  --success-500:#12B76A;
  --success-700:#027A48;
  --warning-50:#FFFAEB;
  --warning-500:#F79009;
  --warning-700:#B54708;
  --error-50:#FEF3F2;
  --error-500:#F04438;
  --error-700:#B42318;
  --teal-50:#F0FDFA;
  --teal-500:#0D9488;
  --teal-700:#0F766E;
  --radius-sm:4px;
  --radius-md:8px;
  --radius-lg:12px;
  --radius-pill:64px;
  --shadow-sm:0 1px 3px rgba(16,24,40,0.08);
  --shadow-md:0 4px 12px rgba(16,24,40,0.10);
  --shadow-lg:0 16px 32px rgba(16,24,40,0.14);
}
html{scroll-behavior:smooth;}
*{box-sizing:border-box;}
body{
  font-family:'Inter',sans-serif;
  color:var(--gray-900);
  background:#fff;
  -webkit-font-smoothing:antialiased;
}
a{text-decoration:none;}
img{max-width:100%;}

/* ============ TOP UTILITY BAR ============ */
.top-bar{
  background:var(--brand-50);
  border-bottom:1px solid var(--gray-200);
}
.top-bar .nav-link-item{
  font-size:14px;
  font-weight:500;
  color:var(--gray-600);
  padding:12px;
  border-radius:4px;
  white-space:nowrap;
}
.top-bar .nav-link-item.active{
  background:#fff;
  color:var(--dark-text);
}
.top-bar .nav-link-item:hover{ color:var(--brand-500); }

/* ============ MAIN HEADER ============ */
.main-header{
  background:#fff;
  border-bottom:1px solid var(--gray-200);
}
.main-header .logo-img{ height:26px; width:auto; }
.main-nav .nav-pill{
  font-size:14px;
  font-weight:500;
  color:var(--dark-text);
  padding:8px 12px;
  border-radius:4px;
  display:flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  background:transparent;
  border:none;
}
.main-nav .nav-pill.active-pill{ background:var(--brand-100); }
.main-nav .nav-pill:hover{ background:var(--brand-50); }
.main-nav .nav-pill i{ font-size:16px; }
.btn-schedule{
  background:var(--brand-500);
  color:#fff;
  font-size:14px;
  font-weight:600;
  padding:8px 14px;
  border-radius:4px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:none;
  white-space:nowrap;
}
.btn-schedule:hover{ background:var(--brand-600); color:#fff; }

/* ============ HERO ============ */
.hero-section{
  position:relative;
  background:
    radial-gradient(1200px 600px at 85% 0%, rgba(137,89,250,0.55), transparent 60%),
    radial-gradient(900px 500px at 15% 100%, rgba(244,7,151,0.25), transparent 55%),
    linear-gradient(120deg,#020a3d 0%, #0530b8 45%, #3a6bff 75%, #4f8dff 100%);
  overflow:hidden;
  padding-bottom:72px;
}
.hero-section::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(4,9,42,0.35), rgba(4,9,42,0) 60%);
  pointer-events:none;
}
.hero-inner{ position:relative; z-index:1; }
.hero-title{
  font-size:48px;
  font-weight:700;
  color:#fff;
  line-height:1.25;
  letter-spacing:-0.02em;
}
.hero-body{
  font-size:20px;
  font-weight:400;
  color:#fff;
  line-height:1.5;
}
.hero-actions .btn-white{
  background:#fff;
  color:var(--brand-500);
  font-weight:600;
  font-size:16px;
  padding:12px 20px;
  border-radius:4px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  box-shadow:0 1px 2px rgba(16,24,40,.05);
}
.hero-actions .btn-white:hover{ background:#f2f4ff; color:var(--brand-600); }
.hero-actions .btn-outline-white{
  background:transparent;
  border:1px solid #fff;
  color:#fff;
  font-weight:600;
  font-size:16px;
  padding:12px 20px;
  border-radius:4px;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.hero-actions .btn-outline-white:hover{ background:rgba(255,255,255,0.1); color:#fff; }
.hero-illustration-card{
  background:#fff;
  border:none;
  border-radius:12px;
  padding:0;
  width:100%;
  max-width:648px;
  margin-left:auto;
  overflow:hidden;
}
.hero-illustration-card img{ width:100%; height:auto; display:block; border-radius:12px; }
.hero-centered{ max-width:820px; margin-left:auto; margin-right:auto; text-align:center; }
.hero-centered .hero-actions{ justify-content:center; }
.hero-stats{ position:relative; z-index:2; margin-top:-56px; }
.stat-card{
  background:#fff;
  border:1px solid var(--gray-300);
  border-radius:12px;
  padding:16px;
  text-align:center;
  height:100%;
}

.stat-card img{ width:36px; height:36px; margin:0 auto 12px; display:block; }
.stat-card .stat-num{
  font-size:24px;
  font-weight:700;
  color:var(--dark-text);
  line-height:32px;
}
.stat-card .stat-label{
  font-size:14px;
  font-weight:400;
  color:var(--dark-text);
  line-height:20px;
}

/* ============ SECTION HEADINGS ============ */
.section-pad{ padding:72px 0; }
@media (max-width:991px){ .section-pad{ padding:48px 0; } }
.section-title{
  font-size:36px;
  font-weight:700;
  color:var(--navy-text);
  text-align:center;
  letter-spacing:-0.02em;
  line-height:1.2;
}
.section-subtitle{
  font-size:18px;
  font-weight:400;
  color:var(--gray-600);
  text-align:center;
  line-height:28px;
}
@media (max-width:767px){
  .section-title{ font-size:28px; }
}

/* ── FAQ SECTION ── */
.faq-section{ background:#fff; }
.faq-section-inner{ display:flex; gap:24px; align-items:flex-start; }
.faq-heading-col{ width:424px; flex:none; padding-top:4px; }
.faq-heading-col h2{ font-size:36px; font-weight:700; line-height:1.2; letter-spacing:-0.72px; color:var(--brand-900); margin:0; }
.faq-heading-col h2 span{ color:var(--brand-500); }
.faq-list{ flex:1; min-width:0; display:flex; flex-direction:column; gap:0; }
.faq-item{ background:transparent; }
.faq-btn{ cursor:pointer; width:100%; text-align:left; background:transparent; border:none; padding:24px 0; display:flex; align-items:flex-start; gap:24px; font-family:'Inter',sans-serif; }
.faq-icon-wrap{ width:32px; height:32px; flex:none; margin-top:2px; display:flex; align-items:center; justify-content:center; }
.faq-icon-plus,.faq-icon-cross{ display:block; }
.faq-item.open .faq-icon-plus{ display:none; }
.faq-icon-cross{ display:none; }
.faq-item.open .faq-icon-cross{ display:block; }
.faq-q{ font-size:20px; font-weight:600; line-height:1.5; color:var(--gray-900); flex:1; text-align:left; }
.faq-answer{ padding:0 0 24px 56px; font-size:17px; line-height:1.6; font-weight:400; color:var(--gray-600); display:none; }
.faq-item.open .faq-answer{ display:block; }
.faq-divider{ height:1px; background:var(--gray-200); }
@media (max-width:860px){ .faq-section-inner{ flex-direction:column; } .faq-heading-col{ width:100%; } }

/* ============ FEATURES ============ */
.feature-card{
  border:1px solid var(--gray-200);
  border-radius:12px;
  padding:24px;
  height:100%;
  display:flex;
  flex-direction:column;
  gap:24px;
}
.feature-icon{
  background:#fff;
  width:48px;height:48px;
  border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  font-size:24px;
  color:var(--brand-900);
  flex-shrink:0;
}
.feature-text{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.feature-card h3{
  font-size:20px;
  font-weight:600;
  line-height:32px;
  color:var(--dark-text);
  margin:0;
}
.feature-card p{
  font-size:16px;
  font-weight:400;
  color:var(--gray-600);
  margin:0;
  line-height:24px;
}
.bg-red-100{ background:#FEE4E2; }
.bg-green-100{ background:#D1FADF; }
.bg-yellow-100{ background:#FBEDC4; }
.bg-blue-100{ background:#D8DEFC; }
.bg-pink-100{ background:#FAD1F6; }
.bg-purple-100{ background:#DCC4FB; }

/* ============ MA TRACKER ============ */
.tracker-section{ background:var(--brand-50); }
.tracker-stat-card{
  background:#fff;
  border:1px solid var(--gray-200);
  border-radius:12px;
  padding:20px;
  height:100%;
  transition:box-shadow .2s, transform .2s;
}
.tracker-stat-card .row-top{
  display:flex; align-items:flex-start; justify-content:space-between; gap:16px;
}
.tracker-stat-card .label{
  font-size:14px; font-weight:600; color:var(--dark-text);
}
.tracker-stat-card .icon-wrap{
  background:var(--brand-50);
  width:40px;height:40px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.tracker-stat-card .icon-wrap.amber{ background:var(--warning-50); }
.tracker-stat-card .icon-wrap.purple{ background:var(--purple-50); }
.tracker-stat-card .icon-wrap.teal{ background:var(--teal-50); }
.tracker-stat-card .icon-wrap img{ width:20px;height:20px; }
.tracker-stat-card .icon-wrap svg{ width:20px;height:20px; }
.tracker-stat-card .icon-wrap i{ font-size:16px; color:var(--brand-900); }
.tracker-stat-card .value-row{
  display:flex; align-items:baseline; gap:10px; margin-top:16px;
}
.tracker-stat-card .value{
  font-size:28px; font-weight:700; color:var(--gray-900); letter-spacing:-0.02em;
}
.tracker-stat-card .trend{
  display:inline-flex; align-items:center; gap:3px;
  background:var(--success-50); color:var(--success-700);
  font-size:12px; font-weight:700;
  padding:3px 9px; border-radius:var(--radius-pill);
}
.tracker-stat-card .sub{
  display:none; /* hidden per request; markup kept in case it's re-enabled */
  font-size:14px; font-weight:500; color:var(--gray-500); margin-top:6px;
}

/* ============ MA TRACKER — INTERACTIVE CONTROLS ============ */
.mat-btn{display:inline-flex;align-items:center;gap:8px;border-radius:var(--radius-sm);font-weight:600;font-size:14px;cursor:pointer;border:1px solid transparent;padding:10px 16px;min-height:44px;transition:background .15s ease,border-color .15s ease,color .15s ease;white-space:nowrap;font-family:'Inter',sans-serif;}
.mat-btn-primary{background:var(--brand-500);color:#fff;}
.mat-btn-primary:hover{background:var(--brand-600);color:#fff;}
.mat-btn-outline{background:#fff;border-color:var(--gray-300);color:var(--gray-700);}
.mat-btn-outline:hover{border-color:var(--brand-500);color:var(--brand-500);}
.mat-icon{width:16px;height:16px;flex:none;display:inline-block;}

.controls{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:14px 16px;margin-bottom:10px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;box-shadow:var(--shadow-sm);}
.tabs{display:flex;background:#F3F4F6;border-radius:8px;padding:2px;gap:2px;}
.tab-btn{border:none;background:transparent;padding:8px 20px;border-radius:10px;font-size:14px;font-weight:500;color:var(--gray-500);display:flex;align-items:center;justify-content:center;cursor:pointer;height:42px;font-family:'Inter',sans-serif;white-space:nowrap;transition:background .15s ease,color .15s ease,box-shadow .15s ease;}
.tab-btn[aria-selected="true"]{background:#182878;color:#fff;font-weight:600;border-radius:8px;height:40px;box-shadow:0px 4px 4px 0px rgba(24,39,75,0.06),0px 2px 4px 0px rgba(24,39,75,0.02),0px 0px 2px 0px #e0e0e0;}
.tab-btn:hover:not([aria-selected="true"]){color:var(--gray-700);}
.search-wrap{position:relative;flex:1;min-width:220px;height:44px;box-sizing:border-box;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--gray-200);border-radius:4px;padding:8px 12px;transition:border-color .15s ease,box-shadow .15s ease;}
.search-wrap input{width:100%;background:transparent;border:none;border-radius:0;padding:0;font-size:14px;font-weight:400;color:var(--gray-700);font-family:'Inter',sans-serif;flex:1;min-width:0;}
.search-wrap input::placeholder{color:#5D667B;}
.search-wrap:focus-within{border-color:var(--brand-400);box-shadow:0 0 0 3px var(--brand-100);}
.search-wrap input:focus{outline:none;}
.search-wrap .icon-search{position:static;flex:none;width:20px;height:20px;color:#51506E;}
.search-wrap .icon-clear{position:static;flex:none;margin-left:auto;background:none;border:none;color:var(--gray-400);cursor:pointer;padding:4px;border-radius:50%;display:none;}
.search-wrap .icon-clear:hover{background:var(--gray-200);color:var(--gray-700);}
.year-dropdown{position:relative;width:150px;flex:none;}
.year-dd-trigger{
  width:100%;height:44px;background:#fff;border:1px solid var(--gray-200);border-radius:4px;
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:8px 12px;cursor:pointer;position:relative;font-family:'Inter',sans-serif;
  transition:border-color .15s ease,border-radius .15s ease;
}
.year-dropdown.open .year-dd-trigger{border-radius:4px 4px 0 0;}
.year-dd-trigger:hover{border-color:var(--brand-400);}
.year-dd-floating-label{
  position:absolute;top:-9px;left:11px;background:#fff;padding:0 4px;
  font-size:12px;line-height:18px;color:var(--gray-500);pointer-events:none;white-space:nowrap;
}
.year-dd-value{font-size:14px;line-height:20px;color:var(--gray-900);padding:4px;flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.year-dd-caret{width:18px;height:18px;flex:none;color:var(--gray-700);transition:transform .15s ease;}
.year-dropdown.open .year-dd-caret{transform:rotate(180deg);}
.year-dd-panel{
  position:absolute;top:100%;left:0;right:0;background:#fff;z-index:20;
  border:1px solid var(--gray-200);border-top:none;border-radius:0 0 8px 8px;
  box-shadow:0 2px 4px -2px rgba(16,24,40,0.06),0 4px 8px -2px rgba(16,24,40,0.1);
  padding:8px 4px 8px 16px;display:none;
}
.year-dropdown.open .year-dd-panel{display:block;}
.year-dd-panel-inner{max-height:230px;overflow-y:auto;padding-right:8px;}
.year-dd-panel-inner::-webkit-scrollbar{width:4px;}
.year-dd-panel-inner::-webkit-scrollbar-track{background:var(--gray-50);border-radius:20px;}
.year-dd-panel-inner::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:31px;}
.year-dd-option{
  display:block;width:100%;text-align:left;background:none;border:none;cursor:pointer;
  padding:6px 12px;font-size:14px;line-height:20px;color:var(--gray-500);border-radius:6px;
  font-family:'Inter',sans-serif;transition:background .12s ease,color .12s ease;
}
.year-dd-option:hover{background:var(--gray-50);color:var(--gray-700);}
.year-dd-option.selected{color:var(--brand-600);font-weight:600;background:var(--brand-50);}
.filter-btn{position:relative;}
.filter-count{position:absolute;top:-6px;right:-6px;background:var(--brand-500);color:#fff;font-size:10.5px;font-weight:700;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border:2px solid #fff;}

/* ===== Chips row ===== */
.chip-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:0;align-items:center;justify-content:space-between;min-height:0;}
.chip-row:not(:empty){margin-bottom:12px;}
.chip-group{display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
.chip{display:inline-flex;align-items:center;gap:10px;background:var(--brand-50);border:1px solid var(--gray-300);color:var(--gray-900);font-size:14px;font-weight:600;line-height:20px;padding:4px 8px 4px 12px;border-radius:var(--radius-pill);font-family:'Inter',sans-serif;}
.chip button{background:none;border:none;color:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;width:16px;height:16px;flex:none;}
.chip button img{width:16px;height:16px;display:block;}
.chip-clear-all{font-size:16px;font-weight:500;line-height:24px;color:var(--brand-500);background:none;border:none;cursor:pointer;text-decoration:none;padding:0;font-family:'Inter',sans-serif;white-space:nowrap;}
.chip-clear-all:hover{color:var(--brand-600);text-decoration:underline;}

/* ===== Result meta ===== */
.result-meta{display:flex;justify-content:space-between;align-items:center;font-size:13.5px;color:var(--gray-500);margin-bottom:8px;font-weight:500;}
.result-meta strong{color:var(--gray-800);}
.sr-live{position:absolute;left:-9999px;}

/* ===== Badges (namespaced mat- to avoid Bootstrap .badge collision) ===== */
.mat-badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;padding:3px 9px;border-radius:var(--radius-pill);white-space:nowrap;}
.mat-badge-dot{width:6px;height:6px;border-radius:50%;flex:none;}
.mat-badge-acq{background:var(--brand-50);color:var(--brand-700);} .mat-badge-acq .mat-badge-dot{background:var(--brand-500);}
.mat-badge-merger{background:#F3F1FD;color:var(--purple-500);} .mat-badge-merger .mat-badge-dot{background:var(--purple-400);}
.mat-badge-stake{background:var(--teal-50);color:var(--teal-700);} .mat-badge-stake .mat-badge-dot{background:var(--teal-500);}
.mat-badge-pe{background:var(--warning-50);color:var(--warning-700);font-weight:700;}
.mat-badge-value{background:var(--success-50);color:var(--success-700);font-weight:700;}

/* ===== Table view ===== */
.table-card{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);}
.table-scroll{overflow-x:auto;}
table.deals{width:100%;border-collapse:collapse;min-width:920px;}
table.deals thead th{position:sticky;top:0;background:var(--gray-50);z-index:2;text-align:left;font-size:12.5px;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.03em;padding:13px 16px;border-bottom:1px solid var(--gray-200);white-space:nowrap;}
table.deals thead th button{background:none;border:none;font:inherit;color:inherit;display:flex;align-items:center;gap:5px;cursor:pointer;padding:0;text-transform:inherit;letter-spacing:inherit;}
table.deals thead th button:hover{color:var(--brand-600);}
.sort-icon{width:12px;height:12px;opacity:.4;}
th[aria-sort="ascending"] .sort-icon,th[aria-sort="descending"] .sort-icon{opacity:1;color:var(--brand-500);}
th[aria-sort="ascending"] .sort-icon{transform:rotate(180deg);}
table.deals tbody tr{border-bottom:1px solid var(--gray-200);cursor:pointer;transition:background .12s ease;}
table.deals tbody tr:last-child{border-bottom:none;}
table.deals tbody tr:hover{background:var(--brand-50);}
table.deals tbody tr:focus-visible{background:var(--brand-50);}
table.deals td{padding:14px 16px;font-size:14px;vertical-align:top;}
.firm-name{font-weight:700;color:var(--gray-900);font-size:14.5px;}
.firm-loc{display:flex;align-items:center;gap:4px;color:var(--gray-500);font-size:12.5px;font-weight:500;margin-top:2px;}
.acquirer-name{font-weight:600;color:var(--gray-800);}
.value-cell{font-weight:700;color:var(--gray-800);font-variant-numeric:tabular-nums;}
.value-cell.undisclosed{color:var(--gray-400);font-weight:500;}
.date-cell{color:var(--gray-500);font-weight:500;white-space:nowrap;}

/* mobile card fallback for table */
.deal-cards{display:none;}
.deal-card{background:#fff;border:1px solid var(--gray-200);border-radius:12px;padding:16px;margin-bottom:12px;cursor:pointer;box-shadow:0px 0px 0px 0px rgba(0,0,0,0);transition:transform .25s ease,border-color .25s ease,border-radius .25s ease,box-shadow .25s ease;}
.deal-card:hover{border-color:#5D667B;border-radius:12px;box-shadow:4px 4px 0px 0px #000000;transform:translate(-2px,-2px);}
.deal-card-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;}
.deal-card-row{display:flex;justify-content:space-between;font-size:13px;color:var(--gray-500);margin-top:6px;}
.deal-card-row b{color:var(--gray-700);font-weight:600;}

/* ===== Timeline (month by month) view ===== */
.timeline{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;}
.month-group{position:relative;}
.month-head{position:sticky;top:0;z-index:2;background:rgba(235,238,253,.92);backdrop-filter:blur(6px);padding:12px 24px;font-size:13px;font-weight:800;letter-spacing:.04em;color:var(--brand-700);text-transform:uppercase;border-bottom:1px solid var(--brand-100);}
.tl-item{display:flex;gap:14px;padding:16px 24px;border-bottom:1px solid var(--gray-100);position:relative;cursor:pointer;}
.tl-item:hover{background:var(--gray-50);}
.tl-rail{flex:none;display:flex;flex-direction:column;align-items:center;padding-top:4px;}
.tl-dot{width:10px;height:10px;border-radius:50%;background:var(--brand-500);border:2px solid var(--brand-100);flex:none;}
.tl-line{flex:1;width:2px;background:var(--gray-200);margin-top:4px;}
.tl-body{flex:1;min-width:0;}
.tl-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;}
.tl-title{font-weight:700;color:var(--gray-900);font-size:14.5px;}
.tl-meta{font-size:12.5px;color:var(--gray-500);font-weight:500;}
.tl-desc{font-size:13.5px;color:var(--gray-600);margin-top:4px;line-height:1.5;max-width:640px;}
.tl-date{margin-left:auto;font-size:12.5px;color:var(--gray-400);font-weight:600;white-space:nowrap;}

/* ===== PE-Backed view ===== */
.pe-list{display:flex;flex-direction:column;gap:12px;}
.pe-card{background:#fff;border:1px solid var(--gray-200);border-radius:12px;overflow:hidden;box-shadow:0px 0px 0px 0px rgba(0,0,0,0);transition:transform .25s ease,border-color .25s ease,border-radius .25s ease,box-shadow .25s ease;}
.pe-card:hover{border-color:#5D667B;border-radius:12px;box-shadow:4px 4px 0px 0px #000000;transform:translate(-2px,-2px);}
.pe-header{display:flex;align-items:center;gap:14px;padding:16px 18px;cursor:pointer;background:none;border:none;width:100%;text-align:left;min-height:44px;}
.pe-avatar{width:42px;height:42px;border-radius:10px;background:var(--brand-800);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;flex:none;}
.pe-header-body{flex:1;min-width:0;}
.pe-name{font-weight:700;font-size:15.5px;color:var(--gray-900);}
.pe-sub{font-size:12.5px;color:var(--gray-500);font-weight:500;margin-top:2px;}
.pe-count{background:var(--brand-50);color:var(--brand-700);font-weight:800;font-size:13px;padding:5px 12px;border-radius:var(--radius-pill);flex:none;}
.pe-chevron{width:20px;height:20px;color:var(--gray-400);flex:none;transition:transform .18s ease;}
.pe-card.open .pe-chevron{transform:rotate(180deg);}
.pe-body{max-height:0;overflow:hidden;transition:max-height .25s ease;border-top:1px solid var(--gray-100);}
.pe-card.open .pe-body{max-height:2000px;}
.pe-deal-row{display:flex;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid var(--gray-100);font-size:13.5px;cursor:pointer;}
.pe-deal-row:last-child{border-bottom:none;}
.pe-deal-row:hover{background:var(--gray-50);}
.pe-deal-left b{color:var(--gray-900);}
.pe-deal-left span{display:block;color:var(--gray-500);font-size:12px;margin-top:2px;}
.pe-deal-right{text-align:right;color:var(--gray-500);font-size:12px;white-space:nowrap;}

/* ===== Load more / pagination ===== */
.load-more-wrap{margin-top:20px;display:flex;flex-direction:column;align-items:center;gap:10px;}
.progress-track{width:280px;max-width:60%;height:6px;background:var(--gray-200);border-radius:99px;overflow:hidden;}
.progress-fill{height:100%;background:var(--brand-500);border-radius:99px;transition:width .3s ease;}

/* ===== Gated tracker teaser overlay ===== */
.tracker-gate-wrap{ position:relative; }
.tracker-gate-wrap.locked{ max-height:640px; overflow:hidden; border-radius:var(--radius-lg); }
.tracker-gate-wrap.locked #trackerInteractive{
  filter:blur(7px);
  pointer-events:none;
  user-select:none;
}
.tracker-gate-wrap.locked::after{
  content:"";
  position:absolute; left:0; right:0; bottom:0; height:220px;
  background:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.92) 70%, #fff 100%);
  pointer-events:none;
  z-index:4;
}
.tracker-gate-overlay{
  display:none;
  position:absolute; inset:0;
  align-items:center; justify-content:center;
  z-index:5;
  padding:24px;
}
.tracker-gate-wrap.locked .tracker-gate-overlay{ display:flex; }
.tracker-gate-card{
  background:#fff;
  border:1px solid var(--gray-200);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);
  padding:40px 36px;
  text-align:center;
  max-width:520px;
  width:100%;
}
.tracker-gate-card h3{
  font-size:26px;
  font-weight:700;
  color:var(--dark-text);
  margin-bottom:12px;
  line-height:1.3;
}
.tracker-gate-card p{
  font-size:15px;
  color:var(--gray-600);
  line-height:1.55;
  margin-bottom:24px;
}
.tracker-gate-card .mat-btn{
  font-size:16px;
  padding:12px 24px;
}

/* ===== Empty state ===== */
.empty-state{padding:64px 24px;text-align:center;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);}
.empty-state svg{color:var(--gray-300);margin-bottom:14px;}
.empty-state h3{font-size:17px;margin-bottom:6px;}
.empty-state p{color:var(--gray-500);font-size:14px;margin-bottom:16px;}

/* ===== Drawer (deal detail) ===== */
.drawer-scrim{position:fixed;inset:0;background:rgba(16,24,40,.55);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:1050;}
.drawer-scrim.active{opacity:1;pointer-events:auto;}
.drawer{position:fixed;top:0;right:0;height:100%;width:420px;max-width:92vw;background:#fff;box-shadow:var(--shadow-lg);transform:translateX(100%);transition:transform .25s ease;z-index:1051;display:flex;flex-direction:column;}
.drawer.active{transform:translateX(0);}
.drawer-head{padding:20px 22px;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:flex-start;gap:12px;}
.drawer-body{padding:22px;overflow-y:auto;flex:1;}
.drawer-close{background:var(--gray-100);border:none;border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gray-600);flex:none;}
.drawer-close:hover{background:var(--gray-200);}
.dr-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--gray-400);margin:18px 0 6px;}
.dr-label:first-child{margin-top:0;}
.dr-value{font-size:14.5px;color:var(--gray-800);font-weight:600;}
.dr-desc{font-size:14px;color:var(--gray-600);line-height:1.6;}
.dr-flow{display:flex;align-items:center;gap:10px;margin:6px 0 4px;}
.dr-firm{font-weight:800;font-size:16px;color:var(--gray-900);}

/* ===== Filter offcanvas ===== */
.filter-panel{position:fixed;top:0;right:0;height:100%;width:340px;max-width:90vw;background:#fff;box-shadow:var(--shadow-lg);transform:translateX(100%);transition:transform .25s ease;z-index:1051;display:flex;flex-direction:column;}
.filter-panel.active{transform:translateX(0);}
.fp-head{padding:20px 22px;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:center;}
.fp-body{padding:20px 22px;overflow-y:auto;flex:1;}
.fp-group{margin-bottom:22px;}
.fp-group-title{font-size:13px;font-weight:700;color:var(--gray-700);margin-bottom:10px;}
.fp-check{display:flex;align-items:center;gap:10px;padding:9px 0;font-size:14px;color:var(--gray-700);cursor:pointer;min-height:36px;}
.fp-check input{width:18px;height:18px;accent-color:var(--brand-500);cursor:pointer;}
.fp-foot{padding:16px 22px;border-top:1px solid var(--gray-200);display:flex;gap:10px;}
.toggle-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;}
.toggle{position:relative;width:40px;height:22px;background:var(--gray-300);border-radius:99px;cursor:pointer;transition:background .15s ease;flex:none;border:none;}
.toggle.on{background:var(--brand-500);}
.toggle::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .15s ease;box-shadow:0 1px 2px rgba(0,0,0,.2);}
.toggle.on::after{transform:translateX(18px);}

@media (max-width:860px){
  table.deals{display:none;}
  .deal-cards{display:block;}
  .tl-desc{max-width:100%;}
}
@media (max-width:560px){
  .controls{flex-direction:column;align-items:stretch;}
  .tabs{overflow-x:auto;}
}


/* ============ ADVISORS ============ */
.advisor-card{
  background:#fff;
  border:1px solid var(--gray-200);
  border-radius:12px;
  padding:24px;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:24px;
  min-height:192px;
}
.advisor-card img.brand-asset{ height:42px; width:auto; }
.advisor-card .icon-circle i{ font-size:36px; color:var(--brand-500); }
.btn-advisor{
  border:1px solid var(--brand-500);
  color:var(--brand-500);
  background:transparent;
  font-size:16px;
  font-weight:600;
  padding:10px 18px;
  border-radius:4px;
  white-space:nowrap;
  transition:background 0.25s cubic-bezier(0.4,0,0.2,1), color 0.25s cubic-bezier(0.4,0,0.2,1), border-color 0.25s cubic-bezier(0.4,0,0.2,1);
}
.advisor-card:hover .btn-advisor{
  background:#3A58EF;
  color:#fff;
  border-color:#3A58EF;
}

/* ============ FOOTER ============ */
.site-footer{
  background:linear-gradient(180deg,#12327B 0%, #00174C 100%);
  color:#fff;
  padding:56px 0 0;
}
.footer-logo{ height:32px; width:auto; }
.footer-contact-item{ display:flex; gap:8px; font-size:14px; margin-bottom:16px; }
.footer-contact-item i{ font-size:16px; margin-top:2px; }
.footer-contact-item .label{ font-weight:700; display:block; }
.footer-contact-item .value{ font-weight:500; opacity:.95; }
.store-badge{
  background:#000;
  border:1px solid rgba(255,255,255,.25);
  border-radius:8px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 14px;
  color:#fff;
  width:fit-content;
}
.store-badge i{ font-size:22px; }
.store-badge .txt{ line-height:1.1; }
.store-badge .txt small{ font-size:10px; display:block; opacity:.85; }
.store-badge .txt strong{ font-size:15px; font-weight:600; }
.footer-col-title{
  display:flex; align-items:center; gap:12px;
  font-size:18px; font-weight:700; color:#fff;
  padding-bottom:16px;
  border-bottom:1px solid rgba(255,255,255,.3);
  margin-bottom:16px;
}
.footer-col-title i{ font-size:20px; }
.footer-links{ list-style:none; padding-left:36px; margin:0; }
.footer-links li{ margin-bottom:16px; }
.footer-links a{ color:#fff; font-size:14px; font-weight:400; }
.footer-links a:hover{ opacity:.75; text-decoration:underline; }
.flag-emoji{ font-size:14px; margin-left:4px; }
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.15);
  margin-top:34px;
  padding:24px 0;
  font-size:14px;
}
.footer-bottom a{ color:#fff; }
.footer-bottom a:hover{ opacity:.8; text-decoration:underline; }
.footer-socials a{
  color:#fff;
  font-size:18px;
  margin-left:16px;
}
.footer-socials a:first-child{ margin-left:0; }
.footer-socials a:hover{ opacity:.75; }

/* ============ SHADOW-BOX CARD EFFECT (applied to all card boxes) ============ */
.shadow-box{
  border-radius:12px !important;
  overflow:hidden;
  transition:transform 0.25s cubic-bezier(0.4,0,0.2,1), border-color 0.25s cubic-bezier(0.4,0,0.2,1), box-shadow 0.25s cubic-bezier(0.4,0,0.2,1);
  cursor:pointer;
}
.shadow-box:hover{
  border-color:#5D667B !important;
  box-shadow:4px 4px 0px 0px #000000;
  transform:translate(-4px,-4px);
}
@media (max-width:767px){
  .shadow-box:hover{ box-shadow:3px 3px 0px 0px #000000; transform:translate(-3px,-3px); }
}

.container-page{ max-width:1600px; margin:0 auto; padding-left:40px; padding-right:40px; }
.container-content{ max-width:1600px; margin:0 auto; padding-left:140px; padding-right:140px; }
@media (max-width:1399px){ .container-content{ padding-left:60px; padding-right:60px; } }
@media (max-width:767px){
  .container-content{ padding-left:20px; padding-right:20px; }
  .container-page{ padding-left:16px; padding-right:16px; }
}

.container-content.hero-stats {
    margin-top: -72px;
}

/* mobile nav */
.navbar-toggler{ border:none; padding:4px 8px; }
.navbar-toggler:focus{ box-shadow:none; }
@media (max-width:991px){
  .main-nav{
    flex-direction:column;
    align-items:flex-start !important;
    width:100%;
    gap:4px !important;
    padding-top:12px;
  }
  .main-nav .nav-pill{ width:100%; justify-content:space-between; }
  .top-bar .nav-scroll{ flex-wrap:wrap; }
  .hero-illustration-card{ margin-top:32px; margin-left:0; }
  .hero-title{ font-size:34px; }
}
/* ============ GET STARTED MODAL ============ */
.cta-modal-overlay{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(16,24,40,0.55);
  z-index:1000;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.cta-modal-overlay.open{ display:flex; }
.cta-modal{
  position:relative;
  width:100%;
  max-width:550px;
  max-height:90vh;
  overflow-y:auto;
  background:#fff;
  border-radius:16px;
  padding:24px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:24px;
  isolation:isolate;
}
.cta-modal::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  border-radius:16px;
  background:
    radial-gradient(140% 90% at 100% 0%, rgba(58,88,239,0.10) 0%, rgba(58,88,239,0) 55%),
    radial-gradient(120% 100% at 0% 100%, rgba(107,53,197,0.14) 0%, rgba(177,136,243,0) 60%);
}
.cta-modal-head{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  position:relative;
}
.cta-modal-head .logo-img{ height:26px; width:auto; }
.cta-modal-close{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  background:none;
  border:none;
  padding:4px;
  cursor:pointer;
  color:#5D667B;
  line-height:0;
}
.cta-modal-close:hover{ color:#26244A; }
.cta-modal-title{
  font-size:36px;
  font-weight:700;
  line-height:44px;
  letter-spacing:-0.72px;
  color:#26244A;
  text-align:center;
  margin:0;
  width:100%;
}
.cta-modal-form{
  display:flex;
  flex-direction:column;
  gap:20px;
  width:100%;
}
.cta-modal-form input{
  width:100%;
  height:48px;
  background:#fff;
  border:1px solid #D0D5DD;
  border-radius:4px;
  padding:8px 12px;
  font-family:'Inter',sans-serif;
  font-size:14px;
  color:#101828;
  outline:none;
}
.cta-modal-form input::placeholder{ color:#101828; opacity:1; }
.cta-modal-form input:focus{ border-color:#3A58EF; box-shadow:0 0 0 3px rgba(58,88,239,0.12); }
.cta-modal-submit{
  width:100%;
  height:48px;
  background:#3A58EF;
  color:#fff;
  border:none;
  border-radius:4px;
  font-family:'Inter',sans-serif;
  font-size:16px;
  font-weight:600;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  cursor:pointer;
  box-shadow:0 1px 2px 0 rgba(16,24,40,0.05);
}
.cta-modal-submit:hover{ background:#2c46d1; }
.cta-modal-submit:disabled{ opacity:.65; cursor:not-allowed; }
.cta-modal-form .form-group{ margin:0; }
.cta-modal-form .form-group.has-error input{ border-color:#D92D20; }
.cta-modal-form .form-group.has-error input:focus{ box-shadow:0 0 0 3px rgba(217,45,32,0.12); }
.cta-modal-form .help-block{ display:block; margin-top:6px; font-size:12px; color:#D92D20; }
.cta-modal-alert{
  width:100%;
  border-radius:6px;
  padding:10px 14px;
  font-size:13px;
  line-height:1.5;
  text-align:center;
}
.cta-modal-alert-success{ background:#ECFDF3; color:#027A48; border:1px solid #ABEFC6; }
.cta-modal-alert-error{ background:#FEF3F2; color:#B42318; border:1px solid #FECDCA; }
@media (max-width:576px){
  .cta-modal-title{ font-size:28px; line-height:34px; }
  .cta-modal{ padding:20px; gap:20px; }
}

/* ============ FREE TRIAL CTA BANNER ============ */
.cta-banner{
  background:#182878;
  padding:80px 24px;
  text-align:center;
}
.cta-banner-title{
  color:#fff;
  font-weight:700;
  font-size:36px;
  line-height:44px;
  letter-spacing:-0.4px;
  max-width:820px;
  margin:0 auto 20px;
}
.cta-banner-sub{
  color:#C7CEEB;
  font-size:18px;
  line-height:28px;
  max-width:680px;
  margin:0 auto 32px;
}
.cta-banner-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#fff;
  color:var(--brand-500);
  font-weight:600;
  font-size:16px;
  padding:14px 28px;
  border-radius:4px;
  box-shadow:0 1px 2px rgba(16,24,40,.05);
  text-decoration:none;
}
.cta-banner-btn:hover{ background:#f2f4ff; color:var(--brand-600); }
@media (max-width:576px){
  .cta-banner{ padding:56px 20px; }
  .cta-banner-title{ font-size:28px; line-height:36px; }
  .cta-banner-sub{ font-size:16px; line-height:24px; }
}

/* ============ LATEST M&A NEWS & UPDATES ============ */
.ma-news-card{
  display:block;
  background:#fff;
  border-radius:8px;
  box-shadow:0px 4px 12px 0px rgba(0,0,0,0.10);
  padding:12px;
  height:100%;
  transition:transform 0.3s;
}
.ma-news-card:hover{ transform:translate(0,-10px); }
.ma-news-card:hover .ma-news-card-topic{ color:#0F0E29; }
.ma-news-card:hover .ma-news-card-title{ color:#0B7BFF; text-decoration-line:underline; }
.ma-news-card-img{
  overflow:hidden;
  border-radius:6px 6px 0 0;
  background:var(--gray-50);
}
.ma-news-card-img img{
  width:100%;
  height:250px;
  object-fit:cover;
  display:block;
  border-radius:6px 6px 0 0;
}
.ma-news-card-body{ margin-top:16px; }
.ma-news-card-topic{
  margin:0 0 4px;
  color:#0B7BFF;
  font-size:14px;
  font-weight:600;
  line-height:150%;
  letter-spacing:1px;
}
.ma-news-card-title{
  color:#0F0E29;
  font-size:20px;
  font-weight:600;
  line-height:26px;
  margin:0 0 12px;
  height:52px;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.ma-news-card-excerpt{
  height:96px;
  overflow:hidden;
  color:#75757D;
  font-size:16px;
  font-weight:400;
  line-height:150%;
  text-align:justify;
  margin:0 0 12px;
}
.ma-news-card-btm{
  display:flex;
  align-items:center;
  border-top:1px solid var(--gray-200);
  padding-top:16px;
}
.ma-news-card-date,
.ma-news-card-time{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#75757D;
  font-size:16px;
  font-weight:500;
  line-height:120%;
  margin:0;
}
.ma-news-card-time{ margin-left:auto; }
.ma-news-card-date svg,
.ma-news-card-time svg{ width:18px; height:18px; flex:none; }
@media (max-width:576px){
  .ma-news-card-img img{ height:220px; }
}

/* ============ SIGN-UP MODAL (ported from benchmarking-reports-for-cpa-firm) ============ */
form#benchmarking_reports .form-floating.password-container.banchmark_eye img {
  position: absolute;
  top: 14px;
  right: 12px;
}
form#benchmarking_reports .form-floating.password-container.banchmark_eye {
  position: relative;
}
.submissionsuccessModal .modal-content {
  background-image: url(../images/Popupbg.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center top;
}
.submissionsuccessModal .modal-body {
  padding: 32px;
  text-align: center;
}
.submissionsuccessModal .modal-body > svg {
  margin-bottom: 32px;
}
.submissionsuccessModal .tt_sign {
  color: #101828;
  font-family: Inter;
  font-size: 26px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
  margin-bottom: 16px;
}
.submissionsuccessModal .tt_sign_desc_last {
  color: #475467;
  text-align: center;
  font-family: Inter;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 22px;
}
.submissionsuccessModal .modal-dialog {
  max-width: 600px;
}
