@charset "UTF-8";
/**
 * OSC theme component styles (compiled bundle).
 *
 * Legacy monolithic styles remain in css/style.css and css/responsive.css.
 * New or extracted component styles belong here.
 */
/**
 * Site-wide spacing scale.
 * Use these tokens for all OSC component sections (desktop + mobile).
 */
/**
 * Site-wide typography tokens (Montserrat body + section headings).
 */
/**
 * Shared section shell for OSC pages.
 * Prefer these classes on new templates; legacy BEM blocks alias the same tokens.
 */
.osc-section {
  padding-top: clamp(40px, 5vw, 64px);
  padding-bottom: clamp(40px, 5vw, 64px);
}
.osc-section--emphasis {
  padding-top: clamp(48px, 5.5vw, 72px);
  padding-bottom: clamp(48px, 5.5vw, 72px);
}
.osc-section--compact-top {
  padding-top: clamp(24px, 3vw, 36px);
  padding-bottom: clamp(40px, 5vw, 64px);
}
.osc-section--grey {
  background: #f5f5f5;
}
.osc-section--white {
  background: #fff;
}
.osc-section--bordered {
  border-top: 1px solid #e5e7eb;
}

.osc-wrap {
  width: 100%;
  max-width: 1340px;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(16px, 2.5vw, 30px);
  padding-right: clamp(16px, 2.5vw, 30px);
  box-sizing: border-box;
}
@media (max-width: 991px) {
  .osc-wrap {
    padding-left: clamp(16px, 4vw, 24px);
    padding-right: clamp(16px, 4vw, 24px);
  }
}
.osc-wrap--narrow {
  max-width: 900px;
}
.osc-wrap--intro {
  max-width: 760px;
}

.osc-section-intro {
  max-width: 760px;
  margin: 0 auto clamp(28px, 4vw, 40px);
  text-align: center;
}

.osc-section-heading {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  margin: 0 0 10px;
  color: #122e44;
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  line-height: 1.2;
  font-weight: 700;
}

.osc-section-lead {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  margin: 0 0 clamp(24px, 3vw, 36px);
  color: #6b7280;
  font-size: 15px;
  line-height: 1.65;
}

.osc-section.m-top-80, .osc-section.m-top-100, .osc-section.m-bottom-80, .osc-section.m-bottom-100,
.osc-hp-section.m-top-80,
.osc-hp-section.m-top-100,
.osc-hp-section.m-bottom-80,
.osc-hp-section.m-bottom-100,
.osc-cases-section.m-top-80,
.osc-cases-section.m-top-100,
.osc-cases-section.m-bottom-80,
.osc-cases-section.m-bottom-100,
.osc-accordion-section.m-top-80,
.osc-accordion-section.m-top-100,
.osc-accordion-section.m-bottom-80,
.osc-accordion-section.m-bottom-100,
.osc-home-ranges.m-top-80,
.osc-home-ranges.m-top-100,
.osc-home-ranges.m-bottom-80,
.osc-home-ranges.m-bottom-100,
.osc-hp-spotlight.m-top-80,
.osc-hp-spotlight.m-top-100,
.osc-hp-spotlight.m-bottom-80,
.osc-hp-spotlight.m-bottom-100,
.osc-home-trust.m-top-80,
.osc-home-trust.m-top-100,
.osc-home-trust.m-bottom-80,
.osc-home-trust.m-bottom-100,
.osc-showcase.m-top-80,
.osc-showcase.m-top-100,
.osc-showcase.m-bottom-80,
.osc-showcase.m-bottom-100,
.osc-site-footer.m-top-80,
.osc-site-footer.m-top-100,
.osc-site-footer.m-bottom-80,
.osc-site-footer.m-bottom-100 {
  margin-top: 0;
  margin-bottom: 0;
}

.osc-accordion-section.bg-white {
  background: #fff;
}

.osc-breadcrumb {
  padding: 14px 0;
  background: #f3f4f6;
  border-bottom: 1px solid #e5e7eb;
}
.osc-breadcrumb .bread-crumb, .osc-breadcrumb__nav {
  margin: 0;
  padding: 0;
  font-size: 13px;
  line-height: 1.5;
  color: #6b7280;
}
.osc-breadcrumb a {
  color: #122e44;
  text-decoration: none;
}
.osc-breadcrumb a:hover, .osc-breadcrumb a:focus-visible {
  color: #0a3a67;
  text-decoration: underline;
  text-underline-offset: 2px;
}
@media (max-width: 768px) {
  .osc-breadcrumb {
    padding: 2px 0;
    background: transparent;
    border-bottom: 0;
  }
  .osc-breadcrumb .bread-crumb, .osc-breadcrumb__nav {
    font-size: 11px;
    line-height: 1.3;
  }
}

/**
 * Button mixins shared across components.
 */
/**
 * Unified pill buttons + legacy `.btn` overrides.
 */
.osc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 52px 10px 22px;
  border: 0;
  border-radius: 999px;
  position: relative;
  background: #122e44;
  color: #fff;
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.2;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}
.osc-btn::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #fff;
  transform: translateY(-50%);
  transition: background-color 0.25s ease;
}
.osc-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 18px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #122e44;
  border-right: 2px solid #122e44;
  transform: translateY(-50%) rotate(45deg);
  transition: border-color 0.25s ease;
}
.osc-btn:hover, .osc-btn:focus-visible {
  background: rgb(11.5953488372, 29.6325581395, 43.8046511628);
  color: #fff;
  text-decoration: none;
  transform: translateY(-1px);
}
.osc-btn--navy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 52px 10px 22px;
  border: 0;
  border-radius: 999px;
  position: relative;
  background: #122e44;
  color: #fff;
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.2;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}
.osc-btn--navy::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #fff;
  transform: translateY(-50%);
  transition: background-color 0.25s ease;
}
.osc-btn--navy::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 18px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #122e44;
  border-right: 2px solid #122e44;
  transform: translateY(-50%) rotate(45deg);
  transition: border-color 0.25s ease;
}
.osc-btn--navy:hover, .osc-btn--navy:focus-visible {
  background: rgb(11.5953488372, 29.6325581395, 43.8046511628);
  color: #fff;
  text-decoration: none;
  transform: translateY(-1px);
}
.osc-btn--green {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 52px 10px 22px;
  border: 0;
  border-radius: 999px;
  position: relative;
  background: #55df63;
  color: #122e44;
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.2;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}
.osc-btn--green::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #fff;
  transform: translateY(-50%);
  transition: background-color 0.25s ease;
}
.osc-btn--green::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 18px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #122e44;
  border-right: 2px solid #122e44;
  transform: translateY(-50%) rotate(45deg);
  transition: border-color 0.25s ease;
}
.osc-btn--green:hover, .osc-btn--green:focus-visible {
  background: rgb(50.6633663366, 216.5366336634, 67.4910891089);
  color: #122e44;
  text-decoration: none;
  transform: translateY(-1px);
}
.osc-btn--compact {
  min-height: 40px;
  padding: 8px 46px 8px 18px;
  font-size: 12px;
}

.btn.green-hover.btn-blue,
.btn.btn-blue.green-hover {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 52px 10px 22px;
  border: 0;
  border-radius: 999px;
  position: relative;
  background: #122e44;
  color: #fff;
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.2;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}
.btn.green-hover.btn-blue::before,
.btn.btn-blue.green-hover::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #fff;
  transform: translateY(-50%);
  transition: background-color 0.25s ease;
}
.btn.green-hover.btn-blue::after,
.btn.btn-blue.green-hover::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 18px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #122e44;
  border-right: 2px solid #122e44;
  transform: translateY(-50%) rotate(45deg);
  transition: border-color 0.25s ease;
}
.btn.green-hover.btn-blue:hover, .btn.green-hover.btn-blue:focus-visible,
.btn.btn-blue.green-hover:hover,
.btn.btn-blue.green-hover:focus-visible {
  background: rgb(11.5953488372, 29.6325581395, 43.8046511628);
  color: #fff;
  text-decoration: none;
  transform: translateY(-1px);
}
.btn.green-hover.btn-blue,
.btn.btn-blue.green-hover {
  padding: 10px 52px 10px 22px !important;
  border-radius: 999px !important;
  border: 0 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

a:has(> .btn.green-hover.btn-blue) {
  display: inline-block;
  text-decoration: none;
}

.osc-section,
.osc-hp-section,
.osc-cases-section,
.osc-showcase,
.osc-home-ranges,
.osc-hp-spotlight,
.osc-home-trust,
.osc-accordion-section,
.osc-phero,
.bgmobilehead {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
}

.osc-section-heading,
.osc-hp-heading,
.osc-cases__heading,
.osc-home-ranges__intro-heading,
.osc-showcase__heading {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  margin: 0 0 10px;
  color: #122e44;
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  line-height: 1.2;
  font-weight: 700;
}

.osc-section-lead,
.osc-hp-lead,
.osc-cases__lead,
.osc-home-ranges__intro-lead,
.osc-showcase__lead {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  margin: 0 0 clamp(24px, 3vw, 36px);
  color: #6b7280;
  font-size: 15px;
  line-height: 1.65;
}

/**
 * Shared template component styles.
 * Previously duplicated inline across product templates.
 */
.data-title {
  padding: 0 15px 0 0;
  display: table-cell;
  vertical-align: middle;
}

.data-item .data-image,
.data-item .data-title {
  padding: 0 15px 0 0;
  display: table-cell;
  vertical-align: middle;
}

.image-carousel {
  position: relative;
  width: 100%;
  max-width: 100%;
}
.image-carousel img {
  width: 100%;
  display: block;
}

.color-selector {
  display: flex;
  justify-content: left;
  align-items: left;
  gap: 10px;
  margin-top: 10px;
}

.color-btn {
  width: 25px;
  height: 25px;
  border-radius: 50%;
  border: 2px solid #ccc;
  cursor: pointer;
  transition: border-color 0.3s ease;
}
.color-btn.active {
  border-color: #000;
}
.color-btn.anthracite {
  background-color: #383e42;
}
.color-btn.black {
  background-color: #000;
}
.color-btn.lightgrey {
  background-color: #d3d3d3;
}
.color-btn.white {
  background-color: #fff;
}

@media (max-width: 768px) {
  iframe.mobile-iframe {
    height: 250px !important;
  }
}
/*
 * Primary content must stay readable even if scroll animation JS fails to init.
 */
.about-txt.animated,
#the-product .about-txt {
  visibility: visible;
}

/**
 * Ideas Gallery (Gallery Inspiration template).
 */
.osc-gallery-inspo__toolbar {
  margin-bottom: clamp(20px, 3vw, 28px);
}
.osc-gallery-inspo__filters {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 10px;
  margin-bottom: 12px;
}
.osc-gallery-inspo__dropdown {
  position: relative;
  flex: 1 1 0;
  min-width: 150px;
  max-width: 220px;
}
.osc-gallery-inspo__dropdown.is-open {
  z-index: 30;
}
.osc-gallery-inspo__dropdown.has-selection .osc-gallery-inspo__dropdown-trigger {
  border-color: #122e44;
  background: rgba(18, 46, 68, 0.04);
}
.osc-gallery-inspo__dropdown-trigger {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid rgba(18, 46, 68, 0.16);
  border-radius: 10px;
  background: #fff;
  color: #122e44;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  text-align: left;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.osc-gallery-inspo__dropdown-trigger:hover, .osc-gallery-inspo__dropdown-trigger:focus-visible {
  border-color: rgba(18, 46, 68, 0.28);
  color: #0a3a67;
}
.osc-gallery-inspo__dropdown-trigger[aria-expanded=true] {
  border-color: #122e44;
  box-shadow: 0 8px 24px rgba(18, 46, 68, 0.12);
}
.osc-gallery-inspo__dropdown-label {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.osc-gallery-inspo__dropdown-count {
  flex-shrink: 0;
  min-width: 22px;
  padding: 2px 7px;
  border-radius: 999px;
  background: #122e44;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}
.osc-gallery-inspo__dropdown-count[hidden] {
  display: none;
}
.osc-gallery-inspo__dropdown-icon {
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform 0.2s ease;
}
.osc-gallery-inspo__dropdown-trigger[aria-expanded=true] .osc-gallery-inspo__dropdown-icon {
  transform: rotate(-135deg) translateY(2px);
}
.osc-gallery-inspo__dropdown-menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 40;
  width: max(100%, 240px);
  max-height: min(420px, 70vh);
  border: 1px solid rgba(18, 46, 68, 0.12);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 16px 40px rgba(18, 46, 68, 0.16);
  overflow: hidden;
}
.osc-gallery-inspo__dropdown-menu[hidden] {
  display: none;
}
.osc-gallery-inspo__dropdown-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(18, 46, 68, 0.08);
  background: #f5f5f5;
  color: #122e44;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.osc-gallery-inspo__dropdown-clear {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  padding: 0;
  border: 0;
  background: transparent;
  color: #0a3a67;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}
.osc-gallery-inspo__dropdown-clear[hidden] {
  display: none;
}
.osc-gallery-inspo__dropdown-options {
  list-style: none;
  max-height: min(360px, 70vh - 52px);
  margin: 0;
  padding: 6px;
  overflow-y: auto;
}
.osc-gallery-inspo__dropdown-options li {
  margin: 0;
}
.osc-gallery-inspo__filter {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 40px;
  padding: 8px 12px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #122e44;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  text-align: left;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.osc-gallery-inspo__filter:hover, .osc-gallery-inspo__filter:focus-visible {
  background: rgba(18, 46, 68, 0.05);
  color: #0a3a67;
}
.osc-gallery-inspo__filter.is-active {
  background: rgba(18, 46, 68, 0.08);
  color: #122e44;
}
.osc-gallery-inspo__filter.is-active .osc-gallery-inspo__filter-label::before {
  content: "✓";
  display: flex;
  align-items: center;
  justify-content: center;
  background: #122e44;
  border-color: #122e44;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
}
.osc-gallery-inspo__filter-label {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.osc-gallery-inspo__filter-label::before {
  content: "";
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  border: 1.5px solid rgba(18, 46, 68, 0.24);
  border-radius: 4px;
  background: #fff;
}
.osc-gallery-inspo__filter-count {
  flex-shrink: 0;
  color: #6b7280;
  font-size: 12px;
  font-weight: 600;
}
.osc-gallery-inspo__reset {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  flex: 0 0 auto;
  align-self: center;
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid rgba(18, 46, 68, 0.16);
  border-radius: 10px;
  background: #fff;
  color: #122e44;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.osc-gallery-inspo__reset:hover, .osc-gallery-inspo__reset:focus-visible {
  border-color: rgba(18, 46, 68, 0.28);
  color: #0a3a67;
}
.osc-gallery-inspo__reset[hidden] {
  display: none;
}
.osc-gallery-inspo__status {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.65;
  margin: 0;
  color: #6b7280;
}
.osc-gallery-inspo__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 2.5vw, 24px);
}
.osc-gallery-inspo__grid[hidden] {
  display: none;
}
.osc-gallery-inspo__item {
  margin: 0;
  border-radius: 14px;
  overflow: hidden;
  background: #f5f5f5;
  box-shadow: 0 8px 24px rgba(18, 46, 68, 0.08);
}
.osc-gallery-inspo__item[hidden] {
  display: none;
}
.osc-gallery-inspo__link {
  display: block;
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
}
.osc-gallery-inspo__link::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(18, 46, 68, 0);
  transition: background-color 0.2s ease;
}
.osc-gallery-inspo__link:hover::after, .osc-gallery-inspo__link:focus-visible::after {
  background: rgba(18, 46, 68, 0.12);
}
.osc-gallery-inspo__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  background: #f5f5f5;
}
.osc-gallery-inspo__sentinel {
  height: 1px;
}
.osc-gallery-inspo__empty, .osc-gallery-inspo__load-hint {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.65;
  font-weight: 500;
  color: #333;
  margin: 24px 0 0;
  text-align: center;
  color: #6b7280;
}
.osc-gallery-inspo__empty[hidden], .osc-gallery-inspo__load-hint[hidden] {
  display: none;
}
.osc-gallery-inspo__load-hint {
  font-size: 14px;
}

@media (max-width: 991px) {
  .osc-gallery-inspo__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 768px) {
  .osc-gallery-inspo__filters {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 4px;
    -webkit-overflow-scrolling: touch;
  }
  .osc-gallery-inspo__dropdown {
    flex: 0 0 170px;
    max-width: none;
  }
  .osc-gallery-inspo__reset {
    flex: 0 0 auto;
  }
  .osc-gallery-inspo__grid {
    grid-template-columns: 1fr;
  }
}
/**
 * Homepage / landing review carousel (template/reviews.php).
 */
.osc-reviews-wrap {
  background: #f5f5f5;
  border-bottom: 3px solid #122e44;
  padding: 25px;
  position: relative;
  overflow: visible;
}
.osc-reviews-wrap .osc_reviews {
  position: relative;
}
.osc-reviews-wrap .osc_review {
  display: none;
  grid-template-columns: 420px 1fr;
  gap: 30px;
  align-items: start;
  position: relative;
}
.osc-reviews-wrap .osc_review.is_active {
  display: grid;
}
.osc-reviews-wrap .osc_left {
  position: relative;
  overflow: visible;
}
.osc-reviews-wrap .osc_img {
  width: 100%;
  max-width: 377px;
  height: 298px;
  object-fit: cover;
  border-radius: 8px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1);
  position: relative;
  top: -40px;
  z-index: 5;
}
.osc-reviews-wrap .osc_caption {
  margin-top: 5px;
  position: relative;
  top: -25px;
}
.osc-reviews-wrap .osc_title {
  font-size: 18px;
  line-height: 1.35;
  margin: 0 0 4px;
  color: #0a3a67;
}
.osc-reviews-wrap .osc_sub {
  margin: 0;
  color: #6b7280;
  font-size: 14px;
}
.osc-reviews-wrap .osc_right {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  margin-top: 50px;
}
.osc-reviews-wrap .osc_quote {
  font-size: 15px;
  line-height: 1.5;
  color: #333;
  margin: 0 0 15px;
}
.osc-reviews-wrap .osc_btnwrap {
  margin-top: 5px;
}
.osc-reviews-wrap .osc_controls {
  position: absolute;
  top: 10px;
  right: 10px;
  display: flex;
  gap: 8px;
  z-index: 10;
}
.osc-reviews-wrap .osc_arrow {
  width: 44px;
  height: 44px;
  border: none;
  background: #122e44;
  color: #fff;
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: background 0.2s ease;
}
.osc-reviews-wrap .osc_arrow:hover {
  background: #55df63;
}
.osc-reviews-wrap .osc_arrow i {
  font-size: 16px;
}
@media (max-width: 991px) {
  .osc-reviews-wrap .osc_review {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .osc-reviews-wrap .osc_img {
    max-width: 100%;
    height: auto;
    top: 0;
  }
  .osc-reviews-wrap .osc_caption {
    display: none;
  }
  .osc-reviews-wrap .osc_right {
    margin-top: 30px;
  }
}

/**
 * Homepage hero slider (Green Retreats-style full viewport + progress tabs).
 */
@keyframes osc-hero-progress {
  from {
    width: 0%;
  }
  to {
    width: 100%;
  }
}
@keyframes osc-hero-fade-in {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.osc-home-hero {
  --osc-hero-duration: 7s;
  --osc-header-offset: var(--osc-header-height, 70px);
  --osc-hero-inset: clamp(16px, 2.5vw, 30px);
  --osc-hero-max-width: 1340px;
  --osc-hero-topics-height: 76px;
  position: relative;
  width: 100%;
  min-height: calc(100svh - var(--osc-header-offset));
  box-sizing: border-box;
  margin-top: var(--osc-header-offset);
  padding-top: 0;
  margin-bottom: 0;
  overflow: hidden;
}
.osc-home-hero__frame {
  width: 100%;
  max-width: var(--osc-hero-max-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--osc-hero-inset);
  padding-right: var(--osc-hero-inset);
  box-sizing: border-box;
}
.osc-home-hero__slider {
  position: relative;
  width: 100%;
  height: calc(100svh - var(--osc-header-offset));
  min-height: 420px;
  z-index: 1;
}
.osc-home-hero__slider.swiper {
  height: calc(100svh - var(--osc-header-offset));
  min-height: 420px;
}
.osc-home-hero__slider .swiper-wrapper {
  height: 100%;
}
.osc-home-hero__slider .swiper-slide {
  display: block;
  height: 100%;
  overflow: visible;
}
.osc-home-hero__slide {
  position: relative;
  height: 100%;
  min-height: 100%;
}
.osc-home-hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-color: #122e44;
  background-size: cover;
  background-repeat: no-repeat;
  transform: scale(1.02);
  transition: transform 8s ease;
  overflow: hidden;
}
.osc-home-hero__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(18, 46, 68, 0.88) 0%, rgba(18, 46, 68, 0.78) 14%, rgba(18, 46, 68, 0.45) 38%, rgba(18, 46, 68, 0.08) 72%, rgba(18, 46, 68, 0) 100%);
}
.swiper-slide-active .osc-home-hero__bg {
  transform: scale(1.08);
}
.osc-home-hero__container {
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(var(--osc-hero-topics-height) + clamp(20px, 3vw, 36px));
  z-index: 2;
  display: flex;
  align-items: flex-end;
}
.osc-home-hero__content {
  max-width: 720px;
  color: #fff;
}
.swiper-slide-active .osc-home-hero__content {
  animation: osc-hero-fade-in 0.75s ease forwards;
}
.osc-home-hero__badge {
  display: inline-block;
  margin: 0 0 16px;
  padding: 4px 12px;
  border: 1px solid rgba(255, 255, 255, 0.85);
  border-radius: 999px;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 20px;
  letter-spacing: 0.02em;
}
.osc-home-hero__title {
  margin: 0 0 14px;
  color: #fff;
  font-size: clamp(28px, 4vw, 4.5rem);
  line-height: 1.05;
  font-weight: 700;
  max-width: 65%;
}
.osc-home-hero__text {
  margin: 0 0 20px;
  color: rgba(255, 255, 255, 0.92);
  font-size: clamp(15px, 1.6vw, 18px);
  line-height: 1.55;
  max-width: 560px;
}
.osc-home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.osc-home-hero__actions .btn {
  margin: 0;
}
.osc-home-hero__btn {
  border-radius: 999px;
  padding-left: 24px;
  padding-right: 24px;
}
.osc-home-hero__topics {
  position: absolute;
  left: 0;
  right: 0;
  bottom: clamp(16px, 2.5vw, 28px);
  z-index: 5;
  display: flex;
  gap: 10px;
  pointer-events: auto;
}
.osc-home-hero__topic-item {
  flex: 1 1 0;
  min-width: 0;
}
.osc-home-hero__topic {
  display: block;
  width: 100%;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  text-align: center;
  color: #fff;
}
.osc-home-hero__topic-track {
  position: relative;
  display: block;
  width: 100%;
  height: 2px;
  margin: 0 0 14px;
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.35);
  overflow: hidden;
}
.osc-home-hero__topic-progress {
  display: block;
  width: 0;
  height: 100%;
  border-radius: 5px;
  background: #fff;
}
.osc-home-hero__topic.is-active .osc-home-hero__topic-progress {
  animation: osc-hero-progress var(--osc-hero-duration) linear forwards;
}
.osc-home-hero__topic-label {
  display: block;
  padding: 0 4px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  color: #fff;
  opacity: 0.35;
  transition: opacity 0.2s ease;
}
.osc-home-hero__topic.is-active .osc-home-hero__topic-label, .osc-home-hero__topic:hover .osc-home-hero__topic-label {
  opacity: 1;
}
@media (max-width: 1024px) {
  .osc-home-hero {
    --osc-hero-max-width: 1095px;
  }
}
@media (max-width: 1199px) {
  .osc-home-hero {
    --osc-hero-max-width: 915px;
  }
}
@media (max-width: 991px) {
  .osc-home-hero {
    --osc-hero-topics-height: 68px;
  }
  .osc-home-hero__title {
    max-width: 100%;
  }
  .osc-home-hero {
    --osc-hero-max-width: 675px;
  }
}
@media (max-width: 768px) {
  .osc-home-hero {
    --osc-hero-max-width: 100%;
    --osc-hero-inset: clamp(16px, 4vw, 24px);
    --osc-hero-topics-height: 62px;
  }
  .osc-home-hero__title {
    font-size: 1.75rem;
  }
  .osc-home-hero__text {
    font-size: 15px;
  }
  .osc-home-hero__topics {
    gap: 6px;
    bottom: 14px;
  }
  .osc-home-hero__topic-label {
    font-size: 11px;
  }
  .osc-home-hero__actions {
    flex-direction: column;
  }
  .osc-home-hero__actions .btn {
    width: 100%;
    text-align: center;
  }
}
@media (max-width: 480px) {
  .osc-home-hero {
    --osc-hero-topics-height: 56px;
  }
  .osc-home-hero__topic-label {
    font-size: 10px;
  }
}

body.osc-header-overlay .osc-home-hero {
  margin-top: 0;
  min-height: 100svh;
}
body.osc-header-overlay .osc-home-hero__slider, body.osc-header-overlay .osc-home-hero__slider.swiper {
  height: 100svh;
  min-height: 420px;
}

/**
 * Homepage product range cards (image + copy side-by-side).
 */
.osc-home-ranges {
  --osc-ranges-inset: clamp(16px, 2.5vw, 30px);
  --osc-ranges-max-width: 1340px;
  position: relative;
  z-index: 2;
  padding: 0 0 clamp(40px, 5vw, 64px);
  background: #fff;
  border-bottom: 1px solid #e5e7eb;
}
.osc-home-ranges__frame {
  width: 100%;
  max-width: var(--osc-ranges-max-width);
  margin-left: auto;
  margin-right: auto;
  padding: clamp(40px, 5vw, 64px) var(--osc-ranges-inset) 0;
  box-sizing: border-box;
}
.osc-home-ranges__intro {
  max-width: 720px;
  margin: 0 auto clamp(28px, 4vw, 40px);
  text-align: center;
}
.osc-home-ranges__intro-heading {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  margin: 0 0 10px;
  color: #122e44;
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  line-height: 1.2;
  font-weight: 700;
}
.osc-home-ranges__intro-lead {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  margin: 0 0 clamp(24px, 3vw, 36px);
  color: #6b7280;
  font-size: 15px;
  line-height: 1.65;
  margin-bottom: 0;
}
.osc-home-ranges__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  border: 1px solid #e5e7eb;
}
.osc-home-ranges__card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(16px, 2vw, 28px);
  align-items: center;
  min-width: 0;
  padding: clamp(24px, 3vw, 36px);
  border-right: 1px solid #e5e7eb;
  border-bottom: 1px solid #e5e7eb;
}
.osc-home-ranges__card:nth-child(2n) {
  border-right: 0;
}
.osc-home-ranges__card:nth-last-child(-n+2) {
  border-bottom: 0;
}
.osc-home-ranges__media {
  display: block;
  overflow: hidden;
  border-radius: 16px;
  line-height: 0;
}
.osc-home-ranges__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 500/455;
  object-fit: cover;
  transition: transform 0.45s ease;
}
.osc-home-ranges__media:hover .osc-home-ranges__image, .osc-home-ranges__media:focus-visible .osc-home-ranges__image {
  transform: scale(1.03);
}
.osc-home-ranges__body {
  min-width: 0;
}
.osc-home-ranges__badge {
  display: inline-block;
  margin: 0 0 12px;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
}
.osc-home-ranges__title {
  margin: 0 0 10px;
  color: #122e44;
  font-size: clamp(1.75rem, 2.4vw, 2.5rem);
  line-height: 1.05;
  font-weight: 700;
}
.osc-home-ranges__text {
  margin: 0 0 18px;
  color: #6b7280;
  font-size: 15px;
  line-height: 1.6;
}
.osc-home-ranges__cta {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 52px 10px 22px;
  border-radius: 999px;
  position: relative;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}
.osc-home-ranges__cta::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #fff;
  transform: translateY(-50%);
  transition: background-color 0.25s ease;
}
.osc-home-ranges__cta::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 18px;
  width: 8px;
  height: 8px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
  transition: border-color 0.25s ease;
}
.osc-home-ranges__cta:hover, .osc-home-ranges__cta:focus-visible {
  color: #fff;
  text-decoration: none;
}
.osc-home-ranges__more {
  margin: clamp(28px, 4vw, 40px) 0 0;
}
.osc-home-ranges__more-link {
  display: inline-block;
  color: #122e44;
  font-size: 18px;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 2px solid #122e44;
  line-height: 1.4;
  transition: color 0.2s ease, border-color 0.2s ease;
}
.osc-home-ranges__more-link:hover, .osc-home-ranges__more-link:focus-visible {
  color: #0a3a67;
  border-color: #0a3a67;
}
.osc-home-ranges__card--navy .osc-home-ranges__badge {
  background: rgba(18, 46, 68, 0.12);
  color: #122e44;
}
.osc-home-ranges__card--navy .osc-home-ranges__cta {
  background: #122e44;
}
.osc-home-ranges__card--navy .osc-home-ranges__cta:hover, .osc-home-ranges__card--navy .osc-home-ranges__cta:focus-visible {
  background: rgb(11.5953488372, 29.6325581395, 43.8046511628);
}
.osc-home-ranges__card--navy .osc-home-ranges__cta::after {
  border-color: #122e44;
}
.osc-home-ranges__card--green .osc-home-ranges__badge {
  background: rgba(85, 223, 99, 0.18);
  color: rgb(26.1702970297, 139.0297029703, 37.6198019802);
}
.osc-home-ranges__card--green .osc-home-ranges__cta {
  background: #55df63;
  color: #122e44;
}
.osc-home-ranges__card--green .osc-home-ranges__cta::after {
  border-color: #122e44;
}
.osc-home-ranges__card--green .osc-home-ranges__cta:hover, .osc-home-ranges__card--green .osc-home-ranges__cta:focus-visible {
  background: rgb(50.6633663366, 216.5366336634, 67.4910891089);
  color: #122e44;
}
.osc-home-ranges__card--blue .osc-home-ranges__badge {
  background: rgba(10, 58, 103, 0.12);
  color: #0a3a67;
}
.osc-home-ranges__card--blue .osc-home-ranges__cta {
  background: #0a3a67;
}
.osc-home-ranges__card--blue .osc-home-ranges__cta::after {
  border-color: #0a3a67;
}
.osc-home-ranges__card--blue .osc-home-ranges__cta:hover, .osc-home-ranges__card--blue .osc-home-ranges__cta:focus-visible {
  background: rgb(7.2920353982, 42.2938053097, 75.1079646018);
}
.osc-home-ranges__card--amber .osc-home-ranges__badge {
  background: rgba(237, 186, 3, 0.18);
  color: #9a7600;
}
.osc-home-ranges__card--amber .osc-home-ranges__cta {
  background: #edba03;
  color: #122e44;
}
.osc-home-ranges__card--amber .osc-home-ranges__cta::after {
  border-color: #122e44;
}
.osc-home-ranges__card--amber .osc-home-ranges__cta:hover, .osc-home-ranges__card--amber .osc-home-ranges__cta:focus-visible {
  background: rgb(196.71, 154.38, 2.49);
  color: #122e44;
}
.osc-home-ranges__card--teal .osc-home-ranges__badge {
  background: rgba(89, 126, 141, 0.15);
  color: #597e8d;
}
.osc-home-ranges__card--teal .osc-home-ranges__cta {
  background: #597e8d;
}
.osc-home-ranges__card--teal .osc-home-ranges__cta::after {
  border-color: #597e8d;
}
.osc-home-ranges__card--teal .osc-home-ranges__cta:hover, .osc-home-ranges__card--teal .osc-home-ranges__cta:focus-visible {
  background: rgb(77.1591304348, 109.2365217391, 122.2408695652);
}
.osc-home-ranges__card--slate .osc-home-ranges__badge {
  background: rgba(83, 51, 77, 0.12);
  color: #53334d;
}
.osc-home-ranges__card--slate .osc-home-ranges__cta {
  background: #53334d;
}
.osc-home-ranges__card--slate .osc-home-ranges__cta::after {
  border-color: #53334d;
}
.osc-home-ranges__card--slate .osc-home-ranges__cta:hover, .osc-home-ranges__card--slate .osc-home-ranges__cta:focus-visible {
  background: rgb(64.0462686567, 39.3537313433, 59.4164179104);
}
@media (max-width: 1199px) {
  .osc-home-ranges {
    --osc-ranges-max-width: 1095px;
  }
}
@media (max-width: 991px) {
  .osc-home-ranges {
    --osc-ranges-max-width: 915px;
  }
  .osc-home-ranges__card {
    grid-template-columns: 1fr;
  }
  .osc-home-ranges__body {
    max-width: 520px;
  }
}
@media (max-width: 768px) {
  .osc-home-ranges {
    --osc-ranges-max-width: 100%;
    --osc-ranges-inset: clamp(16px, 4vw, 24px);
    padding-top: 0;
  }
  .osc-home-ranges__grid {
    grid-template-columns: 1fr;
  }
  .osc-home-ranges__card {
    border-right: 0;
  }
  .osc-home-ranges__card:not(:last-child) {
    border-bottom: 1px solid #e5e7eb;
  }
  .osc-home-ranges__card:last-child {
    border-bottom: 0;
  }
  .osc-home-ranges__body {
    max-width: none;
    text-align: center;
  }
  .osc-home-ranges__badge {
    margin-left: auto;
    margin-right: auto;
  }
  .osc-home-ranges__cta {
    margin-left: auto;
    margin-right: auto;
  }
}
.osc-home-ranges--catalog-first {
  border-bottom: 0;
}
.osc-home-ranges--catalog-section {
  border-top: 1px solid #e5e7eb;
  border-bottom: 0;
}
.osc-home-ranges--catalog-section .osc-home-ranges__frame {
  padding-top: clamp(32px, 4vw, 48px);
}
.osc-home-ranges--category-page {
  margin-bottom: clamp(24px, 4vw, 40px);
}
@media (max-width: 768px) {
  .osc-home-ranges--category-page .osc-home-ranges__intro {
    display: none;
  }
}

.osc-products-catalog {
  background: #fff;
}

/**
 * Homepage featured project spotlight (video + copy on navy band).
 */
.osc-hp-spotlight {
  --osc-spotlight-inset: clamp(16px, 2.5vw, 30px);
  --osc-spotlight-max-width: 1340px;
  padding-top: clamp(48px, 5.5vw, 72px);
  padding-bottom: clamp(48px, 5.5vw, 72px);
  background: linear-gradient(180deg, #122e44 0%, rgb(13.7302325581, 35.088372093, 51.8697674419) 100%);
  color: #fff;
}
.osc-hp-spotlight__frame {
  width: 100%;
  max-width: var(--osc-spotlight-max-width);
  margin: 0 auto;
  padding: 0 var(--osc-spotlight-inset);
  box-sizing: border-box;
}
.osc-hp-spotlight__header {
  margin-bottom: clamp(24px, 3vw, 36px);
  text-align: center;
}
.osc-hp-spotlight__eyebrow {
  margin: 0 0 8px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.osc-hp-spotlight__heading {
  margin: 0;
  color: #fff;
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  line-height: 1.15;
  font-weight: 700;
}
.osc-hp-spotlight__panel {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 0;
  align-items: stretch;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
}
.osc-hp-spotlight__media {
  min-width: 0;
  background: #000;
}
.osc-hp-spotlight__video {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 100%;
  aspect-ratio: 16/10;
  background: #000;
}
.osc-hp-spotlight__video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.osc-hp-spotlight__card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: clamp(28px, 3.5vw, 44px);
  background: #fff;
  color: #333;
}
.osc-hp-spotlight__title {
  margin: 0 0 14px;
  color: #122e44;
  font-size: clamp(1.35rem, 2.2vw, 1.85rem);
  line-height: 1.25;
  font-weight: 700;
}
.osc-hp-spotlight__intro {
  margin: 0 0 18px;
  color: #6b7280;
  font-size: 15px;
  line-height: 1.65;
}
.osc-hp-spotlight__list {
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
}
.osc-hp-spotlight__list li {
  position: relative;
  margin: 0 0 10px;
  padding-left: 18px;
  color: #333;
  font-size: 14px;
  line-height: 1.55;
}
.osc-hp-spotlight__list li::before {
  content: "";
  position: absolute;
  top: 0.62em;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: #55df63;
  transform: translateY(-50%);
}
.osc-hp-spotlight__list li:last-child {
  margin-bottom: 0;
}
.osc-hp-spotlight__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 18px;
  margin-top: auto;
}
.osc-hp-spotlight__cta {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 52px 10px 22px;
  border-radius: 999px;
  position: relative;
  background: #55df63;
  color: #122e44;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}
.osc-hp-spotlight__cta::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #fff;
  transform: translateY(-50%);
  transition: background-color 0.25s ease;
}
.osc-hp-spotlight__cta::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 18px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #122e44;
  border-right: 2px solid #122e44;
  transform: translateY(-50%) rotate(45deg);
}
.osc-hp-spotlight__cta:hover, .osc-hp-spotlight__cta:focus-visible {
  background: rgb(50.6633663366, 216.5366336634, 67.4910891089);
  color: #122e44;
  text-decoration: none;
  transform: translateY(-1px);
}
.osc-hp-spotlight__cta-secondary {
  color: #0a3a67;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 2px solid rgba(10, 58, 103, 0.35);
  line-height: 1.4;
  transition: color 0.2s ease, border-color 0.2s ease;
}
.osc-hp-spotlight__cta-secondary:hover, .osc-hp-spotlight__cta-secondary:focus-visible {
  color: #122e44;
  border-color: #122e44;
}
@media (max-width: 1199px) {
  .osc-hp-spotlight {
    --osc-spotlight-max-width: 1095px;
  }
}
@media (max-width: 991px) {
  .osc-hp-spotlight {
    --osc-spotlight-max-width: 915px;
  }
  .osc-hp-spotlight__panel {
    grid-template-columns: 1fr;
  }
  .osc-hp-spotlight__video {
    aspect-ratio: 16/9;
  }
}
@media (max-width: 768px) {
  .osc-hp-spotlight {
    --osc-spotlight-max-width: 100%;
    --osc-spotlight-inset: clamp(16px, 4vw, 24px);
    padding-top: clamp(40px, 5vw, 64px);
    padding-bottom: clamp(40px, 5vw, 64px);
  }
  .osc-hp-spotlight__card {
    padding: 24px 20px 28px;
  }
  .osc-hp-spotlight__actions {
    flex-direction: column;
    align-items: flex-start;
  }
}

/**
 * Homepage trust / benefits band (replaces upfront pricing section).
 */
.osc-home-trust {
  --osc-trust-inset: clamp(16px, 2.5vw, 30px);
  --osc-trust-max-width: 1340px;
  position: relative;
  background: #dff5e4;
  color: #122e44;
}
.osc-home-trust__frame {
  width: 100%;
  max-width: var(--osc-trust-max-width);
  margin: 0 auto;
  padding: clamp(48px, 5.5vw, 72px) var(--osc-trust-inset);
  box-sizing: border-box;
}
.osc-home-trust__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(36px, 5vw, 72px);
  align-items: center;
}
.osc-home-trust__copy {
  min-width: 0;
}
.osc-home-trust__eyebrow {
  margin: 0 0 14px;
  color: #0a3a67;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.osc-home-trust__eyebrow::before {
  content: "";
  display: block;
  width: 52px;
  height: 4px;
  margin-bottom: 14px;
  border-radius: 2px;
  background: #55df63;
}
.osc-home-trust__heading {
  margin: 0 0 20px;
  color: #122e44;
  font-size: clamp(1.6rem, 2.8vw, 2.25rem);
  line-height: 1.2;
  font-weight: 600;
  max-width: 16em;
}
.osc-home-trust__text {
  margin: 0 0 16px;
  color: rgba(18, 46, 68, 0.82);
  font-size: clamp(15px, 1.5vw, 17px);
  line-height: 1.65;
  max-width: 36em;
}
.osc-home-trust__text:last-of-type {
  margin-bottom: 28px;
}
.osc-home-trust__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin: 0;
  padding: 12px 28px;
  border: 1px solid #122e44;
  border-radius: 999px;
  background: #122e44;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(18, 46, 68, 0.15);
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.osc-home-trust__cta:hover, .osc-home-trust__cta:focus-visible {
  background: #55df63;
  border-color: #55df63;
  color: #122e44;
  text-decoration: none;
  transform: translateY(-1px);
}
.osc-home-trust__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(30px, 4vw, 48px) clamp(36px, 5vw, 64px);
  list-style: none;
  margin: 0;
  padding: 12px 0;
}
.osc-home-trust__item {
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 0;
  padding: 8px 0;
}
.osc-home-trust__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 36px;
  color: #55df63;
  text-align: center;
  filter: saturate(1.08);
}
.osc-home-trust__icon i {
  font-size: 30px;
  line-height: 1;
}
.osc-home-trust__label {
  display: block;
  min-width: 0;
  color: #122e44;
  font-size: clamp(15px, 1.5vw, 18px);
  font-weight: 600;
  line-height: 1.4;
}
@media (max-width: 1199px) {
  .osc-home-trust {
    --osc-trust-max-width: 1095px;
  }
}
@media (max-width: 991px) {
  .osc-home-trust {
    --osc-trust-max-width: 915px;
  }
  .osc-home-trust__layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .osc-home-trust__heading, .osc-home-trust__text {
    max-width: none;
  }
}
@media (max-width: 768px) {
  .osc-home-trust {
    --osc-trust-max-width: 100%;
    --osc-trust-inset: clamp(16px, 4vw, 24px);
  }
  .osc-home-trust__frame {
    padding-top: clamp(40px, 5vw, 64px);
    padding-bottom: clamp(40px, 5vw, 64px);
  }
  .osc-home-trust__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

/**
 * Site footer card layout.
 */
.osc-site-footer {
  --osc-footer-inset: clamp(16px, 2.5vw, 30px);
  --osc-footer-max-width: 1340px;
  background: #f5f5f5;
  padding: clamp(40px, 5vw, 64px) 0 clamp(28px, 4vw, 40px);
}
.osc-site-footer__wrap {
  width: 100%;
  max-width: var(--osc-footer-max-width);
  margin: 0 auto;
  padding: 0 var(--osc-footer-inset);
  box-sizing: border-box;
}
@media (max-width: 991px) {
  .osc-site-footer__wrap {
    padding-left: clamp(16px, 4vw, 24px);
    padding-right: clamp(16px, 4vw, 24px);
  }
}
.osc-site-footer__card {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 10px 40px rgba(18, 46, 68, 0.08);
  padding: clamp(28px, 4vw, 40px);
}
.osc-site-footer__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.2fr) minmax(0, 0.95fr);
  gap: clamp(28px, 4vw, 40px);
}
.osc-site-footer__heading {
  margin: 0 0 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(18, 46, 68, 0.12);
  color: #122e44;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  line-height: 1.2;
  font-weight: 300;
}
.osc-site-footer__subheading {
  margin: 22px 0 8px;
  padding-top: 18px;
  border-top: 1px solid rgba(18, 46, 68, 0.1);
  color: #122e44;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
}
.osc-site-footer__intro, .osc-site-footer__text {
  margin: 0;
  color: #6b7280;
  font-size: 14px;
  line-height: 1.65;
}
.osc-site-footer__intro {
  margin-bottom: 4px;
}
.osc-site-footer__text a {
  color: #0a3a67;
  text-decoration: none;
}
.osc-site-footer__text a:hover, .osc-site-footer__text a:focus-visible {
  color: #122e44;
  text-decoration: underline;
}
.osc-site-footer__cta {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-top: 24px;
  padding: 10px 52px 10px 22px;
  border-radius: 999px;
  position: relative;
  background: #122e44;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color 0.25s ease;
}
.osc-site-footer__cta::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #fff;
  transform: translateY(-50%);
}
.osc-site-footer__cta::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 18px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #122e44;
  border-right: 2px solid #122e44;
  transform: translateY(-50%) rotate(45deg);
}
.osc-site-footer__cta:hover, .osc-site-footer__cta:focus-visible {
  background: rgb(26.5395348837, 67.823255814, 100.2604651163);
  color: #fff;
  text-decoration: none;
}
.osc-site-footer__link-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 24px;
}
.osc-site-footer__links {
  margin: 0;
  padding: 0;
  list-style: none;
}
.osc-site-footer__links li {
  margin: 0 0 10px;
}
.osc-site-footer__links a {
  display: inline-flex;
  align-items: flex-start;
  gap: 10px;
  color: #333;
  font-size: 14px;
  line-height: 1.45;
  text-decoration: none;
  transition: color 0.2s ease;
}
.osc-site-footer__links a::before {
  content: "";
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin-top: 1px;
  border-radius: 999px;
  background: #55df63 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23122e44' d='M2.2 1.2 5.4 4 2.2 6.8l.8.8 3.6-3.6-3.6-3.6z'/%3E%3C/svg%3E") center/8px 8px no-repeat;
}
.osc-site-footer__links a:hover, .osc-site-footer__links a:focus-visible {
  color: #122e44;
}
.osc-site-footer__contacts {
  margin: 0;
  padding: 0;
  list-style: none;
}
.osc-site-footer__contacts li {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 12px;
  margin: 0 0 18px;
  color: #6b7280;
  font-size: 14px;
  line-height: 1.55;
}
.osc-site-footer__contacts strong {
  color: #122e44;
  font-weight: 700;
}
.osc-site-footer__contacts a {
  color: #0a3a67;
  text-decoration: none;
}
.osc-site-footer__contacts a:hover, .osc-site-footer__contacts a:focus-visible {
  color: #122e44;
  text-decoration: underline;
}
.osc-site-footer__contact-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(18, 46, 68, 0.15);
  border-radius: 999px;
  color: #122e44;
  font-size: 12px;
}
.osc-site-footer__social {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}
.osc-site-footer__social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: #122e44;
  color: #fff;
  font-size: 15px;
  text-decoration: none;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.osc-site-footer__social-link:hover, .osc-site-footer__social-link:focus-visible {
  background: #55df63;
  color: #122e44;
  transform: translateY(-1px);
}
.osc-site-footer__brand-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: clamp(28px, 4vw, 40px);
  padding-top: clamp(24px, 3vw, 32px);
  border-top: 1px solid rgba(18, 46, 68, 0.12);
}
.osc-site-footer__logo img {
  display: block;
  width: auto;
  max-width: 140px;
  height: auto;
}
.osc-site-footer__brand-note {
  margin: 0;
  max-width: 360px;
  color: #6b7280;
  font-size: 13px;
  line-height: 1.5;
  text-align: right;
}
.osc-site-footer__legal {
  margin-top: clamp(20px, 3vw, 28px);
  text-align: center;
}
.osc-site-footer__legal-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 10px;
  margin-bottom: 14px;
}
.osc-site-footer__legal-nav a {
  color: #6b7280;
  font-size: 13px;
  text-decoration: none;
}
.osc-site-footer__legal-nav a:hover, .osc-site-footer__legal-nav a:focus-visible {
  color: #122e44;
  text-decoration: underline;
}
.osc-site-footer__legal-sep {
  color: rgba(18, 46, 68, 0.25);
  font-size: 13px;
}
.osc-site-footer__copyright, .osc-site-footer__disclaimer {
  margin: 0 0 10px;
  color: #6b7280;
  font-size: 12px;
  line-height: 1.6;
}
.osc-site-footer__copyright a {
  color: #0a3a67;
  text-decoration: none;
}
.osc-site-footer__copyright a:hover, .osc-site-footer__copyright a:focus-visible {
  text-decoration: underline;
}
@media (max-width: 1199px) {
  .osc-site-footer__grid {
    grid-template-columns: 1fr 1fr;
  }
  .osc-site-footer__col--company {
    grid-column: 1/-1;
  }
}
@media (max-width: 768px) {
  .osc-site-footer__grid {
    grid-template-columns: 1fr;
  }
  .osc-site-footer__link-columns {
    grid-template-columns: 1fr;
  }
  .osc-site-footer__brand-bar {
    flex-direction: column;
    align-items: flex-start;
  }
  .osc-site-footer__brand-note {
    max-width: none;
    text-align: left;
  }
}

/**
 * Mobile header action bar (call · get price · brochure).
 * Replaces the utility strip above the main nav on mobile.
 */
.osc-mobile-bar {
  display: none;
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
}

@media (max-width: 768px) {
  body.osc-has-header-actions {
    --osc-header-utility-height: 38px;
  }
  body.osc-has-header-actions .osc-site-header__utility .osc-site-header__frame {
    padding-left: 0;
    padding-right: 0;
  }
  body.osc-has-header-actions .osc-site-header__utility-inner {
    padding-left: 0;
    padding-right: 0;
  }
  body.osc-has-header-actions .osc-site-header__utility-desktop {
    display: none;
  }
  body.osc-has-header-actions .osc-mobile-bar--header {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    width: 100%;
    min-height: var(--osc-header-utility-height);
    background: #122e44;
  }
  .osc-mobile-bar__action {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: var(--osc-header-utility-height, 38px);
    padding: 6px 8px;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color 0.2s ease, color 0.2s ease;
  }
  .osc-mobile-bar__action i {
    flex-shrink: 0;
    font-size: 12px;
    line-height: 1;
    opacity: 0.95;
  }
  .osc-mobile-bar__action + .osc-mobile-bar__action {
    border-left: 1px solid rgba(255, 255, 255, 0.1);
  }
  .osc-mobile-bar__action:hover, .osc-mobile-bar__action:focus-visible {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    text-decoration: none;
  }
  .osc-mobile-bar__action--primary {
    background: rgba(85, 223, 99, 0.14);
    color: #55df63;
  }
  .osc-mobile-bar__action--primary i {
    color: #55df63;
  }
  .osc-mobile-bar__action--primary:hover, .osc-mobile-bar__action--primary:focus-visible {
    background: rgba(85, 223, 99, 0.22);
    color: #55df63;
  }
}
@media (max-width: 360px) {
  body.osc-has-header-actions .osc-mobile-bar__action {
    gap: 4px;
    padding: 6px 4px;
    font-size: 10px;
  }
  body.osc-has-header-actions .osc-mobile-bar__action i {
    font-size: 11px;
  }
}
.sticky-nav {
  display: none !important;
}

/**
 * Consolidated site header (utility bar + primary nav).
 */
body {
  --osc-header-utility-height: 40px;
  --osc-header-main-height: 72px;
  --osc-header-height: calc(var(--osc-header-utility-height) + var(--osc-header-main-height));
  --osc-header-offset: var(--osc-header-height);
  --osc-header-inset: clamp(16px, 2.5vw, 30px);
  --osc-header-max-width: 1340px;
}

body.osc-header-overlay {
  --osc-header-offset: 0;
}

.osc-site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: #fff;
  box-shadow: 0 1px 0 rgba(18, 46, 68, 0.08);
  transition: background-color 0.25s ease, box-shadow 0.25s ease;
  overflow: visible;
}
.osc-site-header__frame {
  width: 100%;
  max-width: var(--osc-header-max-width);
  margin: 0 auto;
  padding: 0 var(--osc-header-inset);
  box-sizing: border-box;
}
.osc-site-header__utility {
  border-bottom: 1px solid rgba(18, 46, 68, 0.08);
  background: #f5f5f5;
  overflow: visible;
}
.osc-site-header__utility-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: var(--osc-header-utility-height);
  overflow: visible;
}
.osc-site-header__utility-desktop {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
}
.osc-site-header__trust {
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  min-width: 0;
  max-width: none;
  overflow: visible;
}
.osc-site-header__trust-widget {
  display: block;
  width: max-content;
  min-width: 0;
  min-height: 24px;
  height: 24px;
  margin: 0 0 0 -14px;
  padding: 3px 0 0;
  overflow: visible;
  text-align: left;
  zoom: 0.8;
}
.osc-site-header__trust-widget iframe {
  display: block !important;
  margin: 0 !important;
  max-width: none !important;
  text-align: left;
}
.osc-site-header__quick-links {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 16px;
}
.osc-site-header__quick-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #122e44;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  white-space: nowrap;
}
.osc-site-header__quick-link i {
  font-size: 12px;
  opacity: 0.85;
}
.osc-site-header__quick-link:hover, .osc-site-header__quick-link:focus-visible {
  color: #0a3a67;
}
.osc-site-header__main {
  width: 100%;
  background: #fff;
}
.osc-site-header__logo {
  display: block !important;
  background: #fff !important;
}
.osc-site-header .logo-white {
  display: none !important;
}
.osc-site-header .navbar {
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  display: grid;
  grid-template-columns: minmax(90px, auto) minmax(0, 1fr);
  align-items: center;
  column-gap: 12px;
  min-height: var(--osc-header-main-height);
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.osc-site-header .navbar-brand {
  position: static;
  grid-column: 1;
  height: auto;
  padding: 4px 0;
  z-index: 2;
}
.osc-site-header .navbar-brand img {
  display: block;
  width: 90px;
  height: auto;
  max-height: calc(var(--osc-header-main-height) - 8px);
}
.osc-site-header .container2 {
  position: relative;
  grid-column: 2;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 !important;
  box-sizing: border-box;
  display: block;
  min-height: 0;
}
.osc-site-header #mega-menu-wrap-extra-menu {
  width: 100%;
  background: transparent !important;
}
@media (min-width: 769px) {
  .osc-site-header {
    --osc-header-cta-gap: 10px;
    --osc-header-cta-secondary-width: 142px;
    --osc-header-cta-primary-width: 158px;
  }
  .osc-site-header #mega-menu-wrap-extra-menu #mega-menu-extra-menu {
    display: flex !important;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    min-height: var(--osc-header-main-height);
    margin: 0;
    padding: 0 calc(var(--osc-header-cta-secondary-width) + var(--osc-header-cta-primary-width) + var(--osc-header-cta-gap)) 0 0;
    background: transparent;
    float: none !important;
    border: 0;
  }
  .osc-site-header #mega-menu-wrap-extra-menu #mega-menu-extra-menu > li.mega-menu-item > a.mega-menu-link {
    height: auto !important;
    line-height: 1.2 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    display: inline-flex;
    align-items: center;
    min-height: var(--osc-header-main-height);
    font-weight: inherit;
  }
  .osc-site-header #mega-menu-wrap-extra-menu #mega-menu-extra-menu > li#mega-menu-item-31524,
  .osc-site-header #mega-menu-wrap-extra-menu #mega-menu-extra-menu > li#mega-menu-item-31582 {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    float: none !important;
    margin: 0 !important;
    flex: 0 0 auto;
  }
  .osc-site-header #mega-menu-wrap-extra-menu #mega-menu-extra-menu > li#mega-menu-item-31582 {
    right: 0 !important;
  }
  .osc-site-header #mega-menu-wrap-extra-menu #mega-menu-extra-menu > li#mega-menu-item-31524 {
    right: calc(var(--osc-header-cta-secondary-width) + var(--osc-header-cta-gap)) !important;
  }
  .osc-site-header #mega-menu-wrap-extra-menu #mega-menu-extra-menu > li#mega-menu-item-31524 > a.mega-menu-link,
  .osc-site-header #mega-menu-wrap-extra-menu #mega-menu-extra-menu > li#mega-menu-item-31582 > a.mega-menu-link {
    min-height: auto !important;
    height: auto !important;
    line-height: 1.2 !important;
    padding: 10px 18px !important;
    border-radius: 999px;
    font-size: 13px !important;
    font-weight: 700 !important;
    white-space: nowrap;
  }
  .osc-site-header #mega-menu-wrap-extra-menu #mega-menu-extra-menu > li#mega-menu-item-31524 > a.mega-menu-link {
    background: #55df63 !important;
    color: #122e44 !important;
    border: 1px solid #55df63 !important;
  }
  .osc-site-header #mega-menu-wrap-extra-menu #mega-menu-extra-menu > li#mega-menu-item-31524 > a.mega-menu-link:hover, .osc-site-header #mega-menu-wrap-extra-menu #mega-menu-extra-menu > li#mega-menu-item-31524 > a.mega-menu-link:focus-visible {
    background: rgb(50.6633663366, 216.5366336634, 67.4910891089) !important;
    color: #122e44 !important;
  }
  .osc-site-header #mega-menu-wrap-extra-menu #mega-menu-extra-menu > li#mega-menu-item-31582 > a.mega-menu-link {
    background: transparent !important;
    color: #122e44 !important;
    border: 1px solid #122e44 !important;
  }
  .osc-site-header #mega-menu-wrap-extra-menu #mega-menu-extra-menu > li#mega-menu-item-31582 > a.mega-menu-link:hover, .osc-site-header #mega-menu-wrap-extra-menu #mega-menu-extra-menu > li#mega-menu-item-31582 > a.mega-menu-link:focus-visible {
    background: #122e44 !important;
    color: #fff !important;
    border-color: #122e44 !important;
  }
  .osc-site-header #mega-menu-wrap-extra-menu #mega-menu-extra-menu > li#mega-menu-item-31524 > a.mega-menu-link:before,
  .osc-site-header #mega-menu-wrap-extra-menu #mega-menu-extra-menu > li#mega-menu-item-31582 > a.mega-menu-link:before {
    display: none !important;
  }
}
.osc-site-header .navbar-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  float: none;
  margin: 0 auto;
}
.osc-site-header .navbar-nav > li {
  display: flex;
  align-items: center;
  float: none;
}
.osc-site-header .navbar-nav > li > a {
  font-size: 13px;
  font-weight: inherit;
  letter-spacing: 0.04em;
  color: #122e44;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--osc-header-main-height);
  padding: 0 16px !important;
  line-height: 1.2 !important;
  margin-top: 0 !important;
}
.osc-site-header .navbar-nav > li > p.stay-connect {
  color: #122e44;
  display: inline-flex;
  align-items: center;
  min-height: var(--osc-header-main-height);
  margin-bottom: 0;
  line-height: 1.2 !important;
}
.osc-site-header .navbar.no-bg .navbar-nav > li > a,
.osc-site-header .navbar.no-bg .navbar-nav > li > p.stay-connect,
.osc-site-header .navbar.no-bg.scroll .navbar-nav > li > a,
.osc-site-header .navbar.no-bg.scroll .navbar-nav > li > p.stay-connect {
  color: #122e44;
}
.osc-site-header .navbar.no-bg .logo-white,
.osc-site-header .navbar.no-bg.scroll .logo-white {
  display: none !important;
}
.osc-site-header .navbar.no-bg .logo-black,
.osc-site-header .navbar.no-bg.scroll .logo-black,
.osc-site-header .navbar.no-bg .osc-site-header__logo,
.osc-site-header .navbar.no-bg.scroll .osc-site-header__logo {
  display: block !important;
}
.osc-site-header .navbar-nav > li > a.header-btn {
  min-height: auto !important;
  height: auto;
  margin-top: 0 !important;
  margin-left: 0;
  padding: 10px 18px !important;
  border: 0;
  border-radius: 999px;
  background: #55df63;
  color: #122e44;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2 !important;
  transform: none;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.osc-site-header .navbar-nav > li > a.header-btn:hover, .osc-site-header .navbar-nav > li > a.header-btn:focus-visible {
  background: rgb(50.6633663366, 216.5366336634, 67.4910891089);
  color: #122e44;
  transform: translateY(-1px);
}
.osc-site-header:not(.osc-site-header--overlay) .logo-black,
.osc-site-header:not(.osc-site-header--overlay) .osc-site-header__logo {
  display: block !important;
}
.osc-site-header--overlay {
  background: transparent;
  box-shadow: none;
}
.osc-site-header--overlay .osc-site-header__main {
  background: #fff;
  box-shadow: 0 1px 0 rgba(18, 46, 68, 0.08);
}
.osc-site-header--overlay .navbar-nav > li > a.header-btn {
  background: #55df63;
  color: #122e44;
}
.osc-site-header--overlay.is-scrolled {
  box-shadow: 0 8px 24px rgba(18, 46, 68, 0.08);
}
.osc-site-header.is-scrolled .navbar.scroll {
  background: transparent;
}

.subnav-1,
.reviewstrip-container,
.tpbox-head.show479,
.show479 + .reviewstrip-container {
  display: none !important;
}

@media (max-width: 991px) {
  .osc-site-header__quick-links {
    gap: 12px;
  }
  .osc-site-header__quick-link span {
    display: none;
  }
  .osc-site-header__quick-link i {
    font-size: 14px;
  }
}
@media (max-width: 768px) {
  body {
    --osc-header-utility-height: 36px;
    --osc-header-main-height: 60px;
  }
  body.mega-menu-extra-menu-mobile-open {
    overflow: hidden;
  }
  body.mega-menu-extra-menu-mobile-open .osc-site-header .navbar-brand,
  body.mega-menu-extra-menu-mobile-open .osc-site-header .osc-site-header__logo, body.mega-menu-extra-menu-mobile-open .osc-site-header__utility {
    visibility: hidden;
  }
  .osc-site-header__trust-widget {
    height: 22px;
    min-height: 22px;
    padding-top: 2px;
  }
  .osc-site-header .navbar {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
  }
  .osc-site-header .navbar-brand {
    flex: 0 0 auto;
  }
  .osc-site-header .navbar-brand img {
    width: 78px;
  }
  .osc-site-header .container2 {
    flex: 1 1 auto;
    width: auto;
    display: flex;
    justify-content: flex-end;
  }
  .osc-site-header #mega-menu-wrap-extra-menu {
    width: auto;
  }
  .osc-site-header #mega-menu-wrap-extra-menu .mega-menu-toggle {
    width: auto;
    min-width: 0;
    min-height: var(--osc-header-main-height);
    background: transparent !important;
    justify-content: flex-end;
  }
  .osc-site-header #mega-menu-wrap-extra-menu .mega-menu-toggle .mega-toggle-blocks-left,
  .osc-site-header #mega-menu-wrap-extra-menu .mega-menu-toggle .mega-toggle-blocks-center,
  .osc-site-header #mega-menu-wrap-extra-menu .mega-menu-toggle .mega-toggle-block-1,
  .osc-site-header #mega-menu-wrap-extra-menu .mega-menu-toggle .mega-toggle-block-2,
  .osc-site-header #mega-menu-wrap-extra-menu .mega-menu-toggle .mega-toggle-block-5 {
    display: none !important;
  }
  .osc-site-header #mega-menu-wrap-extra-menu .mega-menu-toggle .mega-toggle-blocks-right {
    flex: 0 0 auto;
    padding-right: 0;
  }
  .osc-site-header #mega-menu-wrap-extra-menu .mega-menu-toggle .mega-toggle-block-6 button.mega-toggle-standard {
    gap: 6px;
    padding: 0;
  }
  .osc-site-header #mega-menu-wrap-extra-menu .mega-menu-toggle.mega-menu-open:after {
    display: none !important;
  }
  .osc-site-header #mega-menu-wrap-extra-menu .mega-menu-toggle + #mega-menu-extra-menu {
    position: fixed !important;
    inset: 0 auto auto -100% !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-y !important;
    background: #fff !important;
    z-index: 99999999999 !important;
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    min-height: 0 !important;
  }
  .osc-site-header #mega-menu-wrap-extra-menu .mega-menu-toggle.mega-menu-open + #mega-menu-extra-menu {
    inset: 0 !important;
    left: 0 !important;
    padding: max(64px, env(safe-area-inset-top, 0px) + 56px) var(--osc-header-inset) max(24px, env(safe-area-inset-bottom, 0px)) !important;
  }
  .osc-site-header #mega-menu-wrap-extra-menu .mega-menu-toggle.mega-menu-open ~ button.mega-close {
    position: fixed !important;
    top: max(12px, env(safe-area-inset-top, 0px));
    right: max(var(--osc-header-inset), env(safe-area-inset-right, 0px));
    left: auto !important;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    background: rgba(18, 46, 68, 0.08);
    z-index: 100000000000 !important;
  }
  .osc-site-header #mega-menu-wrap-extra-menu .mega-menu-toggle.mega-menu-open ~ button.mega-close:before {
    color: #122e44 !important;
    font-size: 22px !important;
  }
  .osc-site-header #mega-menu-wrap-extra-menu #mega-menu-extra-menu {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .osc-site-header #mega-menu-wrap-extra-menu #mega-menu-extra-menu img.mega-menu-logo,
  .osc-site-header #mega-menu-wrap-extra-menu #mega-menu-extra-menu a.mega-menu-link.mega-menu-logo,
  .osc-site-header #mega-menu-wrap-extra-menu #mega-menu-extra-menu > li.mega-menu-item.mega-menu-logo,
  .osc-site-header #mega-menu-wrap-extra-menu #mega-menu-extra-menu li.mega-menu-item a.mega-menu-link img.mega-menu-logo {
    display: none !important;
  }
  .osc-site-header #mega-menu-wrap-extra-menu #mega-menu-extra-menu > li.mega-menu-item {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex-shrink: 0;
  }
  .osc-site-header #mega-menu-wrap-extra-menu #mega-menu-extra-menu > li.mega-menu-item > a.mega-menu-link {
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    min-height: 48px !important;
    height: auto !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid rgba(18, 46, 68, 0.08);
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    text-transform: uppercase;
    letter-spacing: 0.02em;
  }
  .osc-site-header #mega-menu-wrap-extra-menu #mega-menu-extra-menu li.mega-menu-megamenu > ul.mega-sub-menu {
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    box-shadow: none !important;
    background: #f5f5f5 !important;
    padding: 0 0 8px !important;
    margin: 0 !important;
    border: 0 !important;
    float: none !important;
    overflow: hidden !important;
  }
  .osc-site-header #mega-menu-wrap-extra-menu #mega-menu-extra-menu li.mega-menu-megamenu > ul.mega-sub-menu .mega-menu-row,
  .osc-site-header #mega-menu-wrap-extra-menu #mega-menu-extra-menu li.mega-menu-megamenu > ul.mega-sub-menu .mega-menu-column,
  .osc-site-header #mega-menu-wrap-extra-menu #mega-menu-extra-menu li.mega-menu-megamenu > ul.mega-sub-menu .mega-menu-column > ul.mega-sub-menu {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
  }
  .osc-site-header #mega-menu-wrap-extra-menu #mega-menu-extra-menu li.mega-menu-megamenu > ul.mega-sub-menu .mega-menu-row > ul.mega-sub-menu {
    display: block !important;
  }
  .osc-site-header #mega-menu-wrap-extra-menu #mega-menu-extra-menu li.mega-menu-megamenu > ul.mega-sub-menu .mega-menu-link {
    font-size: 14px !important;
    font-weight: 500 !important;
    text-transform: none;
    min-height: 44px !important;
    padding: 10px 12px !important;
  }
  .osc-site-header #mega-menu-wrap-extra-menu #mega-menu-extra-menu .mega-menu-images img {
    display: none !important;
  }
  .osc-site-header .navbar-nav > li > a {
    font-size: 12px;
  }
}
@media (max-width: 480px) {
  .osc-site-header__utility-inner {
    gap: 10px;
  }
}
/**
 * Site-wide accordion / FAQ expandable sections.
 */
.osc-accordion,
.osc-hp-accordion {
  display: grid;
  gap: 12px;
}
.osc-accordion__item,
.osc-hp-accordion__item {
  border: 1px solid rgba(18, 46, 68, 0.1);
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(18, 46, 68, 0.05);
}
.osc-accordion__trigger,
.osc-hp-accordion__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 22px;
  cursor: pointer;
  list-style: none;
  color: #122e44;
  font-size: clamp(1.25rem, 2vw, 1.40625rem);
  font-weight: 700;
  line-height: 1.35;
}
.osc-accordion__trigger::-webkit-details-marker,
.osc-hp-accordion__trigger::-webkit-details-marker {
  display: none;
}
.osc-accordion__trigger::after,
.osc-hp-accordion__trigger::after {
  content: "";
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: rgba(85, 223, 99, 0.2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='%23122e44' d='M2.5 4.5 6 8l3.5-3.5'/%3E%3C/svg%3E") center/12px 12px no-repeat;
  transition: transform 0.25s ease, background-color 0.25s ease;
}
.osc-accordion__item[open] > .osc-accordion__trigger::after,
.osc-accordion__item[open] > .osc-hp-accordion__trigger::after,
.osc-hp-accordion__item[open] > .osc-accordion__trigger::after,
.osc-hp-accordion__item[open] > .osc-hp-accordion__trigger::after {
  transform: rotate(180deg);
  background-color: rgba(85, 223, 99, 0.35);
}
.osc-accordion__panel,
.osc-hp-accordion__panel {
  padding: 18px 22px 22px;
  color: #333;
  font-size: 18.75px;
  line-height: 1.65;
  border-top: 1px solid rgba(18, 46, 68, 0.08);
}
.osc-accordion__panel--legacy,
.osc-hp-accordion__panel--legacy {
  color: #333;
}
.osc-accordion__panel--legacy section,
.osc-hp-accordion__panel--legacy section {
  padding: 0 !important;
  margin: 0 0 24px;
  background: transparent !important;
  width: 100%;
  max-width: none;
}
.osc-accordion__panel--legacy .bg-blue,
.osc-accordion__panel--legacy .bg-lightgrey,
.osc-accordion__panel--legacy .bg-grey,
.osc-accordion__panel--legacy .bg-white,
.osc-accordion__panel--legacy .wide-140,
.osc-accordion__panel--legacy .wide-50,
.osc-hp-accordion__panel--legacy .bg-blue,
.osc-hp-accordion__panel--legacy .bg-lightgrey,
.osc-hp-accordion__panel--legacy .bg-grey,
.osc-hp-accordion__panel--legacy .bg-white,
.osc-hp-accordion__panel--legacy .wide-140,
.osc-hp-accordion__panel--legacy .wide-50 {
  background: transparent !important;
}
.osc-accordion__panel--legacy .white-color,
.osc-accordion__panel--legacy .grey-color,
.osc-accordion__panel--legacy .white-color h2,
.osc-accordion__panel--legacy .white-color h3,
.osc-accordion__panel--legacy .white-color h4,
.osc-accordion__panel--legacy .white-color p,
.osc-accordion__panel--legacy .white-color span,
.osc-accordion__panel--legacy .grey-color h2,
.osc-accordion__panel--legacy .grey-color h3,
.osc-accordion__panel--legacy .grey-color h4,
.osc-accordion__panel--legacy .grey-color p,
.osc-accordion__panel--legacy .grey-color span,
.osc-hp-accordion__panel--legacy .white-color,
.osc-hp-accordion__panel--legacy .grey-color,
.osc-hp-accordion__panel--legacy .white-color h2,
.osc-hp-accordion__panel--legacy .white-color h3,
.osc-hp-accordion__panel--legacy .white-color h4,
.osc-hp-accordion__panel--legacy .white-color p,
.osc-hp-accordion__panel--legacy .white-color span,
.osc-hp-accordion__panel--legacy .grey-color h2,
.osc-hp-accordion__panel--legacy .grey-color h3,
.osc-hp-accordion__panel--legacy .grey-color h4,
.osc-hp-accordion__panel--legacy .grey-color p,
.osc-hp-accordion__panel--legacy .grey-color span {
  color: #333 !important;
}
.osc-accordion__panel--legacy .green-links a,
.osc-accordion__panel--legacy .blue-links a,
.osc-hp-accordion__panel--legacy .green-links a,
.osc-hp-accordion__panel--legacy .blue-links a {
  color: #0a3a67 !important;
}
.osc-accordion__panel--legacy .green-links a:hover, .osc-accordion__panel--legacy .green-links a:focus-visible,
.osc-accordion__panel--legacy .blue-links a:hover,
.osc-accordion__panel--legacy .blue-links a:focus-visible,
.osc-hp-accordion__panel--legacy .green-links a:hover,
.osc-hp-accordion__panel--legacy .green-links a:focus-visible,
.osc-hp-accordion__panel--legacy .blue-links a:hover,
.osc-hp-accordion__panel--legacy .blue-links a:focus-visible {
  color: #122e44 !important;
}
.osc-accordion__panel--legacy .bg-blue p,
.osc-accordion__panel--legacy .bg-blue span,
.osc-hp-accordion__panel--legacy .bg-blue p,
.osc-hp-accordion__panel--legacy .bg-blue span {
  color: #333 !important;
}
.osc-accordion__panel--legacy .white-color li,
.osc-accordion__panel--legacy .grey-color li,
.osc-accordion__panel--legacy .bg-blue li,
.osc-hp-accordion__panel--legacy .white-color li,
.osc-hp-accordion__panel--legacy .grey-color li,
.osc-hp-accordion__panel--legacy .bg-blue li {
  color: #122e44 !important;
}
.osc-accordion__panel--legacy .container,
.osc-hp-accordion__panel--legacy .container {
  width: 100%;
  max-width: none;
  padding: 0;
}
.osc-accordion__panel--legacy .row,
.osc-hp-accordion__panel--legacy .row {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0 0 24px;
  padding: 0;
}
.osc-accordion__panel--legacy .row::before, .osc-accordion__panel--legacy .row::after,
.osc-hp-accordion__panel--legacy .row::before,
.osc-hp-accordion__panel--legacy .row::after {
  display: none;
}
.osc-accordion__panel--legacy .row:has(> .col-md-4),
.osc-accordion__panel--legacy .row:has(> .col-sm-4),
.osc-accordion__panel--legacy .row:has(> .portfolio-item),
.osc-accordion__panel--legacy .col-md-12:has(> .col-md-4),
.osc-accordion__panel--legacy .col-md-12:has(> .col-sm-4),
.osc-accordion__panel--legacy .banner-txt:has(> .col-md-4),
.osc-hp-accordion__panel--legacy .row:has(> .col-md-4),
.osc-hp-accordion__panel--legacy .row:has(> .col-sm-4),
.osc-hp-accordion__panel--legacy .row:has(> .portfolio-item),
.osc-hp-accordion__panel--legacy .col-md-12:has(> .col-md-4),
.osc-hp-accordion__panel--legacy .col-md-12:has(> .col-sm-4),
.osc-hp-accordion__panel--legacy .banner-txt:has(> .col-md-4) {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.osc-accordion__panel--legacy [class*=col-],
.osc-hp-accordion__panel--legacy [class*=col-] {
  float: none;
  width: auto;
  max-width: none;
  min-width: 0;
  padding: 0;
}
.osc-accordion__panel--legacy .col-md-12:not(:has(> .col-md-4)):not(:has(> .col-sm-4)),
.osc-accordion__panel--legacy .col-sm-12,
.osc-hp-accordion__panel--legacy .col-md-12:not(:has(> .col-md-4)):not(:has(> .col-sm-4)),
.osc-hp-accordion__panel--legacy .col-sm-12 {
  display: block;
  width: 100%;
}
.osc-accordion__panel--legacy .portfolio-item,
.osc-hp-accordion__panel--legacy .portfolio-item {
  display: block !important;
  opacity: 1 !important;
  min-width: 0;
}
.osc-accordion__panel--legacy .portfolio-item > a,
.osc-hp-accordion__panel--legacy .portfolio-item > a {
  display: block;
}
.osc-accordion__panel--legacy .portfolio-item .col-lg-12,
.osc-accordion__panel--legacy .portfolio-item .bg-white,
.osc-hp-accordion__panel--legacy .portfolio-item .col-lg-12,
.osc-hp-accordion__panel--legacy .portfolio-item .bg-white {
  background: #fff !important;
  float: none;
  width: 100%;
  padding: 14px 16px 18px !important;
}
.osc-accordion__panel--legacy .p-small,
.osc-accordion__panel--legacy span.p-small,
.osc-hp-accordion__panel--legacy .p-small,
.osc-hp-accordion__panel--legacy span.p-small {
  display: block;
  color: #6b7280 !important;
  font-size: 17.5px;
  line-height: 1.6;
}
.osc-accordion__panel--legacy .p-small a,
.osc-accordion__panel--legacy span.p-small a,
.osc-hp-accordion__panel--legacy .p-small a,
.osc-hp-accordion__panel--legacy span.p-small a {
  color: #0a3a67 !important;
}
.osc-accordion__panel--legacy .boxshadow,
.osc-accordion__panel--legacy .img-responsive,
.osc-hp-accordion__panel--legacy .boxshadow,
.osc-hp-accordion__panel--legacy .img-responsive {
  max-width: 100%;
  height: auto;
}
.osc-accordion__panel--legacy .boxshadow,
.osc-hp-accordion__panel--legacy .boxshadow {
  box-shadow: 0 4px 16px rgba(18, 46, 68, 0.08);
  border-radius: 12px;
}
.osc-accordion__panel--legacy .portfolio-item .boxshadow,
.osc-hp-accordion__panel--legacy .portfolio-item .boxshadow {
  border-radius: 12px 12px 0 0;
}
.osc-accordion__panel--legacy .banner-txt,
.osc-hp-accordion__panel--legacy .banner-txt {
  padding: 0;
}
.osc-accordion__panel--legacy b,
.osc-accordion__panel--legacy strong,
.osc-hp-accordion__panel--legacy b,
.osc-hp-accordion__panel--legacy strong {
  color: #122e44;
  font-weight: 700;
}
.osc-accordion__panel--legacy b a,
.osc-accordion__panel--legacy strong a,
.osc-hp-accordion__panel--legacy b a,
.osc-hp-accordion__panel--legacy strong a {
  color: #0a3a67 !important;
}
.osc-accordion__panel--legacy h2,
.osc-accordion__panel--legacy h3,
.osc-accordion__panel--legacy h4,
.osc-hp-accordion__panel--legacy h2,
.osc-hp-accordion__panel--legacy h3,
.osc-hp-accordion__panel--legacy h4 {
  color: #122e44 !important;
}
.osc-accordion__panel--legacy h3,
.osc-accordion__panel--legacy h4,
.osc-hp-accordion__panel--legacy h3,
.osc-hp-accordion__panel--legacy h4 {
  margin-top: 28px;
}
.osc-accordion__panel--legacy h3 + p,
.osc-accordion__panel--legacy h4 + p,
.osc-hp-accordion__panel--legacy h3 + p,
.osc-hp-accordion__panel--legacy h4 + p {
  margin-top: 0;
}
.osc-accordion__panel--legacy p,
.osc-hp-accordion__panel--legacy p {
  color: #333;
}
.osc-accordion__panel--legacy section#oscuk li,
.osc-accordion__panel--legacy section#oscuk2 li,
.osc-hp-accordion__panel--legacy section#oscuk li,
.osc-hp-accordion__panel--legacy section#oscuk2 li {
  color: #122e44 !important;
  font-weight: 700;
  padding: 10px 0;
}
.osc-accordion__panel--legacy section#oscuk li::before,
.osc-accordion__panel--legacy section#oscuk2 li::before,
.osc-hp-accordion__panel--legacy section#oscuk li::before,
.osc-hp-accordion__panel--legacy section#oscuk2 li::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 5px solid #55df63;
  margin-right: 10px;
  vertical-align: 0.05em;
}
.osc-accordion__panel--legacy ul,
.osc-hp-accordion__panel--legacy ul {
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
}
.osc-accordion__panel--legacy li,
.osc-hp-accordion__panel--legacy li {
  color: #122e44 !important;
  font-weight: 700;
  line-height: 1.55;
  padding: 10px 0;
}
.osc-accordion__panel--legacy li::before,
.osc-hp-accordion__panel--legacy li::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 5px solid #55df63;
  margin-right: 10px;
  vertical-align: 0.05em;
}
.osc-accordion__panel--legacy li a,
.osc-hp-accordion__panel--legacy li a {
  color: #0a3a67 !important;
  font-weight: 700;
}
.osc-accordion__panel--legacy section > .container > .row > .col-md-12 > h2:first-child,
.osc-accordion__panel--legacy section > .container > .row > .col-md-12.text-left > h2:first-child,
.osc-accordion__panel--legacy section > .container.white-color > .row > .col-md-12 > .col-md-12 > h2:first-child,
.osc-hp-accordion__panel--legacy section > .container > .row > .col-md-12 > h2:first-child,
.osc-hp-accordion__panel--legacy section > .container > .row > .col-md-12.text-left > h2:first-child,
.osc-hp-accordion__panel--legacy section > .container.white-color > .row > .col-md-12 > .col-md-12 > h2:first-child {
  display: none;
}
.osc-accordion__panel--legacy a,
.osc-hp-accordion__panel--legacy a {
  color: #0a3a67 !important;
  font-weight: 600;
}
.osc-accordion__panel h2,
.osc-accordion__panel h3,
.osc-accordion__panel h4,
.osc-hp-accordion__panel h2,
.osc-hp-accordion__panel h3,
.osc-hp-accordion__panel h4 {
  margin: 20px 0 12px;
  color: #122e44;
  font-weight: 700;
  line-height: 1.25;
}
.osc-accordion__panel h2,
.osc-hp-accordion__panel h2 {
  font-size: 1.875rem;
}
.osc-accordion__panel h3,
.osc-hp-accordion__panel h3 {
  font-size: 1.5625rem;
}
.osc-accordion__panel h4,
.osc-hp-accordion__panel h4 {
  font-size: 1.375rem;
}
.osc-accordion__panel p,
.osc-hp-accordion__panel p {
  margin: 0 0 16px;
}
.osc-accordion__panel ul,
.osc-hp-accordion__panel ul {
  margin: 0 0 16px;
  padding-left: 20px;
}
.osc-accordion__panel a,
.osc-hp-accordion__panel a {
  color: #0a3a67;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.osc-accordion__panel a:hover, .osc-accordion__panel a:focus-visible,
.osc-hp-accordion__panel a:hover,
.osc-hp-accordion__panel a:focus-visible {
  color: #122e44;
}
.osc-accordion__columns,
.osc-hp-accordion__columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.osc-accordion__product-grid,
.osc-hp-accordion__product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 8px;
}
.osc-accordion__product-card,
.osc-hp-accordion__product-card {
  border: 1px solid rgba(18, 46, 68, 0.08);
  border-radius: 12px;
  overflow: hidden;
  background: #f5f5f5;
}
.osc-accordion__product-card img,
.osc-hp-accordion__product-card img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  object-fit: cover;
}
.osc-accordion__product-body,
.osc-hp-accordion__product-body {
  padding: 14px 16px 18px;
  background: #fff;
}
.osc-accordion__product-body h4,
.osc-hp-accordion__product-body h4 {
  margin-top: 0;
}

.osc-accordion-section {
  padding-top: clamp(40px, 5vw, 64px);
  padding-bottom: clamp(40px, 5vw, 64px);
}
.osc-accordion-section__intro {
  max-width: 760px;
  margin: 0 auto clamp(28px, 4vw, 40px);
  text-align: center;
}
.osc-accordion-section__title {
  margin: 0;
  color: #122e44;
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  line-height: 1.2;
  font-weight: 700;
}
.osc-accordion-section__lead {
  margin: 0;
  color: #6b7280;
  font-size: 20px;
  line-height: 1.65;
}

.osc-accordion-wrap {
  width: 100%;
  max-width: 1340px;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(16px, 2.5vw, 30px);
  padding-right: clamp(16px, 2.5vw, 30px);
  box-sizing: border-box;
}
@media (max-width: 991px) {
  .osc-accordion-wrap {
    padding-left: clamp(16px, 4vw, 24px);
    padding-right: clamp(16px, 4vw, 24px);
  }
}
.osc-accordion-wrap {
  max-width: 900px;
}

@media (max-width: 991px) {
  .osc-accordion__columns,
  .osc-accordion__product-grid,
  .osc-hp-accordion__columns,
  .osc-hp-accordion__product-grid,
  .osc-accordion__panel--legacy .row:has(> .col-md-4),
  .osc-hp-accordion__panel--legacy .row:has(> .col-md-4),
  .osc-accordion__panel--legacy .row:has(> .col-sm-4),
  .osc-hp-accordion__panel--legacy .row:has(> .col-sm-4),
  .osc-accordion__panel--legacy .row:has(> .portfolio-item),
  .osc-hp-accordion__panel--legacy .row:has(> .portfolio-item),
  .osc-accordion__panel--legacy .col-md-12:has(> .col-md-4),
  .osc-hp-accordion__panel--legacy .col-md-12:has(> .col-md-4),
  .osc-accordion__panel--legacy .col-md-12:has(> .col-sm-4),
  .osc-hp-accordion__panel--legacy .col-md-12:has(> .col-sm-4),
  .osc-accordion__panel--legacy .banner-txt:has(> .col-md-4),
  .osc-hp-accordion__panel--legacy .banner-txt:has(> .col-md-4) {
    grid-template-columns: 1fr;
  }
}
/**
 * Case studies card grid (site-wide).
 * Matches the homepage Real Case Studies layout.
 */
.osc-cases-section {
  padding-top: clamp(40px, 5vw, 64px);
  padding-bottom: clamp(40px, 5vw, 64px);
}
.osc-cases-section--grey {
  background: #f5f5f5;
}
.osc-cases-section--white {
  background: #fff;
}

.osc-cases-wrap {
  width: 100%;
  max-width: 1340px;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(16px, 2.5vw, 30px);
  padding-right: clamp(16px, 2.5vw, 30px);
  box-sizing: border-box;
}
@media (max-width: 991px) {
  .osc-cases-wrap {
    padding-left: clamp(16px, 4vw, 24px);
    padding-right: clamp(16px, 4vw, 24px);
  }
}

.osc-cases__intro {
  max-width: 760px;
  margin: 0 auto clamp(28px, 4vw, 40px);
  text-align: center;
}

.osc-cases__heading {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  margin: 0 0 10px;
  color: #122e44;
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  line-height: 1.2;
  font-weight: 700;
}

.osc-cases__lead {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  margin: 0 0 clamp(24px, 3vw, 36px);
  color: #6b7280;
  font-size: 15px;
  line-height: 1.65;
}

.osc-cases__filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 0 0 28px;
}

.osc-cases__filter {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 8px 18px;
  border: 1px solid rgba(18, 46, 68, 0.14);
  border-radius: 999px;
  background: #fff;
  color: #122e44;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.osc-cases__filter:hover, .osc-cases__filter:focus-visible {
  border-color: rgba(18, 46, 68, 0.28);
  color: #0a3a67;
}
.osc-cases__filter.is-active {
  border-color: #122e44;
  background: #122e44;
  color: #fff;
}

.osc-cases__status {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.65;
  margin: -12px 0 24px;
  text-align: center;
  color: #6b7280;
}

.osc-cases__empty {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.65;
  font-weight: 500;
  color: #333;
  margin: 0;
  padding: 28px 20px;
  text-align: center;
  color: #6b7280;
  background: #fff;
  border-radius: 14px;
}
.osc-cases__empty.hidden, .osc-cases__empty[hidden] {
  display: none;
}

.osc-cases__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 24px);
  list-style: none;
  margin: 0;
  padding: 0;
}

.osc-cases__item {
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(18, 46, 68, 0.08);
}
.osc-cases__item.is-filtered-out {
  display: none;
}

.osc-cases__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 600/335;
  object-fit: cover;
}

.osc-cases__body {
  padding: 14px 16px 18px;
}

.osc-cases__title {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  margin: 0 0 6px;
  color: #122e44;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
}
.osc-cases__title a {
  color: inherit;
  text-decoration: none;
}
.osc-cases__title a:hover, .osc-cases__title a:focus-visible {
  color: #0a3a67;
}

.osc-cases__meta {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.65;
  margin: 0;
  color: #6b7280;
}

.osc-cases__actions {
  margin-top: 28px;
  text-align: center;
}

@media (max-width: 991px) {
  .osc-cases__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 768px) {
  .osc-cases__grid {
    grid-template-columns: 1fr;
  }
  .osc-cases__filters {
    justify-content: flex-start;
  }
}
/**
 * Showroom + video showcase grid.
 */
.osc-showcase {
  padding-top: clamp(40px, 5vw, 64px);
  padding-bottom: clamp(40px, 5vw, 64px);
  background: #fff;
}
.osc-showcase__wrap {
  width: 100%;
  max-width: 1340px;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(16px, 2.5vw, 30px);
  padding-right: clamp(16px, 2.5vw, 30px);
  box-sizing: border-box;
}
@media (max-width: 991px) {
  .osc-showcase__wrap {
    padding-left: clamp(16px, 4vw, 24px);
    padding-right: clamp(16px, 4vw, 24px);
  }
}
.osc-showcase__intro {
  max-width: 760px;
  margin: 0 auto clamp(28px, 4vw, 40px);
  text-align: center;
}
.osc-showcase__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.65fr);
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 24px);
  height: clamp(312px, 28.8vw, 432px);
}
.osc-showcase__feature {
  grid-row: 1/-1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  height: 100%;
}
.osc-showcase__feature-trigger {
  position: relative;
  display: block;
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 22px;
  overflow: hidden;
  background: #122e44;
  cursor: pointer;
  text-align: left;
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.osc-showcase__feature-trigger:hover, .osc-showcase__feature-trigger:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 20px 48px rgba(18, 46, 68, 0.18);
}
.osc-showcase__feature-trigger:hover .osc-showcase__feature-image, .osc-showcase__feature-trigger:focus-visible .osc-showcase__feature-image {
  transform: scale(1.03);
}
.osc-showcase__feature-trigger:hover .osc-showcase__play-badge, .osc-showcase__feature-trigger:focus-visible .osc-showcase__play-badge {
  transform: translate(-50%, -50%) scale(1.06);
}
.osc-showcase__feature-image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.45s ease;
}
.osc-showcase__feature-card {
  position: absolute;
  left: clamp(12px, 2vw, 20px);
  bottom: clamp(12px, 2vw, 20px);
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  max-width: min(320px, 100% - 24px);
  padding: clamp(14px, 1.6vw, 18px);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 12px 36px rgba(18, 46, 68, 0.14);
}
.osc-showcase__feature-title {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  color: #122e44;
  font-size: clamp(1.125rem, 1.6vw, 1.35rem);
  line-height: 1.25;
  font-weight: 700;
  margin: 0;
}
.osc-showcase__feature-text {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.65;
  margin: 0;
  color: #6b7280;
}
.osc-showcase__pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 52px 10px 22px;
  border: 0;
  border-radius: 999px;
  position: relative;
  background: #2f5a45;
  color: #fff;
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.2;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}
.osc-showcase__pill::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #fff;
  transform: translateY(-50%);
  transition: background-color 0.25s ease;
}
.osc-showcase__pill::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 18px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #2f5a45;
  border-right: 2px solid #2f5a45;
  transform: translateY(-50%) rotate(45deg);
  transition: border-color 0.25s ease;
}
.osc-showcase__pill:hover, .osc-showcase__pill:focus-visible {
  background: rgb(36.502189781, 69.897810219, 53.5883211679);
  color: #fff;
  text-decoration: none;
  transform: translateY(-1px);
}
.osc-showcase__pill {
  margin-top: 2px;
  min-height: 40px;
  padding: 8px 46px 8px 18px;
  font-size: 12px;
  pointer-events: none;
}
.osc-showcase__pill-icon {
  display: none;
}
.osc-showcase__stack {
  display: contents;
}
.osc-showcase__tile {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 22px;
  overflow: hidden;
  background: #122e44;
  cursor: pointer;
  text-align: left;
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.osc-showcase__tile:hover, .osc-showcase__tile:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 16px 36px rgba(18, 46, 68, 0.16);
}
.osc-showcase__tile:hover .osc-showcase__tile-image, .osc-showcase__tile:focus-visible .osc-showcase__tile-image {
  transform: scale(1.04);
}
.osc-showcase__tile:hover .osc-showcase__play-badge, .osc-showcase__tile:focus-visible .osc-showcase__play-badge {
  transform: translate(-50%, -50%) scale(1.06);
}
.osc-showcase__tile-image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.45s ease;
}
.osc-showcase__tile-bar {
  position: absolute;
  left: clamp(10px, 1.5vw, 14px);
  right: clamp(10px, 1.5vw, 14px);
  bottom: clamp(10px, 1.5vw, 14px);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 12px;
}
.osc-showcase__tile--dark .osc-showcase__tile-bar {
  background: #2f5a45;
  color: #fff;
}
.osc-showcase__tile--light .osc-showcase__tile-bar {
  background: #fff;
  color: #122e44;
}
.osc-showcase__tile-label {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
}
.osc-showcase__tile-icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  font-size: 10px;
}
.osc-showcase__tile--dark .osc-showcase__tile-icon {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
}
.osc-showcase__tile--light .osc-showcase__tile-icon {
  background: rgba(18, 46, 68, 0.08);
  color: #122e44;
}
.osc-showcase__play-badge {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: #122e44;
  font-size: 16px;
  transform: translate(-50%, -50%);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
  transition: transform 0.25s ease;
  pointer-events: none;
}
.osc-showcase__play-badge--sm {
  width: 40px;
  height: 40px;
  font-size: 12px;
}
.osc-showcase__feature-trigger .osc-showcase__play-badge {
  opacity: 0;
}
.osc-showcase__feature-trigger:hover .osc-showcase__play-badge, .osc-showcase__feature-trigger:focus-visible .osc-showcase__play-badge {
  opacity: 1;
}

body.osc-video-modal-open {
  overflow: hidden;
}

.osc-video-modal {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(16px, 3vw, 40px);
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
}
.osc-video-modal[hidden] {
  display: none !important;
}
.osc-video-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.92);
}
.osc-video-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(960px, 100%);
}
.osc-video-modal__close {
  position: absolute;
  top: -44px;
  right: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  font-size: 18px;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.osc-video-modal__close:hover, .osc-video-modal__close:focus-visible {
  background: rgba(255, 255, 255, 0.24);
}
.osc-video-modal__player {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  background: #000;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.45);
}
.osc-video-modal__iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 991px) {
  .osc-showcase__grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    height: auto;
  }
  .osc-showcase__feature {
    grid-row: auto;
    height: auto;
  }
  .osc-showcase__stack {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(16px, 2vw, 24px);
  }
  .osc-showcase__feature-trigger {
    flex: none;
    height: clamp(200px, 42vw, 280px);
    min-height: clamp(200px, 42vw, 280px);
  }
  .osc-showcase__tile {
    height: clamp(140px, 32vw, 180px);
    min-height: clamp(140px, 32vw, 180px);
  }
  .osc-showcase__feature-trigger .osc-showcase__play-badge {
    opacity: 1;
  }
}
@media (max-width: 768px) {
  .osc-showcase__feature-text {
    display: none;
  }
  .osc-video-modal {
    padding: 0;
  }
  .osc-video-modal__dialog {
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 0;
  }
  .osc-video-modal__close {
    position: fixed;
    top: 16px;
    right: 16px;
    z-index: 2;
    background: rgba(0, 0, 0, 0.55);
  }
  .osc-video-modal__player {
    width: 100%;
    height: 100%;
    max-height: 100vh;
    aspect-ratio: auto;
    border-radius: 0;
  }
}
/**
 * Homepage content sections (trust, case studies, SEO accordions).
 */
.osc-hp-section {
  padding-top: clamp(40px, 5vw, 64px);
  padding-bottom: clamp(40px, 5vw, 64px);
}
.osc-hp-section--grey {
  background: #f5f5f5;
}
.osc-hp-section--white {
  background: #fff;
}
.osc-hp-section--bordered {
  border-top: 1px solid #e5e7eb;
}
.osc-hp-section--compact-top {
  padding-top: clamp(24px, 3vw, 36px);
  padding-bottom: clamp(40px, 5vw, 64px);
}

.osc-hp-wrap {
  width: 100%;
  max-width: 1340px;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(16px, 2.5vw, 30px);
  padding-right: clamp(16px, 2.5vw, 30px);
  box-sizing: border-box;
}
@media (max-width: 991px) {
  .osc-hp-wrap {
    padding-left: clamp(16px, 4vw, 24px);
    padding-right: clamp(16px, 4vw, 24px);
  }
}

.osc-hp-heading {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  margin: 0 0 10px;
  color: #122e44;
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  line-height: 1.2;
  font-weight: 700;
}

.osc-hp-lead {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  margin: 0 0 clamp(24px, 3vw, 36px);
  color: #6b7280;
  font-size: 15px;
  line-height: 1.65;
}

.osc-hp-card {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 8px 30px rgba(18, 46, 68, 0.08);
  padding: clamp(24px, 3vw, 36px);
}

.osc-hp-trust {
  border-bottom: 1px solid #e5e7eb;
}

.osc-hp-trust__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
  gap: clamp(20px, 3vw, 36px);
  align-items: center;
}

.osc-hp-trust__aside {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.osc-hp-trust__aside .osc-hp-heading {
  margin-bottom: 8px;
}
.osc-hp-trust__aside .osc-hp-lead {
  margin-bottom: 20px;
}

.osc-hp-trust__trustpilot {
  display: flex;
  justify-content: center;
  width: 100%;
}

.osc-hp-trust__reviews {
  min-width: 0;
}

.osc-hp-featured {
  text-align: center;
}
.osc-hp-featured__logo {
  display: inline-block;
  max-width: min(100%, 920px);
  height: auto;
}

.osc-hp-brochure__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(20px, 3vw, 32px);
  align-items: center;
}

.osc-hp-brochure__media {
  display: flex;
  justify-content: center;
  align-items: center;
}

.osc-hp-brochure__media img {
  display: block;
  width: auto;
  max-width: 240px;
  height: auto;
  margin: 0 auto;
}

.osc-hp-pricing__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.8fr);
  gap: clamp(20px, 3vw, 36px);
  align-items: center;
}

.osc-hp-pricing__media {
  display: flex;
  justify-content: center;
  align-items: center;
}

.osc-hp-pricing__media img {
  display: block;
  width: auto;
  max-width: 220px;
  height: auto;
  margin: 0 auto;
}

.osc-hp-seo__intro {
  margin-bottom: clamp(28px, 4vw, 40px);
  text-align: center;
}
.osc-hp-seo__intro .osc-hp-heading,
.osc-hp-seo__intro .osc-hp-lead {
  margin-left: auto;
  margin-right: auto;
  max-width: 720px;
}

.osc-hp-readmore {
  margin-top: 12px;
}
.osc-hp-readmore__trigger {
  cursor: pointer;
  color: #0a3a67;
  font-size: 14px;
  font-weight: 700;
  list-style: none;
}
.osc-hp-readmore__trigger::-webkit-details-marker {
  display: none;
}
.osc-hp-readmore__content {
  margin-top: 12px;
  color: #6b7280;
  font-size: 15px;
  line-height: 1.6;
}

@media (max-width: 991px) {
  .osc-hp-trust__grid,
  .osc-hp-pricing__grid,
  .osc-hp-brochure__grid {
    grid-template-columns: 1fr;
  }
}
/**
 * Product / interior page hero + intro actions (bgmobilehead, intro-row-*, .osc-hero-actions).
 */
.bgmobilehead {
  position: relative;
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  overflow: hidden;
  background-color: #122e44;
  background-image: var(--osc-hero-bg);
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
.bgmobilehead .overlay.division {
  min-height: 100%;
  width: 100%;
  background-color: rgba(20, 20, 20, 0.55);
}
.bgmobilehead .container {
  width: 100%;
  max-width: 1340px;
  padding-left: clamp(16px, 2.5vw, 30px);
  padding-right: clamp(16px, 2.5vw, 30px);
}
.bgmobilehead [class*=intro-row-] {
  margin-left: 0;
  margin-right: 0;
}
.bgmobilehead .col-lg-12 {
  padding-left: 0;
  padding-right: 0;
}
.bgmobilehead .intro-row-180 {
  padding-top: 135px;
  padding-bottom: 135px;
}
.bgmobilehead .intro-row-160 {
  padding-top: 90px;
  padding-bottom: 90px;
}
.bgmobilehead .intro-row-140 {
  padding-top: 80px;
  padding-bottom: 80px;
}
.bgmobilehead .intro-row-120 {
  padding-top: 68px;
  padding-bottom: 68px;
}
.bgmobilehead .intro-row-100 {
  padding-top: 56px;
  padding-bottom: 56px;
}
.bgmobilehead h1.intro-lg,
.bgmobilehead h2.intro-lg {
  font-size: clamp(1.75rem, 3vw, 3rem);
  line-height: 1.15;
  font-weight: 600;
  margin: 0 auto 0.75rem;
}
.bgmobilehead h1.intro-lg {
  display: inline-block;
  max-width: 100%;
  padding: 0.65rem 1.25rem;
  border-top: 1px solid rgba(255, 255, 255, 0.85);
  border-bottom: 1px solid rgba(255, 255, 255, 0.85);
}
.bgmobilehead .osc-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 1.25rem;
}
.bgmobilehead .osc-hero-actions__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 18px;
  border: 1px solid #fff;
  border-radius: 999px;
  background: transparent;
  color: #fff;
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.bgmobilehead .osc-hero-actions__btn i {
  font-size: 12px;
  opacity: 0.9;
}
.bgmobilehead .osc-hero-actions__btn:hover, .bgmobilehead .osc-hero-actions__btn:focus-visible {
  background: #fff;
  border-color: #fff;
  color: #1c2e42;
  transform: translateY(-1px);
}
.bgmobilehead .osc-hero-actions__btn:hover span,
.bgmobilehead .osc-hero-actions__btn:hover i, .bgmobilehead .osc-hero-actions__btn:focus-visible span,
.bgmobilehead .osc-hero-actions__btn:focus-visible i {
  color: #1c2e42;
}
.bgmobilehead .osc-hero-actions__btn:hover i, .bgmobilehead .osc-hero-actions__btn:focus-visible i {
  opacity: 1;
}

body:not(.osc-header-overlay) .bgmobilehead {
  padding-top: var(--osc-header-height);
}

#cta-buttons {
  display: none !important;
}

#about-2-1 img[src*=trustsig] {
  display: none !important;
}

@media (max-width: 991px) {
  .bgmobilehead .intro-row-180 {
    padding-top: 100px;
    padding-bottom: 100px;
  }
  .bgmobilehead .intro-row-160 {
    padding-top: 72px;
    padding-bottom: 72px;
  }
  .bgmobilehead .intro-row-140 {
    padding-top: 64px;
    padding-bottom: 64px;
  }
  .bgmobilehead .intro-row-120,
  .bgmobilehead .intro-row-100 {
    padding-top: 52px;
    padding-bottom: 52px;
  }
}
@media (max-width: 768px) {
  .bgmobilehead .intro-row-180,
  .bgmobilehead .intro-row-160 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .bgmobilehead .intro-row-140,
  .bgmobilehead .intro-row-120,
  .bgmobilehead .intro-row-100 {
    padding-top: 48px;
    padding-bottom: 48px;
  }
  .bgmobilehead h1.intro-lg,
  .bgmobilehead h2.intro-lg {
    font-size: clamp(1.5rem, 6vw, 2.25rem);
  }
  .bgmobilehead .osc-hero-actions {
    gap: 10px;
  }
  .bgmobilehead .osc-hero-actions__btn {
    font-size: 12px;
    padding: 9px 14px;
  }
  .bgmobilehead .osc-hero-actions__btn[href*="/contact/"],
  .bgmobilehead .osc-hero-actions__btn[href*=trustpilot] {
    display: none;
  }
}
@media (max-width: 480px) {
  .bgmobilehead {
    background-color: #122e44 !important;
    background-image: var(--osc-hero-bg) !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }
  .bgmobilehead [class*=intro-row-] {
    padding-top: 48px;
    padding-bottom: 48px;
  }
  .bgmobilehead .osc-hero-actions__btn {
    white-space: normal;
    text-align: center;
  }
}
/**
 * Corporate / editorial inner pages (About, Default Inner Page, FAQ, etc.).
 */
.osc-inner-prose-section.osc-section--navy {
  background: #0a3a67;
  color: #fff;
}
.osc-inner-prose-section.osc-section--navy .osc-inner-prose {
  color: #fff;
}
.osc-inner-prose-section.osc-section--navy .osc-inner-prose :is(p, span, li, strong, b, em, i, blockquote, figcaption, small) {
  color: inherit;
}
.osc-inner-prose-section.osc-section--navy .osc-inner-prose :is(h1, h2, h3, h4, h5, h6) {
  color: #fff;
}
.osc-inner-prose-section.osc-section--navy .osc-inner-prose a {
  color: #55df63;
}
.osc-inner-prose-section.osc-section--navy .osc-inner-prose a:hover, .osc-inner-prose-section.osc-section--navy .osc-inner-prose a:focus-visible {
  color: #fff;
}

.osc-inner-prose {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.65;
  font-weight: 500;
  color: #333;
  color: #333;
}
.osc-inner-prose p {
  margin: 0 0 1.15em;
}
.osc-inner-prose p:last-child {
  margin-bottom: 0;
}
.osc-inner-prose h2,
.osc-inner-prose h3,
.osc-inner-prose h4 {
  margin: 1.6em 0 0.65em;
  color: #122e44;
  font-weight: 700;
  line-height: 1.25;
}
.osc-inner-prose h2 {
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
}
.osc-inner-prose h3 {
  font-size: clamp(1.15rem, 1.8vw, 1.35rem);
}
.osc-inner-prose a {
  color: #0a3a67;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.osc-inner-prose a:hover, .osc-inner-prose a:focus-visible {
  color: #122e44;
}
.osc-inner-prose ul,
.osc-inner-prose ol {
  margin: 0 0 1.15em;
  padding-left: 1.25em;
}
.osc-inner-prose li {
  margin-bottom: 0.45em;
}
.osc-inner-prose--inverse {
  color: #fff;
}
.osc-inner-prose--inverse :is(p, span, li, strong, b, em, i, blockquote, figcaption, small) {
  color: inherit;
}
.osc-inner-prose--inverse :is(h1, h2, h3, h4, h5, h6) {
  color: #fff;
}
.osc-inner-prose--inverse a {
  color: #fff;
  text-decoration-color: rgba(255, 255, 255, 0.55);
}
.osc-inner-prose--inverse a:hover, .osc-inner-prose--inverse a:focus-visible {
  color: #55df63;
}

.osc-inner-split__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
}
.osc-inner-split__grid--reverse .osc-inner-split__body {
  order: 2;
}
.osc-inner-split__grid--reverse .osc-inner-split__media {
  order: 1;
}
.osc-inner-split__body {
  min-width: 0;
}
.osc-inner-split__label {
  margin: 0 0 10px;
  color: #6b7280;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.osc-inner-split__heading {
  margin: 0 0 18px;
  color: #122e44;
  font-size: clamp(1.6rem, 2.6vw, 2.25rem);
  line-height: 1.15;
  font-weight: 700;
}
.osc-inner-split__subheading {
  margin: 0 0 18px;
  color: #6b7280;
  font-size: clamp(1.05rem, 1.6vw, 1.35rem);
  line-height: 1.35;
  font-weight: 600;
}
.osc-inner-split__content {
  margin-bottom: 24px;
}
.osc-inner-split__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.osc-inner-split__media {
  min-width: 0;
}
.osc-inner-split__image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 16px;
  box-shadow: 0 12px 40px rgba(18, 46, 68, 0.12);
  object-fit: cover;
  aspect-ratio: 4/5;
}

.osc-inner-band {
  text-align: center;
}
.osc-inner-band .osc-section-heading {
  margin-bottom: 12px;
}
.osc-inner-band .osc-section-lead {
  margin-bottom: 0;
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 991px) {
  .osc-inner-split__grid {
    grid-template-columns: 1fr;
  }
  .osc-inner-split__grid--reverse .osc-inner-split__body,
  .osc-inner-split__grid--reverse .osc-inner-split__media {
    order: unset;
  }
  .osc-inner-split__image {
    aspect-ratio: 16/10;
    max-height: 420px;
  }
}
@media (max-width: 767px) {
  .osc-inner-split__actions .osc-pp-about__cta {
    width: 100%;
    justify-content: center;
  }
}
.osc-inner-panel {
  background: #0a3a67;
  color: #fff;
}
.osc-inner-panel .osc-inner-prose,
.osc-inner-panel .osc-pp-columns__col {
  color: #fff;
}
.osc-inner-panel .osc-inner-prose :is(p, span, li, strong, b, em, i, blockquote, figcaption, small),
.osc-inner-panel .osc-pp-columns__col :is(p, span, li, strong, b, em, i, blockquote, figcaption, small) {
  color: inherit;
}
.osc-inner-panel .osc-inner-prose :is(h1, h2, h3, h4, h5, h6),
.osc-inner-panel .osc-pp-columns__col :is(h1, h2, h3, h4, h5, h6) {
  color: #fff;
}
.osc-inner-panel .osc-inner-prose a,
.osc-inner-panel .osc-pp-columns__col a {
  color: #55df63;
  text-decoration-color: rgba(85, 223, 99, 0.45);
}
.osc-inner-panel .osc-inner-prose a:hover, .osc-inner-panel .osc-inner-prose a:focus-visible,
.osc-inner-panel .osc-pp-columns__col a:hover,
.osc-inner-panel .osc-pp-columns__col a:focus-visible {
  color: #fff;
}
.osc-inner-panel__grid {
  display: grid;
  grid-template-columns: minmax(0, 120px) minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 40px);
  align-items: start;
}
.osc-inner-panel__logo {
  display: block;
  width: 100%;
  max-width: 110px;
  height: auto;
}
.osc-inner-panel__body h2 {
  margin-top: 0;
  font-size: clamp(1.25rem, 2vw, 1.6rem);
}
.osc-inner-panel__features {
  margin: 0;
  padding: 0;
  list-style: none;
}
.osc-inner-panel__features li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0 0 14px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
}
.osc-inner-panel__features li:last-child {
  margin-bottom: 0;
}
.osc-inner-panel__features i {
  margin-top: 3px;
  color: #55df63;
  font-size: 18px;
}

@media (max-width: 991px) {
  .osc-inner-panel__grid {
    grid-template-columns: 1fr;
  }
  .osc-inner-panel__brand {
    max-width: 120px;
  }
}
/**
 * Shared circular gallery navigation (hero swiper + scrolling gallery).
 */
.osc-gallery-nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #fff;
  color: #0a3a67;
  box-shadow: 0 4px 18px rgba(18, 46, 68, 0.16);
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.osc-gallery-nav i {
  display: block;
  font-size: 14px;
  line-height: 1;
  pointer-events: none;
}
.osc-gallery-nav:hover, .osc-gallery-nav:focus-visible {
  background: #0a3a67;
  color: #fff;
  box-shadow: 0 6px 20px rgba(10, 58, 103, 0.28);
  transform: translateY(-1px);
}
.osc-gallery-nav:disabled, .osc-gallery-nav.is-disabled {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
}

/**
 * Horizontal scrolling image gallery (flexible content block).
 */
.osc-scroll-gallery {
  padding-top: clamp(40px, 5vw, 64px);
  padding-bottom: clamp(40px, 5vw, 64px);
  background: #f5f5f5;
}
.osc-scroll-gallery__frame {
  width: 100%;
  max-width: 1340px;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(16px, 2.5vw, 30px);
  padding-right: clamp(16px, 2.5vw, 30px);
  box-sizing: border-box;
}
@media (max-width: 991px) {
  .osc-scroll-gallery__frame {
    padding-left: clamp(16px, 4vw, 24px);
    padding-right: clamp(16px, 4vw, 24px);
  }
}
.osc-scroll-gallery__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: clamp(16px, 2.5vw, 24px);
}
.osc-scroll-gallery__header--controls-only {
  justify-content: flex-end;
}
.osc-scroll-gallery__heading {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  margin: 0 0 10px;
  color: #122e44;
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  line-height: 1.2;
  font-weight: 700;
  margin: 0;
}
.osc-scroll-gallery__controls {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.osc-scroll-gallery__viewport {
  overflow-x: auto;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.osc-scroll-gallery__viewport::-webkit-scrollbar {
  display: none;
}
.osc-scroll-gallery__track {
  display: flex;
  gap: 10px;
  width: max-content;
  padding-bottom: 2px;
}
.osc-scroll-gallery__item {
  flex: 0 0 auto;
  width: clamp(220px, 28vw, 320px);
  margin: 0;
}
.osc-scroll-gallery__link {
  display: block;
  overflow: hidden;
  cursor: zoom-in;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.osc-scroll-gallery__link:hover, .osc-scroll-gallery__link:focus-visible {
  box-shadow: 0 8px 24px rgba(18, 46, 68, 0.16);
  transform: translateY(-2px);
}
.osc-scroll-gallery__link:hover img, .osc-scroll-gallery__link:focus-visible img {
  transform: scale(1.04);
}
.osc-scroll-gallery__link img {
  display: block;
  width: 100%;
  height: clamp(180px, 22vw, 260px);
  object-fit: cover;
  background: #fff;
  transition: transform 0.35s ease;
}
.osc-scroll-gallery__caption {
  margin: 0.5rem 0 0;
  color: #6b7280;
  font-size: 13px;
  line-height: 1.4;
}
@media (max-width: 768px) {
  .osc-scroll-gallery__header {
    flex-direction: column;
    align-items: flex-start;
  }
  .osc-scroll-gallery__controls {
    align-self: flex-end;
  }
  .osc-scroll-gallery__item {
    width: min(78vw, 280px);
  }
  .osc-scroll-gallery__link img {
    height: clamp(160px, 48vw, 220px);
  }
}

/**
 * Product page hero banner (full-bleed image, left content, offer bar).
 */
.osc-phero {
  --osc-phero-inset: clamp(16px, 2.5vw, 30px);
  --osc-phero-max-width: 1340px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
  min-height: clamp(420px, 56vh, 600px);
  overflow: hidden;
  background-color: #122e44;
}
.osc-phero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
.osc-phero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(18, 46, 68, 0.82) 0%, rgba(18, 46, 68, 0.62) 34%, rgba(18, 46, 68, 0.18) 68%, rgba(18, 46, 68, 0.05) 100%);
}
.osc-phero__frame {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: var(--osc-phero-max-width);
  margin: 0 auto;
  padding: clamp(48px, 8vw, 120px) var(--osc-phero-inset) clamp(40px, 6vw, 88px);
  box-sizing: border-box;
}
.osc-phero__content {
  max-width: 640px;
  color: #fff;
}
.osc-phero__title {
  margin: 0 0 14px;
  color: #fff;
  font-size: clamp(2rem, 4vw, 3.75rem);
  line-height: 1.05;
  font-weight: 700;
}
.osc-phero__subtitle {
  margin: 0 0 24px;
  color: rgba(255, 255, 255, 0.92);
  font-size: clamp(15px, 1.6vw, 19px);
  line-height: 1.5;
  max-width: 520px;
}
.osc-phero .osc-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin: 0;
}
.osc-phero .osc-hero-actions__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 18px;
  border: 1px solid rgba(255, 255, 255, 0.9);
  border-radius: 999px;
  background: transparent;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.osc-phero .osc-hero-actions__btn i {
  font-size: 12px;
  opacity: 0.9;
}
.osc-phero .osc-hero-actions__btn:first-child {
  background: #55df63;
  border-color: #55df63;
  color: #122e44;
}
.osc-phero .osc-hero-actions__btn:first-child span,
.osc-phero .osc-hero-actions__btn:first-child i {
  color: #122e44;
}
.osc-phero .osc-hero-actions__btn:hover, .osc-phero .osc-hero-actions__btn:focus-visible {
  background: #fff;
  border-color: #fff;
  color: #0a3a67;
  transform: translateY(-1px);
}
.osc-phero .osc-hero-actions__btn:hover span,
.osc-phero .osc-hero-actions__btn:hover i, .osc-phero .osc-hero-actions__btn:focus-visible span,
.osc-phero .osc-hero-actions__btn:focus-visible i {
  color: #0a3a67;
}
.osc-phero .osc-hero-actions__btn:first-child:hover, .osc-phero .osc-hero-actions__btn:first-child:focus-visible {
  background: rgb(50.6633663366, 216.5366336634, 67.4910891089);
  border-color: rgb(50.6633663366, 216.5366336634, 67.4910891089);
}
.osc-phero .osc-hero-actions__btn:first-child:hover span,
.osc-phero .osc-hero-actions__btn:first-child:hover i, .osc-phero .osc-hero-actions__btn:first-child:focus-visible span,
.osc-phero .osc-hero-actions__btn:first-child:focus-visible i {
  color: #122e44;
}
.osc-phero__offer {
  position: relative;
  z-index: 2;
  width: 100%;
  background: #0a3a67;
}
.osc-phero__offer-frame {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px 20px;
  width: 100%;
  max-width: var(--osc-phero-max-width);
  margin: 0 auto;
  padding: 14px var(--osc-phero-inset);
  box-sizing: border-box;
}
.osc-phero__offer-text {
  margin: 0;
  color: #fff;
  font-size: clamp(14px, 1.4vw, 16px);
  font-weight: 600;
}
.osc-phero__offer-btn {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 8px 44px 8px 20px;
  position: relative;
  border-radius: 999px;
  background: #55df63;
  color: #122e44;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color 0.25s ease, transform 0.25s ease;
}
.osc-phero__offer-btn::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: #fff;
  transform: translateY(-50%);
}
.osc-phero__offer-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 7px;
  height: 7px;
  border-top: 2px solid #122e44;
  border-right: 2px solid #122e44;
  transform: translateY(-50%) rotate(45deg);
}
.osc-phero__offer-btn:hover, .osc-phero__offer-btn:focus-visible {
  background: rgb(50.6633663366, 216.5366336634, 67.4910891089);
  color: #122e44;
  text-decoration: none;
  transform: translateY(-1px);
}
@media (max-width: 1024px) {
  .osc-phero {
    --osc-phero-max-width: 1095px;
  }
}
@media (max-width: 1199px) {
  .osc-phero {
    --osc-phero-max-width: 915px;
  }
}
@media (max-width: 991px) {
  .osc-phero {
    --osc-phero-max-width: 675px;
  }
}
@media (max-width: 768px) {
  .osc-phero {
    --osc-phero-max-width: 100%;
    --osc-phero-inset: clamp(16px, 4vw, 24px);
    min-height: 0;
    justify-content: center;
  }
  .osc-phero__frame {
    padding: 24px var(--osc-phero-inset);
  }
  .osc-phero__content {
    max-width: 100%;
  }
  .osc-phero__title {
    margin-bottom: 10px;
    font-size: clamp(1.75rem, 7vw, 2.25rem);
  }
  .osc-phero__subtitle {
    margin-bottom: 16px;
  }
  .osc-phero .osc-hero-actions {
    gap: 10px;
  }
  .osc-phero .osc-hero-actions__btn {
    font-size: 12px;
    padding: 9px 14px;
  }
  .osc-phero .osc-hero-actions__btn[href*="/contact/"],
  .osc-phero .osc-hero-actions__btn[href*=trustpilot] {
    display: none;
  }
  .osc-phero__offer-frame {
    flex-direction: column;
    text-align: center;
  }
}
@media (max-width: 480px) {
  .osc-phero__frame {
    padding: 20px var(--osc-phero-inset);
  }
  .osc-phero__title {
    font-size: clamp(1.5rem, 8vw, 1.85rem);
  }
  .osc-phero .osc-hero-actions__btn {
    white-space: normal;
    text-align: center;
  }
}

body:not(.osc-header-overlay) .osc-phero {
  margin-top: var(--osc-header-height);
}

/**
 * Product page "About" section (two-column intro).
 */
.osc-pp-about {
  --osc-about-inset: clamp(16px, 2.5vw, 30px);
  --osc-about-max-width: 1340px;
  padding: clamp(40px, 5vw, 64px) 0;
  background: #fff;
}
.osc-pp-about__frame {
  width: 100%;
  max-width: var(--osc-about-max-width);
  margin: 0 auto;
  padding: 0 var(--osc-about-inset);
  box-sizing: border-box;
}
.osc-pp-about__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
}
.osc-pp-about__body {
  min-width: 0;
}
.osc-pp-about__heading {
  margin: 0 0 6px;
  color: #122e44;
  font-size: clamp(1.6rem, 2.6vw, 2.25rem);
  line-height: 1.15;
  font-weight: 700;
}
.osc-pp-about__subheading {
  margin: 0 0 18px;
  color: #6b7280;
  font-size: clamp(1.05rem, 1.6vw, 1.35rem);
  line-height: 1.35;
  font-weight: 600;
}
.osc-pp-about__lead {
  margin: 0 0 20px;
  color: #333;
  font-size: 15px;
  line-height: 1.7;
}
.osc-pp-about__lead p {
  margin: 0 0 1em;
}
.osc-pp-about__lead p:last-child {
  margin-bottom: 0;
}
.osc-pp-about__list {
  margin: 0 0 22px;
  padding: 0;
  list-style: none;
}
.osc-pp-about__list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 12px;
  color: #122e44;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
}
.osc-pp-about__list li:last-child {
  margin-bottom: 0;
}
.osc-pp-about__list i {
  margin-top: 2px;
  color: #55df63;
  font-size: 18px;
}
.osc-pp-about__price {
  margin: 0 0 12px;
  color: #122e44;
  font-size: 15px;
}
.osc-pp-about__price strong {
  font-size: clamp(1.25rem, 2vw, 1.6rem);
  font-weight: 700;
}
.osc-pp-about__reviews {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 24px;
  color: #122e44;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}
.osc-pp-about__reviews:hover, .osc-pp-about__reviews:focus-visible {
  color: #0a3a67;
  text-decoration: none;
}
.osc-pp-about__stars {
  display: inline-flex;
  gap: 2px;
  padding: 4px 6px;
  border-radius: 4px;
  background: #55df63;
  color: #fff;
  font-size: 13px;
}
.osc-pp-about__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
}
.osc-pp-about__cta {
  display: inline-flex;
  align-items: center;
  min-height: 46px;
  padding: 11px 52px 11px 24px;
  position: relative;
  border-radius: 999px;
  background: #122e44;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}
.osc-pp-about__cta::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #55df63;
  transform: translateY(-50%);
  transition: background-color 0.25s ease;
}
.osc-pp-about__cta::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 18px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #122e44;
  border-right: 2px solid #122e44;
  transform: translateY(-50%) rotate(45deg);
}
.osc-pp-about__cta:hover, .osc-pp-about__cta:focus-visible {
  background: rgb(24.4046511628, 62.3674418605, 92.1953488372);
  color: #fff;
  text-decoration: none;
  transform: translateY(-1px);
}
.osc-pp-about__cta--ghost {
  background: transparent;
  border: 1px solid rgba(18, 46, 68, 0.4);
  color: #122e44;
}
.osc-pp-about__cta--ghost::before {
  background: transparent;
  border: 1px solid rgba(18, 46, 68, 0.4);
}
.osc-pp-about__cta--ghost:hover, .osc-pp-about__cta--ghost:focus-visible {
  background: #122e44;
  color: #fff;
  border-color: #122e44;
}
.osc-pp-about__cta--ghost:hover::after, .osc-pp-about__cta--ghost:focus-visible::after {
  border-color: #fff;
}
.osc-pp-about__cta--ghost:hover::before, .osc-pp-about__cta--ghost:focus-visible::before {
  border-color: rgba(255, 255, 255, 0.6);
}
.osc-pp-about__media {
  min-width: 0;
}
.osc-pp-about__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: 16px;
}
.osc-pp-about .osc-pp-gallery {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
}
.osc-pp-about .osc-pp-gallery .osc-pp-about__image {
  border-radius: 0;
}
.osc-pp-about .osc-pp-gallery__nav {
  position: absolute;
  top: 50%;
  left: auto;
  right: auto;
  z-index: 5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-top: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #fff;
  color: #0a3a67;
  box-shadow: 0 4px 18px rgba(18, 46, 68, 0.16);
  transform: translateY(-50%);
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.osc-pp-about .osc-pp-gallery__nav i {
  display: block;
  font-size: 14px;
  line-height: 1;
  pointer-events: none;
}
.osc-pp-about .osc-pp-gallery__nav::before, .osc-pp-about .osc-pp-gallery__nav::after {
  display: none !important;
  content: none !important;
}
.osc-pp-about .osc-pp-gallery__nav svg {
  display: none !important;
}
.osc-pp-about .osc-pp-gallery__nav--prev {
  left: 14px;
}
.osc-pp-about .osc-pp-gallery__nav--next {
  right: 14px;
}
.osc-pp-about .osc-pp-gallery__nav:hover, .osc-pp-about .osc-pp-gallery__nav:focus-visible {
  background: #0a3a67;
  color: #fff;
  box-shadow: 0 6px 20px rgba(10, 58, 103, 0.28);
  transform: translateY(calc(-50% - 1px));
  outline: none;
}
.osc-pp-about .osc-pp-gallery__nav.swiper-button-disabled {
  opacity: 0.45;
  pointer-events: none;
}
.osc-pp-about .osc-pp-gallery .swiper-pagination-bullet {
  width: 9px;
  height: 9px;
  background: #fff;
  opacity: 0.6;
}
.osc-pp-about .osc-pp-gallery .swiper-pagination-bullet-active {
  background: #55df63;
  opacity: 1;
}
@media (max-width: 1199px) {
  .osc-pp-about {
    --osc-about-max-width: 1095px;
  }
}
@media (max-width: 991px) {
  .osc-pp-about {
    --osc-about-max-width: 915px;
  }
  .osc-pp-about__grid {
    grid-template-columns: 1fr;
  }
  .osc-pp-about__media {
    order: -1;
  }
  .osc-pp-about__image {
    aspect-ratio: 16/9;
  }
}
@media (max-width: 768px) {
  .osc-pp-about {
    --osc-about-max-width: 100%;
    --osc-about-inset: clamp(16px, 4vw, 24px);
  }
}

/**
 * Tabbed content block (Weinor-style overview tabs).
 */
.osc-pp-tabs {
  --osc-tabs-inset: clamp(16px, 2.5vw, 30px);
  --osc-tabs-max-width: 1340px;
  padding: clamp(40px, 5vw, 64px) 0;
}
.osc-pp-tabs__frame {
  width: 100%;
  max-width: var(--osc-tabs-max-width);
  margin: 0 auto;
  padding: 0 var(--osc-tabs-inset);
  box-sizing: border-box;
}
.osc-pp-tabs__title {
  margin: 0 0 1.5rem;
  color: #122e44;
  font-size: clamp(1.5rem, 2.6vw, 2.25rem);
  font-weight: 700;
}
.osc-pp-tabs__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  border-bottom: 1px solid rgba(18, 46, 68, 0.12);
}
.osc-pp-tabs__tab {
  appearance: none;
  border: 1px solid transparent;
  border-bottom: 0;
  border-radius: 10px 10px 0 0;
  margin-bottom: -1px;
  padding: 12px 20px;
  background: #f5f5f5;
  color: #6b7280;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.osc-pp-tabs__tab:hover, .osc-pp-tabs__tab:focus-visible {
  color: #122e44;
}
.osc-pp-tabs__tab.is-active {
  background: #fff;
  border-color: rgba(18, 46, 68, 0.12);
  color: #122e44;
}
.osc-pp-tabs__panels {
  border: 1px solid rgba(18, 46, 68, 0.12);
  border-top: 0;
  border-radius: 0 0 14px 14px;
  padding: clamp(24px, 4vw, 48px);
  background: #fff;
}
.osc-pp-tabs__panel[hidden] {
  display: none;
}
.osc-pp-tabs__section + .osc-pp-tabs__section {
  margin-top: clamp(28px, 4vw, 44px);
}
.osc-pp-tabs__section-heading {
  margin: 0 0 1rem;
  color: #122e44;
  font-size: clamp(1.2rem, 2vw, 1.6rem);
  font-weight: 700;
}
.osc-pp-tabs__columns {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: clamp(24px, 4vw, 48px);
}
.osc-pp-tabs__column-heading {
  margin: 0 0 0.65rem;
  color: #122e44;
  font-size: 1.1rem;
  font-weight: 700;
}
.osc-pp-tabs__column-body {
  color: #333;
  font-size: 15px;
  line-height: 1.7;
}
.osc-pp-tabs__column-body p {
  margin: 0 0 1em;
}
.osc-pp-tabs__column-body p:last-child {
  margin-bottom: 0;
}
.osc-pp-tabs__column-body ul {
  margin: 0 0 1em;
  padding-left: 1.1rem;
}
.osc-pp-tabs__column-body ul li {
  margin-bottom: 0.5rem;
}
.osc-pp-tabs__column-body a {
  color: #0a3a67;
  font-weight: 600;
}
.osc-pp-tabs__gallery {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1.25rem;
}
.osc-pp-tabs__gallery-link {
  display: block;
  overflow: hidden;
  border-radius: 12px;
  cursor: zoom-in;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.osc-pp-tabs__gallery-link:hover, .osc-pp-tabs__gallery-link:focus-visible {
  box-shadow: 0 8px 24px rgba(18, 46, 68, 0.16);
  transform: translateY(-2px);
}
.osc-pp-tabs__gallery-link:hover img, .osc-pp-tabs__gallery-link:focus-visible img {
  transform: scale(1.04);
}
.osc-pp-tabs__gallery-item {
  margin: 0;
}
.osc-pp-tabs__gallery-item img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: 12px;
  transition: transform 0.35s ease;
}
.osc-pp-tabs__gallery-item figcaption {
  margin-top: 0.5rem;
  color: #6b7280;
  font-size: 15.6px;
  line-height: 1.4;
  text-align: center;
}
.osc-pp-tabs__downloads {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 0.75rem;
}
.osc-pp-tabs__download {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  border-radius: 10px;
  background: #f5f5f5;
  color: #122e44;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.osc-pp-tabs__download i {
  color: #55df63;
  font-size: 18px;
}
.osc-pp-tabs__download:hover, .osc-pp-tabs__download:focus-visible {
  background: #dff5e4;
  color: #122e44;
  text-decoration: none;
  transform: translateY(-1px);
}
@media (max-width: 1199px) {
  .osc-pp-tabs {
    --osc-tabs-max-width: 1095px;
  }
}
@media (max-width: 991px) {
  .osc-pp-tabs {
    --osc-tabs-max-width: 915px;
  }
  .osc-pp-tabs__gallery {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 768px) {
  .osc-pp-tabs {
    --osc-tabs-max-width: 100%;
    --osc-tabs-inset: clamp(16px, 4vw, 24px);
  }
  .osc-pp-tabs__gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .osc-pp-tabs__nav {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .osc-pp-tabs__tab {
    white-space: nowrap;
  }
}
.osc-pp-tabs--option {
  background: #f5f5f5;
}
.osc-pp-tabs--option .osc-pp-tabs__intro {
  max-width: 920px;
  margin: 0 0 1.75rem;
  color: #333;
  font-size: 15px;
  line-height: 1.7;
}
.osc-pp-tabs--option .osc-pp-tabs__intro p {
  margin: 0 0 1em;
}
.osc-pp-tabs--option .osc-pp-tabs__intro p:last-child {
  margin-bottom: 0;
}
.osc-pp-tabs--option .osc-pp-tabs__intro a {
  color: #0a3a67;
  font-weight: 600;
}
.osc-pp-tabs--option .osc-pp-tabs__split {
  display: grid;
  grid-template-columns: minmax(0, 29%) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: start;
}
.osc-pp-tabs--option .osc-pp-tabs__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 16px;
  object-fit: cover;
  aspect-ratio: 1/1;
}
.osc-pp-tabs--option .osc-pp-tabs__split-heading {
  margin: 0 0 1rem;
  color: #122e44;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  font-weight: 700;
}
.osc-pp-tabs--option .osc-pp-tabs__split-body {
  color: #333;
  font-size: 15px;
  line-height: 1.7;
}
.osc-pp-tabs--option .osc-pp-tabs__split-body p {
  margin: 0 0 1em;
}
.osc-pp-tabs--option .osc-pp-tabs__split-body p:last-child {
  margin-bottom: 0;
}
.osc-pp-tabs--option .osc-pp-tabs__split-body ul {
  margin: 0 0 1em;
  padding-left: 1.1rem;
}
.osc-pp-tabs--option .osc-pp-tabs__split-body ul li {
  margin-bottom: 0.5rem;
}
.osc-pp-tabs--option .osc-pp-tabs__split-body a {
  color: #0a3a67;
  font-weight: 600;
}
@media (max-width: 768px) {
  .osc-pp-tabs--option .osc-pp-tabs__split {
    grid-template-columns: 1fr;
  }
  .osc-pp-tabs--option .osc-pp-tabs__media img {
    max-width: 294px;
    margin: 0 auto;
  }
}

/**
 * Unified product page flexible content blocks.
 */
.osc-pp-trust {
  padding: clamp(1.5rem, 3vw, 2.5rem) 0;
  background: #dff5e4;
}
.osc-pp-trust__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 2rem);
  margin: 0;
  padding: 0;
  list-style: none;
}
.osc-pp-trust__item {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 0.78rem;
  text-align: left;
  color: #122e44;
  font-size: clamp(1.08rem, 1.56vw, 1.26rem);
  font-weight: 700;
  line-height: 1.25;
}
.osc-pp-trust__item i {
  flex-shrink: 0;
  color: #55df63;
  font-size: clamp(1.62rem, 2.4vw, 2.1rem);
  line-height: 1;
}
@media (max-width: 768px) {
  .osc-pp-trust__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .osc-pp-trust__item {
    font-size: clamp(0.95rem, 3.6vw, 1.1rem);
  }
}

.osc-pp-spec {
  padding: clamp(40px, 5vw, 64px) 0;
}
.osc-pp-spec__title {
  margin-bottom: 1.5rem;
  color: #122e44;
}
.osc-pp-spec__table {
  margin: 0;
}
.osc-pp-spec__row {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) 2fr;
  gap: 1rem;
  padding: 0.85rem 0;
  border-bottom: 1px solid rgba(18, 46, 68, 0.12);
}
.osc-pp-spec__row dt {
  margin: 0;
  font-weight: 700;
  color: #122e44;
}
.osc-pp-spec__row dd {
  margin: 0;
  color: #333;
}

.osc-pp-config {
  padding: clamp(40px, 5vw, 64px) 0;
}
.osc-pp-config__title, .osc-pp-config__intro {
  text-align: center;
}
.osc-pp-config__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
  margin-top: 2rem;
}
.osc-pp-config__item {
  background: #fff;
  border-radius: 10px;
  padding: 1rem 1.25rem;
  box-shadow: 0 8px 24px rgba(18, 46, 68, 0.06);
}
.osc-pp-config__item dt {
  margin: 0 0 0.35rem;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #6b7280;
}
.osc-pp-config__item dd {
  margin: 0;
  color: #122e44;
  font-weight: 600;
}

.osc-pp-pricing {
  padding: clamp(40px, 5vw, 64px) 0;
  text-align: center;
}
.osc-pp-pricing__from {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  color: #122e44;
}
.osc-pp-pricing__examples {
  list-style: none;
  margin: 1.5rem auto 0;
  padding: 0;
  max-width: 420px;
}
.osc-pp-pricing__disclaimer, .osc-pp-pricing__note {
  color: #6b7280;
}

.osc-pp-process {
  --osc-process-inset: clamp(16px, 2.5vw, 30px);
  --osc-process-max-width: 1340px;
  padding: 0;
  background: #f5f5f5;
}
.osc-pp-process__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  align-items: stretch;
  min-height: 100%;
}
.osc-pp-process__body-wrap {
  padding: clamp(40px, 5vw, 64px) 0;
  background: #f5f5f5;
}
.osc-pp-process__frame {
  width: 100%;
  max-width: var(--osc-process-max-width);
  margin: 0 auto;
  padding: 0 var(--osc-process-inset);
  box-sizing: border-box;
}
.osc-pp-process__body {
  min-width: 0;
}
.osc-pp-process__title {
  margin: 0 0 clamp(1.5rem, 3vw, 2rem);
  color: #122e44;
  font-size: clamp(1.6rem, 2.6vw, 2.25rem);
  font-weight: 700;
  line-height: 1.15;
}
.osc-pp-process__timeline {
  display: flex;
  flex-direction: column;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0;
}
.osc-pp-process__step {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 1.25rem;
  padding: 0 0 2rem;
  text-align: left;
}
.osc-pp-process__step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 64px;
  left: 32px;
  width: 2px;
  height: calc(100% - 64px);
  background: rgba(18, 46, 68, 0.18);
  transform: translateX(-50%);
  z-index: 0;
}
.osc-pp-process__marker {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border: 2px solid #55df63;
  border-radius: 50%;
  background: #fff;
  color: #122e44;
  font-size: 1.2rem;
  font-weight: 800;
  line-height: 1;
}
.osc-pp-process__content {
  flex: 1;
  min-width: 0;
  padding-top: 0.5rem;
}
.osc-pp-process__content h4 {
  margin: 0 0 0.5rem;
  color: #122e44;
  font-size: clamp(1.05rem, 1.6vw, 1.2rem);
  font-weight: 700;
  line-height: 1.35;
}
.osc-pp-process__content p {
  margin: 0;
  color: #333;
  font-size: 15px;
  line-height: 1.7;
}
.osc-pp-process__media {
  position: relative;
  min-height: 100%;
  overflow: hidden;
}
.osc-pp-process__image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@media (max-width: 991px) {
  .osc-pp-process__grid {
    grid-template-columns: 1fr;
  }
  .osc-pp-process__media {
    order: -1;
    min-height: clamp(260px, 45vw, 420px);
  }
}

.osc-pp-configurator {
  --osc-config-inset: clamp(16px, 2.5vw, 30px);
  --osc-config-max-width: 1340px;
  padding: clamp(40px, 5vw, 64px) 0;
  background: #f5f5f5;
}
.osc-pp-configurator__frame {
  width: 100%;
  max-width: var(--osc-config-max-width);
  margin: 0 auto;
  padding: 0 var(--osc-config-inset);
  box-sizing: border-box;
}
.osc-pp-configurator__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: center;
}
.osc-pp-configurator__body {
  min-width: 0;
}
.osc-pp-configurator__title {
  margin: 0 0 clamp(1.25rem, 2.5vw, 1.75rem);
  color: #122e44;
  font-size: clamp(1.6rem, 2.6vw, 2.25rem);
  font-weight: 700;
  line-height: 1.15;
}
.osc-pp-configurator__options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}
.osc-pp-configurator__option {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-height: 54px;
  padding: 0.85rem 1.1rem;
  border: 2px solid transparent;
  border-radius: 10px;
  background: #fff;
  color: #122e44;
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.osc-pp-configurator__option:hover, .osc-pp-configurator__option:focus-visible {
  border-color: rgba(18, 46, 68, 0.18);
  outline: none;
}
.osc-pp-configurator__option.is-active {
  border-color: #55df63;
}
.osc-pp-configurator__option--full {
  grid-column: 1/-1;
}
.osc-pp-configurator__swatch {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(18, 46, 68, 0.12);
  border-radius: 50%;
}
.osc-pp-configurator__label {
  min-width: 0;
}
.osc-pp-configurator__cta {
  display: inline-flex;
  align-items: center;
  min-height: 46px;
  padding: 11px 52px 11px 24px;
  position: relative;
  border-radius: 999px;
  background: #122e44;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color 0.25s ease;
}
.osc-pp-configurator__cta::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #55df63;
  transform: translateY(-50%);
}
.osc-pp-configurator__cta::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 18px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #122e44;
  border-right: 2px solid #122e44;
  transform: translateY(-50%) rotate(45deg);
}
.osc-pp-configurator__cta:hover, .osc-pp-configurator__cta:focus-visible {
  background: rgb(24.4046511628, 62.3674418605, 92.1953488372);
  color: #fff;
  text-decoration: none;
}
.osc-pp-configurator__media {
  min-width: 0;
}
.osc-pp-configurator__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: 16px;
  transition: opacity 0.25s ease;
}
@media (max-width: 991px) {
  .osc-pp-configurator__grid {
    grid-template-columns: 1fr;
  }
  .osc-pp-configurator__media {
    order: -1;
  }
}
@media (max-width: 768px) {
  .osc-pp-configurator__options {
    grid-template-columns: 1fr;
  }
  .osc-pp-configurator__option--full {
    grid-column: auto;
  }
}

.osc-pp-enquiry {
  --osc-enquiry-inset: clamp(16px, 2.5vw, 30px);
  --osc-enquiry-max-width: 1340px;
  padding: clamp(40px, 5vw, 64px) 0;
  background: #fff;
}
.osc-pp-enquiry__frame {
  width: 100%;
  max-width: var(--osc-enquiry-max-width);
  margin: 0 auto;
  padding: 0 var(--osc-enquiry-inset);
  box-sizing: border-box;
}
.osc-pp-enquiry__header {
  margin-bottom: clamp(1.5rem, 3vw, 2rem);
  text-align: center;
}
.osc-pp-enquiry__title {
  margin: 0 0 0.75rem;
  color: #122e44;
  font-size: clamp(1.6rem, 2.6vw, 2.25rem);
  font-weight: 700;
  line-height: 1.15;
}
.osc-pp-enquiry__intro {
  margin: 0;
  color: #0a3a67;
  font-size: 15px;
  line-height: 1.6;
}
.osc-pp-enquiry__panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(20px, 3vw, 32px);
  padding: clamp(20px, 3vw, 32px);
  border-radius: 12px;
  background: #f5f5f5;
}
.osc-pp-enquiry__panel--form-only {
  grid-template-columns: minmax(0, 1fr);
  max-width: 760px;
  margin: 0 auto;
}
.osc-pp-enquiry__media, .osc-pp-enquiry__form {
  min-width: 0;
}
.osc-pp-enquiry__compare-title {
  margin: 0 0 1rem;
  color: #122e44;
  font-size: clamp(1.05rem, 1.6vw, 1.2rem);
  font-weight: 700;
  line-height: 1.3;
}
.osc-pp-enquiry__iframe iframe {
  display: block;
  width: 100%;
  min-height: 643px;
  border: 0;
}
.osc-pp-enquiry__note {
  margin-top: 1rem;
  color: #333;
  font-size: 15px;
  line-height: 1.6;
}
.osc-pp-enquiry__note p:last-child {
  margin-bottom: 0;
}
.osc-pp-enquiry .ba_frame {
  position: relative;
  overflow: hidden;
  width: 100%;
  border-radius: 10px;
  background: #fff;
}
.osc-pp-enquiry .ba_img {
  display: block;
  width: 100%;
  height: auto;
  user-select: none;
  pointer-events: none;
}
.osc-pp-enquiry .ba_after_clip {
  position: absolute;
  inset: 0;
  overflow: hidden;
  clip-path: inset(0 0 0 calc(var(--pos, 50) * 1%));
}
.osc-pp-enquiry .ba_bar {
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(var(--pos, 50) * 1%);
  width: 2px;
  background: rgba(255, 255, 255, 0.95);
  transform: translateX(-1px);
  z-index: 2;
}
.osc-pp-enquiry .ba_knob {
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  transform: translate(-50%, -50%);
  cursor: grab;
  z-index: 3;
}
.osc-pp-enquiry .ba_hint {
  font-size: 26px;
  line-height: 1;
  color: #333;
  opacity: 0.8;
}
.osc-pp-enquiry .ba_slider {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: ew-resize;
  z-index: 4;
  appearance: none;
  -webkit-appearance: none;
}
.osc-pp-enquiry .ba_slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 0;
  height: 0;
}
.osc-pp-enquiry .ba_slider::-moz-range-thumb {
  width: 0;
  height: 0;
}
@media (max-width: 991px) {
  .osc-pp-enquiry__panel {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px) {
  .osc-pp-enquiry .ba_knob {
    width: 80px;
    height: 80px;
  }
  .osc-pp-enquiry .ba_hint {
    font-size: 30px;
  }
}

.osc-pp-pillars {
  padding: clamp(40px, 5vw, 64px) 0;
}
.osc-pp-pillars__title {
  margin: 0 0 clamp(2rem, 4vw, 2.75rem);
  color: #122e44;
  font-size: clamp(1.5rem, 2.6vw, 2.25rem);
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
.osc-pp-pillars__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: clamp(1.5rem, 2.5vw, 2rem);
}
.osc-pp-pillars__item {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding: clamp(1.75rem, 3vw, 2.35rem);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 20px rgba(18, 46, 68, 0.05);
}
.osc-pp-pillars__icon {
  display: flex;
  align-items: center;
  margin-bottom: 0.15rem;
  color: #6b7280;
}
.osc-pp-pillars__icon i {
  font-size: clamp(2rem, 3vw, 2.5rem);
  line-height: 1;
}
.osc-pp-pillars__image {
  width: 100%;
  height: auto;
  border-radius: 10px;
}
.osc-pp-pillars__item-title {
  margin: 0;
  color: #122e44;
  font-size: clamp(0.95rem, 1.35vw, 1.05rem);
  font-weight: 700;
  line-height: 1.35;
}
.osc-pp-pillars__item-body {
  color: #333;
  font-size: 14px;
  line-height: 1.65;
}
.osc-pp-pillars__item-body p {
  margin: 0;
}
.osc-pp-pillars__item-body p + p {
  margin-top: 0.75em;
}

.osc-pp-accessories {
  padding: clamp(40px, 5vw, 64px) 0;
}
.osc-pp-accessories__title {
  margin: 0 0 clamp(2rem, 4vw, 2.75rem);
  color: #122e44;
  font-size: clamp(1.5rem, 2.6vw, 2.25rem);
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
.osc-pp-accessories__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: clamp(1.5rem, 2.5vw, 2rem);
}
.osc-pp-accessories__item {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding: clamp(1.75rem, 3vw, 2.35rem);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 20px rgba(18, 46, 68, 0.05);
}
.osc-pp-accessories__media {
  overflow: hidden;
  border-radius: 10px;
  aspect-ratio: 1/1;
}
.osc-pp-accessories__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.osc-pp-accessories__item-title {
  margin: 0;
  color: #122e44;
  font-size: clamp(0.95rem, 1.35vw, 1.05rem);
  font-weight: 700;
  line-height: 1.35;
}
.osc-pp-accessories__item-body {
  color: #333;
  font-size: 14px;
  line-height: 1.65;
}
.osc-pp-accessories__item-body p {
  margin: 0;
}
.osc-pp-accessories__item-body p + p {
  margin-top: 0.75em;
}
.osc-pp-accessories__price {
  margin: 0;
  color: #122e44;
  font-size: 14px;
  font-weight: 700;
}
.osc-pp-accessories__link {
  margin-top: auto;
  color: #0a3a67;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}
.osc-pp-accessories__link:hover, .osc-pp-accessories__link:focus-visible {
  color: #122e44;
  text-decoration: underline;
}

.osc-pp-variants {
  padding: clamp(40px, 5vw, 64px) 0;
}
.osc-pp-variants__title {
  margin: 0 0 clamp(2rem, 4vw, 2.75rem);
  color: #122e44;
  font-size: clamp(1.5rem, 2.6vw, 2.25rem);
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
.osc-pp-variants__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: clamp(1.5rem, 2.5vw, 2rem);
}
.osc-pp-variants__item {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding: clamp(1.75rem, 3vw, 2.35rem);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 20px rgba(18, 46, 68, 0.05);
}
.osc-pp-variants__media {
  overflow: hidden;
  border-radius: 10px;
  aspect-ratio: 1/1;
}
.osc-pp-variants__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.osc-pp-variants__item-title {
  margin: 0;
  color: #122e44;
  font-size: clamp(0.95rem, 1.35vw, 1.05rem);
  font-weight: 700;
  line-height: 1.35;
}
.osc-pp-variants__item-body {
  color: #333;
  font-size: 14px;
  line-height: 1.65;
}
.osc-pp-variants__item-body p {
  margin: 0;
}
.osc-pp-variants__item-body p + p {
  margin-top: 0.75em;
}

.osc-pp-options,
.osc-pp-colours,
.osc-pp-testimonials,
.osc-pp-usp {
  padding: clamp(40px, 5vw, 64px) 0;
}
.osc-pp-options__title,
.osc-pp-colours__title,
.osc-pp-testimonials__title,
.osc-pp-usp__title {
  text-align: center;
  margin-bottom: 2rem;
  color: #122e44;
}
.osc-pp-options__grid,
.osc-pp-colours__grid,
.osc-pp-testimonials__grid,
.osc-pp-usp__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.25rem;
}
.osc-pp-options__item,
.osc-pp-colours__item,
.osc-pp-testimonials__item,
.osc-pp-usp__item {
  background: #fff;
  border-radius: 12px;
  padding: 1.25rem;
  box-shadow: 0 8px 24px rgba(18, 46, 68, 0.06);
}
.osc-pp-options__item img,
.osc-pp-colours__item img,
.osc-pp-testimonials__item img,
.osc-pp-usp__item img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  margin-bottom: 0.75rem;
}
.osc-pp-options__item h4,
.osc-pp-options__item h5,
.osc-pp-colours__item h4,
.osc-pp-colours__item h5,
.osc-pp-testimonials__item h4,
.osc-pp-testimonials__item h5,
.osc-pp-usp__item h4,
.osc-pp-usp__item h5 {
  color: #122e44;
}
.osc-pp-options__item i,
.osc-pp-colours__item i,
.osc-pp-testimonials__item i,
.osc-pp-usp__item i {
  color: #55df63;
  font-size: 1.5rem;
  margin-bottom: 0.75rem;
}

.osc-pp-showroom {
  padding: clamp(40px, 5vw, 64px) 0;
}
.osc-pp-showroom__title {
  margin-bottom: 1.5rem;
  color: #122e44;
}
.osc-pp-showroom__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  align-items: start;
}
.osc-pp-showroom__iframe {
  width: 100%;
  height: 415px;
  border: 0;
  border-radius: 12px;
}

.osc-pp-showroom-booking {
  background: #0a3a67;
  color: #fff;
}
.osc-pp-showroom-booking .osc-inner-prose {
  color: rgba(255, 255, 255, 0.92);
}
.osc-pp-showroom-booking .osc-inner-prose :is(p, span, li, strong, b, em, i, blockquote, figcaption, small) {
  color: inherit;
}
.osc-pp-showroom-booking .osc-inner-prose :is(h1, h2, h3, h4, h5, h6, .h3-lg) {
  margin-top: 0;
  color: #55df63;
}
.osc-pp-showroom-booking .osc-inner-prose p {
  font-size: clamp(0.95rem, 1.5vw, 1.05rem);
  line-height: 1.65;
}
.osc-pp-showroom-booking .osc-inner-prose a {
  color: #55df63;
}
.osc-pp-showroom-booking .osc-inner-prose a:hover, .osc-pp-showroom-booking .osc-inner-prose a:focus-visible {
  color: #fff;
}
.osc-pp-showroom-booking__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.38fr) minmax(0, 0.62fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: start;
}
.osc-pp-showroom-booking__copy {
  display: grid;
  gap: 20px;
  min-width: 0;
  padding-top: 4px;
}
.osc-pp-showroom-booking__text {
  max-width: 34rem;
}
.osc-pp-showroom-booking__phone {
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 14px;
  font-weight: 600;
}
.osc-pp-showroom-booking__phone a {
  color: #55df63;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.osc-pp-showroom-booking__phone a:hover, .osc-pp-showroom-booking__phone a:focus-visible {
  color: #fff;
}
.osc-pp-showroom-booking__calendar {
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18);
  overflow: hidden;
}
.osc-pp-showroom-booking__calendar-head {
  padding: 18px 20px 0;
}
.osc-pp-showroom-booking__calendar-title {
  margin: 0 0 4px;
  color: #122e44;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.3;
}
.osc-pp-showroom-booking__calendar-lead {
  margin: 0;
  color: #6b7280;
  font-size: 13px;
  line-height: 1.45;
}
.osc-pp-showroom-booking__calendar-body {
  min-height: 480px;
  max-height: none;
  padding: 8px 16px 16px;
  overflow-x: hidden;
  overflow-y: visible;
}
.osc-pp-showroom-booking .osc-cal-embed {
  width: 100%;
  max-width: 100%;
  min-height: 460px;
}
.osc-pp-showroom-booking .osc-cal-embed iframe {
  width: 100% !important;
  max-width: 100%;
  border: 0;
}

.osc-pp-finance {
  --osc-finance-inset: clamp(16px, 2.5vw, 30px);
  --osc-finance-max-width: 1340px;
  padding: clamp(40px, 5vw, 64px) 0;
  background: #f5f5f5;
}
.osc-pp-finance__frame {
  width: 100%;
  max-width: var(--osc-finance-max-width);
  margin: 0 auto;
  padding: 0 var(--osc-finance-inset);
  box-sizing: border-box;
}
.osc-pp-finance__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: center;
}
.osc-pp-finance__body {
  min-width: 0;
}
.osc-pp-finance__heading {
  margin: 0 0 clamp(20px, 3vw, 32px);
  font-weight: 700;
  line-height: 1.1;
}
.osc-pp-finance__heading-prefix {
  display: block;
  color: #122e44;
  font-size: clamp(1.35rem, 2.4vw, 2rem);
}
.osc-pp-finance__heading-main {
  display: block;
  color: rgba(10, 58, 103, 0.45);
  font-size: clamp(2rem, 3.6vw, 3rem);
  font-weight: 700;
}
.osc-pp-finance__card {
  display: flex;
  align-items: center;
  gap: clamp(16px, 2vw, 24px);
  padding: clamp(18px, 2.4vw, 28px);
  margin-bottom: 1.75rem;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 12px 30px rgba(18, 46, 68, 0.08);
}
.osc-pp-finance__card-media {
  flex: 0 0 auto;
}
.osc-pp-finance__card-media img {
  display: block;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  object-fit: cover;
}
.osc-pp-finance__card-body {
  min-width: 0;
}
.osc-pp-finance__card-text {
  margin: 0 0 0.6rem;
  color: #333;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;
}
.osc-pp-finance__phone {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #0a3a67;
  font-size: clamp(1.15rem, 2vw, 1.5rem);
  font-weight: 700;
  text-decoration: none;
}
.osc-pp-finance__phone i {
  color: #55df63;
  font-size: 0.85em;
}
.osc-pp-finance__phone:hover, .osc-pp-finance__phone:focus-visible {
  color: #122e44;
  text-decoration: none;
}
.osc-pp-finance__hours {
  margin: 0.35rem 0 0;
  color: #6b7280;
  font-size: 13px;
}
.osc-pp-finance__points {
  margin: 0 0 1.5rem;
  padding: 0;
  list-style: none;
}
.osc-pp-finance__points li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0 0 0.85rem;
  color: #333;
  font-size: 15px;
  line-height: 1.5;
}
.osc-pp-finance__points li:last-child {
  margin-bottom: 0;
}
.osc-pp-finance__points i {
  margin-top: 3px;
  color: #55df63;
  font-size: 14px;
}
.osc-pp-finance__actions {
  margin-bottom: 1rem;
}
.osc-pp-finance__cta {
  display: inline-flex;
  align-items: center;
  min-height: 46px;
  padding: 11px 52px 11px 24px;
  position: relative;
  border-radius: 999px;
  background: #122e44;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color 0.25s ease, transform 0.25s ease;
}
.osc-pp-finance__cta::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #55df63;
  transform: translateY(-50%);
}
.osc-pp-finance__cta::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 18px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #122e44;
  border-right: 2px solid #122e44;
  transform: translateY(-50%) rotate(45deg);
}
.osc-pp-finance__cta:hover, .osc-pp-finance__cta:focus-visible {
  background: rgb(24.4046511628, 62.3674418605, 92.1953488372);
  color: #fff;
  text-decoration: none;
  transform: translateY(-1px);
}
.osc-pp-finance__smallprint {
  margin: 0.5rem 0 0;
  color: #6b7280;
  font-size: 12px;
  line-height: 1.5;
}
.osc-pp-finance__media {
  position: relative;
  min-width: 0;
}
.osc-pp-finance__image {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 460px;
  object-fit: cover;
  border-radius: 16px;
}
.osc-pp-finance__provider {
  position: absolute;
  top: clamp(12px, 2vw, 24px);
  left: clamp(12px, 2vw, 24px);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  padding: 8px 16px;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(18, 46, 68, 0.18);
}
.osc-pp-finance__provider img {
  display: block;
  height: 28px;
  width: auto;
}
@media (max-width: 1199px) {
  .osc-pp-finance {
    --osc-finance-max-width: 1095px;
  }
}
@media (max-width: 991px) {
  .osc-pp-finance {
    --osc-finance-max-width: 915px;
  }
  .osc-pp-finance__grid {
    grid-template-columns: 1fr;
  }
  .osc-pp-finance__media {
    order: -1;
  }
  .osc-pp-finance__image {
    max-height: 340px;
  }
}
@media (max-width: 768px) {
  .osc-pp-finance {
    --osc-finance-max-width: 100%;
    --osc-finance-inset: clamp(16px, 4vw, 24px);
  }
  .osc-pp-finance__card {
    flex-direction: column;
    text-align: center;
  }
}

.osc-pp-interest {
  padding: clamp(40px, 5vw, 64px) 0;
}
.osc-pp-interest__inner {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}
.osc-pp-interest__points {
  list-style: none;
  margin: 1.5rem 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem 1.25rem;
}
.osc-pp-interest__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}

.osc-pp-price-challenge {
  --osc-price-challenge-inset: clamp(16px, 2.5vw, 30px);
  --osc-price-challenge-max-width: 1340px;
  padding: clamp(40px, 5vw, 64px) 0;
  background: #fff;
  border-top: 1px solid rgba(18, 46, 68, 0.06);
}
.osc-pp-price-challenge__frame {
  width: 100%;
  max-width: var(--osc-price-challenge-max-width);
  margin: 0 auto;
  padding: 0 var(--osc-price-challenge-inset);
  box-sizing: border-box;
}
.osc-pp-price-challenge__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: center;
}
.osc-pp-price-challenge__copy {
  min-width: 0;
}
.osc-pp-price-challenge__eyebrow {
  margin: 0 0 12px;
  color: #0a3a67;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.osc-pp-price-challenge__eyebrow::before {
  content: "";
  display: block;
  width: 44px;
  height: 3px;
  margin-bottom: 12px;
  border-radius: 2px;
  background: #55df63;
}
.osc-pp-price-challenge__heading {
  margin: 0 0 16px;
  color: #122e44;
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  line-height: 1.15;
  font-weight: 700;
  max-width: 16em;
}
.osc-pp-price-challenge__body {
  margin: 0 0 24px;
  color: rgba(18, 46, 68, 0.82);
  font-size: 15px;
  line-height: 1.65;
}
.osc-pp-price-challenge__body p {
  margin: 0 0 12px;
}
.osc-pp-price-challenge__body p:last-child {
  margin-bottom: 0;
}
.osc-pp-price-challenge__media {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 0;
}
.osc-pp-price-challenge__media img {
  display: block;
  width: auto;
  max-width: min(100%, 280px);
  height: auto;
}
@media (max-width: 991px) {
  .osc-pp-price-challenge__grid {
    grid-template-columns: 1fr;
  }
  .osc-pp-price-challenge__heading {
    max-width: none;
  }
  .osc-pp-price-challenge__media img {
    max-width: min(100%, 220px);
  }
}

.osc-pp-video-cta {
  --osc-video-cta-inset: clamp(16px, 2.5vw, 30px);
  --osc-video-cta-max-width: 1340px;
  padding: clamp(40px, 5vw, 64px) 0;
  background: #fff;
}
.osc-pp-video-cta__frame {
  width: 100%;
  max-width: var(--osc-video-cta-max-width);
  margin: 0 auto;
  padding: 0 var(--osc-video-cta-inset);
  box-sizing: border-box;
}
.osc-pp-video-cta__card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  min-height: clamp(210px, 22.5vw, 270px);
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 18px 48px rgba(18, 46, 68, 0.1);
}
.osc-pp-video-cta__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: clamp(12px, 1.9vw, 17px);
  min-width: 0;
  padding: clamp(21px, 3vw, 33px);
}
.osc-pp-video-cta__title {
  margin: 0;
  color: #122e44;
  font-size: clamp(1.65rem, 2.8vw, 2.35rem);
  line-height: 1.12;
  font-weight: 700;
}
.osc-pp-video-cta__body {
  margin: 0;
  color: rgba(18, 46, 68, 0.78);
  font-size: 15px;
  line-height: 1.65;
}
.osc-pp-video-cta__body p:last-child {
  margin-bottom: 0;
}
.osc-pp-video-cta__actions {
  margin-top: 4px;
}
.osc-pp-video-cta__btn {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  padding: 12px 22px;
  border-radius: 999px;
  background: #122e44;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.osc-pp-video-cta__btn i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.14);
  font-size: 12px;
}
.osc-pp-video-cta__btn:hover, .osc-pp-video-cta__btn:focus-visible {
  background: rgb(24.4046511628, 62.3674418605, 92.1953488372);
  color: #fff;
  transform: translateY(-1px);
}
.osc-pp-video-cta__trigger {
  position: relative;
  display: block;
  width: 100%;
  min-height: 100%;
  padding: 0;
  border: 0;
  background: #122e44;
  cursor: pointer;
  text-align: left;
}
.osc-pp-video-cta__trigger:hover .osc-pp-video-cta__poster, .osc-pp-video-cta__trigger:focus-visible .osc-pp-video-cta__poster {
  transform: scale(1.03);
}
.osc-pp-video-cta__trigger:hover .osc-pp-video-cta__play-badge, .osc-pp-video-cta__trigger:focus-visible .osc-pp-video-cta__play-badge {
  transform: translate(-50%, -50%) scale(1.06);
  opacity: 1;
}
.osc-pp-video-cta__poster {
  display: block;
  width: 100%;
  height: 100%;
  min-height: clamp(210px, 22.5vw, 270px);
  object-fit: cover;
  object-position: center;
  transition: transform 0.45s ease;
}
.osc-pp-video-cta__play-badge {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.94);
  color: #122e44;
  font-size: 18px;
  transform: translate(-50%, -50%);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.2);
  opacity: 0.95;
  transition: transform 0.25s ease, opacity 0.25s ease;
  pointer-events: none;
}
@media (max-width: 991px) {
  .osc-pp-video-cta__card {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .osc-pp-video-cta__copy {
    padding: clamp(18px, 3.75vw, 24px);
  }
  .osc-pp-video-cta__poster {
    min-height: clamp(165px, 39vw, 240px);
  }
  .osc-pp-video-cta__play-badge {
    opacity: 1;
  }
}
@media (max-width: 768px) {
  .osc-pp-video-cta {
    --osc-video-cta-inset: clamp(16px, 4vw, 24px);
  }
}

.osc-pp-media-links,
.osc-pp-media-cta {
  padding: 1.5rem 0;
}
.osc-pp-media-links__grid,
.osc-pp-media-cta__grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
}
.osc-pp-media-links__item, .osc-pp-media-links__tile,
.osc-pp-media-cta__item,
.osc-pp-media-cta__tile {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 140px;
  padding: 0.85rem 1.25rem;
  border-radius: 999px;
  border: 1px solid #122e44;
  color: #122e44;
  font-weight: 700;
  text-decoration: none;
}

@media (max-width: 768px) {
  .osc-pp-showroom__grid,
  .osc-pp-spec__row {
    grid-template-columns: 1fr;
  }
  .osc-pp-showroom__iframe {
    height: 250px;
  }
  .osc-pp-showroom-booking__grid {
    grid-template-columns: 1fr;
  }
  .osc-pp-showroom-booking__calendar-body {
    min-height: 420px;
  }
  .osc-pp-showroom-booking .osc-cal-embed {
    min-height: 400px;
  }
}
/**
 * Flexible content: columns, stats, gallery (corporate + product pages).
 */
.osc-pp-columns--green {
  background: #55df63;
  color: #122e44;
}
.osc-pp-columns--green .osc-inner-prose {
  color: #122e44;
}
.osc-pp-columns--green .osc-inner-prose :is(p, span, li, strong, b, em, i) {
  color: inherit;
}
.osc-pp-columns--green .osc-inner-prose :is(h1, h2, h3, h4, h5, h6) {
  color: #122e44;
}
.osc-pp-columns--green .osc-inner-prose a {
  color: #122e44;
  text-decoration-color: rgba(18, 46, 68, 0.35);
}
.osc-pp-columns--green .osc-inner-prose a:hover, .osc-pp-columns--green .osc-inner-prose a:focus-visible {
  color: #0a3a67;
}
.osc-pp-columns--lightgreen {
  background: #a9fdb3;
  color: #122e44;
}
.osc-pp-columns--lightgreen .osc-inner-prose {
  color: #122e44;
}
.osc-pp-columns--lightgreen .osc-inner-prose :is(p, span, li, strong, b, em, i) {
  color: inherit;
}
.osc-pp-columns--lightgreen .osc-inner-prose :is(h1, h2, h3, h4, h5, h6) {
  color: #122e44;
}
.osc-pp-columns--lightgreen .osc-inner-prose a {
  color: #0a3a67;
}
.osc-pp-columns--lightgreen .osc-inner-prose a:hover, .osc-pp-columns--lightgreen .osc-inner-prose a:focus-visible {
  color: #122e44;
}
.osc-pp-columns.osc-inner-panel {
  color: #fff;
}
.osc-pp-columns__grid {
  display: grid;
  gap: clamp(24px, 4vw, 40px);
  align-items: start;
}
.osc-pp-columns__grid--1 {
  grid-template-columns: minmax(0, 1fr);
}
.osc-pp-columns__grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.osc-pp-columns__grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.osc-pp-columns__col {
  min-width: 0;
}
.osc-pp-columns__col img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}
.osc-pp-columns__actions {
  margin-top: clamp(24px, 4vw, 36px);
}

.osc-pp-stats__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 3vw, 32px);
}
.osc-pp-stats__item {
  text-align: center;
  padding: clamp(20px, 3vw, 28px);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 28px rgba(18, 46, 68, 0.08);
}
.osc-pp-stats__value {
  color: #122e44;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 700;
  line-height: 1;
}
.osc-pp-stats__suffix {
  margin: 10px 0 6px;
  color: #6b7280;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.osc-pp-stats__label {
  margin: 0;
  color: #333;
  font-size: 15px;
  line-height: 1.5;
}

.osc-pp-gallery__grid {
  display: grid;
  gap: clamp(20px, 3vw, 28px);
}
.osc-pp-gallery__grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.osc-pp-gallery__grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.osc-pp-gallery__grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.osc-pp-gallery__item {
  margin: 0;
  min-width: 0;
}
.osc-pp-gallery__image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(18, 46, 68, 0.1);
  object-fit: cover;
  aspect-ratio: 4/5;
}
.osc-pp-gallery__caption {
  margin-top: 14px;
}

@media (max-width: 991px) {
  .osc-pp-columns__grid--3,
  .osc-pp-gallery__grid--3,
  .osc-pp-gallery__grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .osc-pp-stats__grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px) {
  .osc-pp-columns__grid--2,
  .osc-pp-columns__grid--3,
  .osc-pp-gallery__grid--2,
  .osc-pp-gallery__grid--3,
  .osc-pp-gallery__grid--4 {
    grid-template-columns: 1fr;
  }
  .osc-pp-gallery__image {
    aspect-ratio: 16/10;
  }
}
.osc-pp-video-showcase {
  padding-top: clamp(40px, 5vw, 64px);
  padding-bottom: clamp(40px, 5vw, 64px);
}
.osc-pp-video-showcase__feature-link {
  display: inline-flex;
  margin-top: 12px;
  color: #0a3a67;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}
.osc-pp-video-showcase__feature-link:hover, .osc-pp-video-showcase__feature-link:focus-visible {
  color: #122e44;
  text-decoration: underline;
}

.osc-pp-option-rows__intro {
  max-width: 760px;
  margin: 0 auto clamp(28px, 4vw, 40px);
  text-align: center;
}
.osc-pp-option-rows__list {
  display: grid;
  gap: clamp(20px, 3vw, 28px);
}
.osc-pp-option-rows__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(16px, 2.5vw, 24px);
  align-items: center;
  padding: clamp(18px, 3vw, 28px);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(18, 46, 68, 0.08);
}
.osc-pp-option-rows__row--reverse .osc-pp-option-rows__copy {
  order: 3;
}
.osc-pp-option-rows__row--reverse .osc-pp-option-rows__media:nth-child(2) {
  order: 1;
}
.osc-pp-option-rows__row--reverse .osc-pp-option-rows__media:nth-child(3) {
  order: 2;
}
.osc-pp-option-rows__title {
  margin: 0 0 12px;
  color: #122e44;
  font-size: clamp(1.1rem, 1.8vw, 1.35rem);
  line-height: 1.25;
  font-weight: 700;
}
.osc-pp-option-rows__text {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.65;
  font-weight: 500;
  color: #333;
  color: #333;
}
.osc-pp-option-rows__text p:last-child {
  margin-bottom: 0;
}
.osc-pp-option-rows__media {
  min-width: 0;
}
.osc-pp-option-rows__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 14px;
  object-fit: cover;
  aspect-ratio: 4/5;
}
.osc-pp-option-rows__media--video img {
  aspect-ratio: 1/1;
}
.osc-pp-option-rows__video-trigger {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 14px;
  overflow: hidden;
  background: #122e44;
  cursor: pointer;
}
.osc-pp-option-rows__video-trigger img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 1/1;
}
.osc-pp-option-rows__play-badge {
  position: absolute;
  left: 50%;
  top: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: #0a3a67;
  transform: translate(-50%, -50%);
  box-shadow: 0 8px 24px rgba(18, 46, 68, 0.18);
}
.osc-pp-option-rows__play-badge i {
  margin-left: 3px;
  font-size: 16px;
}

@media (max-width: 991px) {
  .osc-pp-option-rows__row {
    grid-template-columns: 1fr 1fr;
  }
  .osc-pp-option-rows__row--reverse .osc-pp-option-rows__copy {
    order: unset;
  }
  .osc-pp-option-rows__copy {
    grid-column: 1/-1;
  }
}
@media (max-width: 768px) {
  .osc-pp-option-rows__row {
    grid-template-columns: 1fr;
  }
}
/**
 * Product submenu — horizontal product switcher below the main header.
 */
.osc-product-submenu {
  position: relative;
  z-index: 900;
  margin-top: var(--osc-header-height);
  background: #c8c8c8;
  border-bottom: 1px solid rgba(18, 46, 68, 0.08);
}
.osc-product-submenu__frame {
  width: 100%;
  max-width: 1340px;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(16px, 2.5vw, 30px);
  padding-right: clamp(16px, 2.5vw, 30px);
  box-sizing: border-box;
}
@media (max-width: 991px) {
  .osc-product-submenu__frame {
    padding-left: clamp(16px, 4vw, 24px);
    padding-right: clamp(16px, 4vw, 24px);
  }
}
.osc-product-submenu__track {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: clamp(12px, 2.5vw, 28px);
  padding: 14px 0 0;
}
.osc-product-submenu__item {
  position: relative;
  display: flex;
  flex: 0 0 200px;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  width: 200px;
  max-width: 200px;
  padding: 0 4px 0;
  color: #6b7280;
  text-decoration: none;
  transition: color 0.2s ease;
}
.osc-product-submenu__item:hover, .osc-product-submenu__item:focus-visible {
  color: #122e44;
  text-decoration: none;
}
.osc-product-submenu__item.is-active {
  color: #122e44;
}
.osc-product-submenu__thumb {
  display: block;
  width: clamp(86px, 9.6vw, 115px);
  height: clamp(58px, 6vw, 70px);
  overflow: hidden;
  background: transparent;
}
.osc-product-submenu__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.osc-product-submenu__label {
  font-size: 14.4px;
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
  letter-spacing: 0.02em;
  padding-bottom: 12px;
}
.osc-product-submenu__item.is-active .osc-product-submenu__label {
  color: #122e44;
}
.osc-product-submenu__marker {
  position: absolute;
  left: 50%;
  bottom: -1px;
  z-index: 2;
  width: 0;
  height: 0;
  border-left: 9px solid transparent;
  border-right: 9px solid transparent;
  border-bottom: 9px solid #122e44;
  transform: translateX(-50%);
}
@media (max-width: 768px) {
  .osc-product-submenu--scroll {
    --osc-product-submenu-mobile-item: calc((100vw - 2 * clamp(16px, 4vw, 24px) - 24px) / 2.5);
  }
  .osc-product-submenu--scroll .osc-product-submenu__frame {
    padding-left: 0;
    padding-right: 0;
  }
  .osc-product-submenu--scroll .osc-product-submenu__track {
    justify-content: flex-start;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    gap: 12px;
    padding-left: clamp(16px, 4vw, 24px);
    padding-right: clamp(16px, 4vw, 24px);
  }
  .osc-product-submenu--scroll .osc-product-submenu__track::-webkit-scrollbar {
    display: none;
  }
  .osc-product-submenu--scroll .osc-product-submenu__item {
    scroll-snap-align: start;
    flex: 0 0 var(--osc-product-submenu-mobile-item);
    width: var(--osc-product-submenu-mobile-item);
    max-width: var(--osc-product-submenu-mobile-item);
  }
  .osc-product-submenu--scroll .osc-product-submenu__thumb {
    width: clamp(68px, 22vw, 86px);
    height: clamp(46px, 14vw, 58px);
  }
  .osc-product-submenu--scroll .osc-product-submenu__label {
    font-size: 13px;
  }
}

body.osc-has-product-submenu:not(.osc-header-overlay) .osc-phero {
  margin-top: 0;
}

/**
 * Compare Pergolas feature-comparison table.
 */
.osc-compare {
  background: #fff;
  padding-top: clamp(40px, 5vw, 64px);
  padding-bottom: clamp(40px, 5vw, 64px);
}
.osc-compare__frame {
  width: 100%;
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(16px, 2.5vw, 30px);
  padding-right: clamp(16px, 2.5vw, 30px);
  box-sizing: border-box;
}
@media (max-width: 991px) {
  .osc-compare__frame {
    padding-left: clamp(16px, 4vw, 24px);
    padding-right: clamp(16px, 4vw, 24px);
  }
}
.osc-compare__intro {
  max-width: 760px;
  margin: 0 auto clamp(28px, 4vw, 40px);
  text-align: center;
}
.osc-compare__intro-heading {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  margin: 0 0 10px;
  color: #122e44;
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  line-height: 1.2;
  font-weight: 700;
}
.osc-compare__intro-lead {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  margin: 0 0 clamp(24px, 3vw, 36px);
  color: #6b7280;
  font-size: 15px;
  line-height: 1.65;
  margin-bottom: 0;
}
.osc-compare__table {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr) minmax(0, 1fr);
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
}
.osc-compare__row {
  display: contents;
}
.osc-compare__cell {
  padding: 14px 18px;
  border-bottom: 1px solid #e5e7eb;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 4px;
}
@media (max-width: 768px) {
  .osc-compare__cell {
    padding: 12px 8px;
  }
}
.osc-compare__cell--feature {
  align-items: flex-start;
  text-align: left;
  font-weight: 600;
  color: #122e44;
  font-size: 14px;
  line-height: 1.4;
}
@media (max-width: 768px) {
  .osc-compare__cell--feature {
    font-size: 12.5px;
  }
}
.osc-compare__col--highlighted, .osc-compare__cell--product + .osc-compare__cell {
  border-left: 1px solid #e5e7eb;
}
.osc-compare__col--highlighted {
  background: #dff5e4;
}
.osc-compare__row--head .osc-compare__cell {
  padding-top: 22px;
  padding-bottom: 22px;
  position: relative;
}
.osc-compare__cell--product {
  color: #fff;
  background: #122e44;
  gap: 6px;
}
.osc-compare__cell--product.osc-compare__col--highlighted {
  background: rgb(29.401980198, 156.198019802, 42.2653465347);
  border-left-color: rgba(255, 255, 255, 0.2);
}
.osc-compare__ribbon {
  display: inline-block;
  margin-bottom: 2px;
  padding: 3px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.osc-compare__product-name {
  font-size: clamp(1.05rem, 1.6vw, 1.35rem);
  font-weight: 700;
  line-height: 1.2;
}
.osc-compare__product-tagline {
  font-size: 12.5px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.35;
}
@media (max-width: 768px) {
  .osc-compare__product-tagline {
    display: none;
  }
}
.osc-compare__group-title {
  grid-column: 1/-1;
  padding: 12px 18px;
  background: #f5f5f5;
  border-bottom: 1px solid #e5e7eb;
  color: #122e44;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
@media (max-width: 768px) {
  .osc-compare__group-title {
    padding: 10px 10px;
    font-size: 11px;
  }
}
.osc-compare__value {
  color: #122e44;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
}
@media (max-width: 768px) {
  .osc-compare__value {
    font-size: 12px;
  }
}
.osc-compare__mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  font-size: 15px;
}
@media (max-width: 768px) {
  .osc-compare__mark {
    width: 26px;
    height: 26px;
    font-size: 13px;
  }
}
.osc-compare__mark--yes {
  color: #fff;
  background: rgb(32.6336633663, 173.3663366337, 46.9108910891);
}
.osc-compare__mark--no {
  color: #fff;
  background: #dc2626;
}
.osc-compare__mark--limited {
  color: #fff;
  background: #d97706;
}
.osc-compare__note {
  color: #6b7280;
  font-size: 11.5px;
  line-height: 1.3;
}
@media (max-width: 768px) {
  .osc-compare__note {
    font-size: 10.5px;
  }
}
.osc-compare__sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.osc-compare__row:last-child .osc-compare__cell {
  border-bottom: 0;
}
.osc-compare__cta {
  margin-top: clamp(28px, 4vw, 40px);
  text-align: center;
}
.osc-compare__cta-text {
  margin: 0 0 14px;
  color: #122e44;
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
  font-weight: 700;
}
.osc-compare__cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}
.osc-compare__cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 46px;
  padding: 12px 30px;
  border-radius: 999px;
  background: #122e44;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.osc-compare__cta-btn:hover, .osc-compare__cta-btn:focus-visible {
  background: #0a3a67;
  color: #fff;
  text-decoration: none;
}
.osc-compare__cta-btn--ghost {
  background: transparent;
  border: 2px solid #122e44;
  color: #122e44;
}
.osc-compare__cta-btn--ghost:hover, .osc-compare__cta-btn--ghost:focus-visible {
  background: #122e44;
  color: #fff;
}

/**
 * Single BG Featured Block.
 *
 * Rounded card with a full-bleed background image and centred title, optional
 * subtitle and a pill button.
 */
.osc-bg-feature {
  background: #fff;
  padding-top: clamp(40px, 5vw, 64px);
  padding-bottom: clamp(40px, 5vw, 64px);
}
.osc-bg-feature__frame {
  width: 100%;
  max-width: 1340px;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(16px, 2.5vw, 30px);
  padding-right: clamp(16px, 2.5vw, 30px);
  box-sizing: border-box;
}
@media (max-width: 991px) {
  .osc-bg-feature__frame {
    padding-left: clamp(16px, 4vw, 24px);
    padding-right: clamp(16px, 4vw, 24px);
  }
}
.osc-bg-feature__card {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: clamp(260px, 30vw, 360px);
  padding: clamp(40px, 6vw, 72px) clamp(20px, 4vw, 48px);
  border-radius: 18px;
  overflow: hidden;
  background-color: #dff5e4;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.osc-bg-feature__card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: rgba(0, 0, 0, 0.28);
}
.osc-bg-feature__card--overlay-none::before {
  display: none;
}
.osc-bg-feature__card--overlay-medium::before {
  background: rgba(0, 0, 0, 0.45);
}
.osc-bg-feature__card--overlay-strong::before {
  background: rgba(0, 0, 0, 0.62);
}
.osc-bg-feature__inner {
  position: relative;
  z-index: 2;
  max-width: 640px;
}
.osc-bg-feature__title {
  margin: 0;
  color: #fff;
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  font-weight: 700;
  line-height: 1.2;
}
.osc-bg-feature__subtitle {
  margin: 10px 0 0;
  color: rgba(255, 255, 255, 0.9);
  font-size: clamp(0.95rem, 1.4vw, 1.05rem);
  line-height: 1.4;
}
.osc-bg-feature__btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 22px;
  padding: 8px 10px 8px 26px;
  border-radius: 999px;
  background: #fff;
  color: #122e44;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.osc-bg-feature__btn i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: #122e44;
  color: #fff;
  font-size: 12px;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.osc-bg-feature__btn:hover, .osc-bg-feature__btn:focus-visible {
  background: #122e44;
  color: #fff;
  text-decoration: none;
}
.osc-bg-feature__btn:hover i, .osc-bg-feature__btn:focus-visible i {
  background: #fff;
  color: #122e44;
}

/**
 * Showroom page (/showroom/).
 */
.osc-showroom-hero {
  position: relative;
  background: #122e44;
  margin-top: var(--osc-header-height);
}
.osc-showroom-hero__slider {
  width: 100%;
  max-height: clamp(280px, 42vw, 560px);
  overflow: hidden;
}
.osc-showroom-hero__image {
  display: block;
  width: 100%;
  height: clamp(280px, 42vw, 560px);
  object-fit: cover;
  object-position: center;
}
.osc-showroom-hero__nav {
  position: absolute;
  top: 50%;
  z-index: 3;
  transform: translateY(-50%);
}
.osc-showroom-hero__nav--prev {
  left: clamp(16px, 2.5vw, 30px);
}
.osc-showroom-hero__nav--next {
  right: clamp(16px, 2.5vw, 30px);
}
.osc-showroom-hero__pagination {
  position: absolute;
  left: 50%;
  bottom: clamp(16px, 3vw, 28px);
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: auto;
  transform: translateX(-50%);
}
.osc-showroom-hero__pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  margin: 0 !important;
  background: rgba(255, 255, 255, 0.45);
  opacity: 1;
  transition: transform 0.2s ease, background-color 0.2s ease;
}
.osc-showroom-hero__pagination .swiper-pagination-bullet-active {
  background: #55df63;
  transform: scale(1.15);
}

.osc-showroom-intro {
  text-align: center;
}
.osc-showroom-intro__lead {
  max-width: 780px;
  margin: 0 auto 28px;
  text-align: left;
}
.osc-showroom-intro__lead p:last-child {
  margin-bottom: 0;
}
.osc-showroom-intro__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 16px;
}

.osc-showroom-visit__card {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: center;
  padding: clamp(24px, 4vw, 40px);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(18, 46, 68, 0.1);
}
.osc-showroom-visit__heading {
  margin: 0 0 24px;
  color: #122e44;
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  line-height: 1.15;
  font-weight: 700;
}
.osc-showroom-visit__detail + .osc-showroom-visit__detail {
  margin-top: 20px;
}
.osc-showroom-visit__label {
  margin: 0 0 8px;
  color: #0a3a67;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.osc-showroom-visit__text {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  color: #333;
  font-size: 15px;
  line-height: 1.6;
}
.osc-showroom-visit__text i {
  margin-top: 3px;
  color: #55df63;
}
.osc-showroom-visit__hours {
  margin: 0;
  padding: 0;
  list-style: none;
  color: #333;
  font-size: 15px;
  line-height: 1.7;
}
.osc-showroom-visit__hours li + li {
  margin-top: 4px;
}
.osc-showroom-visit__video {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  background: #122e44;
  box-shadow: 0 12px 32px rgba(18, 46, 68, 0.16);
  aspect-ratio: 16/9;
}
.osc-showroom-visit__video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.osc-showroom-features {
  padding: clamp(32px, 5vw, 48px) 0;
  background: #dff5e4;
}
.osc-showroom-features__list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(14px, 1.8vw, 24px);
  margin: 0;
  padding: 0;
  list-style: none;
}
.osc-showroom-features__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  min-width: 0;
  text-align: center;
  color: #122e44;
}
.osc-showroom-features__item i {
  color: #55df63;
  font-size: clamp(2.24rem, 3.36vw, 2.8rem);
  line-height: 1;
}
.osc-showroom-features__label {
  font-size: clamp(1.29rem, 1.96vw, 1.47rem);
  font-weight: 700;
  line-height: 1.3;
}
.osc-showroom-features__detail {
  color: rgba(18, 46, 68, 0.72);
  font-size: clamp(0.95rem, 1.35vw, 1.125rem);
  line-height: 1.35;
}

.osc-showroom-booking {
  text-align: center;
}
.osc-showroom-booking__calendar {
  margin-top: clamp(24px, 4vw, 36px);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 16px 40px rgba(18, 46, 68, 0.1);
  overflow: hidden;
  text-align: left;
}
.osc-showroom-booking__calendar-head {
  padding: 20px 24px 0;
}
.osc-showroom-booking__calendar-title {
  margin: 0 0 4px;
  color: #122e44;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.3;
}
.osc-showroom-booking__calendar-lead {
  margin: 0;
  color: #6b7280;
  font-size: 13px;
  line-height: 1.45;
}
.osc-showroom-booking__calendar-body {
  min-height: 480px;
  padding: 8px 16px 16px;
  overflow-x: hidden;
}
.osc-showroom-booking .osc-cal-embed {
  width: 100%;
  min-height: 460px;
}
.osc-showroom-booking .osc-cal-embed iframe {
  width: 100% !important;
  border: 0;
}

.osc-showroom-gallery__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 2.5vw, 24px);
  margin-top: clamp(24px, 4vw, 36px);
}
.osc-showroom-gallery__item {
  margin: 0;
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 12px 32px rgba(18, 46, 68, 0.1);
}
.osc-showroom-gallery__image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 240px;
  object-fit: cover;
  object-position: center;
  transition: transform 0.45s ease;
}
.osc-showroom-gallery__item:hover .osc-showroom-gallery__image, .osc-showroom-gallery__item:focus-within .osc-showroom-gallery__image {
  transform: scale(1.03);
}

@media (max-width: 991px) {
  .osc-showroom-visit__card {
    grid-template-columns: 1fr;
  }
  .osc-showroom-features__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 768px) {
  .osc-showroom-intro__actions {
    flex-direction: column;
    align-items: stretch;
  }
  .osc-showroom-intro__actions .osc-pp-about__cta {
    justify-content: center;
  }
  .osc-showroom-features__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .osc-showroom-gallery__grid {
    grid-template-columns: 1fr;
  }
  .osc-showroom-booking__calendar-body {
    min-height: 420px;
    padding-inline: 8px;
  }
}
/**
 * Floating video bubble + expanded modal (isolated namespace).
 */
body.osc-vbubble-open {
  overflow: hidden;
}

.osc-vbubble {
  position: fixed;
  left: 20px;
  bottom: 20px;
  z-index: 10040;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.35s ease, transform 0.35s ease, visibility 0.35s ease;
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
}
.osc-vbubble--visible {
  opacity: 1;
  transform: translateY(0);
}
.osc-vbubble--hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.osc-vbubble__trigger {
  position: relative;
  display: block;
  width: 100px;
  height: 100px;
  padding: 0;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #122e44;
  box-shadow: 0 10px 28px rgba(18, 46, 68, 0.28);
  overflow: hidden;
  cursor: pointer;
  transition: width 0.3s ease, height 0.3s ease, box-shadow 0.3s ease;
}
.osc-vbubble__trigger:hover, .osc-vbubble__trigger:focus-visible {
  width: 200px;
  height: 200px;
  box-shadow: 0 16px 36px rgba(18, 46, 68, 0.34);
  outline: none;
}
.osc-vbubble__video {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
}
.osc-vbubble__preview-iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 178%;
  height: 178%;
  min-width: 100%;
  min-height: 100%;
  border: 0;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.osc-vbubble__fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: 28px;
  line-height: 1;
}
.osc-vbubble__dismiss {
  position: absolute;
  top: -6px;
  right: -6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: #122e44;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.osc-vbubble__dismiss:hover, .osc-vbubble__dismiss:focus-visible {
  background: #122e44;
  color: #fff;
  outline: none;
}
.osc-vbubble__modal {
  position: fixed;
  inset: 0;
  z-index: 10055;
  pointer-events: none;
}
.osc-vbubble__modal[hidden] {
  display: none !important;
}
.osc-vbubble__modal:not([hidden]) {
  pointer-events: auto;
}
.osc-vbubble__backdrop {
  position: absolute;
  inset: 0;
  padding: 0;
  border: 0;
  background: rgba(0, 0, 0, 0.45);
  cursor: pointer;
}
.osc-vbubble__dialog {
  position: fixed;
  left: 20px;
  bottom: 20px;
  z-index: 1;
  width: min(340px, 100vw - 40px);
  transform-origin: bottom left;
  animation: osc-vbubble-modal-in 0.32s ease;
}
.osc-vbubble__close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.osc-vbubble__close:hover, .osc-vbubble__close:focus-visible {
  background: rgba(0, 0, 0, 0.72);
  outline: none;
  transform: scale(1.04);
}
.osc-vbubble__player {
  position: relative;
  width: 100%;
  aspect-ratio: 9/16;
  max-height: min(75vh, 640px);
  background: #000;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.45);
  isolation: isolate;
}
.osc-vbubble__iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  border: 0;
  transform: translate(-50%, -50%);
  width: 316.049382716%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
}
.osc-vbubble__overlay {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: 2;
  padding: 14px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
  pointer-events: none;
}
.osc-vbubble__actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}
.osc-vbubble__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  padding: 12px 18px;
  border: 2px solid #55df63;
  border-radius: 999px;
  background: #122e44;
  color: #fff;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.24);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  pointer-events: auto;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}
.osc-vbubble__cta:hover, .osc-vbubble__cta:focus-visible {
  background: rgb(22.2697674419, 56.911627907, 84.1302325581);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.3), 0 0 0 3px rgba(85, 223, 99, 0.35);
  color: #fff;
  text-decoration: none;
  transform: translateY(-1px);
  outline: none;
}
.osc-vbubble__cta--secondary {
  background: rgba(255, 255, 255, 0.96);
  border-color: rgba(255, 255, 255, 0.96);
  color: #122e44;
}
.osc-vbubble__cta--secondary:hover, .osc-vbubble__cta--secondary:focus-visible {
  background: #fff;
  border-color: #fff;
  color: #122e44;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.24);
}

@keyframes osc-vbubble-modal-in {
  from {
    opacity: 0;
    transform: scale(0.88);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@media (max-width: 768px) {
  .osc-vbubble {
    left: 16px;
    bottom: 16px;
  }
  .osc-vbubble__trigger {
    width: 81px;
    height: 81px;
  }
  .osc-vbubble__trigger:hover, .osc-vbubble__trigger:focus-visible {
    width: 163px;
    height: 163px;
  }
  .osc-vbubble__fallback {
    font-size: 22px;
  }
  .osc-vbubble__dialog {
    inset: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    max-height: none;
    transform-origin: center center;
  }
  .osc-vbubble__close {
    top: max(16px, env(safe-area-inset-top, 0px));
    right: max(16px, env(safe-area-inset-right, 0px));
    width: 48px;
    height: 48px;
    font-size: 30px;
    background: rgba(0, 0, 0, 0.65);
  }
  .osc-vbubble__player {
    width: 100%;
    height: 100%;
    max-height: none;
    aspect-ratio: auto;
    border-radius: 0;
  }
  .osc-vbubble__iframe {
    width: 177.7777777778vh;
    height: 100vh;
    min-width: 100vw;
    min-height: 100vh;
  }
  .osc-vbubble__overlay {
    left: 16px;
    right: 16px;
    bottom: max(16px, env(safe-area-inset-bottom, 0px));
    padding: 16px;
  }
  .osc-vbubble__actions {
    gap: 12px;
  }
  .osc-vbubble__cta {
    min-height: 52px;
    font-size: 15px;
  }
}
/**
 * Blog archive and single post layouts.
 */
.osc-blog__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
  gap: clamp(28px, 4vw, 48px);
  align-items: start;
}
.osc-blog__main {
  min-width: 0;
}
.osc-blog__lead {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  margin: 0 0 clamp(24px, 3vw, 36px);
  color: #6b7280;
  font-size: 15px;
  line-height: 1.65;
  margin: 0 0 28px;
  text-align: left;
}
.osc-blog__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 24px);
  list-style: none;
  margin: 0;
  padding: 0;
}
.osc-blog__empty {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.65;
  font-weight: 500;
  color: #333;
  margin: 0;
  padding: 28px 20px;
  text-align: center;
  color: #6b7280;
  background: #f5f5f5;
  border-radius: 14px;
}
.osc-blog__pagination {
  margin-top: 32px;
}
.osc-blog__pagination .page-numbers {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  margin: 0 4px 8px 0;
  padding: 0 12px;
  border: 1px solid rgba(18, 46, 68, 0.12);
  border-radius: 999px;
  background: #fff;
  color: #122e44;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.osc-blog__pagination .page-numbers:hover, .osc-blog__pagination .page-numbers:focus-visible {
  border-color: rgba(18, 46, 68, 0.28);
  color: #0a3a67;
}
.osc-blog__pagination .page-numbers.current {
  border-color: #122e44;
  background: #122e44;
  color: #fff;
}

.osc-blog-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(18, 46, 68, 0.08);
}
.osc-blog-card__media {
  display: block;
  overflow: hidden;
}
.osc-blog-card__image, .osc-blog-card__placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
}
.osc-blog-card__placeholder {
  background: linear-gradient(135deg, rgba(10, 58, 103, 0.12), rgba(18, 46, 68, 0.18));
}
.osc-blog-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 18px 18px 20px;
}
.osc-blog-card__date {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.65;
  margin: 0 0 8px;
  color: #6b7280;
}
.osc-blog-card__title {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  margin: 0 0 10px;
  color: #122e44;
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
  font-weight: 700;
  line-height: 1.3;
}
.osc-blog-card__title a {
  color: inherit;
  text-decoration: none;
}
.osc-blog-card__title a:hover, .osc-blog-card__title a:focus-visible {
  color: #0a3a67;
}
.osc-blog-card__excerpt {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.65;
  font-weight: 500;
  color: #333;
  margin: 0 0 16px;
  color: #333;
  font-size: 15px;
}
.osc-blog-card__link {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  color: #0a3a67;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}
.osc-blog-card__link:hover, .osc-blog-card__link:focus-visible {
  color: #122e44;
}

.osc-blog-sidebar__panel {
  padding: 22px 20px;
  border-radius: 14px;
  background: #f5f5f5;
}
.osc-blog-sidebar__heading {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  margin: 0 0 14px;
  color: #122e44;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.3;
}
.osc-blog-sidebar__links {
  margin: 0;
  padding: 0;
  list-style: none;
}
.osc-blog-sidebar__links li {
  margin: 0 0 10px;
}
.osc-blog-sidebar__links li:last-child {
  margin-bottom: 0;
}
.osc-blog-sidebar__links a {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  color: #0a3a67;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
}
.osc-blog-sidebar__links a:hover, .osc-blog-sidebar__links a:focus-visible {
  color: #122e44;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.osc-blog-sidebar__widgets {
  margin-top: 20px;
}
.osc-blog-sidebar__widget + .osc-blog-sidebar__widget {
  margin-top: 20px;
}

.osc-blog-single {
  min-width: 0;
}
.osc-blog-single__header {
  margin-bottom: 18px;
}
.osc-blog-single__date {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.65;
  color: #6b7280;
}
.osc-blog-single__content {
  margin-bottom: 24px;
}
.osc-blog-single__meta {
  font-family: "Montserrat", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.65;
  padding-top: 18px;
  border-top: 1px solid #e5e7eb;
  color: #6b7280;
}
.osc-blog-single__meta a {
  color: #0a3a67;
  font-weight: 600;
  text-decoration: none;
}
.osc-blog-single__meta a:hover, .osc-blog-single__meta a:focus-visible {
  color: #122e44;
  text-decoration: underline;
}

@media (max-width: 991px) {
  .osc-blog__layout {
    grid-template-columns: 1fr;
  }
  .osc-blog-sidebar {
    order: 2;
  }
}
@media (max-width: 768px) {
  .osc-blog__grid {
    grid-template-columns: 1fr;
  }
}

/*# sourceMappingURL=theme-components.css.map */
