:root {
  --asm-red: #bf0a30;
  --asm-navy: #002860;
  --asm-ink: #263449;
  --asm-muted: #f3f4f6;
  --asm-rule: #d8dde5;
  --asm-gradient: linear-gradient(90deg, var(--asm-red) 0%, var(--asm-navy) 100%);
  --asm-sidebar-content-gap: clamp(32px, 4vw, 56px);
}

/* Shared page system ----------------------------------------------------- */
body.elementor-page main#content,
body.elementor-page .elementor-location-single {
  overflow: clip;
}

body.elementor-page main#content .elementor-widget-text-editor,
body.elementor-page main#content .elementor-widget-tabs,
body.elementor-page main#content .elementor-widget-nested-tabs,
body.elementor-page main#content .elementor-widget-accordion,
body.elementor-page main#content .elementor-widget-nested-accordion,
body.elementor-page main#content .elementor-widget-shortcode,
body.elementor-page main#content .elementor-widget-form {
  font-family: "Raleway", Arial, sans-serif;
}

body.elementor-page main#content .elementor-widget-text-editor {
  color: var(--asm-ink);
  font-size: 16px;
  line-height: 1.7;
}

.asm-page-hero {
  position: relative;
  isolation: isolate;
  min-height: clamp(230px, 25vw, 390px);
  display: flex;
  align-items: center;
  overflow: hidden;
  background-position: center !important;
  background-size: cover !important;
}

.asm-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(0, 20, 50, .45), rgba(0, 20, 50, .12));
  pointer-events: none;
}

.asm-page-hero-title .elementor-heading-title,
.asm-page-hero .elementor-heading-title {
  color: #fff !important;
  font-family: "Raleway", Arial, sans-serif !important;
  font-size: clamp(36px, 4.3vw, 62px) !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  letter-spacing: -.02em;
  text-shadow: 0 3px 8px rgba(0, 0, 0, .72) !important;
}

.asm-page-hero .asm-page-hero-title {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  width: min(1180px, calc(100% - 40px)) !important;
  max-width: 1180px !important;
  margin-inline: auto !important;
  padding: 0 !important;
  text-align: left !important;
}

body.elementor-page .asm-page-hero .asm-page-hero-title > .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

.asm-content-shell {
  width: min(1180px, calc(100% - 40px)) !important;
  max-width: 1180px !important;
  margin-inline: auto !important;
  padding-block: 56px !important;
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: flex-start !important;
  gap: var(--asm-sidebar-content-gap) !important;
}

.asm-content-shell.e-con-boxed > .e-con-inner {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: flex-start !important;
  gap: var(--asm-sidebar-content-gap) !important;
}

.asm-sidebar-column {
  flex: 0 0 260px !important;
  width: 260px !important;
  max-width: 260px !important;
  min-width: 0 !important;
}

.asm-sidebar-column > .elementor-widget-shortcode,
.asm-sidebar-column > .elementor-widget-shortcode > .elementor-widget-container,
.asm-global-sidebar {
  width: 100% !important;
  max-width: 100% !important;
}

.asm-global-sidebar {
  align-items: stretch !important;
}

.asm-main-column {
  flex: 1 1 0 !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.asm-main-column > .e-con-inner,
.asm-sidebar-column > .e-con-inner,
.asm-width-reset,
.asm-width-reset > .e-con-inner {
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
}

.asm-main-column .elementor-element,
.asm-width-reset .elementor-element {
  max-width: 100%;
}

/* Section navigation ---------------------------------------------------- */
.asm-sidebar-nav .elementor-icon-list-item,
.asm-sidebar-nav .elementor-icon-list-item:first-child {
  border-bottom: 1px solid var(--asm-rule);
}

.asm-sidebar-nav .elementor-icon-list-item a,
.asm-sidebar-nav .elementor-icon-list-item:first-child a,
.asm-sidebar-nav .elementor-icon-list-item .elementor-icon-list-text,
.asm-sidebar-nav .elementor-icon-list-item:first-child .elementor-icon-list-text {
  color: var(--asm-navy) !important;
  font-family: "Raleway", Arial, sans-serif !important;
  font-weight: 650 !important;
}

.asm-sidebar-nav .elementor-icon-list-item:hover a,
.asm-sidebar-nav .elementor-icon-list-item:hover .elementor-icon-list-text,
.asm-sidebar-nav .elementor-icon-list-item.asm-current-page a,
.asm-sidebar-nav a.asm-current-page,
.asm-sidebar-nav .elementor-icon-list-item.asm-current-page .elementor-icon-list-text {
  color: var(--asm-red) !important;
}

.asm-sidebar-nav a:focus-visible {
  outline: 3px solid rgba(191, 10, 48, .35);
  outline-offset: 3px;
}

/* Native Elementor callouts replace legacy HTML/style blobs. */
.asm-native-callouts {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 18px !important;
  margin-block: 28px !important;
}

.asm-circle-callout {
  position: relative;
  isolation: isolate;
  width: 178px !important;
  height: 178px !important;
  min-height: 178px !important;
  flex: 0 0 178px !important;
  overflow: hidden;
  border-radius: 50%;
  background-position: center !important;
  background-size: cover !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center;
}

.asm-circle-callout::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: linear-gradient(0deg, rgba(0, 20, 52, .76), rgba(0, 20, 52, .08));
  transition: background .25s ease;
}

.asm-circle-callout:hover::before,
.asm-circle-callout:focus-within::before {
  background: linear-gradient(90deg, rgba(191, 10, 48, .88), rgba(0, 40, 96, .88));
}

.asm-circle-callout .elementor-heading-title,
.asm-circle-callout .elementor-button-text {
  color: #fff !important;
  font-family: "Raleway", Arial, sans-serif !important;
  font-weight: 800 !important;
  text-shadow: 0 2px 5px rgba(0, 0, 0, .7);
}

.asm-circle-callout .elementor-button {
  padding: 6px !important;
  background: transparent !important;
}

.asm-help-card,
.asm-governance-help-card {
  width: 100% !important;
  margin-top: 28px !important;
  padding: 28px 24px !important;
  border-radius: 5px;
  background: var(--asm-muted);
  text-align: center;
}

.asm-help-card .elementor-heading-title,
.asm-governance-help-card .elementor-heading-title {
  color: var(--asm-navy) !important;
  font-size: 23px !important;
  line-height: 1.25;
}

.asm-help-card .elementor-button,
.asm-governance-help-card .elementor-button {
  min-width: 145px;
  background: var(--asm-red) !important;
  color: #fff !important;
}

.asm-governance-help-card { display: none !important; }
body.page-id-32544 .asm-governance-help-card { display: flex !important; }

.asm-ib-callout {
  display: none !important;
  width: 100% !important;
  margin-top: 28px !important;
  padding: 32px 24px !important;
  border-radius: 5px;
  background: var(--asm-muted);
  align-items: center !important;
  gap: 14px !important;
  text-align: center;
}

body.page-id-33534 .asm-ib-callout {
  display: flex !important;
}

.asm-ib-callout img {
  display: block;
  width: min(100%, 250px) !important;
  height: auto !important;
}

.asm-ib-callout .elementor-heading-title {
  color: var(--asm-navy) !important;
  font-size: 20px !important;
  line-height: 1.35;
}

.asm-ib-callout .elementor-button {
  padding: 11px 16px !important;
  background: var(--asm-red) !important;
  color: #fff !important;
}

/* Tabs ------------------------------------------------------------------ */
.asm-brand-tabs .e-n-tabs-heading,
body.elementor-page .elementor-widget-tabs.asm-brand-tabs .elementor-tabs-wrapper {
  display: grid !important;
  grid-template-columns: repeat(var(--asm-tab-count, 4), minmax(0, 1fr));
  gap: 4px !important;
  overflow: visible !important;
}

.asm-brand-tabs .e-n-tab-title,
.asm-brand-tabs .elementor-tab-title {
  min-width: 0 !important;
  min-height: 54px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 12px 14px !important;
  border: 0 !important;
  border-radius: 5px 5px 0 0 !important;
  background: var(--asm-navy) !important;
  color: #fff !important;
  font-family: "Raleway", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  line-height: 1.25 !important;
  text-align: center;
  white-space: normal !important;
}

.asm-brand-tabs .e-n-tab-title[aria-selected="true"],
.asm-brand-tabs .elementor-tab-title.elementor-active,
.asm-brand-tabs .elementor-tab-mobile-title.elementor-active {
  background: var(--asm-gradient) !important;
  color: #fff !important;
}

.asm-brand-tabs .e-n-tabs-content,
.asm-brand-tabs .elementor-tabs-content-wrapper,
.asm-brand-tabs .elementor-tab-content {
  border: 0 !important;
  background: #f8f9fb !important;
  color: var(--asm-ink) !important;
}

.asm-brand-tabs .elementor-tab-content,
.asm-brand-tabs .e-n-tabs-content > .e-con {
  padding: 28px !important;
}

/* Accordions ------------------------------------------------------------ */
.asm-brand-accordion .e-n-accordion-item,
.asm-faq-accordion .e-n-accordion-item,
.asm-course-accordion .e-n-accordion-item {
  margin-bottom: 8px;
  border: 0 !important;
}

.asm-brand-accordion .e-n-accordion-item-title,
.asm-faq-accordion .e-n-accordion-item-title,
.asm-course-accordion .e-n-accordion-item-title {
  min-height: 58px;
  padding: 16px 20px !important;
  border: 0 !important;
  border-radius: 4px;
  background: var(--asm-muted) !important;
  color: var(--asm-ink) !important;
  font-family: "Raleway", Arial, sans-serif !important;
  font-weight: 750 !important;
  line-height: 1.35;
}

.asm-brand-accordion .e-n-accordion-item-title-icon,
.asm-faq-accordion .e-n-accordion-item-title-icon {
  color: var(--asm-red) !important;
}

.asm-faq-accordion .e-n-accordion-item-title-icon svg,
.asm-faq-accordion .e-n-accordion-item-title-icon svg *,
.asm-faq-accordion .e-n-accordion-item-title-icon i,
.asm-faq-accordion .e-n-accordion-item-title-icon span {
  color: var(--asm-red) !important;
  fill: var(--asm-red) !important;
  stroke: var(--asm-red) !important;
}

.asm-brand-accordion details[open] > .e-n-accordion-item-title,
.asm-brand-accordion .e-n-accordion-item[open] > .e-n-accordion-item-title,
.asm-course-accordion .e-n-accordion-item-title {
  background: var(--asm-gradient) !important;
  color: #fff !important;
}

.asm-brand-accordion details[open] > .e-n-accordion-item-title .e-n-accordion-item-title-icon,
.asm-brand-accordion .e-n-accordion-item[open] > .e-n-accordion-item-title .e-n-accordion-item-title-icon,
.asm-course-accordion .e-n-accordion-item-title-icon {
  color: #fff !important;
}

.asm-brand-accordion .e-n-accordion-item > .e-con,
.asm-faq-accordion .e-n-accordion-item > .e-con,
.asm-course-accordion .e-n-accordion-item > .e-con {
  padding: 22px !important;
  background: #fff !important;
  color: var(--asm-ink) !important;
}

.asm-faq-columns {
  width: min(1180px, calc(100% - 40px)) !important;
  margin: 56px auto !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start !important;
  gap: 26px !important;
}

.asm-faq-columns > .e-con { width: 100% !important; }

/* Admissions/Learning page repairs ------------------------------------- */
.asm-profile-row,
.asm-ib-contact-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start !important;
  gap: 34px !important;
  width: 100% !important;
}

.asm-profile-row > .e-con,
.asm-ib-contact-row > .e-con {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

.asm-profile-row > .e-con-inner,
.asm-ib-contact-row > .e-con-inner {
  width: 100% !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start !important;
  gap: 34px !important;
}

.asm-profile-row.e-con-boxed,
.asm-ib-contact-row.e-con-boxed {
  display: block !important;
}

.asm-profile-row > .e-con-inner > .e-con,
.asm-ib-contact-row > .e-con-inner > .e-con {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

.asm-profile-row img,
.asm-ib-contact-row img {
  width: 100%;
  height: auto;
}

.asm-readable-copy {
  border-left: 2px solid var(--asm-rule);
  padding-left: clamp(20px, 3vw, 34px) !important;
}

.asm-alternating-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(30px, 5vw, 64px) !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 !important;
  padding-block: 34px !important;
  border-bottom: 1px solid var(--asm-rule);
}

.asm-alternating-row > .e-con {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

.asm-alternating-row img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 4px;
}

.asm-large-carousel {
  width: 100% !important;
}

.asm-large-carousel .swiper,
.asm-large-carousel .swiper-slide,
.asm-large-carousel .swiper-slide-inner {
  width: 100% !important;
}

.asm-large-carousel .swiper-slide-image {
  width: 100% !important;
  height: clamp(320px, 45vw, 600px) !important;
  object-fit: cover;
  border-radius: 5px;
}

.asm-large-carousel .elementor-swiper-button {
  width: 44px;
  height: 44px;
  display: grid !important;
  place-items: center;
  border-radius: 50%;
  background: rgba(0, 40, 96, .78);
  color: #fff !important;
}

.asm-course-guide-title .elementor-heading-title {
  margin: 12px 0 18px;
  color: var(--asm-red) !important;
  font-family: "Raleway", Arial, sans-serif !important;
  font-size: clamp(25px, 3vw, 34px) !important;
  font-weight: 750 !important;
}

/* IB feature and responsive tables ------------------------------------- */
.asm-ib-feature {
  display: grid !important;
  grid-template-columns: minmax(220px, .75fr) minmax(0, 1.65fr);
  gap: clamp(26px, 4vw, 50px) !important;
  align-items: stretch !important;
  width: 100% !important;
  margin-block: 16px 42px !important;
}

.asm-ib-feature-card {
  width: 100% !important;
  padding: 32px 26px !important;
  border-radius: 5px;
  background: var(--asm-muted);
  align-items: center !important;
  justify-content: center !important;
  text-align: center;
}

.asm-ib-feature-card img {
  width: min(100%, 300px) !important;
  height: auto !important;
}

.asm-ib-feature-card .elementor-button {
  background: var(--asm-red) !important;
  color: #fff !important;
}

.asm-ib-feature-copy {
  width: 100% !important;
  justify-content: center !important;
}

.asm-ib-table .elementor-widget-container {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

.asm-ib-table table {
  width: 100% !important;
  min-width: 620px;
  margin: 0 !important;
  border-collapse: collapse !important;
}

.asm-ib-table caption {
  caption-side: top;
  padding: 14px;
  border: 1px solid #c9ced6;
  border-bottom: 0;
  background: #fff;
  color: var(--asm-navy);
  font-size: 20px;
  font-weight: 750;
  text-align: center;
}

.asm-ib-table th,
.asm-ib-table td {
  padding: 14px !important;
  border: 1px solid #c9ced6 !important;
  color: var(--asm-ink) !important;
  vertical-align: middle !important;
}

.asm-ib-table th {
  color: var(--asm-red) !important;
  text-transform: uppercase;
}

.asm-ib-table tbody td:nth-child(2),
.asm-ib-table .asm-ib-core {
  background: var(--asm-muted);
}

.asm-ib-table tfoot td {
  border: 0 !important;
  padding-top: 10px !important;
  font-size: 13px;
  font-style: italic;
}

body.page-id-33534 .elementor-element.elementor-element-5ff325e {
  font-size: 16px !important;
  line-height: 1.7 !important;
}

body.page-id-33534 .elementor-element.elementor-element-5ff325e h4 {
  margin: 24px 0 10px;
  color: var(--asm-navy);
  font-size: 24px !important;
  line-height: 1.3 !important;
}

body.page-id-33534 .elementor-element.elementor-element-5ff325e h6 {
  margin: 0 0 16px;
  color: var(--asm-ink);
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
}

/* Contact and donation forms ------------------------------------------- */
.asm-contact-form,
.asm-contact-form .elementor-widget-container,
.asm-contact-form form {
  width: 100% !important;
  max-width: 100% !important;
}

.asm-contact-form .elementor-field-group {
  position: relative;
}

.asm-contact-form .elementor-field-group::after {
  content: "" !important;
  position: absolute;
  right: 15px;
  top: 50%;
  width: 18px;
  height: 18px;
  transform: translateY(-50%);
  background-color: var(--asm-red);
  -webkit-mask: var(--asm-field-icon) center / contain no-repeat;
  mask: var(--asm-field-icon) center / contain no-repeat;
  pointer-events: none;
}

.asm-contact-form .elementor-field-group-name {
  --asm-field-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10Zm0 2c-5 0-9 2.5-9 5.5V22h18v-2.5C21 16.5 17 14 12 14Z'/%3E%3C/svg%3E");
}

.asm-contact-form .elementor-field-group-email {
  --asm-field-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 4h20v16H2V4Zm2 3v11h16V7l-8 6L4 7Zm1-1 7 5 7-5H5Z'/%3E%3C/svg%3E");
}

.asm-contact-form .elementor-field-group-field_4d01065 {
  --asm-field-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 3h18v14H8l-5 4V3Zm2 2v12l2-2h12V5H5Zm3 3h8v2H8V8Zm0 4h6v2H8v-2Z'/%3E%3C/svg%3E");
}

.asm-contact-form .elementor-field-group-field_9f8a368 {
  --asm-field-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6.6 10.8 2.2-2.2-3-4L2.4 8c1.2 7.2 6.4 12.4 13.6 13.6l3.4-3.4-4-3-2.2 2.2c-3.1-1.1-5.5-3.5-6.6-6.6Z'/%3E%3C/svg%3E");
}

.asm-contact-form .elementor-field-type-textarea::after,
.asm-contact-form .elementor-field-group:not(.elementor-field-group-name):not(.elementor-field-group-email):not(.elementor-field-group-field_4d01065):not(.elementor-field-group-field_9f8a368)::after {
  display: none !important;
}

.DonationForm .wpcf7-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 22px;
}

body.elementor-page .elementor-widget-shortcode.DonationForm,
body.elementor-page .elementor-widget-shortcode.DonationForm > .elementor-widget-container,
body.elementor-page .elementor-widget-shortcode.DonationForm .wpcf7 {
  width: 100% !important;
  max-width: 100% !important;
}

body.elementor-page .elementor-widget-shortcode.DonationForm {
  --container-widget-width: 100% !important;
  --container-widget-flex-grow: 1 !important;
  align-self: stretch !important;
}

.DonationForm .wpcf7-form p { margin: 0; }
.DonationForm .wpcf7-form p:last-of-type { grid-column: 1 / -1; }
.DonationForm input:not([type="submit"]),
.DonationForm textarea,
.DonationForm select {
  width: 100%;
  border: 1px solid #c9ced6;
  border-radius: 4px;
  padding: 12px 14px;
}

.DonationForm input[type="submit"] {
  border: 0;
  border-radius: 4px;
  padding: 12px 24px;
  background: var(--asm-red);
  color: #fff;
  font-weight: 700;
}

/* Homepage slider: contain every slide inside one fixed stage. */
.home rs-module-wrap,
.home rs-module,
.home rs-slides,
.home rs-slide {
  overflow: hidden !important;
}

.home rs-module iframe,
.home rs-module video,
.home rs-module .rs-layer-video,
.home rs-module .rs-background-video-layer {
  max-width: none !important;
}

/* Targeted spacing repairs --------------------------------------------- */
body.page-id-33712 .asm-main-column,
body.page-id-33791 .asm-main-column,
body.page-id-34743 .asm-main-column {
  padding-top: 0 !important;
}

body.page-id-33712 .custom-underline,
body.page-id-33791 .custom-underline,
body.page-id-34743 .custom-underline {
  margin-top: 0 !important;
}

.asm-remove-spacer { display: none !important; }

.asm-two-column-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center !important;
  gap: clamp(24px, 4vw, 48px) !important;
  width: 100% !important;
  margin: 0 !important;
}

.asm-two-column-row > .e-con {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

body.page-id-32255 .page-header,
body.page-id-32255 h1.entry-title { display: none !important; }

/* Sports cards and schedule -------------------------------------------- */
body.page-id-33712 .elementor-element.elementor-element-ccbd2de > .e-con .elementor-heading-title,
body.page-id-33712 .elementor-element.elementor-element-ccbd2de > .e-con .elementor-widget-text-editor,
body.page-id-33712 .elementor-element.elementor-element-ccbd2de > .e-con .elementor-widget-text-editor p,
body.page-id-33712 .elementor-element.elementor-element-ccbd2de > .e-con .elementor-widget-text-editor li {
  color: #fff !important;
  text-shadow: 0 2px 5px rgba(0, 0, 0, .78);
}

body.page-id-33712 .elementor-element.elementor-element-9161197 .table-container {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

body.page-id-33712 .elementor-element.elementor-element-9161197 .sports-table {
  width: 100%;
  min-width: 680px;
}

@media (max-width: 767px) {
  .asm-page-hero {
    min-height: 210px;
    padding-inline: 0 !important;
  }

  .asm-page-hero-title .elementor-heading-title,
  .asm-page-hero .elementor-heading-title {
    font-size: clamp(34px, 11vw, 46px) !important;
    overflow-wrap: anywhere;
  }

  .asm-page-hero .asm-page-hero-title {
    width: calc(100% - 30px) !important;
    max-width: 680px !important;
    margin-inline: auto !important;
    padding: 0 !important;
  }

  .asm-content-shell {
    width: min(100% - 30px, 680px) !important;
    padding-block: 34px !important;
    flex-direction: column !important;
    gap: 34px !important;
  }

  .asm-content-shell.e-con-boxed > .e-con-inner {
    flex-direction: column !important;
    gap: 34px !important;
  }

  .asm-sidebar-column,
  .asm-main-column {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .asm-sidebar-column .asm-native-callouts {
    display: none !important;
  }

  .asm-sidebar-column .asm-help-card {
    display: none !important;
  }

  .asm-brand-tabs .e-n-tabs-heading,
  body.elementor-page .elementor-widget-tabs.asm-brand-tabs .elementor-tabs-wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.elementor-page .elementor-widget-tabs.asm-brand-tabs .elementor-tabs-wrapper {
    display: none !important;
  }

  .asm-brand-tabs .elementor-tab-mobile-title {
    display: flex !important;
    width: 100% !important;
    margin-top: 4px;
    border: 0 !important;
    border-radius: 4px !important;
    padding: 14px 16px !important;
    background: var(--asm-navy) !important;
    color: #fff !important;
    font-weight: 750 !important;
    white-space: normal !important;
  }

  .asm-faq-columns,
  .asm-profile-row,
  .asm-ib-contact-row,
  .asm-profile-row > .e-con-inner,
  .asm-ib-contact-row > .e-con-inner,
  .asm-alternating-row,
  .asm-ib-feature,
  .asm-two-column-row {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .asm-faq-columns {
    width: calc(100% - 30px) !important;
    margin-block: 34px !important;
    gap: 8px !important;
  }

  .asm-alternating-row {
    padding-block: 24px !important;
    gap: 22px !important;
  }

  .asm-large-carousel .swiper-slide-image {
    height: clamp(260px, 85vw, 430px) !important;
  }

  .asm-ib-table {
    position: relative;
    padding-bottom: 8px;
  }

  .asm-ib-table::after {
    content: "Swipe to view the full table \2192";
    display: block;
    margin-top: 8px;
    color: #5b6472;
    font-size: 12px;
    font-style: italic;
  }

  .DonationForm .wpcf7-form { grid-template-columns: 1fr; }
  .DonationForm .wpcf7-form p:last-of-type { grid-column: auto; }

  body.page-id-33712 .elementor-element.elementor-element-9161197::after {
    content: "Swipe to view the full schedule \2192";
    display: block;
    margin-top: 8px;
    color: #5b6472;
    font-size: 12px;
    font-style: italic;
  }
}

@media (prefers-reduced-motion: reduce) {
  .asm-circle-callout::before { transition: none; }
}
