/**
 * Interior page sections (single-spaces-new).
 * Extracted from src/index.css — InnovaCRO
 *
 * NOTE: Rules that used Tailwind at-apply are commented as "TODO @apply: ..."
 * Expand those in innova-dev if visual QA finds missing styles.
 */

.section-inset {
  padding-top: var(--spacing-section-inset);
  padding-bottom: var(--spacing-section-inset);
}

.section-inset--half-top {
  padding-top: var(--spacing-section-inset-half);
}

.section-inset--half-bottom {
  padding-bottom: var(--spacing-section-inset-half);
}

.section-subsection-divider {
  display: block;
  margin: 0 0 var(--spacing-section-inset-half);
  border: 0;
  border-top: 1px solid var(--color-divider);
}

.section-subsection-gap {
  margin-top: var(--spacing-section-inset-half);
}

.section-intro-block {
  margin-bottom: var(--spacing-section-intro-gap);
  text-align: center;
}

.section-header-block {
  margin-bottom: var(--spacing-section-heading-gap);
  text-align: center;
}

.section-major-header-block {
  margin-bottom: var(--spacing-section-major-gap);
  text-align: center;
}

.section-block-start-gap {
  margin-bottom: var(--spacing-section-block-gap);
}

.section-cta-block {
  margin-top: var(--spacing-section-heading-gap);
  text-align: center;
}

.section-block-end-gap {
  margin-top: var(--spacing-section-block-gap);
  text-align: center;
}

.section-eyebrow {
  margin-bottom: var(--spacing-section-eyebrow-gap);
}

/* Shared landing-page hero heights (interior + marketing) — tokens in tokens.css */

.hero-content-below-header {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  min-height: 580px;
  padding-top: var(--site-header-height);
  padding-bottom: 1.5rem;
}

.section-band {
  /* TODO @apply: bg-base-2 */
}

.section-band-alt {
  /* TODO @apply: bg-base */
}

/* General marketing / entry content (matches live site .entry-content) */
.body-copy {
  /* TODO @apply: text-[21px] text-body leading-relaxed */
}

/* Interior columns — same 21px body size as .body-copy, accent colour */
.body-dense {
  /* TODO @apply: text-[21px] text-accent leading-relaxed */
}

.lead {
  /* TODO @apply: text-[22px] font-normal text-accent leading-normal */
}

.link-underline {
  /* TODO @apply: cursor-pointer text-commercial underline decoration-commercial underline-offset-2 hover:text-accent */
}

.btn-primary,
.btn-enquiry,
.btn-enquiry-topbar,
.btn-commercial,
.btn-gold,
.btn-nav,
.btn-hero-secondary,
.btn-header-enquire,
.btn-enquiry-submit,
.intro-brochure-cta,
.process-step-link,
.areas-region-link,
.contact-cta-secondary,
.site-header-mobile-enquire {
  cursor: pointer;
}

.btn-primary {
  /* TODO @apply: inline-flex items-center justify-center bg-accent px-5 py-[15px] text-sm font-normal uppercase tracking-wide text-white transition-colors duration-200 */
  border-radius: var(--radius-brand);
}

.btn-primary:hover {
  /* TODO @apply: bg-contrast-2 */
}

.btn-enquiry {
  /* TODO @apply: inline-flex items-center justify-center px-5 font-normal text-white transition-colors duration-200 */
  font-size: 1.125rem; /* 18px */
  min-height: 50px;
  border-radius: var(--radius-brand-sm);
  background-color: var(--color-contrast-2);
}

.btn-enquiry:hover {
  background-color: var(--color-theme-blue);
}

@media (min-width: 48rem) {
  .btn-enquiry {
    background-color: var(--color-theme-blue);
  }

  .btn-enquiry:hover {
    background-color: var(--color-contrast-2);
  }
}

/* Utility top bar — ~60% scale vs main enquiry CTA */
.btn-enquiry-topbar {
  /* TODO @apply: inline-flex items-center justify-center bg-theme-blue px-3 font-normal uppercase tracking-wider text-white transition-colors duration-200 */
  font-size: 0.6875rem; /* 11px */
  min-height: 30px;
  border-radius: var(--radius-brand-sm);
}

.btn-enquiry-topbar:hover {
  /* TODO @apply: bg-contrast-2 */
}

.btn-commercial {
  /* TODO @apply: inline-flex items-center justify-center bg-commercial px-6 py-2 text-[13px] font-normal uppercase tracking-wide text-white transition-colors duration-200 */
  border-radius: var(--radius-brand);
}

.bg-accent .btn-commercial:hover,
.compliance-section .btn-commercial:hover {
  /* TODO @apply: bg-white text-commercial */
}

/* Hub / navigation links — distinct from enquiry CTAs (live filter “view all”) */
.btn-nav {
  /* TODO @apply: inline-flex items-center justify-center bg-gold px-5 py-[15px] text-sm font-normal uppercase tracking-wide text-white transition-colors duration-200 */
  border-radius: var(--radius-brand);
}

.btn-nav:hover {
  /* TODO @apply: bg-contrast-2 */
}

.rounded-signature-br {
  border-bottom-right-radius: var(--radius-signature);
}

.rounded-tile-br {
  border-bottom-right-radius: var(--radius-tile);
}

.card-resource {
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  transition: all 0.3s ease;
}

.card-resource:hover {
  box-shadow: var(--shadow-card-hover);
  transform: scale(1.02);
}


.resource-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  background-color: var(--color-blue-grey);
  border-top-width: 4px;
  border-top-style: solid;
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.resource-card:hover {
  transform: scale(1.02);
  box-shadow: var(--shadow-card-hover);
}

.resource-card-media {
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background-color: var(--color-blue-grey);
}

.resource-card-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.resource-card-image-gradient {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 42%;
  background: linear-gradient(
    to top,
    var(--color-blue-grey) 0%,
    rgb(255 255 255 / 45%) 22%,
    transparent 58%
  );
  pointer-events: none;
}

.resource-card-tag {
  position: absolute;
  bottom: 0.875rem;
  left: 0.875rem;
  z-index: 2;
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #ffffff;
  border-radius: var(--radius-brand);
}

.resource-card-footer {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 1.25rem 1.25rem 1.5rem;
  background-color: var(--color-blue-grey);
}

.resource-card-title {
  margin: 0 0 1.25rem;
  min-height: 5.5rem;
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.35;
  color: #0d2343;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

.resource-card-link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  margin-top: auto;
  width: fit-content;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--color-commercial);
}

.resource-card-link-text {
  border-bottom: 2px solid var(--color-commercial);
  padding-bottom: 0.125rem;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.resource-card-link-arrow {
  display: inline-block;
  color: var(--color-commercial);
  transition: color 0.2s ease, transform 0.2s ease;
}

.resource-card:hover .resource-card-link,
.resource-card:hover .resource-card-link-text {
  color: var(--color-accent);
  border-color: var(--color-accent);
}

.resource-card:hover .resource-card-link-arrow {
  color: var(--color-accent);
  transform: translateX(4px);
}

/* Uniform black overlay — keeps hero photo visible, white copy readable */
.hero-section {
  display: flex;
  flex-direction: column;
  min-height: auto;
}

.hero-background {
  background-repeat: no-repeat;
}

@media (max-width: 48rem) {
  .hero-section {
    min-height: auto;
  }

  .hero-content-below-header {
    position: relative;
    align-items: flex-start;
    min-height: 0;
    padding-top: 0;
    padding-bottom: 2rem;
    background-color: var(--color-accent);
  }

  .hero-copy {
    padding-top: 1.5rem;
  }

  .hero-mobile-image {
    width: 100%;
    height: 10.5rem;
    margin: 1rem 0 1.25rem;
    background-color: var(--color-accent);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    border-radius: var(--radius-brand);
  }

  .hero-subtitle {
    margin-bottom: 1.5rem;
    font-size: 0.9375rem;
    line-height: 1.45;
  }

  .hero-copy-tagline {
    color: rgb(255 255 255 / 75%);
  }

  .areas-hero .hero-content-below-header {
    min-height: 0;
  }
}

@media (min-width: 48rem) {
  :is(body.template-2026, body.innova-marketing-hero) .hero-section {
    box-sizing: border-box;
    height: var(--hero-content-min-height-md) !important;
    min-height: var(--hero-content-min-height-md) !important;
    max-height: var(--hero-content-min-height-md) !important;
    overflow: hidden;
  }

  .hero-content-below-header {
    flex: 1 1 auto;
    align-self: stretch;
    width: 100%;
    min-height: 0 !important;
    max-height: 100%;
    height: 100%;
    box-sizing: border-box;
    padding-bottom: 1.25rem;
  }

  .hero-background {
    position: absolute;
    inset: 0;
  }
}

@media (min-width: 64rem) {
  :is(body.template-2026, body.innova-marketing-hero) .hero-section {
    height: var(--hero-content-min-height-lg) !important;
    min-height: var(--hero-content-min-height-lg) !important;
    max-height: var(--hero-content-min-height-lg) !important;
  }

  .hero-content-below-header {
    padding-bottom: 1.5rem;
  }
}

.hero-scrim {
  background-color: rgb(0 0 0 / 30%);
}

.hero-text-shadow {
  text-shadow: none;
}

.hero-copy {
  padding-top: 1.25rem;
}

@media (min-width: 48rem) {
  .hero-copy {
    margin-top: 2rem;
    padding-top: 1.75rem;
  }
}

@media (min-width: 64rem) {
  .hero-copy {
    margin-top: 2.5rem;
  }
}

.hero-eyebrow-tag {
  display: inline-flex;
  align-items: center;
  margin-bottom: 1rem;
  padding: 0.45rem 1.05rem;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.2;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  background-color: rgb(13 35 67 / 70%);
  border: 1px solid rgb(77 165 215 / 55%);
  border-radius: 9999px;
  box-shadow: 0 2px 10px rgb(0 0 0 / 12%);
  backdrop-filter: blur(6px);
}

.hero-title {
  margin-bottom: 20px;
  font-size: 45px;
  font-weight: 600;
  line-height: 1.2;
  color: #ffffff;
  text-transform: lowercase;
}

.hero-title::first-letter {
  text-transform: uppercase;
}

.hero-title-main,
.hero-title-accent {
  display: inline;
}

@media (min-width: 64rem) {
  .hero-title-main,
  .hero-title-accent {
    display: block;
  }
}

@media (max-width: 48rem) {
  .hero-title {
    font-size: 28px;
  }
}

.hero-subtitle {
  margin-bottom: 2rem;
  max-width: 36rem;
  font-size: 21px;
  font-weight: 400;
  line-height: normal;
  color: rgb(255 255 255 / 95%);
}

.hero-copy-tagline {
  margin-top: 1rem;
}

.hero-copy-tagline span {
  display: inline;
}

/*
 * Hero vertical rhythm — restore after layout-gp `.interior-2026 h1/p { margin: 0 }`.
 * Matches InnovaCRO hero spacing (eyebrow → title → subtitle → CTAs → tagline).
 */
body.template-2026 .interior-2026 .hero-eyebrow-tag,
body.innova-marketing-hero .marketing-hero-shell .hero-eyebrow-tag {
  margin-bottom: 1rem;
}

body.template-2026 .interior-2026 h1.hero-title,
body.innova-marketing-hero .marketing-hero-shell h1.hero-title {
  margin-top: 0;
  margin-bottom: 20px;
  font-size: 45px;
  font-weight: 600;
  line-height: 1.2;
  color: #ffffff;
  text-transform: lowercase;
}

body.template-2026 .interior-2026 h1.hero-title::first-letter,
body.innova-marketing-hero .marketing-hero-shell h1.hero-title::first-letter {
  text-transform: uppercase;
}

body.template-2026 .interior-2026 p.hero-subtitle,
body.innova-marketing-hero .marketing-hero-shell p.hero-subtitle {
  margin-top: 0;
  margin-bottom: 2rem;
  max-width: 36rem;
  font-size: 21px;
  font-weight: 400;
  line-height: normal;
  color: rgb(255 255 255 / 95%);
}

body.template-2026 .interior-2026 .hero-copy-tagline,
body.innova-marketing-hero .marketing-hero-shell .hero-copy-tagline {
  margin-top: 1rem;
}

@media (max-width: 48rem) {
  body.template-2026 .interior-2026 h1.hero-title,
  body.innova-marketing-hero .marketing-hero-shell h1.hero-title {
    font-size: 28px;
  }

  body.template-2026 .interior-2026 p.hero-subtitle,
  body.innova-marketing-hero .marketing-hero-shell p.hero-subtitle {
    margin-bottom: 1.5rem;
    font-size: 0.9375rem;
    line-height: 1.45;
  }
}

.trust-strip-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 48rem) {
  .trust-strip-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem 1.5rem;
  }
}

@media (min-width: 64rem) {
  .trust-strip-list {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 1rem;
  }
}

.trust-strip-item {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
}

.trust-strip-icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 2.125rem;
  height: 2.125rem;
  color: var(--color-gold);
  background-color: rgb(255 255 255 / 88%);
  border: 1.5px solid rgb(77 165 215 / 50%);
  border-radius: 50%;
  box-shadow: 0 1px 3px rgb(13 35 67 / 8%);
}

.trust-strip-icon-svg {
  display: block;
  flex-shrink: 0;
  stroke: var(--color-gold);
  color: var(--color-gold);
}

.trust-strip-icon-image {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  object-fit: contain;
}

.trust-strip-label {
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.25;
  color: var(--color-theme-blue);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.intro-section-heading {
  margin-bottom: 20px;
}

.h2-on-dark {
  color: #ffffff;
}

.support-section-heading {
  text-wrap: balance;
}

.resources-section-heading {
  text-wrap: balance;
}

.resource-cards-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

@media (min-width: 48rem) {
  .resource-cards-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.5rem;
  }
}

@media (max-width: 48rem) {
  .resource-card-footer {
    padding: 0.875rem 0.875rem 1rem;
  }

  .resource-card-title {
    min-height: 0;
    margin-bottom: 0.875rem;
    font-size: 1rem;
    -webkit-line-clamp: 4;
  }

  .resource-card-link {
    font-size: 0.6875rem;
  }

  .resource-card-tag {
    bottom: 0.5rem;
    left: 0.5rem;
    padding: 0.2rem 0.5rem;
    font-size: 0.625rem;
  }
}

@media (min-width: 64rem) {
  .support-section-heading,
  .support-section-intro,
  .resources-section-heading {
    text-wrap: nowrap;
  }
}

.intro-lead {
  margin-top: 0;
  margin-bottom: 1.5rem;
  font-size: 26px;
  font-weight: 400;
  line-height: 1.4;
  color: #163664;
}

.intro-brochure-cta {
  border: 1px solid var(--color-divider);
  border-radius: var(--radius-brand);
  overflow: hidden;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.intro-brochure-cta:hover {
  border-color: rgb(77 165 215 / 45%);
  box-shadow: var(--shadow-tile);
}

.intro-brochure-cta-media {
  position: relative;
  height: 20.5rem;
  background-color: var(--color-base);
  background-size: cover;
  background-position: center top;
  transition: transform 0.5s ease;
}

.group:hover .intro-brochure-cta-media {
  transform: scale(1.03);
}

.intro-brochure-cta-overlay {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.85rem 1rem;
  background: linear-gradient(
    180deg,
    rgb(247 247 247 / 0%) 0%,
    rgb(247 247 247 / 88%) 28%,
    var(--color-base-2) 100%
  );
}

.intro-brochure-cta-label {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--color-theme-blue);
  text-transform: uppercase;
}

.intro-brochure-cta-sublabel {
  margin: 0.2rem 0 0;
  font-size: 0.625rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--color-contrast-2);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.planning-layout {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

@media (min-width: 40rem) and (max-width: 63.9375rem) {
  .planning-layout {
    gap: 2rem;
  }
}

.planning-media-inner {
  overflow: hidden;
  border-radius: var(--radius-brand);
}

.planning-media-inner img {
  display: block;
}

@media (max-width: 63.9375rem) {
  .planning-media-inner {
    aspect-ratio: 1;
    max-width: 28rem;
    margin-inline: auto;
  }
}

@media (min-width: 64rem) {
  .planning-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    column-gap: 3rem;
    row-gap: 1.5rem;
    align-items: stretch;
  }

  .planning-heading {
    grid-column: 1;
    grid-row: 1;
    margin-bottom: 0;
  }

  .planning-content {
    grid-column: 1;
    grid-row: 2;
    display: flex;
    flex-direction: column;
  }

  .planning-media {
    grid-column: 2;
    grid-row: 2;
    display: flex;
    min-height: 0;
  }

  .planning-media-inner {
    position: relative;
    flex: 1;
    width: 100%;
    min-height: 0;
    height: 100%;
  }

  /* Fill the content+CTA column height — don't let intrinsic image height stretch the row */
  .planning-media-inner img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
}

@media (max-width: 48rem) {
  .intro-lead {
    font-size: 1.25rem;
  }
}

@media (min-width: 64rem) {
  .trust-strip-label {
    font-size: 0.75rem;
    letter-spacing: 0.01em;
  }
}

.btn-hero-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 2rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  border: 2px solid #ffffff;
  border-radius: var(--radius-brand);
  transition: color 0.2s ease, background-color 0.2s ease;
}

.btn-hero-secondary:hover {
  color: var(--color-accent);
  background-color: #ffffff;
}

.gradient-section-band {
  background: linear-gradient(180deg, #f7f7f7 70%, #f0f0f0 70%);
}

/* Process row — split at card tops = icon centres (live .row-icons) */
.process-section-header {
  padding-top: var(--spacing-process-header-pt);
  padding-bottom: var(--spacing-process-header-pb);
  text-align: center;
  background-color: var(--color-base-2);
}

/* Same base-2 section above (e.g. national coverage → process on areas page) */
.process-section--same-bg-above .process-section-header {
  padding-top: var(--spacing-section-inset-half);
}

.process-section-body {
  --process-split: calc(var(--process-icon-half) + var(--process-card-half));
  /* Bottom colour matches --color-base (testimonials / specialist sections) */
  background: linear-gradient(
    180deg,
    var(--color-base-2) 0,
    var(--color-base-2) var(--process-split),
    var(--color-base) var(--process-split),
    var(--color-base) 100%
  );
  padding-top: var(--process-icon-half);
  /* Half inset into same-tone section below (pairs with --half-top on follower) */
  padding-bottom: var(--spacing-section-inset-half);
}

.process-steps-grid {
  display: grid;
  width: 100%;
  max-width: 1020px;
  list-style: none;
  margin: 0;
  padding: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 1.5rem;
  row-gap: 3.25rem;
}

@media (min-width: 48rem) {
  .process-steps-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 3.75rem;
  }
}

@media (min-width: 64rem) {
  .process-steps-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    column-gap: 1.5rem;
    row-gap: 3.75rem;
  }
}

.process-step {
  /* TODO @apply: flex justify-center */
}

.process-step-link {
  display: block;
  width: 100%;
  text-decoration: none;
  color: inherit;
  border-radius: 0 0 var(--radius-tile) 0;
}

.process-step-link:focus-visible {
  outline: 2px solid var(--color-commercial);
  outline-offset: 3px;
}

.process-step-card {
  position: relative;
  width: 100%;
  padding: 3.5rem 0.75rem 1.25rem;
  text-align: center;
  background-color: var(--color-white);
  color: var(--color-accent);
  border-radius: 0 0 var(--radius-tile) 0;
  box-shadow: var(--shadow-tile);
}

.process-step-icon-wrap {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
}

.process-step-icon {
  display: block;
  width: 6rem;
  height: 6rem;
  object-fit: contain;
}

@media (min-width: 48rem) {
  .process-step-icon {
    width: 6.75rem;
    height: 6.75rem;
  }
}

.process-step-label {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.35;
  color: #0d2343;
  transition: color 0.2s ease;
}

.process-step-link:hover .process-step-label,
.process-step-link:focus-visible .process-step-label {
  color: var(--color-commercial);
}

/* Laboratory layout feature tiles (live interiors grid) */
.feature-product-card {
  overflow: hidden;
  background-color: #ffffff;
  border-radius: var(--radius-brand) var(--radius-brand) var(--radius-brand) 0;
  border-bottom-right-radius: var(--radius-tile);
  box-shadow: var(--shadow-tile);
}

a.feature-product-card,
a.furniture-slider-card {
  display: block;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}

.feature-product-card-media {
  position: relative;
  overflow: hidden;
}

.feature-product-card-image {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform 0.45s ease;
}

.feature-product-card:hover .feature-product-card-image,
.feature-product-card:focus-within .feature-product-card-image {
  transform: scale(1.03);
}

.feature-product-card-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgb(77 165 215 / 75%);
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none;
}

.feature-product-card:hover .feature-product-card-overlay,
.feature-product-card:focus-within .feature-product-card-overlay {
  opacity: 1;
}

.feature-product-learn-more {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  color: #ffffff;
}

.feature-product-plus-icon {
  display: block;
  width: 2.8125rem;
  height: auto;
  flex-shrink: 0;
}

.feature-product-card-caption {
  padding: 1.5rem 1rem;
  text-align: center;
}

.feature-product-card-title {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.35;
  color: #0d2343;
}

.feature-product-card-caption--left {
  padding: 1.5rem 1.25rem 1.75rem 1.5rem;
  text-align: left;
}

/* Laboratory layout products carousel */
.layout-products-carousel {
  width: calc(100% + 2rem);
  max-width: var(--max-width-content);
  margin-left: -1rem;
  margin-right: -1rem;
}

@media (min-width: 76.25rem) {
  .layout-products-carousel {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}

.layout-products-carousel-viewport {
  position: relative;
  padding: 0 1.375rem;
}

@media (min-width: 76.25rem) {
  .layout-products-carousel-viewport {
    padding: 0;
  }
}

.layout-products-track {
  display: flex;
  gap: 1.25rem;
  width: 100%;
  margin: 0 !important;
  padding: 0 0 0.25rem !important;
  list-style: none !important;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.layout-products-track > li,
.layout-products-slide {
  list-style: none !important;
}

.layout-products-track::-webkit-scrollbar {
  display: none;
}

.layout-products-slide {
  flex: 0 0 100%;
  scroll-snap-align: start;
  min-width: 0;
}

@media (min-width: 64rem) {
  .layout-products-track {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.75rem;
    overflow: visible;
    scroll-snap-type: none;
    padding-bottom: 0;
  }

  .layout-products-slide {
    flex: none;
  }
}

.layout-products-carousel-nav {
  position: absolute;
  top: 38%;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  color: var(--color-accent);
  background-color: #ffffff;
  border: 1px solid var(--color-divider);
  border-radius: 50%;
  box-shadow: var(--shadow-tile);
  transform: translateY(-50%);
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    opacity 0.2s ease;
}

.layout-products-carousel-nav:hover:not(:disabled) {
  background-color: var(--color-commercial);
  color: #ffffff;
}

.layout-products-carousel-nav:disabled {
  opacity: 0.35;
  cursor: default;
}

.layout-products-carousel-nav-prev {
  left: 0.25rem;
}

.layout-products-carousel-nav-next {
  right: 0.25rem;
}

.layout-products-carousel-progress {
  height: 3px;
  margin: 1rem 1.375rem 0;
  overflow: hidden;
  background-color: rgb(13 35 67 / 12%);
  border-radius: 9999px;
}

@media (min-width: 64rem) {
  .layout-products-carousel-progress {
    display: none;
  }
}

.layout-products-carousel-progress-fill {
  height: 100%;
  background-color: var(--color-commercial);
  border-radius: 9999px;
  transition: width 0.15s ease-out;
}

/* Laboratory furniture product slider (live product-slider) */
.lab-furniture-lead {
  margin: 0;
  font-size: 1.625rem;
  font-weight: 400;
  line-height: 1.45;
  color: #0d2343;
}

.furniture-slider {
  width: calc(100% + 2rem);
  max-width: var(--max-width-content);
  margin-left: -1rem;
  margin-right: -1rem;
}

@media (min-width: 76.25rem) {
  .furniture-slider {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}

.furniture-slider-viewport {
  position: relative;
  padding: 0 1.375rem;
}

@media (min-width: 76.25rem) {
  .furniture-slider-viewport {
    padding: 0;
  }
}

.furniture-slider-track {
  display: flex;
  gap: 1.5rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: 0.25rem;
}

.furniture-slider-track::-webkit-scrollbar {
  display: none;
}

.furniture-slider-card {
  flex: 0 0 100%;
  scroll-snap-align: start;
  overflow: hidden;
  background-color: #ffffff;
  border-radius: var(--radius-brand) var(--radius-brand) 0 0;
  border-bottom-right-radius: var(--radius-tile);
  box-shadow: var(--shadow-tile);
}

@media (min-width: 48rem) {
  .furniture-slider-card {
    flex: 0 0 calc((100% - 3rem) / 3);
  }
}

@media (min-width: 64rem) {
  .furniture-slider-card {
    flex: 0 0 calc((100% - 4.5rem) / 4);
  }
}

.furniture-slider-card-image-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background-color: #ffffff;
}

.furniture-slider-card-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transition: transform 0.45s ease;
}

.furniture-slider-card:hover .furniture-slider-card-image,
.furniture-slider-card:focus-within .furniture-slider-card-image {
  transform: scale(1.03);

}

.furniture-slider-card:hover .feature-product-card-overlay,
.furniture-slider-card:focus-within .feature-product-card-overlay {
  opacity: 1;
}

.furniture-slider-card-label {
  padding: 1rem 0.75rem 1.125rem;
  text-align: center;
  background-color: var(--color-blue-grey);
}

.furniture-slider-card-title {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.35;
  color: #0d2343;
}

.furniture-slider-nav {
  position: absolute;
  top: 38%;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  border: none;
  border-radius: 9999px;
  background-color: #0d2343;
  color: #ffffff;
  cursor: pointer;
  transition: background-color 0.2s ease, opacity 0.2s ease;
  transform: translateY(-50%);
}

.furniture-slider-nav:hover:not(:disabled) {
  background-color: #163664;
}

.furniture-slider-nav:disabled {
  opacity: 0.35;
  cursor: default;
}

.furniture-slider-nav-prev {
  left: 0;
}

.furniture-slider-nav-next {
  right: 0;
}

.furniture-slider-progress {
  height: 3px;
  margin-top: 1.75rem;
  background-color: #e2e2e2;
  border-radius: 9999px;
  overflow: hidden;
}

.furniture-slider-progress-fill {
  height: 100%;
  background-color: var(--color-commercial);
  border-radius: 9999px;
  transition: width 0.15s ease-out;
}

/* Client testimonials */
.testimonials-section {
  background-color: var(--color-base);
}

.testimonials-carousel {
  width: calc(100% + 2rem);
  max-width: var(--max-width-content);
  margin-left: -1rem;
  margin-right: -1rem;
}

@media (min-width: 76.25rem) {
  .testimonials-carousel {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}

.testimonials-carousel-viewport {
  position: relative;
  padding: 0 1.375rem;
}

@media (min-width: 76.25rem) {
  .testimonials-carousel-viewport {
    padding: 0;
  }
}

.testimonial-grid {
  display: flex;
  gap: 1rem;
  width: 100%;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: 0.25rem;
}

.testimonial-grid::-webkit-scrollbar {
  display: none;
}

.testimonial-carousel-slide {
  flex: 0 0 100%;
  scroll-snap-align: start;
  min-width: 0;
}

@media (min-width: 48rem) {
  .testimonial-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    overflow: visible;
    scroll-snap-type: none;
    padding-bottom: 0;
  }

  .testimonial-carousel-slide {
    flex: none;
  }
}

.testimonials-carousel-nav {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  color: var(--color-accent);
  background-color: #ffffff;
  border: 1px solid var(--color-divider);
  border-radius: 50%;
  box-shadow: var(--shadow-tile);
  transform: translateY(-50%);
  cursor: pointer;
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    opacity 0.2s ease;
}

.testimonials-carousel-nav:hover:not(:disabled) {
  background-color: var(--color-commercial);
  color: #ffffff;
}

.testimonials-carousel-nav:disabled {
  opacity: 0.35;
  cursor: default;
}

.testimonials-carousel-nav-prev {
  left: 0.25rem;
}

.testimonials-carousel-nav-next {
  right: 0.25rem;
}

.testimonials-carousel-progress {
  height: 3px;
  margin: 1rem 1.375rem 0;
  overflow: hidden;
  background-color: rgb(13 35 67 / 12%);
  border-radius: 9999px;
}

.testimonials-carousel-progress-fill {
  height: 100%;
  background-color: var(--color-commercial);
  border-radius: 9999px;
  transition: width 0.15s ease-out;
}

.testimonial-card {
  display: flex;
  height: 100%;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--color-divider);
  border-radius: var(--radius-brand);
}

.testimonial-card-body {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  overflow: hidden;
  padding: 1.25rem;
  background-color: #ffffff;
}

@media (min-width: 48rem) {
  .testimonial-card-body {
    padding: 1.5rem 1.5rem 1rem;
  }
}

.testimonial-quote-block {
  position: relative;
  z-index: 1;
  margin-top: auto;
}

.testimonial-quote {
  position: relative;
  margin: 0;
  font-size: 1.3125rem;
  font-weight: 500;
  line-height: 1.35;
  color: var(--color-accent);
  min-height: 5.75rem;
  padding-left: 3.25rem;
}

.testimonial-card-body::after {
  content: '';
  display: block;
  width: 3rem;
  height: 2px;
  margin-top: 0.625rem;
  background-color: var(--color-gold);
}

.testimonial-quote-mark {
  position: absolute;
  left: 0;
  top: 0.125rem;
  z-index: 0;
  display: block;
  width: 2.5rem;
  color: var(--color-accent);
  line-height: 0;
  opacity: 0.95;
}

.testimonial-quote-mark-bg {
  position: absolute;
  right: 0.25rem;
  top: auto;
  bottom: 0.75rem;
  z-index: 0;
  display: block;
  width: 4.5rem;
  color: var(--color-accent);
  line-height: 0;
  opacity: 0.09;
  transform: rotate(180deg);
  pointer-events: none;
}

.testimonial-quote-mark-bg svg {
  display: block;
  width: 100%;
  height: auto;
}

.testimonial-quote-mark svg {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 48rem) {
  .testimonial-quote {
    min-height: 0;
  }
}

@media (min-width: 48rem) {
  .testimonial-quote {
    padding-left: 3.75rem;
  }

  .testimonial-quote-mark {
    width: 2.9375rem;
  }

  .testimonial-quote-mark-bg {
    right: 0.5rem;
    bottom: 1rem;
    width: 5.25rem;
  }
}

.testimonial-card-footer {
  position: relative;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 0.625rem;
  height: 5.75rem;
  padding: 0.75rem 1rem;
  background-color: var(--color-accent);
}

@media (min-width: 48rem) {
  .testimonial-card-footer {
    gap: 0.75rem;
    height: 6rem;
    padding: 0.875rem 1.25rem;
  }
}

.testimonial-card-footer::before {
  content: '';
  position: absolute;
  top: -0.4375rem;
  left: 1.75rem;
  width: 0;
  height: 0;
  border-left: 0.4375rem solid transparent;
  border-right: 0.4375rem solid transparent;
  border-bottom: 0.4375rem solid var(--color-accent);
}

.testimonial-footer-icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 2.125rem;
  height: 2.125rem;
  overflow: hidden;
  color: var(--color-commercial);
  border: 1.5px solid var(--color-commercial);
  border-radius: 50%;
  background-color: transparent;
}

.testimonial-footer-icon svg {
  width: 1rem;
  height: 1rem;
}

.testimonial-footer-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.testimonial-attribution {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  justify-content: center;
  gap: 0.125rem;
  line-height: 1.25;
  min-height: 3.5rem;
}

.testimonial-name {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.25;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.testimonial-organisation {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  line-height: 1.25;
  color: var(--color-commercial);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  min-height: calc(2 * 0.625rem * 1.25);
}

.testimonial-role {
  font-size: 0.5625rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  line-height: 1.25;
  color: rgb(255 255 255 / 0.78);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  min-height: calc(2 * 0.5625rem * 1.25);
}

.testimonial-footer-divider {
  align-self: stretch;
  width: 1px;
  flex-shrink: 0;
  background-color: rgb(255 255 255 / 0.22);
}

.testimonial-logo-wrap {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  align-self: center;
  width: 4.75rem;
  height: 2.125rem;
  padding: 0.25rem 0.5rem;
  background-color: #ffffff;
  border-radius: var(--radius-brand-sm);
}

.testimonial-logo {
  display: block;
  width: auto;
  height: auto;
  max-height: 1.625rem;
  max-width: 4.75rem;
  object-fit: contain;
}

@media (max-width: 22rem) {
  .testimonial-card-footer {
    flex-wrap: wrap;
  }

  .testimonial-footer-divider {
    display: none;
  }

  .testimonial-logo-wrap {
    width: 100%;
  }
}

/* Buyer-stage project support cards */
.support-route-card {
  display: flex;
  height: 100%;
  align-items: flex-start;
  gap: 1rem;
  padding: 1rem;
  background-color: #ffffff;
  border: 1px solid var(--color-divider);
  border-radius: var(--radius-brand);
}

@media (min-width: 48rem) {
  .support-route-card {
    padding: 1.25rem;
  }
}

.support-route-icon {
  display: flex;
  width: 2.5rem;
  height: 2.5rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  background-color: var(--color-accent);
  border-radius: 50%;
}

.support-route-icon svg {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  stroke: currentColor;
}

.support-route-title {
  display: block;
  margin-bottom: 0.25rem;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--color-accent);
}

.support-route-desc {
  display: block;
  font-size: 1.3125rem;
  line-height: 1.35;
  color: var(--color-body);
}

/* Case study archive tiles — live related-casestudy-interiors */
.case-study-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  background-color: var(--color-base);
  border-bottom-right-radius: 50px;
  box-shadow: var(--shadow-tile);
  transition: box-shadow 0.3s ease;
}

.case-study-card:hover {
  box-shadow: 5px 5px 14px 0 rgb(0 0 0 / 14%);
}

.case-study-card-media {
  position: relative;
  height: 320px;
  overflow: hidden;
  background-color: var(--color-base);
}

.case-study-card-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.5s ease;
}

.case-study-card:hover .case-study-card-image {
  transform: scale(1.03);
}

.case-study-card-tag {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  display: block;
  margin-right: 40%;
  padding: 10px 20px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.25;
  text-align: left;
  color: var(--color-white);
  background-color: var(--color-lavender);
  border-bottom-right-radius: 25px;
}

.case-study-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 1.5rem 1.5rem 1.75rem;
  background-color: var(--color-base);
}

.case-study-card-title {
  margin: 0 0 0.625rem;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.35;
  color: #0d2343;
}

.case-study-card-description {
  margin: 0 0 1.25rem;
  flex: 1;
  font-size: 1.3125rem;
  font-weight: 400;
  line-height: 1.55;
  color: var(--color-body);
}

.case-study-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  width: fit-content;
  margin-top: auto;
  text-decoration: none;
  color: #0d2343;
  transition: color 0.2s ease;
}

.case-study-cta:hover {
  color: var(--color-lavender);
}

.case-study-cta-text {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.case-study-cta-icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
}

.case-study-cta-icon-svg {
  display: block;
  width: 2.8125rem;
  height: 2rem;
}

.case-studies-carousel {
  width: calc(100% + 2rem);
  max-width: var(--max-width-content);
  margin-left: -1rem;
  margin-right: -1rem;
}

@media (min-width: 76.25rem) {
  .case-studies-carousel {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}

.case-studies-carousel-viewport {
  position: relative;
  padding: 0 1.375rem;
}

@media (min-width: 76.25rem) {
  .case-studies-carousel-viewport {
    padding: 0;
  }
}

.case-studies-grid {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 1rem;
  width: 100%;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: 0.25rem;
}

.case-studies-grid::-webkit-scrollbar {
  display: none;
}

.case-studies-carousel-slide {
  flex: 0 0 100%;
  scroll-snap-align: start;
  min-width: 0;
}

@media (min-width: 48rem) {
  .case-studies-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.75rem;
    overflow: visible;
    scroll-snap-type: none;
    padding-bottom: 0;
  }

  .case-studies-carousel-slide {
    flex: none;
  }
}

.case-studies-carousel-nav {
  position: absolute;
  top: 38%;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  border: none;
  border-radius: 9999px;
  background-color: #0d2343;
  color: #ffffff;
  cursor: pointer;
  box-shadow: 0 2px 10px rgb(0 0 0 / 22%);
  transform: translateY(-50%);
  transition:
    background-color 0.2s ease,
    opacity 0.2s ease;
}

.case-studies-carousel-nav:hover:not(:disabled) {
  background-color: #163664;
  color: #ffffff;
}

.case-studies-carousel-nav:disabled {
  opacity: 0.35;
  cursor: default;
}

.case-studies-carousel-nav-prev {
  left: 0;
}

.case-studies-carousel-nav-next {
  right: 0;
}

.case-studies-carousel-progress {
  height: 3px;
  margin: 1rem 1.375rem 0;
  overflow: hidden;
  background-color: rgb(13 35 67 / 12%);
  border-radius: 9999px;
}

.case-studies-carousel-progress-fill {
  height: 100%;
  background-color: var(--color-commercial);
  border-radius: 9999px;
  transition: width 0.15s ease-out;
}

@media (min-width: 48rem) {
  .testimonials-carousel-nav,
  .testimonials-carousel-progress,
  .case-studies-carousel-nav,
  .case-studies-carousel-progress {
    display: none !important;
  }
}

/* Case studies mobile carousel — override legacy GB grid + short image height */
@media (max-width: 47.9375rem) {
  body.template-2026 .interior-related-casestudies .case-studies-carousel .case-studies-grid.gb-grid-wrapper {
    flex-wrap: nowrap;
    margin-left: 0;
  }

  body.template-2026 .interior-related-casestudies .case-studies-carousel .case-studies-carousel-slide > .gb-grid-column-CSquery {
    width: 100%;
    padding-left: 0;
    padding-bottom: 0;
  }

  body.template-2026 .interior-related-casestudies .case-studies-carousel .gb-container-CSqueryimageContainer {
    min-height: 320px;
  }
}

.contact-cta-main {
  padding: 2rem;
}

@media (min-width: 48rem) {
  .contact-cta-main {
    padding: 3rem;
  }
}

.contact-cta-aside {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2rem;
  background-color: var(--color-blue-grey);
  padding: 2rem;
}

@media (min-width: 48rem) {
  .contact-cta-aside {
    padding: 3rem;
  }
}

@media (min-width: 64rem) {
  .contact-cta-aside {
    padding: 3rem 3.5rem 3rem 3rem;
  }
}

.contact-cta-aside-watermark {
  position: absolute;
  top: 1rem;
  right: 1rem;
  color: var(--color-accent);
  opacity: 0.06;
  transform: translate(20px, 40px);
  pointer-events: none;
}

@media (min-width: 48rem) {
  .contact-cta-aside-watermark {
    top: 1.25rem;
    right: 2rem;
  }
}

@media (min-width: 64rem) {
  .contact-cta-aside-watermark {
    right: 2.5rem;
  }
}

.contact-cta-aside-label {
  font-size: 0.875rem;
  font-weight: 600;
  font-style: italic;
  line-height: 1.3;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-gold);
}

/* Beat layout-gp `.interior-2026 p { margin-bottom: 0 }` reset */
body.template-2026 .interior-2026 p.contact-cta-aside-label {
  margin-bottom: 0.25rem;
}

@media (min-width: 48rem) {
  .contact-cta-aside-label {
    font-size: 1rem;
  }
}

.contact-cta-email {
  font-size: 1.025rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

/* Keep the email on one line inside the narrow aside column */
body.template-2026 .contact-cta-email {
  font-size: clamp(0.8125rem, 1.6vw, 1rem);
  white-space: nowrap;
}

/* Fixed-size white icon circles (phone / email) */
body.template-2026 .contact-cta-aside .rounded-full.bg-white {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  padding: 0;
}

/* Case-study card description — only the school name is bold */
body.template-2026 p.gb-headline-CSheader {
  font-weight: 400 !important;
}

body.template-2026 p.gb-headline-CSheader strong {
  font-weight: 700;
}

.gallery-carousel {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.gallery-thumbs {
  display: none;
}

.gallery-thumb-viewport {
  position: relative;
  overflow: hidden;
}

.gallery-thumb-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  height: 100%;
  overflow-y: auto;
  scrollbar-width: none;
}

.gallery-thumb-list::-webkit-scrollbar {
  display: none;
}

.gallery-thumb-list--horizontal {
  flex-direction: row;
  height: auto;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 0.125rem;
}

.gallery-thumb {
  display: block;
  width: 100%;
  flex-shrink: 0;
  overflow: hidden;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}

.gallery-thumb--mobile {
  width: 5.5rem;
  height: 4rem;
}

.gallery-thumb-active {
  outline: 2px solid var(--color-commercial);
  outline-offset: -2px;
}

.gallery-thumb-nav {
  position: absolute;
  left: 50%;
  z-index: 2;
  display: flex;
  width: 2rem;
  height: 2rem;
  align-items: center;
  justify-content: center;
  border: 0;
  padding: 0;
  color: var(--color-accent);
  background-color: rgb(255 255 255 / 72%);
  box-shadow: 0 1px 4px rgb(0 0 0 / 18%);
  transform: translateX(-50%);
  cursor: pointer;
  border-radius: 50%;
  transition:
    background-color 0.2s ease,
    opacity 0.2s ease;
}

.gallery-thumb-nav svg {
  color: var(--color-accent);
  stroke: var(--color-accent);
  fill: none;
}

.gallery-thumb-nav--up {
  top: 0.625rem;
}

.gallery-thumb-nav--down {
  bottom: 0.625rem;
}

.gallery-thumb-nav:hover:not(:disabled) {
  background-color: rgb(255 255 255 / 88%);
}

.gallery-thumb-nav:disabled {
  opacity: 0.35;
  cursor: default;
}

.gallery-main-wrap {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.gallery-mobile-thumbs {
  display: block;
}

.gallery-main {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  min-height: 16rem;
  overflow: hidden;
  background-color: var(--color-base);
}

.gallery-main-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gallery-main-nav {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: flex;
  width: 2.75rem;
  height: 2.75rem;
  align-items: center;
  justify-content: center;
  border: 0;
  /* Beat GP `button { padding: 10px 20px; color: #FFF }` which crushed chevrons */
  padding: 0;
  color: var(--color-accent);
  background-color: rgb(255 255 255 / 88%);
  box-shadow: 0 2px 8px rgb(0 0 0 / 12%);
  transform: translateY(-50%);
  cursor: pointer;
  border-radius: 50%;
  transition:
    background-color 0.2s ease,
    color 0.2s ease;
}

.gallery-main-nav--prev {
  left: 0.875rem;
}

.gallery-main-nav--next {
  right: 0.875rem;
}

.gallery-main-nav:hover {
  background-color: #ffffff;
  color: var(--color-commercial);
}

@media (min-width: 64rem) {
  .gallery-carousel {
    --gallery-desktop-height: 500px;
    display: grid;
    grid-template-columns: 3fr 7fr;
    align-items: start;
    gap: 0.5rem;
  }

  .gallery-thumbs {
    display: block;
    grid-column: 1;
    grid-row: 1;
  }

  .gallery-main-wrap {
    grid-column: 2;
    grid-row: 1;
  }

  .gallery-main {
    height: var(--gallery-desktop-height);
    min-height: 0;
    aspect-ratio: auto;
  }

  .gallery-thumb-viewport {
    height: var(--gallery-desktop-height);
  }

  .gallery-mobile-thumbs {
    display: none;
  }
}

/* Compliance / health & safety section */
.compliance-section {
  background-color: var(--color-accent);
}

.compliance-heading-icon {
  display: flex;
  width: 3rem;
  height: 3rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  background-color: var(--color-commercial);
  border-radius: var(--radius-brand);
}

.compliance-prose {
  font-size: 1.3125rem;
  line-height: 1.625;
  color: rgb(255 255 255 / 0.9);
}

.h2-on-dark {
  color: #ffffff;
}

.link-underline {
  color: var(--color-commercial);
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-color: var(--color-commercial);
  cursor: pointer;
}

.link-underline:hover {
  color: var(--color-accent);
}

.layout-products-carousel-nav svg,
.furniture-slider-nav svg,
.gallery-main-nav svg,
.gallery-thumb-nav svg {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  stroke: currentColor;
  fill: none;
}

.gallery-main-nav svg,
.gallery-thumb-nav svg {
  color: var(--color-accent);
  stroke: var(--color-accent);
}

.gallery-thumb-nav svg {
  width: 1rem;
  height: 1rem;
}

.contact-cta-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 2rem;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--color-accent);
  background: transparent;
  border: 2px solid var(--color-accent);
  border-radius: var(--radius-brand);
  transition: background-color 0.2s ease, color 0.2s ease;
}

.contact-cta-secondary:hover {
  color: #ffffff;
  background-color: var(--color-accent);
}

/* Brochure / download modal — CRO two-column panel over legacy .modal */
body.template-2026 .modal {
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 1rem;
}

body.template-2026 .modal__overlay {
  background-color: rgb(13 35 67 / 55%);
}

body.template-2026 .modal__container {
  display: grid;
  /* Beat legacy style.css .modal__container { max-width: 400px } — CRO target is 920px */
  width: min(920px, calc(100vw - 2rem));
  max-width: min(920px, calc(100vw - 2rem)) !important;
  min-width: 0 !important;
  max-height: min(92vh, 680px);
  overflow: hidden;
  padding: 0 !important;
  background: #ffffff;
  border-radius: var(--radius-brand);
  box-shadow: 0 25px 50px rgb(0 0 0 / 25%);
  /*
   * Reset download-modal.js injected centering:
   * left:50% + margin-left:-200px (half of old 400px) — shifts a 920px modal right.
   */
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  margin: 0 !important;
  margin-left: 0 !important;
  transform: none !important;
}

body.template-2026 .modal__container:hover {
  transform: none !important;
}

body.template-2026 .modal__container.enquiry-modal-panel {
  max-height: min(92vh, 680px);
}

@media (min-width: 48rem) {
  body.template-2026 .modal__container.enquiry-modal-panel {
    grid-template-columns: 1fr 1fr;
  }

  body.template-2026 .modal__container.brochure-modal-panel--has-cover,
  body.template-2026 .brochure-modal-panel--has-cover.modal__container {
    grid-template-columns: 1.05fr 1fr;
    max-height: min(92vh, 560px);
  }
}

body.template-2026 .brochure-modal-cover {
  min-height: 11rem;
  background-color: var(--color-base);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

@media (min-width: 48rem) {
  body.template-2026 .brochure-modal-cover {
    min-height: 100%;
    height: 100%;
  }
}

body.template-2026 .brochure-modal-form {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 1.25rem;
  overflow-y: auto;
  background: #ffffff;
}

@media (min-width: 48rem) {
  body.template-2026 .brochure-modal-form {
    padding: 2rem;
  }
}

body.template-2026 .brochure-modal-title {
  margin: 0 2.5rem 0 0;
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1.2;
  color: var(--color-theme-blue);
}

body.template-2026 .brochure-modal-intro {
  margin: 0.5rem 0 0;
  font-size: 0.9375rem;
  line-height: 1.45;
  color: var(--color-body);
}

body.template-2026 .brochure-modal-form-fields {
  margin-top: 1.25rem;
}

/* Enquiry modal — trust + form */
body.template-2026 .enquiry-modal-trust,
body.template-2026 .enquiry-modal-form {
  min-height: 0;
  padding: 1.5rem 1.375rem 1.625rem;
  overflow-y: auto;
}

@media (min-width: 48rem) {
  body.template-2026 .enquiry-modal-trust,
  body.template-2026 .enquiry-modal-form {
    padding: 1.875rem 2rem 2rem;
  }
}

body.template-2026 .enquiry-modal-trust {
  display: flex;
  flex-direction: column;
  background-color: var(--color-blue-grey);
  border-right: 1px solid var(--color-divider);
}

body.template-2026 .enquiry-trust-eyebrow {
  margin: 0 0 0.875rem;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-commercial);
}

body.template-2026 .enquiry-trust-heading {
  margin: 0 0 1rem;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--color-theme-blue);
}

body.template-2026 .enquiry-trust-intro {
  display: none;
  margin: 0 0 1.25rem;
  font-size: 1.0625rem;
  line-height: 1.625;
  color: var(--color-body);
}

@media (min-width: 48rem) {
  body.template-2026 .enquiry-trust-intro {
    display: block;
  }
}

body.template-2026 .enquiry-trust-usps {
  display: none;
  flex: 1;
  flex-direction: column;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 48rem) {
  body.template-2026 .enquiry-trust-usps {
    display: flex;
  }
}

body.template-2026 .enquiry-usp-item {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
}

body.template-2026 .enquiry-usp-icon {
  display: flex;
  width: 2.25rem;
  height: 2.25rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  background-color: var(--color-accent);
  border-radius: 50%;
}

body.template-2026 .enquiry-usp-icon-svg {
  display: block;
}

body.template-2026 .enquiry-usp-title {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--color-commercial);
}

@media (min-width: 48rem) {
  body.template-2026 .enquiry-usp-title {
    font-size: 1rem;
  }
}

body.template-2026 .enquiry-usp-desc {
  display: block;
  margin-top: 0.125rem;
  font-size: 0.75rem;
  line-height: 1.375;
  color: var(--color-body);
}

@media (min-width: 48rem) {
  body.template-2026 .enquiry-usp-desc {
    font-size: 0.875rem;
  }
}

body.template-2026 .enquiry-trust-contact {
  flex-shrink: 0;
  margin: 1.25rem 0 0;
  padding-top: 1.125rem;
  border-top: 1px solid var(--color-divider);
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--color-body);
}

@media (min-width: 48rem) {
  body.template-2026 .enquiry-trust-contact {
    font-size: 1rem;
    line-height: 1.65;
  }
}

body.template-2026 .enquiry-trust-link {
  color: var(--color-theme-blue);
  text-decoration: none;
  transition: color 0.2s ease;
}

body.template-2026 .enquiry-trust-link:hover {
  color: var(--color-commercial);
  text-decoration: underline;
}

body.template-2026 .enquiry-trust-link--strong {
  font-weight: 600;
}

body.template-2026 .enquiry-modal-form {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #ffffff;
}

body.template-2026 .enquiry-modal-close,
body.template-2026 .enquiry-modal-form .modal__close,
body.template-2026 .brochure-modal-form .modal__close {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  z-index: 2;
  display: flex;
  width: 2.25rem;
  height: 2.25rem;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  font-size: 1.25rem;
  line-height: 1;
  color: var(--color-contrast-2);
  background: transparent;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  transition: color 0.2s ease, background-color 0.2s ease;
}

@media (min-width: 48rem) {
  body.template-2026 .enquiry-modal-close,
  body.template-2026 .enquiry-modal-form .modal__close,
  body.template-2026 .brochure-modal-form .modal__close {
    top: 1.5rem;
    right: 1.5rem;
  }
}

body.template-2026 .enquiry-modal-close:hover,
body.template-2026 .enquiry-modal-form .modal__close:hover,
body.template-2026 .brochure-modal-form .modal__close:hover {
  color: var(--color-accent);
  background-color: var(--color-base);
}

body.template-2026 .enquiry-modal-form-header {
  margin: 0 2.5rem 1.25rem 0;
}

body.template-2026 .enquiry-modal-form-title {
  margin: 0;
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1.2;
  color: var(--color-theme-blue);
}

body.template-2026 .enquiry-modal-form-subheading {
  margin: 0.375rem 0 0;
  font-size: 0.9375rem;
  line-height: 1.45;
  color: var(--color-body);
}

/* Gravity Forms inside enquiry / brochure modals */
body.template-2026 .enquiry-modal-form-fields .gform_wrapper,
body.template-2026 .brochure-modal-form-fields .gform_wrapper {
  margin: 0;
}

body.template-2026 .enquiry-modal-form-fields .gform_heading,
body.template-2026 .brochure-modal-form-fields .gform_heading,
body.template-2026 .enquiry-modal-form-fields .gform_required_legend,
body.template-2026 .brochure-modal-form-fields .gform_required_legend {
  display: none !important;
}

body.template-2026 .enquiry-modal-form-fields .gform_fields,
body.template-2026 .brochure-modal-form-fields .gform_fields {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  grid-template-columns: none !important;
}

body.template-2026 .enquiry-modal-form-fields .gfield,
body.template-2026 .brochure-modal-form-fields .gfield {
  margin: 0 !important;
  padding: 0 !important;
}

body.template-2026 .enquiry-modal-form-fields .gfield_label,
body.template-2026 .brochure-modal-form-fields .gfield_label {
  display: none !important;
}

body.template-2026 .enquiry-modal-form-fields input[type="text"],
body.template-2026 .enquiry-modal-form-fields input[type="email"],
body.template-2026 .enquiry-modal-form-fields input[type="tel"],
body.template-2026 .enquiry-modal-form-fields input[type="url"],
body.template-2026 .enquiry-modal-form-fields input[type="number"],
body.template-2026 .enquiry-modal-form-fields textarea,
body.template-2026 .brochure-modal-form-fields input[type="text"],
body.template-2026 .brochure-modal-form-fields input[type="email"],
body.template-2026 .brochure-modal-form-fields input[type="tel"],
body.template-2026 .brochure-modal-form-fields input[type="url"],
body.template-2026 .brochure-modal-form-fields input[type="number"],
body.template-2026 .brochure-modal-form-fields textarea {
  width: 100%;
  margin: 0;
  padding: 0.625rem 0.875rem;
  font-size: 0.9375rem;
  line-height: 1.4;
  color: var(--color-body);
  background-color: var(--color-blue-grey);
  border: 0;
  border-radius: 2px;
  outline: none;
  box-shadow: none;
}

@media (min-width: 48rem) {
  body.template-2026 .enquiry-modal-form-fields input[type="text"],
  body.template-2026 .enquiry-modal-form-fields input[type="email"],
  body.template-2026 .enquiry-modal-form-fields input[type="tel"],
  body.template-2026 .enquiry-modal-form-fields textarea,
  body.template-2026 .brochure-modal-form-fields input[type="text"],
  body.template-2026 .brochure-modal-form-fields input[type="email"],
  body.template-2026 .brochure-modal-form-fields input[type="tel"],
  body.template-2026 .brochure-modal-form-fields textarea {
    padding-top: 0.6875rem;
    padding-bottom: 0.6875rem;
    font-size: 1rem;
  }
}

body.template-2026 .enquiry-modal-form-fields textarea,
body.template-2026 .brochure-modal-form-fields textarea {
  min-height: 5rem;
  resize: vertical;
}

body.template-2026 .enquiry-modal-form-fields input:focus,
body.template-2026 .enquiry-modal-form-fields textarea:focus,
body.template-2026 .brochure-modal-form-fields input:focus,
body.template-2026 .brochure-modal-form-fields textarea:focus {
  box-shadow: 0 0 0 2px var(--color-commercial);
}

body.template-2026 .enquiry-modal-form-fields .gfield_checkbox label,
body.template-2026 .brochure-modal-form-fields .gfield_checkbox label,
body.template-2026 .enquiry-modal-form-fields .gfield--type-consent label,
body.template-2026 .brochure-modal-form-fields .gfield--type-consent label {
  display: flex !important;
  align-items: flex-start;
  gap: 0.5rem;
  margin: 0.25rem 0 0;
  font-size: 0.75rem;
  line-height: 1.35;
  color: var(--color-body);
}

body.template-2026 .enquiry-modal-form-fields .gform_footer,
body.template-2026 .brochure-modal-form-fields .gform_footer,
body.template-2026 .enquiry-modal-form-fields .gform_page_footer,
body.template-2026 .brochure-modal-form-fields .gform_page_footer {
  margin: 0.375rem 0 0 !important;
  padding: 0 !important;
}

body.template-2026 .enquiry-modal-form-fields .gform_button,
body.template-2026 .brochure-modal-form-fields .gform_button,
body.template-2026 .enquiry-modal-form-fields input[type="submit"],
body.template-2026 .brochure-modal-form-fields input[type="submit"] {
  display: inline-flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0.625rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #ffffff !important;
  background-color: var(--color-theme-blue) !important;
  border: 0 !important;
  border-radius: var(--radius-brand);
  cursor: pointer;
  transition: background-color 0.2s ease;
}

body.template-2026 .enquiry-modal-form-fields .gform_button:hover,
body.template-2026 .brochure-modal-form-fields .gform_button:hover,
body.template-2026 .enquiry-modal-form-fields input[type="submit"]:hover,
body.template-2026 .brochure-modal-form-fields input[type="submit"]:hover {
  background-color: var(--color-contrast-2) !important;
}

body.template-2026 .enquiry-modal-response-note {
  margin: 0.75rem 0 0;
  font-size: 0.75rem;
  line-height: 1.4;
  color: var(--color-contrast-2);
}

@media (max-width: 47.9375rem) {
  body.template-2026 .modal__container.enquiry-modal-panel,
  body.template-2026 .modal__container.brochure-modal-panel {
    max-height: 92vh;
    overflow-y: auto;
  }

  body.template-2026 .enquiry-modal-trust {
    padding: 1rem 1.25rem 1.125rem;
    border-right: 0;
    border-bottom: 1px solid var(--color-divider);
  }

  body.template-2026 .enquiry-trust-eyebrow {
    margin-bottom: 0.5rem;
    font-size: 0.6875rem;
  }

  body.template-2026 .enquiry-trust-heading {
    margin-bottom: 0.75rem;
    font-size: 1.25rem;
  }

  body.template-2026 .enquiry-trust-contact {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

.compliance-layout {
  display: grid;
  gap: 2.5rem;
  align-items: start;
}

.compliance-heading-block {
  margin-bottom: 0;
}

@media (min-width: 64rem) {
  .compliance-layout {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    grid-template-rows: auto 1fr;
    column-gap: 3.5rem;
    row-gap: 1.25rem;
  }

  .compliance-heading-block {
    grid-column: 1;
    grid-row: 1;
  }

  .compliance-narrative {
    grid-column: 1;
    grid-row: 2;
    max-width: 38rem;
  }

  .compliance-points {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    max-width: 28rem;
    margin-left: auto;
  }
}

.compliance-points-label {
  margin-bottom: 0.75rem;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--color-commercial);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.compliance-bullet-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 48rem) {
  .compliance-bullet-list {
    gap: 1rem;
  }
}

.compliance-bullet-item {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
}

.compliance-bullet-check {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: 0.3rem;
  color: #ffffff;
  background-color: var(--color-commercial);
  border-radius: 50%;
}

.compliance-bullet-text {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.45;
  color: rgb(255 255 255 / 96%);
}

@media (min-width: 48rem) {
  .compliance-bullet-text {
    font-size: 1.25rem;
    line-height: 1.45;
  }
}

/* Brand bullet lists — live .bullets-2-col (25px navy circle + white tick) */
.brand-bullet-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.brand-bullet-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 1.3125rem;
  line-height: 1.55;
  color: var(--color-body);
}

.brand-bullet-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.5625rem;
  height: 1.5625rem;
  margin-top: 0.375rem;
  border-radius: 50%;
  background-color: var(--color-accent);
  background-image: var(--brand-bullet-check);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.75rem 0.75rem;
}

.manufacture-install-tile {
  overflow: hidden;
  background-color: #ffffff;
  border-radius: var(--radius-brand) var(--radius-brand) 0 0;
  border-bottom-right-radius: var(--radius-tile);
  box-shadow: var(--shadow-tile);
}

.manufacture-install-tile-media {
  position: relative;
  overflow: hidden;
  background-color: #ffffff;
}

.manufacture-install-tile-image {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform 0.45s ease;
}

.manufacture-install-tile:hover .manufacture-install-tile-image,
.manufacture-install-tile:focus-within .manufacture-install-tile-image {
  transform: scale(1.03);
}

.manufacture-install-tile:hover .feature-product-card-overlay,
.manufacture-install-tile:focus-within .feature-product-card-overlay {
  opacity: 1;
}

.manufacture-install-tile-caption {
  padding: 1rem 0.75rem 1.125rem;
  text-align: center;
  background-color: var(--color-blue-grey);
}

.manufacture-install-tile-title {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--color-accent);
}

.install-service-band {
  background-color: #ffffff;
  margin-top: var(--spacing-section-inset-half);
}

.install-service-band-inner {
  padding-top: var(--spacing-section-inset-half);
}

.install-scope-row {
  display: grid;
  gap: 1.5rem;
}

@media (min-width: 64rem) {
  .install-scope-row {
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
    gap: 2rem;
  }
}

.install-service-eyebrow {
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-commercial);
}

.install-service-heading-rule {
  width: 5rem;
  height: 0.25rem;
  margin-bottom: 1.5rem;
  background-color: var(--color-commercial);
}

.install-scope-panel {
  display: flex;
  height: 100%;
  flex-direction: column;
  padding: 1.5rem;
  background-color: var(--color-base-2);
  border: 1px solid var(--color-divider);
  border-radius: var(--radius-brand) var(--radius-brand) 0 0;
  border-bottom-right-radius: var(--radius-signature);
  box-shadow: var(--shadow-tile);
}

@media (min-width: 48rem) {
  .install-scope-panel {
    padding: 2rem;
  }
}

.install-scope-cta {
  margin-top: auto;
  padding-top: 1.5rem;
}

/* Highlight box heading — "Complete installation service" */
body.template-2026 .interior-2026 #installation-service h3 {
  font-weight: 600;
}

.install-scope-label {
  margin-bottom: 1.25rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-commercial);
}

/* Beat layout-gp `.interior-2026 p { margin-bottom: 0 }` reset */
body.template-2026 .interior-2026 p.install-scope-label {
  margin-bottom: 1.25rem;
}

.install-scope-columns {
  display: grid;
  gap: 0.5rem 2rem;
}

@media (min-width: 40rem) {
  .install-scope-columns {
    grid-template-columns: 1fr 1fr;
  }
}

.install-scope-item {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  font-size: 1.3125rem;
  line-height: 1.55;
  color: var(--color-body);
}

/* Match CRO panel proportions — beat theme li inheritance */
body.template-2026 .interior-2026 li.install-scope-item {
  margin: 0;
  font-size: 1.125rem;
  line-height: 1.5;
}

.install-scope-bullet {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.375rem;
  height: 1.375rem;
  margin-top: 0.2rem;
  border-radius: 50%;
  background-color: var(--color-accent);
  background-image: var(--brand-bullet-check);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.625rem 0.625rem;
}

.install-banner-wrap {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-brand) var(--radius-brand) 0 0;
  border-bottom-right-radius: var(--radius-signature);
  box-shadow: var(--shadow-tile);
}

@media (min-width: 64rem) {
  .install-banner-wrap {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
  }
}

.install-phase-banner {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: center 35%;
}

@media (min-width: 64rem) {
  .install-phase-banner {
    flex: 1;
    aspect-ratio: auto;
    min-height: 0;
    height: 100%;
  }
}

.install-banner-label {
  /* TODO @apply: absolute bottom-0 left-0 bg-accent px-4 py-2 text-xs font-bold uppercase tracking-wider text-white */
  border-top-right-radius: var(--radius-brand);
}

/* Outcome / video player — inline YouTube embed or HTML5 self-hosted */
.outcome-video-player {
  position: relative;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 16 / 9;
  background-color: var(--color-base-2);
}

.outcome-video-el,
.outcome-video-poster-image,
.outcome-video-iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.outcome-video-el,
.outcome-video-poster-image {
  object-fit: cover;
}

.outcome-video-poster {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  cursor: pointer;
  background: transparent;
}

.outcome-video-poster-image {
  aspect-ratio: auto;
}


