.osb-page {
  --osb-ink: var(--product-ink);
  --osb-muted: var(--product-muted);
  --osb-soft: var(--product-surface);
  --osb-panel: #ffffff;
  --osb-line: var(--product-line);
  --osb-green: var(--product-accent);
  --osb-deep: var(--product-deep);
  --osb-brass: var(--product-accent);
  background: #fff;
  color: var(--osb-ink);
  overflow: hidden;
}

.osb-page * {
  box-sizing: border-box;
}

.osb-hero {
  position: relative;
  min-height: 760px;
  display: flex;
  align-items: flex-end;
  padding: 0 0 72px;
  background: var(--osb-deep);
}

.osb-hero-media {
  position: absolute;
  inset: 0;
}

.osb-hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(10, 28, 25, .76) 0%, rgba(10, 28, 25, .42) 48%, rgba(10, 28, 25, .18) 100%),
    linear-gradient(0deg, rgba(10, 28, 25, .68) 0%, rgba(10, 28, 25, .08) 46%);
}

.osb-hero-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.osb-hero-inner {
  position: relative;
  z-index: 1;
}

.osb-hero-copy {
  max-width: 780px;
  color: #fff;
}

.osb-kicker,
.osb-section-head span {
  display: inline-flex;
  margin-bottom: 14px;
  color: var(--osb-brass);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.osb-hero h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(42px, 6vw, 76px);
  font-weight: 800;
  line-height: .98;
  letter-spacing: 0;
}

.osb-hero-copy p {
  max-width: 700px;
  margin: 20px 0 0;
  color: rgba(255, 255, 255, .88);
  font-size: 18px;
  line-height: 1.68;
}

.osb-hero-points {
  max-width: 720px;
  margin: 22px 0 0;
  padding: 0;
  display: grid;
  gap: 10px;
  list-style: none;
}

.osb-hero-points li {
  position: relative;
  padding-left: 22px;
  color: rgba(255, 255, 255, .88);
  font-size: 15px;
  line-height: 1.55;
}

.osb-hero-points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .65em;
  width: 9px;
  height: 9px;
  background: var(--osb-brass);
}

.osb-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 22px;
  color: rgba(255, 255, 255, .72);
  font-size: 13px;
}

.osb-breadcrumb a {
  color: rgba(255, 255, 255, .78);
  text-decoration: none;
}

.osb-breadcrumb a + a::before {
  content: "/";
  margin-right: 8px;
  color: rgba(255, 255, 255, .42);
}

.osb-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.osb-btn {
  min-width: 178px;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  border: 1px solid var(--osb-green);
  border-radius: 4px;
  color: var(--osb-deep);
  background: #fff;
  text-decoration: none;
  font-size: 14px;
  font-weight: 800;
  transition: transform .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease;
}

.osb-btn:hover {
  transform: translateY(-2px);
  text-decoration: none;
}

.osb-btn.primary {
  border-color: var(--osb-brass);
  background: var(--osb-brass);
  color: #fff;
}

.osb-btn.secondary {
  border-color: rgba(255, 255, 255, .62);
  background: rgba(255, 255, 255, .08);
  color: #fff;
}

.osb-video-section {
  padding: 58px 0 18px;
  background: #fff;
}

.osb-video-section .container {
  max-width: 940px;
}

.osb-video-card {
  display: block;
  position: relative;
  overflow: hidden;
  background: #0f1714;
  box-shadow: 0 26px 60px rgba(20, 33, 42, .16);
  text-decoration: none;
}

.osb-video-card img {
  width: 100%;
  aspect-ratio: 16 / 8;
  display: block;
  object-fit: cover;
}

.osb-play-mark {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 66px;
  height: 48px;
  transform: translate(-50%, -50%);
  border: 0;
  border-radius: 8px;
  background: var(--osb-brass);
  box-shadow: 0 14px 32px rgba(0, 0, 0, .28);
  cursor: pointer;
}

.osb-play-mark::after {
  content: "";
  position: absolute;
  left: 27px;
  top: 13px;
  border-left: 17px solid #fff;
  border-top: 11px solid transparent;
  border-bottom: 11px solid transparent;
}

.osb-section {
  padding: 76px 0;
}

.osb-section h2,
.osb-catalog-inner h2 {
  margin: 0;
  color: var(--osb-deep);
  font-size: clamp(28px, 3.5vw, 46px);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: 0;
}

.osb-section-head {
  max-width: 820px;
  margin: 0 auto 36px;
  text-align: center;
}

.osb-section-head.compact {
  max-width: 720px;
}

.osb-split,
.osb-feature-layout {
  max-width: 1080px;
  display: grid;
  grid-template-columns: minmax(260px, .82fr) minmax(0, 1fr);
  gap: 56px;
  align-items: start;
}

.osb-why-list {
  display: grid;
  gap: 16px;
}

.osb-why-list article {
  padding: 22px 24px;
  border: 1px solid var(--osb-line);
  border-left: 4px solid var(--osb-green);
  background: var(--osb-panel);
}

.osb-why-list strong,
.osb-programme-grid h3,
.osb-spec-grid h3,
.osb-proof-grid strong {
  color: var(--osb-deep);
  font-size: 20px;
  line-height: 1.2;
}

.osb-why-list p,
.osb-programme-grid p,
.osb-feature-copy li,
.osb-faq-list p,
.osb-catalog-inner p {
  color: var(--osb-muted);
  font-size: 15px;
  line-height: 1.72;
}

.osb-why-list p {
  margin: 8px 0 0;
}

.osb-programme-grid {
  max-width: 1080px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.osb-programme-grid article {
  position: relative;
  overflow: hidden;
  min-height: 430px;
  display: flex;
  align-items: flex-end;
  background: var(--osb-deep);
}

.osb-programme-grid img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .45s ease;
}

.osb-programme-grid article::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(11, 27, 24, .88) 0%, rgba(11, 27, 24, .22) 64%, rgba(11, 27, 24, .06) 100%);
}

.osb-programme-grid article.is-active img,
.osb-programme-grid article:hover img {
  transform: scale(1.05);
}

.osb-programme-grid article > div {
  position: relative;
  z-index: 1;
  padding: 28px;
}

.osb-programme-grid h3 {
  margin: 0 0 10px;
  color: #fff;
}

.osb-programme-grid p {
  margin: 0;
  color: rgba(255, 255, 255, .84);
}

.osb-programme-grid a {
  margin-top: 18px;
  display: inline-flex;
  color: #fff;
  font-weight: 800;
  text-decoration: none;
  border-bottom: 2px solid var(--osb-brass);
}

.osb-spec-band,
.osb-proof-band,
.osb-catalog-band {
  background: var(--osb-soft);
}

.osb-spec-grid {
  max-width: 1080px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.osb-spec-grid article {
  padding: 28px;
  border: 1px solid var(--osb-line);
  background: #fff;
}

.osb-spec-grid h3 {
  margin: 0 0 18px;
}

.osb-spec-grid dl,
.osb-spec-grid div {
  margin: 0;
}

.osb-spec-grid div {
  display: grid;
  grid-template-columns: 116px minmax(0, 1fr);
  gap: 12px;
  padding: 14px 0;
  border-top: 1px solid var(--osb-line);
}

.osb-spec-grid dt {
  color: var(--osb-ink);
  font-weight: 800;
}

.osb-spec-grid dd {
  margin: 0;
  color: var(--osb-muted);
  line-height: 1.62;
}

.osb-feature-layout {
  align-items: center;
}

.osb-detail-grid {
  max-width: 1080px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(360px, .92fr) minmax(0, 1fr);
  gap: 22px;
  align-items: stretch;
}

.osb-detail-lead,
.osb-detail-cards article {
  border: 1px solid var(--osb-line);
  background: #fff;
}

.osb-detail-lead {
  overflow: hidden;
}

.osb-detail-lead img {
  width: 100%;
  aspect-ratio: 1.3 / 1;
  display: block;
  object-fit: cover;
}

.osb-detail-lead div {
  padding: 28px;
}

.osb-detail-lead h3,
.osb-detail-cards h3 {
  margin: 0 0 10px;
  color: var(--osb-deep);
  font-size: 21px;
  line-height: 1.2;
}

.osb-detail-lead p,
.osb-detail-cards p {
  margin: 0;
  color: var(--osb-muted);
  font-size: 14px;
  line-height: 1.68;
}

.osb-detail-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.osb-detail-cards article {
  min-height: 220px;
  padding: 22px;
}

.osb-detail-cards img {
  width: 42px;
  height: 42px;
  margin-bottom: 18px;
  object-fit: contain;
}

.osb-check-list {
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.osb-check-list li {
  position: relative;
  padding-left: 24px;
}

.osb-check-list li + li {
  margin-top: 10px;
}

.osb-check-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 9px;
  height: 9px;
  background: var(--osb-green);
}

.osb-feature-media {
  overflow: hidden;
  background: var(--osb-soft);
}

.osb-feature-media img {
  width: 100%;
  aspect-ratio: 1.16 / 1;
  display: block;
  object-fit: cover;
}

.osb-proof-grid {
  max-width: 1080px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.osb-proof-grid article {
  min-height: 148px;
  padding: 24px;
  background: #fff;
  border-top: 4px solid var(--osb-green);
}

.osb-proof-grid strong {
  display: block;
}

.osb-proof-grid span {
  display: block;
  margin-top: 10px;
  color: var(--osb-muted);
  font-size: 13px;
  line-height: 1.58;
}

.osb-faq-list {
  max-width: 880px;
  margin: 0 auto;
  display: grid;
  gap: 12px;
}

.osb-faq-list details {
  border: 1px solid var(--osb-line);
  background: #fff;
}

.osb-faq-list summary {
  cursor: pointer;
  padding: 20px 22px;
  color: var(--osb-deep);
  font-weight: 800;
  list-style: none;
}

.osb-faq-list summary::-webkit-details-marker {
  display: none;
}

.osb-faq-list summary::after {
  content: "+";
  float: right;
  color: var(--osb-green);
  font-size: 22px;
  line-height: 1;
}

.osb-faq-list details[open] summary::after {
  content: "-";
}

.osb-faq-list p {
  margin: 0;
  padding: 0 22px 22px;
}

.osb-catalog-band {
  padding: 70px 0;
}

.osb-catalog-inner {
  max-width: 1080px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 32px;
  align-items: center;
}

.osb-catalog-inner p {
  max-width: 760px;
  margin: 14px 0 0;
}

@media (max-width: 991px) {
  .osb-hero {
    min-height: 680px;
    padding-bottom: 58px;
  }

  .osb-split,
  .osb-feature-layout,
  .osb-detail-grid,
  .osb-catalog-inner {
    grid-template-columns: 1fr;
  }

  .osb-programme-grid {
    grid-template-columns: 1fr;
  }

  .osb-programme-grid article {
    min-height: 340px;
  }

  .osb-proof-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .osb-hero {
    min-height: 620px;
    padding-bottom: 42px;
  }

  .osb-hero-copy p {
    font-size: 16px;
    line-height: 1.62;
  }

  .osb-hero-actions,
  .osb-btn {
    width: 100%;
  }

  .osb-section {
    padding: 54px 0;
  }

  .osb-video-section {
    padding-top: 42px;
  }

  .osb-spec-grid,
  .osb-detail-cards,
  .osb-proof-grid {
    grid-template-columns: 1fr;
  }

  .osb-spec-grid div {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .osb-catalog-band {
    padding: 54px 0;
  }
}

/* Final Product Series alignment: match Outdoor Kitchen's centered series header. */
.osb-page #osb-programmes .osb-section-head {
  display: block !important;
  max-width: 820px;
  margin: 0 auto 30px !important;
  text-align: center !important;
}
.osb-page #osb-programmes .osb-section-head span {
  display: inline-flex;
  margin-bottom: 13px;
  color: var(--osb-green);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.osb-page #osb-programmes .osb-section-head h2 {
  max-width: 820px !important;
  margin: 0 auto !important;
  color: var(--osb-green) !important;
  font-size: clamp(28px, 3.5vw, 44px);
  line-height: 1.08;
  font-weight: 800;
  text-align: center !important;
}
.osb-page #osb-programmes .osb-programme-grid {
  max-width: 980px;
  margin: 0 auto;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
}

/* Final page override: keep this as the last block so it wins over earlier legacy OSB rules. */
.osb-page.osb-page {
  --osb-ink: var(--product-ink);
  --osb-muted: var(--product-muted);
  --osb-soft: var(--product-surface);
  --osb-line: var(--product-line);
  --osb-green: var(--product-accent);
  --osb-deep: var(--product-deep);
  --osb-brass: var(--product-accent);
  background: #fff;
}
.osb-page .container {
  width: min(1200px, calc(100% - 30px));
  max-width: 1200px;
}
.osb-page .osb-hero {
  position: relative;
  order: initial;
  min-height: 660px;
  padding: 128px 0 66px;
  display: block;
  background: #101820;
  overflow: hidden;
}
.osb-page .osb-hero::after,
.osb-page .osb-hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(8, 15, 21, .62) 0%, rgba(8, 15, 21, .4) 42%, rgba(8, 15, 21, .08) 100%),
    linear-gradient(180deg, rgba(8, 15, 21, .08) 0%, rgba(8, 15, 21, .48) 100%);
  pointer-events: none;
}
.osb-page .osb-hero-media {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.osb-page .osb-hero-media img {
  width: 100%;
  height: 100%;
  min-height: 660px;
  display: block;
  object-fit: cover;
  object-position: center;
}
.osb-page .osb-hero-inner {
  position: relative;
  z-index: 2;
  min-height: 466px;
  display: flex;
  align-items: center;
}
.osb-page .osb-hero-copy {
  max-width: 760px;
  padding: 0;
  color: #fff;
}
.osb-page .osb-kicker,
.osb-page .osb-section-head span {
  display: inline-flex;
  margin-bottom: 13px;
  color: var(--osb-green);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.osb-page .osb-hero .osb-kicker {
  color: var(--product-accent);
}
.osb-page .osb-hero h1 {
  max-width: 820px;
  margin: 0;
  color: #fff;
  font-size: clamp(42px, 6vw, 82px);
  line-height: .96;
  font-weight: 800;
}
.osb-page .osb-hero-copy p {
  max-width: 640px;
  margin: 22px 0 0;
  color: rgba(255, 255, 255, .88);
  font-size: 18px;
  line-height: 1.75;
}
.osb-page .osb-hero-points {
  margin: 16px 0 0 20px;
  padding: 0;
  display: block;
  list-style: disc;
  color: rgba(255, 255, 255, .88);
  font-size: 15px;
  line-height: 1.58;
}
.osb-page .osb-hero-points li {
  margin-bottom: 5px;
  padding-left: 0;
  color: rgba(255, 255, 255, .88);
}
.osb-page .osb-hero-points li::before {
  display: none;
}
.osb-page .osb-breadcrumb {
  margin-top: 14px;
  color: rgba(255, 255, 255, .74);
}
.osb-page .osb-breadcrumb a {
  color: inherit;
}
.osb-page .osb-btn {
  min-width: 180px;
  min-height: 48px;
  padding: 0 22px;
  border: 1px solid var(--osb-green);
  border-radius: 4px;
  font-size: 14px;
  font-weight: 800;
}
.osb-page .osb-btn.primary {
  background: var(--osb-green);
  color: #fff;
}
.osb-page .osb-btn.secondary {
  background: rgba(255, 255, 255, .08);
  border-color: rgba(255, 255, 255, .64);
  color: #fff;
}
.osb-page .osb-video-section {
  display: block !important;
  order: initial;
  padding: 18px 0 24px;
  background: #fff;
}
.osb-page .osb-video-section .container {
  max-width: 780px;
}
.osb-page .osb-video-card {
  border: 8px solid var(--product-surface);
  box-shadow: none;
}
.osb-page .osb-section {
  order: initial;
  padding: 50px 0;
  background: #fff;
}
.osb-page #osb-programmes,
.osb-page .osb-why-section,
.osb-page .osb-spec-band,
.osb-page .osb-detail-section,
.osb-page .osb-factory-section,
.osb-page .osb-proof-band,
.osb-page .osb-faq-section {
  order: initial;
  background: #fff;
}
.osb-page .osb-section-head {
  display: block !important;
  max-width: 820px;
  margin: 0 auto 30px !important;
  text-align: center !important;
}
.osb-page .osb-section h2,
.osb-page .osb-catalog-inner h2 {
  max-width: 820px;
  margin: 0 auto;
  color: var(--osb-green);
  font-size: clamp(28px, 3.5vw, 44px);
  line-height: 1.08;
  font-weight: 800;
  text-align: center;
}
.osb-page .osb-programme-grid,
.osb-page .osb-why-grid {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
}
.osb-page .osb-programme-grid article,
.osb-page .osb-why-grid article {
  border: 1px solid var(--osb-line);
  background: #fff;
}
.osb-page .osb-programme-grid img {
  width: 100%;
  aspect-ratio: 1.18 / 1;
  display: block;
  object-fit: cover;
}
.osb-page .osb-programme-grid article > div {
  display: flex;
  min-height: 206px;
  flex-direction: column;
  align-items: flex-start;
  padding: 22px;
}
.osb-page .osb-programme-grid h3,
.osb-page .osb-why-grid strong,
.osb-page .osb-detail-lead h3,
.osb-page .osb-detail-cards h3,
.osb-page .osb-proof-grid h3,
.osb-page .osb-faq-list summary {
  color: var(--osb-deep);
}
.osb-page .osb-programme-grid h3 {
  margin: 0 0 10px;
  font-size: 21px;
  line-height: 1.18;
}
.osb-page .osb-programme-grid p,
.osb-page .osb-why-grid p {
  margin: 0;
  color: var(--osb-muted);
  font-size: 14px;
  line-height: 1.65;
}
.osb-page .osb-programme-grid a {
  margin-top: auto;
  padding-top: 18px;
  color: var(--osb-green);
  border: 0;
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.osb-page .osb-why-grid article {
  min-height: 150px;
  padding: 22px;
}
.osb-page .osb-why-grid strong {
  display: block;
  margin-bottom: 10px;
  font-size: 18px;
}
.osb-page .osb-spec-table {
  max-width: 940px;
  margin: 0 auto;
  display: grid;
  border: 1px solid var(--product-line);
  background: #fff;
}
.osb-page .osb-spec-table div {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 18px;
  padding: 19px 22px;
  border-bottom: 1px solid var(--osb-line);
}
.osb-page .osb-spec-table div:last-child {
  border-bottom: 0;
}
.osb-page .osb-spec-table strong {
  color: var(--osb-deep);
  font-size: 15px;
}
.osb-page .osb-spec-table span {
  color: var(--osb-muted);
  line-height: 1.6;
}
.osb-page .osb-process-list {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.osb-page .osb-process-list li {
  border-top: 3px solid var(--osb-green);
}
.osb-page .osb-proof-grid {
  max-width: 960px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.osb-page .osb-proof-grid img {
  aspect-ratio: 1.32 / 1;
}
.osb-page .osb-faq-list {
  display: block;
  border-top: 1px solid var(--osb-line);
}
.osb-page .osb-faq-list details {
  border: 0;
  border-bottom: 1px solid var(--osb-line);
}
.osb-page .osb-faq-list summary {
  padding: 18px 0;
  font-weight: 700;
}
.osb-page .osb-faq-list p {
  padding: 0;
}
.osb-page .osb-catalog-band {
  order: initial;
  padding: 46px 0;
  background: var(--osb-soft);
}
.osb-page .osb-catalog-inner {
  max-width: 820px;
  grid-template-columns: minmax(0, 1fr) auto;
}
.osb-page .osb-catalog-inner h2 {
  margin: 0;
  text-align: left;
}
@media (max-width: 980px) {
  .osb-page .osb-programme-grid,
  .osb-page .osb-why-grid,
  .osb-page .osb-process-list,
  .osb-page .osb-proof-grid,
  .osb-page .osb-detail-grid,
  .osb-page .osb-catalog-inner {
    grid-template-columns: 1fr;
  }
}

/* 2026-06-10 parcel layout match: Outdoor Storage follows Parcel Drop Boxes visual system. */
.osb-page.osb-page {
  --osb-ink: var(--product-ink);
  --osb-muted: var(--product-muted);
  --osb-soft: var(--product-surface);
  --osb-line: var(--product-line);
  --osb-green: var(--product-accent);
  --osb-deep: var(--product-deep);
  --osb-brass: var(--product-accent);
  background: #fff;
  color: var(--osb-ink);
}
.osb-page .container {
  width: min(1200px, calc(100% - 30px));
  max-width: 1200px;
}
.osb-page .osb-hero {
  position: relative;
  order: initial;
  min-height: 660px;
  padding: 128px 0 66px;
  display: block;
  background: #101820;
  overflow: hidden;
}
.osb-page .osb-hero::after,
.osb-page .osb-hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(8, 15, 21, .62) 0%, rgba(8, 15, 21, .4) 42%, rgba(8, 15, 21, .08) 100%),
    linear-gradient(180deg, rgba(8, 15, 21, .08) 0%, rgba(8, 15, 21, .48) 100%);
  pointer-events: none;
}
.osb-page .osb-hero-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: #101820;
}
.osb-page .osb-hero-media img {
  width: 100%;
  height: 100%;
  min-height: 660px;
  display: block;
  object-fit: cover;
  object-position: center;
}
.osb-page .osb-hero-inner {
  position: relative;
  z-index: 2;
  min-height: 466px;
  display: flex;
  align-items: center;
}
.osb-page .osb-hero-copy {
  max-width: 760px;
  padding: 0;
  color: #fff;
}
.osb-page .osb-kicker,
.osb-page .osb-section-head span {
  display: inline-flex;
  margin-bottom: 13px;
  color: var(--osb-green);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.osb-page .osb-hero .osb-kicker {
  color: var(--product-accent);
}
.osb-page .osb-hero h1 {
  max-width: 820px;
  margin: 0;
  color: #fff;
  font-size: clamp(42px, 6vw, 82px);
  line-height: .96;
  font-weight: 800;
  letter-spacing: 0;
}
.osb-page .osb-hero-copy p {
  max-width: 640px;
  margin: 22px 0 0;
  color: rgba(255, 255, 255, .88);
  font-size: 18px;
  line-height: 1.75;
}
.osb-page .osb-hero-points {
  margin: 16px 0 0 20px;
  padding: 0;
  display: block;
  list-style: disc;
  color: rgba(255, 255, 255, .88);
  font-size: 15px;
  line-height: 1.58;
}
.osb-page .osb-hero-points li {
  margin-bottom: 5px;
  padding-left: 0;
  color: rgba(255, 255, 255, .88);
}
.osb-page .osb-hero-points li::before {
  display: none;
}
.osb-page .osb-breadcrumb {
  margin-top: 14px;
  color: rgba(255, 255, 255, .74);
}
.osb-page .osb-breadcrumb a {
  color: inherit;
}
.osb-page .osb-breadcrumb a + a::before {
  color: rgba(255, 255, 255, .52);
}
.osb-page .osb-hero-actions {
  gap: 12px;
  margin-top: 28px;
}
.osb-page .osb-btn {
  min-width: 180px;
  min-height: 48px;
  padding: 0 22px;
  border: 1px solid var(--osb-green);
  border-radius: 4px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 800;
  transition: transform .2s ease, background-color .2s ease, color .2s ease;
}
.osb-page .osb-btn:hover {
  transform: translateY(-2px);
  text-decoration: none;
}
.osb-page .osb-btn.primary {
  background: var(--osb-green);
  border-color: var(--osb-green);
  color: #fff;
}
.osb-page .osb-btn.secondary {
  background: rgba(255, 255, 255, .08);
  border-color: rgba(255, 255, 255, .64);
  color: #fff;
}
.osb-page .osb-video-section {
  display: block;
  padding: 18px 0 24px;
  background: #fff;
}
.osb-page .osb-video-section .container {
  max-width: 780px;
}
.osb-page .osb-video-card {
  position: relative;
  overflow: hidden;
  border: 8px solid var(--product-surface);
  background: #111;
  box-shadow: none;
}
.osb-page .osb-video-card img {
  width: 100%;
  aspect-ratio: 16 / 8.3;
  display: block;
  object-fit: cover;
}
.osb-page .osb-play-mark {
  width: 62px;
  height: 44px;
  border-radius: 10px;
  background: var(--osb-green);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
}
.osb-page .osb-play-mark::after {
  left: 25px;
  top: 12px;
  border-left-width: 16px;
  border-top-width: 10px;
  border-bottom-width: 10px;
}
.osb-page .osb-section {
  order: initial;
  padding: 50px 0;
  background: #fff;
}
.osb-page #osb-programmes,
.osb-page .osb-why-section,
.osb-page .osb-spec-band,
.osb-page .osb-detail-section,
.osb-page .osb-factory-section,
.osb-page .osb-proof-band,
.osb-page .osb-faq-section {
  order: initial;
  background: #fff;
}
.osb-page .osb-section-head,
.osb-page .osb-why-section .osb-section-head {
  display: block !important;
  max-width: 820px;
  margin: 0 auto 30px !important;
  text-align: center !important;
}
.osb-page .osb-section h2,
.osb-page .osb-catalog-inner h2,
.osb-page .osb-why-section .osb-section-head h2 {
  max-width: 820px;
  margin: 0 auto;
  color: var(--osb-green);
  font-size: clamp(28px, 3.5vw, 44px);
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: 0;
  text-align: center;
}
.osb-page .osb-programme-grid {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
}
.osb-page .osb-programme-grid article {
  display: grid;
  min-height: 100%;
  border: 1px solid var(--osb-line);
  background: #fff;
}
.osb-page .osb-programme-grid img {
  width: 100%;
  height: 100%;
  min-height: 0;
  aspect-ratio: 1.18 / 1;
  display: block;
  object-fit: cover;
  background: var(--osb-soft);
}
.osb-page .osb-programme-grid article > div {
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 22px;
}
.osb-page .osb-programme-grid h3 {
  margin: 0 0 10px;
  color: var(--osb-deep);
  font-size: 21px;
  line-height: 1.18;
}
.osb-page .osb-programme-grid p {
  margin: 0;
  color: var(--osb-muted);
  font-size: 14px;
  line-height: 1.65;
}
.osb-page .osb-programme-grid a {
  margin-top: auto;
  padding-top: 18px;
  color: var(--osb-green);
  border: 0;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.osb-page .osb-why-grid {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.osb-page .osb-why-grid article {
  min-height: 150px;
  padding: 22px;
  border: 1px solid var(--osb-line);
  background: #fff;
}
.osb-page .osb-why-grid strong {
  display: block;
  color: var(--osb-deep);
  font-size: 18px;
  line-height: 1.25;
}
.osb-page .osb-why-grid p {
  margin: 10px 0 0;
  color: var(--osb-muted);
  font-size: 14px;
  line-height: 1.65;
}
.osb-page .osb-spec-table {
  max-width: 940px;
  margin: 0 auto;
  display: grid;
  border: 1px solid var(--product-line);
  background: #fff;
}
.osb-page .osb-spec-table div {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 18px;
  padding: 19px 22px;
  border-bottom: 1px solid var(--osb-line);
}
.osb-page .osb-spec-table div:last-child {
  border-bottom: 0;
}
.osb-page .osb-spec-table strong {
  color: var(--osb-deep);
  font-size: 15px;
}
.osb-page .osb-spec-table span {
  color: var(--osb-muted);
  line-height: 1.6;
}
.osb-page .osb-detail-grid {
  max-width: 1180px;
  grid-template-columns: minmax(340px, .95fr) minmax(0, 1fr);
}
.osb-page .osb-detail-lead,
.osb-page .osb-detail-cards article {
  border: 1px solid var(--osb-line);
  background: #fff;
}
.osb-page .osb-detail-lead h3,
.osb-page .osb-detail-cards h3 {
  color: var(--osb-deep);
}
.osb-page .osb-manufacture {
  max-width: 960px;
  display: block;
  text-align: center;
}
.osb-page .osb-manufacture-copy {
  max-width: 860px;
  margin: 0 auto;
}
.osb-page .osb-manufacture-copy h2 {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}
.osb-page .osb-process-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}
.osb-page .osb-process-list li {
  min-height: 0;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--osb-line);
  border-top: 3px solid var(--osb-green);
  color: var(--osb-muted);
  line-height: 1.6;
  text-align: left;
}
.osb-page .osb-proof-grid {
  max-width: 960px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.osb-page .osb-proof-grid article {
  min-height: 0;
  display: block;
  padding: 0 0 20px;
  overflow: hidden;
  border: 1px solid var(--osb-line);
  background: #fff;
}
.osb-page .osb-proof-grid img {
  width: 100%;
  aspect-ratio: 1.32 / 1;
  min-height: 0;
  display: block;
  object-fit: cover;
  background: var(--osb-soft);
}
.osb-page .osb-proof-grid h3 {
  margin: 18px 18px 0;
  color: var(--osb-deep);
  font-size: 20px;
  line-height: 1.2;
}
.osb-page .osb-proof-grid p {
  margin: 0;
  padding: 10px 18px 0;
  color: var(--osb-muted);
  font-size: 14px;
  line-height: 1.65;
}
.osb-page .osb-faq-list {
  max-width: 860px;
  margin: 0 auto;
  display: block;
  border-top: 1px solid var(--osb-line);
}
.osb-page .osb-faq-list details {
  border: 0;
  border-bottom: 1px solid var(--osb-line);
  background: #fff;
}
.osb-page .osb-faq-list summary {
  cursor: pointer;
  padding: 18px 0;
  color: var(--osb-deep);
  font-weight: 700;
}
.osb-page .osb-faq-list summary::after {
  color: var(--osb-green);
}
.osb-page .osb-faq-list p {
  margin: 0 0 18px;
  padding: 0;
  color: var(--osb-muted);
  line-height: 1.7;
}
.osb-page .osb-catalog-band {
  order: initial;
  padding: 46px 0;
  background: var(--osb-soft);
}
.osb-page .osb-catalog-inner {
  max-width: 820px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
}
.osb-page .osb-catalog-inner .osb-kicker {
  color: var(--osb-green);
}
.osb-page .osb-catalog-inner h2 {
  max-width: 620px;
  margin: 0;
  color: var(--osb-green);
  text-align: left;
}
.osb-page .osb-catalog-inner p {
  max-width: 760px;
  margin: 12px 0 0;
  color: var(--osb-muted);
  font-size: 16px;
  line-height: 1.7;
}
@media (max-width: 980px) {
  .osb-page .osb-programme-grid,
  .osb-page .osb-why-grid,
  .osb-page .osb-process-list,
  .osb-page .osb-proof-grid {
    grid-template-columns: 1fr;
  }
  .osb-page .osb-detail-grid,
  .osb-page .osb-catalog-inner {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 760px) {
  .osb-page .container {
    width: calc(100vw - 30px) !important;
    max-width: calc(100vw - 30px) !important;
  }
  .osb-page .osb-hero {
    min-height: 620px;
    padding: 104px 0 44px;
  }
  .osb-page .osb-hero-inner {
    min-height: 472px;
  }
  .osb-page .osb-hero-media img {
    min-height: 620px;
  }
  .osb-page .osb-hero h1 {
    font-size: 40px;
  }
  .osb-page .osb-hero-copy p {
    font-size: 16px;
  }
  .osb-page .osb-spec-table div {
    grid-template-columns: 1fr;
    gap: 6px;
  }
  .osb-page .osb-catalog-inner .osb-btn,
  .osb-page .osb-hero-actions .osb-btn {
    width: 100%;
  }
}

/* 2026-06-10 consistency pass: align Outdoor Storage with the current level-2 product landing system. */
.osb-page.osb-page {
  --osb-ink: var(--product-ink);
  --osb-muted: var(--product-muted);
  --osb-soft: var(--product-surface);
  --osb-line: var(--product-line);
  --osb-green: var(--product-accent);
  --osb-deep: var(--product-ink);
  --osb-brass: var(--product-accent);
}
.osb-page .osb-kicker,
.osb-page .osb-section-head span {
  color: var(--osb-green);
  letter-spacing: .12em;
}
.osb-page .osb-section h2,
.osb-page .osb-why-section .osb-split > div:first-child h2 {
  color: var(--osb-ink);
}
.osb-page .osb-programme-grid h3,
.osb-page .osb-spec-grid h3,
.osb-page .osb-detail-lead h3,
.osb-page .osb-detail-cards h3,
.osb-page .osb-proof-grid h3 {
  color: var(--product-deep);
}
.osb-page .osb-btn.primary {
  border-color: var(--osb-green);
  background: var(--osb-green);
}
.osb-page .osb-programme-grid a,
.osb-page .osb-faq-list summary::after {
  color: var(--osb-green);
}
.osb-page .osb-programme-grid a {
  border-bottom-color: var(--osb-green);
}
.osb-page .osb-manufacture {
  max-width: 960px;
  display: block;
  text-align: center;
}
.osb-page .osb-manufacture-copy {
  max-width: 860px;
  margin: 0 auto;
}
.osb-page .osb-manufacture-copy h2 {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}
.osb-page .osb-process-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}
.osb-page .osb-process-list li {
  min-height: 148px;
  padding: 22px 20px;
  background: #fff;
  border: 1px solid var(--osb-line);
  border-top: 3px solid var(--osb-green);
  color: var(--osb-muted);
  line-height: 1.65;
  text-align: left;
}
.osb-page .osb-proof-grid {
  max-width: 960px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.osb-page .osb-proof-grid article {
  min-height: 0;
  display: block;
  padding: 0 0 22px;
  overflow: hidden;
  border: 1px solid var(--osb-line);
  background: #fff;
}
.osb-page .osb-proof-grid img {
  width: 100%;
  min-height: 220px;
  display: block;
  aspect-ratio: 1.36 / 1;
  object-fit: cover;
}
.osb-page .osb-proof-grid h3 {
  margin: 20px 20px 9px;
  font-size: 20px;
}
.osb-page .osb-proof-grid p {
  margin: 0 20px;
  color: var(--osb-muted);
  font-size: 14px;
  line-height: 1.65;
}
.osb-page .osb-catalog-inner h2 {
  color: var(--osb-green);
}
@media (max-width: 991px) {
  .osb-page .osb-process-list,
  .osb-page .osb-proof-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .osb-page .osb-process-list,
  .osb-page .osb-proof-grid {
    grid-template-columns: 1fr;
  }
}

/* Match the final level-2 category heading treatment used by Outdoor Kitchen. */
.osb-page .osb-section {
  padding: 50px 0;
}
.osb-page .osb-section-head,
.osb-page .osb-why-section .osb-split > div:first-child {
  display: block;
  max-width: 820px;
  margin: 0 auto 30px;
  text-align: center;
}
.osb-page .osb-section-head span,
.osb-page .osb-why-section .osb-kicker {
  display: inline-flex;
  margin-bottom: 13px;
  color: var(--osb-green);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.osb-page .osb-section h2,
.osb-page .osb-catalog-inner h2,
.osb-page .osb-why-section .osb-split > div:first-child h2 {
  max-width: 820px;
  margin: 0 auto;
  color: var(--osb-green);
  font-size: clamp(28px, 3.5vw, 44px);
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: 0;
  text-align: center;
}
.osb-page #osb-programmes,
.osb-page .osb-why-section,
.osb-page .osb-spec-band,
.osb-page .osb-detail-section,
.osb-page .osb-factory-section,
.osb-page .osb-proof-band,
.osb-page .osb-faq-section {
  order: initial;
}
.osb-page .osb-why-section,
.osb-page .osb-spec-band,
.osb-page .osb-detail-section,
.osb-page .osb-factory-section,
.osb-page .osb-proof-band,
.osb-page .osb-faq-section {
  background: #fff;
}
.osb-page .osb-programme-grid {
  max-width: 1180px;
  margin: 0 auto;
  gap: 30px;
}

/* 2026-06-09 final layout override: remove old scattered visual rhythm and align with product landing pages. */
.osb-page.osb-page {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.osb-page .osb-hero {
  order: 1;
  min-height: 600px;
  align-items: center;
  padding: 116px 0 58px;
}
.osb-page .osb-hero-copy {
  max-width: 780px;
}
.osb-page .osb-hero h1 {
  max-width: 820px;
  font-size: clamp(40px, 5.5vw, 76px);
  line-height: 1;
}
.osb-page .osb-hero-copy p {
  max-width: 690px;
}
.osb-page .osb-video-section {
  display: none;
}
.osb-page #osb-programmes {
  order: 2;
  background: #fff;
}
.osb-page .osb-why-section {
  order: 3;
  background: var(--osb-soft);
}
.osb-page .osb-spec-band {
  order: 4;
  background: #fff;
}
.osb-page .osb-detail-section {
  order: 5;
  background: var(--osb-soft);
}
.osb-page .osb-factory-section {
  order: 6;
  background: #fff;
}
.osb-page .osb-section:has(.osb-feature-layout) {
  order: 6;
  background: #fff;
}
.osb-page .osb-proof-band {
  order: 7;
  background: var(--osb-soft);
}
.osb-page .osb-faq-section {
  order: 8;
  background: #fff;
}
.osb-page .osb-catalog-band {
  order: 9;
  padding: 58px 0;
}
.osb-page .osb-section {
  padding: 72px 0;
}
.osb-page .osb-section-head {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 30px;
  align-items: end;
  max-width: none;
  margin: 0 0 34px;
  text-align: left;
}
.osb-page .osb-section h2,
.osb-page .osb-catalog-inner h2 {
  color: var(--osb-deep);
  font-size: clamp(30px, 4vw, 50px);
  line-height: 1.06;
}
.osb-page .osb-programme-grid,
.osb-page .osb-why-list,
.osb-page .osb-spec-grid,
.osb-page .osb-detail-grid,
.osb-page .osb-feature-layout,
.osb-page .osb-proof-grid,
.osb-page .osb-faq-list,
.osb-page .osb-catalog-inner {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}
.osb-page .osb-programme-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.osb-page .osb-programme-grid article {
  min-height: auto;
  display: block;
  border: 1px solid var(--osb-line);
  background: #fff;
}
.osb-page .osb-programme-grid article::after {
  display: none;
}
.osb-page .osb-programme-grid img {
  position: static;
  width: 100%;
  height: auto;
  aspect-ratio: 1.28 / 1;
  object-fit: cover;
}
.osb-page .osb-programme-grid article > div {
  min-height: 192px;
  padding: 24px;
}
.osb-page .osb-programme-grid h3,
.osb-page .osb-programme-grid p {
  color: var(--osb-deep);
}
.osb-page .osb-programme-grid p {
  color: var(--osb-muted);
}
.osb-page .osb-programme-grid a {
  color: var(--osb-green);
  border-bottom-color: var(--osb-green);
}
.osb-page .osb-split {
  grid-template-columns: minmax(280px, .78fr) minmax(0, 1fr);
}
.osb-page .osb-why-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.osb-page .osb-why-list article,
.osb-page .osb-spec-grid article,
.osb-page .osb-detail-lead,
.osb-page .osb-detail-cards article,
.osb-page .osb-proof-grid article,
.osb-page .osb-faq-list details {
  border: 1px solid var(--osb-line);
  border-left: 0;
  border-top-width: 1px;
  background: #fff;
  box-shadow: none;
}
.osb-page .osb-why-list article,
.osb-page .osb-detail-cards article {
  padding: 24px;
}
.osb-page .osb-detail-grid {
  grid-template-columns: minmax(420px, .9fr) minmax(0, 1fr);
  gap: 22px;
}
.osb-page .osb-feature-layout {
  grid-template-columns: minmax(0, .82fr) minmax(420px, 1fr);
  gap: 46px;
}
.osb-page .osb-proof-grid {
  gap: 16px;
}
.osb-page .osb-faq-list {
  display: grid;
  gap: 12px;
}
.osb-page .osb-catalog-inner {
  grid-template-columns: minmax(0, 1fr) auto;
}
@media (max-width: 991px) {
  .osb-page .osb-section-head,
  .osb-page .osb-split,
  .osb-page .osb-feature-layout,
  .osb-page .osb-detail-grid,
  .osb-page .osb-catalog-inner {
    grid-template-columns: 1fr;
  }
  .osb-page .osb-programme-grid,
  .osb-page .osb-why-list,
  .osb-page .osb-proof-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .osb-page .osb-hero {
    min-height: 560px;
    padding: 96px 0 40px;
  }
  .osb-page .osb-section {
    padding: 54px 0;
  }
  .osb-page .osb-section-head,
  .osb-page .osb-programme-grid,
  .osb-page .osb-why-list,
  .osb-page .osb-spec-grid,
  .osb-page .osb-detail-cards,
  .osb-page .osb-proof-grid {
    grid-template-columns: 1fr;
  }
  .osb-page .osb-programme-grid article > div {
    min-height: auto;
  }
  .osb-page .osb-hero-actions .osb-btn,
  .osb-page .osb-catalog-inner .osb-btn {
    width: 100%;
  }
}

/* Fix the old split layout inside Why so cards use the full content width. */
.osb-page .osb-why-section .osb-split {
  display: block;
  max-width: 1180px;
}
.osb-page .osb-why-section .osb-split > div:first-child {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 30px;
  align-items: end;
  margin-bottom: 34px;
}
.osb-page .osb-why-section .osb-split > div:first-child .osb-kicker {
  margin-bottom: 0;
}
.osb-page .osb-why-section .osb-split > div:first-child h2 {
  max-width: 860px;
}
.osb-page .osb-why-section .osb-why-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.osb-page .container {
  width: min(1180px, calc(100% - 30px));
  max-width: 1180px;
}
.osb-page h1,
.osb-page h2,
.osb-page h3,
.osb-page p,
.osb-page li {
  overflow-wrap: anywhere;
}
.osb-page .osb-section-head > *,
.osb-page .osb-programme-grid > *,
.osb-page .osb-why-list > *,
.osb-page .osb-spec-grid > *,
.osb-page .osb-detail-grid > *,
.osb-page .osb-detail-cards > *,
.osb-page .osb-proof-grid > *,
.osb-page .osb-catalog-inner > * {
  min-width: 0;
}
.osb-page .osb-section h2,
.osb-page .osb-catalog-inner h2,
.osb-page .osb-why-section .osb-split > div:first-child h2 {
  max-width: 100%;
}
@media (max-width: 991px) {
  .osb-page .osb-why-section .osb-split > div:first-child,
  .osb-page .osb-why-section .osb-why-list {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767px) {
  .osb-page .container {
    width: calc(100vw - 30px) !important;
    max-width: calc(100vw - 30px) !important;
  }
  .osb-page,
  .osb-page section,
  .osb-page article,
  .osb-page img,
  .osb-page .osb-hero-copy,
  .osb-page .osb-programme-grid,
  .osb-page .osb-programme-grid article,
  .osb-page .osb-why-list,
  .osb-page .osb-spec-grid,
  .osb-page .osb-detail-grid,
  .osb-page .osb-detail-cards,
  .osb-page .osb-proof-grid,
  .osb-page .osb-faq-list {
    max-width: 100vw !important;
  }
  .osb-page .osb-section-head,
  .osb-page .osb-why-section .osb-split > div:first-child {
    display: block !important;
  }
  .osb-page .osb-hero h1 {
    font-size: 40px;
  }
  .osb-page .osb-section h2,
  .osb-page .osb-catalog-inner h2 {
    font-size: 30px;
    line-height: 1.14;
    white-space: normal !important;
  }
}

/* Final Product Series alignment: match Outdoor Kitchen's centered series header. */
.osb-page #osb-programmes .osb-section-head {
  display: block !important;
  max-width: 820px;
  margin: 0 auto 30px !important;
  text-align: center !important;
}
.osb-page #osb-programmes .osb-section-head span {
  display: inline-flex;
  margin-bottom: 13px;
  color: var(--osb-green);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.osb-page #osb-programmes .osb-section-head h2 {
  max-width: 820px !important;
  margin: 0 auto !important;
  color: var(--osb-green) !important;
  font-size: clamp(28px, 3.5vw, 44px);
  line-height: 1.08;
  font-weight: 800;
  text-align: center !important;
}
.osb-page #osb-programmes .osb-programme-grid {
  max-width: 980px;
  margin: 0 auto;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
}
/* Absolute final parcel-style override. */
.osb-page.osb-page {
  --osb-ink: var(--product-ink);
  --osb-muted: var(--product-muted);
  --osb-soft: var(--product-surface);
  --osb-line: var(--product-line);
  --osb-green: var(--product-accent);
  --osb-deep: var(--product-deep);
  --osb-brass: var(--product-accent);
}
.osb-page .osb-video-section { display: block !important; order: initial; padding: 18px 0 24px; background: #fff; }
.osb-page .osb-video-section .container { max-width: 780px; }
.osb-page .osb-video-card { border: 8px solid var(--product-surface); box-shadow: none; }
.osb-page .osb-section { order: initial; padding: 50px 0; background: #fff; }
.osb-page #osb-programmes,
.osb-page .osb-why-section,
.osb-page .osb-spec-band,
.osb-page .osb-detail-section,
.osb-page .osb-factory-section,
.osb-page .osb-proof-band,
.osb-page .osb-faq-section { order: initial; background: #fff; }
.osb-page .osb-section-head { display: block !important; max-width: 820px; margin: 0 auto 30px !important; text-align: center !important; }
.osb-page .osb-section-head span,
.osb-page .osb-kicker { display: inline-flex; margin-bottom: 13px; color: var(--osb-green); font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.osb-page .osb-section h2,
.osb-page .osb-catalog-inner h2 { max-width: 820px; margin: 0 auto; color: var(--osb-green); font-size: clamp(28px, 3.5vw, 44px); line-height: 1.08; font-weight: 800; text-align: center; }
.osb-page .osb-programme-grid,
.osb-page .osb-why-grid { max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.osb-page .osb-programme-grid article,
.osb-page .osb-why-grid article { border: 1px solid var(--osb-line); background: #fff; }
.osb-page .osb-programme-grid img { width: 100%; aspect-ratio: 1.18 / 1; display: block; object-fit: cover; }
.osb-page .osb-programme-grid article > div { display: flex; min-height: 206px; flex-direction: column; align-items: flex-start; padding: 22px; }
.osb-page .osb-programme-grid h3,
.osb-page .osb-why-grid strong,
.osb-page .osb-detail-lead h3,
.osb-page .osb-detail-cards h3,
.osb-page .osb-proof-grid h3,
.osb-page .osb-faq-list summary { color: var(--osb-deep); }
.osb-page .osb-programme-grid a { margin-top: auto; padding-top: 18px; color: var(--osb-green); border: 0; font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.osb-page .osb-why-grid article { min-height: 150px; padding: 22px; }
.osb-page .osb-spec-table { max-width: 940px; margin: 0 auto; display: grid; border: 1px solid var(--product-line); background: #fff; }
.osb-page .osb-spec-table div { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 18px; padding: 19px 22px; border-bottom: 1px solid var(--osb-line); }
.osb-page .osb-spec-table div:last-child { border-bottom: 0; }
.osb-page .osb-spec-table strong { color: var(--osb-deep); font-size: 15px; }
.osb-page .osb-spec-table span { color: var(--osb-muted); line-height: 1.6; }
.osb-page .osb-process-list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.osb-page .osb-process-list li { border-top: 3px solid var(--osb-green); }
.osb-page .osb-proof-grid { max-width: 960px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.osb-page .osb-proof-grid img { aspect-ratio: 1.32 / 1; }
.osb-page .osb-faq-list { display: block; border-top: 1px solid var(--osb-line); }
.osb-page .osb-faq-list details { border: 0; border-bottom: 1px solid var(--osb-line); }
.osb-page .osb-faq-list summary { padding: 18px 0; font-weight: 700; }
.osb-page .osb-faq-list p { padding: 0; }
.osb-page .osb-catalog-band { order: initial; padding: 46px 0; background: var(--osb-soft); }
.osb-page .osb-catalog-inner { position: relative; max-width: 980px; grid-template-columns: minmax(260px, .52fr) minmax(0, 1fr) auto; gap: 28px; align-items: center; animation: osbCatalogLift .72s ease both; }
.osb-page .osb-catalog-inner h2 { margin: 0; text-align: left; }
.osb-page .osb-catalog-media { position: relative; margin: 0; overflow: hidden; background: #eef3f6; background-size: cover; background-position: center; min-height: 220px; transform: translateZ(0); }
.osb-page .osb-catalog-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.28) 42%, transparent 68%); transform: translateX(-120%); transition: transform .7s ease; }
.osb-page .osb-catalog-media img { width: 100%; min-height: 190px; aspect-ratio: 1.45 / 1; display: block; object-fit: cover; opacity: 0; }
.osb-page .osb-catalog-inner:hover .osb-catalog-media::after { transform: translateX(120%); }
.osb-page .osb-catalog-inner:hover .osb-catalog-media { background-size: 106%; }
.osb-page .osb-catalog-inner .osb-btn { transition: transform .22s ease, box-shadow .22s ease, background-color .22s ease; }
.osb-page .osb-catalog-inner .osb-btn:hover,
.osb-page .osb-catalog-inner .osb-btn:focus-visible { transform: translateY(-2px); box-shadow: 0 16px 34px rgba(0,159,227,.22); }
@keyframes osbCatalogLift { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 980px) {
  .osb-page .osb-programme-grid,
  .osb-page .osb-why-grid,
  .osb-page .osb-process-list,
  .osb-page .osb-proof-grid,
  .osb-page .osb-detail-grid,
  .osb-page .osb-catalog-inner { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .osb-page .osb-catalog-inner { animation: none; }
  .osb-page .osb-catalog-media::after,
  .osb-page .osb-catalog-inner .osb-btn { transition: none; }
}

/* Parcel page section order. */
.osb-page.osb-page { display: flex; flex-direction: column; }
.osb-page .osb-hero { order: 1; }
.osb-page .osb-video-section { order: 2; }
.osb-page #osb-programmes { order: 3; }
.osb-page .osb-why-section { order: 4; }
.osb-page .osb-spec-band { order: 5; }
.osb-page .osb-detail-section { order: 6; }
.osb-page .osb-factory-section { order: 7; }
.osb-page .osb-proof-band { order: 8; }
.osb-page .osb-faq-section { order: 9; }
.osb-page .osb-catalog-band { order: 10; }

/* Final fix for DB-driven series cards. */
.osb-page .osb-programme-grid article > a {
  display: grid !important;
  grid-template-rows: auto 1fr;
  min-height: 100%;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  text-transform: none !important;
  border: 0 !important;
}
.osb-page .osb-programme-grid article > a > div {
  display: flex !important;
  min-height: 206px;
  flex-direction: column;
  align-items: flex-start;
  padding: 22px;
}
.osb-page .osb-programme-grid article > a > img {
  width: 100%;
  aspect-ratio: 1.18 / 1;
  display: block;
  object-fit: cover;
}
.osb-page .osb-programme-grid article > a h3 {
  margin: 0 0 10px;
  color: var(--osb-deep);
  font-size: 21px;
  line-height: 1.18;
}
.osb-page .osb-programme-grid article > a p {
  margin: 0;
  color: var(--osb-muted);
  font-size: 14px;
  line-height: 1.65;
}
.osb-page .osb-programme-grid article > a span {
  margin-top: auto;
  padding-top: 18px;
  color: var(--osb-green);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}

/* Outdoor Storage series cards are driven by child category URLs. */
.osb-page .osb-programme-grid article > a {
  display: grid;
  min-height: 100%;
  color: inherit;
  text-decoration: none;
}
.osb-page .osb-programme-grid article > a:hover {
  text-decoration: none;
}
.osb-page .osb-programme-grid article span {
  margin-top: auto;
  padding-top: 18px;
  color: var(--osb-green);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}

/* FAQ layout aligned with parcel_drop_boxes */
.osb-page .osb-faq-section {
  background: #fff;
}

.osb-page .osb-faq-section .osb-section-head {
  display: block;
  max-width: 760px;
  margin: 0 auto 30px;
  text-align: center;
}

.osb-page .osb-faq-section .osb-section-head.compact {
  max-width: 760px;
}

.osb-page .osb-faq-section .osb-section-head span {
  display: inline-flex;
  margin-bottom: 13px;
  color: var(--product-accent);
}

.osb-page .osb-faq-section .osb-section-head h2 {
  color: var(--product-accent);
  font-size: clamp(27px, 3.5vw, 42px);
  line-height: 1.08;
}

.osb-page .osb-faq-list {
  display: block;
  max-width: 860px;
  margin: 0 auto;
  border-top: 1px solid var(--product-line);
}

.osb-page .osb-faq-list details {
  border: 0;
  border-bottom: 1px solid var(--product-line);
  background: transparent;
}

.osb-page .osb-faq-list summary {
  cursor: pointer;
  display: list-item;
  list-style: revert;
  padding: 18px 0;
  color: var(--product-deep);
  font-weight: 800;
}

.osb-page .osb-faq-list summary::-webkit-details-marker {
  display: revert;
}

.osb-page .osb-faq-list summary::after {
  content: none;
  display: none;
}

.osb-page .osb-faq-list details[open] summary::after {
  content: none;
}

.osb-page .osb-faq-list p {
  margin: 0 0 18px;
  padding: 0;
  color: var(--product-muted);
  line-height: 1.7;
}

.osb-page .osb-why-section .osb-section-head h2 {
  max-width: 760px;
  margin: 14px auto 0;
  color: var(--osb-muted);
  font-size: 17px;
  line-height: 1.75;
  font-weight: 400;
  text-align: center;
}

.osb-page .osb-section-head h2,
.osb-page .osb-catalog-inner h2,
.osb-page .osb-manufacture-copy h2 {
  max-width: 760px !important;
  margin: 14px auto 0 !important;
  color: var(--osb-muted) !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-transform: none !important;
}
.osb-page .osb-catalog-inner h2 {
  color: var(--osb-green) !important;
}

/* 2026-06-23 final level2 alignment: match garbage-can-boxes visual system. */
.osb-page {
  --osb-ink: var(--product-ink);
  --osb-muted: var(--product-muted);
  --osb-soft: var(--product-surface);
  --osb-line: var(--product-line);
  --osb-green: var(--product-accent);
  --osb-deep: var(--product-deep);
  --osb-brass: var(--product-accent);
}

.osb-page .osb-hero {
  min-height: 660px;
  padding: 128px 0 66px;
  align-items: stretch;
  background: #101820;
}

.osb-page .osb-hero-media::after {
  background:
    linear-gradient(90deg, rgba(9, 16, 22, .72) 0%, rgba(9, 16, 22, .5) 42%, rgba(9, 16, 22, .12) 100%),
    linear-gradient(180deg, rgba(9, 16, 22, .12) 0%, rgba(9, 16, 22, .54) 100%);
}

.osb-page .osb-hero-inner {
  min-height: 466px;
  display: flex;
  align-items: center;
}

.osb-page .osb-kicker,
.osb-page .osb-section-head span,
.osb-page .osb-faq-section .osb-section-head span {
  display: inline-flex;
  margin-bottom: 14px;
  color: var(--product-accent);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.osb-page .osb-hero h1 {
  max-width: 760px;
  color: #fff;
  font-size: clamp(42px, 6vw, 82px);
  line-height: .96;
}

.osb-page .osb-hero-copy p,
.osb-page .osb-hero-points li {
  color: rgba(255, 255, 255, .88);
}

.osb-page .osb-hero-copy p {
  max-width: 640px;
  margin: 22px 0 0;
  font-size: 18px;
  line-height: 1.75;
}

.osb-page .osb-btn {
  min-height: 48px;
  padding: 0 22px;
  border: 1px solid var(--osb-deep);
  border-radius: 4px;
  font-size: 14px;
  font-weight: 800;
}

.osb-page .osb-btn.primary {
  border-color: var(--osb-deep);
  background: var(--osb-deep);
  color: #fff;
}

.osb-page .osb-btn.secondary {
  border-color: rgba(255, 255, 255, .64);
  background: rgba(255, 255, 255, .08);
  color: #fff;
}

.osb-page .osb-section,
.osb-page .osb-video-section {
  padding: 76px 0;
}

.osb-page .osb-video-section {
  background: #fff;
}

.osb-page .osb-section-head,
.osb-page .osb-faq-section .osb-section-head {
  display: grid !important;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 30px;
  align-items: end;
  max-width: none;
  margin: 0 0 34px !important;
  text-align: left !important;
}

.osb-page .osb-section h2,
.osb-page .osb-catalog-inner h2,
.osb-page .osb-manufacture-copy h2,
.osb-page .osb-why-section .osb-section-head h2,
.osb-page .osb-faq-section .osb-section-head h2,
.osb-page #osb-programmes .osb-section-head h2 {
  max-width: 860px !important;
  margin: 0 !important;
  color: var(--osb-ink) !important;
  font-size: clamp(30px, 4vw, 52px) !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-transform: none !important;
}

.osb-page .osb-programme-grid,
.osb-page .osb-why-grid {
  gap: 18px;
}

.osb-page .osb-programme-grid article,
.osb-page .osb-why-grid article,
.osb-page .osb-proof-grid article,
.osb-page .osb-spec-table,
.osb-page .osb-detail-lead,
.osb-page .osb-detail-cards article {
  border: 1px solid var(--osb-line);
  background: #fff;
  box-shadow: none;
}

.osb-page .osb-programme-grid article > a h3,
.osb-page .osb-why-grid strong,
.osb-page .osb-detail-lead h3,
.osb-page .osb-detail-cards h3,
.osb-page .osb-proof-grid h3,
.osb-page .osb-faq-list summary,
.osb-page .osb-spec-table strong {
  color: var(--osb-deep);
}

.osb-page .osb-programme-grid article > a span {
  color: var(--osb-green);
}

.osb-page .osb-faq-list {
  max-width: 860px;
  margin: 0 auto;
  border-top: 1px solid var(--osb-line);
}

.osb-page .osb-faq-list details {
  border: 0;
  border-bottom: 1px solid var(--osb-line);
  background: transparent;
}

.osb-page .osb-faq-list summary {
  padding: 18px 0;
  font-weight: 800;
}

.osb-page .osb-faq-list p {
  margin: 0 0 18px;
  color: var(--osb-muted);
  line-height: 1.7;
}

.osb-page .osb-catalog-band {
  padding: 46px 0;
  background: var(--osb-soft);
}

.osb-page .osb-catalog-inner {
  max-width: 980px;
  grid-template-columns: minmax(260px, .52fr) minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
}

.osb-page .osb-catalog-inner h2 {
  color: var(--osb-ink) !important;
}

@media (max-width: 980px) {
  .osb-page .osb-section-head,
  .osb-page .osb-faq-section .osb-section-head {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .osb-page .osb-catalog-inner {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .osb-page .osb-hero {
    min-height: 560px;
    padding: 104px 0 44px;
  }

  .osb-page .osb-hero h1 {
    font-size: clamp(36px, 11vw, 54px);
  }

  .osb-page .osb-section,
  .osb-page .osb-video-section {
    padding: 58px 0;
  }
}

/* 2026-06-23 product-series final parity with garbage-can-boxes. */
.osb-page #osb-programmes {
  padding: 46px 0;
}

.osb-page #osb-programmes .osb-section-head {
  display: block !important;
  max-width: 760px;
  margin: 0 auto 30px !important;
  text-align: center !important;
}

.osb-page #osb-programmes .osb-section-head span {
  display: inline-flex;
  justify-content: center;
  color: var(--osb-green);
}

.osb-page #osb-programmes .osb-section-head h2 {
  max-width: 760px !important;
  margin: 0 auto !important;
  color: var(--osb-green) !important;
  font-size: clamp(27px, 3.5vw, 42px) !important;
  line-height: 1.08 !important;
  text-align: center !important;
}

.osb-page #osb-programmes .osb-programme-grid {
  max-width: 1180px;
  margin: 0 auto;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
}

.osb-page #osb-programmes .osb-programme-grid article {
  border: 0;
  background: transparent;
}

.osb-page #osb-programmes .osb-programme-grid article > a {
  display: block;
}

.osb-page #osb-programmes .osb-programme-grid article > a > img {
  aspect-ratio: 1.18 / 1;
  object-fit: cover;
}

.osb-page #osb-programmes .osb-programme-grid article > a > div {
  display: block;
  min-height: 128px;
  padding: 18px;
  background: var(--osb-green);
  color: #fff;
}

.osb-page #osb-programmes .osb-programme-grid article > a h3 {
  margin: 0 0 11px;
  color: #fff;
  font-size: 20px;
  line-height: 1.2;
}

.osb-page #osb-programmes .osb-programme-grid article > a p {
  min-height: 0;
  margin: 0;
  color: rgba(255, 255, 255, .9);
  font-size: 13px;
  line-height: 1.65;
}

.osb-page #osb-programmes .osb-programme-grid article > a span {
  width: 150px;
  min-height: 38px;
  margin: 18px auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid var(--osb-green);
  background: #fff;
  color: var(--osb-deep);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

@media (max-width: 760px) {
  .osb-page #osb-programmes .osb-programme-grid {
    grid-template-columns: 1fr;
  }
}

/* 2026-06-23 full section-head parity with garbage-can-boxes. */
.osb-page .osb-section-head,
.osb-page .osb-section-head.compact,
.osb-page .osb-faq-section .osb-section-head,
.osb-page .osb-manufacture-copy,
.osb-page .osb-catalog-inner > div:first-child {
  max-width: 760px;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

.osb-page .osb-section-head,
.osb-page .osb-faq-section .osb-section-head {
  display: block !important;
  margin-bottom: 30px !important;
}

.osb-page .osb-section-head span,
.osb-page .osb-faq-section .osb-section-head span,
.osb-page .osb-manufacture-copy .osb-kicker,
.osb-page .osb-catalog-inner .osb-kicker {
  display: inline-flex;
  justify-content: center;
  color: var(--osb-green);
}

.osb-page .osb-section h2,
.osb-page .osb-section-head h2,
.osb-page .osb-faq-section .osb-section-head h2,
.osb-page .osb-manufacture-copy h2,
.osb-page .osb-catalog-inner h2 {
  max-width: 760px !important;
  margin: 0 auto !important;
  color: var(--osb-green) !important;
  font-size: clamp(27px, 3.5vw, 42px) !important;
  line-height: 1.08 !important;
  text-align: center !important;
}

.osb-page .osb-spec-table,
.osb-page .osb-detail-grid,
.osb-page .osb-proof-grid,
.osb-page .osb-process-list {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}
