/* =========================================================
   Investor Research Library — Aziz Saif
   Site-themed: navy / gold / teal / cream editorial palette
   Cormorant Garamond + Inter + Cinzel
   ========================================================= */

:root{
  --ink:#1a1a1a;
  --cream:#FAF7F2;
  --cream-deep:#efe8d8;
  --parchment:#fbf8f0;
  --ivory:#FAF7F2;
  --ivory-deep:#efe8d8;
  --teal:#155e5e;
  --teal-light:#3a8585;
  --teal-deep:#0d4747;
  --gold:#c9a84c;
  --gold-light:#e8d5a0;
  --gold-deep:#a8872e;
  --navy:#0a1628;
  --navy-deep:#06101e;
  --charcoal:#2c2c2c;
  --charcoal-soft:#5a5a5a;
  --muted:#8a8a8a;
  --rule:#e2dccd;
  --rule-soft:#ece6d3;
  --paper:#ffffff;
  --paper-warm:#fbf8f0;
  --shadow:0 18px 45px -20px rgba(20,30,45,.25);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Helvetica,Arial,sans-serif;
  background:var(--parchment);
  color:var(--ink);
  font-size:16.5px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
a{color:var(--teal);text-decoration:none}
a:hover{color:var(--teal-deep)}

/* ============== TOP NAV ============== */
.topnav{
  position:sticky;top:0;z-index:100;
  background:linear-gradient(180deg,var(--navy) 0%,var(--navy-deep) 100%);
  color:#f5ead0;
  border-bottom:1px solid var(--gold);
  padding:14px 28px;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:12px;
  box-shadow:0 6px 20px -10px rgba(0,0,0,.45);
}
.topnav .brand{
  font-family:'Cinzel',serif;
  font-weight:700;font-size:14.5px;letter-spacing:.22em;text-transform:uppercase;
  text-decoration:none;color:#f5ead0;
}
.topnav .brand .dot{color:var(--gold);margin:0 2px}
.topnav nav{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.topnav nav a{
  color:#cbd5e1;
  text-decoration:none;
  font-family:'Inter',sans-serif;
  font-size:12.5px;
  font-weight:500;
  letter-spacing:.05em;
  padding:7px 12px;
  border-radius:3px;
  white-space:nowrap;
  transition:all .2s;
}
.topnav nav a:hover{background:rgba(201,168,76,.12);color:var(--gold-light)}
.topnav nav a.active{color:var(--navy);background:var(--gold-light);font-weight:600}

/* ============== CONTAINER ============== */
.wrap{max-width:1240px;margin:0 auto;padding:36px 32px}
.wrap--narrow{max-width:1040px}

/* ============== HERO ============== */
.hero{
  padding:72px 32px 48px;
  border-bottom:1px solid var(--rule);
  background:linear-gradient(180deg,var(--cream-deep) 0%,var(--parchment) 100%);
  text-align:left;
}
.hero .eyebrow{
  font-family:'Cinzel',serif;
  color:var(--gold-deep);
  font-weight:700;
  letter-spacing:.28em;
  text-transform:uppercase;
  font-size:11px;
  margin-bottom:18px;
}
.hero h1{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(38px,5.2vw,62px);
  line-height:1.06;
  font-weight:600;
  letter-spacing:-1px;
  max-width:1000px;
  color:var(--navy);
}
.hero h1 .red{color:var(--gold-deep);font-style:italic;font-weight:500}
.hero .sub{
  margin-top:20px;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:22px;
  font-style:italic;
  color:var(--charcoal-soft);
  max-width:880px;
  line-height:1.45;
  font-weight:400;
}
.hero .meta{
  margin-top:30px;
  display:flex;gap:32px;flex-wrap:wrap;
  font-family:'Cinzel',serif;
  font-size:11px;color:var(--charcoal-soft);
  letter-spacing:.18em;text-transform:uppercase;
}
.hero .meta b{color:var(--navy);font-weight:700;letter-spacing:.05em;font-size:13px}

/* ============== KPI DASHBOARD ============== */
.kpi-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:18px;
  margin:36px 0;
}
.kpi{
  background:var(--paper-warm);
  border:1px solid var(--rule);
  border-left:3px solid var(--gold);
  padding:24px 22px 22px;
  border-radius:3px;
  box-shadow:0 2px 12px -8px rgba(20,30,45,.15);
  transition:transform .2s,box-shadow .2s;
}
.kpi:hover{transform:translateY(-2px);box-shadow:0 8px 24px -10px rgba(20,30,45,.25)}
.kpi .label{
  font-family:'Cinzel',serif;
  font-size:10px;
  font-weight:700;
  color:var(--charcoal-soft);
  text-transform:uppercase;
  letter-spacing:.22em;
  margin-bottom:12px;
}
.kpi .value{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:36px;
  font-weight:600;
  color:var(--navy);
  letter-spacing:-.5px;
  line-height:1;
}
.kpi .delta{
  margin-top:10px;
  font-size:12.5px;
  color:var(--charcoal-soft);
  font-style:italic;
}
.kpi .delta.up{color:var(--gold-deep);font-weight:600;font-style:normal}

/* ============== SECTION ============== */
.section{padding:52px 0;border-top:1px solid var(--rule)}
.section:first-of-type{border-top:none}
.section h2{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:34px;
  letter-spacing:-.4px;
  font-weight:600;
  margin-bottom:12px;
  color:var(--navy);
}
.section h2::before{
  content:"";display:inline-block;
  width:5px;height:28px;background:var(--gold);
  vertical-align:-5px;margin-right:14px;border-radius:1px;
}
.section .lead{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:19px;
  font-style:italic;
  color:var(--charcoal-soft);
  margin-bottom:24px;
  line-height:1.5;
}
.section p{font-size:16px;line-height:1.72;color:var(--ink);margin-bottom:14px}
.section h3.large-headline{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:22px;font-style:italic;font-weight:500;
  color:var(--teal-deep);margin:8px 0 18px;line-height:1.35;
}

/* ============== CHARTS ============== */
.chart-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
  gap:22px;
  margin:28px 0;
}
.chart-card{
  background:var(--paper-warm);
  border:1px solid var(--rule);
  padding:22px;
  border-radius:3px;
  box-shadow:0 2px 12px -8px rgba(20,30,45,.12);
}
.chart-card h4{
  font-family:'Cinzel',serif;
  font-size:11px;
  font-weight:700;
  color:var(--gold-deep);
  letter-spacing:.22em;
  text-transform:uppercase;
  margin-bottom:14px;
  border-bottom:1px solid var(--rule);
  padding-bottom:10px;
}
.chart-card .chart-wrap{position:relative;height:280px}

/* ============== QB TABLE ============== */
.qb-table{
  width:100%;
  border-collapse:collapse;
  margin:18px 0 28px;
  font-size:14.5px;
  background:var(--paper-warm);
  border:1px solid var(--rule);
}
.qb-table thead{
  background:linear-gradient(180deg,var(--navy) 0%,var(--navy-deep) 100%);
  color:var(--gold-light);
}
.qb-table th{
  font-family:'Cinzel',serif;
  font-weight:700;font-size:11px;
  letter-spacing:.18em;text-transform:uppercase;
}
.qb-table th,.qb-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--rule)}
.qb-table th.num,.qb-table td.num{text-align:right;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
.qb-table tbody tr:nth-child(even){background:rgba(232,213,160,.08)}
.qb-table tbody tr.total{background:var(--cream-deep);font-weight:700}
.qb-table tbody tr.total td{color:var(--gold-deep);border-top:2px solid var(--gold)}
.qb-table td .pct{
  display:inline-block;min-width:48px;
  padding:3px 8px;border-radius:3px;
  background:var(--gold);color:var(--navy);
  font-family:'Inter',sans-serif;font-weight:700;font-size:12px;
  text-align:center;
}
.qb-table td .pct.grey{background:var(--charcoal-soft);color:#fff}

/* ============== TWO-COL ============== */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin:18px 0}
@media (max-width:780px){.two-col{grid-template-columns:1fr}}
.col-card{
  background:var(--paper-warm);
  border:1px solid var(--rule);
  border-left:3px solid var(--teal);
  padding:24px;
  border-radius:3px;
}
.col-card.red{border-left-color:var(--gold-deep)}
.col-card h4{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:22px;font-weight:600;color:var(--navy);
  margin-bottom:12px;
}
.col-card p{font-size:15.5px;line-height:1.65;color:var(--charcoal)}

/* ============== CHIPS ============== */
.chip{
  display:inline-block;
  padding:5px 12px;
  border-radius:2px;
  font-family:'Cinzel',serif;font-size:10.5px;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;
  background:var(--gold);color:var(--navy);
  margin:3px 4px 3px 0;
}
.chip.grey{background:var(--rule);color:var(--charcoal)}
.chip.red{background:var(--gold-deep);color:#fff}

/* ============== INDUSTRY HUB CARDS ============== */
.industry-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:22px;
  margin:32px 0;
}
.industry-card{
  background:var(--paper-warm);
  border:1px solid var(--rule);
  border-radius:3px;
  padding:26px 26px 22px;
  text-decoration:none;
  color:var(--ink);
  display:flex;flex-direction:column;
  transition:transform .25s,box-shadow .25s,border-color .25s;
  box-shadow:0 2px 12px -8px rgba(20,30,45,.12);
}
.industry-card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 48px -22px rgba(20,30,45,.3);
  border-color:var(--gold);
}
.industry-card .num{
  font-family:'Cinzel',serif;
  font-size:10.5px;font-weight:700;
  color:var(--gold-deep);
  letter-spacing:.28em;text-transform:uppercase;
  margin-bottom:14px;
}
.industry-card h3{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:24px;font-weight:600;line-height:1.18;
  color:var(--navy);margin-bottom:10px;
}
.industry-card .sub{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:16px;font-style:italic;color:var(--charcoal-soft);
  line-height:1.5;margin-bottom:18px;flex:1;
}
.industry-card .footer{
  display:flex;align-items:center;justify-content:space-between;
  border-top:1px solid var(--rule);padding-top:14px;margin-top:auto;
}
.industry-card .footer .ask{
  font-family:'Cormorant Garamond',Georgia,serif;
  color:var(--navy);font-weight:600;font-size:18px;
}
.industry-card .cta{
  color:var(--gold-deep);font-weight:700;
  font-family:'Cinzel',serif;font-size:10.5px;
  letter-spacing:.22em;text-transform:uppercase;
}

/* ============== FOOTER ============== */
.site-footer{
  margin-top:64px;
  padding:48px 32px 56px;
  background:linear-gradient(180deg,var(--navy) 0%,var(--navy-deep) 100%);
  color:#cbd5e1;
  text-align:center;
  border-top:1px solid var(--gold);
}
.site-footer .ft-brand{
  font-family:'Cinzel',serif;font-size:13px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--gold-light);margin-bottom:8px;
}
.site-footer .ft-sub{
  font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;
  color:#cbd5e1;font-size:16px;margin-bottom:18px;
}
.site-footer a{color:var(--gold-light);margin:0 8px}
.site-footer a:hover{color:#fff}
.site-footer b{color:var(--gold-light)}
.site-footer .ft-bot{
  margin-top:18px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:#64748b;font-family:'Cinzel',serif;
}

/* ============== RESPONSIVE ============== */
@media (max-width:780px){
  .hero{padding:52px 24px 36px}
  .wrap{padding:28px 22px}
  .section{padding:40px 0}
  .section h2{font-size:28px}
  .topnav{padding:12px 18px}
  .topnav nav{gap:2px}
  .topnav nav a{padding:6px 8px;font-size:11.5px}
}
