@font-face {
 font-display: swap;
 font-family: "Poppins";
 font-style: normal;
 font-weight: bold;
 src:
  url("/fonts/Poppins-Bold.woff") format("woff2"),
  url("/fonts/Poppins-Bold.woff2") format("woff");
}

@font-face {
 font-display: swap;
 font-family: "Poppins";
 font-style: normal;
 font-weight: normal;
 src:
  url("/fonts/Poppins-Regular.woff2") format("woff2"),
  url("/fonts/Poppins-Regular.woff") format("woff");
}

*,
*::before,
*::after {
 box-sizing: border-box;
}

:root {
 --blue-brand: #4473c5;
 --black: #000;
 --footer-text: #3e4766;
 --card-bg: #ffffff;
 --font-base: 18px;
 --family-base: "Popins", sans-serif;
}

body {
 color: var(--black);
 font-family: var(--family-base);
 font-size: var(--font-base);
 line-height: 1.6;
 margin: 0;
 padding: 0;
}

img {
 display: block;
 height: auto;
 max-width: 100%;
 position: relative;
 width: 100%;
}

a {
 transition: all 0.4s linear;
}

p a {
 color: #0c4fee;
 text-decoration: underline;
}

p a:hover {
 color: var(--blue-brand);
}

.container {
 margin: 0 auto;
 width: 1100px;
}

.header-menu {
 align-items: center;
 background-color: #ffffff;
 border-bottom: 1px solid #eeeeee;
 display: flex;
 height: 90px;
 position: sticky;
 top: 0;
 width: 100%;
 z-index: 100;
}

.container-nav {
 align-items: center;
 display: flex;
 gap: 20px;
 justify-content: center;
 margin: 0 auto;
 width: 1100px;
}

.logo {
 color: var(--black);
 font-size: 20px;
}

.logo img {
 max-width: 120px;
}
.nav-links {
 display: flex;
 gap: 10px;
}

.nav-item {
 background-color: var(--blue-brand);
 border-radius: 4px;
 color: #ffffff;
 font-size: 13px;
 font-weight: bold;
 padding: 10px 14px;
 text-decoration: none;
 transition: background-color 0.3s ease;
}

.nav-item:hover {
 background-color: #355da3;
}

/* HERO */
.hero-section {
 margin: 0 auto;
 padding-top: 40px;
 width: 1100px;
}

.main-title-container {
 margin-bottom: 30px;
 text-align: center;
}

.main-title-container h1 {
 font-size: 42px;
 font-weight: bold;
 margin: 0;
}

.main-title-container h2 {
 font-size: 28px;
 font-weight: normal;
 margin: 5px 0;
}

.section {
 padding: 40px 0;
}

.section-heading {
 color: var(--blue-brand);
 font-size: 28px;
 font-weight: bold;
 margin-bottom: 40px;
}

.bg-light-blue {
 background-color: #f0f7fb;
}

.text-center {
 text-align: center;
}

.sub-title-main {
 font-size: 26px;
 font-weight: bold;
 margin: 0;
 text-align: center;
}

.center {
 text-align: center;
}

.sub-title-blue {
 color: var(--blue-brand);
 font-size: 32px;
 font-weight: bold;
 margin: 5px 0 30px 0;
 text-align: center;
}

.text-block-wide {
 font-size: 18px;
 margin: 0 auto;
 text-align: left;
 width: 900px;
}

.highlight-text {
 font-size: 30px;
 font-weight: bold;
 margin: 40px 0;
}

.center-btn {
 margin-bottom: 30px;
 margin-top: 30px;
 text-align: center;
}

.btn-action {
 background-color: var(--blue-brand);
 border-radius: 5px;
 color: #ffffff;
 display: inline-block;
 font-size: 18px;
 font-weight: bold;
 padding: 15px 40px;
 text-decoration: none;
 transition: opacity 0.3s ease;
}

.btn-action:hover {
 opacity: 0.9;
}

.where-grid {
 align-items: center;
 display: flex;
 gap: 50px;
}

.img-placeholder-small {
 height: 300px;
 width: 500px;
}

.img-placeholder-small img {
 height: 100%;
 object-fit: cover;
 display: block;
 object-position: top;
 width: 100%;
}

.where-text {
 text-align: center;
 width: 550px;
}

.bold-text {
 font-size: 20px;
 font-weight: bold;
 margin: 5px 0;
}

.spacer {
 margin-top: 25px;
}

.agenda-features {
 margin: 40px auto;
 text-align: left;
 width: 900px;
}

.features-title {
 font-size: 20px;
 font-weight: bold;
 margin-bottom: 15px;
}

.features-list {
 list-style: none;
 padding: 0;
}

.features-list li {
 margin-bottom: 10px;
 padding-left: 20px;
 position: relative;
}

.features-list li::before {
 color: var(--blue-brand);
 content: "•";
 left: 0;
 position: absolute;
}

.section-heading-center {
 color: var(--blue-brand);
 font-size: 28px;
 font-weight: bold;
 margin-bottom: 60px;
 text-align: center;
}

.speakers-grid-row {
 align-items: stretch;
 display: flex;
 flex-wrap: wrap;
 gap: 20px;
 justify-content: center;
}

.speaker-card-v2 {
 background-color: var(--card-bg);
 border-radius: 60px;
 box-shadow: 0px 15px 45px rgba(0, 0, 0, 0.12);
 padding: 30px;
 text-align: center;
 width: calc(100% / 3 - 15px);
}

.speaker-card-v2 {
 color: #000;
 text-decoration: none;
}

.lecture-label {
 font-size: 16px;
 font-weight: bold;
 margin: 0;
}

.lecture-name {
 font-size: 18px;
 font-weight: bold;
 margin: 5px 0 25px 0;
 min-height: 50px;
}

.speaker-photo-v2 {
 align-items: center;
 display: flex;
 height: 220px;
 justify-content: center;
 margin: 0 auto 25px auto;
 width: 220px;
}

.speaker-photo-v2 img {
 height: 100%;
 object-fit: cover;
 object-position: top;
}

.speaker-name-v2 {
 font-size: 18px;
 font-weight: bold;
 line-height: 1.4;
 margin-bottom: 20px;
}

.speaker-bio {
 font-size: 14px;
}

.speaker-bio strong {
 display: -webkit-box;
 -webkit-line-clamp: 2;
 -webkit-box-orient: vertical;
 overflow: hidden;
}

.speaker-bio > a {
 font-weight: 700;
 color: var(--blue-brand);
 text-decoration: underline;
}

.speaker-bio-v2 {
 color: #222;
 font-size: 15px;
 line-height: 1.6;
 margin-bottom: 0;
 text-align: left;
}

.speaker-bio-v2 ul {
 font-size: 14px;
 padding: 0;
}

.speaker-bio-v2 a {
 color: var(--blue-brand);
 font-weight: bold;
 text-decoration: underline;
}

.speaker-bio-v2 a:hover {
 color: var(--black);
}

.speaker-bio-v3 {
 font-size: 14px;
 text-align: left;
}

.section-form {
 padding-bottom: 80px;
}

.form-instructions {
 margin: 0 auto;
 text-align: left;
 width: 900px;
}

.small-info {
 color: var(--blue-brand);
 margin-top: 15px;
}

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

.section-heading-blue {
 color: var(--blue-brand);
 font-size: 20px;
 font-weight: bold;
 margin-bottom: 25px;
}

.contact-box {
 text-align: center;
}

.contact-box p:not(.contact-lead) {
 margin: 0;
}

.contact-lead {
 font-size: 30px;
 font-weight: bold;
 margin-bottom: 20px;
}

.contact-box a {
 color: var(--blue-brand);
 text-decoration: none;
 transition: color 0.3s;
}

.contact-box a:hover {
 color: var(--black);
 text-decoration: underline;
}

.partners-section {
 padding: 40px 0;
 text-align: center;
}

.partners-title {
 color: var(--blue-brand);
 font-size: 20px;
 font-weight: bold;
 margin: 40px 0 30px;
}

.partners-grid-row {
 display: flex;
 gap: 40px;
 justify-content: center;
 margin-bottom: 30px;
}

.logo-box {
 align-items: center;
 display: flex;
 font-size: 12px;
 justify-content: center;
 width: 150px;
}

.footer-minimal {
 background-color: #ffffff;
 border-top: 1px solid #eeeeee;
 padding: 50px 0;
}

.footer-row {
 display: flex;
 gap: 40px;
 justify-content: center;
}

.footer-row a {
 color: var(--footer-text);
 font-size: 16px;
 text-decoration: none;
 transition: color 0.3s ease;
}

.footer-row a:hover {
 color: var(--blue-brand);
}

.video-placeholder {
 background-color: #e0e0e0;
 height: 400px;
 margin-top: 30px;
 width: 100%;
}

/* =============================================
   RWD – TABLET (max-width: 1140px)
   ============================================= */
@media (max-width: 1140px) {
 .container,
 .container-nav,
 .hero-section {
  box-sizing: border-box;
  padding-left: 20px;
  padding-right: 20px;
  width: 100%;
 }

 .text-block-wide,
 .agenda-features,
 .form-instructions {
  width: 100%;
 }

 .speakers-grid-row {
  flex-wrap: wrap;
  justify-content: center;
 }

 .speaker-card-v2 {
  min-width: 280px;
  width: calc(50% - 20px);
 }
}

/* =============================================
   RWD – MOBILE (max-width: 768px)
   ============================================= */
@media (max-width: 768px) {
 /* Nav */
 .container-nav {
  align-items: flex-start;
  flex-direction: column;
  gap: 12px;
  height: auto;
  padding: 15px 16px;
 }

 .header-menu {
  height: auto;
  position: sticky;
  top: 0;
 }

 .nav-links {
  flex-wrap: wrap;
  gap: 8px;
 }

 .nav-item {
  font-size: 11px;
  padding: 8px 10px;
 }

 /* Hero */
 .hero-section {
  padding-top: 24px;
 }

 .main-title-container h1 {
  font-size: 26px;
 }

 .main-title-container h2 {
  font-size: 18px;
 }

 /* Sections */
 .section {
  padding: 50px 0;
 }

 .section-heading {
  font-size: 20px;
 }

 .sub-title-main {
  font-size: 20px;
 }

 .sub-title-blue {
  font-size: 22px;
 }

 .text-block-wide {
  font-size: 16px;
 }

 .highlight-text {
  font-size: 22px;
  margin: 28px 0;
 }

 /* Where & When */
 .where-grid {
  flex-direction: column;
  gap: 30px;
 }

 .img-placeholder-small {
  height: 220px;
  width: 100%;
 }

 .where-text {
  width: 100%;
 }

 .bold-text {
  font-size: 17px;
 }

 /* Agenda */
 .agenda-features {
  width: 100%;
 }

 /* Speakers */
 .speakers-grid-row {
  align-items: center;
  flex-direction: column;
 }

 .speaker-card-v2 {
  border-radius: 30px;
  box-sizing: border-box;
  max-width: 420px;
  width: 100%;
 }

 .speaker-photo-v2 {
  height: 200px;
  width: 160px;
 }

 /* Form */
 .form-instructions {
  width: 100%;
 }

 /* Contact */
 .contact-lead {
  font-size: 18px;
 }

 /* Partners */
 .partners-grid-row {
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
 }

 /* Footer */
 .footer-row {
  align-items: center;
  flex-direction: column;
  gap: 16px;
  text-align: center;
 }

 /* Video */
 .video-placeholder {
  height: 220px;
 }

 /* Buttons */
 .btn-action {
  box-sizing: border-box;
  display: block;
  font-size: 16px;
  padding: 13px 28px;
  text-align: center;
 }

 .center-btn {
  margin-top: 36px;
 }
}

@media (max-width: 420px) {
 .container,
 .container-nav,
 .hero-section {
  padding-left: 12px;
  padding-right: 12px;
 }

 .main-title-container h1 {
  font-size: 22px;
 }

 .main-title-container h2 {
  font-size: 16px;
 }

 .nav-item {
  font-size: 10px;
  padding: 7px 8px;
 }

 .speaker-card-v2 {
  border-radius: 20px;
  padding: 20px;
 }
}
