/* Offer review: scoped spacing only. Shared IA styles remain unchanged. */
.ib-page.ib-refined {
  --offer-gutter: clamp(24px, 3.4vw, 48px);
  --offer-section-space: clamp(44px, 5.2vw, 80px);
}

.ib-page.ib-refined > :is(.clean-section, .clean-service-deliverables, .practical-offer-links, .clean-footer) {
  width: min(1180px, calc(100% - var(--offer-gutter) - var(--offer-gutter)));
  margin-inline: auto;
}

.ib-page.ib-refined > .clean-section {
  padding-block: var(--offer-section-space);
}

.ib-page.ib-refined > .ib-opening {
  padding-block: 112px 64px;
  row-gap: 48px;
}

.ib-page.ib-refined .ib-stage-heading {
  margin-bottom: 24px;
}

.ib-page.ib-refined .ib-calendar-enquiry {
  row-gap: 32px;
}

.ib-page.ib-refined .ib-proof-intro {
  column-gap: 56px;
}

.ib-page.ib-refined .ib-memory-map {
  margin-block: 36px 28px;
  padding: 40px 40px 24px;
}

.ib-page.ib-refined .ib-deliverables {
  padding: clamp(28px, 4.5vw, 64px);
  gap: clamp(28px, 4vw, 56px);
}

.ib-page.ib-refined .ib-deliverables li {
  padding-block: 24px;
}

.ib-page.ib-refined .ib-faq {
  column-gap: 64px;
}

.ib-page.ib-refined > .practical-offer-links {
  padding-inline: 0;
  padding-block: 24px;
  gap: 16px 32px;
}

@media (min-width: 801px) {
  .ib-page.ib-refined .ib-step-track {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 32px;
  }
  .ib-page.ib-refined .ib-step-track li {
    padding-right: 0;
  }
}

@media (max-width: 800px) {
  .ib-page.ib-refined > .ib-opening { padding-block: 96px 48px; row-gap: 36px; }
  .ib-page.ib-refined .ib-proof-intro { row-gap: 20px; }
  .ib-page.ib-refined .ib-memory-map { padding: 28px 24px 20px; gap: 24px; }
  .ib-page.ib-refined .ib-faq { row-gap: 32px; }
}

@media (max-width: 600px) {
  .ib-page.ib-refined > .ib-opening { padding-block: 88px 44px; row-gap: 32px; }
  .ib-page.ib-refined .ib-stage-heading { margin-bottom: 20px; }
  .ib-page.ib-refined .ib-calendar-enquiry { row-gap: 24px; }
  .ib-page.ib-refined .ib-memory-map { padding: 24px 20px 20px; gap: 24px 16px; }
  .ib-page.ib-refined .ib-deliverables { padding: 28px 24px; }
  .ib-page.ib-refined .ib-deliverables li { padding-block: 20px; }
  .ib-page.ib-refined > .ib-final { padding-bottom: 64px; }
}

.pg-shell[data-offer-spacing="comparison"] {
  --comparison-gutter: clamp(24px, 3.4vw, 48px);
}

.pg-shell[data-offer-spacing="comparison"] :is(.pg-heading, .pg-layout, .pg-related) {
  width: min(1180px, calc(100% - var(--comparison-gutter) - var(--comparison-gutter)));
  max-width: none;
  margin-inline: auto;
  padding-inline: 0;
}

.pg-shell[data-offer-spacing="comparison"] .pg-heading {
  margin-block: 64px 48px;
}

.pg-shell[data-offer-spacing="comparison"] .pg-heading-main { gap: 40px; }
.pg-shell[data-offer-spacing="comparison"] .pg-layout { column-gap: 48px; padding-bottom: 80px; }
.pg-shell[data-offer-spacing="comparison"] .pg-content h2 { margin-block: 64px 24px; }
.pg-shell[data-offer-spacing="comparison"] .pg-proof { gap: 24px; margin-block: 32px 40px; }
.pg-shell[data-offer-spacing="comparison"] .pg-proof > div { padding: 28px; }
.pg-shell[data-offer-spacing="comparison"] .pg-content :is(th, td) { padding: 18px 20px; }
.pg-shell[data-offer-spacing="comparison"] .pg-related { padding-block: 16px 80px; }

@media (max-width: 900px) {
  .pg-shell[data-offer-spacing="comparison"] .pg-heading { margin-block: 48px 36px; }
  .pg-shell[data-offer-spacing="comparison"] .pg-heading-main { gap: 24px; }
}

@media (max-width: 600px) {
  .pg-shell[data-offer-spacing="comparison"] .pg-heading { margin-block: 36px 32px; }
  .pg-shell[data-offer-spacing="comparison"] .pg-layout { row-gap: 28px; padding-bottom: 56px; }
  .pg-shell[data-offer-spacing="comparison"] .pg-content h2 { margin-block: 44px 20px; }
  .pg-shell[data-offer-spacing="comparison"] .pg-proof { gap: 16px; margin-block: 28px 32px; }
  .pg-shell[data-offer-spacing="comparison"] .pg-proof > div { padding: 24px; }
  .pg-shell[data-offer-spacing="comparison"] .pg-content :is(th, td) { padding: 16px; }
}
