/* ===== RESET & BASE ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#0f2b46;--navy-light:#1a3a5c;--blue:#2563eb;--blue-light:#dbeafe;--blue-50:#eff6ff;
  --gold:#d97706;--gold-light:#fef3c7;--gold-dark:#92400e;
  --emerald:#059669;--emerald-light:#d1fae5;
  --purple:#7c3aed;--purple-light:#ede9fe;
  --slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;
  --radius:12px;--radius-sm:8px;--radius-lg:16px;
  --shadow-sm:0 1px 2px rgba(0,0,0,.05);--shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);
  --transition:all .2s ease;
}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:var(--slate-800);line-height:1.6;background:#fff;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--blue);text-decoration:none;transition:var(--transition)}
a:hover{color:var(--navy)}

/* ===== NAVIGATION ===== */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--slate-200);transition:var(--transition)}
nav.scrolled{box-shadow:var(--shadow-md)}
.nav-inner{max-width:1200px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;height:70px}
.nav-brand{font-weight:800;font-size:1.1rem;color:var(--navy);letter-spacing:-.02em}
.nav-brand span{color:var(--blue)}
.nav-links{display:flex;gap:.25rem;align-items:center}
.nav-links a{padding:.5rem .85rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;color:var(--slate-600);transition:var(--transition)}
.nav-links a:hover,.nav-links a.active{background:var(--blue-50);color:var(--blue)}
.nav-cta{background:var(--blue)!important;color:#fff!important;font-weight:600!important;padding:.5rem 1.2rem!important}
.nav-cta:hover{background:var(--navy)!important}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:.5rem;background:none;border:none}
.hamburger span{width:22px;height:2px;background:var(--slate-700);border-radius:2px;transition:var(--transition)}

/* ===== HERO ===== */
.hero{padding:10rem 1.5rem 5rem;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 50%,#1e4976 100%);color:#fff;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;top:-50%;right:-20%;width:80%;height:200%;background:radial-gradient(ellipse,rgba(37,99,235,.15) 0%,transparent 70%);pointer-events:none}
.hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:120px;background:linear-gradient(transparent,rgba(15,43,70,.3))}
.hero-inner{max-width:1200px;margin:0 auto;position:relative;z-index:1}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);padding:.4rem 1rem;border-radius:50px;font-size:.8rem;font-weight:500;margin-bottom:1.5rem;backdrop-filter:blur(4px)}
.hero-badge::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--emerald);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.hero h1{font-size:clamp(2.2rem,5vw,3.8rem);font-weight:800;line-height:1.1;letter-spacing:-.03em;margin-bottom:1rem}
.hero h1 em{font-style:normal;color:rgba(255,255,255,.6)}
.hero-sub{font-size:clamp(1rem,2vw,1.25rem);color:rgba(255,255,255,.75);max-width:650px;margin-bottom:2rem;line-height:1.6}
.hero-dates{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2.5rem}
.date-chip{display:flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);padding:.6rem 1.2rem;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;backdrop-filter:blur(4px)}
.date-chip .label{color:rgba(255,255,255,.6);font-weight:400;font-size:.8rem}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.75rem;border-radius:var(--radius-sm);font-size:.95rem;font-weight:600;border:none;cursor:pointer;transition:var(--transition);text-decoration:none}
.btn-primary{background:#fff;color:var(--navy)}
.btn-primary:hover{background:var(--slate-100);color:var(--navy);transform:translateY(-1px);box-shadow:var(--shadow-lg)}
.btn-outline{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.3)}
.btn-outline:hover{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.5)}
.btn-blue{background:var(--blue);color:#fff}
.btn-blue:hover{background:var(--navy);color:#fff;transform:translateY(-1px)}

/* ===== SECTIONS ===== */
section{padding:5rem 1.5rem}
section:nth-child(even){background:var(--slate-50)}
.container{max-width:1200px;margin:0 auto}
.section-label{display:inline-block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--blue);background:var(--blue-light);padding:.3rem .8rem;border-radius:50px;margin-bottom:1rem}
.section-title{font-size:clamp(1.8rem,3vw,2.5rem);font-weight:800;color:var(--slate-900);letter-spacing:-.02em;margin-bottom:.75rem;line-height:1.2}
.section-desc{font-size:1.05rem;color:var(--slate-500);max-width:600px;margin-bottom:3rem}

/* ===== THEME CARDS ===== */
.theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;margin-top:2rem}
.theme-card{background:#fff;border-radius:var(--radius-lg);padding:2rem;border:1px solid var(--slate-200);transition:var(--transition);position:relative;overflow:hidden}
.theme-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}
.theme-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px}
.theme-card.mbees::before{background:linear-gradient(90deg,var(--blue),var(--purple))}
.theme-card.mbeps::before{background:linear-gradient(90deg,var(--emerald),var(--gold))}
.theme-tag{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.25rem .6rem;border-radius:50px;display:inline-block;margin-bottom:1rem}
.theme-tag.mbees{background:var(--blue-light);color:var(--blue)}
.theme-tag.mbeps{background:var(--emerald-light);color:var(--emerald)}
.theme-card h3{font-size:1.3rem;font-weight:700;margin-bottom:.5rem;color:var(--slate-900)}
.theme-card p{color:var(--slate-500);font-size:.95rem;line-height:1.6}
.theme-date{display:flex;align-items:center;gap:.5rem;margin-top:1rem;font-size:.85rem;font-weight:600;color:var(--slate-600)}

/* ===== KEYNOTES ===== */
.keynotes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem}
.keynote-card{background:#fff;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--slate-200);transition:var(--transition)}
.keynote-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}
.keynote-header{padding:1.5rem 1.5rem 0;text-align:center;display:flex;flex-direction:column;align-items:center}
.keynote-event{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.2rem .5rem;border-radius:50px;display:inline-block;margin-bottom:.75rem}
.keynote-event.mbees{background:var(--blue-light);color:var(--blue)}
.keynote-event.mbeps{background:var(--emerald-light);color:var(--emerald)}
.keynote-avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--slate-200),var(--slate-300));display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:var(--slate-500);margin-bottom:1rem;overflow:hidden}
.keynote-avatar img{width:100%;height:100%;object-fit:cover}
.keynote-card h3{font-size:1.15rem;font-weight:700;margin-bottom:.25rem;color:var(--slate-900)}
.keynote-card .affiliation{font-size:.85rem;color:var(--slate-500)}
.keynote-footer{padding:1rem 1.5rem;border-top:1px solid var(--slate-100);margin-top:1rem;text-align:center}
.keynote-footer .date{font-size:.8rem;color:var(--slate-400);font-weight:500}

/* ===== TIMELINE / IMPORTANT DATES ===== */
.timeline{max-width:700px}
.timeline-item{display:flex;gap:1.5rem;padding-bottom:2rem;position:relative}
.timeline-item:not(:last-child)::after{content:'';position:absolute;left:19px;top:44px;bottom:0;width:2px;background:var(--slate-200)}
.timeline-dot{width:40px;height:40px;border-radius:50%;background:var(--blue-light);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1rem;position:relative;z-index:1}
.timeline-dot.done{background:var(--emerald-light)}
.timeline-dot.active{background:var(--gold-light);animation:pulse-ring 2s infinite}
@keyframes pulse-ring{0%{box-shadow:0 0 0 0 rgba(217,119,6,.3)}70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}
.timeline-content h4{font-size:1rem;font-weight:700;color:var(--slate-800)}
.timeline-content p{font-size:.9rem;color:var(--slate-500);margin-top:.15rem}
.timeline-content .date{font-size:.85rem;font-weight:600;color:var(--blue)}

/* ===== PROGRAM ===== */
.program-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}
.program-tab{padding:.6rem 1.5rem;border-radius:50px;font-size:.85rem;font-weight:600;cursor:pointer;transition:var(--transition);border:2px solid var(--slate-200);background:#fff;color:var(--slate-600)}
.program-tab:hover{border-color:var(--blue);color:var(--blue)}
.program-tab.active{background:var(--blue);color:#fff;border-color:var(--blue)}
.program-toolbar{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap;align-items:center}
.program-search{flex:1;min-width:200px;padding:.6rem 1rem;border:1px solid var(--slate-200);border-radius:var(--radius-sm);font-size:.9rem;outline:none;transition:var(--transition)}
.program-search:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.1)}
.filter-chip{padding:.4rem .8rem;border:1px solid var(--slate-200);border-radius:50px;font-size:.78rem;font-weight:600;cursor:pointer;transition:var(--transition);background:#fff;color:var(--slate-500)}
.filter-chip:hover{border-color:var(--blue);color:var(--blue)}
.filter-chip.active{background:var(--blue-50);border-color:var(--blue);color:var(--blue)}
.program-day{display:none}
.program-day.active{display:block}
.time-block{margin-bottom:1.25rem}
.time-row{display:flex;align-items:center;gap:.75rem;padding:.6rem 0;position:sticky;top:70px;background:inherit;z-index:10}
.time-pill{background:var(--navy);color:#fff;padding:.3rem .75rem;border-radius:6px;font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums;min-width:60px;text-align:center}
.time-type{font-size:.82rem;font-weight:600;color:var(--slate-500)}
.ev-card{background:#fff;border-radius:var(--radius);padding:1rem;margin-bottom:.5rem;border:1px solid var(--slate-200);box-shadow:var(--shadow-sm);transition:var(--transition);position:relative}
.ev-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}
.ev-card.is-keynote{border-left:4px solid var(--gold);background:linear-gradient(135deg,#fffbeb,#fff)}
.ev-card.is-break{background:var(--slate-50);border-left:4px solid var(--emerald);padding:.6rem 1rem}
.ev-card.is-social{border-left:4px solid var(--purple);background:linear-gradient(135deg,var(--purple-light),#fff)}
.ev-card.is-practitioner{border-left:4px solid var(--gold)}
.ev-badge{display:inline-block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.15rem .4rem;border-radius:4px;margin-bottom:.35rem}
.ev-badge-keynote{background:var(--gold-light);color:var(--gold-dark)}
.ev-badge-session{background:var(--blue-light);color:var(--blue)}
.ev-badge-practitioner{background:var(--gold-light);color:var(--gold-dark)}
.ev-title{font-size:.92rem;font-weight:600;color:var(--slate-800);margin-bottom:.2rem;padding-right:2rem}
.ev-speaker{font-size:.85rem;color:var(--slate-700)}
.ev-affiliation{font-size:.8rem;color:var(--slate-400)}
.ev-room{display:inline-block;font-size:.7rem;background:var(--blue-50);color:var(--blue);padding:.1rem .45rem;border-radius:4px;margin-top:.3rem;font-weight:600}
.ev-bookmark{position:absolute;top:.6rem;right:.6rem;background:none;border:none;cursor:pointer;font-size:1.15rem;opacity:.35;transition:var(--transition);padding:.25rem;color:var(--gold)}
.ev-bookmark:hover,.ev-bookmark.saved{opacity:1}
.track-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}
.track-col{min-width:0}
.track-label{font-size:.78rem;font-weight:700;color:var(--blue);padding:.45rem .7rem;background:var(--blue-50);border-radius:6px;margin-bottom:.4rem;display:flex;justify-content:space-between;align-items:center}
.track-label .room{font-weight:500;font-size:.7rem;color:var(--slate-400)}
.no-match{text-align:center;padding:3rem;color:var(--slate-400)}

/* ===== VENUE ===== */
.venue-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}
.venue-info h3{font-size:1.3rem;font-weight:700;margin-bottom:.5rem}
.venue-info p{color:var(--slate-500);margin-bottom:1rem}
.venue-map{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--slate-200);box-shadow:var(--shadow)}
.venue-map iframe{border:0}
.hotel-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:2rem}
.hotel-card{background:#fff;border-radius:var(--radius);padding:1.25rem;border:1px solid var(--slate-200);transition:var(--transition)}
.hotel-card:hover{box-shadow:var(--shadow-md)}
.hotel-card h4{font-size:1rem;font-weight:700;margin-bottom:.25rem}
.hotel-card .addr{font-size:.85rem;color:var(--slate-400);margin-bottom:.5rem}
.hotel-card p{font-size:.9rem;color:var(--slate-500)}
a.hotel-card{text-decoration:none;color:inherit}

/* ===== PREVIOUS EDITIONS ===== */
.editions-list{display:grid;gap:.75rem;max-width:800px}
.edition-row{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:#fff;border-radius:var(--radius);border:1px solid var(--slate-200);transition:var(--transition)}
.edition-row:hover{box-shadow:var(--shadow-md)}
.edition-year{font-size:1.5rem;font-weight:800;color:var(--blue);min-width:55px}
.edition-details{flex:1}
.edition-details h4{font-size:.95rem;font-weight:700;margin-bottom:.2rem}
.edition-details p{font-size:.82rem;color:var(--slate-500)}
.edition-link{font-size:.8rem;font-weight:600;color:var(--blue);white-space:nowrap}

/* ===== CONTACT ===== */
.contact-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem}
.contact-card{background:#fff;border-radius:var(--radius-lg);padding:2rem;border:1px solid var(--slate-200);text-align:center;transition:var(--transition)}
.contact-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}
.contact-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--blue-light),var(--slate-200));display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-size:2rem;font-weight:700;color:var(--blue)}
.contact-card h3{font-size:1.1rem;font-weight:700;margin-bottom:.5rem}
.contact-card a{font-size:.9rem;color:var(--blue);word-break:break-all}
.contact-subtitle{color:var(--slate-500);font-size:.85rem;margin-bottom:.5rem}

/* ===== FOOTER ===== */
footer{background:var(--navy);color:rgba(255,255,255,.7);padding:3rem 1.5rem;text-align:center}
footer .logo{font-size:1.2rem;font-weight:800;color:#fff;margin-bottom:.5rem}
footer p{font-size:.85rem;max-width:500px;margin:0 auto .25rem}
footer a{color:rgba(255,255,255,.9)}
.footer-copyright{margin-top:1rem;font-size:.75rem;opacity:.5}

/* ===== VENUE UTILITIES ===== */
.btn-maps{margin-top:.5rem;font-size:.85rem;padding:.5rem 1rem}
.mt-1{margin-top:1rem}
.hotels-heading{margin-top:3rem;font-size:1.2rem;font-weight:700;margin-bottom:.5rem}
.hotels-desc{color:var(--slate-500);font-size:.9rem;margin-bottom:1.5rem}

/* ===== MOBILE ===== */
.mobile-menu{display:none;position:fixed;top:70px;left:0;right:0;background:#fff;border-bottom:1px solid var(--slate-200);padding:1rem;box-shadow:var(--shadow-lg);z-index:999}
.mobile-menu.open{display:block}
.mobile-menu a{display:block;padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.95rem;font-weight:500;color:var(--slate-600)}
.mobile-menu a:hover{background:var(--blue-50);color:var(--blue)}
@media(max-width:768px){
  .nav-links{display:none}
  .hamburger{display:flex}
  .hero{padding:8rem 1.5rem 3rem}
  .hero h1{font-size:2rem}
  .venue-grid{grid-template-columns:1fr}
  .track-grid{grid-template-columns:1fr}
  section{padding:3rem 1rem}
}
