/* ===== KrisLMS — testimonials.css ===== */

  /* PAGE HEADER */
  .page-header {
    background: var(--navy); padding-top: 102px;
    position: relative; overflow: hidden;
  }
  .page-header-bg {
    position: absolute; inset: 0;
    background-image: linear-gradient(rgba(201,168,76,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(201,168,76,0.04) 1px, transparent 1px);
    background-size: 60px 60px;
  }
  .page-header-gradient {
    position: absolute; inset: 0;
    background: radial-gradient(ellipse 60% 80% at 20% 50%, rgba(14,116,144,0.15) 0%, transparent 70%);
  }
  .page-header-inner {
    position: relative; z-index: 2;
    max-width: 900px; margin: 0 auto;
    padding: 72px 48px 80px; text-align: center;
  }
  .breadcrumb { display: flex; align-items: center; justify-content: center; gap: 8px; margin-bottom: 28px; }
  .breadcrumb a { font-size: 12px; color: rgba(255,255,255,0.35); text-decoration: none; font-family: 'DM Mono', monospace; transition: color 0.2s; }
  .breadcrumb a:hover { color: var(--gold); }
  .breadcrumb-sep { font-size: 12px; color: rgba(255,255,255,0.2); }
  .breadcrumb span { font-size: 12px; color: var(--gold); font-family: 'DM Mono', monospace; }
  .page-header-label { font-size: 11px; font-weight: 600; color: var(--gold); letter-spacing: 0.14em; text-transform: uppercase; font-family: 'DM Mono', monospace; margin-bottom: 16px; }
  .page-header h1 { font-family: 'Playfair Display', serif; font-size: 52px; font-weight: 700; color: var(--white); line-height: 1.15; margin-bottom: 20px; }
  .page-header h1 em { font-style: italic; color: var(--gold); }
  .page-header-sub { font-size: 17px; color: rgba(255,255,255,0.45); line-height: 1.75; font-weight: 300; max-width: 580px; margin: 0 auto; }

  /* STATS BAR */
  .stats-bar {
    background: rgba(255,255,255,0.04); border-top: 1px solid rgba(255,255,255,0.08);
    padding: 24px 48px;
  }
  .stats-bar-inner { max-width: 900px; margin: 0 auto; display: flex; justify-content: center; gap: 64px; }
  .stat { text-align: center; }
  .stat-num { font-family: 'Playfair Display', serif; font-size: 28px; font-weight: 700; color: var(--gold); }
  .stat-label { font-size: 11px; color: rgba(255,255,255,0.35); font-family: 'DM Mono', monospace; letter-spacing: 0.08em; margin-top: 3px; }

  /* MAIN */
  .main { max-width: 1100px; margin: 0 auto; padding: 72px 48px; }

  /* CATEGORY SECTION */
  .category-section { margin-bottom: 72px; }
  .category-header { display: flex; align-items: center; gap: 16px; margin-bottom: 32px; }
  .category-line { flex: 1; height: 1px; background: var(--grey-200); }
  .category-badge {
    display: inline-flex; align-items: center; gap: 8px;
    background: var(--navy); color: var(--white);
    padding: 8px 18px; border-radius: 30px;
    font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
    font-family: 'DM Mono', monospace; white-space: nowrap;
  }
  .category-badge .dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }

  /* COLOURS PER CATEGORY */
  .cat-posh .category-badge { background: #1e3a5f; }
  .cat-posh .category-badge .dot { background: #60a5fa; }
  .cat-posh .card { border-left-color: #60a5fa; }
  .cat-posh .card-tag { background: #eff6ff; color: #1e40af; }

  .cat-vigilance .category-badge { background: #3b1f0a; }
  .cat-vigilance .category-badge .dot { background: #f97316; }
  .cat-vigilance .card { border-left-color: #f97316; }
  .cat-vigilance .card-tag { background: #fff7ed; color: #c2410c; }

  .cat-infosec .category-badge { background: #0f3030; }
  .cat-infosec .category-badge .dot { background: var(--teal); }
  .cat-infosec .card { border-left-color: var(--teal); }
  .cat-infosec .card-tag { background: #f0fdfa; color: #0f766e; }

  .cat-aml .category-badge { background: #1a1a3e; }
  .cat-aml .category-badge .dot { background: #818cf8; }
  .cat-aml .card { border-left-color: #818cf8; }
  .cat-aml .card-tag { background: #eef2ff; color: #4338ca; }

  .cat-erm .category-badge { background: #1c1a0a; }
  .cat-erm .category-badge .dot { background: var(--gold); }
  .cat-erm .card { border-left-color: var(--gold); }
  .cat-erm .card-tag { background: #fefce8; color: #a16207; }

  /* CARD GRID */
  .cards-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 20px; }
  .cards-grid.wide { grid-template-columns: 1fr; }
  .cards-grid.two { grid-template-columns: 1fr 1fr; }

  /* TESTIMONIAL CARD */
  .card {
    background: var(--white); border-radius: 14px;
    border-left: 4px solid var(--gold);
    padding: 28px 28px 22px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.05);
    transition: transform 0.2s, box-shadow 0.2s;
    display: flex; flex-direction: column; gap: 16px;
    opacity: 1; transform: translateY(0);
    transition: box-shadow 0.2s;
  }
  .card:hover { transform: translateY(-3px); box-shadow: 0 8px 28px rgba(0,0,0,0.09); }
  .card-quote { font-size: 28px; color: var(--gold); opacity: 0.4; font-family: 'Playfair Display', serif; line-height: 1; margin-bottom: -8px; }
  .card-text { font-family: 'Playfair Display', serif; font-size: 15px; font-style: italic; color: var(--navy); line-height: 1.75; flex: 1; }
  .card-footer { display: flex; align-items: center; justify-content: space-between; padding-top: 14px; border-top: 1px solid var(--grey-100); }
  .card-tag { font-size: 10px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; font-family: 'DM Mono', monospace; padding: 4px 10px; border-radius: 4px; }
  .card-attr { font-size: 11px; color: var(--grey-500); font-family: 'DM Mono', monospace; }

  /* FEATURED CARD — full width, larger */
  .card-featured {
    background: var(--navy); border-left: 4px solid var(--gold);
    border-radius: 14px; padding: 36px 36px 28px;
    box-shadow: 0 4px 24px rgba(15,32,68,0.15);
    display: flex; flex-direction: column; gap: 18px;
    opacity: 1; transform: translateY(0);
    transition: box-shadow 0.2s;
  }
  .card-featured .card-quote { color: var(--gold); opacity: 0.6; }
  .card-featured .card-text { color: var(--white); font-size: 18px; }
  .card-featured .card-footer { border-top-color: rgba(255,255,255,0.1); }
  .card-featured .card-attr { color: rgba(255,255,255,0.4); }

  /* CTA SECTION */
  .cta-section { background: var(--navy); padding: 72px 48px; margin-top: 32px; }
  .cta-inner { max-width: 700px; margin: 0 auto; text-align: center; }
  .cta-label { font-size: 11px; font-weight: 600; color: var(--gold); letter-spacing: 0.14em; text-transform: uppercase; font-family: 'DM Mono', monospace; margin-bottom: 16px; }
  .cta-title { font-family: 'Playfair Display', serif; font-size: 38px; font-weight: 700; color: var(--white); line-height: 1.2; margin-bottom: 16px; }
  .cta-title em { font-style: italic; color: var(--gold); }
  .cta-sub { font-size: 16px; color: rgba(255,255,255,0.45); line-height: 1.7; margin-bottom: 36px; }
  .cta-btn {
    display: inline-block; background: var(--gold); color: var(--navy);
    padding: 14px 36px; border-radius: 6px; font-weight: 600; font-size: 14px;
    text-decoration: none; transition: background 0.2s;
  }
  .cta-btn:hover { background: var(--gold-light); }

/* ── SITE-WIDE TICKER ── */
.ticker-bar{position:fixed;top:68px;left:0;right:0;z-index:290;background:rgba(8,15,34,.96);border-bottom:1px solid rgba(201,168,76,.15);backdrop-filter:blur(8px);height:34px;overflow:hidden;}
.ticker-bar::before,.ticker-bar::after{content:'';position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none;}
.ticker-bar::before{left:0;background:linear-gradient(90deg,rgba(8,15,34,.98),transparent);}
.ticker-bar::after{right:0;background:linear-gradient(270deg,rgba(8,15,34,.98),transparent);}
.ticker-track{display:flex;align-items:center;height:34px;animation:tickerSlide 40s linear infinite;width:max-content;}
.ticker-track:hover{animation-play-state:paused;}
.ticker-item{display:inline-flex;align-items:center;gap:9px;padding:0 48px 0 0;white-space:nowrap;}
.ticker-tag{font-size:8px;font-weight:700;padding:2px 7px;border-radius:3px;font-family:'DM Mono',monospace;letter-spacing:.07em;text-transform:uppercase;flex-shrink:0;}
.ticker-tag.new{background:rgba(201,168,76,.15);color:#c9a84c;border:1px solid rgba(201,168,76,.25);}
.ticker-tag.live{background:rgba(22,163,74,.12);color:#4ade80;border:1px solid rgba(22,163,74,.25);}
.ticker-tag.cpd{background:rgba(139,92,246,.12);color:#a78bfa;border:1px solid rgba(139,92,246,.25);}
.ticker-tag.info{background:rgba(255,255,255,.06);color:rgba(255,255,255,.38);border:1px solid rgba(255,255,255,.1);}
.ticker-tag.soon{background:rgba(14,116,144,.15);color:#0ea5c9;border:1px solid rgba(14,116,144,.25);}
.ticker-text{font-size:11.5px;color:rgba(255,255,255,.42);font-family:'DM Sans',sans-serif;font-weight:400;}
.ticker-sep{width:1px;height:14px;background:rgba(255,255,255,.1);margin:0 20px 0 -32px;flex-shrink:0;}
@keyframes tickerSlide{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}