/* Homepage section layout — replaces Breakdance post-14/151 CDN CSS */



.page-csth-home {

  font-family: "PT Sans", "Segoe UI", sans-serif;

  color: var(--bde-body-text-color);

}



/* Section shell */

.breakdance .bde-section {

  position: relative;

  overflow: hidden;

}



.breakdance .section-container {

  position: relative;

  z-index: 2;

  width: min(var(--bde-section-width, 100%), 100%);

  margin: 0 auto;

  display: flex;

  flex-direction: column;

}



.breakdance .section-background-overlay {

  position: absolute;

  inset: 0;

  z-index: 1;

  pointer-events: none;

}



/* Columns — nowrap + explicit widths (matches Breakdance) */

.breakdance .bde-columns {

  display: flex;

  flex-direction: row;

  flex-wrap: nowrap;

  align-items: stretch;

  width: 100%;

  gap: var(--bde-column-gap, 32px);

}



.breakdance .bde-column {

  position: relative;

  display: flex;

  flex-direction: column;

  flex: 0 0 var(--column-width, calc((100% - (var(--columnCount, 1) - 1) * var(--bde-column-gap, 32px)) / var(--columnCount, 1)));

  width: var(--column-width, calc((100% - (var(--columnCount, 1) - 1) * var(--bde-column-gap, 32px)) / var(--columnCount, 1)));

  max-width: var(--column-width, calc((100% - (var(--columnCount, 1) - 1) * var(--bde-column-gap, 32px)) / var(--columnCount, 1)));

  min-width: 0;

}



.breakdance .bde-column > .section-background-overlay {

  position: absolute;

  inset: 0;

  z-index: 0;

}



.breakdance .bde-column > *:not(.section-background-overlay) {

  position: relative;

  z-index: 1;

}



/* Div blocks with background overlays (sections only — not header) */

.page-csth-home .bde-section .bde-div {

  position: relative;

}



.page-csth-home .bde-section .bde-div > .section-background-overlay {

  position: absolute;

  inset: 0;

  z-index: 0;

}



.page-csth-home .bde-section .bde-div > *:not(.section-background-overlay) {

  position: relative;

  z-index: 1;

}



/* Typography */

.breakdance .bde-heading {

  margin: 0;

  font-family: "Oswald", "Maven Pro", sans-serif;

  font-weight: 600;

  line-height: 1.15;

}



.breakdance h1.bde-heading {

  font-size: clamp(2.25rem, 5vw, 3.5rem);

}



.breakdance h2.bde-heading {

  font-size: clamp(1.75rem, 4vw, 2.75rem);

}



.breakdance h3.bde-heading,

.breakdance .bde-h3 {

  font-size: clamp(1.25rem, 2.5vw, 1.5rem);

}



.breakdance h4.bde-heading {

  font-size: clamp(1rem, 2vw, 1.25rem);

  font-weight: 500;

  letter-spacing: 0.08em;

  text-transform: uppercase;

}



.breakdance .bde-text {

  margin: 0;

  font-size: 1rem;

  line-height: 1.65;

}



.breakdance .bde-rich-text p {

  margin: 0 0 0.5rem;

}



/* Dual heading */

.breakdance .bde-dual-heading {

  display: flex;

  flex-direction: column;

  margin: 0 0 1rem;

  font-family: "Bebas Neue", "Oswald", sans-serif;

  font-weight: 400;

  line-height: 0.95;

  letter-spacing: 0.02em;

}



.breakdance .bde-dual-heading .dual-heading--primary,

.breakdance .bde-dual-heading .dual-heading--secondary {

  display: block;

  font-size: clamp(2.5rem, 6vw, 4.5rem);

}



/* Icon atom */

.breakdance .breakdance-icon-atom {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  line-height: 1;

}



.breakdance .breakdance-icon-atom svg {

  width: 1em;

  height: 1em;

  fill: currentColor;

}



/* Icon boxes */

.breakdance .bde-icon-box {

  display: flex;

  flex-direction: column;

  padding: 1.5rem;

  height: 100%;

}



.breakdance .bde-icon-box .ee-iconbox-icon {

  flex-shrink: 0;

}



.breakdance .bde-icon-box .ee-iconbox-content {

  display: flex;

  flex-direction: column;

  align-items: inherit;

  flex: 1;

  gap: 0.5rem;

}



.breakdance .bde-icon-box .ee-iconbox-title {

  margin: 0;

  font-family: "Oswald", "Maven Pro", sans-serif;

  font-weight: 600;

  line-height: 1.2;

}



.breakdance .bde-icon-box .ee-iconbox-text {

  font-size: 0.95rem;

  line-height: 1.6;

}



.breakdance .bde-icon-box .ee-iconbox-button {

  margin-top: auto;

  align-self: flex-start;

}



/* Image accordion */

.breakdance .bde-image-accordion {

  display: flex;

  flex-direction: row;

  width: 100%;

  overflow: hidden;

}



.breakdance .bde-image-accordion .ee-image-accordion-item {

  position: relative;

  display: flex;

  flex-direction: column;

  align-items: center;

  justify-content: center;

  flex: 1 1 0;

  min-width: 0;

  min-height: 120px;

  overflow: hidden;

  transition: flex-basis var(--eeiaTransitionDuration, 500ms) ease;

}



.breakdance .bde-image-accordion .ee-image-accordion-item::after {

  content: "";

  position: absolute;

  inset: 0;

  z-index: 1;

  pointer-events: none;

  transition: opacity var(--eeiaTransitionDuration, 500ms) ease;

}



.breakdance .bde-image-accordion .ee-image-accordion-item img {

  position: absolute;

  inset: 0;

  z-index: 0;

  width: 100%;

  height: 100%;

  object-fit: cover;

}



.breakdance .bde-image-accordion .ee-image-accordion-link {

  position: absolute;

  inset: 0;

  z-index: 4;

}



.breakdance .bde-image-accordion .ee-image-accordion-content-item {

  position: relative;

  z-index: 2;

  display: block;

  color: #fff;

  pointer-events: none;

}



.breakdance .bde-image-accordion .ee-image-accordion-icon {

  margin-bottom: 0.5rem;

}



.breakdance .bde-image-accordion .ee-image-accordion-icon svg {

  width: 1em;

  height: 1em;

  fill: currentColor;

}



/* Buttons */

.breakdance .bde-button {

  display: inline-flex;

}



.breakdance .button-atom {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 0.35rem;

  padding: 0.75rem 1.5rem;

  border: 2px solid transparent;

  border-radius: 6px;

  font-family: "Oswald", "Maven Pro", sans-serif;

  font-size: 0.9rem;

  font-weight: 500;

  letter-spacing: 0.06em;

  text-transform: uppercase;

  text-decoration: none;

  cursor: pointer;

  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;

}



.breakdance .button-atom--primary {

  background: var(--bde-button-primary-background-color, var(--csth-header-accent));

  color: var(--bde-button-primary-text-color, #fff);

  border-color: var(--bde-button-primary-border-color, transparent);

}



.breakdance .button-atom--primary:hover {

  background: var(--bde-button-primary-background-color-hover, #183d78);

  color: var(--bde-button-primary-text-color-hover, #fff);

  border-color: var(--bde-button-primary-border-color-hover, transparent);

}



.breakdance .button-atom--secondary {

  background: transparent;

  color: #fff;

  border-color: rgba(255, 255, 255, 0.7);

}



.breakdance .button-atom--secondary:hover {

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

}



.breakdance .button-atom--custom {

  background: var(--bde-button-custom-background-color, var(--csth-header-accent));

  color: var(--bde-button-custom-text-color, #fff);

  border-color: var(--bde-button-custom-border-color, transparent);

}



.breakdance .button-atom--custom:hover {

  background: var(--bde-button-custom-background-color-hover, #183d78);

  color: var(--bde-button-custom-text-color-hover, #fff);

  border-color: var(--bde-button-custom-border-color-hover, transparent);

}



.breakdance .button-atom--text {

  padding: 0;

  background: transparent;

  border: none;

  border-radius: 0;

  text-transform: none;

  letter-spacing: normal;

  font-size: inherit;

  color: var(--bde-links-color);

}



.breakdance .button-atom--text:hover {

  color: var(--bde-headings-color);

}



.breakdance .button-atom__icon-wrapper {

  display: inline-flex;

  align-items: center;

}



/* Hero helpers */

.breakdance .bde-div-14-105 {

  display: flex;

  flex-wrap: wrap;

  gap: 20px;

}



/* Images */

.breakdance .breakdance-image-object {

  width: 100%;

  height: auto;

  object-fit: cover;

}



/* Form field sizing (form.css provides structure) */

.breakdance .breakdance-form-field__input {

  width: 100%;

  font-size: 1rem;

  line-height: 1.4;

}



/* Stack columns on tablet/mobile (matches post-14 breakpoints) */

@media (max-width: 1023px) {

  .breakdance .bde-columns.bde-columns--stack-tablet,

  .breakdance .bde-columns-14-181.bde-columns,

  .breakdance .bde-columns-14-109.bde-columns,

  .breakdance .bde-columns-14-142.bde-columns,

  .breakdance .bde-columns-14-135.bde-columns,

  .breakdance .bde-columns-14-222.bde-columns {

    flex-direction: column;

    flex-wrap: nowrap;

  }



  .breakdance .bde-columns-14-181.bde-columns > .bde-column,

  .breakdance .bde-columns-14-109.bde-columns > .bde-column,

  .breakdance .bde-columns-14-142.bde-columns > .bde-column,

  .breakdance .bde-columns-14-135.bde-columns > .bde-column,

  .breakdance .bde-columns-14-222.bde-columns > .bde-column {

    flex: 1 1 auto;

    width: 100%;

    max-width: 100%;

  }

}



@media (max-width: 767px) {

  .breakdance .bde-image-accordion {

    flex-direction: column;

  }



  .breakdance .bde-image-accordion .ee-image-accordion-item {

    flex: 0 0 auto;

    min-height: 140px;

  }

}


