/* All front-end rules are isolated from the active WordPress theme. */
.skcl-layout,
.skcl-layout * {
  box-sizing: border-box !important;
}

.skcl-layout {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  font-family: var(--skcl-font) !important;
  line-height: 1.6 !important;
  color: var(--skcl-section-text) !important;
}

.skcl-layout .skcl-container {
  width: min(calc(100% - 32px), var(--skcl-container)) !important;
  max-width: var(--skcl-container) !important;
  margin: 0 auto !important;
}

/* HERO */
.skcl-layout .skcl-hero {
  width: 100% !important;
  margin: 0 !important;
  padding: clamp(46px, 7vw, 88px) 0 !important;
  background: var(--skcl-hero-bg) !important;
  color: var(--skcl-hero-text) !important;
}

.skcl-layout .skcl-hero-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

/* Strong reset for theme-wide h1 rules. */
.skcl-layout h1.skcl-hero-title {
  display: block !important;
  width: auto !important;
  max-width: 920px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 auto 16px !important;
  padding: var(--skcl-hero-title-padding) !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: var(--skcl-hero-title-bg) !important;
  background-color: var(--skcl-hero-title-bg) !important;
  background-image: none !important;
  color: var(--skcl-hero-title-color) !important;
  font-family: var(--skcl-font) !important;
  font-size: clamp(31px, 5vw, 56px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.12 !important;
  text-align: center !important;
  text-transform: none !important;
  text-shadow: none !important;
  transform: none !important;
}

.skcl-layout h1.skcl-hero-title::before,
.skcl-layout h1.skcl-hero-title::after {
  content: none !important;
  display: none !important;
}

.skcl-layout .skcl-hero-description {
  width: 100% !important;
  max-width: 800px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  color: var(--skcl-hero-text) !important;
  font-family: var(--skcl-font) !important;
  font-size: clamp(17px, 2vw, 21px) !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  text-align: center !important;
}

.skcl-layout .skcl-hero-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  gap: 14px !important;
  margin: 30px auto 0 !important;
  padding: 0 !important;
}

.skcl-layout .skcl-button,
.skcl-layout a.skcl-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 13px 22px !important;
  border: 2px solid var(--skcl-button-bg) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  font-family: var(--skcl-font) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: transform .18s ease, opacity .18s ease !important;
}

.skcl-layout .skcl-button:hover,
.skcl-layout .skcl-button:focus {
  transform: translateY(-2px) !important;
  opacity: .92 !important;
}

.skcl-layout .skcl-button-primary {
  background: var(--skcl-button-bg) !important;
  color: var(--skcl-button-text) !important;
}

.skcl-layout .skcl-button-secondary {
  background: transparent !important;
  color: var(--skcl-hero-text) !important;
  border-color: var(--skcl-hero-text) !important;
}


/* MEDIA DIRECTLY AFTER HERO */
.skcl-layout .skcl-after-hero-media {
  width: 100% !important;
  margin: 0 !important;
  padding: clamp(22px, 4vw, 42px) 0 0 !important;
  background: var(--skcl-section-bg) !important;
}

.skcl-layout .skcl-after-hero-media figure {
  margin: 0 auto !important;
  padding: 0 !important;
}

.skcl-layout .skcl-after-hero-media img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: 540px !important;
  object-fit: cover !important;
  margin: 0 auto !important;
  border-radius: 10px !important;
}

.skcl-layout .skcl-after-hero-media figcaption {
  margin: 10px 0 0 !important;
  color: var(--skcl-section-text) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  text-align: center !important;
}

/* CONTENT — every paragraph, list and heading gets a separate vertical section. */
.skcl-layout .skcl-section {
  width: 100% !important;
  margin: 0 !important;
  padding: clamp(38px, 6vw, 72px) 0 !important;
  background: var(--skcl-section-bg) !important;
}

.skcl-layout .skcl-content-stack {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}

.skcl-layout .skcl-content-card,
.skcl-layout .skcl-contact-card {
  width: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.skcl-layout .skcl-content-card--heading {
  padding: 0 !important;
  background: transparent !important;
}

.skcl-layout .skcl-content-card-heading {
  width: 100% !important;
  margin: 0 !important;
  padding: var(--skcl-card-padding) !important;
  background: var(--skcl-card-bg) !important;
  color: var(--skcl-card-text) !important;
}

.skcl-layout .skcl-content-card-heading h1,
.skcl-layout .skcl-content-card-heading h2,
.skcl-layout .skcl-content-card-heading h3,
.skcl-layout .skcl-content-card-heading h4,
.skcl-layout .skcl-content-card-heading h5,
.skcl-layout .skcl-content-card-heading h6 {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  background-image: none !important;
  color: var(--skcl-card-text) !important;
  font-family: var(--skcl-font) !important;
  font-size: clamp(24px, 3.2vw, 37px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.015em !important;
  line-height: 1.22 !important;
  text-align: left !important;
  text-transform: none !important;
  text-shadow: none !important;
}

.skcl-layout .skcl-content-card-heading h1::before,
.skcl-layout .skcl-content-card-heading h1::after,
.skcl-layout .skcl-content-card-heading h2::before,
.skcl-layout .skcl-content-card-heading h2::after,
.skcl-layout .skcl-content-card-heading h3::before,
.skcl-layout .skcl-content-card-heading h3::after,
.skcl-layout .skcl-content-card-heading h4::before,
.skcl-layout .skcl-content-card-heading h4::after,
.skcl-layout .skcl-content-card-heading h5::before,
.skcl-layout .skcl-content-card-heading h5::after,
.skcl-layout .skcl-content-card-heading h6::before,
.skcl-layout .skcl-content-card-heading h6::after {
  content: none !important;
  display: none !important;
}

.skcl-layout .skcl-content-card--text {
  padding: var(--skcl-card-padding) !important;
  background: var(--skcl-card-bg) !important;
  color: var(--skcl-card-text) !important;
}

.skcl-layout .skcl-content-card-body,
.skcl-layout .skcl-content-card-body * {
  color: var(--skcl-card-text) !important;
  font-family: var(--skcl-font) !important;
}

.skcl-layout .skcl-content-card-body p,
.skcl-layout .skcl-content-card-body li,
.skcl-layout .skcl-content-card-body td,
.skcl-layout .skcl-content-card-body th,
.skcl-layout .skcl-content-card-body blockquote {
  font-size: 17px !important;
  line-height: 1.75 !important;
}

/* Also neutralize old headings nested inside pasted HTML sections. */
.skcl-layout .skcl-content-card-body h1,
.skcl-layout .skcl-content-card-body h2,
.skcl-layout .skcl-content-card-body h3,
.skcl-layout .skcl-content-card-body h4,
.skcl-layout .skcl-content-card-body h5,
.skcl-layout .skcl-content-card-body h6 {
  display: block !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  background-image: none !important;
  color: var(--skcl-card-text) !important;
  font-family: var(--skcl-font) !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  text-shadow: none !important;
}

.skcl-layout .skcl-content-card-body h1::before,
.skcl-layout .skcl-content-card-body h1::after,
.skcl-layout .skcl-content-card-body h2::before,
.skcl-layout .skcl-content-card-body h2::after,
.skcl-layout .skcl-content-card-body h3::before,
.skcl-layout .skcl-content-card-body h3::after,
.skcl-layout .skcl-content-card-body h4::before,
.skcl-layout .skcl-content-card-body h4::after,
.skcl-layout .skcl-content-card-body h5::before,
.skcl-layout .skcl-content-card-body h5::after,
.skcl-layout .skcl-content-card-body h6::before,
.skcl-layout .skcl-content-card-body h6::after {
  content: none !important;
  display: none !important;
}

.skcl-layout .skcl-content-card-body p:first-child,
.skcl-layout .skcl-content-card-body ul:first-child,
.skcl-layout .skcl-content-card-body ol:first-child,
.skcl-layout .skcl-content-card-body blockquote:first-child {
  margin-top: 0 !important;
}

.skcl-layout .skcl-content-card-body p:last-child,
.skcl-layout .skcl-content-card-body ul:last-child,
.skcl-layout .skcl-content-card-body ol:last-child,
.skcl-layout .skcl-content-card-body blockquote:last-child {
  margin-bottom: 0 !important;
}

.skcl-layout .skcl-content-card-body a {
  font-weight: 700 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.skcl-layout .skcl-content-card-body img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  margin: 0 auto !important;
}

/* CONTACT */
.skcl-layout .skcl-contact-card {
  padding: 28px !important;
  background: var(--skcl-contact-bg) !important;
  color: var(--skcl-contact-text) !important;
}

.skcl-layout .skcl-contact-title {
  display: block !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: var(--skcl-contact-title-bg) !important;
  color: var(--skcl-contact-title) !important;
  font-family: var(--skcl-font) !important;
  font-size: clamp(24px, 3vw, 36px) !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  text-shadow: none !important;
}

.skcl-layout .skcl-contact-text,
.skcl-layout .skcl-contact-text * {
  color: var(--skcl-contact-text) !important;
  font-family: var(--skcl-font) !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
}

.skcl-layout .skcl-contact-text p {
  margin: 0 0 18px !important;
}

.skcl-layout .skcl-contact-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  margin: 4px 0 0 !important;
  padding: 13px 22px !important;
  border: 2px solid var(--skcl-contact-button-bg) !important;
  border-radius: 8px !important;
  background: var(--skcl-contact-button-bg) !important;
  box-shadow: none !important;
  color: var(--skcl-contact-button-text) !important;
  font-family: var(--skcl-font) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
}

@media (max-width: 640px) {
  .skcl-layout .skcl-container {
    width: min(calc(100% - 24px), var(--skcl-container)) !important;
  }

  .skcl-layout .skcl-hero {
    padding: 48px 0 !important;
  }

  .skcl-layout .skcl-hero-actions {
    flex-direction: column !important;
    gap: 11px !important;
  }

  .skcl-layout .skcl-button,
  .skcl-layout .skcl-contact-button {
    width: 100% !important;
    max-width: 360px !important;
  }

  .skcl-layout .skcl-content-card--text,
  .skcl-layout .skcl-content-card-heading,
  .skcl-layout .skcl-contact-card {
    padding: 20px !important;
  }
}


.skcl-layout .skcl-content-card--media .skcl-content-card-body > p,
.skcl-layout .skcl-content-card--media figure {
  margin: 0 !important;
}

.skcl-layout .skcl-content-card--media iframe,
.skcl-layout .skcl-content-card--media table {
  max-width: 100% !important;
}
