/* Homepage rhythm: titles and buttons stay shared; section seams are visual, not equal padding. */

.template-home .casaluce-category-entries .f-section__heading,
.template-home .casaluce-space-tabs .f-section__header > .f-section__heading,
.template-home .casaluce-woven-band .f-richtext__title,
.template-home .casaluce-woven-band .f-content-box__heading,
.template-home .casaluce-layer-cards .f-section__heading,
.template-home .casaluce-brand-trio .f-richtext__title,
.template-home .casaluce-home-quotes .f-section__heading {
  font-family: "Libre Baskerville", Georgia, "Times New Roman", serif !important;
  font-style: italic !important;
  font-weight: 500 !important;
  font-size: clamp(34px, 3.1vw, 48px) !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
  color: #1B2433 !important;
}
.template-home .casaluce-category-entries .f-section__heading,
.template-home .casaluce-space-tabs .f-section__header > .f-section__heading,
.template-home .casaluce-woven-band .f-richtext__title,
.template-home .casaluce-woven-band .f-content-box__heading,
.template-home .casaluce-layer-cards .f-section__heading,
.template-home .casaluce-home-quotes .f-section__heading {
  font-size: clamp(26px, 2.15vw, 34px) !important;
  line-height: 1.18 !important;
}
.template-home .casaluce-space-tabs .f-section__header > .f-section__heading {
  display: block !important;
  width: 100%;
  margin: 0 !important;
  text-align: center;
}
.template-home .casaluce-space-tabs .f-section__header > .f-section__heading::before,
.template-home .casaluce-space-tabs .f-section__header > .f-section__heading::after {
  display: none !important;
  content: none !important;
}
.template-home .casaluce-category-entries .f-section__header,
.template-home .casaluce-space-tabs .f-section__header,
.template-home .casaluce-layer-cards .f-section__header,
.template-home .casaluce-home-quotes .f-testimonials__header,
.template-home .casaluce-home-quotes .f-section__header {
  margin-bottom: 32px !important;
}
.template-home .casaluce-home-quotes .f-section__subheading {
  margin-bottom: 8px;
  font-family: "IBM Plex Sans", Arial, sans-serif !important;
  font-style: normal !important;
  font-size: 14px !important;
  letter-spacing: 0.04em;
}

.template-home .f-button:not(.f-button--scroll-top) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 18px !important;
  background: #F7F8FB !important;
  color: #1B2433 !important;
  border: 1px solid #D5DCE8 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  font-family: "IBM Plex Sans", Arial, sans-serif !important;
  font-style: normal !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.template-home .f-button:not(.f-button--scroll-top):hover {
  background: #FFFFFF !important;
  color: #5F72A2 !important;
}
.template-home .f-button:not(.f-button--scroll-top) span {
  line-height: 1 !important;
}
.template-home .casaluce-space-tabs .f-tab-header,
.template-home .casaluce-space-tabs .f-tab-header.active,
.template-home .casaluce-space-tabs .f-tab-header:hover {
  height: auto !important;
  min-height: 44px !important;
  padding: 10px 14px !important;
  background: #F7F8FB !important;
  color: #1B2433 !important;
  border: 1px solid #D5DCE8 !important;
  border-radius: 6px !important;
  font-family: "IBM Plex Sans", Arial, sans-serif !important;
  font-style: normal !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
}
.template-home .casaluce-space-tabs .f-tab-header.active,
.template-home .casaluce-space-tabs .f-tab-header:hover {
  background: #FFFFFF !important;
  color: #5F72A2 !important;
}
.template-home .f-product-tabs__load-more {
  margin-top: 36px !important;
  margin-bottom: 4px !important;
}

/* Gaps are visual, not identical padding on every box. */
.template-home .casaluce-category-entries {
  --section-padding-top: 48px;
  --section-padding-bottom: 20px;
}
.template-home .casaluce-space-tabs {
  --section-padding-top: 28px;
  --section-padding-bottom: 12px;
}
.template-home .casaluce-woven-band {
  --section-padding-top: 36px;
  --section-padding-bottom: 8px;
}
.template-home .casaluce-layer-cards,
.template-home .f-section-casaluce-layers-v2 {
  --section-padding-top: 40px;
  --section-padding-bottom: 50px;
}
.template-home .casaluce-category-entries .f-section-py {
  padding-top: 48px !important;
  padding-bottom: 20px !important;
}
.template-home .casaluce-space-tabs .f-section-py {
  padding-top: 28px !important;
  padding-bottom: 12px !important;
}
.template-home .casaluce-woven-band .f-section-py {
  padding-top: 36px !important;
  padding-bottom: 8px !important;
}
.template-home .casaluce-layer-cards .f-section-py {
  padding-top: 40px !important;
  padding-bottom: 50px !important;
}
.template-home .casaluce-layer-cards .f-section__subheading {
  margin-top: 0 !important;
  margin-bottom: 8px !important;
}
.template-home .casaluce-brand-trio.casaluce-brand-trio-v3 {
  margin-bottom: 0 !important;
}
.template-home .casaluce-home-quotes {
  margin-top: 42px !important;
  margin-bottom: 0 !important;
  background: #F7F8FB !important;
}
.template-home .casaluce-home-quotes .f-section-my {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.template-home .casaluce-home-quotes .f-section-py {
  padding-top: 8px !important;
  padding-bottom: 32px !important;
}
.template-home .casaluce-services.casaluce-services-v4,
.template-home .casaluce-services.casaluce-services-v4 .f-section-my,
.template-home .casaluce-services.casaluce-services-v4 .f-section-py {
  margin-top: 0 !important;
}
.template-home .casaluce-services.casaluce-services-v4 .f-section-py {
  padding-top: 8px !important;
  padding-bottom: 48px !important;
}
.template-home .casaluce-woven-band .f-image-with-text__image-first img,
.template-home .casaluce-woven-band .f-image-with-text__image img {
  object-position: center center;
}

@media (max-width: 767px) {
  .template-home .casaluce-category-entries .f-section__heading,
  .template-home .casaluce-space-tabs .f-section__header > .f-section__heading,
  .template-home .casaluce-woven-band .f-richtext__title,
  .template-home .casaluce-layer-cards .f-section__heading,
  .template-home .casaluce-brand-trio .f-richtext__title,
  .template-home .casaluce-home-quotes .f-section__heading {
    font-size: 32px !important;
  }
  .template-home .casaluce-category-entries .f-section__heading,
  .template-home .casaluce-space-tabs .f-section__header > .f-section__heading,
  .template-home .casaluce-woven-band .f-richtext__title,
  .template-home .casaluce-layer-cards .f-section__heading,
  .template-home .casaluce-home-quotes .f-section__heading {
    font-size: 26px !important;
  }
  .template-home .casaluce-category-entries .f-section-py { padding-top: 32px !important; padding-bottom: 16px !important; }
  .template-home .casaluce-space-tabs .f-section-py { padding-top: 20px !important; padding-bottom: 8px !important; }
  .template-home .casaluce-woven-band .f-section-py { padding-top: 24px !important; padding-bottom: 4px !important; }
  .template-home .casaluce-layer-cards .f-section-py { padding-top: 28px !important; padding-bottom: 32px !important; }
  .template-home .casaluce-home-quotes { margin-top: 24px !important; }
  .template-home .casaluce-home-quotes .f-section-py { padding-bottom: 24px !important; }
}
