:root{--navy:#071e3a;--cream:#fbf7ec;--sky:#dcecf7;--blue:#082b63;--muted:#5e6b7a;--line:#d9e6f2}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--navy);background:#f7fbff}.topbar{background:linear-gradient(180deg,var(--sky),#f7fbff);padding:16px 6vw;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.nav{display:flex;justify-content:space-between;gap:18px;align-items:center}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--navy);font-weight:900}.brand img{width:68px;height:68px;border-radius:50%;object-fit:cover;box-shadow:0 8px 24px rgba(7,30,58,.15)}.brandText span{display:block;font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--blue)}.navLinks{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.nav a{color:var(--navy);text-decoration:none;font-weight:800}.nav a.active{border-bottom:3px solid var(--blue)}button,.primary,.secondary{border:0;border-radius:999px;padding:12px 18px;font-weight:900;cursor:pointer;text-decoration:none}.primary,button{background:var(--blue);color:white}.secondary{background:white;color:var(--blue);border:1px solid #bfd3e3}.hero{padding:70px 7vw 85px;background:linear-gradient(180deg,#f7fbff,#ffffff);text-align:center}.heroInner{max-width:980px;margin:auto}.eyebrow{font-weight:900;color:var(--blue);letter-spacing:.06em;text-transform:uppercase}h1{font-size:clamp(38px,6vw,72px);line-height:1;margin:10px 0}h2{font-size:clamp(28px,4vw,42px);margin-top:0}.sub{font-size:20px;color:var(--muted);line-height:1.5}.heroActions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:24px}.section{padding:46px 7vw;max-width:1150px;margin:auto}.pageHeader{padding:52px 7vw 30px;max-width:1150px;margin:auto}.grid{display:grid;grid-template-columns:1.2fr .8fr;gap:26px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}.card,.eventCard,.formSection,.agenda .item,.archive .item,.admin{background:white;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 12px 35px rgba(7,30,58,.06)}.card h3,.item h3{margin:.2rem 0}.agenda,.archive{display:grid;gap:14px}form{display:grid;gap:14px;max-width:680px}input,textarea,select{padding:14px 16px;border-radius:14px;border:1px solid #c9d8e6;font:inherit;background:white}textarea{min-height:130px}.msg{font-weight:800;color:var(--blue)}footer{text-align:center;padding:30px;color:var(--muted);border-top:1px solid var(--line);margin-top:30px}.hidden{display:none}.adminGrid{display:flex;gap:12px;flex-wrap:wrap}pre{white-space:pre-wrap;background:#f3f7fb;padding:16px;border-radius:16px;overflow:auto}.logoFeature{display:flex;justify-content:center}.logoFeature img{width:min(300px,75vw);border-radius:50%;box-shadow:0 18px 50px rgba(7,30,58,.16)}@media(max-width:850px){.grid{grid-template-columns:1fr}.nav{align-items:flex-start;flex-direction:column}.hero{text-align:left}.heroActions{justify-content:flex-start}.brand img{width:58px;height:58px}}
.tableActions{display:flex;gap:1rem;align-items:center;margin:1rem 0;flex-wrap:wrap}.tableActions span{color:#516174;font-weight:700}.tableWrap{overflow:auto;border:1px solid #d8e4ef;border-radius:14px;background:#fff}table{border-collapse:collapse;width:100%;min-width:760px}th,td{text-align:left;padding:.75rem;border-bottom:1px solid #e8eef5;vertical-align:top;font-size:.92rem}th{background:#edf6ff;color:#07224a}.empty{padding:1rem;border:1px dashed #b7c8d9;border-radius:12px;background:#f7fbff;color:#516174}.adminOutput{margin-top:1rem}
.eventHero{background:linear-gradient(135deg,#f7fbff 0%,#e8f4ff 100%);border-bottom:1px solid var(--line);max-width:none;margin:0;padding-left:7vw;padding-right:7vw}.eventHero h1{max-width:1000px}.eventHero .sub{max-width:920px}.eventGrid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}.highlightCard{border-left:6px solid var(--blue)}.smallNote{color:var(--muted);font-size:.95rem}.pillList{display:flex;flex-wrap:wrap;gap:10px}.pillList span{background:#edf6ff;border:1px solid #c7dced;border-radius:999px;padding:10px 14px;font-weight:800;color:var(--blue)}.speakerGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.speakerCard h3{font-size:24px;margin:.2rem 0 .4rem}.eventCard a{word-break:break-word}@media(max-width:850px){.eventGrid{grid-template-columns:1fr}.eventHero{padding-top:36px}}

/* v4.1 upcoming page refinements */
.eventHero{
  text-align:center;
}
.eventHero h1,
.eventHero .sub{
  margin-left:auto;
  margin-right:auto;
}
.eventHero .heroActions{
  justify-content:center;
}

/* v4.2 Past Talks archive */
.pastHero {
  text-align: center;
}
.pastHero h1,
.pastHero .sub {
  margin-left: auto;
  margin-right: auto;
}
.sectionCard {
  max-width: 980px;
  margin: 28px auto;
  padding: 28px;
  border-radius: 22px;
  background: rgba(255,255,255,0.92);
  box-shadow: 0 12px 40px rgba(10, 31, 68, 0.08);
}
.themePills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}
.themePills span,
.talkTag {
  display: inline-block;
  border-radius: 999px;
  padding: 8px 12px;
  background: #eef4fb;
  color: #0b2348;
  font-weight: 700;
  font-size: 0.88rem;
}
.timeline {
  max-width: 980px;
  margin: 28px auto;
  display: grid;
  gap: 20px;
}
.talkCard {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 22px;
  background: #fff;
  border-radius: 24px;
  padding: 24px;
  box-shadow: 0 12px 40px rgba(10, 31, 68, 0.08);
  border-left: 6px solid #0b2348;
}
.talkDate {
  border-radius: 18px;
  background: #0b2348;
  color: #fff;
  text-align: center;
  padding: 16px 8px;
  align-self: start;
}
.talkDate span,
.talkDate small {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.talkDate strong {
  display: block;
  font-size: 2.4rem;
  line-height: 1;
  margin: 6px 0;
}
.talkBody h2 {
  margin: 8px 0 12px;
  color: #0b2348;
}
.talkBody p {
  line-height: 1.6;
}
@media (max-width: 720px) {
  .talkCard {
    grid-template-columns: 1fr;
  }
  .talkDate {
    max-width: 120px;
  }
}

/* v4.2.1 header/nav fix */
.siteHeader {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  padding: 18px 48px !important;
  background: rgba(255,255,255,0.96) !important;
  border-bottom: 1px solid rgba(10,31,68,0.08) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 20 !important;
}
.siteHeader .brand,
.brand {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-decoration: none !important;
  color: #0b2348 !important;
  white-space: nowrap !important;
}
.siteHeader .logo,
.logo {
  width: 52px !important;
  height: 52px !important;
  object-fit: contain !important;
  flex: 0 0 auto !important;
}
.siteHeader .brand span,
.brand span {
  display: flex !important;
  flex-direction: column !important;
  line-height: 1.1 !important;
}
.siteHeader .brand small,
.brand small {
  font-size: 0.78rem !important;
  letter-spacing: .08em !important;
}
.siteHeader nav {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 18px !important;
  flex-wrap: wrap !important;
  margin-left: auto !important;
}
.siteHeader nav a {
  color: #0b2348 !important;
  text-decoration: none !important;
  font-weight: 700 !important;
}
.siteHeader nav a.active {
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
}
.siteHeader nav a.hostLink {
  background: #0b2348 !important;
  color: #fff !important;
  padding: 10px 16px !important;
  border-radius: 999px !important;
}
@media (max-width: 820px) {
  .siteHeader {
    padding: 14px 20px !important;
    align-items: flex-start !important;
    flex-direction: column !important;
  }
  .siteHeader nav {
    justify-content: flex-start !important;
    margin-left: 0 !important;
    gap: 12px !important;
  }
}

/* v4.3 Sponsor page */
.sponsorGrid {
  max-width: 1100px;
  margin: 28px auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.sponsorCard {
  margin: 0;
}
.donationBox {
  margin: 20px 0;
  padding: 18px;
  border-radius: 18px;
  background: #eef4fb;
  border: 1px solid rgba(10,31,68,0.08);
}
.donationBox p {
  margin: 8px 0;
}
.smallNote {
  font-size: 0.92rem;
  color: #53627a;
}
.formStatus {
  margin-top: 12px;
  font-weight: 700;
  color: #0b2348;
}
@media (max-width: 860px) {
  .sponsorGrid {
    grid-template-columns: 1fr;
  }
}


/* v4.5.6 clean two-color menu scheme
   Brand Blue: Upcoming Talk, Past Talks, Sponsor
   Warm Gold: RSVP, Suggest a Future Talk, Feedback
*/
.topbar .navLinks a,
.siteHeader nav a {
  text-decoration: none !important;
  font-weight: 800 !important;
  border: none !important;
  box-shadow: none !important;
}

/* Blue group */
.topbar .navLinks a.nav-upcoming,
.topbar .navLinks a.nav-upcoming:visited,
.topbar .navLinks a.nav-past,
.topbar .navLinks a.nav-past:visited,
.topbar .navLinks a.nav-sponsor,
.topbar .navLinks a.nav-sponsor:visited,
.siteHeader nav a.nav-upcoming,
.siteHeader nav a.nav-upcoming:visited,
.siteHeader nav a.nav-past,
.siteHeader nav a.nav-past:visited,
.siteHeader nav a.nav-sponsor,
.siteHeader nav a.nav-sponsor:visited {
  color: #0b2348 !important;
}

/* Warm gold group */
.topbar .navLinks a.nav-rsvp,
.topbar .navLinks a.nav-rsvp:visited,
.topbar .navLinks a.nav-suggest,
.topbar .navLinks a.nav-suggest:visited,
.topbar .navLinks a.nav-feedback,
.topbar .navLinks a.nav-feedback:visited,
.siteHeader nav a.nav-rsvp,
.siteHeader nav a.nav-rsvp:visited,
.siteHeader nav a.nav-suggest,
.siteHeader nav a.nav-suggest:visited,
.siteHeader nav a.nav-feedback,
.siteHeader nav a.nav-feedback:visited {
  color: #b46b00 !important;
}

/* Same active style for every menu item */
.topbar .navLinks a.active,
.siteHeader nav a.active {
  background: rgba(11, 35, 72, 0.08) !important;
  padding: 8px 10px !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  border: none !important;
  box-shadow: none !important;
}

/* Host button remains primary brand button */
.topbar .navLinks button#loginBtn,
.siteHeader nav a.hostLink {
  background: #0b2348 !important;
  color: #ffffff !important;
}

/* v4.6 Upcoming Agenda alignment */
.agendaHero {
  text-align: center;
}
.agendaHero h1,
.agendaHero .sub {
  margin-left: auto;
  margin-right: auto;
}
.agendaHero .heroActions {
  justify-content: center;
}

.agendaFlyerBlock {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 24px;
  max-width: 1100px;
  margin: 36px auto;
  align-items: stretch;
}

.agendaSideCard,
.agendaMainCard {
  background: #11131b;
  color: #fff;
  border-radius: 24px;
  box-shadow: 0 18px 50px rgba(10,31,68,.16);
}

.agendaSideCard {
  padding: 34px 24px;
  text-align: center;
  border-right: 4px solid #c79a3b;
}

.agendaSideCard h2 {
  font-size: 3rem;
  line-height: .9;
  color: #fff;
  margin: 12px 0 28px;
  font-family: Georgia, serif;
}
.agendaSideCard h2 span {
  display: block;
  color: #c79a3b;
  font-size: 1rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  margin-top: 8px;
}
.miniMic {
  font-size: 3rem;
  opacity: .9;
}
.modePills {
  display:flex;
  gap:8px;
  justify-content:center;
  flex-wrap:wrap;
  margin:18px 0;
}
.modePills span {
  background: rgba(255,255,255,.08);
  padding: 8px 10px;
  border-radius: 999px;
  font-size: .85rem;
}
.agendaSideCard .smallNote {
  color: rgba(255,255,255,.76);
  line-height:1.5;
}

.agendaMainCard {
  padding: 32px;
}
.agendaMainCard h2 {
  color:#fff;
  font-size: 2.8rem;
  margin: 0 0 20px;
  font-family: Georgia, serif;
  border-bottom: 4px solid #c79a3b;
  display:inline-block;
  padding-bottom:8px;
}

.agendaDetailed {
  display:grid;
  gap:10px;
}
.agendaDetailed .agendaRow {
  display:grid;
  grid-template-columns: 95px 1fr;
  gap: 18px;
  align-items:start;
  background:#171923;
  border-left: 6px solid #c79a3b;
  border-radius: 12px;
  padding: 16px 18px;
}
.agendaDetailed .agendaRow:nth-child(2),
.agendaDetailed .agendaRow:nth-child(3),
.agendaDetailed .agendaRow:nth-child(5) {
  background:#24103a;
  border-left-color:#8b5cf6;
}
.agendaDetailed .agendaRow:nth-child(4) {
  border-left-color:#2dd4bf;
}
.agendaDetailed .agendaRow:nth-child(5) {
  border-left-color:#ef4444;
}
.agendaTime {
  color: rgba(255,255,255,.75);
  font-weight: 800;
  font-size:.95rem;
}
.agendaDetailed h3 {
  color:#fff;
  margin:0 0 5px;
  font-family: Georgia, serif;
  font-size:1.25rem;
}
.agendaDetailed p {
  color: rgba(255,255,255,.72);
  margin:0;
  line-height:1.45;
}
.agendaFooter {
  margin-top: 28px;
  background: rgba(255,255,255,.07);
  color: rgba(255,255,255,.65);
  padding: 12px;
  text-align:center;
  border-radius: 10px;
  font-size:.9rem;
}
@media (max-width: 850px) {
  .agendaFlyerBlock {
    grid-template-columns: 1fr;
  }
  .agendaDetailed .agendaRow {
    grid-template-columns: 1fr;
  }
}

/* v4.6.1 temporary RSVP cleanup */
.navLinks a.nav-rsvp,
.siteHeader nav a.nav-rsvp {
  display: none !important;
}

/* v4.7.1 Live Discussion */
.topbar .navLinks a.nav-discussion,
.siteHeader nav a.nav-discussion {
  color: #0b2348 !important;
}
.topbar .navLinks a.nav-discussion.active,
.siteHeader nav a.nav-discussion.active {
  background: rgba(11, 35, 72, 0.08) !important;
  padding: 8px 10px !important;
  border-radius: 999px !important;
}
.discussionHero {
  text-align: center;
}
.discussionHero h1,
.discussionHero .sub {
  margin-left: auto;
  margin-right: auto;
}
.discussionLayout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  max-width: 1100px;
  margin: 32px auto;
}
.discussionList {
  display: grid;
  gap: 14px;
}
.discussionPost {
  background: #f5f7fb;
  border: 1px solid rgba(10,31,68,.08);
  border-radius: 16px;
  padding: 16px;
}
.discussionMeta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}
.discussionMeta span {
  background: #eef4fb;
  color: #0b2348;
  border-radius: 999px;
  padding: 5px 10px;
  font-size: .8rem;
  font-weight: 700;
  text-transform: capitalize;
}
.discussionPost p {
  margin: 10px 0;
  line-height: 1.5;
}
.discussionPost small {
  color: #64748b;
}
@media (max-width: 850px) {
  .discussionLayout {
    grid-template-columns: 1fr;
  }
}


/* v4.8 clean AI recap + site recovery */
.navLinks a:nth-of-type(odd) { color: #0b2348 !important; }
.navLinks a:nth-of-type(even) { color: #b46b00 !important; }
.navLinks a.active { background: rgba(11,35,72,.09) !important; padding: 8px 10px !important; border-radius: 999px !important; border: none !important; }
.comingSoonHero { min-height: 360px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.recapHero { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(280px,.9fr); gap: 32px; align-items: center; }
.recapHeroText { max-width: 850px; }
.recapHeroImage img, .photoGrid img { width: 100%; border-radius: 24px; box-shadow: 0 16px 44px rgba(7,30,58,.18); object-fit: cover; }
.recapHeroImage img { max-height: 480px; }
.recapIntro .card { align-self: center; }
.photoGrid { display: grid; grid-template-columns: repeat(auto-fit,minmax(230px,1fr)); gap: 18px; margin-top: 18px; }
.photoGrid figure { margin: 0; background: white; border: 1px solid var(--line); border-radius: 24px; padding: 12px; box-shadow: 0 12px 35px rgba(7,30,58,.06); }
.photoGrid figcaption { padding: 10px 6px 4px; color: var(--muted); font-weight: 700; }
.featuredTalkCard { border-left: 6px solid #b46b00; }
@media(max-width:850px){ .recapHero{grid-template-columns:1fr;} }


/* v4.9.8 stable recovery: non-sticky header and Digital Arrest pages using original LAF style */
.topbar{position:relative !important;top:auto !important;z-index:auto !important;}
.topbar .navLinks a.nav-upcoming,.topbar .navLinks a.nav-upcoming:visited{color:#0b2348 !important;}
.topbar .navLinks a.nav-past,.topbar .navLinks a.nav-past:visited{color:#b46b00 !important;}
.topbar .navLinks a.nav-suggest,.topbar .navLinks a.nav-suggest:visited{color:#0a7a5a !important;}
.topbar .navLinks a.nav-sponsor,.topbar .navLinks a.nav-sponsor:visited{color:#0b2348 !important;}
.topbar .navLinks a.nav-discussion,.topbar .navLinks a.nav-discussion:visited{color:#0b6f85 !important;}
.topbar .navLinks a.nav-feedback,.topbar .navLinks a.nav-feedback:visited{color:#b46b00 !important;}
.digitalHero .heroActions{justify-content:center;}
.calendarNote{margin-top:14px;}
.digitalDetails{padding-top:30px;}
.digitalCover{padding-top:12px;}
.coverCard{background:#0b2348;color:#ffffff;border-left:6px solid #c79a3b;}
.coverCard h2,.coverCard p,.coverCard li{color:#ffffff;}
.cleanList{line-height:1.65;font-size:1.05rem;margin:18px 0 0;}
.inlineActions{justify-content:flex-start;margin-top:22px;}
.rsvpCard{max-width:780px;}
.rsvpCard form{max-width:680px;}
.formIntro{font-size:1rem;}
