/* Only explicit overrides change the design; empty controls preserve theme CSS. */
.octopi-builder-section.octopi-service-story { margin: 0; overflow: visible; color: var(--color-foreground); background: var(--color-background); }
.octopi-block-main:has(.octopi-builder-section) { overflow: clip; margin-block-start: 0; }
.octopi-builder-section.has-builder-top > section { padding-top: var(--builder-top); }
.octopi-builder-section.has-builder-bottom > section { padding-bottom: var(--builder-bottom); }
.octopi-builder-section > section > .octopi-container { width: min(var(--builder-width, var(--layout-container, 1440px)), calc(100% - 2 * var(--builder-gutter, var(--layout-gutter-desktop, 40px)))); }
.octopi-builder-section :is(h1,h2,h3) { color: var(--color-foreground); font-family: var(--builder-font, var(--font-display)); }
@media (min-width: 761px) {
  .octopi-builder-section.has-builder-heading-size :is(h1,h2) { font-size: var(--builder-heading-size); }
}
.octopi-builder-section.has-builder-body-size :is(p, .octopi-service-story__lead) { font-size: var(--builder-body-size); }
.octopi-builder-section :is(.octopi-service-story__hero-copy,.octopi-service-story__section-head,.octopi-service-story__work-head,.octopi-service-story__benefit-grid,.octopi-service-story__deliverables-grid,.octopi-service-story__cta) { text-align: var(--builder-align, left); }
.octopi-builder-section.has-builder-gap :is(.octopi-service-story__hero-grid,.octopi-service-story__ecosystem-grid,.octopi-service-story__outputs,.octopi-service-story__benefit-grid,.octopi-service-story__deliverables-grid,.octopi-service-story__projects) { gap: var(--builder-gap); }
.octopi-builder-section :is(.octopi-service-story__hero-media,.octopi-service-story__master,.octopi-service-story__outputs figure,.octopi-service-story__project-media) { border-radius: var(--builder-radius, var(--radius-media, 16px)); }
.octopi-builder-section .octopi-button--light { background: var(--builder-button-bg, var(--color-foreground)); color: var(--builder-button-text, var(--color-background)); }
.octopi-builder-section--process > .octopi-service-story__closing { padding-bottom: var(--builder-bottom, 0px); }
.octopi-builder-section--cta > .octopi-service-story__closing { padding-top: 0; }
.octopi-builder-section--cta .octopi-service-story__cta { padding-top: var(--builder-top, clamp(5rem, 10vw, 9rem)); }
.octopi-builder-section.builder-mediaSide-left .octopi-service-story__hero-media { order: -1; }
.octopi-builder-section.builder-hover-none :is(img,.octopi-button,.octopi-service-story__project-arrow) { transform: none !important; filter: none !important; transition: none !important; }
.octopi-builder-section.builder-hover-none .octopi-service-story__project-arrow { opacity: 1; }
@media (hover: hover) and (pointer: fine) {
  .octopi-builder-section.builder-hover-lift :is(figure,.octopi-service-story__project-media) { transition: transform var(--hover-duration, 350ms) ease; }
  .octopi-builder-section.builder-hover-lift :is(figure,.octopi-service-story__project-media):hover { transform: translateY(-6px); }
}
@media (max-width: 900px) {
  .octopi-builder-section > section > .octopi-container { width: min(var(--builder-width, var(--layout-container, 1440px)), calc(100% - 2 * var(--builder-gutter, var(--layout-gutter-mobile, 24px)))); }
}
@media (max-width: 760px) {
  .octopi-builder-section.has-builder-mobile-top > section { padding-top: var(--builder-mobile-top); }
  .octopi-builder-section.has-builder-mobile-bottom > section { padding-bottom: var(--builder-mobile-bottom); }
  .octopi-builder-section > section > .octopi-container { width: min(var(--builder-width, var(--layout-container, 1440px)), calc(100% - 2 * var(--builder-mobile-gutter, var(--layout-gutter-mobile, 24px)))); }
  .octopi-builder-section.has-builder-mobile-heading :is(h1,h2) { font-size: var(--builder-mobile-heading); }
  .octopi-builder-section.has-builder-mobile-gap :is(.octopi-service-story__hero-grid,.octopi-service-story__ecosystem-grid,.octopi-service-story__outputs,.octopi-service-story__benefit-grid,.octopi-service-story__deliverables-grid,.octopi-service-story__projects) { gap: var(--builder-mobile-gap); }
  .octopi-builder-section.builder-mediaSide-left .octopi-service-story__hero-media { order: 0; }
  .octopi-builder-section--cta.has-builder-mobile-top > .octopi-service-story__closing { padding-top: 0; }
  .octopi-builder-section--cta .octopi-service-story__cta { padding-top: var(--builder-mobile-top, var(--builder-top, clamp(5rem, 10vw, 9rem))); }
}
@media (prefers-reduced-motion: reduce) {
  .octopi-builder-section *, .octopi-builder-section *::before, .octopi-builder-section *::after { animation: none !important; transition: none !important; }
  .octopi-builder-section :is(figure,.octopi-service-story__project-media,.octopi-button):hover { transform: none !important; }
}
