/* =========================================================
   BLIND ACRO — COMPLETE RESPONSIVE CSS
   ========================================================= */


/* =========================================================
   1. TABLET + MOBILE NAVIGATION
   ========================================================= */

@media screen and (max-width: 1024px) {

  /* Navigation wrapper */
  .elementor-element-142efad1 .nav-wrapper {
    position: relative !important;
    width: 100% !important;
    text-align: center !important;
  }

  /* Center hamburger exactly */
  .elementor-element-142efad1 button.toggle-gum-menu {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    margin: 0 !important;
    float: none !important;
    transform: translate(-50%, -50%) !important;
    z-index: 20 !important;
  }

  /* Main opened menu panel */
  .elementor-element-142efad1 .nav-wrapper > ul.gum-menu,
  .elementor-element-142efad1 .gum-toggle-collapse > ul.gum-menu {
    width: fit-content !important;
    min-width: 280px !important;
    max-width: calc(100vw - 32px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 14px 22px !important;
    background-color: #0d54d0 !important;
    list-style: none !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  /* All menu rows */
  .elementor-element-142efad1 .nav-wrapper li {
    position: relative !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    list-style: none !important;
  }

  /* Main navigation links */
  .elementor-element-142efad1 .nav-wrapper > ul.gum-menu > li > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    margin: 0 auto !important;
    padding: 4px 8px !important;
    color: #ffffff !important;
    background: transparent !important;
    text-align: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
  }

  /* Keep the actual Gum caret beside Practice */
  .elementor-element-142efad1
  .nav-wrapper
  li.menu-item-has-children > a > .arrow {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: 6px !important;
    color: #ffffff !important;
    pointer-events: auto !important;
  }

  /* Submenu container closed by default */
  .elementor-element-142efad1
  .nav-wrapper
  li.menu-item-has-children > .sub-menu-container {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    position: static !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 4px auto 10px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
  }

  /* Gum's actual tablet/mobile open state */
  .elementor-element-142efad1
  .nav-wrapper
  li.menu-item-has-children.menu-open > .sub-menu-container {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Submenu panel */
  .elementor-element-142efad1
  .nav-wrapper
  .sub-menu-container > ul.sub-menu {
    position: static !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    min-width: 260px !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 6px 14px !important;
    background-color: #0d54d0 !important;
    border: 0 !important;
    box-shadow: none !important;
    list-style: none !important;
    text-align: center !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  /* Submenu rows */
  .elementor-element-142efad1
  .nav-wrapper
  .sub-menu-container > ul.sub-menu > li {
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    text-align: center !important;
  }

  /* Submenu links */
  .elementor-element-142efad1
  .nav-wrapper
  .sub-menu-container > ul.sub-menu > li > a {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 6px 8px !important;
    color: #ffffff !important;
    background: transparent !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: normal !important;
  }

  .elementor-element-142efad1
  .nav-wrapper
  .sub-menu-container > ul.sub-menu > li > a:hover,
  .elementor-element-142efad1
  .nav-wrapper
  .sub-menu-container > ul.sub-menu > li > a:focus {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.12) !important;
  }
}


/* =========================================================

   2. DESKTOP NAVIGATION

   Click Practice/caret to open and close

   ========================================================= */

@media screen and (min-width: 1025px) {

  /* Closed by default */

  .elementor-element-142efad1

  .nav-wrapper

  li.menu-item-has-children > .sub-menu-container {

    display: none !important;

    visibility: hidden !important;

    opacity: 0 !important;

  }

  /* Open only when Gum adds menu-open */

  .elementor-element-142efad1

  .nav-wrapper

  li.menu-item-has-children.menu-open > .sub-menu-container {

    display: block !important;

    visibility: visible !important;

    opacity: 1 !important;

  }

}

/* =========================================================
   3. LEGACY HERO SAFETY FIX
   Preserved from existing working CSS
   ========================================================= */

@media screen and (max-width: 1024px) {

  .elementor-section:first-of-type .elementor-container,
  .elementor-section:first-of-type > .elementor-container {
    display: flex !important;
    flex-direction: column !important;
  }

  .elementor-section:first-of-type .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor-section:first-of-type .elementor-column:first-child {
    order: 1 !important;
    position: relative !important;
    z-index: 2 !important;
  }

  .elementor-section:first-of-type .elementor-column:last-child {
    order: 2 !important;
    position: relative !important;
    z-index: 1 !important;
    margin-top: 30px !important;
  }

  .elementor-section:first-of-type .elementor-column:last-child img {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: 520px !important;
    height: auto !important;
    margin: 0 auto !important;
    transform: none !important;
  }
}


/* =========================================================
   4. BLIND ACRO HERO — TABLET + MOBILE
   ========================================================= */

@media screen and (max-width: 1024px) {

  .blind-hero {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    overflow: hidden !important;
  }

  .blind-hero-text {
    order: 1 !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    z-index: 2 !important;
  }

  .blind-hero-image {
    order: 2 !important;
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    margin: 30px 0 0 !important;
    transform: none !important;
    translate: none !important;
    z-index: 1 !important;
  }

  .blind-hero-image .elementor-widget,
  .blind-hero-image .elementor-widget-container {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
  }

  .blind-hero-image img {
    display: block !important;
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 520px !important;
    height: auto !important;
    margin: 0 auto !important;
    transform: none !important;
  }
}


/* =========================================================
   5. CENTER HERO BUTTON — TABLET + MOBILE
   ========================================================= */

@media screen and (max-width: 1024px) {

  .blind-hero-button {
    width: 100% !important;
    text-align: center !important;
  }

  .blind-hero-button .elementor-widget-container {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
  }

  .blind-hero-button .elementor-button-wrapper {
    width: 100% !important;
    text-align: center !important;
  }

  .blind-hero-button .elementor-button {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* =========================================================
   6. PHONE HERO REFINEMENT
   ========================================================= */

@media screen and (max-width: 767px) {

  .blind-hero-image {
    margin-top: 24px !important;
  }

  .blind-hero-image img {
    max-width: 100% !important;
  }
}
/* =========================================================
   DESKTOP PRACTICE DROPDOWN
   Match tablet color scheme
   ========================================================= */

@media screen and (min-width: 1025px) {

  /* Outer dropdown container */
  .elementor-element-142efad1
  #menu-item-389 > .sub-menu-container {
    position: absolute !important;
    top: 100% !important;
    left: 50% !important;
    right: auto !important;
    width: 280px !important;
    min-width: 280px !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateX(-50%) !important;
    background: #0d54d0 !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    z-index: 9999 !important;
  }

  /* Inner submenu list */
  .elementor-element-142efad1
  #menu-item-389 > .sub-menu-container > ul.sub-menu {
    position: static !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 8px 12px !important;
    background: #0d54d0 !important;
    border: none !important;
    box-shadow: none !important;
    overflow: visible !important;
    list-style: none !important;
    box-sizing: border-box !important;
  }

  /* Submenu rows */
  .elementor-element-142efad1
  #menu-item-389 > .sub-menu-container > ul.sub-menu > li {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  /* Submenu links */
  .elementor-element-142efad1
  #menu-item-389 > .sub-menu-container > ul.sub-menu > li > a {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 8px 10px !important;
    color: #ffffff !important;
    background: transparent !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: normal !important;
    box-sizing: border-box !important;
  }

  /* Hover/focus styling */
  .elementor-element-142efad1
  #menu-item-389 > .sub-menu-container > ul.sub-menu > li > a:hover,
  .elementor-element-142efad1
  #menu-item-389 > .sub-menu-container > ul.sub-menu > li > a:focus {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.14) !important;
  }
}
/* =========================================================

   BLIND ACRO NEWSLETTER FORM

   ========================================================= */

/* The Shortcode widget must have the class: ba-fluent-form */

.ba-fluent-form {

  width: 100% !important;

  min-width: 0 !important;

}

/* Fluent Forms puts the fields inside a fieldset */

.ba-fluent-form form.frm-fluent-form fieldset {

  display: grid !important;

  grid-template-columns:

    minmax(180px, 1fr)

    minmax(220px, 1fr)

    auto !important;

  align-items: start !important;

  gap: 12px !important;

  width: 100% !important;

  min-width: 0 !important;

  margin: 0 !important;

  padding: 0 !important;

  border: 0 !important;

}

/* Remove default vertical spacing */

.ba-fluent-form .ff-el-group,

.ba-fluent-form .ff_submit_btn_wrapper {

  width: 100% !important;

  min-width: 0 !important;

  margin: 0 !important;

  padding: 0 !important;

}

/* Hide labels visually but preserve accessibility */

.ba-fluent-form .ff-el-input--label {

  position: absolute !important;

  width: 1px !important;

  height: 1px !important;

  overflow: hidden !important;

  clip: rect(0, 0, 0, 0) !important;

  white-space: nowrap !important;

}

/* Inputs */

.ba-fluent-form input[type="text"],

.ba-fluent-form input[type="email"] {

  display: block !important;

  width: 100% !important;

  height: 52px !important;

  margin: 0 !important;

  padding: 0 18px !important;

  border: 0 !important;

  border-radius: 12px !important;

  outline: 0 !important;

  box-shadow: none !important;

  background: rgba(255, 255, 255, 0.95) !important;

  color: #111111 !important;

  font-size: 16px !important;

  line-height: normal !important;

  box-sizing: border-box !important;

}

.ba-fluent-form input[type="text"]::placeholder,

.ba-fluent-form input[type="email"]::placeholder {

  color: #999999 !important;

  opacity: 1 !important;

}

/* Submit wrapper */

.ba-fluent-form .ff_submit_btn_wrapper {

  display: flex !important;

  align-items: flex-start !important;

}

/* Button */

.ba-fluent-form .ff-btn-submit {

  display: inline-flex !important;

  align-items: center !important;

  justify-content: center !important;

  width: auto !important;

  min-width: 145px !important;

  height: 52px !important;

  margin: 0 !important;

  padding: 0 24px !important;

  border: 2px solid rgba(255, 255, 255, 0.55) !important;

  border-radius: 12px !important;

  background: #008080 !important;

  color: #ffffff !important;

  font-size: 16px !important;

  font-weight: 700 !important;

  line-height: 1 !important;

  white-space: nowrap !important;

  cursor: pointer !important;

  box-shadow: none !important;

  transition:

    background 0.2s ease,

    transform 0.2s ease !important;

}

.ba-fluent-form .ff-btn-submit:hover,

.ba-fluent-form .ff-btn-submit:focus {

  background: #006f6f !important;

  color: #ffffff !important;

  transform: translateY(-2px);

}

/* Validation messages */

.ba-fluent-form .text-danger,

.ba-fluent-form .error,

.ba-fluent-form .ff-el-is-error .text-danger {

  color: #ffffff !important;

  margin-top: 5px !important;

}

/* Success message */

.ba-fluent-form .ff-el-is-success,

.ba-fluent-form .ff-message-success,

.ba-fluent-form .ff_success,

.ba-fluent-form .ff-success {

  color: #ffffff !important;

  background: rgba(255, 255, 255, 0.12) !important;

  border: 1px solid rgba(255, 255, 255, 0.35) !important;

  border-radius: 12px !important;

  padding: 16px 20px !important;

  font-size: 16px !important;

  line-height: 1.5 !important;

}

/* Links inside success message */

.ba-fluent-form .ff-el-is-success a,

.ba-fluent-form .ff-message-success a,

.ba-fluent-form .ff_success a,

.ba-fluent-form .ff-success a {

  color: #ffffff !important;

}

/* =========================================================

   TABLET

   Stack only the form fields sooner so nothing gets cut off

   ========================================================= */

@media screen and (max-width: 1150px) {

  .ba-fluent-form form.frm-fluent-form fieldset {

    grid-template-columns: 1fr !important;

    gap: 12px !important;

  }

  .ba-fluent-form .ff-btn-submit {

    width: 100% !important;

  }

}

/* =========================================================

   MOBILE

   ========================================================= */

@media screen and (max-width: 767px) {

  .ba-fluent-form {

    width: 100% !important;

  }

  .ba-fluent-form form.frm-fluent-form fieldset {

    grid-template-columns: 1fr !important;

    gap: 12px !important;

  }

  .ba-fluent-form input[type="text"],

  .ba-fluent-form input[type="email"],

  .ba-fluent-form .ff-btn-submit {

    width: 100% !important;

  }

}

/* ===== BLIND ACRO FOOTER (moved from per-page widgets, 2026-10-16) ===== */
.ba-site-footer { width: 100%; margin: 0 !important; padding: 52px 0 22px; background: linear-gradient(180deg, #4f9fc8 0%, #438fb9 55%, #397fa8 100%); color: #ffffff; box-sizing: border-box; font-family: Arial, Helvetica, sans-serif; }
.ba-footer-wrap { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 40px; box-sizing: border-box; }
.ba-footer-grid { display: grid; grid-template-columns: minmax(280px, 1.25fr) minmax(190px, .72fr) minmax(250px, .9fr); gap: 64px; align-items: start; }
.ba-footer-brand, .ba-footer-column { min-width: 0; }
.ba-footer-logo-link { display: inline-block; text-decoration: none; }
.ba-footer-logo { display: block; width: 220px; max-width: 100%; height: auto; margin: 0; }
.ba-footer-tagline { color: #ffffff; margin: 14px 0 10px; }
.ba-footer-description { max-width: 430px; margin: 0; color: rgba(255,255,255,.94); font-size: 15px; line-height: 1.4; }
.ba-footer-column h2 { margin: 4px 0 20px; color: #ffffff; font-size: 15px; line-height: 1.2; font-weight: 700; letter-spacing: 1.7px; text-transform: uppercase; }
.ba-footer-menu, .ba-footer-submenu { margin: 0; padding: 0; list-style: none; }
.ba-footer-menu > li { margin: 0 0 11px; padding: 0; }
.ba-footer-menu a, .ba-footer-parent-label, .ba-footer-contact p { color: rgba(255,255,255,.94); font-size: 15px; line-height: 1.55; }
.ba-footer-menu a { text-decoration: none; transition: opacity .2s ease, color .2s ease; }
.ba-footer-menu a:hover, .ba-footer-menu a:focus { color: #ffffff; opacity: .76; }
.ba-footer-parent-item { margin-top: 2px !important; }
.ba-footer-parent-label { display: block; margin-bottom: 7px; color: #ffffff; font-weight: 700; cursor: default; }
.ba-footer-submenu { margin-left: 14px; padding-left: 12px; border-left: 1px solid rgba(255,255,255,.34); }
.ba-footer-submenu li { margin: 0 0 7px; padding: 0; }
.ba-footer-submenu a { font-size: 14px; color: rgba(255,255,255,.86); }
.ba-footer-contact p { margin: 0 0 18px; }
.ba-footer-email { display: inline-block; margin-bottom: 20px; color: #ffffff !important; font-weight: 700; overflow-wrap: anywhere; text-decoration: none; }
.ba-footer-email:hover, .ba-footer-email:focus { opacity: .8; }
.ba-instagram { display: inline-flex; align-items: center; gap: 10px; color: #ffffff !important; font-size: 14px; font-weight: 700; text-decoration: none; }
.ba-instagram:hover, .ba-instagram:focus { opacity: .82; }
.ba-instagram-icon { width: 27px; height: 27px; padding: 5px; border-radius: 8px; background: radial-gradient(circle at 30% 105%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%); box-sizing: border-box; }
.ba-instagram-icon svg { display: block; width: 100%; height: 100%; fill: none; stroke: #ffffff; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ba-footer-bottom { margin-top: 42px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.32); display: grid; grid-template-columns: 1fr auto 1fr; gap: 24px; align-items: center; }
.ba-footer-bottom p { margin: 0; color: rgba(255,255,255,.88); font-size: 13px; line-height: 1.5; }
.ba-footer-bottom p:last-child { text-align: right; }
.ba-footer-bottom p a { color: #ffffff; text-decoration: none; font-weight: 700; }
.ba-footer-bottom p a:hover, .ba-footer-bottom p a:focus { text-decoration: underline; text-underline-offset: 4px; }
.ba-footer-bottom-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px 18px; }
.ba-footer-bottom-links a { color: rgba(255,255,255,.92); font-size: 13px; text-decoration: underline; text-decoration-color: rgba(255,255,255,.48); text-underline-offset: 4px; }
.ba-footer-bottom-links a:hover, .ba-footer-bottom-links a:focus { color: #ffffff; }
@media screen and (max-width: 1024px) {
  .ba-site-footer { padding: 46px 0 22px; }
  .ba-footer-wrap { padding: 0 30px; }
  .ba-footer-grid { grid-template-columns: 1.1fr .9fr; gap: 42px; }
  .ba-footer-contact { grid-column: 1 / -1; }
  .ba-footer-logo { width: 200px; }
  .ba-footer-bottom { grid-template-columns: 1fr; gap: 10px; text-align: center; }
  .ba-footer-bottom p:last-child { text-align: center; }
  .ba-footer-email { display: block !important; width: fit-content !important; margin: 0 0 18px !important; }
  .ba-instagram { display: inline-flex !important; margin-top: 0 !important; }
}
@media screen and (max-width: 767px) {
  .ba-site-footer { padding: 40px 0 20px; }
  .ba-footer-wrap { padding: 0 24px; }
  .ba-footer-grid { grid-template-columns: 1fr; gap: 34px; text-align: center; }
  .ba-footer-contact { grid-column: auto; }
  .ba-footer-logo { width: 185px; margin: 0 auto 20px; }
  .ba-footer-description { margin: 0 auto; }
  .ba-footer-submenu { width: fit-content; margin: 8px auto 0; padding-left: 0; border-left: 0; }
  .ba-instagram { justify-content: center; }
  .ba-footer-bottom { margin-top: 34px; }
  .ba-footer-email { margin-left: auto !important; margin-right: auto !important; }
  .ba-instagram { display: flex !important; width: fit-content !important; margin-left: auto !important; margin-right: auto !important; }
}

/* ===== NAV: "Book Chris" button (menu item class ba-nav-book) ===== */
li.ba-nav-book > a { background: #FFDA79 !important; color: #0b1f44 !important; border-radius: 21px !important; padding: 6px 18px !important; font-weight: 700 !important; }
li.ba-nav-book > a:hover, li.ba-nav-book > a:focus { background: #ffe9ad !important; }

/* ===== SENSORY INTELLIGENCE + BOOK CHRIS blocks (.si-*) ===== */
.si-wrap { width: 100%; max-width: 1100px; margin: 0 auto; padding: 0 28px; box-sizing: border-box; font-family: Roboto, Arial, sans-serif; color: #1d2a3f; }
.si-section { padding: 64px 0; }
.si-section--blue { background: #013581; color: #fff; }
.si-section--blue .si-wrap { color: #fff; }
.si-section--sky { background: #E5F1FF; }
.si-eyebrow { font-size: 13px; letter-spacing: 2px; text-transform: uppercase; font-weight: 700; color: #FFDA79; margin: 0 0 14px; }
.si-section--sky .si-eyebrow, .si-section--white .si-eyebrow { color: #0D54D0; }
.si-h1 { font-family: "Roboto Slab", Georgia, serif; font-size: clamp(38px, 6vw, 64px); line-height: 1.05; margin: 0 0 20px; color: #fff; }
.si-h2 { font-family: "Roboto Slab", Georgia, serif; font-size: clamp(28px, 4vw, 40px); line-height: 1.15; margin: 0 0 18px; color: #013581; }
.si-section--blue .si-h2 { color: #fff; }
.si-lede { font-size: clamp(18px, 2.2vw, 22px); line-height: 1.55; max-width: 720px; margin: 0 0 30px; color: rgba(255,255,255,.95); }
.si-p { font-size: 18px; line-height: 1.65; margin: 0 0 16px; max-width: 760px; }
.si-hero { display: grid; grid-template-columns: 1.35fr 1fr; gap: 48px; align-items: center; }
.si-hero img, .si-split img { width: 100%; height: auto; border-radius: 30px; border: 3px solid #2675FC; display: block; }
.si-split { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.si-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; }
.si-btn { display: inline-block; background: #FFDA79; color: #0b1f44 !important; font-weight: 700; font-size: 17px; padding: 14px 30px; border-radius: 40px; text-decoration: none !important; }
.si-btn:hover, .si-btn:focus { background: #ffe9ad; }
.si-link { color: #fff !important; font-weight: 700; text-decoration: underline; text-underline-offset: 5px; }
.si-section--sky .si-link, .si-section--white .si-link { color: #0D54D0 !important; }
.si-trio { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 30px; }
.si-card { background: #fff; border-radius: 22px; padding: 28px; box-shadow: 0 8px 26px rgba(1,53,129,.10); }
.si-section--blue .si-card { background: rgba(255,255,255,.08); box-shadow: none; border: 1px solid rgba(255,255,255,.22); }
.si-card h3 { font-family: "Roboto Slab", Georgia, serif; font-size: 22px; margin: 0 0 10px; color: #013581; }
.si-section--blue .si-card h3 { color: #FFDA79; }
.si-card p { font-size: 16px; line-height: 1.6; margin: 0 0 14px; }
.si-card .si-tag { font-size: 12px; letter-spacing: 1.6px; text-transform: uppercase; font-weight: 700; color: #2675FC; margin: 0 0 8px; }
.si-section--blue .si-card .si-tag { color: #9cc3ff; }
.si-card a { font-weight: 700; color: #0D54D0; }
.si-section--blue .si-card a { color: #fff; }
.si-price { font-family: "Roboto Slab", Georgia, serif; font-size: 26px; color: #FFDA79; margin: 0 0 6px; }
.si-note { font-size: 15px; opacity: .85; margin: 0 0 26px; }
@media (max-width: 900px) {
  .si-hero, .si-split, .si-trio { grid-template-columns: 1fr; gap: 28px; }
  .si-section { padding: 48px 0; }
}


/* ===== .si lists + gallery (2026-10-16) ===== */
.si-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 40px; margin: 22px 0 0; padding: 0; list-style: none; }
.si-cols li { position: relative; padding-left: 26px; font-size: 18px; line-height: 1.5; margin: 0 0 10px; }
.si-cols li::before { content: ""; position: absolute; left: 0; top: .55em; width: 10px; height: 10px; border-radius: 50%; background: #2675FC; }
.si-section--blue .si-cols li::before { background: #FFDA79; }
.si-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.si-gallery img { width: 100%; height: 260px; object-fit: cover; border-radius: 22px; display: block; }
@media (max-width: 900px) {
  .si-cols { grid-template-columns: 1fr; }
  .si-gallery { grid-template-columns: 1fr; }
  .si-gallery img { height: 220px; }
}


/* ===== Homepage TEDx strip (2026-10-16) ===== */
.si-strip { display: block; background: #FFDA79; color: #0b1f44 !important; text-align: center; font-family: Roboto, Arial, sans-serif; font-weight: 700; font-size: 16px; padding: 12px 20px; text-decoration: none !important; }
.si-strip:hover, .si-strip:focus { background: #ffe9ad; }
.si-strip span { text-decoration: underline; text-underline-offset: 4px; }


/* Hide the duplicate Hello Elementor theme header. The branded Elementor navigation remains. */
#site-header {
  display: none !important;
}

/* Hide the duplicate Hello Elementor theme footer. The branded Elementor footer remains. */
#site-footer {
  display: none !important;
}


/* =========================================================
   BLIND ACRO NEWSLETTER POPUP
   Uses Fluent Forms form ID 3 rendered from wp_footer.
   ========================================================= */
.ba-newsletter-popup {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  padding: 24px;
  visibility: hidden;
  opacity: 0;
  transition: opacity 180ms ease, visibility 180ms ease;
}
.ba-newsletter-popup[aria-hidden="false"] {
  visibility: visible;
  opacity: 1;
}
.ba-newsletter-popup__overlay {
  position: absolute;
  inset: 0;
  background: rgba(5, 24, 58, 0.78);
}
.ba-newsletter-popup__dialog {
  position: relative;
  width: min(680px, 100%);
  max-height: min(88vh, 780px);
  overflow: auto;
  padding: clamp(30px, 5vw, 52px);
  background: #ffffff;
  color: #142344;
  border: 2px solid #ffcf5a;
  border-radius: 28px;
  box-shadow: 0 24px 64px rgba(4, 23, 55, 0.32);
  outline: none;
  transform: translateY(14px) scale(0.985);
  transition: transform 180ms ease;
}
.ba-newsletter-popup[aria-hidden="false"] .ba-newsletter-popup__dialog {
  transform: translateY(0) scale(1);
}
.ba-newsletter-popup__dialog::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 8px;
  border-radius: 26px 26px 0 0;
  background: linear-gradient(90deg, #0f54c7, #3d8989 56%, #ffcf5a);
}
.ba-newsletter-popup__close {
  position: absolute;
  top: 16px;
  right: 16px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  background: #edf4ff;
  color: #142344;
  border: 1px solid #afc5e7;
  border-radius: 999px;
  font: 700 30px/1 Arial, sans-serif;
  cursor: pointer;
}
.ba-newsletter-popup__close:hover { background: #dfeafb; }
.ba-newsletter-popup__close:focus-visible,
.ba-newsletter-popup input:focus-visible,
.ba-newsletter-popup button:focus-visible {
  outline: 3px solid #ce2e62;
  outline-offset: 3px;
}
.ba-newsletter-popup__eyebrow {
  display: inline-block;
  margin: 0 0 14px;
  padding: 8px 14px;
  background: #e8f3f3;
  color: #236d70;
  border: 1px solid #9bc5c6;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.ba-newsletter-popup h2 {
  margin: 0 54px 14px 0;
  color: #154fbf;
  font-size: clamp(34px, 6vw, 52px);
  line-height: 1.02;
  letter-spacing: -0.035em;
}
.ba-newsletter-popup__intro {
  margin: 0 0 24px;
  color: #334463;
  font-size: 18px;
  line-height: 1.55;
}
.ba-newsletter-popup__form {
  padding: 22px;
  background: #eef5ff;
  border: 1px solid #b8cae8;
  border-radius: 18px;
  box-shadow: inset 0 1px 0 #ffffff;
}
.ba-newsletter-popup__form .ff-el-group { margin-bottom: 16px; }
.ba-newsletter-popup__form label {
  display: block;
  margin-bottom: 7px;
  color: #142344;
  font-size: 15px;
  font-weight: 750;
}
.ba-newsletter-popup__form input[type="text"],
.ba-newsletter-popup__form input[type="email"] {
  width: 100%;
  min-height: 52px;
  padding: 12px 14px;
  background: #ffffff;
  color: #142344;
  border: 1px solid #8299bf;
  border-radius: 10px;
  font-size: 17px;
}
.ba-newsletter-popup__form .ff-btn-submit,
.ba-newsletter-popup__form button[type="submit"] {
  width: 100%;
  min-height: 54px;
  margin: 2px 0 0;
  background: #154fbf !important;
  color: #ffffff !important;
  border: 2px solid #154fbf !important;
  border-radius: 999px !important;
  box-shadow: 0 7px 0 #0c347f;
  font-size: 17px !important;
  font-weight: 800 !important;
  cursor: pointer;
}
.ba-newsletter-popup__form .ff-btn-submit:hover,
.ba-newsletter-popup__form button[type="submit"]:hover {
  background: #236d70 !important;
  border-color: #236d70 !important;
  box-shadow: 0 7px 0 #164f51;
}
.ba-newsletter-popup__fineprint {
  margin: 16px 0 0;
  color: #53627c;
  font-size: 14px;
  line-height: 1.45;
  text-align: center;
}
body.ba-popup-open { overflow: hidden; }
@media (max-width: 600px) {
  .ba-newsletter-popup { padding: 12px; }
  .ba-newsletter-popup__dialog { max-height: 94vh; padding: 34px 20px 24px; border-radius: 20px; }
  .ba-newsletter-popup__dialog::before { border-radius: 18px 18px 0 0; }
  .ba-newsletter-popup h2 { margin-right: 44px; font-size: 36px; }
  .ba-newsletter-popup__intro { font-size: 16px; }
  .ba-newsletter-popup__form { padding: 16px; }
  .ba-newsletter-popup__close { top: 12px; right: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .ba-newsletter-popup,
  .ba-newsletter-popup__dialog { transition: none; }
}

/* Keep the popup call to action visible on standard desktop and tablet screens. */
@media (min-width: 601px) {
  .ba-newsletter-popup__dialog {
    width: min(650px, 100%);
    padding: 36px 42px 30px;
  }
  .ba-newsletter-popup h2 { font-size: 46px; }
  .ba-newsletter-popup__intro { margin-bottom: 18px; font-size: 17px; }
  .ba-newsletter-popup__form { padding: 18px; }
  .ba-newsletter-popup__form fieldset {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    column-gap: 14px;
    row-gap: 14px;
  }
  .ba-newsletter-popup__form .ff-el-group { margin: 0; }
  .ba-newsletter-popup__form .ff_submit_btn_wrapper { grid-column: 1 / -1; }
  .ba-newsletter-popup__fineprint { margin-top: 12px; }
}
