/* ════════════════════════════════
       TS-01  PAGE HERO
    ════════════════════════════════ */
    .ts-hero {
      background:#fff;
      padding: clamp(2.5rem,5vw,4rem) 0 clamp(3rem,6vw,5rem);
      position:relative;
      overflow:hidden;
    }
    .ts-hero::before {
      content:'';
      position:absolute; inset:0;
      background:
        radial-gradient(ellipse 60% 50% at 80% 50%, rgba(201,168,76,.07) 0%, transparent 70%),
        radial-gradient(ellipse 40% 60% at 10% 80%, rgba(1,36,74,.04) 0%, transparent 60%);
      pointer-events:none;
    }
    .ts-hero-grid {
      display:grid;
      grid-template-columns:1fr 1fr;
      gap: clamp(2rem,5vw,5rem);
      align-items:center;
    }
    .ts-hero-kpi-strip {
      display:flex; gap:2rem;
      margin-top:2.5rem; padding-top:2rem;
      border-top:1px solid var(--ng-gray-100);
    }
    .ts-hero-kpi { display:flex; flex-direction:column; gap:2px; }
    .ts-hero-kpi-num {
      font-family:'DM Sans',sans-serif; font-weight:800;
      font-size:clamp(1.6rem,3vw,2.2rem);
      color:var(--ng-navy); letter-spacing:-0.04em; line-height:1;
    }
    .ts-hero-kpi-num.crimson { color:var(--ng-crimson); }
    .ts-hero-kpi-label { font-size:var(--text-xs); color:var(--ng-gray-500); font-weight:500; }

    /* Hero mosaic */
    .ts-hero-mosaic {
      display:grid;
      grid-template-columns:repeat(3,1fr);
      grid-template-rows:165px 165px 115px;
      gap:10px;
      border-radius:var(--radius-2xl);
      overflow:hidden;
    }
    .ts-mc { overflow:hidden; position:relative; }
    .ts-mc img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
    .ts-mc:hover img { transform:scale(1.06); }
    .ts-mc.sc { grid-column:span 2; }
    .ts-mc.sr { grid-row:span 2; }
    .ts-mc-ov {
      position:absolute; inset:0;
      background:linear-gradient(to top,rgba(1,15,30,.55) 0%,transparent 55%);
      display:flex; align-items:flex-end; padding:10px;
    }
    .ts-mc-tag {
      font-size:10px; font-family:'JetBrains Mono',monospace; font-weight:500;
      color:#fff; background:rgba(1,36,74,.65); backdrop-filter:blur(8px);
      padding:3px 8px; border-radius:9999px; letter-spacing:.05em;
    }
    .ts-mc-tag.cr { background:rgba(164,0,0,.75); }
    .ts-mc-tag.gd { background:rgba(140,100,20,.85); }

    /* Rating bar */
    .ts-rating-bar {
      background:var(--ng-off-white);
      padding:1.5rem 0;
      border-top:1px solid var(--ng-gray-100);
      border-bottom:1px solid var(--ng-gray-100);
    }
    .ts-rating-inner {
      display:flex; align-items:center; justify-content:center;
      gap:clamp(1.5rem,4vw,4rem); flex-wrap:wrap;
    }
    .ts-rating-item { display:flex; align-items:center; gap:.75rem; }
    .ts-rating-stars { color:#C9A84C; font-size:1rem; letter-spacing:2px; }
    .ts-rating-platform { font-size:var(--text-sm); font-weight:600; color:var(--ng-gray-600); }
    .ts-rating-score {
      font-family:'DM Sans',sans-serif; font-weight:800;
      font-size:1.4rem; color:var(--ng-navy); letter-spacing:-0.03em;
    }
    .ts-rdiv { width:1px; height:36px; background:var(--ng-gray-200); }

    /* ════════════════════════════════
       TS-02  CAREER STORIES  CAROUSEL
    ════════════════════════════════ */
    .ts-carousel-wrap {
      position:relative;
      overflow:hidden;
    }
    .ts-carousel-track {
      display:flex;
      transition:transform .5s cubic-bezier(0.4,0,0.2,1);
      will-change:transform;
    }
    /* Stories carousel: show 2 at a time */
    .ts-stories-track .ts-story-slide {
      min-width:calc(50% - .75rem);
      margin-right:1.5rem;
    }
    .ts-stories-track .ts-story-slide:last-child { margin-right:0; }

    /* Videos carousel: show 3 at a time */
    .ts-videos-track .ts-vid-slide {
      min-width:calc(33.333% - 1rem);
      margin-right:1.5rem;
    }
    .ts-videos-track .ts-vid-slide:last-child { margin-right:0; }

    .ts-carousel-btn {
      position:absolute; top:50%; transform:translateY(-50%);
      width:48px; height:48px; border-radius:50%;
      background:#fff; border:1.5px solid var(--ng-gray-200);
      box-shadow:var(--shadow-md);
      display:flex; align-items:center; justify-content:center;
      cursor:pointer; z-index:10;
      transition:all .2s; color:var(--ng-navy);
    }
    .ts-carousel-btn:hover {
      background:var(--ng-navy); color:#fff; border-color:var(--ng-navy);
      box-shadow:var(--shadow-lg);
    }
    .ts-carousel-btn:disabled { opacity:.35; cursor:not-allowed; }
    .ts-carousel-btn:disabled:hover { background:#fff; color:var(--ng-navy); border-color:var(--ng-gray-200); }
    .ts-carousel-btn.prev { left:-24px; }
    .ts-carousel-btn.next { right:-24px; }
    .ts-carousel-dots {
      display:flex; justify-content:center; gap:.5rem; margin-top:1.5rem;
    }
    .ts-dot {
      width:8px; height:8px; border-radius:9999px;
      background:var(--ng-gray-200); border:none; cursor:pointer;
      transition:all .25s; padding:0;
    }
    .ts-dot.active { width:24px; background:var(--ng-crimson); }

    /* Story card */
    .ts-story-card {
      background:#fff;
      border:1px solid var(--ng-gray-100);
      border-radius:var(--radius-xl);
      overflow:hidden;
      box-shadow:var(--shadow-card);
      height:100%;
      display:flex; flex-direction:column;
    }
    .ts-story-img { width:100%; height:200px; object-fit:cover; display:block; }
    .ts-story-body { padding:1.75rem; flex:1; display:flex; flex-direction:column; }
    .ts-ba {
      display:flex; gap:.75rem; margin-bottom:1.25rem;
    }
    .ts-ba-item {
      flex:1; background:var(--ng-gray-50);
      border-radius:var(--radius-md); padding:.75rem;
    }
    .ts-ba-item.after { background:var(--ng-navy-50); }
    .ts-ba-label {
      font-size:10px; font-family:'JetBrains Mono',monospace;
      font-weight:500; letter-spacing:.08em; text-transform:uppercase;
      color:var(--ng-gray-400); margin-bottom:3px;
    }
    .ts-ba-item.after .ts-ba-label { color:var(--ng-navy-300); }
    .ts-ba-value { font-weight:700; font-size:var(--text-sm); color:var(--ng-gray-700); line-height:1.3; }
    .ts-ba-item.after .ts-ba-value { color:var(--ng-navy); }
    .ts-ba-salary { font-size:var(--text-xs); font-weight:700; color:var(--ng-crimson); margin-top:2px; }
    .ts-ba-arrow {
      display:flex; align-items:center; color:var(--ng-crimson); flex-shrink:0; padding-top:4px;
    }
    .ts-story-quote {
      font-family:'Roboto Slab',serif; font-style:italic;
      font-size:.95rem; color:var(--ng-gray-700); line-height:1.75; flex:1;
      margin-bottom:1.25rem;
    }
    .ts-story-meta { display:flex; align-items:center; gap:.75rem; margin-top:auto; }
    .ts-story-avatar {
      width:42px; height:42px; border-radius:50%; object-fit:cover;
      border:2px solid var(--ng-gray-100); flex-shrink:0;
    }
    .ts-story-name { font-weight:700; font-size:var(--text-sm); color:var(--ng-navy); }
    .ts-story-role { font-size:var(--text-xs); color:var(--ng-gray-500); margin-top:1px; }

    /* cert badge */
    .ts-cert {
      margin-left:auto; font-family:'JetBrains Mono',monospace;
      font-size:10px; font-weight:500; padding:3px 8px;
      border-radius:9999px; white-space:nowrap; flex-shrink:0;
    }
    .ts-cert.navy { background:var(--ng-navy-50); color:var(--ng-navy); }
    .ts-cert.crim { background:var(--ng-crimson-50); color:var(--ng-crimson); }
    .ts-cert.gold { background:#fdf0cc; color:var(--ng-gold-dark); }

    /* ════════════════════════════════
       TS-03  VIDEO CAROUSEL
    ════════════════════════════════ */
    .ts-vid-card {
      border-radius:var(--radius-xl); overflow:hidden;
      box-shadow:var(--shadow-card);
      background:#fff; height:100%;
      display:flex; flex-direction:column;
    }
    .ts-vid-footer {
      padding:1.25rem 1.25rem 1.5rem; background:#fff;
    }
    .ts-vid-name { font-weight:700; font-size:var(--text-sm); color:var(--ng-navy); }
    .ts-vid-detail { font-size:var(--text-xs); color:var(--ng-gray-500); margin-top:2px; }

    /* ════════════════════════════════
       TS-04  CAREER LADDER
    ════════════════════════════════ */
    .ts-ladder-section {
      padding:clamp(4rem,8vw,6rem) 0;
      background:var(--ng-off-white);
      position:relative; overflow:hidden;
    }
    


    /* ════════════════════════════════
       TS-05  WRITTEN REVIEWS  MASONRY
    ════════════════════════════════ */
    .ts-masonry { columns:3; column-gap:1.5rem; }
    .ts-rev-card {
      break-inside:avoid;
      margin-bottom:1.5rem;
      background:#fff;
      border:1px solid var(--ng-gray-100);
      border-radius:var(--radius-xl);
      padding:1.75rem;
      box-shadow:var(--shadow-card);
      transition:box-shadow .3s, transform .3s;
      position:relative; overflow:hidden;
    }
    .ts-rev-card::before {
      content:''; position:absolute; top:0; left:0; right:0; height:3px;
      background:linear-gradient(90deg,transparent,var(--ts-ac,#a40000) 35%,var(--ts-ac2,#C9A84C) 65%,transparent);
      opacity:0; transition:opacity .3s;
    }
    .ts-rev-card:hover { box-shadow:var(--shadow-hover); transform:translateY(-4px); }
    .ts-rev-card:hover::before { opacity:1; }
    .ts-rev-card.gold-bg {
      background:linear-gradient(135deg,#fffdf4 0%,#fdf6e0 100%);
      border-color:#e8d99a;
    }
    .ts-rev-card.blue-bg {
      background:linear-gradient(135deg,#fafbff 0%,#edf4fb 100%);
      border-color:var(--ng-navy-100);
    }
    .ts-rev-qm {
      font-family:'Roboto Slab',serif; font-size:3.5rem; line-height:.5;
      color:var(--ng-crimson); opacity:.12; display:block; margin-bottom:.5rem;
    }
    .ts-rev-card.gold-bg .ts-rev-qm { color:var(--ng-gold); }
    .ts-rev-stars { color:#C9A84C; font-size:.8rem; letter-spacing:2px; margin-bottom:.9rem; }
    .ts-rev-quote {
      font-family:'Roboto Slab',serif; font-style:italic;
      font-size:.92rem; color:var(--ng-gray-700); line-height:1.75; margin-bottom:1.25rem;
    }
    .ts-rev-meta { display:flex; align-items:center; gap:.75rem; }
    .ts-rev-avatar {
      width:42px; height:42px; border-radius:50%; object-fit:cover;
      border:2px solid var(--ng-gray-100); flex-shrink:0;
    }
    .ts-rev-name { font-weight:700; font-size:var(--text-sm); color:var(--ng-navy); line-height:1.2; }
    .ts-rev-role { font-size:var(--text-xs); color:var(--ng-gray-500); margin-top:2px; }

    /* hidden cards */
    .ts-rev-card.ts-hidden { display:none; }

    /* Load More btn */
    .ts-load-more-wrap { text-align:center; margin-top:2.5rem; }

    /* Filter tabs */
    .ts-filter-bar {
      display:flex; gap:.5rem; flex-wrap:wrap; justify-content:center; margin-bottom:2.5rem;
    }
    .ts-filter-btn {
      font-family:'DM Sans',sans-serif; font-size:var(--text-sm); font-weight:600;
      padding:.45rem 1.1rem; border-radius:9999px;
      border:1.5px solid var(--ng-gray-200);
      background:#fff; color:var(--ng-gray-600); cursor:pointer; transition:all .2s;
    }
    .ts-filter-btn:hover { border-color:var(--ng-navy); color:var(--ng-navy); }
    .ts-filter-btn.active { background:var(--ng-navy); color:#fff; border-color:var(--ng-navy); }

    /* Review count */
    .ts-rev-count {
      text-align:center; margin-bottom:1.5rem;
      font-size:var(--text-sm); color:var(--ng-gray-500);
    }
    .ts-rev-count strong { color:var(--ng-navy); font-weight:700; }

    /* ════════════════════════════════
       TS-06  GLOBAL REACH (DARK SECTION)
    ════════════════════════════════ */
    .ts-reach-dark {
      background:var(--ng-navy);
      padding:clamp(4rem,8vw,6rem) 0;
      position:relative; overflow:hidden;
    }
    .ts-reach-dark::before {
      content:'';
      position:absolute; inset:0;
      background:radial-gradient(ellipse 70% 60% at 20% 50%, rgba(201,168,76,.08) 0%, transparent 60%);
      pointer-events:none;
    }
    .ts-reach-grid {
      display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center;
    }
    .ts-reach-stat {
      display:flex; align-items:center; gap:1rem;
      padding:1.25rem; border-radius:var(--radius-lg);
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.1); margin-bottom:.75rem;
    }
    .ts-reach-icon {
      width:44px; height:44px; background:rgba(201,168,76,.15);
      border-radius:var(--radius-md); display:flex; align-items:center; justify-content:center;
      flex-shrink:0; color:var(--ng-gold);
    }
    .ts-reach-num {
      font-family:'DM Sans',sans-serif; font-weight:800;
      font-size:1.5rem; color:#fff; letter-spacing:-0.03em; line-height:1;
    }
    .ts-reach-label { font-size:var(--text-xs); color:rgba(255,255,255,.6); margin-top:2px; }
    .ts-countries { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.5rem; }
    .ts-country-pill {
      font-size:11px; font-family:'DM Sans',sans-serif; font-weight:600;
      padding:4px 12px; border-radius:9999px;
      background:rgba(255,255,255,.08); color:rgba(255,255,255,.75);
      border:1px solid rgba(255,255,255,.12);
    }

    /* ════════════════════════════════
       TS-07  EMPLOYER LOGOS
    ════════════════════════════════ */
    .ts-employers-section {
      padding:clamp(3.5rem,6vw,5rem) 0;
      background:#fff;
    }
    .ts-logo-grid {
      display:grid;
      grid-template-columns:repeat(5,1fr);
      gap:1px;
      border:1px solid var(--ng-gray-100);
      border-radius:var(--radius-lg);
      overflow:hidden;
      margin-top:2.5rem;
    }
    .ts-logo-cell {
      display:flex; align-items:center; justify-content:center;
      padding:1.5rem 1.25rem;
      background:#fff;
      border-right:1px solid var(--ng-gray-100);
      border-bottom:1px solid var(--ng-gray-100);
      transition:background .2s;
      min-height:80px;
    }
    .ts-logo-cell:hover { background:var(--ng-gray-50); }
    .ts-logo-cell:nth-child(5n) { border-right:none; }
    .ts-logo-cell:nth-child(n+21) { border-bottom:none; }

    /* SVG logos — all rendered as inline SVG text wordmarks */
    .ts-logo-svg {
      height:28px; width:auto; max-width:110px;
      opacity:.55; filter:grayscale(1);
      transition:opacity .2s, filter .2s;
      display:block;
    }
    .ts-logo-cell:hover .ts-logo-svg { opacity:.85; filter:grayscale(.2); }

    
    /* ════════════════════════════════
       RESPONSIVE
    ════════════════════════════════ */
    @media(max-width:1024px){
      .ts-hero-grid { grid-template-columns:1fr; }
      .ts-hero-mosaic { display:none; }
      .ts-masonry { columns:2; }
      .ts-reach-grid { grid-template-columns:1fr; gap:2rem; }
      .ts-logo-grid { grid-template-columns:repeat(4,1fr); }
      .ts-videos-track .ts-vid-slide { min-width:calc(50% - .75rem); }
    }
    @media(max-width:768px){
      .ts-masonry { columns:1; }
      .ts-logo-grid { grid-template-columns:repeat(3,1fr); }
      .ts-stories-track .ts-story-slide { min-width:100%; }
      .ts-videos-track .ts-vid-slide { min-width:100%; }
      .ts-rdiv { display:none; }
    }
    @media(max-width:480px){
      .ts-logo-grid { grid-template-columns:repeat(2,1fr); }
      .ts-hero-kpi-strip { flex-wrap:wrap; gap:1rem; }
    }