*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:#15181c;font-family:'IBM Plex Sans',sans-serif;-webkit-font-smoothing:antialiased}
::selection{background:#2ba1db;color:#fff}
a{color:inherit;text-decoration:none}
input{font-family:'IBM Plex Sans',sans-serif}
input::placeholder{color:#a8b0b8}

/* Nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid #e2e6ea}
.nav-inner{max-width:1180px;margin:0 auto;padding:0 40px;height:72px;display:flex;align-items:center;justify-content:space-between}
.nav-links{display:flex;align-items:center;gap:30px;font-size:15px;font-weight:500}
.nav-links a{color:#2c333b}
.nav-links a:hover{color:#1a7fb0}
.nav-links a.active{color:#1a7fb0;font-weight:600}
.btn-reg{background:#2ba1db;color:#fff!important;padding:9px 18px;border-radius:5px;font-weight:600}
.btn-reg:hover{background:#1a7fb0!important}
.nav-mobile{display:none;padding:14px 20px;align-items:center;justify-content:space-between;border-bottom:1px solid #e2e6ea;background:rgba(255,255,255,.95);backdrop-filter:blur(8px)}

/* Hero */
.hero{background:#f5f6f8;border-bottom:1px solid #e2e6ea}
.hero-wrap{max-width:1180px;margin:0 auto;padding:56px 40px;display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap}
.hero-eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#1a7fb0;margin-bottom:16px}
.hero-title{font-size:clamp(34px,4.5vw,52px);line-height:1.04;letter-spacing:-.025em;font-weight:700;margin:0 0 14px}
.hero-desc{font-size:17px;line-height:1.6;color:#2c333b;max-width:54ch;margin:0}
.hero-stats{display:flex;gap:10px;flex-wrap:wrap;font-family:'IBM Plex Mono',monospace}
.stat-box{border:1px solid #e2e6ea;border-radius:6px;padding:12px 16px;background:#fff}
.stat-box.primary{background:#e8f4fb;border-color:#2ba1db}
.stat-lbl{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#8a929b;margin-bottom:6px}
.stat-box.primary .stat-lbl{color:#1a7fb0}
.stat-val{font-size:18px;font-weight:600;color:#15181c}
.stat-box.primary .stat-val{color:#1a7fb0}

/* Control band (sticky toolbar + chips) */
.ctrl-band{position:sticky;top:71px;z-index:40;background:#fff;border-bottom:1px solid #e2e6ea}
.ctrl-band-inner{max-width:1180px;margin:0 auto;padding:22px 40px}

/* Results area */
.results-section{background:#f5f6f8;border-bottom:1px solid #e2e6ea}
.results-inner{max-width:1180px;margin:0 auto;padding:36px 40px 72px}

/* Toolbar */
.toolbar{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.search-input{flex:1;min-width:260px;border:1px solid #d4d9de;border-radius:6px;font-size:15px;padding:12px 15px;background:#fff}
.search-input:focus{outline:none;border-color:#2ba1db;box-shadow:0 0 0 3px #e8f4fb}
.count-lbl{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#8a929b;white-space:nowrap}

/* Filter chips */
.filter-chips{display:flex;flex-wrap:wrap;gap:9px}
.chip-btn{border:1px solid #d4d9de;background:#fff;color:#2c333b;padding:9px 15px;border-radius:6px;cursor:pointer;font-family:'IBM Plex Sans',sans-serif;font-size:14px;font-weight:500;transition:border-color .15s,background .15s,color .15s}
.chip-btn.active{border-color:#2ba1db;background:#2ba1db;color:#fff}

/* Attendee cards (desktop grid) */
.attendees-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.att-card{border:1px solid #e2e6ea;border-radius:8px;padding:22px;display:flex;flex-direction:column;gap:14px;background:#fff}
.att-name{font-size:16px;font-weight:600;color:#15181c}
.att-role{font-size:14px;color:#5c656f;margin-top:3px}
.att-company{font-size:14px;color:#2c333b;font-weight:500;margin-top:7px}
.att-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:14px;border-top:1px solid #eef1f4}
.att-type{background:#f5f6f8;border:1px solid #e2e6ea;color:#5c656f;font-size:12px;padding:4px 10px;border-radius:5px}
.att-country{font-family:'IBM Plex Mono',monospace;font-size:12px;color:#8a929b}
.speaker-badge{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#1a7fb0;background:#e8f4fb;border-radius:4px;padding:4px 8px;white-space:nowrap}

/* Attendee list (mobile) */
.attendees-list{display:none}
.att-row{display:flex;gap:13px;align-items:flex-start;padding:14px 16px;background:#fff;border:1px solid #e2e6ea;border-radius:8px}
.att-row-body{flex:1;min-width:0}
.att-row-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.speaker-badge-sm{font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#1a7fb0;background:#e8f4fb;border-radius:4px;padding:3px 6px;white-space:nowrap}
.att-meta{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:#8a929b;margin-top:6px}

/* Empty state */
.empty-state{border:1px dashed #d4d9de;border-radius:8px;padding:56px;text-align:center;display:none}
.empty-title{font-size:17px;font-weight:600;color:#5c656f;margin-bottom:6px}
.empty-sub{font-size:14px;color:#8a929b}

/* Mobile search + filter (sticky) */
.mobile-search-bar{display:none}
.mobile-list-wrap{display:none}

/* Footer */
.footer-full{display:flex;gap:56px;flex-wrap:wrap}
.footer-short{display:none}

/* View toggle */
.view-toggle{display:inline-flex;border:1px solid #d4d9de;border-radius:6px;overflow:hidden}
.view-btn{border:none;background:#fff;color:#5c656f;font-family:'IBM Plex Sans',sans-serif;font-size:13px;font-weight:600;padding:10px 17px;cursor:pointer;transition:background .15s,color .15s}
.view-btn:first-child{border-right:1px solid #d4d9de}
.view-btn.v-active{background:#2ba1db;color:#fff}

/* Table / list view (desktop) */
.attendees-table{border:1px solid #e2e6ea;border-radius:8px;overflow:hidden;display:none}
.tbl-head{display:flex;align-items:center;gap:16px;padding:11px 20px;background:#f5f6f8;border-bottom:1px solid #e2e6ea;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#8a929b}
.tbl-row{display:flex;align-items:center;gap:16px;padding:13px 20px}
.tbl-row:not(:last-child){border-bottom:1px solid #eef1f4}
.tbl-name-cell{flex:1;min-width:0;display:flex;align-items:center;gap:14px}
.tbl-company{width:220px;font-size:14px;font-weight:500;color:#2c333b}
.tbl-type{width:160px}
.tbl-country{width:96px;text-align:right;font-family:'IBM Plex Mono',monospace;font-size:12px;color:#8a929b}

/* Mobile */
@media(max-width:768px){
  .nav-inner{display:none}
  .nav{border-bottom:none;background:rgba(255,255,255,.95)}
  .nav-mobile{display:flex}
  .hero-wrap{padding:28px 20px;flex-direction:column;align-items:flex-start;gap:20px}
  .hero-title{font-size:32px}
  .hero-desc{font-size:15.5px}
  .stat-box{padding:9px 13px}
  .stat-lbl{font-size:9px}
  .stat-val{font-size:16px}
  .hero{background:#fff}
  .ctrl-band{display:none}
  .results-section{display:none}
  .mobile-search-bar{display:block;position:sticky;top:50px;z-index:40;background:#fff;border-bottom:1px solid #e2e6ea;padding:14px 20px 12px}
  .mobile-search-input{width:100%;border:1px solid #d4d9de;border-radius:6px;font-size:16px;padding:11px 14px;background:#fff;margin-bottom:12px;font-family:'IBM Plex Sans',sans-serif}
  .mobile-search-input:focus{outline:none;border-color:#2ba1db;box-shadow:0 0 0 3px #e8f4fb}
  .mobile-chips{display:flex;gap:8px;overflow-x:auto;white-space:nowrap;-ms-overflow-style:none;scrollbar-width:none}
  .mobile-chips::-webkit-scrollbar{display:none}
  .chip-btn{border-radius:20px;font-size:13.5px;padding:8px 14px}
  .mobile-list-wrap{display:block;background:#f5f6f8;padding:16px 20px 24px}
  .mobile-count{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#8a929b;padding:6px 0 10px}
  .attendees-list{display:flex;flex-direction:column;gap:10px}
  .mobile-privacy{font-size:12px;color:#8a929b;margin:20px 0 0;line-height:1.6}
  .mobile-empty{border:1px dashed #d4d9de;border-radius:8px;padding:40px 20px;text-align:center;margin-top:12px;display:none}
  .footer-full{display:none}
  .footer-short{display:flex;flex-direction:column;gap:12px;font-size:15px;padding-top:22px;border-top:1px solid #2c333b}
  .footer-top{flex-direction:column!important;gap:0!important;padding-bottom:0!important;border-bottom:none!important}
  .footer-bottom{display:none!important}
}
