*{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}

/* 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-wrap{max-width:1180px;margin:0 auto;padding:64px 40px 56px}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#1a7fb0;margin-bottom:18px}
.hero-title{font-size:clamp(36px,5vw,58px);line-height:1.02;letter-spacing:-.025em;font-weight:700;margin:0 0 20px;max-width:18ch}
.hero-desc{font-size:19px;line-height:1.6;color:#2c333b;max-width:62ch;margin:0 0 28px}
.notice{display:inline-flex;align-items:center;gap:11px;background:#e8f4fb;border:1px solid #2ba1db;border-radius:6px;padding:11px 18px;font-size:14px;color:#15181c}

/* Legend */
.legend{background:#f5f6f8;border-bottom:1px solid #e2e6ea}
.legend-inner{max-width:1180px;margin:0 auto;padding:22px 40px;display:flex;align-items:center;gap:28px;flex-wrap:wrap;font-size:13.5px;color:#2c333b}
.leg-lbl{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#5c656f}
.leg-item{display:inline-flex;align-items:center;gap:8px}
.leg-dot{width:11px;height:11px;border-radius:3px;display:inline-block;flex:none}

/* Schedule */
.sched-outer{position:relative;overflow:hidden;border-bottom:1px solid #e2e6ea}
.sched-blur{filter:blur(3px);opacity:.6;pointer-events:none;user-select:none;transform:scale(1.01);transform-origin:center center}
.sched-overlay{position:absolute;inset:0;background:rgba(255,255,255,.45);pointer-events:none}
.sched-speakers{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px}
.sched-grid{max-width:1180px;margin:0 auto;padding:56px 40px;display:grid;grid-template-columns:1fr 1fr;gap:40px}
.day-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}
.day-head h2{font-size:26px;font-weight:700;letter-spacing:-.015em;margin:0;color:#15181c}
.day-date{font-family:'IBM Plex Mono',monospace;font-size:13px;color:#5c656f}
.day-sub{font-size:15px;color:#5c656f;margin-bottom:22px}
.day-table{border:1px solid #e2e6ea;border-radius:8px;overflow:hidden}
.srow{display:flex;gap:16px;padding:16px 20px;align-items:flex-start}
.srow:not(:last-child){border-bottom:1px solid #eef1f4}
.srow.brk{background:#fafbfc}
.srow-time{font-family:'IBM Plex Mono',monospace;font-size:13px;color:#5c656f;flex:none;width:96px;padding-top:1px}
.srow-bar{flex:none;width:4px;align-self:stretch;border-radius:3px}
.srow-title{font-size:15.5px;font-weight:600;color:#15181c}
.srow-note{font-size:13.5px;color:#5c656f;margin-top:2px}

/* Speaker cards */
.spk-heading{text-align:center;margin-bottom:32px}
.spk-heading h2{font-size:clamp(22px,2.8vw,32px);font-weight:700;letter-spacing:-.02em;margin:0 0 8px;color:#15181c}
.spk-heading p{font-size:15px;color:#5c656f;margin:0}
.spk-row{display:flex;gap:20px;flex-wrap:wrap;justify-content:center;max-width:640px}
.spk-card{background:#fff;border-radius:12px;box-shadow:0 8px 32px rgba(21,24,28,.13);padding:28px 24px;text-align:center;width:200px;display:flex;flex-direction:column;align-items:center}
.spk-avatar{width:88px;height:88px;border-radius:50%;overflow:hidden;background:#e8f4fb;margin-bottom:14px;flex:none;display:flex;align-items:center;justify-content:center}
.spk-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.spk-initials{font-size:24px;font-weight:700;color:#1a7fb0}
.spk-name{font-size:15px;font-weight:700;color:#15181c;margin-bottom:4px}
.spk-company{font-size:13px;color:#5c656f;line-height:1.4}

/* Audience */
.audience{background:#f5f6f8;border-bottom:1px solid #e2e6ea}
.aud-wrap{max-width:1180px;margin:0 auto;padding:56px 40px}
.sec-eyebrow{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#1a7fb0;margin-bottom:16px}
.aud-wrap h2{font-size:clamp(24px,3vw,34px);line-height:1.12;letter-spacing:-.02em;font-weight:700;margin:0 0 26px;max-width:22ch}
.chips{display:flex;flex-wrap:wrap;gap:9px}
.chip{background:#fff;border:1px solid #d4d9de;border-radius:6px;padding:8px 14px;font-size:14px;font-weight:500;color:#2c333b}

/* CTA */
.cta-outer{border-bottom:1px solid #e2e6ea}
.cta-wrap{max-width:1180px;margin:0 auto;padding:64px 40px;display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap}
.cta-wrap h2{font-size:clamp(26px,3vw,38px);line-height:1.08;letter-spacing:-.02em;font-weight:700;margin:0 0 10px;max-width:20ch;color:#15181c}
.cta-wrap p{font-size:17px;line-height:1.6;color:#5c656f;max-width:54ch;margin:0}
.cta-btns{display:flex;gap:12px;flex-wrap:wrap}
.btn-primary{background:#2ba1db;color:#fff;font-weight:600;font-size:16px;padding:14px 26px;border-radius:5px;white-space:nowrap;display:inline-block}
.btn-primary:hover{background:#1a7fb0}
.btn-outline{border:1px solid #d4d9de;color:#1a7fb0;font-weight:600;font-size:16px;padding:14px 26px;border-radius:5px;white-space:nowrap;display:inline-block}
.btn-outline:hover{background:#e8f4fb;border-color:#2ba1db}

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

/* 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:30px 20px}
  .hero-desc{font-size:16px}
  .notice{align-items:flex-start;font-size:13.5px}
  .notice span:first-child{margin-top:5px}
  .legend-inner{padding:18px 20px;gap:14px;font-size:13px}
  .leg-lbl{display:none}
  .sched-grid{grid-template-columns:1fr;gap:0;padding:0}
  .day-wrap{padding:32px 20px;border-bottom:1px solid #e2e6ea}
  .day-wrap.day2{background:#f5f6f8}
  .day-wrap.day2 .day-table{background:#fff}
  .srow{gap:12px;padding:14px 16px}
  .srow-time{width:52px;font-size:12.5px}
  .srow-title{font-size:14.5px}
  .srow-note{font-size:12.5px;line-height:1.45}
  .sched-blur{display:none}
  .sched-overlay{display:none}
  .sched-speakers{position:relative;inset:auto;padding:32px 20px}
  .spk-row{max-width:none}
  .spk-card{width:calc(50% - 10px)}
  .spk-avatar{width:64px;height:64px}
  .spk-initials{font-size:18px}
  .spk-name{font-size:13.5px}
  .spk-company{font-size:12px}
  .audience{background:#fff}
  .aud-wrap{padding:32px 20px}
  .chip{font-size:13px;padding:7px 12px}
  .cta-outer{background:#f5f6f8}
  .cta-wrap{padding:32px 20px;flex-direction:column;align-items:flex-start}
  .cta-btns{flex-direction:column;width:100%}
  .btn-primary,.btn-outline{text-align:center;width:100%;padding:14px}
  .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}
}
