/* Opt-in overrides only. Untouched blocks retain their original DOM and CSS. */
.octopi-designed.has-builder-top { padding-top:var(--builder-top)!important; }
.octopi-designed.has-builder-bottom { padding-bottom:var(--builder-bottom)!important; }
.octopi-designed.has-builder-background { background:var(--color-background)!important; }
.octopi-designed.has-builder-text { color:var(--color-foreground); }
.octopi-designed.has-builder-text :is(h1,h2,h3,h4), .octopi-designed.has-builder-text:is(h1,h2,h3,h4) { color:var(--color-foreground)!important; }
.octopi-designed.has-builder-muted :is(p,.octopi-lead) { color:var(--color-muted); }
.octopi-designed.has-builder-surface { --color-card:var(--color-surface); }
.octopi-designed.has-builder-border :is(article,figure,[class*="__items"],.octopi-react-pillars) { border-color:var(--color-border); }
.octopi-designed.has-builder-font :is(h1,h2,h3,h4), .octopi-designed.has-builder-font:is(h1,h2,h3,h4) { font-family:var(--builder-font)!important; }
.octopi-designed.has-builder-align { text-align:var(--builder-align); }
.octopi-designed.has-builder-body-size :is(p,li), .octopi-designed.has-builder-body-size:is(p,li) { font-size:var(--builder-body-size)!important; }
.octopi-designed.has-builder-button-bg :is(.octopi-button,.wp-block-button__link) { background:var(--builder-button-bg)!important; }
.octopi-designed.has-builder-button-text :is(.octopi-button,.wp-block-button__link) { color:var(--builder-button-text)!important; }
.octopi-designed.has-builder-radius :is(figure,img,video,[class*="__media"],.octopi-react-spotlight) { border-radius:var(--builder-radius)!important; }
.octopi-designed:is(.has-builder-width,.has-builder-gutter) > .octopi-container { width:min(var(--builder-width,var(--layout-container,1440px)),calc(100% - 2 * var(--builder-gutter,var(--layout-gutter-desktop,40px)))); }
.octopi-designed.has-builder-width:not(:has(> .octopi-container)) { max-width:var(--builder-width); margin-inline:auto; }
.octopi-designed.has-builder-gutter:not(:has(> .octopi-container)) { padding-inline:var(--builder-gutter)!important; }
.octopi-designed.has-builder-gap:is(.wp-block-group,.wp-block-columns), .octopi-designed.has-builder-gap :is([class*="__grid"],[class*="__items"],.octopi-react-projects,.octopi-react-pillars,.octopi-react-split) { gap:var(--builder-gap)!important; }
.octopi-designed.builder-motion-none, .octopi-designed.builder-motion-fade, .octopi-designed.builder-motion-rise { opacity:1; visibility:visible; }
.octopi-designed.builder-hover-none :is(a,img,figure,button), .octopi-designed.builder-hover-none :is(a,img,figure,button)::after { transform:none!important; transition:none!important; }
/* None overrides the new decorative backgrounds too, but never hides focus outlines. */
.octopi-designed.builder-hover-none :is(.octopi-service-tile__visual,.octopi-thought-index__hover) { display:none!important; opacity:0!important; transition:none!important; }
.octopi-designed.builder-hover-none .octopi-service-tile__link { background:var(--color-background)!important; }
@media(min-width:761px){
 .octopi-designed.has-builder-heading-size :is(h1,h2), .octopi-designed.has-builder-heading-size:is(h1,h2) { font-size:var(--builder-heading-size)!important; }
}
@media(hover:hover) and (pointer:fine){
 .octopi-designed.builder-hover-lift :is(figure,article>a,[class*="__items"]>a) { transition:transform var(--hover-duration,350ms) ease; }
 .octopi-designed.builder-hover-lift :is(figure,article>a,[class*="__items"]>a):hover { transform:translateY(-6px); }
}
@media(max-width:760px){
 .octopi-designed.has-builder-mobile-top { padding-top:var(--builder-mobile-top)!important; }
 .octopi-designed.has-builder-mobile-bottom { padding-bottom:var(--builder-mobile-bottom)!important; }
 .octopi-designed:is(.has-builder-width,.has-builder-gutter,.has-builder-mobile-gutter) > .octopi-container { width:min(var(--builder-width,var(--layout-container,1440px)),calc(100% - 2 * var(--builder-mobile-gutter,var(--layout-gutter-mobile,24px)))); }
 .octopi-designed.has-builder-mobile-gutter:not(:has(> .octopi-container)) { padding-inline:var(--builder-mobile-gutter)!important; }
 .octopi-designed.has-builder-mobile-heading :is(h1,h2), .octopi-designed.has-builder-mobile-heading:is(h1,h2) { font-size:var(--builder-mobile-heading)!important; }
 .octopi-designed.has-builder-mobile-gap:is(.wp-block-group,.wp-block-columns), .octopi-designed.has-builder-mobile-gap :is([class*="__grid"],[class*="__items"],.octopi-react-projects,.octopi-react-pillars,.octopi-react-split) { gap:var(--builder-mobile-gap)!important; }
}
@media(prefers-reduced-motion:reduce){
 .octopi-designed *, .octopi-designed *::after, .octopi-designed *::before { animation:none!important; transition:none!important; }
 .octopi-designed.builder-hover-lift :is(figure,article>a,[class*="__items"]>a):hover { transform:none!important; }
}
/* Splitting a landing page must not repeat the page-level hero padding. */
.octopi-react-page.octopi-landing-piece:not(.octopi-landing-piece--hero) { padding-top:0; }
.octopi-react-page.octopi-landing-piece:not(.octopi-landing-piece--footer) { padding-bottom:0; }
.octopi-react-page.octopi-landing-piece > .octopi-container { display:flow-root; }
.octopi-react-canary-media > div { position:relative; }
.octopi-react-canary-media img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.octopi-react-canary-media span { position:relative; z-index:1; }
