/* ============================================================================
   TCC HOMEPAGE — LIGHT canvas · WHITE sticky header · TCC blue accent,
   with a DARK hero band + DARK footer as the two "dark accents" (per user:
   light site, dark accents). Light body/sections, dark text, TCC blue
   (#051c38 / #051c38) on links / underline / buttons / logo; yellow minor.
   The hero uses its own --hx-hero-* dark palette so it stays dark on a
   light page. New markup uses .hx-* classes.
   ========================================================================== */
:root{
  --hx-bg:        #ffffff;     /* light canvas */
  --hx-bg-2:      #f4f6f9;     /* elevated light card / panel tint */
  --hx-ink:       #0c1626;     /* dark primary text */
  --hx-ink-soft:  #475569;     /* soft dark text */
  --hx-muted:     #64748b;     /* muted slate */
  --hx-line:      #e7ebf1;     /* light hairline */
  --hx-line-2:    #eef2f6;
  --hx-accent:    #051c38;     /* TCC blue (reads on light) */
  --hx-accent-2:  #051c38;     /* deeper TCC blue (buttons) */
  --hx-cta:       #ffc107;     /* TCC yellow — minor accent */
  --hx-panel:     #ffffff;     /* light panel */
  --hx-maxw:      1280px;
  --hx-display:   'Space Grotesk','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;

  /* ---- Hero band palette — LIGHT (matches the page) ---- */
  --hx-hero-bg:     #ffffff;            /* light hero canvas */
  --hx-hero-ink:    #0c1626;            /* dark hero text */
  --hx-hero-line:   #e7ebf1;            /* light hairline */
  --hx-hero-accent: #051c38;            /* TCC blue underline */
}

/* Display grotesk on headlines; body + UI stay Inter */
.hx-h1,.hx-h2,.hx-band-num,.hx-tile h3,.hx-ent-card h3,.hx-stat .num,.hx-logo,.hx-foot-col h4{
  font-family:var(--hx-display);
}

/* ---- Base ---- */
body{ background:var(--hx-bg) !important; color:var(--hx-ink) !important; font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif !important; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
.hx-wrap{ max-width:var(--hx-maxw); margin:0 auto; padding:0 24px; }
.hx a{ text-decoration:none; }
.hx-arrow{ display:inline-block; transition:transform .2s ease; }
a:hover > .hx-arrow, .hx-arrowlink:hover .hx-arrow{ transform:translateX(4px); }
::selection{ background:rgba(91,155,245,.30); color:#fff; }

/* ============================ HEADER (stays WHITE / light-context) ========= */
.hx-nav{ position:sticky; top:0; z-index:1000; background:rgba(255,255,255,.92); backdrop-filter:saturate(180%) blur(12px); -webkit-backdrop-filter:saturate(180%) blur(12px); border-bottom:1px solid #ececec; }
.hx-nav-inner{ max-width:var(--hx-maxw); margin:0 auto; height:64px; padding:0 24px; display:flex; align-items:center; gap:28px; }
.hx-logo{ display:flex; align-items:center; gap:9px; font-weight:600; font-size:17px; letter-spacing:-.02em; color:#0a0a0a; line-height:0; }
.hx-logo svg{ width:176px; height:auto; display:block; }
.hx-logo-mark{ width:30px; height:30px; border-radius:8px; background:#0a0a0a; color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:15px; }
.hx-nav-links{ display:flex; align-items:center; gap:4px; }
.hx-nav-links a{ display:inline-flex; align-items:center; gap:5px; padding:8px 12px; border-radius:8px; font-size:14.5px; font-weight:500; color:#1a1a1a; transition:background .15s ease, color .15s ease; }
.hx-nav-links a:hover{ background:#f2f2f4; color:#0a0a0a; }
.hx-nav-links svg{ width:11px; height:11px; opacity:.55; }
.hx-nav-cta{ margin-left:auto; display:flex; align-items:center; gap:10px; }
.hx-pill{ display:inline-flex; align-items:center; gap:8px; height:36px; padding:0 18px; border-radius:6px; font-size:14px; font-weight:500; cursor:pointer; transition:all .18s ease; white-space:nowrap; }
/* Primary CTA = Buy Report yellow */
.hx-pill--fill{ background:var(--hx-cta); color:#051c38; }
.hx-pill--fill:hover{ background:#e0a800; color:#051c38; }
/* Outline: body (on dark) = light text; header override below = dark text */
.hx-pill--outline{ background:transparent; color:var(--hx-ink); border:1px solid var(--hx-line); }
.hx-pill--outline:hover{ border-color:rgba(255,255,255,.30); background:rgba(255,255,255,.05); }
.hx-nav .hx-pill--outline{ color:#1a1a1a; border-color:#d9d9d9; }
.hx-nav .hx-pill--outline:hover{ border-color:#0a0a0a; background:#f5f5f5; }
.hx-nav .hx-pill--fill{ background:#ffc107; border-color:#ffc107; border-radius:6px; color:#051c38; }
.hx-nav .hx-pill--fill:hover{ background:#e0a800; border-color:#e0a800; color:#051c38; }
.hx-pill--cta{ background:var(--hx-cta); color:#0a0a0a; }
.hx-pill--cta:hover{ background:#e6ad00; }
.hx-burger{ display:none; margin-left:auto; width:42px; height:42px; border-radius:6px; border:1px solid #d9d9d9; background:#fff; align-items:center; justify-content:center; color:#1a1a1a; }

/* ============================ HERO (light + layered ambient texture) ======= */
.hx-hero{ position:relative; overflow:visible; z-index:5; text-align:center; padding:100px 24px 76px; background:
   radial-gradient(780px 430px at 50% -10%, rgba(5,28,56,.11), transparent 60%),
   radial-gradient(620px 360px at 84% 2%, rgba(13,148,136,.055), transparent 56%),
   radial-gradient(640px 380px at 14% 6%, rgba(5,28,56,.05), transparent 58%),
   var(--hx-hero-bg); }
/* Fine graph-grid texture, masked to a soft halo behind the headline */
.hx-hero::before{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
   background-image:
     linear-gradient(to right, rgba(15,23,42,.05) 1px, transparent 1px),
     linear-gradient(to bottom, rgba(15,23,42,.05) 1px, transparent 1px);
   background-size:48px 48px; background-position:center top;
   -webkit-mask-image:radial-gradient(ellipse 66% 62% at 50% 24%, #000 0%, rgba(0,0,0,.35) 46%, transparent 76%);
           mask-image:radial-gradient(ellipse 66% 62% at 50% 24%, #000 0%, rgba(0,0,0,.35) 46%, transparent 76%); }
/* A second, finer dot layer for subtle depth */
.hx-hero::after{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
   background-image:radial-gradient(rgba(5,28,56,.10) 1px, transparent 1.4px); background-size:48px 48px; background-position:24px 24px;
   -webkit-mask-image:radial-gradient(ellipse 60% 56% at 50% 22%, #000 0%, transparent 70%);
           mask-image:radial-gradient(ellipse 60% 56% at 50% 22%, #000 0%, transparent 70%); }
.hx-hero > *{ position:relative; z-index:1; }
.hx-hero > *{ position:relative; z-index:1; }
.hx-badge{ display:inline-flex; align-items:center; gap:8px; height:33px; padding:0 6px 0 6px; border-radius:9999px; border:1px solid var(--hx-hero-line); background:var(--hx-bg-2); font-size:12px; font-weight:500; color:var(--hx-hero-ink); margin-bottom:30px; box-shadow:0 1px 2px rgba(15,23,42,.05); padding-right:14px; }
.hx-badge .tag{ display:inline-flex; align-items:center; height:20px; padding:0 8px; border-radius:9999px; background:var(--hx-accent-2); color:#fff; font-size:11px; font-weight:700; letter-spacing:.02em; }
.hx-badge .hx-arrow{ color:var(--hx-muted); }
.hx-h1{ font-size:clamp(38px,5.4vw,60px); line-height:1.02; letter-spacing:-1.6px; font-weight:500; color:var(--hx-hero-ink); margin:0 auto 24px; max-width:1040px; }
.hx-underline{ position:relative; white-space:nowrap; }
.hx-underline::after{ content:""; position:absolute; left:0; right:0; bottom:.05em; height:2px; background:var(--hx-hero-accent); border-radius:2px; }
.hx-lead{ font-size:18px; line-height:1.62; color:var(--hx-muted); max-width:680px; margin:0 auto 30px; font-weight:400; }
.hx-hero .hx-hero-search{ max-width:520px; margin:0 auto 12px; position:relative; z-index:30; }
/* Popular listed-company quick links under the search — one-click into a real company page */
.hx-hero-chips{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; max-width:600px; margin:0 auto 22px; }
.hx-hero-chips-label{ font-size:12.5px; font-weight:600; color:var(--hx-muted); letter-spacing:.01em; }
.hx-hero-chips a{ font-size:12.5px; font-weight:600; color:#051c38; text-decoration:none; padding:5px 12px; border:1px solid #dbe3ec; border-radius:999px; background:#fff; transition:border-color .15s, background .15s, color .15s; white-space:nowrap; }
.hx-hero-chips a:hover{ border-color:#051c38; background:#f2f6fb; color:#051c38; }
.hx-hero-actions{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
.hx-hero-trust{ margin-top:22px; font-size:13.5px; color:var(--hx-muted); }
.hx-hero-actions .hx-pill{ height:44px; padding:0 22px; font-size:14px; }
/* hero outline button = dark text + light border on the light hero */
.hx-hero .hx-pill--outline{ color:var(--hx-ink); border-color:#d9d9d9; background:#fff; }
.hx-hero .hx-pill--outline:hover{ border-color:#0a0a0a; background:#f5f5f5; }
.hx-badge .hx-arrow{ color:var(--hx-muted); }

/* Hero search — WHITE bar on the light hero, dark text inside, blue submit. Reuses #search-form + JS. */
.hx-hero-search #search-form{ position:relative; width:100% !important; max-width:520px; margin:0 auto; }
.hx-hero-search #search-container{ display:flex !important; align-items:center; gap:6px; position:relative; background:#fff !important; border:1px solid #e2e8f0 !important; border-radius:12px !important; padding:5px 6px 5px 14px !important; box-shadow:0 8px 24px rgba(15,23,42,.09) !important; transition:box-shadow .2s, border-color .2s; }
.hx-hero-search #search-container:focus-within{ border-color:var(--hx-accent-2) !important; box-shadow:0 0 0 4px rgba(5,28,56,.15), 0 12px 32px rgba(15,23,42,.10) !important; }
.hx-hero-search .searchbutton{ flex:0 0 auto; border:0 !important; background:transparent !important; padding:0 !important; display:inline-flex; align-items:center; color:#6a7889 !important; }
.hx-hero-search .searchbutton svg{ color:#6a7889 !important; }
.hx-hero-search #txtSearchGlobal{ flex:1 1 auto !important; min-width:0; border:0 !important; outline:0 !important; background:transparent !important; box-shadow:none !important; color:#0c1626 !important; font-size:15px !important; padding:10px 8px !important; }
.hx-hero-search #txtSearchGlobal::placeholder{ color:#9aa7b6 !important; }
.hx-hero-search #search-button{ flex:0 0 auto; background:var(--hx-accent-2) !important; color:#fff !important; min-width:auto !important; min-height:auto !important; width:38px !important; height:38px !important; padding:0 !important; border-radius:6px !important; display:inline-flex !important; align-items:center; justify-content:center !important; transition:background .18s ease, transform .18s ease; }
.hx-hero-search #search-button:hover{ background:#10375f !important; transform:translateX(1px); }
.hx-hero-search #search-button svg{ width:20px !important; height:20px !important; color:#fff !important; }
/* ── search scope selector + premium teaser-lock (revertible: delete this block + the #tccSearchScope/#tccSearchLock markup + the tcc-search-scope script) ── */
.hx-hero-search .tcc-scope-select{ flex:0 0 auto; border:0 !important; outline:0 !important; background:transparent !important; color:#051c38 !important; font-size:13px !important; font-weight:600; padding:0 6px 0 0 !important; margin-right:2px; border-right:1px solid #e2e8f0 !important; cursor:pointer; -webkit-appearance:menulist; appearance:auto; max-width:120px; }
.hx-hero-search .tcc-scope-select:focus{ outline:0 !important; }
.tcc-search-lock{ display:flex; gap:12px; align-items:flex-start; text-align:left; position:absolute; left:0; right:0; top:calc(100% + 10px); z-index:60; background:#fff; border:1px solid #e7ebf1; border-radius:14px; box-shadow:0 22px 48px rgba(15,23,42,.16); padding:16px 18px; }
.tcc-search-lock .tcc-lock-ic{ font-size:20px; line-height:1.2; flex:0 0 auto; }
.tcc-search-lock .tcc-lock-ttl{ font-size:14.5px; font-weight:700; color:#0c1626; }
.tcc-search-lock .tcc-lock-sub{ font-size:13px; color:#5a6a7d; margin-top:3px; line-height:1.5; }
.tcc-search-lock .tcc-lock-cta{ display:inline-block; margin-top:9px; font-size:13px; font-weight:700; color:#fff; background:var(--hx-accent-2,#051c38); padding:8px 14px; border-radius:8px; text-decoration:none; }
.tcc-search-lock .tcc-lock-cta:hover{ background:#10375f; }
/* results dropdown — absolute + hidden until JS .show() (no !important so .show() wins) */
.hx-hero-search #ul_CompanyListGlobal{ display:none; position:absolute; left:0; right:0; top:calc(100% + 10px); z-index:60; background:#fff; border:1px solid #e7ebf1; border-radius:14px; box-shadow:0 22px 48px rgba(15,23,42,.16); overflow:hidden; text-align:left; max-height:380px; overflow-y:auto; }
.hx-hero-search #btnSearch{ display:none !important; }

/* ===== Result items styled EXACTLY like the header search dropdown (_UnifiedHeader) ===== */
.hx-hero-search #ul_CompanyListGlobal .new-search-list-item{ margin:0; padding:0; }
.hx-hero-search #ul_CompanyListGlobal .new-search-list-item li{ display:flex !important; align-items:center; padding:8px 20px !important; column-gap:12px; border-bottom:1px dashed #f1f5f9 !important; cursor:pointer; background:#fff; position:relative; }
.hx-hero-search #ul_CompanyListGlobal .new-search-list-item li a{ display:flex; width:100%; padding:0; column-gap:12px; }
.hx-hero-search #ul_CompanyListGlobal .new-search-list-item li:last-child{ border-bottom:none !important; }
.hx-hero-search #ul_CompanyListGlobal .search-logo{ width:30px; height:30px; display:flex; overflow:hidden; justify-content:center; align-items:center; padding:2px; background:#fff; border-radius:5px; border:1px solid #f1f1f1; flex:0 0 auto; }
.hx-hero-search #ul_CompanyListGlobal .search-logo span{ color:#212529; font-size:13px; }
.hx-hero-search #ul_CompanyListGlobal .search-logo img{ object-fit:contain; max-width:100%; max-height:100%; height:auto !important; width:auto !important; }
.hx-hero-search #ul_CompanyListGlobal .new-search-details{ width:calc(100% - 40px); text-align:left; }
.hx-hero-search #ul_CompanyListGlobal .new-search-com-status{ display:flex; justify-content:space-between; column-gap:10px; align-items:center; }
.hx-hero-search #ul_CompanyListGlobal .new-search-com-status h4,
.hx-hero-search #ul_CompanyListGlobal h4{ font-size:0.775rem !important; font-weight:500 !important; margin:0 !important; color:#1e293b !important; line-height:1.3 !important; }
.hx-hero-search #ul_CompanyListGlobal .new-search-list-item li p{ margin:0 !important; font-size:12px !important; font-weight:400; line-height:1.5 !important; text-align:left; width:100%; color:#666666 !important; }
.hx-hero-search #ul_CompanyListGlobal .new-search-list-item li p span{ font-size:11px !important; margin:0 !important; color:#666 !important; font-weight:400; }
.hx-hero-search #ul_CompanyListGlobal .company-status{ font-size:11px !important; margin:0 !important; color:#666 !important; font-weight:400 !important; }
.hx-hero-search #ul_CompanyListGlobal .search-location-domain{ display:flex; column-gap:16px; }
.hx-hero-search #ul_CompanyListGlobal .search-location-domain span{ font-size:12px !important; color:#666 !important; }
.hx-hero-search #ul_CompanyListGlobal .location-border{ position:relative; }
.hx-hero-search #ul_CompanyListGlobal .location-border:before{ content:'|'; position:absolute; right:-10px; color:#555; top:0; font-size:13px; }
.hx-hero-search #ul_CompanyListGlobal .search-heading{ font-size:13px !important; font-weight:500; color:#555 !important; text-align:left; line-height:normal; padding:8px 20px; margin:0; }
.hx-hero-search #ul_CompanyListGlobal .search-heading span{ font-size:11px; color:#051c38 !important; }
.hx-hero-search #ul_CompanyListGlobal .new-search-list-item li:hover{ background:#293348 !important; }
.hx-hero-search #ul_CompanyListGlobal .new-search-list-item li:hover h4,
.hx-hero-search #ul_CompanyListGlobal .new-search-list-item li:hover p,
.hx-hero-search #ul_CompanyListGlobal .new-search-list-item li:hover span,
.hx-hero-search #ul_CompanyListGlobal .new-search-list-item li:hover .company-status,
.hx-hero-search #ul_CompanyListGlobal .new-search-list-item li:hover .initial-name{ color:#fff !important; }
.hx-hero-search #ul_CompanyListGlobal .new-search-top{ border-bottom:1px solid #e2e8f0; padding:10px 20px; background:#fff; }
.hx-hero-search #ul_CompanyListGlobal .new-search-tabs{ display:flex; column-gap:8px; margin:0; padding:0; }
.hx-hero-search #ul_CompanyListGlobal .new-search-tabs li{ border-radius:8px !important; padding:5px 16px; font-size:12px; font-weight:400; color:#666; cursor:pointer; border:1px solid #e2e8f0; background:#fff; white-space:nowrap; }
.hx-hero-search #ul_CompanyListGlobal .new-search-tabs li:hover{ background:#f1f5f9; border-color:#cbd5e1; color:#475569; }
.hx-hero-search #ul_CompanyListGlobal .new-search-tabs li.active{ background:#293348 !important; color:#fff !important; border-color:#293348; }

/* ============================ SECTION SHELL ================================ */
.hx-section{ padding:88px 0; }
.hx-eyebrow{ font-size:13px; font-weight:500; letter-spacing:.02em; color:var(--hx-accent); margin-bottom:14px; }
.hx-h2{ font-size:clamp(30px,3.6vw,48px); line-height:1.02; letter-spacing:-1.4px; font-weight:500; color:var(--hx-ink); margin:0; }
.hx-h2 .dim{ color:var(--hx-muted); }
.hx-sub{ font-size:17px; line-height:1.6; color:var(--hx-muted); margin:14px 0 0; max-width:520px; }

/* ---- Product showcase (legacy markup may be absent) ---------------------- */
.hx-showcase{ display:grid; grid-template-columns:1fr 1.15fr; gap:20px; align-items:stretch; margin-top:8px; }
.hx-card-soft{ background:var(--hx-bg-2); border:1px solid var(--hx-line); border-radius:20px; padding:26px; }
.hx-search-card{ display:flex; flex-direction:column; justify-content:center; }
.hx-search-label{ font-size:13px; font-weight:500; color:var(--hx-muted); margin-bottom:16px; letter-spacing:.01em; }
.hx-showcase .hx-hero-search #search-form{ max-width:100% !important; }
.hx-showcase .hx-hero-search #search-container{ box-shadow:0 1px 2px rgba(0,0,0,.3) !important; }
.hx-chat{ display:flex; flex-direction:column; gap:12px; }
.hx-bubble{ font-size:14px; line-height:1.5; border-radius:14px; padding:13px 16px; max-width:88%; }
.hx-bubble--in{ background:var(--hx-bg-2); border:1px solid var(--hx-line); color:var(--hx-ink-soft); align-self:flex-start; }
.hx-bubble--out{ background:var(--hx-accent-2); color:#fff; align-self:flex-end; }
.hx-panel{ background:var(--hx-panel); border:1px solid var(--hx-line); border-radius:20px; padding:0; overflow:hidden; box-shadow:0 30px 60px rgba(0,0,0,.45); }
.hx-panel-bar{ display:flex; align-items:center; gap:8px; padding:14px 16px; border-bottom:1px solid rgba(255,255,255,.08); }
.hx-dot{ width:11px; height:11px; border-radius:50%; }
.hx-panel-title{ margin-left:8px; color:rgba(255,255,255,.55); font-size:12.5px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }
.hx-panel-body{ padding:18px 20px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:13px; line-height:1.7; color:#cdd6e3; }
.hx-panel-body .k{ color:#7fb0ff; } .hx-panel-body .s{ color:#86e29b; } .hx-panel-body .n{ color:#ffd479; } .hx-panel-body .c{ color:#6b7a90; }
.hx-panel-img{ display:block; width:100%; }

/* ---- Product tiles — clean, on-theme cards with a brand-colour accent ----- */
.hx-tiles{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.hx-tile{ position:relative; display:flex; flex-direction:column; gap:13px; min-height:212px; padding:24px; border-radius:18px;
  background:#fff; border:1px solid var(--hx-line); box-shadow:0 1px 2px rgba(15,23,42,.04); color:var(--hx-ink);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.hx-tile:hover{ transform:translateY(-4px); box-shadow:0 18px 40px rgba(15,23,42,.10); border-color:#cdd7e5; }
.hx-tile-ic{ width:46px; height:46px; flex:0 0 auto; border-radius:12px; display:flex; align-items:center; justify-content:center;
  background:rgba(var(--ic,29,80,128),.10); color:rgb(var(--ic,29,80,128)); }
.hx-tile-ic svg{ width:23px; height:23px; }
.hx-tile h3{ font-size:18.5px; font-weight:600; letter-spacing:-.3px; margin:0; color:var(--hx-ink); }
.hx-tile p{ font-size:13.5px; line-height:1.55; color:var(--hx-muted); margin:0; flex:1 1 auto; }
.hx-tile .hx-explore{ display:inline-flex; align-items:center; gap:6px; font-size:13.5px; font-weight:600; color:rgb(var(--ic,29,80,128)); margin-top:2px; }
.hx-tile .hx-explore .hx-arrow{ transition:transform .2s ease; }
.hx-tile:hover .hx-explore .hx-arrow{ transform:translateX(4px); }
/* per-tile accent colour (icon chip + CTA) */
.hx-tile-1{ --ic:29,80,128; }    /* TCC blue — verify (official record) */
.hx-tile-2{ --ic:37,99,235; }    /* bright blue — discover (worldwide) */
.hx-tile-3{ --ic:13,148,136; }   /* teal — people & leadership */
.hx-tile-4{ --ic:180,83,9; }     /* amber — financials & risk */

/* ---- All-datasets grid (breadth of coverage) ----------------------------- */
.hx-db-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:30px; }
.hx-db-head .hx-eyebrow{ margin-bottom:8px; }
/* When the datasets block lives in the same section as the globe, add a hairline divider + breathing room */
.hx-db-head--merged{ margin-top:50px; padding-top:40px; border-top:1px solid var(--hx-line); }
@media (max-width:680px){ .hx-db-head--merged{ margin-top:36px; padding-top:32px; } }
.hx-db-leadin{ margin:0; font-family:var(--hx-display); font-size:21px; font-weight:600; letter-spacing:-.3px; color:var(--hx-ink); }
.hx-db-all{ font-weight:600; color:var(--hx-accent); white-space:nowrap; display:inline-flex; align-items:center; gap:6px; }
.hx-db-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.hx-db-card{ display:flex; align-items:center; gap:13px; padding:16px 16px; border-radius:14px; background:#fff; border:1px solid var(--hx-line); box-shadow:0 1px 2px rgba(15,23,42,.04); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.hx-db-card:hover{ transform:translateY(-3px); box-shadow:0 14px 30px rgba(15,23,42,.09); border-color:#cdd7e5; }
.hx-db-ic{ width:38px; height:38px; flex:0 0 auto; border-radius:10px; display:flex; align-items:center; justify-content:center; background:rgba(5,28,56,.08); color:var(--hx-accent-2); }
.hx-db-ic svg{ width:19px; height:19px; }
.hx-db-txt{ min-width:0; }
.hx-db-t{ font-size:14.5px; font-weight:600; color:var(--hx-ink); letter-spacing:-.2px; line-height:1.2; }
.hx-db-m{ font-size:12.5px; color:var(--hx-muted); margin-top:3px; }
.hx-db-foot{ text-align:center; font-size:14px; color:var(--hx-muted); margin-top:26px; }
@media (max-width:1000px){ .hx-db-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .hx-db-grid{ grid-template-columns:1fr; } .hx-db-head{ flex-direction:column; align-items:flex-start; } }

/* ---- Workflows + paired guides (merged section) ------------------------- */
.hx-flow-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:34px; }
.hx-flow-head-copy .hx-h2{ margin:0 0 12px; }
.hx-flow-head-copy .hx-sub{ margin:0; max-width:640px; }
.hx-flow-head-links{ display:flex; flex-direction:column; gap:10px; align-items:flex-end; flex:0 0 auto; padding-bottom:4px; }
.hx-flow-head-links .hx-arrowlink{ font-weight:600; color:var(--hx-accent); white-space:nowrap; }
.hx-flow-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.hx-flow-card{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--hx-line); border-radius:18px; padding:26px 26px 22px; box-shadow:0 1px 2px rgba(15,23,42,.04); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.hx-flow-card:hover{ transform:translateY(-4px); box-shadow:0 20px 44px rgba(15,23,42,.10); border-color:#cdd7e5; }
.hx-flow-top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.hx-flow-ic{ width:46px; height:46px; border-radius:13px; display:flex; align-items:center; justify-content:center; background:rgba(5,28,56,.08); color:var(--hx-accent-2); }
.hx-flow-ic svg{ width:23px; height:23px; }
.hx-flow-num{ font-family:var(--hx-display); font-size:30px; font-weight:700; color:rgba(5,28,56,.16); letter-spacing:-1px; line-height:1; }
.hx-flow-title{ font-family:var(--hx-display); font-size:20px; font-weight:600; color:var(--hx-ink); letter-spacing:-.3px; margin:0 0 10px; }
.hx-flow-desc{ font-size:14px; color:var(--hx-muted); line-height:1.6; margin:0 0 16px; }
.hx-flow-chips{ display:flex; flex-wrap:wrap; gap:7px; margin-bottom:20px; }
.hx-flow-chips span{ font-size:11.5px; font-weight:600; color:var(--hx-accent); background:rgba(5,28,56,.07); border-radius:7px; padding:4px 10px; }
.hx-flow-foot{ margin-top:auto; }
.hx-flow-guide{ display:flex; align-items:center; gap:11px; padding:11px 13px; border-radius:12px; background:#f6f9fe; border:1px solid var(--hx-line); text-decoration:none; transition:background .15s ease, border-color .15s ease; margin-bottom:16px; }
.hx-flow-guide:hover{ background:#eef4ff; border-color:#c8d6ee; }
.hx-flow-guide-tag{ font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--hx-accent-2); background:#fff; border:1px solid var(--hx-line); border-radius:6px; padding:3px 7px; flex:0 0 auto; }
.hx-flow-guide-ttl{ font-size:12.5px; font-weight:600; color:var(--hx-ink); line-height:1.3; flex:1; }
.hx-flow-guide-arrow{ color:var(--hx-muted); font-weight:700; flex:0 0 auto; transition:transform .15s ease; }
.hx-flow-guide:hover .hx-flow-guide-arrow{ transform:translateX(3px); color:var(--hx-accent); }
.hx-flow-more{ display:inline-flex; align-items:center; gap:6px; font-weight:600; font-size:14px; color:var(--hx-accent); text-decoration:none; }
.hx-flow-more::after{ content:"\2192"; transition:transform .15s ease; }
.hx-flow-more:hover::after{ transform:translateX(4px); }
@media (max-width:860px){ .hx-flow-grid{ grid-template-columns:1fr; } .hx-flow-head{ flex-direction:column; align-items:flex-start; gap:18px; } .hx-flow-head-links{ flex-direction:row; align-items:center; gap:20px; } }

/* ---- "What's inside a profile" depth checklists -------------------------- */
.hx-profile-cols{ display:grid; grid-template-columns:repeat(auto-fit, minmax(290px, 1fr)); gap:20px; }
.hx-profile-card{ background:#fff; border:1px solid var(--hx-line); border-radius:18px; padding:26px 24px 22px; box-shadow:0 1px 2px rgba(15,23,42,.04); }
.hx-profile-h{ display:flex; align-items:center; gap:12px; font-family:var(--hx-display); font-size:18px; font-weight:600; letter-spacing:-.2px; color:var(--hx-ink); margin-bottom:20px; }
.hx-profile-ic{ width:40px; height:40px; flex:0 0 auto; border-radius:11px; display:flex; align-items:center; justify-content:center; }
.hx-profile-ic svg{ width:21px; height:21px; }
.hx-profile-ic--blue{ background:rgba(5,28,56,.08); color:var(--hx-accent-2); }
.hx-profile-ic--teal{ background:rgba(13,148,136,.10); color:#0d9488; }
.hx-profile-ic--amber{ background:rgba(180,83,9,.10); color:#b45309; }
.hx-profile-list{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.hx-profile-list li{ position:relative; padding-left:26px; font-size:14px; line-height:1.45; color:var(--hx-ink-soft); }
.hx-profile-list li::before{ content:""; position:absolute; left:0; top:2px; width:18px; height:18px; border-radius:50%;
  background:rgba(5,28,56,.10) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center no-repeat; }
@media (max-width:620px){ .hx-profile-cols{ gap:16px; } }

/* ---- Feature grids (financial intelligence, risk & compliance) ----------- */
.hx-feat-head{ text-align:center; max-width:680px; margin:0 auto 38px; }
.hx-feat-head .hx-eyebrow{ margin-bottom:12px; }
.hx-feat-head .hx-h2{ margin:0; }
.hx-feat-head .hx-sub{ margin:14px auto 0; }
.hx-feat-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.hx-feat-card{ background:#fff; border:1px solid var(--hx-line); border-radius:16px; padding:24px; box-shadow:0 1px 2px rgba(15,23,42,.04); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.hx-feat-card:hover{ transform:translateY(-3px); box-shadow:0 14px 30px rgba(15,23,42,.08); border-color:#cdd7e5; }
.hx-feat-ic{ width:42px; height:42px; border-radius:11px; display:flex; align-items:center; justify-content:center; background:rgba(5,28,56,.08); color:var(--hx-accent-2); margin-bottom:16px; }
.hx-feat-ic svg{ width:22px; height:22px; }
.hx-feat-card h4{ font-family:var(--hx-display); font-size:16.5px; font-weight:600; letter-spacing:-.2px; color:var(--hx-ink); margin:0 0 8px; }
.hx-feat-card p{ font-size:13.5px; line-height:1.55; color:var(--hx-muted); margin:0; }
.hx-feat--risk .hx-feat-ic{ background:rgba(180,83,9,.09); color:#b45309; }
.hx-feat--tools .hx-feat-ic{ background:rgba(13,148,136,.10); color:#0d9488; }
@media (max-width:900px){ .hx-feat-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .hx-feat-grid{ grid-template-columns:1fr; } }

/* ---- Split feature + stats ------------------------------------------------ */
.hx-split{ display:grid; grid-template-columns:1fr 1.1fr; gap:48px; align-items:center; }
.hx-split-actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.hx-stats-row{ display:flex; gap:40px; margin-top:34px; flex-wrap:wrap; }
.hx-stat .num{ font-size:30px; font-weight:600; letter-spacing:-.6px; color:var(--hx-ink); font-variant-numeric:tabular-nums; }
.hx-stat .lbl{ font-size:13px; color:var(--hx-muted); margin-top:2px; }
.hx-split-visual{ background:var(--hx-panel); border:1px solid var(--hx-line); border-radius:20px; overflow:hidden; box-shadow:0 30px 60px rgba(0,0,0,.45); }
.hx-split-visual img{ display:block; width:100%; }

/* ---- Big stats band ------------------------------------------------------- */
.hx-band{ border-top:1px solid var(--hx-line); border-bottom:1px solid var(--hx-line); }
.hx-band-grid{ display:grid; grid-template-columns:repeat(3,1fr); }
.hx-band-cell{ padding:56px 24px; text-align:center; border-right:1px solid var(--hx-line); }
.hx-band-cell:last-child{ border-right:0; }
.hx-band-num{ font-size:clamp(44px,6vw,72px); font-weight:500; letter-spacing:-2px; line-height:1; color:var(--hx-ink); font-variant-numeric:tabular-nums; }
.hx-band-num .u{ color:var(--hx-accent); }
.hx-band-lbl{ font-size:14px; color:var(--hx-muted); margin-top:12px; }

/* ---- Global scale stats band (sits under the hero) ------------------------ */
.hx-scaleband{ border-top:1px solid var(--hx-line); border-bottom:1px solid var(--hx-line); background:var(--hx-bg-2); padding:38px 0 42px; }
.hx-scaleband-eyebrow{ text-align:center; font-size:13px; font-weight:600; letter-spacing:.02em; color:var(--hx-accent); margin-bottom:26px; }
.hx-scaleband-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:30px 24px; max-width:1040px; margin:0 auto; }
.hx-sb{ text-align:center; }
.hx-sb-num{ font-family:var(--hx-display); font-size:clamp(30px,3.3vw,40px); font-weight:600; letter-spacing:-1.2px; line-height:1; color:var(--hx-ink); font-variant-numeric:tabular-nums; }
.hx-sb-lbl{ font-size:12.5px; color:var(--hx-muted); margin-top:9px; line-height:1.4; }
.hx-scaleband-cap{ text-align:center; font-size:14px; color:var(--hx-ink-soft); margin:28px auto 0; max-width:680px; }
@media (max-width:820px){ .hx-scaleband-grid{ grid-template-columns:repeat(2,1fr); gap:26px 16px; } }

/* ---- Growth stages strip (innovation funnel) ------------------------------ */
.hx-stage-head{ text-align:center; max-width:660px; margin:0 auto 34px; }
.hx-stage-head .hx-sub{ margin-left:auto; margin-right:auto; }
.hx-stage-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.hx-stage-card{ display:flex; flex-direction:column; align-items:flex-start; padding:22px 20px; border:1px solid var(--hx-line); border-radius:14px; background:var(--hx-panel); transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.hx-stage-card:hover{ border-color:var(--hx-accent-2); box-shadow:0 12px 30px rgba(15,23,42,.08); transform:translateY(-2px); }
.hx-stage-badge{ font-family:var(--hx-display); font-size:12.5px; font-weight:700; color:var(--hx-accent-2); background:rgba(5,28,56,.08); border-radius:9999px; padding:4px 11px; margin-bottom:14px; white-space:nowrap; }
.hx-stage-name{ font-family:var(--hx-display); font-size:19px; font-weight:600; color:var(--hx-ink); letter-spacing:-.4px; }
.hx-stage-desc{ font-size:13px; color:var(--hx-muted); line-height:1.5; margin-top:6px; flex:1 1 auto; }
.hx-stage-go{ font-size:13px; font-weight:600; color:var(--hx-accent-2); margin-top:14px; display:inline-flex; align-items:center; gap:5px; }
@media (max-width:820px){ .hx-stage-grid{ grid-template-columns:repeat(2,1fr); } }

/* ---- News / insights cards ------------------------------------------------ */
.hx-news-head{ display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:26px; }
.hx-news-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.hx-newscard .thumb{ position:relative; height:160px; border-radius:16px; overflow:hidden; display:flex; align-items:center; justify-content:center; color:#fff; font-weight:600; font-size:17px; text-align:center; padding:16px; }
.hx-newscard:nth-child(1) .thumb{ background:linear-gradient(140deg,#0c1626,#051c38); }
.hx-newscard:nth-child(2) .thumb{ background:linear-gradient(140deg,#13243d,#051c38); }
.hx-newscard:nth-child(3) .thumb{ background:linear-gradient(140deg,#0e2a3a,#0f6e8c); }
.hx-newscard:nth-child(4) .thumb{ background:linear-gradient(140deg,#231a0e,#caa23a); }
.hx-newscard .date{ font-size:12.5px; color:var(--hx-muted); margin:14px 0 4px; }
.hx-newscard .ttl{ font-size:15px; font-weight:500; color:var(--hx-ink); line-height:1.35; min-height:2.7em; }

/* ---- Enterprise CTA (two-card band) -------------------------------------- */
.hx-enterprise{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.hx-ent-card{ border-radius:22px; padding:40px; }
.hx-ent-card--dark{ background:var(--hx-panel); color:#fff; border:1px solid var(--hx-line); }
.hx-ent-card--soft{ background:var(--hx-bg-2); border:1px solid var(--hx-line); }
.hx-ent-card h3{ font-size:26px; font-weight:500; letter-spacing:-.6px; margin:0 0 10px; }
.hx-ent-card--dark h3{ color:#fff; } .hx-ent-card--soft h3{ color:var(--hx-ink); }
.hx-ent-card p{ font-size:15px; line-height:1.6; margin:0 0 22px; }
.hx-ent-card--dark p{ color:rgba(255,255,255,.7); } .hx-ent-card--soft p{ color:var(--hx-muted); }
.hx-ent-feats{ list-style:none; padding:0; margin:0 0 22px; display:grid; gap:10px; }
.hx-ent-feats li{ display:flex; align-items:center; gap:9px; font-size:14px; }
.hx-ent-card--soft .hx-ent-feats li{ color:var(--hx-ink-soft); }
.hx-check{ color:var(--hx-accent); font-weight:800; }

/* ============================ GLOBAL-SCALE GLOBE (section 2, COBE) ========= */
.hx-scale-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; }
.hx-scale-copy .hx-h2{ margin:0 0 14px; }
.hx-scale-copy .hx-sub{ margin:0 0 30px; max-width:450px; }
.hx-scale-stats{ display:grid; grid-template-columns:1fr 1fr; gap:24px 30px; max-width:440px; }
.hx-scale-stat .num{ font-family:var(--hx-display); font-size:32px; font-weight:600; letter-spacing:-.6px; color:var(--hx-ink); line-height:1; font-variant-numeric:tabular-nums; }
.hx-scale-stat .lbl{ font-size:13.5px; color:var(--hx-muted); margin-top:6px; }
.hx-scale-src{ margin-top:30px; }
.hx-scale-src-h{ display:flex; align-items:center; gap:9px; font-size:13px; font-weight:600; color:var(--hx-ink-soft); margin-bottom:13px; }
.hx-scale-dot{ width:8px; height:8px; flex:0 0 auto; border-radius:50%; background:#10b981; box-shadow:0 0 0 3px rgba(16,185,129,.18); }
.hx-scale-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.hx-scale-chips span{ font-size:12px; font-weight:500; color:var(--hx-muted); background:var(--hx-bg-2); border:1px solid var(--hx-line); border-radius:9999px; padding:5px 11px; white-space:nowrap; }
.hx-scale-globe{ display:flex; flex-direction:column; align-items:center; }
.hx-globe-wrap{ position:relative; width:100%; max-width:470px; aspect-ratio:1 / 1; }
.hx-globe-wrap::before{ content:""; position:absolute; left:8%; right:8%; top:6%; bottom:10%; border-radius:50%;
  background:radial-gradient(circle at 50% 42%, rgba(5,28,56,.10), transparent 62%); filter:blur(8px); z-index:0; }
.hx-globe{ position:relative; z-index:1; width:100%; height:100%; display:block; cursor:grab; touch-action:pan-y;
  -webkit-user-select:none; user-select:none; }
.hx-globe-markers{ position:absolute; inset:0; z-index:2; pointer-events:none; }
.hx-globe-marker{ position:absolute; width:var(--mk,20px); height:var(--mk,20px); margin:calc(var(--mk,20px) / -2) 0 0 calc(var(--mk,20px) / -2); padding:0; border:0; background:transparent; border-radius:50%; cursor:pointer; pointer-events:auto; display:none; text-decoration:none; -webkit-tap-highlight-color:transparent; }
.hx-globe-marker i{ position:absolute; inset:28%; border-radius:50%; background:var(--hx-accent-2); box-shadow:0 0 0 3px rgba(5,28,56,.16); transition:transform .15s ease, box-shadow .15s ease; }
.hx-globe-marker:hover i, .hx-globe-marker.is-active i, .hx-globe-marker:focus-visible i{ transform:scale(1.6); box-shadow:0 0 0 5px rgba(5,28,56,.24); }
.hx-globe-marker:focus-visible{ outline:none; }
.hx-globe-tip{ position:absolute; z-index:6; pointer-events:none; transform:translate(-50%,-128%); background:#0c1626; color:#fff; padding:11px 14px; border-radius:12px; box-shadow:0 14px 34px rgba(12,22,38,.30); width:202px; line-height:1.35; text-align:left; opacity:0; transition:opacity .12s ease; }
.hx-globe-tip::after{ content:""; position:absolute; left:50%; bottom:-4px; width:9px; height:9px; background:#0c1626; transform:translateX(-50%) rotate(45deg); }
.hx-globe-tip.show{ opacity:1; }
.hx-globe-tip b{ display:block; font-weight:600; font-size:14px; }
.hx-globe-tip .r{ display:block; color:rgba(255,255,255,.6); font-size:11.5px; margin-top:1px; }
.hx-globe-tip .hx-tip-bar{ height:4px; border-radius:3px; background:rgba(255,255,255,.15); margin:9px 0 8px; overflow:hidden; }
.hx-globe-tip .hx-tip-bar i{ display:block; height:100%; background:var(--hx-accent); border-radius:3px; }
.hx-globe-tip .n{ display:block; color:rgba(255,255,255,.82); font-size:12px; font-weight:500; }
.hx-globe-hint{ text-align:center; font-size:12px; color:var(--hx-muted); margin-top:14px; letter-spacing:.01em; }
@media (max-width:900px){
  .hx-scale-grid{ grid-template-columns:1fr; gap:26px; }
  .hx-scale-globe{ order:-1; }
  .hx-globe-wrap{ max-width:340px; margin:0 auto; }
  .hx-scale-stats{ max-width:none; }
}

/* ============================ RESPONSIVE =================================== */
@media (max-width:1000px){
  .hx-showcase, .hx-split, .hx-enterprise{ grid-template-columns:1fr; }
  .hx-tiles, .hx-news-grid{ grid-template-columns:repeat(2,1fr); }
  .hx-band-grid{ grid-template-columns:1fr; }
  .hx-band-cell{ border-right:0; border-bottom:1px solid var(--hx-line); }
}
@media (max-width:768px){
  .hx-nav-links{ display:none; }
  .hx-nav-links.hx-open{ display:flex; flex-direction:column; align-items:stretch; position:absolute; top:64px; left:0; right:0; background:#fff; border-bottom:1px solid #ececec; padding:12px 18px; gap:2px; box-shadow:0 16px 30px rgba(0,0,0,.12); }
  .hx-burger{ display:inline-flex; }
  .hx-nav-cta .hx-pill--outline{ display:none; }
  .hx-hero{ padding:84px 18px 56px; }
  .hx-tiles, .hx-news-grid{ grid-template-columns:1fr; }
  .hx-section{ padding:52px 0; }
}
