
  :root{
    --void:#070C13;
    --panel:#0E1A2B;
    --panel-2:#16283F;
    --panel-3:#194996;
    --hairline:rgba(151,175,201,0.16);
    --hairline-strong:rgba(151,175,201,0.30);

    --ink:#E8EDF4;
    --ink-dim:#8FA0B8;
    --ink-faint:#5C6C82;

    --signal:#f27523;
    /**--signal:#2FE0AE;**/
    --signal-deep:#17A588;
    --signal-tint:rgba(47,224,174,0.12);

    --alert:#E2543A;
    --alert-tint:rgba(226,84,58,0.14);

    --brass:#C6A253;
    --brass-deep:#8F7135;

    --focus:#6FE7D1;

    --r-s:6px;
    --r-m:12px;
    --r-l:22px;
    --maxw:1200px;

    --shadow-card: 0 1px 2px rgba(0,0,0,0.4), 0 20px 40px -24px rgba(0,0,0,0.7);
  }

  *,*::before,*::after{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior:auto; }
    *,*::before,*::after{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
  }

  body{
    margin:0;
    background:var(--void);
    color:var(--ink);
    font-family:'IBM Plex Sans', Arial, sans-serif;
    font-size:16.5px;
    line-height:1.62;
    -webkit-font-smoothing:antialiased;
  }

  h1,h2,h3{
    font-family:'Space Grotesk', 'IBM Plex Sans', sans-serif;
    color:var(--ink);
    line-height:1.12;
    margin:0 0 0.5em 0;
    font-weight:700;
    letter-spacing:-0.01em;
  }
  h1{ font-size:clamp(2.1rem, 4.4vw, 3.4rem); }
  h2{ font-size:clamp(1.55rem, 2.9vw, 2.2rem); }
  h3{ font-family:'IBM Plex Sans', sans-serif; font-size:1.05rem; font-weight:600; }

  p{ margin:0 0 1em 0; max-width:64ch; color:var(--ink-dim); }
  a{ color:var(--signal); }
  ul{ margin:0; padding:0; list-style:none; }
  img,svg{ display:block; max-width:100%; }

  .container{ max-width:var(--maxw); margin:0 auto; padding:0 24px; }
  .eyebrow{
    font-family:'IBM Plex Mono', Consolas, monospace;
    font-size:0.78rem;
    font-weight:600;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:var(--signal);
    margin:0 0 0.9em 0;
  }
  .eyebrow.alert{ color:var(--alert); }
  .eyebrow.brass{ color:var(--brass); }

  .lede{ font-size:1.08rem; color:var(--ink-dim); max-width:60ch; }

  a:focus-visible, button:focus-visible, [tabindex]:focus-visible{
    outline:3px solid var(--focus);
    outline-offset:3px;
    border-radius:4px;
  }

  .skip-link{
    position:absolute; left:12px; top:-60px;
    background:var(--signal); color:var(--void);
    padding:12px 18px; border-radius:6px; font-weight:700;
    z-index:1000; transition:top .15s ease;
  }
  .skip-link:focus{ top:12px; }

  /* Recurring HUD corner-bracket treatment used on data-forward panels */
  .bracketed{ position:relative; }
  .bracketed::before, .bracketed::after{
    content:""; position:absolute; width:14px; height:14px; pointer-events:none;
  }
  .bracketed::before{ top:-1px; left:-1px; border-top:2px solid var(--signal); border-left:2px solid var(--signal); }
  .bracketed::after{ bottom:-1px; right:-1px; border-bottom:2px solid var(--signal); border-right:2px solid var(--signal); }
  .bracketed.alert::before{ border-color:var(--alert); }
  .bracketed.alert::after{ border-color:var(--alert); }

  /* ============================================================
     BUTTONS
     ============================================================ */
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:9px;
    font-family:'IBM Plex Sans', Arial, sans-serif;
    font-weight:600; font-size:0.98rem;
    padding:14px 26px; min-height:50px;
    border-radius:var(--r-s); border:1.5px solid transparent;
    cursor:pointer; text-decoration:none;
    transition:transform .12s ease, background .15s ease, border-color .15s ease;
  }
  @media (prefers-reduced-motion: reduce){ .btn{ transition:none; } }
  .btn:active{ transform:translateY(1px); }
  .btn-primary{ background:var(--signal); color:#fff; }
  .btn-primary:hover{ background:#c95b12; }
  .btn-secondary{ background:var(--signal); border-color:var(--hairline-strong); color:var(--ink); }
  .btn-secondary:hover{ background:#c95b12; color:#fff; }
  .btn-row{ display:flex; gap:14px; flex-wrap:wrap; }
  .icon{ width:1em; height:1em; flex:none; }
  .icon-lg{ width:30px; height:30px; }

  /* ============================================================
     HEADER
     ============================================================ */
  header.site-header{
    background:rgb(255, 255, 255); backdrop-filter:blur(6px);
    border-bottom:1px solid var(--hairline);
    position:sticky; top:0; z-index:100;
  }
  .header-row{ display:flex; align-items:center; justify-content:space-between; padding:16px 0; gap:20px; }
  .logo{
    font-family:'Space Grotesk', sans-serif; font-size:1.05rem; font-weight:700;
    color:var(--ink); text-decoration:none; line-height:1.2; display:block;
  }
  .logo .sub{ display:block; font-family:'IBM Plex Mono', monospace; font-size:0.62rem; letter-spacing:0.1em; color:var(--ink-faint); font-weight:500; margin-top:2px; }
  .logo .dot{ color:var(--signal); }
  nav.primary-nav ul{ display:flex; gap:26px; }
  nav.primary-nav a{
    color:var(--void); text-decoration:none; font-weight:500; font-size:1.2rem;
    padding:6px 2px; border-bottom:2px solid transparent;
  }
  nav.primary-nav a:hover{ color:var(--panel-3); border-bottom-color:var(--signal); }
  .header-ctas{ display:flex; align-items:center; gap:10px; }
  .header-ctas .btn{ padding:10px 16px; min-height:40px; font-size:0.85rem; }
  .nav-toggle{ display:none; }

  @media (max-width: 980px){
    nav.primary-nav{ display:none; }
    .header-ctas .btn-secondary{ display:none; }
    .nav-toggle{
      display:inline-flex; background:var(--panel-2); color:var(--ink);
      border:1px solid var(--hairline); border-radius:6px; min-width:44px; min-height:44px;
      align-items:center; justify-content:center; cursor:pointer;
    }
    nav.primary-nav.open{
      display:block; position:absolute; left:0; right:0; top:100%;
      background:var(--void); border-bottom:1px solid var(--hairline); padding:8px 0;
    }
    nav.primary-nav.open ul{ flex-direction:column; gap:0; }
    nav.primary-nav.open a{ display:block; padding:14px 24px; }
  }



  /* ============================================================
     HERO + RADAR SIGNATURE
     ============================================================ */
  .hero{ position:relative; padding:56px 0 60px; overflow:hidden; }
  .hero::before{
    content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
    background-image:
      linear-gradient(var(--hairline) 1px, transparent 1px),
      linear-gradient(90deg, var(--hairline) 1px, transparent 1px);
    background-size:42px 42px;
    -webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 0%, #000 40%, transparent 85%);
            mask-image: radial-gradient(ellipse 80% 60% at 50% 0%, #000 40%, transparent 85%);
    opacity:0.6;
  }
  .hero .container{ position:relative; z-index:1; }
  .hero-grid{ display:grid; grid-template-columns:1.08fr 0.92fr; gap:40px; align-items:center; }
  @media (max-width:980px){ .hero-grid{ grid-template-columns:1fr; } }

  .hero-dates{
    display:inline-flex; align-items:center; gap:10px; flex-wrap:wrap;
    font-family:'IBM Plex Mono', monospace; font-size:0.78rem; color:var(--ink-dim);
    border:1px solid var(--hairline); border-radius:999px; padding:8px 16px; margin-bottom:22px;
  }
  .hero-dates strong{ color:var(--signal); font-weight:600; }
  .hero-dates .sep{ color:var(--ink-faint); }

  .hero h1{ margin-bottom:0.4em; }
  .hero .lede{ margin-bottom:1.7em; }

  .trust-strip{ margin-top:26px; padding-top:20px; border-top:1px solid var(--hairline); font-size:0.86rem; color:var(--ink-faint); }
  .trust-strip strong{ color:var(--ink-dim); }

  /* --- Radar --- */
  .radar-wrap{ position:relative; aspect-ratio:1/1; max-width:460px; margin:0 auto; }
  .radar-ring{ fill:none; stroke:var(--hairline-strong); stroke-width:1; }
  .radar-crosshair{ stroke:var(--hairline); stroke-width:1; }
  .radar-sweep-group{ transform-origin:250px 250px; animation:radar-spin 5.5s linear infinite; }
  @keyframes radar-spin{ from{ transform:rotate(0deg); } to{ transform:rotate(360deg); } }
  @media (prefers-reduced-motion: reduce){ .radar-sweep-group{ animation:none; } }
  .radar-blip{ animation:radar-blip 2.6s ease-in-out infinite; }
  .radar-blip.b2{ animation-delay:.5s; }
  .radar-blip.b3{ animation-delay:1s; }
  @keyframes radar-blip{ 0%,100%{ opacity:.45; } 50%{ opacity:1; } }
  @media (prefers-reduced-motion: reduce){ .radar-blip{ animation:none; opacity:.9; } }
  .radar-label-group text{ font-family:'IBM Plex Mono', monospace; font-size: 18px; }



  /* ============================================================
     SECTION SHELL
     ============================================================ */
  section{ padding:76px 0; }
  section.alt{ background:var(--panel); border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline); }
  .section-head{ max-width:760px; margin-bottom:40px; }
  .section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }

  /* ============================================================
     MARKET DASHBOARD
     ============================================================ */
  .stat-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:18px; }
  @media (max-width:980px){ .stat-grid{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:620px){ .stat-grid{ grid-template-columns:1fr; } }
  .stat-card{
    background:var(--panel-2); border:1px solid var(--hairline); border-radius:var(--r-m);
    padding:26px 24px; box-shadow:var(--shadow-card);
  }
  .stat-num{ font-family:'Space Grotesk', sans-serif; font-size:1.9rem; font-weight:700; color:var(--signal); display:block; margin-bottom:4px; }
  .stat-delta{ font-family:'IBM Plex Mono', monospace; font-size:0.76rem; color:var(--ink-faint); margin-bottom:14px; display:block; }
  .stat-card h3{ margin-bottom:0.4em; font-size:1rem; }
  .stat-card p{ color:var(--ink-dim); font-size:0.92rem; margin-bottom:0; max-width:none; }
  .sources-line{ margin-top:22px; font-size:0.82rem; color:var(--ink-faint); max-width:none; }

  .alert-callout{
    margin-top:28px; background:var(--alert-tint); border:1px solid rgba(226,84,58,0.4);
    border-radius:var(--r-m); padding:24px 26px; display:flex; gap:16px;
  }
  .alert-callout .icon-lg{ color:var(--alert); flex:none; }
  .alert-callout h3{ color:var(--ink); margin-bottom:6px; }
  .alert-callout p{ margin:0; color:var(--ink-dim); font-size:0.94rem; max-width:none; }

  /* ============================================================
     CLUSTER HUB DIAGRAM
     ============================================================ */
  .hub-wrap{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; margin-bottom:20px; }
  @media (max-width:900px){ .hub-wrap{ grid-template-columns:1fr; } }
  .hub-stats{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:24px; }
  .hub-stat{ border-left:2px solid var(--signal); padding:4px 0 4px 14px; }
  .hub-stat .n{ font-family:'Space Grotesk', sans-serif; font-weight:700; font-size:1.3rem; color:var(--ink); display:block; }
  .hub-stat .l{ font-size:0.8rem; color:var(--ink-faint); }



  /* ============================================================
     EXHIBITOR CATEGORY GRID (chip cards)
     ============================================================ */
  .cat-columns{ display:grid; grid-template-columns:1fr 1fr; gap:36px; }
  @media (max-width:860px){ .cat-columns{ grid-template-columns:1fr; } }
  .cat-col-head{ display:flex; align-items:center; gap:10px; margin-bottom:18px; padding-bottom:14px; border-bottom:1px solid var(--hairline); }
  .cat-col-head .icon-lg{ color:var(--signal); }
  .cat-col-head.he .icon-lg{ color:var(--brass); }
  .cat-col-head h3{ font-family:'Space Grotesk', sans-serif; font-size:1.15rem; margin:0; }
  .chip-grid{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  @media (max-width:520px){ .chip-grid{ grid-template-columns:1fr; } }
  .chip{
    display:flex; align-items:flex-start; gap:10px; background:var(--panel-2);
    border:1px solid var(--hairline); border-radius:var(--r-s); padding:12px 13px;
  }
  .chip .icon{ color:var(--signal); flex:none; margin-top:2px; width:17px; height:17px; }
  .chip.he .icon{ color:var(--brass); }
  .chip span{ font-size:0.86rem; color:var(--ink-dim); line-height:1.4; }

  /* ============================================================
     VISITOR CATEGORIES
     ============================================================ */
  .visitor-columns{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
  @media (max-width:900px){ .visitor-columns{ grid-template-columns:1fr; } }
  .visitor-col h3{ font-family:'IBM Plex Mono', monospace; text-transform:uppercase; letter-spacing:0.05em;
    font-size:0.82rem; color:var(--ink-faint); font-weight:600; margin-bottom:16px; padding-bottom:12px; border-bottom:1px solid var(--hairline); }
  .visitor-item{ display:flex; gap:11px; margin-bottom:14px; align-items:flex-start; }
  .visitor-item .icon{ color:var(--signal); flex:none; margin-top:3px; width:16px; height:16px; }
  .visitor-item span{ font-size:0.93rem; color:var(--ink-dim); }

  /* ============================================================
     AUDIENCE TABS (Why Exhibit / Why Visit)
     ============================================================ */
  .tab-buttons{ display:flex; gap:14px; margin-bottom:34px; flex-wrap:wrap; }
  .tab-btn{
    display:flex; align-items:center; gap:10px; background:var(--panel-2); border:1.5px solid var(--hairline);
    border-radius:999px; padding:12px 22px; cursor:pointer; font-family:'IBM Plex Sans', sans-serif;
    font-weight:600; font-size:0.95rem; color:var(--ink-dim);
  }
  .tab-btn .icon{ width:17px; height:17px; }
  .tab-btn[aria-selected="true"]{ border-color:var(--signal); color:var(--ink); background:var(--signal-tint); }
  .tab-panel{ display:none; }
  .tab-panel.active{ display:block; }
  .reason-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
  @media (max-width:820px){ .reason-grid{ grid-template-columns:1fr; } }
  .reason-card{
    background:var(--panel-2); border:1px solid var(--hairline); border-radius:var(--r-m);
    padding:20px 22px; display:flex; gap:14px;
  }
  .reason-card .num{ font-family:'IBM Plex Mono', monospace; color:var(--signal); font-weight:600; font-size:0.85rem; flex:none; padding-top:2px; }
  .reason-card p{ margin:0; font-size:0.92rem; color:var(--ink-dim); max-width:none; }
  .reason-card strong{ color:var(--ink); }



  /* ============================================================
     ADVANTAGES FEATURE GRID
     ============================================================ */
  .adv-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
  @media (max-width:820px){ .adv-grid{ grid-template-columns:1fr; } }
  .adv-card{
    background:var(--panel-2); border:1px solid var(--hairline); border-radius:var(--r-m);
    padding:22px 24px; display:flex; gap:16px;
  }
  .adv-card .icon-lg{ color:var(--brass); flex:none; }
  .adv-card h3{ margin-bottom:5px; }
  .adv-card p{ margin:0; font-size:0.92rem; color:var(--ink-dim); max-width:none; }

  /* ============================================================
     EVENT SNAPSHOT DASHBOARD
     ============================================================ */
  .snapshot-panel{
    background:var(--panel-2); border:1px solid var(--hairline-strong); border-radius:var(--r-l);
    padding:36px; margin-bottom:22px;
  }
  .snapshot-facts{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; padding-bottom:28px; margin-bottom:28px; border-bottom:1px solid var(--hairline); }
  @media (max-width:820px){ .snapshot-facts{ grid-template-columns:1fr 1fr; } }
  .snapshot-facts .f-label{ font-family:'IBM Plex Mono', monospace; font-size:0.72rem; text-transform:uppercase; letter-spacing:0.06em; color:var(--ink-faint); display:block; margin-bottom:6px; }
  .snapshot-facts .f-value{ font-family:'Space Grotesk', sans-serif; font-weight:600; font-size:1.05rem; color:var(--ink); }
  .snapshot-numbers{ display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
  @media (max-width:900px){ .snapshot-numbers{ grid-template-columns:repeat(2,1fr); } }
  .snap-num{ text-align:center; }
  .snap-num .n{ font-family:'Space Grotesk', sans-serif; font-weight:700; font-size:1.7rem; color:var(--signal); display:block; }
  .snap-num .l{ font-size:0.78rem; color:var(--ink-faint); line-height:1.4; margin-top:4px; }

  /* ============================================================
     CTA BAND
     ============================================================ */
  .cta-band{
    background:linear-gradient(135deg, var(--panel-2), var(--panel));
    border:1px solid var(--hairline-strong); border-radius:var(--r-l);
    padding:50px 44px; text-align:center;
  }
  .cta-band h2{ margin-bottom:14px; }
  .cta-band p{ color:var(--ink-dim); margin:0 auto 28px; max-width:54ch; }
  .cta-band .btn-row{ justify-content:center; }

  /* ============================================================
     FOOTER
     ============================================================ */
  footer.site-footer{ background:var(--panel); border-top:1px solid var(--hairline); padding:56px 0 30px; }
  .footer-top{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:36px; padding-bottom:36px; border-bottom:1px solid var(--hairline); }
  @media (max-width:760px){ .footer-top{ grid-template-columns:1fr; } }
  footer .logo{ color:var(--ink); }
  .footer-brand p{ margin-top:14px; font-size:0.92rem; max-width:38ch; }
  footer h3{ color:var(--ink); font-family:'IBM Plex Mono', monospace; font-size:0.78rem; text-transform:uppercase; letter-spacing:0.06em; margin-bottom:16px; }
  footer ul li{ margin-bottom:11px; }
  footer a{ color:var(--ink-dim); text-decoration:none; font-size:0.92rem; }
  footer a:hover{ color:var(--signal); }
  .footer-contact-item{ display:flex; gap:10px; margin-bottom:12px; align-items:flex-start; font-size:0.9rem; color:var(--ink-dim); }
  .footer-contact-item .icon{ color:var(--signal); flex:none; margin-top:3px; width:15px; height:15px; }
  .footer-bottom{ padding-top:22px; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; color:var(--ink-faint); font-size:0.82rem; }
