:root {
  --cms-content-max-width: 1280px;
  --cms-section-space: 80px;
  --cms-body-size: 16px;
  --cms-body-line: 1.65;
  --cms-heading-weight: 700;
}
html { font-size: var(--cms-body-size); }
body { line-height: var(--cms-body-line); }
h1, h2, h3, h4, h5, h6 { font-family: var(--cms-heading-font, inherit); font-weight: var(--cms-heading-weight); }
body, button, input, textarea, select { font-family: var(--cms-body-font, inherit); }
.cms-section { padding: var(--cms-section-space) 1.25rem; position: relative; min-width: 0; overflow: hidden; }
.cms-section__inner { width: min(100%, var(--cms-content-max-width)); min-width: 0; margin: 0 auto; }
.cms-section__title { font-size: clamp(1.8rem, 4vw, 2.75rem); line-height: 1.15; margin: 0 0 1rem; color: var(--theme-heading-color, #0f172a); }
.cms-section__subtitle { font-size: 1.1rem; color: #64748b; margin: -.25rem 0 1.5rem; }
.cms-section__body { color: #334155; max-width: 72ch; }
.cms-section__body > * + * { margin-top: 1em; }
.cms-section--centered { text-align: center; }
.cms-section--centered .cms-section__body { margin-inline: auto; }
.cms-section--full_width { padding-inline: 0; }
.cms-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.cms-split--right .cms-split__media { order: -1; }
.cms-split__media img, .cms-image img { width: 100%; height: auto; max-height: 620px; object-fit: cover; border-radius: 1rem; }
.cms-carousel { position: relative; }
.cms-carousel__viewport { overflow: hidden; }
.cms-carousel__track { display: flex; transition: transform .45s ease; }
.cms-carousel__slide { min-width: 100%; padding: .25rem; }
.cms-carousel__card { height: 100%; background: #fff; border: 1px solid #e2e8f0; border-radius: 1rem; overflow: hidden; box-shadow: 0 10px 30px rgba(15,23,42,.08); }
.cms-carousel__card img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.cms-carousel__content { padding: 1.5rem; }
.cms-carousel__content h3 { font-size: 1.35rem; margin: 0 0 .75rem; }
.cms-carousel__content a { display: inline-flex; margin-top: 1rem; color: var(--theme-primary, #d97706); font-weight: 700; }
.cms-carousel__controls { display: flex; justify-content: center; align-items: center; gap: .75rem; margin-top: 1.25rem; }
.cms-carousel__button { width: 2.75rem; height: 2.75rem; border: 0; border-radius: 999px; background: var(--theme-primary, #d97706); color: #fff; cursor: pointer; }
.cms-carousel__dots { display: flex; gap: .4rem; }
.cms-carousel__dot { width: .65rem; height: .65rem; padding: 0; border: 0; border-radius: 50%; background: #cbd5e1; cursor: pointer; }
.cms-carousel__dot[aria-current="true"] { background: var(--theme-primary, #d97706); }
.cms-cta { padding: clamp(2rem, 6vw, 4rem); border-radius: 1.25rem; background: var(--theme-header-bg, #0f172a); color: #fff; }
.cms-cta .cms-section__title, .cms-cta .cms-section__body { color: inherit; }
.cms-cta__link { display: inline-flex; margin-top: 1.25rem; padding: .8rem 1.25rem; border-radius: .65rem; background: var(--theme-primary, #d97706); color: #fff; font-weight: 700; }
@media (min-width: 900px) { .cms-carousel[data-visible="2"] .cms-carousel__slide { min-width: 50%; } .cms-carousel[data-visible="3"] .cms-carousel__slide { min-width: 33.333%; } }
@media (max-width: 767px) {
  :root { --cms-section-space: 48px; --cms-body-size: 15px; }
  .cms-section { padding-inline: 1rem; }
  .cms-section__title { font-size: clamp(1.65rem, 8vw, 2.25rem); overflow-wrap: anywhere; }
  .cms-section__subtitle, .cms-section__body { max-width: 100%; overflow-wrap: anywhere; }
  .cms-split { grid-template-columns: 1fr; gap: 1.5rem; }
  .cms-split--right .cms-split__media { order: initial; }
  .cms-carousel__content { padding: 1rem; }
  .cms-carousel__button { width: 2.75rem; height: 2.75rem; }
  .cms-cta { padding: clamp(1.4rem, 7vw, 2.25rem); }
  .cms-cta__link { width: 100%; min-height: 44px; align-items: center; justify-content: center; text-align: center; }
  .cms-native-button-group { width: 100%; gap: .75rem !important; }
  .cms-native-button-group .cms-native-flow-item { max-width: 100%; }
  .cms-native-button-group a, .cms-native-button-group button { min-height: 44px; max-width: 100%; white-space: normal; text-align: center; }
}
