:root{
  --navy:#071c45; --blue:#0d4fc4; --cyan:#16b9d4; --red:#b21f2d;
  --gold:#d9aa43; --ink:#17233d; --muted:#667085; --light:#f5f8fc;
  --white:#fff; --shadow:0 18px 50px rgba(6,25,61,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.55}
a{text-decoration:none;color:inherit}
.container{width:min(1160px,92%);margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #e7ebf3}
.nav-wrap{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{width:54px;height:54px;object-fit:contain}
.brand strong{display:block;color:var(--red);font-size:16px;letter-spacing:.06em}
.brand span{display:block;color:var(--navy);font-size:12px;font-weight:800;letter-spacing:.14em}
.nav{display:flex;gap:26px;align-items:center;font-size:13px;font-weight:800;text-transform:uppercase;color:#253453}
.nav a{padding:30px 0 25px;border-bottom:3px solid transparent}
.nav a:hover,.nav a.active{color:var(--red);border-color:var(--red)}
.menu-toggle{display:none;border:0;background:transparent;font-size:28px;color:var(--navy)}
.hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#f8fbff 0%,#eef7ff 48%,#e9f3ff 100%);min-height:650px}
.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 40%,rgba(22,185,212,.14),transparent 32%),linear-gradient(90deg,rgba(255,255,255,.92),rgba(255,255,255,0));pointer-events:none}
.hero-glow{position:absolute;width:520px;height:520px;border-radius:50%;right:-80px;top:50px;background:rgba(13,79,196,.07);filter:blur(10px)}
.hero-grid{position:relative;z-index:2;min-height:650px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:20px}
.eyebrow,.section-kicker{font-weight:900;letter-spacing:.18em;color:var(--red);font-size:12px}
.hero h1{margin:14px 0 8px;font-size:clamp(46px,6vw,78px);line-height:.98;letter-spacing:-.045em;color:var(--navy)}
.hero h1 span{color:var(--red)}
.hero h1 b{color:var(--blue);font-weight:900}
.tagline{font-size:23px;font-weight:800;color:#263c6d;margin:14px 0}
.lead{max-width:610px;color:#5d6a7e;font-size:17px}
.event-meta{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0}
.meta-card{display:flex;gap:11px;align-items:flex-start;background:rgba(255,255,255,.8);border:1px solid #dce6f4;border-radius:14px;padding:13px 16px;box-shadow:0 10px 28px rgba(20,55,100,.06)}
.meta-card small{display:block;color:#7b879a;font-weight:800;font-size:10px;letter-spacing:.12em}
.meta-card strong{display:block;font-size:13px;line-height:1.45;color:var(--navy)}
.meta-icon{font-size:25px;color:var(--red);line-height:1}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 22px;border-radius:999px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;font-size:12px;transition:.2s transform,.2s box-shadow}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(0,0,0,.12)}
.btn-primary{background:var(--red);color:white}
.btn-outline{border:1px solid #8fa4c8;color:var(--navy);background:#fff}
.btn-light{background:#fff;color:var(--navy)}
.association{font-size:13px;color:#67748a;margin-top:20px}
.association strong{color:var(--red)}
.hero-art{position:relative;min-height:520px;display:grid;place-items:center}
.hero-logo-wrap{width:min(390px,75vw);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.64);box-shadow:0 28px 70px rgba(14,53,108,.18);padding:20px;position:relative;z-index:3}
.hero-logo-wrap img{width:100%;height:100%;object-fit:contain}
.orbit{position:absolute;border:1px solid rgba(13,79,196,.18);border-radius:50%;animation:spin 24s linear infinite}
.orbit-one{width:480px;height:480px}.orbit-two{width:610px;height:610px;border-style:dashed;animation-direction:reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.floating-badge{position:absolute;z-index:4;padding:9px 15px;border-radius:999px;background:#fff;border:1px solid #dbe5f2;box-shadow:var(--shadow);font-size:10px;font-weight:900;letter-spacing:.15em;color:var(--navy)}
.badge-top{top:80px;left:20%}.badge-right{right:0;top:48%}.badge-bottom{bottom:70px;left:18%}
.quick-strip{background:var(--navy);color:#fff}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.quick-grid>div{padding:23px 18px;border-right:1px solid rgba(255,255,255,.13)}
.quick-grid>div:last-child{border:0}
.quick-grid span{display:block;color:#5ad3e4;font-size:11px;font-weight:900}
.quick-grid strong{display:block;font-size:17px}.quick-grid small{color:#b9c6da}
.section{padding:90px 0}.about{background:#fff}
.two-col{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:center}
h2{font-size:clamp(34px,4vw,50px);line-height:1.05;margin:10px 0 22px;color:var(--navy);letter-spacing:-.035em}
h2 em{color:var(--red);font-style:normal}
.about p{font-size:17px;color:#667085;max-width:700px}
.quote{margin-top:28px;border-left:4px solid var(--red);padding:15px 20px;font-size:20px;font-weight:800;color:var(--navy);background:#fff7f8;border-radius:0 12px 12px 0}
.info-panel{background:linear-gradient(145deg,var(--navy),#0b3b86);border-radius:24px;color:white;padding:30px;box-shadow:var(--shadow)}
.panel-head{font-size:11px;letter-spacing:.16em;font-weight:900;color:#67d8e8;margin-bottom:25px}
.stat{display:flex;align-items:center;gap:18px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.13)}
.stat:last-child{border:0}.stat b{font-size:42px;color:white}.stat span{color:#d5e0f3}
.programme{background:var(--light)}
.section-title-row{display:flex;justify-content:space-between;align-items:end;gap:20px}
.text-link{font-weight:900;color:var(--red)}
.programme-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:35px}
.programme-grid article{background:#fff;border:1px solid #e2e8f1;border-radius:16px;padding:22px;box-shadow:0 8px 24px rgba(8,30,70,.05)}
.programme-grid time{font-size:11px;font-weight:900;color:var(--red);letter-spacing:.08em}
.programme-grid h3{margin:8px 0;font-size:18px;line-height:1.3;color:var(--navy)}
.programme-grid p{margin:0;color:#718096;font-size:13px}
.faculty{background:#fff}
.leaders{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.leader{border:1px solid #e2e8f1;border-top:4px solid var(--red);border-radius:16px;padding:24px;box-shadow:0 10px 30px rgba(8,30,70,.06)}
.leader span{font-size:10px;letter-spacing:.12em;color:var(--red);font-weight:900}
.leader strong{display:block;font-size:19px;color:var(--navy);margin:12px 0 5px}
.leader small{color:#69778e}
.venue{background:#f8fafc}
.venue-grid{grid-template-columns:1fr .8fr}
.venue p{color:#667085;font-size:17px;margin-bottom:25px}
.institution-logos{display:flex;justify-content:center;align-items:center;gap:35px;background:white;border:1px solid #e4eaf2;border-radius:24px;padding:30px}
.institution-logos img{width:180px;height:180px;object-fit:contain}
.cta{background:linear-gradient(115deg,var(--red),#8c1623);color:#fff;padding:65px 0}
.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.cta h2{color:#fff;margin-bottom:10px}.cta p{color:#ffe5e8}.section-kicker.light{color:#ffd5da}
footer{background:#061634;color:#b9c6da;padding:50px 0 0}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;padding-bottom:40px}.footer-logo{width:85px;height:85px;object-fit:contain;background:white;border-radius:50%;padding:4px}.footer-grid h3{color:white;font-size:13px;text-transform:uppercase;letter-spacing:.1em}.footer-grid p{font-size:13px}.copyright{border-top:1px solid rgba(255,255,255,.1);padding:18px 4%;text-align:center;font-size:12px}
@media(max-width:900px){
  .nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:15px 4%;box-shadow:0 20px 30px rgba(0,0,0,.08);flex-direction:column;align-items:flex-start;gap:0}
  .nav.open{display:flex}.nav a{padding:12px 0;border:0}.menu-toggle{display:block}
  .hero-grid,.two-col,.venue-grid{grid-template-columns:1fr}.hero{min-height:auto}.hero-grid{padding:60px 0}.hero-art{min-height:430px;order:-1}.orbit-one{width:350px;height:350px}.orbit-two{width:430px;height:430px}
  .quick-grid{grid-template-columns:repeat(2,1fr)}.quick-grid>div:nth-child(2){border-right:0}.quick-grid>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.13)}
  .leaders{grid-template-columns:1fr}.programme-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.cta-inner{flex-direction:column;align-items:flex-start}
}
@media(max-width:560px){
  .brand div{display:none}.hero h1{font-size:44px}.hero-art{min-height:360px}.hero-logo-wrap{width:275px}.floating-badge{display:none}.event-meta{display:grid}.meta-card{width:100%}.section{padding:65px 0}.quick-grid>div{padding:18px 12px}
}
/* =========================================
   FULL SCIENTIFIC PROGRAMME
   ========================================= */

.full-programme {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 100;
  padding: 30px 3%;
  background: rgba(4, 15, 37, 0.78);
  backdrop-filter: blur(8px);
  overflow-y: auto;
}

.full-programme:target {
  display: block;
}

.full-programme-panel {
  width: min(1180px, 100%);
  margin: 0 auto;
  background: #ffffff;
  border-radius: 22px;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.35);
  overflow: hidden;
}

.full-programme-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 25px;
  padding: 28px 32px 22px;
  background: linear-gradient(
    110deg,
    #e9eaec,
    #6886b7
  );
  color: #ffffff;
}
.programme-header-title {
  display: flex;
  flex-direction: column;

  justify-content: center;
  align-items: center;

  text-align: center;

  height: 100%;
}
/* LEFT & RIGHT LOGOS */

.programme-logo {
  display: flex;

  align-items: center;

  justify-content: center;

  height: 110px;
}

.programme-logo img {
  max-width: 105px;

  max-height: 105px;

  width: auto;

  height: auto;

  object-fit: contain;
}


.full-programme-header .section-kicker {
  color: #ea0b0b;
}

.full-programme-header h2 {
  color: #2a0872;
  margin: 7px 0 5px;
  font-size: 34px;
}

.full-programme-header p {
  margin: 7px 0 5px;
  color: #3b0339;
  font-size: 16px;
  font-weight: 700;
}

.close-programme {
  width: 42px;
  height: 42px;

  display: grid;
  place-items: center;

  border-radius: 50%;

  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;

  font-size: 30px;
  line-height: 1;

  border: 1px solid rgba(255, 255, 255, 0.22);
}

.close-programme:hover {
  background: rgba(255, 255, 255, 0.22);
}

.programme-table-wrap {
  padding: 20px 24px 10px;
  overflow-x: auto;
}

.programme-table {
  width: 100%;
  border-collapse: collapse;

  min-width: 860px;

  font-size: 13px;
}

.programme-table th {
  background: #071632;
  color: #ffffff;

  text-align: left;

  padding: 13px 14px;

  font-size: 11px;
  letter-spacing: 0.1em;
}

.programme-table th:first-child {
  width: 18%;
}

.programme-table th:nth-child(2) {
  width: 29%;
}

.programme-table td {
  padding: 13px 14px;

  border: 1px solid #d8e0eb;

  vertical-align: top;

  color: #17233d;
}

.programme-table tbody tr:nth-child(even) {
  background: #f8fafc;
}

.programme-table td:first-child {
  color: #a91d2a;

  font-weight: 900;

  white-space: nowrap;
}

.programme-table td:nth-child(2) strong {
  display: block;

  color: #b21f2d;

  font-size: 13px;
}

.programme-table td:nth-child(2) span {
  display: block;

  margin-top: 2px;

  color: #182847;

  font-weight: 700;
}

.programme-table td:nth-child(3) {
  font-weight: 700;

  line-height: 1.4;
}

.programme-table td:nth-child(3) b {
  color: #b21f2d;
}

.programme-footer-note {
  padding: 14px 24px 22px;

  text-align: center;

  color: #718096;

  font-size: 12px;
}


/* Mobile */

@media (max-width: 700px) {

  .full-programme {
    padding: 10px;
  }

  .full-programme-header {
    padding: 22px 18px;
  }

  .full-programme-header h2 {
    font-size: 26px;
  }

  .programme-table-wrap {
    padding: 12px 10px 5px;
  }

}
/* =========================================
   FULL PROGRAMME HEADER - MOBILE
   ========================================= */

@media (max-width: 700px) {

  .full-programme-header {
    min-height: 130px;

    grid-template-columns: 80px 1fr 80px;

    gap: 8px;

    padding: 15px 45px 15px 15px;
  }

  .programme-logo {
    height: 80px;
  }

  .programme-logo img {
    max-width: 65px;

    max-height: 65px;
  }

  .programme-header-title .section-kicker {
    font-size: 8px;

    letter-spacing: 0.1em;
  }

  .programme-header-title h2 {
    font-size: 20px;
  }

  .programme-header-title p {
    font-size: 10px;
  }

  .close-programme {
    width: 36px;

    height: 36px;

    top: 12px;

    right: 12px;

    font-size: 24px;
  }

}
/* =========================================
   EXPERT FACULTY
   ========================================= */

.faculty {
  background: #ffffff;
}

.faculty-intro {
  max-width: 750px;
  margin: -8px auto 40px;
  text-align: center;
  color: #667085;
  font-size: 16px;
}


/* DEPARTMENT TITLE */

.faculty-section-title {
  display: flex;
  align-items: center;
  gap: 20px;
  margin: 35px 0 25px;
}

.faculty-section-title span {
  flex: 1;
  height: 1px;
  background: #d9e0eb;
}

.faculty-section-title h3 {
  margin: 0;
  padding: 10px 28px;
  background: #071c45;
  color: #ffffff;
  border-radius: 30px;
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  white-space: nowrap;
}


/* CARDIOLOGY FACULTY */

.faculty-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;

  border: 1px solid #d9e0eb;
  border-radius: 16px;
  overflow: hidden;

  background: #ffffff;
  box-shadow: 0 10px 30px rgba(8, 30, 70, 0.06);
}

.faculty-column {
  padding: 18px 20px;
}

.faculty-column + .faculty-column {
  border-left: 1px solid #d9e0eb;
}


/* FACULTY MEMBER */

.faculty-member {
  display: flex;
  align-items: flex-start;
  gap: 10px;

  padding: 10px 0;

  border-bottom: 1px solid #eef1f5;
}

.faculty-member:last-child {
  border-bottom: none;
}

.faculty-icon {
  flex-shrink: 0;

  width: 25px;
  height: 25px;

  display: grid;
  place-items: center;

  border-radius: 50%;

  background: #b21f2d;
  color: #ffffff;

  font-size: 9px;
}

.faculty-member strong {
  display: block;

  color: #a51f29;

  font-size: 13px;
  line-height: 1.35;
}

.faculty-member small {
  display: block;

  margin-top: 2px;

  color: #17233d;

  font-size: 12px;
  font-weight: 700;
}


/* MICROBIOLOGY */

.microbiology-panel {
  margin-top: 45px;

  border: 1px solid #d9e0eb;
  border-radius: 16px;
  overflow: hidden;

  background: #f8fafc;

  box-shadow: 0 10px 30px rgba(8, 30, 70, 0.06);
}

.microbiology-heading {
  display: flex;
  align-items: center;
  gap: 15px;

  padding: 18px 25px;

  background: #071c45;
  color: #ffffff;
}

.microbiology-heading > span {
  font-size: 28px;
}

.microbiology-heading .section-kicker {
  color: #6de0ea;
  font-size: 9px;
}

.microbiology-heading h3 {
  margin: 0;

  color: #ffffff;

  font-size: 21px;

  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.microbiology-grid {
  display: grid;

  grid-template-columns: repeat(4, 1fr);

  gap: 0;

  background: #ffffff;
}

.microbiology-member {
  padding: 25px 22px;

  border-right: 1px solid #e1e6ee;
}

.microbiology-member:last-child {
  border-right: none;
}

.microbiology-member strong {
  color: #a51f29;
  font-size: 17px;
}

.microbiology-member small {
  margin-left: 5px;

  color: #17233d;
  font-weight: 700;
}

.microbiology-member p {
  margin: 5px 0 0;

  color: #17233d;

  font-size: 13px;
  font-weight: 700;

  line-height: 1.35;
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 900px) {

  .faculty-grid {
    grid-template-columns: 1fr;
  }

  .faculty-column + .faculty-column {
    border-left: none;
    border-top: 1px solid #d9e0eb;
  }

  .microbiology-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .microbiology-member:nth-child(2) {
    border-right: none;
  }

  .microbiology-member:nth-child(3),
  .microbiology-member:nth-child(4) {
    border-top: 1px solid #e1e6ee;
  }

}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 560px) {

  .faculty-section-title {
    gap: 10px;
  }

  .faculty-section-title h3 {
    font-size: 12px;
    padding: 9px 15px;
  }

  .microbiology-grid {
    grid-template-columns: 1fr;
  }

  .microbiology-member {
    border-right: none;
    border-bottom: 1px solid #e1e6ee;
  }

  .microbiology-member:last-child {
    border-bottom: none;
  }

}
/* =========================================
   LEADERSHIP & DIGNITARIES
   ========================================= */

.leadership-section {
  padding: 90px 0;
  background: #f8fafc;
}

.leadership-section > .container > .section-kicker,
.leadership-section > .container > h2 {
  text-align: center;
}

.leadership-section > .container > h2 {
  margin-bottom: 40px;
}


/* GUEST OF HONOUR */

.guest-of-honour {
  position: relative;

  max-width: 720px;

  margin: 0 auto 45px;

  padding: 30px 35px 28px;

  text-align: center;

  background: #ffffff;

  border-radius: 20px;

  border: 1px solid #d9e0eb;

  box-shadow: 0 12px 35px rgba(8, 30, 70, 0.08);
}

.leadership-badge {
  display: inline-flex;

  align-items: center;

  gap: 8px;

  padding: 9px 22px;

  margin-bottom: 15px;

  background: #07101f;

  color: #ffffff;

  border-radius: 30px;

  font-size: 13px;

  font-weight: 800;

  letter-spacing: 0.06em;
}

.leadership-badge span {
  color: #f5c400;

  font-size: 18px;
}

.guest-of-honour h3 {
  margin: 0;

  color: #a51f29;

  font-size: 25px;
}

.guest-of-honour .designation {
  margin: 7px 0 0;

  color: #17233d;

  font-weight: 700;

  line-height: 1.4;
}


/* MAIN GRID */

.leadership-grid {
  display: grid;

  grid-template-columns: repeat(4, 1fr);

  border: 1px solid #d9e0eb;

  border-radius: 20px;

  overflow: hidden;

  background: #ffffff;

  box-shadow: 0 12px 35px rgba(8, 30, 70, 0.07);
}


/* LEADERSHIP CARD */

.leadership-card {
  min-height: 330px;

  border-right: 1px solid #e0e5ec;

  background: #ffffff;
}

.leadership-card:last-child {
  border-right: none;
}


/* CARD HEADER */

.leadership-card-title {
  min-height: 65px;

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 8px;

  padding: 10px 15px;

  background: #07101f;

  color: #ffffff;

  text-align: center;

  border-radius: 0 0 20px 20px;
}

.leadership-card-title span {
  width: 34px;
  height: 34px;

  display: grid;

  place-items: center;

  flex-shrink: 0;

  border: 2px solid #f5c400;

  border-radius: 50%;

  color: #f5c400;

  font-size: 12px;
}

.leadership-card-title strong {
  font-size: 13px;

  line-height: 1.25;
}


/* CONTENT */

.leadership-content {
  padding: 25px 22px;

  text-align: center;
}

.leadership-content h3 {
  margin: 0 0 5px;

  color: #a51f29;

  font-size: 18px;

  line-height: 1.3;
}

.leadership-content p {
  margin: 3px 0;

  color: #17233d;

  font-size: 13px;

  font-weight: 700;

  line-height: 1.35;
}

.qualification {
  font-weight: 800 !important;
}


/* MULTIPLE PEOPLE */

.guest-entry {
  padding: 14px 0;

  border-bottom: 1px solid #e6eaf0;
}

.guest-entry:last-child {
  border-bottom: none;
}

.guest-entry h3 {
  font-size: 16px;
}

.guest-entry p {
  font-size: 12px;
}


/* LONG QUALIFICATION */

.long-qualification {
  font-size: 10px !important;

  line-height: 1.45 !important;

  font-weight: 700 !important;
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 1100px) {

  .leadership-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .leadership-card:nth-child(2) {
    border-right: none;
  }

  .leadership-card:nth-child(3),
  .leadership-card:nth-child(4) {
    border-top: 1px solid #e0e5ec;
  }

}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 600px) {

  .leadership-section {
    padding: 60px 0;
  }

  .guest-of-honour {
    padding: 25px 18px;
  }

  .guest-of-honour h3 {
    font-size: 21px;
  }

  .leadership-grid {
    grid-template-columns: 1fr;
  }

  .leadership-card {
    min-height: auto;

    border-right: none;

    border-bottom: 1px solid #e0e5ec;
  }

  .leadership-card:last-child {
    border-bottom: none;
  }

  .leadership-card:nth-child(3),
  .leadership-card:nth-child(4) {
    border-top: none;
  }

}